気の向くままに辿るIT/ICT/IoT
システム開発

オーディオ・サウンドカードとUSBサウンドアダプタ

ホーム前へ次へ
古いパソコンの活用方法は?

オーディオ・サウンドカードとUSBサウンドアダプタ

オーディオ・サウンドカードとUSBサウンドアダプタ

NetBSD/dynabook Satellite t30
dynabook Satellite T30 160C/5W
CPU:Intel Celeron M 520 1.60GHz
RAM:512MB => 2GB(1GBx2)
HDD:80GB => SSD:128GB
SSD:Transcend SSD TS128GSSD370S
OS:NetBSD/Mageia(HDD) => NetBSD/FreeDOS(SSD)
2016/08/02

 内蔵スピーカー、HDD、NICと不調に対処してきましたが、これらに続き、今度は、内蔵オーディオ(サウンド)カードが不調になった模様。

 このdynabook、以前、内蔵スピーカーとボリュームダイヤルが不調になった際、試しに100均セリアで買った1個100円の拡声器のようでありながら、2個つなぐとステレオスピーカーという優れものを買ってマイクロフォン・ヘッドフォン端子につないでみたら内蔵と遜色なく、それなりに満足していましたが、今回、そのヘッドフォン端子というかサウンドカードが不調となったようです。

 内蔵ネットワークインタフェースカードが壊れてもUSB接続の有線・無線LANアダプタがあるし、内蔵オーディオカードがダメでもUSB接続のスピーカーが使えるくらいだから、内蔵オーディオ(サウンド)カードもあるんだろう。。。と思って検索したら、USBって万能なんですね、やっぱり、ありました。

USBオーディオ(サウンド)アダプタ

 Amazonを眺めていると安いのから高いものまでいろいろありましたが、これまでの経緯からしても、そこまで音質にこだわっているわけではないので安価なものを中心に選定してみた結果、いくつか候補として挙がりました。

 Windows/Mac OS X/Linux対応らしく、Amazon上の商品説明も詳しい。。。ただ、iitrustって。。。品名にtrustって付けるってちょっと。。。と思わなくもない。。。

 その名も『Plugable USB Audio Adapter』(Plugable Technologies社製USB Audio Adapter)、Windows/Mac OS X/Linuxに対応、「このオーディオ変換アダプタは、特に Raspberry Pi や Beaglebone Black、その他独自の Linux ベースの開発・研究用システムのように、オンボードの音声装置用の Mac ドライバ が用意されていない場合に有効」とか、とにかく説明がすごい。

 しかもAmazon上のより詳細な商品説明にあった『よくある質問』の「Q.このオーディオ変換アダプタは、私のテレビやゲーム・コンソール、車などでも使用できますか?」に「A. いいえ、このアダプタは、Windows、Mac OS X、Linux/BSCでのみ機能します。」とあり、誤記ながら*BSDも対応している模様。

 『PLANEX PL-US35AP』、ドライバ不要、つなぐだけでOKとあり、よく耳にするブランドだし、この中でも一番安心かなと思いつつも、OS対応については触れておらず、ドライバ・チップの情報もない。。。なんでもOKなのか?と思いつつ。。。

等々。

USBサウンドアダプタのドライバ・チップとOSの対応

 ただ、ここで買う前に調べておきたいのが、ドライバ・チップを利用中のOSがサポートしているか否か。

 PLANEX製PL-US35APは、OSの対応状況の記載がなく、挿すだけでOKとあってチップの情報もない。。。iitrust?とPlugable USB Audio Adapterは、どちらもC-Media製HS100Bチップを使っていて、後者の説明を見ると、C-Mediaのチップは、たいていのOSが対応している(カーネルがドライバに対応しているか、デフォルトで入っている、もしくは、リポジトリにドライバがある)為、挿すだけでよいようなことが書いてあります。

 メインは、NetBSDなので調べてみるとC-Mediaのとあるチップには対応したことがある模様も、うまく機能しないという記述もあり、それら製品で謳っているドライバHS100Bの型式については情報がない。。。ということは、まず対応していない。。。金額に関わらず、普段なら確実を期すところも、なぜか今回は、そんなに高いものではないし(と思うくらいならノーブランドで説明もないもっと安い数百円のでも良かったのかもしれないが、それはそれで気が引けるので)、ダメ元で買ってみることに。

 NetBSDに関してHS100Bの情報は見当たらないものの、Q&AにBSD(誤記でBSC)という記述もあるし、Linuxもさることながら、FreeBSDや*BSD由来のDarwinベースであるMac OS Xにも対応しているなら。。。という淡い淡い期待とボードコンピュータにまで言及したりするなどその情報量から、これでいっか。。。と買ってみたのがPlugable USB Audio Adapter。

 (通常配送、できるだけまとめて配送指定なのに3個口に別れ、サウンドカードは翌日に)届いたところでNetBSD 7.0.1の入ったdynabookに挿し、そのマイクロフォン端子にスピーカーのプラグを挿してみましたが、音が出ない。

 100均のものだけでなく、ボリュームつまみ付きのスピーカーでも音が出ない、Xfce4ミキサー([オーディオミキサー]/xfce4-mixer)やMATE標準ミキサー([サウンド]/libmatemixer)などソフトウェアミキサーを開いてみても前者のサウンドカードに選択肢はなく、後者は設定できなかったので、やはり、NetBSDには対応するドライバがない模様。

