Home - Volumio - Audiophile Music Player
を使ってオーディオプレイヤーという、ちょっと今更感かもなネタを弄ってみる。
準備。
Get Started - Volumio
からRaspberry PI用のカーネルイメージを落としてきて展開し、SDメモリに焼き付け。たぶん2GBのメモリで十分だけど、手持ちの8GBのを使った。
起動。そしてUSBオーディオプレイヤーとして動作検証。
- 電源(マイクロUSBから)・SDメモリ・USB HDD(WAVファイル入り)・USBキーボード・LANケーブル・ディスプレー(HDMIから)を挿して起動すると動作。
- ねんのためsudo apt-get updateとsudo apt-get upgradeしておく。
- あと、sudo raspi-configでキーマップをHHKBに変更、時計をTokyoに設定、localeにja_JP.EUC-JPとja_JP.UTF-8追加。
PCM2704なUSB DACを挿すと、一発で認識される。なかなかすがすがしい音を出す。普通にいい音がする。
クライアントはWebからでいいらしい。iPad上のSafariでhttp://volumio.localを開くと、いきなりプレーヤーだ。
多少洗練されていないが、コントローラとして使える。2バイト文字が化けるがまあいいや。
以上は想定内。さて、こっからは實驗だ。
Volumio on RaspberryでI2Sを吐かせる。
Raspberry Pi i2s DAC: why this sounds so good - Volumio
にもあるように、VolumioはI2Sを吐けるらしく、Raspberry PIのドーターボードのようにオーディオ用DACをかました基板が出ている。
となれば、らずにゃんにI2Sを吐かせてみたいと思う。
で、うちの手持ちDACで、I2Sをすぐ叩き込めるのはDAC9018S。
- RPi-DAC - High Quality DACにRaspberryのピンアサインが出ている。端子P5のp3がBCK、p4がLRCK、p6がDATA、p7/8がGNDだそうだ。
- DAC9801S 基板 / ES9018S 使用オーディオ用 DAC ディジタル部 製作マニュアルによると、I2S入力するには、(1)P13をL(GNDにおとす)にして、(2)CN1のp1にDATA、p3にLRCK、p5にBCK(p2/4/6/8はGND)を叩き込めばいい、とある。
ふむふむ。GND含め4本つなげばいい模様。
さ、つなぎこんでみた。
- http://volumio.local/settings.phpの「Activate I2S driver」でi2sonと設定しラズパイ再起動。
- そして、http://volumio.local/mpd-config.phpでVolume control mixerをdisabledに変更。
さーいけー!
音出し。出た。
一発で音が出た。これは・・・・・・USBオーディオもうやめる!!!
I2Sだからある程度いいことは予想してたけれど、こりゃ定位も音の伸びも段違いだ。おんなじソースとは思えないレベル。
結論:USB経由S/P DIFなPCオーディオなんかやめて、今後はラズパイオーディオでやります。どうやってケーシングしようかな。
問題点。
- I2Sの場合、選曲時に「ぷち」という音が入る。Playlistで順に次曲に移る場合は入らないが。
- うーん、でもやっぱりクライアントの文字化けがな・・・ディレクトリは化けないけど、日本語ファイルが確実に化ける。
- Raspberry Pi 用 Volumio 文字化け解消 : オーディオと音楽とパソコンとRaspberry Pi + MPDで日本語を表示する : ささやきの通り、マウント時にSJISで読み込んで、mpdもSJISでさばけばいいはずなんだが、/etc/usbmount.confや/etc/mpd.confのコード設定まわりをあれこれいじってもうまくいかないようだ。
- あ、もしかしてこの文字化け、WAVファイルのid3チャンク(WAV作ったのがfoobar2000なので)を読みに行って化けてるのかな?だとすると厳しそうだ。
- LANが有線でつながってないとiPadからコントロールできないのが残念すぎる。ラズパイで使えるUSB WiFiが事実上必須だな。
- SDメモリの残容量をマウントして活用しないともったいない。最もローコストなMPD+AirPlayシステムの構築方法(2) Volumio + RaspberryPi: new_western_elecみたいなかんじ。