Amazon Prime MusicをRaspberry piで使うべく、VolumioをやめてRaspbianに移行することにしました。
Raspberry pi + USB-DACでVolumio相当のことをできるようにする分にはそれほど苦労することなくできました。
以下、手順ですが忘れていることもあるかもしれません。何かあればコメントください。
Raspbianのインストール
何はともあれ、まずはRaspbianのインストールです。
こちらからイメージをダウンロードします。
Volumio相当のことができるようにするにはGUIは必要ないのでRASPBIAN JESSIE LITEでよさそうですが、今回はAmazon Prime Musicをブラウザ版で使う必要があるのでRASPBIAN JESSIE WITH PIXELをインストールします。
Raspbianのインストール自体はいろいろなところで紹介されているのでそちらを参照ください。
ソフトを最新版にするため、一応、
sudo apt-get update
sudo apt-get upgrade
をやっておきます。
サイトによってはrpi-updateをやった方がいいというところもありますが、カーネルのバージョンが上がるうえにstableでないものになるようなので、必要なければやらない方がいいかと。
(追記): Jessieの次のバージョンのStretchがリリースされました
VNCの許可
Raspberry piにマウスとキーボードをつなげて作業してもいいのですが、困ったときの検索がしづらいのでパソコンから操作できるようにします。
GUI画面左上のRaspberryマーク→設定→Raspberry piの設定を開きます。
すると、「VNC」という項目があるのでこれを有効にします。
最新のRaspbian Jessie with PIXELではVNCサーバーがデフォルトでインストールされているので新たにインストールする必要はありません。
#私は最初、Windowsのリモートデスクトップで接続しようと思い、なぜかデフォルトのVNCサーバーだとダメだったのでtightvncserverをインストールしてはまりました。。。
クライアント側(パソコンやスマホ、タブレット)にはRealVNCのVNC Viewerをインストールします。
これで、Raspberry piのIPアドレスを調べてクライアント側から接続すればこんな感じでRaspberry piの画面がWindowsから操作できるようになります:
NASのマウント
音楽がNAS上にある場合は /etc/fstabを編集してやります。
私はnasneを使っていて、IPアドレスが192.168.11.2なので、以下の行を追加しました。
//192.168.11.2/share1 /mnt/nasne cifs iocharset=utf8,rw,uid=1000,gid=1000,defaults 0 0
また、/mnt/nasneというフォルダを作るため、 sudo mkdir /mnt/nasne としておきます。
(追記):いろいろやっていたらこの方法だとうまくマウントされなくなったので、最近はrc.localの方でやってます。具体的には、/etc/fstabは元に戻し、/etc/rc.localを編集して、exit 0の前に、
sleep 20
sudo mount //192.168.11.2/share1 /mnt/nasne -o username=hoge,password=hoge
としています。
mpd(music player daemon)のインストールと設定
Volumioと同じようにスマホやパソコンから音楽再生ができるようにmpdというソフトをインストールします。
sudo apt-get install mpd
そして、自分の環境に合わせて /etc/mpd.conf を編集して設定します。
全部終わったら、
sudo /etc/init.d/mpd restart
でmpdを再起動します。
音楽ファイルの配置
音楽ファイルがある場所をmpdに知らせるため、 /var/lib/mpd/music の下に音楽ファイルを配置します。
私の場合、音楽は/mnt/nasne/MUSICにあったので、
sudo ln -s /var/lib/mpd/music/MUSIC /mnt/nasne/MUSIC
としました。
pi@raspberrypi:~ $ ls -lt /var/lib/mpd/music/
合計 0
lrwxrwxrwx 1 root root 16 4月 3 09:31 MUSIC -> /mnt/nasne/MUSIC
スマホ等からアクセス可能にする
スマホ等からmpdが操作できるように、
bind_to_address “localhost”
という行をコメントアウトします(先頭に”#”をつける)。
これ、最初やらなくてもスマホからアクセスできていたのですが、しばらく使っているうちにアクセスできなくなりました。
調べてみるとこの行があるとRaspberry pi本体からしか操作できなくなるみたいです。
ギャップレス再生できるようにする
持っている音楽の中にはトラック間の隙間がないものもあるので、ギャップレス再生できるようにします。
以下の設定を”yes”にします(コメントアウトされている場合はコメントインしたうえで)。
gapless_mp3_playback “yes”
USB-DACの登録
私の場合、USB-DACを使って音楽を再生したいので、機器を登録します。
まず、USB-DACを接続したうえで”aplay -l”と打ちます。
すると、
pi@raspberrypi:~ $ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA]
サブデバイス: 8/8
サブデバイス #0: subdevice #0
サブデバイス #1: subdevice #1
サブデバイス #2: subdevice #2
サブデバイス #3: subdevice #3
サブデバイス #4: subdevice #4
サブデバイス #5: subdevice #5
サブデバイス #6: subdevice #6
サブデバイス #7: subdevice #7
カード 0: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: HDAMP1 [HD-AMP1], デバイス 0: USB Audio [USB Audio]
サブデバイス: 0/1
サブデバイス #0: subdevice #0
大事なのが、”カード 1: HDAMP1″の部分です。「カード n」の”n”で登録もできるのですが、これだと起動のたびに番号が変わって面倒なことになるそうです。
そこで、”HDAMP1″の方を使って登録します。これなら名前なので”n”が変わっても問題ありません。HD-AMP1が2台あったらどうなるかは…さすがにわかりません。
以下を/etc/mpd.confに追加します。
audio_output {
type “alsa”
name “HD-AMP1”
device “hw:HDAMP1,0” # optional
# mixer_type “hardware” # optional
# mixer_device “default” # optional
# mixer_control “PCM” # optional
# mixer_index “0” # optional
dsd_usb “yes”
}
ここで、「dsd_usb “yes”」としておけば、USB-DACでDSDを再生することができます。これがないとPCMに変換したうえでの再生となります。もちろん、機器が対応していない場合はつけてはいけません。
ヘッドホンであるMDR-1ADACは以下のようにしました:
audio_output {
type “alsa”
name “MDR-1ADAC”
device “hw:MDR1ADAC,0” # optional
# mixer_type “hardware” # optional
# mixer_device “default” # optional
# mixer_control “PCM” # optional
# mixer_index “0” # optional
}
DSDはMDR-1ADACでもPCM変換できるようですが、一応。
バッファサイズを増やす
Raspberry pi 3 だと比較的潤沢にRAMがあることもあり、音楽再生用のバッファを増やしておきます。
audio_buffer_size “65536”
このバッファ分音楽データがたまらないと再生が始まらないので、あまり増やしすぎると音楽の再生開始が遅くなるようです。
mpdクライアントのインストール
後はスマホやパソコンにmpdクライアントをインストールするだけです。
“mpd”で検索するといろいろ出てきますが、私はスマホ用には”MPDroid”、パソコンには”gmpc”をインストールしました。この辺りはお好みで。。。
無事にmpdと接続できるとこんな感じで音楽が表示されます。
音楽が表示されない場合は、右上の三本線→Settings→Server Information→Refresh MPD’s databaseを試した方がいいかもしれません。
また、左上の三本線→Outputsを選ぶと再生機器を選択することができます。
私の場合、HD-AMP1にスピーカー(B&W CM1 S2)を接続し、MDR-1ADACがヘッドホンなので、状況によって使い分けています。これが簡単に切り替えられるのはありがたいです。
これでVolumioでできていたことがRaspbianでもできるようになりました。
Raspbian + mpdはVolumioよりもサクサク
使ってみて分かったのは、Raspbian + mpd は Volumio 単体よりもサクサクということです。
Volumioはウェブブラウザベースで動作するのでどうしても無駄な部分がありますが、Raspbian + mpdであればそれがないので高速なのでしょうね。
ただ、Volumioの場合はmpdの設定もブラウザベースでできていましたが、Raspbianの場合はmpd.confを手で書き換えなくてはならず、そのためにはVNC等でRaspberry piの画面を出してやらないといけないのが少々面倒ではあります。
一度環境ができてしまえばそう設定を変えることもないので問題ない、はずですが。。。(続く)
コメント