ショッピングカートを見る
オススメ商品
商品検索

フリーページ
rss atom

BeagleBone Black をミュージックプレーヤーに

旧文書はこちら

B3D シリーズ基板と音楽再生専用 Linux ディストリビューション VolumioArch-BoticlightMPD-botic7 でネットワークミュージックプレーヤーを構築します。ここで紹介する BBB(G) と B3D シリーズ基板の組み合わせは I2S 経由のダイレクト DSD 再生可能な唯一の方法です。

Volumio

言わずと知れた Raspberry Pi で最も利用されている音楽再生専用ディストリビューションの一つです。Linux の知識を必要としないのでコアなオーディオマニアでない方も簡単に PCM はもちろん、ダイレクト DSD 再生が可能なネットワークミュージックプレーヤーを構築できます。

インストール

以下の手順でインストールします。

- ダウンロードページから BEAGLEBONE BLACK 用の zip ファイルをダウンロードします。尚、現在ダウンロードページから BeagleBone Black 版は削除されていますがこちらからダウンロードできます。

- ダウンロードした zip ファイルを展開してできた .img ファイルを Win32DiskImager を使ってマイクロ SD カードに書き込みます。

- マイクロ SD カードの /boot/uEnv.txt の optargs= 行を以下のように書き換えます。尚、この optargs= の行は snd_soc_davinci_mcasp.mute_pin=3 まで一行で記述することに注意してください。または B3D シリーズ基板用の uEnv.txt ファイルをここからダウンロードして上書きしても OK です。

optargs=snd_soc_botic.ext_masterclk=3 snd_soc_botic.serconfig=MM-- snd_soc_botic.dsd_format_switch=3 snd_soc_davinci_mcasp.mute_pin=3

Volumio の起動

BBB と B3D シリーズ基板を取り付け LAN ケーブルとマイクロ SD カードを挿入し BBB の電源をいれます。iTunes がインストールされている PC であれば volumio.local/ とブラウザに入力するか NetEnum や Fing などのネットワークスキャンソフトで BBB の IP アドレスを調べブラウザで直接 IP アドレスを指定すると Volumio のホーム画面が現れます。

volulmio2-01.jpg(25779 byte)

音楽ファイルのコピー

NAS を使用しないで音楽ファイルを Volumio にコピーしネットワークを介さず再生することもできます。

Windows PC のエクスプローラーで Volumio の IP アドレスを \\192.168.***.*** と入力すると Internal Strage フォルダにアクセス可能になりますのでここにファイルをコピーします。

volulmio2-02.jpg(20363 byte)

Volumio の「一覧表示」→「音楽ライブラリ」で INTERNAL フォルダが表示されるようになります。

volulmio2-03.jpg(13755 byte)

Volumio 公式アプリ

Volumio 公式アプリが Android/iPhone 向けにリリースされています。アプリを使えばブラウザを立ち上げることなく Volumio の制御ができるようになります。

volulmio2-05.jpg(15776 byte)


Arch-Botic

Arch-Boticは kick さんが 2017年の頭にリリースされそれ以降バージョンアップされマニアの間で評判となっているディストリビューションの一つです。詳細は本家を参照願います。

インストール

- kick さんのブログで 2017年12月30日に投稿された記事にある arch-botic12312017.img.zip をダウンロードします。

- ダウンロードした zip ファイルを展開してできた .img ファイルを Win32DiskImager を使ってマイクロ SD カードに書き込みます。

Arch-Botic の起動

B3D シリーズ基板の J2 にショートピンを挿入しておきます。

BBB と B3D シリーズ基板を取り付け LAN ケーブルとマイクロ SD カードを挿入し BBB の電源をいれます。そして NetEnum や Fing などのネットワークスキャンソフトで BBB の IP アドレスを調べておきます。

ネットワークの設定

Tera Term などのターミナルソフトでログインします。ログイン ID は root、パスワードは root です。

[root@alarm ~]# nano /etc/systemd/network/eth0.network

として eth0.network を自分の環境に合わせ以下のように書き換えます。

[Match]
Name=eth0

[Network]
#DHCP=yes
Address=192.168.***.***
Gateway=192.168.***.***

書き換え後、ctrl + o で保存し ctrl + x で終了します。

Nas の設定

NAS のディレクトリ \\NAS_IPADDRESS\Nas_dir を Windows 共有サービスの CIFS で Arch-Botic の /music/remote ディレクトリにマウントする場合についての設定をします。

