Music TO GO!

2016年02月07日

ラズベリーパイ・デジタルプレーヤー試作とGPIO(I2S)接続

ちょっとひさびさにラズベリーパイをいじってみました。GPIO(I2S)接続のDACを使ったラズベリーパイ・デジタルプレーヤーの試作です。iPhoneで操作が可能で、バッテリーでポータブル・ラズパイでも使えます。USBメモリの音源やAirPlayを使ってApple Musicを聴くこともできます。

IMG_9450_filtered[1].jpg

* Raspberry Piと周辺機器の進化

前(2013年)にも下記記事でラズベリーパイとUSB DACを組み合わせてRaspyFi(いまは名前をVolumioと変えています)でオーディオ向けシステムを試作してみました。
http://vaiopocket.seesaa.net/article/374988227.html
このときはMPDを使用したディストリビューション(OS)であるRaspyFiが簡単に使えるようになったのでオーディオにも応用できないかとUSB DACを組み合わせてみました。
この記事から、現在までのラズパイ環境の変化を簡単に振り返っていきます。

- Raspberry Piについて

まずRaspberry PI自体が変わりました。私が2013年に使ってたのはBモデル。Bというのがネットも使える高スペックタイプです。
それからハード的に変わりB+となります。この時にUSBポートが増えてGPIOポートも26ピンから40ピンに変わってます。またSDカードがMicroSDに変わってます。

IMG_9360_filtered[1].jpg   IMG_9364_filtered[1].jpg
Raspberry Pi 2

そして2015年にRaspberry Pi 2が出ます。ただし2とは言っても変わったのは主にCPUやメモリーで、ハード規格の変更はありません。つまり実質的に大きく変わったのはB+の時で、2では性能がアップしただけです。このため製品を買うときに重要なのはハード互換はB+以降ということです。
今回はあとで述べるオーディオDACボードを使うため、Raspberry Pi2を買いました。
最近ではさらに小型で安価なPi ZEROが出ています。

-ソフトウエア(ディストリビューション)

前回2013年にRaspyFiを紹介した時はラズベリーパイのピュアオーディオ取り組みでも初期の頃だったのですが、その後にRaspyFiがVolumioと名を変え、Volumio以外でもRune AudioなどMPDを採用したオーディオファイル向けディストリビューションが増えてます。
今回は最近評判の良いRune Audioを使ってみました。ただし基本的にはMPDなのでそう大きくは違いません。Rune AudioはArch Linuxをベースにしています。(Runeはルーン文字のルーンです)

- オーディオDACボード

ラズベリーパイの最大の魅力は世界が広いことです。周辺機器での変化はGPIOでI2Sを使えるオーディオDACボードがたくさん出てきているということです。

IMG_9458_filtered[1].jpg
ラズパイ2とPI-DAC+

そのため以前はUSBからDACをつなげるしかありませんでしたが、最近ではたくさんのこうした拡張ボードが選べます。これらはI2S接続ができるという利点があります(後述)。
Volumioのフォーラムには下記のリストのようにたくさんのI2SオーディオDACボードがリストされています。
https://volumio.org/forum/list-i2s-dacs-for-raspberry-t1103.html

中にはXLRバランス出力ができる本格的なものもありますし、フルデジタルアンプ内蔵でスピーカーを駆動するものもあります。また国内でも作ってる人がいるようです。
ここではIQaudIOのPI-DAC+を選びました。

* IQaudIO PI-DAC+

私がIQaudioを選んだのは、このラズベリーパイでのGPIO(I2S)オーディオだけではなく他の目的があります。それはRoonです。
そもそもなんでいままたラズベリーパイをやろうと思ったかというと、最近Roonを調べるためにRoonフォーラムをよく読んでいるんですが、RoonのLinuxへの応用のところでRoon LabsがLinuxの中でもラズベリーパイに大きな関心を寄せているということがあります。これは同じイギリスということもあるでしょう。
そしてそのRoonフォーラムの中でこのIQaudIOの人がRoonSpeakersについて質問して関心を寄せているのを見つけて、もしRoonの機能のなにがしかがラズパイにポートされたときに、それに機器のドライバーを組み込んだビルドを提供してくれそうなところが必要になりますので、このIQaudIOに目を付けました。(実際どうかわかりませんが)
またラズパイをAirPlay化することでRoonの応用の研究もはかどります。

IQaudIOは評判も良く、次のような製品があります。

IMG_9370_filtered[1].jpg   IMG_9375_filtered[1].jpg
PI-DAC+

