タイトル長いですね。オーダーしていたRaspberryPi用DACモジュールがようやく中国から届いたのでRuneAudioと組み合わせてリモコンまで動かしてみました。
HiFi DAC PiCobber
Raspberry PiにはGPIO+I²Sポートに接続するタイプのDACモジュールが多数販売されています。といっても小売店の販売ではなく、国内頒布や海外オーダーで入手する事ができます。
- RaspberryPi用DAC基板 IrBerryDAC: new_western_elec
- Raspberry Pi i2s DAC: why this sounds so good – Volumio
中でも周辺パーツが少なくて済むTIのPCM5102Aは人気。大まかなスペックは
- I²Sインターフェイス
- 最大サンプリング周波数:384kHz
- ビットレート:32bit
- ダイナミックレンジ:112dB
- 出力デカップリング不要、ポップ音抑制機能
今回選んだGeekroo HiFi DAC PiCobberもこのチップを使用する他、以下のポイントがあります。
- Raspberry Pi上に直接乗り、ケーブルの引き回しや追加電源が不要
- いいパーツ使ってるアピール。RCAジャックが直結。
- IR remote interface (You will receive IR receiver and remote controller for free in the packet)
- VOLUMIO をサポート。
なおこの手の製品の注意として、I²Sコネクタ用ピンをRaspberry Piに半田付けする必要あり。難しくはないけれど、未経験のひとには壁となるかもしれません。
開封
11月頭にGEEKROOからPayPal支払いでオーダーして届いたのは丸一ヶ月後。決済はすぐ行われたので関税で引っかかってたんでしょうか。
いかにも中国から来た感じのビニールテープ巻きの梱包。中を開けるとカンケースと謎のステッカー。他には”Car MP3″と書かれたリモコンがひとつ。
パーツを確認
VISHAY resister (made in Czech)
ELNA RBP2 capacitor (made in Japan)
WIMA MKS2 capacitor (made in Germany)
ERO KP1830 capacitor (made in Germany)
Nichicon FG series capacitor (made in Japan)
音質に直接影響ありそうなのはフィルタに使われているビシェイとEROくらいでしょうか。上の黒い四角はB0505というチャージポンプ。4.6Vしか出ないラズパイのVccを5Vに昇圧しています。自分好みのWIMAを使っている部分はあまり音に関係はなさそうなのが残念です。ケミコンはオーディオグレードより低ESR品では?と思いつつも自分が釣れた訳だから効果はばつぐんだと言わざるをえない。
出力は金ピカのRCAプラグの他、3.5mmジャックも有り。ただしこれは(Not for your earphones, it’s for audio power amplifiers only!)との事。
オマケっぽいIRモジュールはGPIO18に直結されています。
RuneAudio
VOLUMIOサポートのPiCobberですが、自分はRuneAudioを選びました。
これもVolumioと同型のオーディオパッケージ(MPD+フロントエンド)。Raspberry Piの他、BeagleBone BlackやUDOOをサポートしていて現在のバージョンは0.3-betaです。画面デザインもVolumioに類似していますが、より完成度が高くGUIで設定可能な項目も増えています。DebianベースのVolumioに対し、軽量なArchLinuxをよりオーディオ向けに最適化して使っているそうな。
VOLUMIOでは認識しなかったあまりもの「CG-WLUSB300GNM」も認識。
RuneAudioでPiCobberを使う場合、[Setting]メニュー→[I²S kernel modules]から「HiFiBerryDAC」を選択。
「MPD」メニュー→[Audio output interface]にて増えた「HiFiBerryDAC-I2S」を選択します。
試聴
Raspberry Pi + PiCobber + RuneAudio + Tripath TA2020の組み合わせで聞いてみました。
音に潰れが無くソースのディテールを聞き取れます。音色に過剰な脚色は無いけれど中域に張りがあって華やか。音の切れ間には確かな静寂があってダイナミックレンジの高さも感じました。コントラストが高い音、とでも言えばいいんでしょうか。小音量やニアフィールドで聞こえがいいです。
ただ音像は少し遠くで鳴っているイメージを受けました。音場の広がりというか臨場感は今ひとつですが、これはTA2020の特色だった気もします。
ともかくPCM2704を使ったiTunes+LUXMAN LXU-OT2 – Google 検索(雑誌付録)と比べたら圧勝の音質である事は確か。
ハイレゾ再生
宇多田ヒカルのRemaster音源(24bit96kHz FLAC)や、24bit192kHz音源、Apple Losslessフォーマットをテストし、みんな綺麗に鳴る事を確認。
当然ですが2.8MHz DSFデータは再生できず。RuneAudio自体はDSDサポートの設定があるのでDACを選べば鳴るのかもしれません。。
赤外線リモコンで操作
オマケっぽく付いてくるIRモジュールとリモコンを使ってRuneAudioを操作できるようにしました。
参考にしたのは発売元のBlogに載っていた下記記事。
DebianのVOLUMIO向けに書いてあるので、デーモンの起動方法などが違います。
SSHにて接続。rootのパスワードはruneです。
1
# pacman -Syu # pacman -S lirc
Archのパッケージ管理はaptではなくpacmanだそう。最初に全体のアップデートと赤外線を使うモジュールlircのインストール。
2
# vi /etc/lirc/hardware.conf LIRCD_ARGS="--uinput" DRIVER="default" DEVICE="/dev/lirc0" MODULES="lirc_rpi"
上記ファイルを作成
3
# modprobe lirc_rpi gpio_in_pin=18
lirc_devは依存関係で勝手に読み込まれるっぽい?
4
ls /dev/l*
などして、/dev/lirc0ができてる事を確認。このデバイスファイルはlirc_rpiがロードされている間しか表示されません(リブートで消える)。
5
設定ファイルlircd.confを作成します
irrecord -n -d /dev/lirc0 /etc/lirc/lircd.conf
これはRaspberry Pi で赤外線リモコン – 猫ぱーんち!を参考にさせていただきました。名前の入力のところで”pause”,”nextsong”,”prevsong”,”stop”をそれぞれ入力し、リモコンの好きなボタンを押します。
以下中身
begin remote name lircd.conf bits 16 flags SPACE_ENC|CONST_LENGTH eps 30 aeps 100 header 8938 4527 one 531 1712 zero 531 591 ptrail 522 repeat 8942 2296 pre_data_bits 16 pre_data 0xFF gap 107748 toggle_bit_mask 0x0 begin codes pause 0xC23D nextsong 0x02FD prevsong 0x22DD stop 0x906F end codes end remote
GEEKROOのやり方だと全然違うファイルが出来るんだが大丈夫か。
6
mpd用の設定ファイルを作成します。
# vi ~/.lircrc begin prog = irexec button = pause config = mpc toggle end begin prog = irexec button = nextsong config = mpc next;mpc play end begin prog = irexec button = prevsong config = mpc prev;mpc play end begin prog = irexec button = stop config = mpc stop end
7
# /usr/bin/lircd # irexec -d
lircdの実行。irexecがリモコンの入力をフックしてmpdに投げてくれる模様。
8
irwコマンドで動作テスト。うまく動けば押したキーに合わせて記録した名前が表示されます。
# /usr/bin/irw 0000000000ff22dd 00 prevsong lircd.conf 0000000000ff22dd 01 prevsong lircd.conf 0000000000ff22dd 02 prevsong lircd.conf 0000000000ff02fd 00 nextsong lircd.conf 0000000000ff02fd 01 nextsong lircd.conf 0000000000ff02fd 02 nextsong lircd.conf 0000000000ff22dd 00 prevsong lircd.conf 0000000000ff22dd 01 prevsong lircd.conf 0000000000ff22dd 02 prevsong lircd.conf 0000000000ff22dd 03 prevsong lircd.conf 0000000000ffc23d 00 pause lircd.conf 0000000000ffc23d 01 pause lircd.conf 0000000000ffc23d 02 pause lircd.conf 0000000000ff02fd 00 nextsong lircd.conf 0000000000ff02fd 01 nextsong lircd.conf 0000000000ff02fd 02 nextsong lircd.conf
Archでは参考になる記事が少なく、結構苦労しました。
残すは
- .serviceファイルを書いてsystemctlで自動起動
- リモコンでRuneAudio=Raspberry Piのパワーオフ
をやりたいと思いますが師走で立て込んできたのでひとまずここまで。