[root@alarm ~]# nano /etc/fstab

として fstab をネットワーク環境に合わせ以下のように書き換えます。//192.168.***.*** で始まる行は 0 0 まで一行で記述することに注意してください。

#
# /etc/fstab: static file system information
#
//192.168.***.***/Nas_dir/Music /music/remote cifs username=USERNAME,password=PASSWORD,sec=ntlm,uid=mpd,file_mode=0666,dir_mode=0766,iocharset=utf8,rsize=130048,wsize=4096,noauto,x-systemd.automount 0 0

書き換え後、ctrl + o で保存し ctrl + x で終了します。

音楽ファイルのコピー

マイクロ SD カードに音楽ファイルをコピーするには WinSCP を使うと良いです。

volulmio2-04.jpg(33392 byte)

右側のウィンドウで右クリックすると新規に internal ディレクトリを作成できます。ドラッグアンドドロップで音楽ファイルをコピーします。

カーネルの変更

Arch-Botic の arch-botic12312017.img は6種類のカーネルが入っています。デフォルトでは Linux4.9.72-bone-rt-r9 となっていますが CIFS に未対応となっていますので CIFS 対応最新版に変更します。selboot コマンドで以下のように変更します。

[root@alarm ~]# selboot rt4973

カーネルが変更されたのを確認します。

[root@alarm ~]# uname -a
Linux alarm 4.9.73-bone-rt-r9 #1 PREEMPT RT Sun Dec 31 00:24:54 JST 2017 armv7l GNU/Linux

lightMPD-botic7

lightMPD-botic7 はデジファイのおとの digififan さんが開発していて、これもマニアの間では評判になっている lightMPD を botic kernel を使って BeagleBone Black で I2S 接続の DAC を使えるようにしたディストリビューションです。詳細は本家を参照願います。尚、ここで紹介する lightMPD-botic7(バイナリ版)は評価版です。これを使用して起きた不具合(ハードが壊れる、異常動作よりこれに接続したオーディオ機器に問題が生じる等)については自己責任でお願いします。

インストール

- デジファイのおとさんの掲示板の「beaglebone用のlightMPD v1.0.3を公開しました」の投稿にある lightMPDbb-v1.0.3.zip をダウンロードします。

- ダウンロードしたアーカイブファイルを FAT32 でフォーマットしたマイクロ SD カードに上に解凍します。

- 「beagleboneのbotic kernel」にあるバイナリ版 lightMPD-botic7-4.9.38.zip をダウンロードします。

- ダウンロードしたアーカイブファイルを先ほど解凍したマイクロ SD カードに解凍します。

設定ファイルの書き換え

マイクロ SD カードのドライブが F とした場合、書き換えるファイルは F:\uEnv.txt、F:\lightMPD\mpd.conf です。

uEnv.txt

カーネルはインストール直後では zImage-xenomai になっていますのでこのカーネルの指定と Botic カーネルオプションの設定そして .dtb ファイルの指定します。fdtfile= で始まる行は optargs = の前に追記し、optargs= の行は snd_soc_davinci_mcasp.mute_pin=3 まで一行で記述することに注意してください。

#
verify=no
#
#kernel_file=/boot/zImage
kernel_file=/boot/zImage-xenomai
initrd_file=/boot/uInitrd
console=ttyO0,115200n8
#
systype=beaglebone
bootdev=/dev/mmcblk0p1
#
ramrootfstype=romfs
ramroot=/dev/ram0 rw ramdisk_size=65536
#
fdtfile=am335x-boneblack-botic.dtb
#
optargs=snd_soc_botic.ext_masterclk=3 snd_soc_botic.serconfig=MM-- snd_soc_botic.dsd_format_switch=3 snd_soc_davinci_mcasp.mute_pin=3
#
loadkernel=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${kernel_file}
loadinitrd=load mmc ${mmcdev}:${mmcpart} ${rdaddr}   ${initrd_file}; setenv initrd_size ${filesize}
loadfdt=load mmc ${mmcdev}:${mmcpart}   ${fdtaddr}   /boot/dtbs/${fdtfile}

setoptargs=setenv optargs ${optargs} lightmpd.systype=${systype} lightmpd.bootdev=${bootdev}
boot_ftd=run loadkernel; run loadinitrd; run loadfdt; run setoptargs