PI-DAC+ (31.5ポンド 約5300円) - ラズパイのGPIOを使って接続するDACでDACチップはTI PCM5122を採用しています。この種のオーディオDACボードはたいていはTI 5122かESSの9023を使っています。
PI-DACではRCAアナログ出力機能のほかにTI TPA6133Aを使ったヘッドフォンアンプが備わっています。このため3.5mm端子で直接(外部アンプ無しでも)音楽を聴くことができます。
http://www.iqaudio.co.uk/home/8-pi-dac-0712411999650.html

PI-AMP+ (45ポンド 約7600円) - TIのクラスDアンプチップを使ったデジタルアンプで、スピーカーを鳴らせます。これはPI-DAC+と組み合わせて使うことができます。
http://www.iqaudio.co.uk/home/25-pi-amp-0712411999698.html

PI-DigiAMP+ (55ポンド 約9300円) - これはDAC機能とアンプ機能がひとつになったものです。
http://www.iqaudio.co.uk/home/9-pi-digiamp-0712411999650.html

専用ケース - ラズパイにPI-DACを付けたまま収納できるケースです。色がいくつかあります。
http://www.iqaudio.co.uk/home/10-pi-case.html

私の場合はDACとしてほしかったのと、単体でヘッドフォンが聴けるようにしたかったのでPI-DAC+を買いました。
これらは上記のIQAudIOのサイトから直接購入できますし、日本でも輸入しているところがあるようです。
私はModMyPIというイギリスのサイトが少し安かったのでそこから買いました。またModMyPiでもRaspberry PIとPI-DAC+の組み合わせ専用ケースがありますので、それも買いました。
https://www.modmypi.com/

IMG_9378_filtered[1].jpg
PI-DACを付けたまま格納できるケース

RPI2(ちなみに日本では略してラズパイと言いますが、海外ではRPIといいます)が約五千円くらい、PI-DACが5300円ですから、送料とケースも含めて一万数千円くらいです。発送も翌日発送と迅速で、安い海外郵便を使って届くまで約一週間ほどでした。

* ラズベリーパイにおけるオーディオへの応用とUSBの功罪、GPIO(I2S)の利点

さて、なぜGPIO(40ピンの拡張スロット)を使うかということですが、これはオーディオ的にUSBよりI2Sのほうがいいじゃない、という他にラズベリーパイならではの問題があります。それはラズベリーパイが普通のコンピュータとは異なり、あくまで低価格コンピュータだということです。
そのため回路もコストダウンのため合理化・簡易化されてます。
例えばラズパイ内蔵のイヤフォン端子の音声出力はDACやオーディオCODECは高価なので使われずに簡易アナログ変換を使っています。ラズパイ自体が学研の科学の付録みたいなものですから。。(実際にPI Zeroは雑誌の付録になった)

簡易化のためUSBバスもネットワークと供用され、USBトラフィクがネットワークトラフィックと競合してしまいます。
これはVolumioの前身のRaspyFiのときにすでに問題視されていました。下記リンクのこの件について書かれた記事はRaspyFiの人が書いたものです。私も2013年のうちの記事にもちょっとコメントを入れてありますが、当時はUSB DAC以外の出力機の選択は無かったと思います。

Anatomy of a Pi – Raspberry Pi i2s and usb connections (ラズベリーパイとUSB接続)
http://www.raspyfi.com/anatomy-of-a-pi-raspberry-pi-i2s-and-usb-connections/
Anatomy of a PI – USB Audio quality and related issues on Pi (ラズベリーパイにおけるUSBオーディオ品質と関連する問題について)
http://www.raspyfi.com/anatomy-of-a-pi-usb-audio-quality-and-related-issues-on-pi/

このため初期のラズパイ系のオーディオスレッドだとUSB DACを使った時にハイレゾ音源でクリックとかポップが起こるって報告が書いてあったりします。これはパワーアップされたラズパイ2では力で改善されましたが、やはり根本的な対策は専用線である別経路のGPIOを使うことです。
もともとラズパイのオーディオ出力はHDMIが想定されていました。ラズパイのオーディオ取り組みの最初期のRaspbmcではHDMIを採用し、RASPYFI(現Volumio)でUSB DACに対応し、それ以降でGPIO対応サウンドカードが増えてきたというのが流れだと思います。

また、ラズパイみたいなシンプルなコンピュータで高性能なUSB DACを使うのも面白いですが、やはりラズベリーパイの良さは安さ・手軽さと、世界の広さですので、今回はGPIOサウンドカードの一つであるPI-DAC+を使って見ました。

* ラズパイデジタルプレーヤー

これは試しに作ってみた「ラズパイ・デジタルプレーヤー」です。作ってみたというか、PI-DAC+そのままですが、ここまでできますという例です。

