Raspberry Pi でジュークボックス

投稿者: | 2019年6月28日

メインで使っている USB-DAC の DCD-1500RE は最近めっきり USBメモリで使うことが増えました。
やはり便利さには敵わないと言うか。
ただ、USBメモリや CD-RW を使う場合、どうしても操作性などに支障が出ます。
CD-RW だと枚数がかさむし USBメモリだとリモコンで選曲するのが結構しんどいです。

そういう場合だと、今流行りのネットワークオーディオプレーヤーが良いのかもしれません。
ただ、現状ラックに空きがないため、ネットワークオーディオプレーヤーの増設ができません (╥_╥)。

そんな中、Raspberry Pi 3 Model B が余ったのでジュークボックスにすることにしまいた。
音楽再生に使うのは、以前ご紹介した CUI オーディオプレーヤー moc です。

初期設定

過去記事を参考に初期設定を済ませます。
※初期パスワードについては過去記事 SBC用OSの初期id・パスワードをまとめてみました をご参照ください。

主な作業は以下になります。

  • OS導入
    microSDカードにOSを入れます。
    今回は 2019-04-08-raspbian-stretch-lite.zip を入れています。
    ※Raspbian Lite は最低限のパッケージ版になります(デスクトップ環境も無し)。

  • パスワード変更
    初期パスワードから変更しておきます。
    ※デフォルトの pi ユーザを変更する際は、過去記事 piユーザの名称変更 をご参照ください。

$ sudo passwd pi
  • アップデート
    update & upgrade を実行して最新版にします。
$ sudo apt update
$ sudo apt upgrade

※必要に応じて rpi-update も行います。

  • SSH 有効化
    Raspbian Lite は SSH が標準で無効になっています。
    導入自体はされているので、必要に応じて有効化します。
$ sudo systemctl start ssh
$ sudo systemctl enable ssh

MOC導入

ミュージックプレーヤーとして MOC を導入します。
なお、MOC は下記ページに詳しい説明があります。

$ sudo apt install moc moc-ffmpeg-plugin pulseaudio

USBオーディオ設定

USBオーディオ優先化

設定確認

デフォルトでは内蔵 DAC(3.5mm オーディオジャック)が優先(0)になっています。

$ cat /proc/asound/modules
 0 snd_bcm2835
 1 snd_usb_audio

設定変更

USBオーディオを優先にします。
ALSA の設定ファイルを編集します。
※下記ファイルを新規作成しています。

$ sudo vi /etc/modprobe.d/alsa-base.conf
$ cat /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

設定反映

設定を反映させるために再起動します。

$ sudo reboot

設定確認

再起動後に、USBオーディオ(snd_usb_audio)が優先(0)になっていることを確認します。

$ cat /proc/asound/modules
 0 snd_usb_audio
 1 snd_bcm2835

再生確認

moc で再生すると DD-1500RE(USB-DAC)で認識しました。
ただ、48k で接続されます…。