[訂正・追記:2017/02/07]

 と思ったら、"Plugable USB Audio Adapter"はNetBSDでも使えることが判明。。。メーカー及びNetBSDの方々、安易な誤情報発信申し訳ありません・・・。

 とりあえず、PCのUSBポートに挿した"Plugable USB Audio Adapter"につないだスピーカーから音源出力・再生できたのは、参考にさせて頂いた[pkgsrc] ham/fldigi-3.21.70の通り、audioplay -v 3 -d /dev/audio1 *.wavのCLI操作のみでGUIでは、いまいちどうやるのか分かりませんが。。。

[追記:2017/02/19]

 GUIの内、少なくともVLCでは、NetBSD上でもC-Media HS100BなUSBサウンドアダプタ経由で音声出力できることがわかりました。

 VLC(vlc 2.2.4)のデバイス指定方法を思い出し、[ツール(O)] > [設定(P)]で[設定の表示]を[すべて]にして[オーディオ] > [出力デバイス]で該当するもの(当方の場合は[OSS])を選び、[オーディオ出力デバイス]にdmesgで割り当てられたデバイス(当方の場合、[/dev/audio1])を指定したところ、NetBSD上のVLCでもUSBポートに挿したチップがC-Media HS-100Bの"Plugable USB Audio Adapter"を介したスピーカーから音声出力されました。

 一方、TotemやRhythmbox、Dragon Playerなどには、デバイス設定できる画面がなく、オーディオミキサー(xfce4-mixer 4.11.0)にも"USB Audio Card"の選択肢もなく、このUSBオーディオアダプタを介した音声出力方法が分からない。。。/dev以下のaudioやaudioctlに対するシンボリックリンクをaudio1やaudioctl1から張って置き換え、オーディオミキサーでOSSやPulseAudioを選択してやってみましたがダメ。。。

ただし、この問題は 2015年12月にコミットされた NetBSD 固有部分の処理の修正 でとりあえず解決されている。なお、この問題の対処はスタートアップスクリプト (/usr/pkg/etc/default.pa もしくは ~/.config/pulse/default.pa) に以下の記述をすることに相当する。
 
    load-module module-oss mmap=0 device="/dev/audio"

 そこで「/dev/audio 変更 netbsd」としてググった結果、NetBSD + pkgsrc における oss, alsa, pulseaudio についてのメモが気になり、眺めていると。。。この部分が目に止まりました。

dyna_netbsd$ cp /usr/pkg/etc/pulse/default.pa ~/.config/pulse
dyna_netbsd$ vi ~/.config/pulse/default.pa
...
load-module module-oss mmap=0 device="/dev/audio1"
...
dyna_netbsd$

 そこでdevice="/dev/audio1"として追記、オーディオミキサーでOSSではなく、Pulseaudioを選択すべくプルダウンリストを開くと[Playback: /dev/audio1 (PulseAudio Mixer)]のように/dev/audioだった部分が/dev/audio1となっており、これを選択。

 Totemで任意の音源を再生してみるとC-Media HS-100Bの"Plugable USB Audio Adapter"を介したスピーカーから音声出力 されるようになりました。(ただ、なぜか、出力されたり、されなかったり若干の不安定さはある。。。)

(それにしても、これなら/dev/audioのシンボリックリンクをaudio1にしてもOSSを選べば、良さそうな気もするが、なぜ、ダメだったんだろう。。。?)

 と言っても、まだ内蔵サウンドカードが健在なので、ここでは元に戻しますが。(このファイルで設定する限りは、一度設定するとリネームするにしても何にしてもマシン再起動までリセットされない模様。)

[追記:2017/02/20]

 PulseAudiosee "man pulse-cli-syntax"から、これら有効な構成ファイルの存在、更にmanのSEE ALSOつながりで[pactl]を発見、pactl load-module...、pactl unload-module...などとすれば、モジュールのロード/アンドロードができ、もしそうなら設定変更後のマシンの再起動は不要かも。

 ただ、あれこれやってたら、サウンドカードが復活したようで、以前にも増して良い音が出てる?と思うほど絶好調になり(完全に壊れる前兆?)、そもそもdynabookには、当面、サウンドアダプタは必要なさそう。

 一方、アダプタの故障・不良品でないかを確認する為、デスクトップマシンPavilionDebian 8 Jessie/Fedora 23で試してみたところ、当初、音が出ない。。。スピーカーに耳を当てても、スピーカーのつまみでボリュームを最大にしてもザーッという雑音というか一定の音が流れているだけでしたが、Xfce4ミキサー([オーディオミキサー]/xfce4-mixer)やMATE標準ミキサー([サウンド]/libmatemixer)を開いてみると、サウンドカードに見慣れぬUSB Adapterの類の選択肢があり、これを選択し、ミキサーに応じて入出力のボリュームやマイクロフォン側ではなくスピーカー側のボリュームを調整したところ、Debian/Fedora共に、ちゃんとスピーカーから音源が出力されました。

 Pavilionのオーディオ出力端子やヘッドフォン端子は正常に機能しますし、e-oneは内蔵スピーカーが不調となった後もオーディオ出力端子やマイクロフォン端子の出力は試していないほど、今となっては、e-oneで音源聴取することがない、UPnP/DLNAサーバーとしても使っているRaspberry Piで直接音源聴取するつもりはないので今回買ったPlugable USB Audio Adapterは予備在庫ということで。

 いろいろなOSで外部スピーカーやヘッドフォンを使うも参照。

ホーム前へ次へ