Banana Piは名前からも想像できるように
Raspberry Piの亜種のSingle Board Computer(SBC)であるが、Raspberry Piよりも性能がアップしている。
CPU(1GHz)、1GMB RAM、10/100/1000 BaseT LAN、USB 2ポートに加えてSATAポートも備わっている。
SATAポートがあるので、HDDやSSDを組み込んだミュージック・サーバーにするつもりで購入した。
ただ、本当に残念であるが、Banana PiではI2Sがサポートされておらず、DAC-ICをI2S接続で組み合わせることはできない。
Banana PiにインストールするOSは、
www.lemaker.orgからダウンロードできる。
13種類のOSがリストされているが、Raspberry Piでも使って慣れているRaspbianをダウンロードした。
このサイトにはBanana Piの後継機種であるBanana Pro用のOSもリストされているので、
Banana Pi用を選択してダウンロードする。
OSはクラウドからダウンロードするが、筆者はGoogle Driveを選択してダウンロードした。
ダウンロードしたRaspbian_For_BananaPi_v1412.tgzのサイズは約1GBで、これを解凍するためにLinuxで走っている自作NASに貼り付けて、以下のコマンドで解凍する。
# tar zvxf Raspbian_For_BananaPi_v1412.tgz
解凍が終了すると以下のimgファイルが出来る。
Raspbian_For_BananaPi_v1412.img
このimgファイルのサイズは約3.2GBであり、これをSDカードに書き込むことになる。
筆者はOSのダウンロードとSDカードへの書き込みはWin7PCを使用しているので、自作NASからWin7PCに戻し、Win32DiskImagerを使用して4GBのSDカードへ書き込んだ。
書き込み等の詳細はRaspberry PiへRaspbianへのインストールを解説した「Raspberry Piのいたずら」を参照してもらいたい。
Banana Piの電源は5V2Aが必要なので、筆者は5V3AのACアダプターを使用した。
OSをインストールしたSDカードをボードに装着し、ACアダプターをコンセントに差し込むとブートが始まる。
Raspbian_For_BananaPi_v1412ではデフォルトでsshサーバーが動作しているので、
他のPCからsshでアクセスできる。
筆者はWindows7PC上でsshクライアントのTera Termを使用しており、DHCPサーバーで割り当てられるIPも分かっているので、これによりアクセスしている。
ユーザー名: root
パスワード: bananapi
と打ち込むと認証される。
DHCPサーバーで割り当てられるIPが不明な場合は、面倒だがモニター、キーボード、
マウスを接続してブートするとX-windowsが立ち上がるので、Terminal Emulatorで
root@lemaker:~# ifconfig
とするとeth0に割り当てられているIPが判明する。
これ以降の
sshによるIPの固定やraspi-configによる各種設定も「Raspberry Piのいたずら」を参照 してもらいたい。
なお、Raspbian_For_BananaPiのデフォルトのid、passwdはbananapi/bananapi & root/bananapiである。
基本的な設定が終了したのでMPDの設定を行う。
以下のコマントでMusic Serverに必要なソフトをインストールする。
最初にmpdとmpcをインストールする。なお、mpcはクライアント・ソフトである。
# apt-get install mpd mpc
次にalsa-utilsをインストールする。
# apt-get install alsa-utils
次に接続したUSB-DACの状態を確認しておく。
# cat /proc/asound/cards
root@lemaker:~# cat /proc/asound/cards
0 [sunxicodec ]: sunxi-CODEC - sunxi-CODEC
sunxi-CODEC Audio Codec
1 [DAC ]: USB-Audio - USB Audio DAC
Burr-Brown from TI USB Audio DAC at usb-sw-ohci-1, full speed
デバイス番号1がUSB Audio DACであり、確かに接続した自作DACはTI Burr-Brown製のチップを使用している。
次に /etc/modprobe.d/alsa-base.conf におけるUSB Audio DACに関する部分を赤字のように編集する。
# vi /etc/modprobe.d/alsa-base.conf
options snd-usb-audio index=1
MPDの設定ファイルである /etc/mpd.conf を編集する。
# vi /etc/mpd.conf
最初に bind_to_address という行を探し#でコメントアウトする。
#bind_to_address "localhost"
次の箇所を赤字のように編集する。
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:1,0" # optional
# format "44100:16:2" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "1" # optional
}
最後に
#mixer_type "software"
の行を探し出し、#を削除する。
設定が終わったら、MPDを下記のコマンドで再起動する。
# /etc/init.d/mpd restart
# /etc/init.d/mpd restart
Stopping Music Player Daemon: mpd.
Starting Music Player Daemon: mpdlisten: bind to '0.0.0.0:6600' failed: Address already in use (continuing anyway, because binding to '[::]:6600' succeeded)
.
bind to '0.0.0.0:6600' failedのエラーであるが、
Binding to IPV6 before IPV4
とのことで、以下のように記述すると解消される。
#bind_to_address "localhost"
bind_to_address "127.0.0.1"
bind_to_address "192.168.0.91"
ただし、筆書の場合、エラーが出たままでも問題なく動作しているが、気になるようであれば追加されたい。
なお、"192.168.0.91"はNICに割り当てたIPである。
自作NASに接続できるように/etc/fstabを編集する。
# vi /etc/fstab
//192.168.0.95/Music /music cifs username=root,password=samba,uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8 0 0
次は / に music ディレクトリーを作りマウントし、/var/lib/mpd/musicへリンクする。
# mkdir /music
# mount -a
# ln -s /music /var/lib/mpd/music
MPDのバージョンは0.16.7である。
# mpd -V
mpd (MPD: Music Player Daemon) 0.16.7
OSのバージョンは以下のとおりである。
# uname -a
Linux lemaker 3.4.103 #1 SMP PREEMPT Thu Dec 18 13:07:12 CST 2014 armv7l GNU/Linux
USB-DACを接続し、GMPCを立ち上げてNASの楽曲ファイルを再生してみた。
ところがアンプの音量つまみの位置はいつもと同じであるが、何となく再生音が小さく感じる。
/etc/mpd.comfの音量関係をいろいろいじってみたが改善されない。
念のため、
USB-DACの出力に電子電圧計を接続し、1kHz0dBFSのwaveファイルを再生してみたら
0.65Vしかなかった。
このUSB-DACは1kHz0dBFSのwaveファイルを再生すると1.67Vが得られていたはずである。
再確認するため、同じUSB-DACをVoyage MuBox on BeagleBone Blackに接続し1kHz0dBFSのwaveファイルを再生したら1.67Vであったので、やはり本機に何か問題があるようである。
ただし、音質が特に悪いという訳ではなく、音量が小さいだけである。
上述したようにRaspbian_For_BananaPi_v1412にMPDを組み合わせた場合、予定されたアナログ出力が得られないので、別のOSにトライしてみる。
選択したのはRaspbianと同じDebian系列で、Updated : 2015-01-11と最新であったBananianである。
Google Driveからダウンロードし、解凍するとファイルサイズが約2GBの
bananian-1501.img
が得られた。
これを4GBのSDカードに書き込み、Banana Piに装着するとブートが始まる。
bananian-1501でもデフォルトでsshサーバーが動作しているので、
他のPCからsshでアクセスできるが、常用sshクライアントのTera Termでは暗号関係でエラーとなってしまうので、PuTTY 0.63を使用した。
DHCPサーバーで割り当てられるIPでアクセスし
ユーザー名: root
パスワード: pi
とすると以下のように認証される。
Linux bananapi 3.4.104+ #1 SMP PREEMPT Thu Jan 8 15:40:40 CET 2015 armv7l
------------------------------------------------------------------------
Welcome to Bananian Linux!
For news and updates check: https://www.bananian.org
Any questions? Read the FAQ first: https://www.bananian.org/faq
Run 'bananian-config' to set up Bananian Linux
Run 'bananian-update' to check for distribution updates
------------------------------------------------------------------------
最初にIPを固定する。
#vi /etc/network/interfaces
として以下の内容を書き込んだ。
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
# dhcp configuration
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.0.91
netmask 255.255.255.0
gateway 192.168.0.1
# static ip configuration
#iface eth0 inet static
# address 192.168.6.241
# netmask 255.255.255.0
# gateway 192.168.6.1
次にmpd関連のインストールを行う。
# apt-get install mpd mpc
# apt-get install alsa-utils
次にUSB-DACを接続してデバイスをチェックする。
# cat /proc/asound/cards
0 [sunxicodec ]: sunxi-CODEC - sunxi-CODEC
sunxi-CODEC Audio Codec
1 [DAC ]: USB-Audio - USB Audio DAC
Burr-Brown from TI USB Audio DAC at usb-sw-ohci-1, full speed
デバイス関係とmpd.confの設定は上述したRaspbian_For_BananaPi_v1412と同じである。
次に自作NASに接続するため/etc/fstabを編集するが、その前にcif関連のソフトをインストールする必要がある。
# apt-get install cifs-utils
これ以降の作業はRaspbian_For_BananaPi_v1412と同じである。
OSとMPDのバージョンは以下のとおりである。
# uname -a
Linux bananapi 3.4.104+ #1 SMP PREEMPT Thu Jan 8 15:40:40 CET 2015 armv7l GNU/Linux
# mpd -V
mpd (MPD: Music Player Daemon) 0.16.7
USB-DAC
出力に電子電圧計を接続し、1kHz0dBFSのwaveファイルを再生すると1.67Vが得られた。
出力をアンプにつなぎかえると、いつものボリウム位置で問題なく再生できた。
RaspbianでもBananianでもMPDのバージョンは同じなのに、なぜかRaspbianでは出力電圧が低くなってしまった。
ところで、Banana PiにはSATAポートがあるので、自作NASのHDDデータ・ケーブルをBanana PiのSATAポートへ仮接続してみた。
dmesgで確認するとHDDを認識しており、/mntにマウントするとHDDの内容を見られたので、HDDを組み込んだMusic Serverが実現できそうである。
Raspbian_For_BananaPi_v1412で音量が小さいことが釈然としなかったので、ネットで調べたら「Voyage MPDをビットパーフェクトに近い状態に設定する。」という情報がヒットした。
この情報を参考にして設定してみた。
先ず、mpd.confでmixerをdisableとする。
# vi mpd.conf
#mixer_type "hardware"
#
# An example for controlling all mixers through software. This will control
# all controls, even if the mixer is not supported by the device and will not
# affect any other sound producing applications.
#
#mixer_type "software"
#
# This example will not allow MPD to touch the mixer at all and will disable
# all volume controls.
#
mixer_type "disabled"
#
上記のようにmixer_type "hardware"とmixer_type "software"に#が付いていることを確認し、
#mixer_type "disabled"
の頭に付いている#を外す。
次にalsamixerの設定であるが、これにはsshクライアントとしてPuTTY 0.63を使用する。
以下のコマンドで左図のmixer設定画面が起動する。
# alsamixer
この画面でF6を押すとサウンド・カードの選択画面が現れるので
↑↓キーでUSB Audio DACを選択する。
これがUSB Audio DACの音量設定画面であるが、やはり音量はMAXではなかったので↑キーで最大とする。
設定後、リブートしてUSB-DAC
出力に電子電圧計を接続し、1kHz0dBFSのwaveファイルを再生すると無事に1.67Vが得られた。
念のため、Bananianや他のSBCでもalsamixerをチェックしてみたが、デフォルトで最大となっていた。
I2S接続のDACに、HDDやSSDを組み込んだミュージック・サーバーを作ってみたかったので、Banana Pro を購入した。 詳細は「Banana Pro + PCM5102A DAC」でどうぞ。