2011年9月2日金曜日

[PC]サウンドカードを増設してみた

このところ、ちょっと負荷がかかっただけであっけなくサウンドが飛んでしまうだとか。
Yakuakeを開くとサウンドにノイズが混じるだとか。
以前、Creative AudigyLSを使ってたときはもっとサウンドが安定していたものですが、ケースが小さく、グラボを挿したらPCIが挿せなくなってしまったので、仕方なくオンボードを使っていたのですが、ちょっとノイジーなのが我慢できなくなってきて。

で、まー安いサウンドカードでも買いますか、って買ったのが玄人志向の「CMI8768-8CHPCIE」なるサウンドカード。PCI-eなのでグラボと干渉することもなく、光端子がついて3800円とお安かったので買ってみました。

が、こいつがなかなかの曲者で。。。 とりあえずWindowsでまずは動かしますか、ってことでWindowsを起動。ドライバCDを開くと、複数の型番のドライバが。
「CMI8768」と「CMI8768+」があって、どっちだよとか毒づきながら、めんどくせェ両方試せばいいじゃねぇかってまずは無印から。

で、ドライバインストールに10分ほど待ち(その間、Windows更新なんかもガンガン入り)、出てきたメッセージは「サウンドカードの電源を入れてください」。
いや、ちょい待て待て。電源入れてくれって外部スイッチとかないから!

しゃーねぇ、ハズレかってことで+の方をインストール。
これも10分ほど掛かった挙句、やっぱり「電源を入れてください」って言われてインストール失敗。

あぁもううぜぇなしかもWin更新のせいであと15分で再起動しますとかわんわんうるさいしってことで、まずは再起動。滅多にWindows起動しないので、起動したらまずWindowsUpdateが始まってすぐ再起動するってのが恒例になってしまってます。

で、例に漏れず今回も更新が掛かった後の再起動ってことで、シャットダウン時の処理が長い長い。
「Windowsを更新しています。。。」も終わり、「シャットダウンしています。。。」になってから3分経っても電源が落ちやしない。

「お、やっと切れたか」とか思ったらディスプレイがスタンバイに入っただけとかね。
ちっくしょもう強制リセットするしかないか? とか思った矢先、なんとBSOD。いやー、7でブルースクリーン見るのはほんと久しぶりでしたね。

しかし、Windows更新の後だったので非常に嫌な予感しかしない。ということでひとまずセーフモードで再起動。
まぁ予定調和として更新失敗でのロールバック処理。これもそこそこ時間掛かるよねとか毒づきながらロールバックし、無事再起動。

で、相変わらずデバイスドライバは入ったものの音は鳴らないので、玄人志向のHPを確認したら、Windows7用のドライバがひっそりと公開されてた。最初から見とけばよかったな・・・とか思いつつインストール。

これまた見栄えも変わらず、ほんとに大丈夫かなって心配になりながらまた数分待ってたら、今度は初めて「ドライバのインストールが完了しました。再起動してください」って出てきた!
ようやく成功かーとりあえず再起動再起動っと。

ってことで再起動したら、BIOSが起きてこない。あんれまぁ、どうしたもんかな、とりあえずリセットするかってリセットボタンを押したらまさかの強制終了。うんともしんとも言わない。電源ボタン押しても反応しないというクリティカルな状態。

こりゃやべぇ、マザー逝ったか!?とか戦々恐々しながらまずは主電源OFF。30秒ほど放電してから電源ON。今度は無事BIOS起動。。。って思ったら
「Begining update latest backup BIOS version. Writing....」
とか言い出してやんの。まさかのBIOS損傷wwww

いや笑えない、ほんと笑えない。かなり危険な状態だったってことじゃないのかしらこれ?
まぁ書き換えが終わって武事立ち上がったからほっとしたけどさ。

で、Windowsデバイスを確認したら、ちゃんとデバイスはいる。
んが、やっぱり光デジタル端子から音が鳴らない。

ま、この手の場合は往々にして、デジタル出力へのパスが通っていないってのが原因なのでそのあたりの設定を探す。
んが、サウンドデバイスの設定にそれらしきものが見つからない。ないのかなぁ、って思って必死こいてさがしたら、3D音場制御とかをやるソフトの方に設定がありました。
んなもん触ることねぇよ。。。そこいらはアンプに任せるからPCからは素で出してくれよ・・・。

ま、トラぶりながらも音が出たのでよしとする。で、本命のLinuxへ。
このとき、BIOSを書き戻したこともあって、設定が初期化されており、SATAのアクセス方式がAHCIからIDEになってたので起動できないって罠にはまりましたOrz まさかだったねほんとに。

