ラズパイ・オーディオにチャレンジ!Pi:ゼロから始めるハイレゾ対応ポータブルアンプ生活

WP_002

WP_003

WP_004

 

低価格シングルコンピュータRaspberry piを使って、ハイレゾ・オーディオシステムを作成する「ラズパイ・オーディオ」が、オーディオファンの間で流行っているようですね。低価格でネットワーク対応の超高音質オーディオマシンが試せるのが魅力のようです。

5ドルのラズパイRaspberryPi Zeroが出た時に同好会メンバーそれぞれで購入したものの、何に使うか思いつかないまま放置していました。そのうちカメラ接続用のI/Fが搭載されたVersion1.3がリリースされ、これもまた同好会メンバーで即購入。最初に購入したゼロが完全に余ってしまいましたので、ちょっと改良して、ラズパイ・オーディオを楽しむことにしましょう。

しかもこのサイズ!これはもう、コンパクトなオーディオを作るしかないですよね!ということで次の目標を立てました。

  1. 超小型ラズパイ・オーディオ
  2. 当然ハイレゾ対応
  3. バッテリー内蔵

それではこれらをさくっと作ってしまいましょう。

まずはDAC選び。DAC(ダック)というのは、Digital/Analog converterの略。ラズパイに保存されたデジタルデータはそのままでは再生できないので、スピーカーで再生できるようにするために、デジタル信号をアナログ信号に変換するのがDACの仕事。このときの変換が音の決め手になります。

当然サイズの小さいながらも、高音質のものをチョイスしたいところ。ちょうど手元に、Zeroと一緒に購入したhatの中に(hatというのはHardware Attached on Topの事で、ラズパイにぽんと乗っければ使えるようになっている基盤の事です)pHAT DACがあったのでこれにしましょう。

pHAT DAC

そうそう、ゼロにはオーディオアウトが(HDMIだけしか)ないので不便だと思って買っておいたのでした。

このDACがなかなかの高性能で、筆者が愛用しているTEAC HA-P50-Bというポタアン(ポタアンってのはポータブル・アンプの事。持ち歩けるアンプですね)にも使われている、BurrBrown PCM5102の後継PCM5102Aがつかわれているのです。ってことは音の味付けはTEACのポタアンとほぼ同じって事です。どんな風に音の違いがでるか楽しみです。

また、このDACはI2S接続でラズパイとつながります。I2S(IC間サウンド)とは、IC間でデジタル音声データをシリアル転送するための規格で、通常、DACやADCといった、音響機器内部のIC間で音声デジタル信号を直接やり取りするための規格。

で、これが何がすごいのかというと、通常PCでハイレゾ・オーディオを楽しむためには、パソコンと外付けのDAC、そしてアンプとスピーカーを用意して、パソコンとDACを「USB」接続します。しかし、ラズパイゼロとpHAT DACを接続するのにUSBは使いません。ここがすごいところ。元々PCで外付けDACでは、やれUSBケーブルの相性だの、OSドライバがアシンクロナスモード対応してないだの、ドライバの出来に左右されるだの、といった色々面倒な気遣いが必要だったんですが、ラズパイ・オーディオではUSBを使わずIC間で直接やり取りするもっと「生」なデータで転送ができるわけで、より高品質なオーディオ再生が期待できるわけです。

次に、ポタアン化にあたり、ヘッドホンアンプが必要になります。値段も手頃でそこそこ音のいいものをチョイスしたいところ。外で気軽に高音質というのがコンセプトのポタアンにオーバースペックなアンプは必要ないでしょう。ちょうど秋月にポータブルヘッドホン用のアンプキットがあるのでこれを使用することにしました。

ポータブルヘッドフォンアンプキット

電源を用意するのは手間なので、適当なモバイルバッテリーと合わせる事にします。Zeroへの給電はUSBケーブル経由だと全体のサイズが大きくなってしまうため、モバイルバッテリーのUSBソケットの根本からラズパイに直接電源を接続します。電源のOFFをどうすのか、という点が心配になりますが、これはモバイルバッテリーに電源のON/OFFがあるため、問題ありません。

IMG_3601
赤いコードが+

ちょこっとここで欲が出てきました。できれば、ディスプレイ表示も欲しいですよね。という訳で、LCDを購入。

Raspberry Pi用I2C接続のLCDキット

この製品はI2Cインタフェースになっており比較的に簡単に接続が可能です。

という訳で、準備が整いました。さて、組み上げて行きましょう。

まずはRaspberry pi zero と pHAT DACの接続です。

全部のピンを接続しちゃってもいいのですが、基盤を見ながら、必要そうなやつだけ半田付けしていきます。まずはI2Sは必須ですね、あとは電源。具体的には以下のピンをハンダ付けします。

