Raspberry Pi 3にUSB DACを接続し、RasPodを使用してMP3ファイルを再生します。
Raspberry Pi 3とUSB DACの接続
USB DACは、秋月電子通商のUSBオーディオDAコンバーターキットREV.Cを使用しました。Raspberry Pi 3のUSBコネクタに次のように接続します。オーディオケーブルをオーディオアンプ→スピーカーに接続します。
USBオーディオDAコンバーターキットREV.Cを接続して、lsusbコマンドで確認すると次のように認識します。USBオーディオDAコンバーターキットREV.Cは、「Texas Instruments Audio Codec」と認識されます。
$ lsusb Bus 001 Device 004: ID 08bb:2704 Texas Instruments Audio Codec Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
USB DAC の優先度設定
SDカードからインストールしたままのカーネルでは、内蔵オーディオのほうがUSB DAC の優先度が高くなっています。このため、RasPodで再生した時、内部オーディオを使用するようになります。今回はUSB DACで再生したいため、優先順位を変更します。まず最初に現状を確認します。内蔵オーディオを示す「snd_bcm2835」が優先度が高くなっています。
$ cat /proc/asound/modules 0 snd_bcm2835 1 snd_usb_audio
優先度を変更するために必要なalsa-base.confファイルは、次のように新規に作成する必要があります。options snd slots= には上記で示すsnd_ で始めるモジュールを列挙し、options xxx index=x で、snd_usb_audio を index=0 にして保存します。
$ sudo vi /etc/modprobe.d/alsa-base.conf options snd slots=snd_usb_audio,snd_bcm2835 options snd_usb_audio index=0 options snd_bcm2835 index=1
変更が終了するとrebootして、優先度が変わっていることを確認します。
$ cat /proc/asound/modules 0 snd_usb_audio 1 snd_bcm2835
RasPodのインストールおよび再生
今回はRasPodを使用します。RasPodを使うとシンプルなWeb UI 経由で MP3 などを再生できます。まず、次のようにRasPodをインストールします。
$ sudo apt-get install python-tornado $ sudo apt-get install vlc alsa-utils $ git clone git://github.com/lionaneesh/RasPod.git $ cd RasPod/
ディレクトリー「static/Media」の下に再生したいMP3ファイルを置きます。
RasPodは次のコマンドで実行します。
$ python server.py
ブラウザからraspberry pi にアクセスします。XXX.XXX.XXX.XXX は raspberry pi 側の IP です。
http://XXX.XXX.XXX.XXX:8888/
ブラウザには次のように表示されます。Mediaディレクトリーに置いたMP3ファイルが一覧表示されます。再生したいMP3ファイルを選択して再生ボタンを押すと、USB DACに接続したスピーカーから再生されます。