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作成スクリプトが用意されています。これを実行するとパッケージができます。