2017/01/22 Volumio2でのオーディオサーバ構築に関して追記
Volumio2でRaspberry Pi 2/3両対応のハイレゾオーディオサーバ構築
下記記事で、最新バージョンのVolumio2でRaspberry Pi 2/3両対応のハイレゾオーディオサーバ構築する方法に関して記載しています。今から作る方は下記の記事を参照した方がよいかと思います。
オーディオサーバ作ったきっかけ
下記記事の作者の興奮、熱量におされて。「オーディオサーバつくらないかんとばい!」と何故かクッキングパパばりのえせ九州弁でつぶやいて、気づいたら部品を購入していました。Apple Music 3ヶ月無料期間を思いっきり有効活用したいというスケベ心もあったかもしれません。
上記記事の作者が製作した、Raspberry Pi 2を使った自作オーディオなる電子書籍も購入してしまいました。
Raspberry Pi 2対応「Raspi Audio」導入編
- 作者: 海上 忍
- 出版社/メーカー: OTS Publishing
- 発売日: 2015/06/29
- メディア: Kindle版
- この商品を含むブログを見る
これ、Linuxの基礎に関してまで解説ある上、情報量半端なく、初心者から中上級者まで参考になる良書だと思います。Raspberry Piで自作オーディオするなら買って損なしでしょう。
上記電子書籍や、ネットで色々調べた情報を元にミュージックサーバを作ってみようと思うので、作り方とか色々メモ代わりに残しておこうと思います。この記事を誰かの役に立てようとかはあんまり思ってないです。好きなように使ってください。
ミュージックサーバ構成図
大体こんな感じでしょうか。今回作ろうとしてるのは上の図のMusic Serverとかかれたところです。機能としては以下くらい
- ハイレゾ対応
- Airplay対応
- NAS対応(マウント可能)
- プレイヤー機能
- ブラウザ経由でコントロール・設定可能
ミュージックサーバに必要なもの
ハイレゾ対応無しで1から揃えると1万円程度。後日追加予定のハイレゾ対応有りも加えると2万円程度(工具とアンプ、スピーカは除く)でしょうか。
- 出版社/メーカー: RaspberryPi.org
- メディア: エレクトロニクス
- この商品を含むブログ (10件) を見る
東芝 超高速 95MB/s microSDHC EXCERIA 16GB UHS-I SD-C16GR7WA3 日本製 IPX7 ウォータープルーフ Toshiba 並行輸入品
- 出版社/メーカー: 東芝
- メディア: エレクトロニクス
- この商品を含むブログを見る
BUFFALO 11n対応 11g/b 無線LAN子機 親機-子機デュアルモード対応モデル WLI-UC-GNM2
- 出版社/メーカー: バッファロー
- 発売日: 2011/08/03
- メディア: エレクトロニクス
- 購入: 198人 クリック: 5,602回
- この商品を含むブログを見る
電源。2A給電できるものを選びましょう
Amazonベーシック USB2.0ケーブル 1.8m (タイプAオス- マイクロタイプBオス)
- 出版社/メーカー: AmazonBasics
- メディア: Personal Computers
- この商品を含むブログを見る
- 出版社/メーカー: ロジクール
- 発売日: 2011/06/24
- メディア: Personal Computers
- 購入: 40人 クリック: 1,063回
- この商品を含むブログ (28件) を見る
Raspberry Pi B+ (Plus) 専用ケース RS製 (White)
- 出版社/メーカー: RS
- メディア: エレクトロニクス
- この商品を含むブログを見る
ハイレゾ対応は別途部品が必要です。近日公開予定。まとめて買いたい人はちょっと待っててね。
公開しました!
以下はだんだんマニアックになってくるので、気になる人だけ続きを読んでください。
Raspberry Piにミュージックサーバ用ディストリビューション(OS)インストール
まずはRaspberry Pi 2にOSをインストールしてやりましょう。基本はSDカードをハードコピーする要領です。すみませんが、Macでのやり方のみです。WindowsはDD for Windowsとかそんな感じのソフト使うと同じようなことができるはずです。
Volumioダウンロード
以下のサイトからVolumioというディストリビューションをダウンロードしてやりましょう。ミュージックサーバに必要な色々なソフトが夢詰め込まれているミュージックサーバにはうってつけのディストリビューションです。他にも選択肢はいくつかあるようですが、今回は一番メジャなVolumioを試します。
自分は現時点での最新のバージョン1.55をダウンロードしました(Raspberry Pi 2の場合は、現時点では1.55を選択する必要があるみたいです)。ファイル名はVolumio1.55PI.img
ディスクのフォーマット
次にディスクをフォーマットしましょう。好きな方法でよいですが、確実なのはSD Formatterを使う方法です。以下のサイトからダウンロードしたSD Formatterを使ってSDカードをフォーマットをしましょう。ドライブを選択するだけの簡単設計。
ディスクのデバイスファイルを確認
MacでコピーしたいSDカードを挿入後にdfコマンド実行してSDカードのデバイスファイルを確認。よくわからなければ、挿入前と挿入後でdfコマンド実行して比較しましょう。
$ df -h
挿入後に増えているデバイスファイルがSDカードのデバイスファイルです。例えば /dev/disk2
とか/dev/disk3
とか。
イメージ書き込み
以下は/dev/disk2
がSDドライブの場合の例。以下のコマンドでSDカードの中身をRPi.img
というイメージファイルに読み出します。 書き込みしたいSDカードを挿入して、以下のコマンドでアンマウント
$ diskutil umountDisk /dev/disk2
以下のコマンドで書き込み。disk2
をrdisk2
にするのがポイント。理由は…よくわからないです、すみません。(2015/10/19追記)なんでも、アンバッファモードになって速度が速くなるみたいです。bs=1m
は一度に書き込む容量を表していて1m(1MB)くらいにしないとこれまた速度が遅くなります
例えばドキュメントフォルダ直下にイメージファイルを置いた場合は以下の通り。
$ sudo dd if=Documents/Volumio1.55PI.img of=/dev/rdisk2 bs=1m
しばらく(数分)待つと完了のメッセージが出るので、書き込み完了。途中経過が気になる方はCtrl+T
で進捗を表示できます。あとは以下のコマンドでアンマウントしてからSDカードを取り出しましょう。
$ diskutil eject /dev/disk2
Raspberry Pi 2 + Volumioの設定
Volumio書き込んだSDカードをRaspberry Pi 2に挿入して電源を入れると起動します。有線のEtherを繋げば、デフォルトでブラウザやsshでアクセスできるようになっています。
起動確認とかsshのアクセスとか、Raspberry Piの基本的なことでつまっている場合は、以下を参照していただければ多少助けになるかもしれません。
ブラウザでの設定
以下はVolumioのブラウザで設定できる項目。GUIで設定できるので簡単です。
無線LAN(WiFi)設定
無線LAN化したいとき。有線LANを使うなら不要です。手順は以下
- ブラウザで
volumio.local
にアクセス - 右上のメニュボタンからNetworkを選択
- WiFi設定(SSID パスワード)を入力
- しばらく待ってStatusがConnectedになったらOK
- 有線LANを外して再起動すると無線で接続
無線LAN繋がらなくてなんでだろうと思っていたら、セキュリティ設定がWEPじゃなくてWPAだったというおちでした。
無線LANのStatusがConnectedにならない状態で有線LANも外して電源を切ってしまうとはまる(ブラウザやsshでアクセスできなくなる)ので注意。何度かはまりました。頑張ってローカルで設定しなおしてもよいですが、再度OSから書き直してもよいかなと思います。
NAS接続
音楽ファイルを入れたNASがあれば、その音楽を再生することができます。MenuからLibraryを選択し、ADD NEW MOUNTをクリックして設定項目を入力するだけです。
注意するのは、+ show advance options
を開いてMount flags
の欄に",sec=ntlm"
を追加する必要があること。自分の環境だとこれをやらないと接続できませんでした。
sshでのアクセスしての設定
ターミナルからsshでアクセスして設定する項目。以下の設定はしなくてもミュージックサーバとしては機能しますので必要と思う項目を設定ください。ただ、インターネット接続するなら、セキュリティ的にOSアップデートはしておいた方がよいかな。
sshアクセス方法。
Macならターミナル開いて以下で接続できます。デフォルトでsshのポートは空いています。
$ ssh root@volumio.local
パスワードはデフォルトはvolumio
です。ログインできると、信じられないほどダサいログイン画面が表示されます。ブラウザの画面とかはあんなにクールなのに…
信じられないほどダサいログイン画面
Windowsの人はTeratermとかで同じようなことできると思います。
時間(タイムゾーン)設定
以下で設定画面に入る
# raspi-config
Internationalisation Options: 言語の設定をする
Change Timezone: 時間帯を設定する【Asia/Tokyo とする】
USBポート 1.2A電流供給対応
通常は0.6Aに制限されているRaspberry PiからのUSB電流供給を1.2Aまで増加できます。アクティブスピーカにRaspberry Piから電源供給したいときとかありそうなので設定しておいて損はなさそうですね。
以下で/boot/config.txt
を開きます。
$ sudo vi /boot/config.txt
末尾に以下の2行を追加して上書き保存すればOK。
safe_mode_gpio=4 max_usb_current=1
OS アップデート
とりあえず一通りアップデートしておきましょう。以下のコマンドでアップデート。
# apt-get update # apt-get upgrade
10分ほど放置するとアップデート完了です。途中変なメッセージ出てきたら Y(YesのY)、Q(QuitのQ)、N(NoのNo)を適当に押していけば次に進めます。
その他
Volumioは奥深く、その他も色々設定項目あり細かいチューニングできます。参考サイトや下記電子書籍を参考にしてみてください。
Raspberry Pi 2対応「Raspi Audio」導入編
- 作者: 海上 忍
- 出版社/メーカー: OTS Publishing
- 発売日: 2015/06/29
- メディア: Kindle版
- この商品を含むブログを見る
何か新しいこと試したら追記していくかもです。
追加チューニング(2016/05/28追記)
運用していて、色々不都合に気付いて追加で設定したので記載しておきます。
ディスプレイ黒画
どのタイミングかは不明ですが、ディスプレイに繋いで画面が出なくなりました。色々調べたところ /boot/config.txt
の修正で治りました。/boot/config
はPCでRaspberry PiのSDカードを読み込んで直接編集もできますし、sshでリモートログインできる場合は、以下のコマンドで編集できます。
$ sudo vi /boot/config.txt
3行目に、以下のようにhdmi_drive=1
を追記することで修正できました。ちなみにhdmi_drive
はHDMIケーブルから音声出力をするかしないかという設定のようです。HDMIの音声出力は使わないので今回は1でOK。
gpu_mem=16 #hdmi_drive=2 hdmi_drive=1 dtoverlay=hifiberry-dac
ちなみに、HDMIの音声出力する場合はhdmi_drive=2
に設定するのですが、その場合自分の環境では黒画になりました。HDMI->DVI変換ケーブル使っていたので、それが原因かもしれないと思い、試しにテレビのHDMI端子に繋いだら普通に表示されました。恐らく最初のハンドシェイクの通信のどこかでこけてしまうのでしょうね。
起動速度改善
なんか起動が異常に遅いなと思って起動ログをみていたら、どうもネットワークのIP取得のところで何度もリトライしているのが原因のようでした。無線LAN(WiFi)と有線LANの両方を設定しているのがよくないみたいです。以下のコマンドでネットワーク設定ファイル(/etc/network/interfaces
)を修正してやりましょう。
$ sudo vi /etc/network/interfaces
内容としては、以下のように最後の2行の頭に#を追加(コメントアウト)してやれば、有線のLANを無視してWiFiのみを使うようになるので、起動で失敗せず起動が高速化します。
auto lo iface lo inet loopback auto wlan0 iface wlan0 inet dhcp wireless-power off wpa-ssid <ssid> wpa-psk <password> #auto eth0 #iface eth0 inet dhcp
音飛び改善
たまに音が飛んでしまうのが気になるので設定を見直してみました。playback
で以下の通りAudio Buffer
とBuffer before play
の設定を最大近くにする。これでメモリにデータをたくさん余裕をもって保持してくれるので、そのデータ分音切れがしにくくなります。ため池的なものと思ってもらえればよいです。
動作チェック
これでAirplay対応したミュージックサーバは出来上がりです(まだハイレゾには対応していません)。Raspberry Pi2の標準ヘッドフォンにヘッドフォンかアクティブスピーカを差し込んでやります。
そして、iPhoneでAirplayをしてみましょう。Raspberry Pi 2を起動して、iPhoneを起動すればAirplayの出力先にVolumioが表示されるので選択。後は好きな音楽を再生するだけ。音声がRaspberry Pi 2から出力されるはずです。
再生の様子
iPhoneでのAirplayは下から上にスワイプすると出てくるメニュの右下。正しく設定できていればAirplayのところでvolumioが選択できるようになっています。
まとめと今後の予定
これだけでもApple Musicを流しっぱなしにしたりするだけで素敵な音楽ライフが楽しめてよい感じですね。ただ残念なことに、Raspberry Pi2の標準のヘッドフォン出力はあまり音質が良くないのです。そう聞くととたんに残念な感じになってきますね。やはり時代はハイレゾでしょう、ハイレゾならではのまろやかな、熟成した音質で楽しみたい!もう我慢できない!
というわけで次回はRaspberry Pi2で作ったオーディオサーバをハイレゾ化してみようと思います。お楽しみにー。予定は未定。
追記:ハイレゾ対応編公開しました。よろしければどうぞー
参考サイト
PCで音楽: RaspberryPi オーディオ・ネットワーク接続とVolumioの設定
詳しく書いてあり参考になります。
yjo の覚え書き: Volumio 1.5 で apt-get upgrade をしたら NAS が mount できなくなった…
NASの設定に関して参考にしました
http://aedio.fam.cx/raspy2/raspberrypi2-DAC-doc.pdf
これも色々丁寧に説明があるので参考になります