ramboot=echo Booting from ramdisk ...; run ramargs; bootz ${loadaddr} ${rdaddr} ${fdtaddr}
uenvcmd=run boot_ftd; run ramboot

mpd.conf の編集

編集するのは audio_output の部分です。dsd_usb を "no" にし、dsd_native と dsd_native_type を以下のように追加します。

audio_output {
        type            	"alsa"
        name            	"uda"
        device          	"hw:0,0"
        priority        	"FIFO:54"
      	mixer_type      	"disabled"
        dsd_usb         "no"
        dsd_native      "yes"
        dsd_native_type "3"
	buffer_time     	"150000"
	period_time     	"37500"
}

uEnv.txt ファイをここ、mpd.conf ファイルをここからダウンロードして上書きすることも可能です。

lightmpd.conf の編集

自分の環境に合わせたネットワークや NAS の設定はこのファイルで行います。LightMPD-botic7 は基本的には NAS にある音楽ファイルを再生することを前提としていますので NAS の設定は必須になります。

しかし、特に NAS を使っていない場合もあると思いますので、今使っている Windows PC に共有フォルダを作成し NAS に見立てて設定します。ここでは C:\Nas_dir、C:\Nas_dir\Music、C:\Nas_dir\mpd そして C:\Nas_dir\mpd\playlists というフォルダを作成して C:\Nas_dir を共有しています。

ネットワークセクションの設定

lightMPD-botic7 を動かす BBB(G) のネットワークの設定はここに記述します。

[network]
	interface=eth0
	address=192.168.***.***
	netmask=255.255.255.0
	gateway=192.168.***.1
	nameserver=192.168.***.1
	domain=mydomain.jp

NAS セクションの設定

Windows PC のフォルダーを NAS に見立てますので Windows 共有サービスの CIFS を使用します。そのために NAS セクションの NASID1 を無効(行頭に # を追加)にして NASID2 を有効(行頭の # を削除)にします。

host には NAS (今回の場合は Windows 10 PC)のホスト名または IP アドレス、remotedir には NAS の共有フォルダ名、remoteuser にはログインユーザー名、remotepass にはログインパスワードを指定します。そして nas:NASID2 セクションの最終行に sec=ntlm を追加します。

#[nas:NASID1]
#	type=nfs
#	host=nashost1
#	remotedir=audio_data
#	proto=tcp
#	rsize=65536
#	wsize=65536

[nas:NASID2]
	type=cifs
	host=192.168.***.***
	remotedir=Nas_dir
	remoteuser=*******
	remotepass=*******
	iocharset=utf8
       file_mode=0644
       dir_mode=0755
       rsize=61440
       wsize=65536
       sec=ntlm

mpd セクションの設定

NASID2 を有効にしていますのでデフォルトで NASID1 となっているところを NASID2 に変更します。

[mpd]
	load_module=mpd-0.19.21rt-native-dsd
	music_directory=NASID2/Music
	playlist_directory=NASID2/mpd/playlists
	db_file=NASID2/mpd/tag_cache
	sticker_file=NASID2/mpd/sticker.sql
#	log_file=NASID2/mpd/mpd.log
	log_file=/dev/null

lightMPD-botic7 の起動

B3D シリーズ基板の J2 をショートしている場合は外します。J2 はオープンにします。

BBB と B3D シリーズ基板を取り付け LAN ケーブルとマイクロ SD カードを挿入し BBB の電源をいれます。


音楽ファイルの再生

Volumio 以外のディストリビューションは音楽ファイルの再生に MPD クライアントが必要になります。MPD クライアントにはアルバムカバーアート表示や TuneIn 等がビルトインされた高機能な Cantata や曲の選択、プレイリストの編集、再生操作だけの必要十分な設計の SkyMPC 等があります。

ここではスッキリとした画面、操作性の SkyMPC を紹介しています。BBB(G) の IP アドレスを指定して接続すれば左側にライブラリーがファイルのツリー構造で表示されますので、聴きたい曲を右側のプレイリストにドラッグアンドドロップします。後は曲を選曲してプレイボタンをクリックですね。

skympc480.jpg(38656 byte)

DSD サンプルファイル

DSD の良さを知るにはやはり自分で聴いてみることが最善の方法です。そして DSD を体験する最善の方法は無料の DSD オーディオサンプルを入手することです。ここここから無料で同じ楽曲の PCM フォーマットと DSD フォーマットファイルを入手することができます。