4DWAVEでディジタル出力


Linuxで韓国のHOON TECHという会社のサウンドカードを使ってディジタル出力を楽しもうという話です。このカードはtridentの4DWAVEというチップセットを搭載してます。

まずカーネル(2.2.x系が必須)を sound card support = m とし、他のどの特定のカードのオプションモジュールも選択しないでコンパイル。Vine-2.0などはデフォルトカーネルでいけます。そのカーネルで立ち上げたら、 alsaのページから

alsa-driver
alsa-lib
alsa-utils

を取ってきて、この順にインストールします。ちなみに的場氏の取ってきたバージョンは 0.5.9cです。インストールは全て

$ ./configure
$ make
# make install

でOK。
次にalsa-driverのディレクトリでrootになって

# ./snddevices

を実行すると、デバイスファイルが作成されます。

次にモジュールをロードします。
/etc/conf.modulesに以下を記述します。

alias char-major-116 snd
alias snd-card-0 snd-card-trident
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss

そして
#/etc/rc.d/init.d/alsasound start

と実行します。
ディジタル出力させたいなら、rootで

# alsactl store

を実行し /etc/asound.confを生成した後、/etc/asound.cofを編集します。

19行目の

---------------------------------------
switch("S/PDIF Mixer Out", false)
---------------------------------------

のfalseをtrueに書き換えて、これを反映させます。

# alsactl restore

これでディジタル出力が使えるようになります。

このままでは音声はmuteになったままなので、 alsamixerで、MasterやPCM,WAVE の項目でキーボードのmを押しmuteを解除して、ボリュームを上げる必要があります。



Escでalsamixerから出られます。
モジュールをロードしたときは、Waveのボリュームは0となっていますが、ディジタル出力を利用する場合は、Waveのボリュームを上げなければなりません。
ボリュームなどの設定を保存したい場合は

# alsactl store

redhat環境の人は、RPM環境のためパッケージの使用を勧めます。各々driver,utils,libのutilsというディレクトリに、buildrpmというRPM作成スクリプトが用意されています。これを実行するとパッケージができます。