使用したのは
- Raspberry PI2
- IQaudIO PI-DAC+
- PLANEX GW-USNANO2A (無線USBドングル)
それと初回は設定のために有線LANネット接続とキーボード、HDMIモニターが必要です。

手順は下記のとおりです。
まずドライバーの組み込まれたビルドが必要なので、IQaudIOのページからドライバー組み込み済みのイメージファイルをダウンロードします。VolumioやRune Audioなどいくつもありお好みで選べます。
http://www.iqaudio.com/downloads/
次にそのイメージファイルをWin 32disk imagerなどでmicroSDに書き込みます。Rune Audioは最低16GB必要です。このサイトはダウンロード速度がわりと遅めなので、注文したら到着前にここまで用意しておいたほうが良いと思います。

IMG_9380_filtered[1].jpg   IMG_9382_filtered[1].jpg
PI-DAC+の組み立て

到着したら、PI-DAC+とラズパイ2を組み合わせます。まず基盤間のスペーサーになる4本の足をスクリューして設置し、GPIOのスロットにPI-DAC+のピンを差し込みます。ハンダは不要です。

次にラズパイ2にキーボードとモニターとLAN線をつなぎます。あとでWiFi設定をするので、LAN線は無線LANに接続しているルーターなどから取ります。
電源を投入するとHDMIにつなげたモニター上でRune Audio(Arch Linux)が立ち上がってブートが始まります。ブートが終わったらコマンドプロンプトにUser:root、Password:runeで入ります。
コマンドラインからifconfigとタイプして、出てきた数字の中からinet=xxx.xxx.xxx.xxxという数値を探します(ラズパイのipアドレスです)。

iPhoneで無線LANに入って、ブラウザからhttp://xxx.xxx.xxx.xxx/とタイプします。するとRune UI(MPDクライアント)が表示されます。
ビルドによってはhttp://runeaudio.local/でもつながるかもしれません。

IMG_0044 (2).PNG
Rune UI (iPad)

ラズパイにWiFiのUSBドングル(ここではPlanex)をさしこみます。
Rune UIの右のメニューのNetworkからWiFiの設定をします。WiFi機器の再読み込みをしてWiFiドングルをリストから選びます。それをクリックし、出てくるリストで自分のWiFiネットを探してWPAかWEPのパスワードを入力します。

IMG_9455_filtered[1].jpg
直接イヤフォンを使えます

これで設定は終了です。あとはキーボードやモニターは不要です。抜いてかまいません。
またラズパイは5Vで動作するので、モバイルバッテリーでも駆動できます。

以後の操作はiPhoneで行います。もっとも簡単なのはUSBメモリに音源を入れてRune UIからLibralyで選択して再生することです。

image.png
iPhoneからAirPlayで再生

またこのままでAirPlayにも対応しているので、この場合はUIすら不要です。電源を立ち上げるだけです。iPhoneからはApple Musicが効けますし、このままでRoonからはAirPlay機器として再生が可能です。RoonでAirPlayゾーンを設定してください。シグナルパスの品質はハイクオリティです(ロスレスより落ちる)。

IMG_9459_filtered[1].jpg
USBメモリとWiFiドングルの追加

実際にPI-DAC+の3.5mm端子にEdition8やAK T1pを入れて聴いてみましたが、さすがにI2S接続しているだけあってわりと音はよいですね。
これらの高性能ヘッドフォンを使用してもあらがあまり無いくらいの割と良い音質で聴くことができます。最高かというとそこまでではありませんが、コストパフォーマンスはかなり良いと思います。
Apple MusicをAirPlayで聞いても上々です。
あとはバッテリーとのマッチングをなんとかすれば。。

IMG_9470_filtered[1].jpg
バーソンのアンプとAirPlay DAC

あとはAirPlay対応DACとして、PI-DAC+のRCA出力とアナログ入力ヘッドフォンアンプであるパーソンのSoloistとRCAケーブルでつなげても使いやすく音質が高いものとなります。この場合にはPC上のRoonからAirPlayで再生すればバーソンがワイヤレスで手軽に使えます。

スクリーンショット 2016-02-06 21.59.17.png   IMG_2171.PNG
Roonでの再生画面(左)、Rune UIでの表示(右)

勉強のために買ったのではありますが、ケースなどを付けてあげればかなり実用的にも使えそうです。

こうして自分がほしいと思うモノを手軽に実現できるのがこうしたシステムの神髄かと思います。
posted by ささき at 22:30 | TrackBack(0) | ○ PCオーディオ全般 | このブログの読者になる | 更新情報をチェックする
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/433533136
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

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