ラズパイでミュージックサーバーの構築

[2018.08.15]

音楽フォーマットのメインが一曲毎のデジタルデータになってもうすぐ20年。以前はCDを取り込んで変換していたけど、今はデータを直接購入することが多い。修理しながら使ってきたパイオニアの25枚CDチェンジャーも年に1度電源をいれる程度。デジタルデータの最適な再生のためにUSB-DACを使用しているのは以前に書いたとおりだけど、次のステップとして音楽再生専用装置=ミュージックサーバを作るのはIT企業に勤める者として外せない。

 

2011年に先陣切ってLANハードディスク(NAS)の改造に挑戦&失敗してGWの3日間を費やした。2012年にはラズパイが発表されて、個人輸入→Amazon標準品になっいてたのに再チャレンジが遅れてた。もう逃げてるわけにはいかない(笑) 特にI2Sの接続には凄く興味があったので。(引用サイトで特に重要な部分は下記)


I2S(Inter-IC Sound)というのは、音声データをIC間でやり取りする為の規格で、通常の再生機器で最終的にDACチップに入力する信号プロトコルの一種類です。一般的なPCオーディオ(USB接続)をするには、

 1.PCでファイルから音声データを取り出しPCMデータ列にする
  2.PCはPCMデータをUSB Audioのプロトコルに載せてUSB DDCに送る
  3.DDCはUSB Audioで受け取った音声データをS/PDIFに変換してDAC装置に送る
  4.DAC装置内部ではレシーバー(DAI)でS/PDIFをI2Sに変換してDACチップに送る
  5.DACチップがI2S信号からアナログ音声信号に変換する
 という手順になります。

対してラズパイは途中の処理をすっ飛ばして、
   1.コンピュータでファイルから音声データを取り出しPCMデータ列にする
   2.PCMデータ列をI2Sにして出力する
   3.DACチップがI2Sからアナログ音声信号に変換する
   となります。

途中の処理をすっ飛ばせるということは、すっ飛ばした装置や機能ブロック分の「余計なコストがかからない」ということにもなります。

一昔前なら10万円は必要だった電子データの音楽再生環境が1万円ぐらいで可能になる。ありえない価格破壊。せっかくオンキョーは音楽再生PCのためにソーテックを買収したのにね。ラズパイ&I2Sで事業戦略の前提が全て吹っ飛ぶ恐ろしさ。

 
家のレグザのHDDが増えすぎてNASが必要になったので、やっと先週ラズパイ購入。NASを作成→移動してレグザも50%空いた。だから今からミュージックサーバ構築。普通はVolumioなんだけど、消費電力重視でRaspberry Pi Model B+を購入したのでMPDで作成中。Pi1-B+は無線LANついてないので別途購入。あくまでも最適なミュージックサーバーを求めて、ちょっと普通と違う事をやっているので完成したら追記しますね。

せっかくうちのサイトに来てくれてる皆様には興味あったら、色々と設定してすぐ使える状態にしたSDカードを送付してもいいぐらいと思ってます。理想はAmazonで一式買って組み立てるだけ。といいたいところだが音楽保存しているHDD先とか、家庭の無線環境とか個別要素あるからなぁ。
 

 

[2018.09.06]

とりあえず完成。

Raspberry Pi Model B+ (4180円)

microSDHCカード 32GB (1380円)

サインスマート HIFI DAC サウンドカード モジュール I2Sインターフェース Raspberry Pi B+、2 Model B対応 (3199円)

PLANEX 無線LAN子機 (USBアダプター型) 11n/g/b 150Mbps MacOS X10.10対応 GW-USNANO2A  (1188円)

 

全部で9947円。もちろんこれ以外にUSB接続のキーボードやHDMIケーブル、USB電源もいる。今回のポイントは 消費電力を抑えるためにわざと最新じゃないラズパイ。最新版は放熱のためにファンまで必要って、それはイマイチすぎる。ラズパイ1には無線LANがついてないのでぁを買ったけど全然音がでない。ネットの情報と商品がちょっと違うから。色々と調べてこのサイトの通りにしてやっと音がでた

 

/etc/modulesに下記

i2c-dev
snd_soc_pcm512x
snd_soc_hifiberry_dacplus

 

/boot/config.txtには下記。

dtparam=i2c_arm=off
dtparam=i2s=on
dtoverlay=hifiberry-dacplus

 

ここら辺を調べるのにほぼ1日は費やしたぞ。。

 

今回はシンプルな音楽再生環境のためMPDで構築。メインの設定は下記

/etc/mpd.conf
audio_output {
        type            "alsa"
        name            "My ALSA Device"
        mixer_type      "software"
        device          "hw:sndrpihifiberry,0"  # **add****
}

 

スマフォから曲の変更とかをしたいけど、Androidマーケットには広告入りアプリや個人情報にアクセスするアプリばっかり。ふざけるな。だからこちらのサイトを参考にブラウザベースの再生コントロール。色々と調べるとインターネットラジオで音楽を聴く人はVolumioでなくMPDにするんだね。結局、自動起動させるために下記。

 

/etc/rc.localの最終行
cd /home/pi/MusicServer && /home/pi/.nodebrew/current/bin/node node_modules/mpdjs 8888 192.168.X.X 6600 false  >> log.txt 2>&1 &

 

ということで目標は達成。あとは理想的にはスマフォから電源を切る仕組みだけど、結構めんどくさい。当面はパソコンにSSHクライアントでputtyjpをインストールして、そこからshutdownコマンド。

 

そういう意味では音楽再生サーバーを1万円で作れるけど、それなりに時間かかった。ポイントになる設定項目は全部書いたから、同じ製品買えば5時間ぐらいで作れると思うけど、やっぱりLinuxに慣れて無い人は普通にパソコンからUSB-DACで再生する方が楽だと思う。。

 




コメント
プロですね
  • Hide
  • 2018/08/24 8:28 PM

コメントする








   
この記事のトラックバックURL
トラックバック

All List

categories

links

recent comment

profile

search this site.

others

mobile

qrcode

powered

みんなのブログポータル JUGEM