lightMPD-botic7 を聴く
Arch-Botic に引き続き昨年リリースされた BBB(G) I2S で再生できるディストリビューションの一つである lightMPD-botic7 を聴いてみます。
インストールや設定ファイルについて重複する内容も多いですが「lightMPD を使ってみる」も参照願います。また、インストールはバイナリ版で行いますがこのバイナリ版はあくまで評価用ということですので自己責任で。個人的には正式版をリリースしてもらってバージョンアップ等していただけたらなと思います。
BBB(G) + B3D-A4495S + lightMPD-Botic7 の組み合わせを前提に記載しますが、LINUXCOM ネットショップで頒布している BBB ブリッジ基板や他の B3D シリーズの基板については全て対象になります。
lightMPD-botic7 のインストール
はじめにデジファイのおとさんの掲示板の「beaglebone用のlightMPD v1.0.3を公開しました」の投稿にある lightMPDbb-v1.0.3.zip をダウンロードします。
ダウンロードしたアーカイブファイルを FAT32 でフォーマットしたマイクロ SD カードに上に解凍します。
次に「beagleboneのbotic kernel」にあるバイナリ版 lightMPD-botic7-4.9.38.zip をダウンロードします。
そしてダウンロードしたアーカイブファイルを先ほど解凍したマイクロ SD カードに解凍します。
次に設定ファイルの編集をします。
BBB + B3D-A449x 用に設定ファイルを編集
B3B-A4495S 基板は PCM 再生はもちろんですがダイレクト DSD 再生も可能ですのでそれに合わせて設定ファイルを書き換えます。書き換えるファイルは uEnv.txt、mpd.confです。
uEnv.txt の編集
カーネルはインストール直後では zImage-xenomai になっていますのでこのカーネルの指定と Botic カーネルオプションの設定そして .dtb ファイルの指定します。fdtfile= で始まる行は optargs = の前に追記し、optargs= の行は snd_soc_botic.dsd_format_switch=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
#
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"
}
lightmpd.conf の編集
自分の環境に合わせたネットワークや 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 の起動
BBB(G) にマイクロ SD カードを挿入して電源をいれますが、B3D-A4495S 基板の J2 にショートピンを挿入している場合は外してください。Arch-Botic では J2 にショートピンを挿入しないと SD カードから起動しませんが lightMPD-botic は挿入していると起動しません。
この辺の理由はよくわかりませんがそのようです。:-(
音出し
MPD クライアントは SkyMPC を使いました。
SkyMPC はアルバムアートの表示機能などはありませんが曲の選択、プレイリストの編集、再生操作だけの必要十分な設計になっています。

そして音ですが、やはり Botic7 に比べるとより解像度が上がって繊細な印象があります。そして心地良い音ですね。
