Raspberry Pi2 を チャンネルデバイダにする。

Raspberry Pi3 でも動作することを確認しました(2016年4月10日)

確認しているバージョン
2015-11-21-raspbian-jessie
2015-11-21-raspbian-jessie-lite
2016-03-18-raspbian-jessie-lite

音楽再生だけならliteで十分です。liteにはXwindowがはいってません。 フィルタの設計をRaspberry上でするならXwindowが入ったraspbian-jessieを インストールしてください。フィルタ特性のグラフを見ることができます。

注意点

Linuxのコマンドライン(いわゆる黒い画面)での作業が必要です。
cd md cp mv ln tar ssh scpなど最低限のコマンドの知識とエディタが使える必要があります。
コマンドラインで使用するエディタはとりあえずnanoが分かりやすいと思います。

Volumioは使えません。
mpd.confを手動設定できない
インストールされているmpdはパイプ出力が有効になっていない
のでチャンデバソフトと連携が取れません。
素直にraspbianを使いましょう。
Runeaudioについては未確認。

1.raspbianをインストールとネットワークの設定をする。

この辺は詳しいサイトや書籍があるのでそちらを参考にしてください。

2.初期設定

Xwindowが動けばGUIでもできますが、liteではコマンドラインしかありません。 以下すべてコマンドラインの操作です。sshが使えればラズパイにキーボードや 画面を接続しなくても設定できます。

設定スクリプトraspi-configを起動する。

sudo raspi-config

1のSDカードの領域拡張

空き領域が少ないとインストール作業ができません。

3 Boot Options B1のConsoleを選択 音楽再生にXwindowは不要です。ログインしている必要もありません。

4のInternationalisation Optionsを設定

Change Locale en_US.UTF-8 と ja_JP.UTF-8 を選択 デフォルトは ja_JP.UTF-8に設定

Time Zone をAsia Tokyo

(必要なら)キーボードを接続してkeybordを設定 OADG 109A に設定

9 Advance Options A3 Memory Split memory split 32以上に(64推奨)

ここは重要です。音楽向けディストリビューションにはグラフィック向けのメモリを 最低限に削っているものもありますが、そうするとHDMIからの音声出力がうまく行きません。 Xwindowは使わないのですが、初期値の64にしておきます。

再起動

sudo reboot

3.アップデート

sudo apt-get update
sudo apt-get upgrade
sudo reboot

4.サンプルプログラムのコンパイル

raspbianをインストールすると/opt/vc以下にデモプログラムがインストールされています。 この中に必要なライブラリとデモプログラムのソースコードが入ってます。 HDMI出力に必要になるのでデモプログラムをコンパイルしておいてください。 Raspbianは教育用のディストリビューションなので基本的な開発ツールはすでにインストールされてます。

cd /opt/vc/src/hello_pi/libs/ilclient
make

5.hdmi_play2.binをインストールする

まずダウンロードする。

hdmi_play2_v0.12a_.tar.gz

フォルダ内に入ってmake、/usr/bin/にコピーする

tar xvf hdmi_play2_v0.12a_.tar.gz
cd hdmi_play2
make
sudo cp hdmi_play2.bin /usr/bin/

6.amafirをインストールする

amafirはオープンソースのfftライブラリfftw3が必要なのでインストールします。

sudo apt-get update
sudo apt-get install libfftw3-dev

amafirをダウンロード

amafir_v0.12a_.tar.gz

解凍してamafirフォルダをmpdに書き込み可能にする

tar xvf amafir_v0.12a_.tar.gz
chmod 777 amafir

フォルダ内に入ってmake、/usr/bin/にコピーする

cd amafir_src
make
sudo cp amafir /usr/bin/

7.mpdをインストール、設定する。

raspbianにはmpdがインストールされてないのでインストールします。 jessieでインストールできるmpdではリサンプリングにsoxrが使えます。

sudo apt-get update
sudo apt-get mpd

/etc/mpd.conf を適当なエディタで編集

一般的な設定は詳しく解説しているサイトがいくつかあるので参照してください。 チャンデバに必要なところだけ述べます。

オーディオ出力の項目でalsaのところは必要ないのでコメントアウトします。 以下を追記します。 出力を96K32bitに設定するのがポイントです。

audio_output {
  type  "pipe"
  name  "HDMI_amafir"
#  command  "amafir /home/pi/amafir | nice -n -20 hdmi_play2.bin 96000"
  command  "amafir /home/pi/amafir | hdmi_play2.bin 96000"
  format  "96000:32:2"
}

サンプリングレートコンバータの品質設定をします。

samplerate_converter "soxr very high"

最後にmpdを再起動します。

sudo /etc/init.d/mpd restart
2016年1月11日