まぁそれはさておき、お次はLinux。こっちはドライバも自動ロードであぁ問題ないわねって思ったらやっぱり鳴らない。。。
大層めんどくさいことにアナログは鳴っている。
"aplay -l"の結果は
$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: SB [HDA ATI SB], デバイス 0: ALC889A Analog [ALC889A Analog]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 0: SB [HDA ATI SB], デバイス 1: ALC889A Digital [ALC889A Digital]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: CMI8768 [C-Media CMI8768], デバイス 0: CMI8738-MC8 [C-Media PCI DAC/ADC]
サブデバイス: 0/1
サブデバイス #0: subdevice #0
カード 1: CMI8768 [C-Media CMI8768], デバイス 1: CMI8738-MC8 [C-Media PCI 2nd DAC]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: CMI8768 [C-Media CMI8768], デバイス 2: CMI8738-MC8 [C-Media PCI IEC958]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 2: HDMI [HDA ATI HDMI], デバイス 3: HDMI 0 [HDMI 0]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
ってことだったので、
aplay /usr/share/sounds/KDE_Startup.wav -D plughw:1,2
ってやったわけですよ。 そしたらなぜかアナログから音が出てると。もちろん、plughw:1,0ってやればアナログから音が出ます。

あぁ、こっちもデジタルへの切り替えスイッチが入ってないなってことで、alsamixierをチェック。
案の定、ここに表からは見えてないスイッチが色々とあって、ここの設定をいじることでplughw:1,2を叩いて光デジタルから音が出るようになりました。
まぁ、KMixとかにこの設定が出てこないのはおそらくPulseAudioがそこまで関知していないからなのでしょう。ここらへん、まだまだalsamixierを叩かないといけないようではLinuxを他人には薦められませんね・・・。

まぁ、PulseAudioは割と気に入っているので使ってますが、世間的には「まずアンインストールしろ」って代物みたいですね。まーALSAだけでも大概事は足りますし、今回見たく結局ALSAを叩かないといけないような場面もちょくちょくあるので、その気持ちも分からなくはないんですけどね。

で、ひとまずALSAから直接デバイス指定すれば鳴ることが分かったので、これでハード的には問題なし。PulseAudio経由でも鳴るようになってるでしょ、と思ったらなんとこれまたまだ鳴らない><

ハード的には問題ないし、ALSAで直接デバイスを指定したら鳴るってことはもうどう考えてもPulseAudioがデバイスを正しく認識できてないってことなので、仕方なく~/.pulse/default.paをいじることに。。。

PulseAudioって実はちょいちょい仕様が変わってきてるので、可能ならばこのファイルを作って個人設定を作っちゃうのは避けたかったんですが、鳴らないのでは困っちまうのでしゃーなく
load-module module-alsa-sink device=plughw:1,2
とデバイスを直接指定。

んが、これでもまだ鳴らない。あぁもうわけわかんねぇな! って思いつつ、そういや以前、1,2って指定の仕方だとエラー吐いた気もするってことで
load-module module-alsa-sink device=plughw:1
に変更してみるとビンゴ! 音が鳴り出しましたとさ。

ただまぁ、正直に言って、サウンドカードを増設するだけでこんだけ駆けずり回らないと音が鳴らないってのはよろしくないですよねぇ。あぁ、アナログはすぐ鳴るんですけどね。あいにくとこちらは光デジタルが欲しくて選んでますからね。。。

内蔵サウンドチップはPulseAudioからデジタル出力がきちんと扱えているのに、なんでまた増設したサウンドカードはデジタル端子がきちんと見えていないのか分からないなぁ。リストにはちゃんと出てきているけれど、そこを叩いても音が鳴らないとか納得できねぇ。。。 default.paファイルに直接デバイス指定とかやりたくないからなぁ。自動認識で設定してほしいわ。

ま、でも内蔵よりは負荷がかかった時の音飛びはましになりました。とはいえ安物なのでスペックは推して図るべしですが。。。 AudigyLSは割といいカードだったんだなぁ。まぁまだ手元にはありますし、今度PCを組むときはM/B単体でデジタル2系統同時出力ができるやつを買いたいところですね。あるいはヒートシンクで隣のスロットを潰してしまわない程度のグラフィックボードか。。。

グラボ性能は正直今で事足りているので、できればM/Bで完結させたいところ。まー次に組むのはいつになるのやらー?