Raspberry Pi 3にUSB DACを接続し、RasPodを使用してMP3ファイルを再生します。

Raspberry Pi 3とUSB DACの接続

USB DACは、秋月電子通商のUSBオーディオDAコンバーターキットREV.Cを使用しました。Raspberry Pi 3のUSBコネクタに次のように接続します。オーディオケーブルをオーディオアンプ→スピーカーに接続します。

Raspberry Pi 3とUSB DACの接続

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に接続したスピーカーから再生されます。

RasPodブラウザ表示