Pin 1 (3.3V)
Pin 2 (5V)
Pin 12 (GPIO 18)
Pin 35 (GPIO 19)
Pin 39 (Ground)
Pin 40 (GPIO 21)

LCDもサイトの説明通りハンダ付けすればOK。I2Cなので接続する本数は信号線2本、電源2本の合計4本だけで済みます。

IMG_3599

後はDACのLINE OUTをヘッドフォンアンプのLINE INへ接続します。

IMG_3600

では、肝心のOS部分とプログラミング部分です。今回オーディオ用ディストリビューションとしてVolumioを採用しました。ただここで問題が発生。現状VolumioのイメージはRaspberry Pi Zeroに対応しておらず、起動しないことがわかりました。

対応としては、まずRaspberry Pi 2で起動し、アップデートを済ませてからZeroで起動する必要があります。結構面倒ですね。また、バージョンアップによりSambaのバージョンが上がり、動作しなくなります。これも面倒な修正が必要です。

まずは、Volumio 1.55 のイメージをダウンロードしましょう。
https://sourceforge.net/projects/volumio/files/Raspberry%20PI/1.5/Volumio1.55PI.img.zip/download

ダウンロードしたイメージを16GB SDHCカードに書き込みます。次はMacの場合の例です。rdisk2はSDカードの場所です。環境にあわせて変更する必要があります。間違った場所を指定すると、PCのデータが消えてしまうので十分に注意しましょう。SDカードを指す前と、差した後にそれぞれdf -hを実行して、差分がSDカードだとわかります。

このSDカードとRaspberry Pi 2で起動します。

コマンドで rootになります。パスワードは volumio です。
次のコマンドを実行します。

binutilsをインストールします。

rpi-updateを実行します。

再起動します。しかし、エラーが発生してSMBが起動しません。次のコマンドで修正します。

これで下準備はOKです。poweroff後Raspberry Pi 2からSDカードを抜き、Pi Zeroに挿し直します。

無事起動したら、pHAT DACの設定を行います。

パイゼロと同じネットワーク上のPCから、ラズパイのアドレスを打ち込んで volumioの画面を開きます。
設定します。

MENU > Systemを開きます。
I2S driverの項目で I2S DACにHifiberryを選択します。

スクリーンショット 2016-09-09 19.28.19

MENU > Turn offを開きます。
REBOOTします。

 

16GBのSDHCを使いましたが、ほとんど使われていません。これを使えるようにしましょう。

パーティションを用意

 

再起動します。

再起動したら、次のコマンドで新規パーティションをフォーマットします。

パーティションのマウント設定を行います。

設定を有効にするため再起動します。

13GBの領域が確保されました。

 

samba設定ファイルの変更

sambaの再インストールにより設定ファイルが書き換わっています。先ほど拡張したmicroUSBの領域が他のコンピュータからアクセスできるように設定しましょう。

# nano /etc/samba/smb.conf

LCDのインストール

20が表示されていれば接続はOK

実行

サンプルが実行されます。このサンプルを見ながら、LCDディスプレイに現在表示中の曲名を表示するプログラムを作成していきます。

ポイントは、Music Player Daemon(mpc)コマンドです。このコマンドで曲名の取得、次曲、前曲、再生、一時停止などを行います。

コードは次のようになりました。突貫で作成したので所々無駄なコードが残っています。

Raspberry Pi Zeroの起動時にこのスクリプトを起動するようにしておけばバッチリです。

最初はアクリル板で作成していましたが、同好会メンバーが木箱を作ってくれました。木箱にあわせてアクリルをミラー調スプレーで塗装すると、かなりいい雰囲気がでました!

WP_005
木製のケースに収めている所。ミラー調のアクリルと合わせていい雰囲気です。

音楽再生アプリケーションとしては定番のVolumioを使っています。そのため、Volumioでできることはひと通り出来ます。持ち歩かない場合にはネットワークオーディオとして楽しむことが出来ます。
・SDカード内の音楽ファイル再生
・USB接続されたストレージ内の音楽再生
・NAS上の音楽ファイル再生
・ネットラジオ
・DLNA対応
・Airplay対応
・ブラウザ等からコントロール可能

IMG_5987_small
PCのブラウザやiPhoneから操作することも可能

さて、これで一通り完成です!今回はLCDディスプレイが結構大きくて、採用すべきかどうか最後まで悩みました。最終的には利便性を優先して採用しましたが、全体の半分近いサイズを占有しており、まだ満足してません。今後はLCDディスプレイを「電子ペーパー」に置き換え、劇的にコンパクトなプレイヤーに仕上げたいと画策中です!

 

Leave a Comment

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt=""> <pre class="" title="" data-url=""> <span class="" title="" data-url="">