NanoPi でジュークボックス

昨日に続き、NanoPi NEO で同様の設定をしてみました。

やっぱり Raspberry Pi で無くても良いかな〜と。
※NanoPi NEO は USBポートが1ポートしか無いので、音楽ファイルは N/W 経由で取得したほうが無難な気がします。
(USB HUBで分岐した後に USB-DAC に接続するのはあまり気が進みません)。

OS 導入

NanoPi NEO なので、Armbian(Armbian_5.83_Nanopineo_Debian_stretch_next_4.19.38.7z)を導入しました。
Etcher などで microSD へ書き込み、通電すると OS が起動します。
※NanoPi NEO には HDMI ポートがないので、DHCP で IP アドレスを取得できるように NIC にはケーブルを接続しておきます。

アップデート

OS を最新版にアップデートしておきます。

# apt update
# apt upgrade

※Raspbian Lite と異なり、SSH は最初から有効になっていますので、SBC用OSの初期id・パスワードをまとめてみました を参考に接続します。

パスワード変更

初期パスワードから変更しておきます。
なお、初期パスワードを変更すると、一般ユーザの作成も促されます(必要に応じて作成します)。

# passwd

ミュージックプレーヤー導入

昨日(Raspberry Pi でジュークボックス)と同様に、音楽再生には moc を利用します。

moc 導入

# apt install moc moc-ffmpeg-plugin pulseaudio

USB-DAC 接続設定

確認

USBオーディオ(snd_usb_audio)の優先順位を確認します。

# cat /proc/asound/modules
 1 snd_usb_audio

※Raspberry Pi と異なりサウンドデバイスが無いため、USBポートに接続した USB-DAC のみ表示されています。

設定変更

USBオーディオの優先順位を1→0へ変更します。

# vi /etc/modprobe.d/alsa-base.conf
# cat /etc/modprobe.d/alsa-base.conf
options snd_usb_audio index=0

設定反映

設定を変更するために再起動します。

reboot

設定確認

設定が反映されていることを確認します。

# cat /proc/asound/modules
 0 snd_usb_audio

サンプリング周波数の設定

USBオーディオのサンプリング周波数を 48kHz に設定します。

# diff -u /tmp/daemon.conf /etc/pulse/daemon.conf
--- /tmp/daemon.conf    2019-06-30 06:35:46.271567433 +0000
+++ /etc/pulse/daemon.conf  2019-06-30 06:36:19.158248993 +0000
@@ -73,8 +73,8 @@
 ; rlimit-rtprio = 9
 ; rlimit-rttime = 200000

-; default-sample-format = s16le
-; default-sample-rate = 44100
+default-sample-format = s32le
+default-sample-rate = 48000
 ; alternate-sample-rate = 48000
 ; default-sample-channels = 2
 ; default-channel-map = front-left,front-right

再生確認

moc で再生すると DD-1500RE(USB-DAC)で認識しました。