メモリ再生(7)~Tiny Coreを使ってみる。

敷居は高いがカスタマイズできる楽しさがある「Tiny Core」

「lightmpd」の最大のポイントは全てがメモリ上で完結するところにあります。私が試してみた「メモリ再生」は、その最大の利点を上手く活用した再生方法です。
しかし、世間は広くて、「lightmpd」以外にもメモリ上で操作するOSがあります。それが「Tiny Core」です。

「lightpd」は「MPD」だけを動作させることに特化したブラックボックス的な仕様だとすれば、「Tiny Core」は多様な目的に使えるオープンな仕様となっています。ですから、開発陣にしてみれば、これが音楽再生に特化したボード上で動作させられることはあまり想定していないようです。
その面で言えば使い勝手の悪さは否めません。
しかし、多用途に使えるということは、音楽再生という面から眺めてみれば「カスタマイズ」出来るということであり、それは「趣味性」にもつながります。

「lightmpd」はとても簡単に音出しが可能ですが、「Tiny Core」の場合は「山あり谷あり」の難コースです。
しかし、その難コースを乗り越えて出てきた音は、これまた不思議なことに、「lightmpd」の割り切った「男前」の音とは違う「濃厚」さを持っています。
この辺りが実に不思議な話で、システム全体で言えば、「APU」に組み込んだOSが違うだけなのですが、それでいて、これだけ「音」に違いが出るという辺りに「デジタルの摩訶不思議」が潜んでいます。

ただし、その難コースをいきなり多くの人にお勧めするのは始めてスキーの板をはく人を山の天辺に連れて行くようなものですから、まずは敷居を低くしてイメージファイルを配布しておきます。
「lightmpd」と違って汎用性がありますからどのボードでも起動すると思うのですが、取りあえず「APU」では間違いなく起動します。

Tiny Core7.0_MPD-MINIMAL

取りあえず以下のように設定していますので、「SSH」でログインして以下の部分を自分の環境に合わせて変更してください。

  • IPアドレス:「192.168.0.25」
  • ユーザー:tc
  • パスワード:admin

変更するのは「/opt/bootlocal.sh」の太字の部分だけです。

tc@box:~$ vi /opt/bootlocal.sh

#!/bin/sh
# put other system startup commands here
/usr/local/etc/init.d/openssh start
pkill udhcpc
ifconfig eth0 192.168.0.25 netmask 255.255.255.0 broadcast 192.168.0.255 up
route add default gw 192.168.0.1
echo nameserver 192.168.0.1 > /etc/resolv.conf

/usr/local/etc/init.d/nfs-client start
mkdir /music
mkdir /media
chown tc:staff /media
#mount -t nfs -o rsize=8192,wsize=4096 192.168.0.100:/NAS/classic /music

sleep 1
mpd /home/tc/mpd.conf

「192.168.0.100:/NAS/classic」の部分を自分の環境に合わせてください。
当然のことですが、この部分を質問されても私には分かりません。自力でお願いします。(^^v

見てもらえば分かるように、「NAS」を「music」にマウントしています。
それから、絶対に忘れてはいけないのが、何か操作をして「終了」もしくは「再起動」するときはバックアップをとらないといけないと言うことです。「Tiny Core」は全てメモリ上で動作をしているので、このバックアップを忘れると変更した作業が全て消えてしまいます。

tc@box:~$ filetool.sh -b

これはまさに「魔法の呪文」なので、「Tiny Core」を使っているときは、最後に必ず唱えましょう。これで、今までの変更作業がバックアップされますので、安心して再起動します。

tc@box:~$ sudo reboot
tc@box:~$ ls /music

として、NASの中味が表示されれば成功です。
そして、マウントができていればおそらく「MPD」も自動的に起動しているはずです。

「MPD」の設定は以下の通りです。

tc@box:~$ vi mpd.conf

music_directory “/media”
#music_directory “/home/tc/.mpd/music”
db_file “/media/database”
#db_file “/home/tc/.mpd/database”
playlist_directory “/home/tc/.mpd/music/playlists”
log_file “/home/tc/.mpd/log”
pid_file “/home/tc/.mpd/pid”
state_file “/home/tc/.mpd/state”
sticker_file “/home/tc/.mpd/sticker.sql”

port “6600”
follow_outside_symlinks “yes”
follow_inside_symlinks “yes”
zeroconf_enabled “yes”

audio_output {
type “alsa”
name “My ALSA Device”
device “hw:0,0” # optional
#format “88400:24:2”
}

audio_buffer_size “4096”
buffer_before_play “50%”
filesystem_charset “UTF-8”
#LIBSAMPLERATE
#samplerate_converter “Best Sinc interpolato”

基本的な設定は「メモリ再生」を前提としていますので、

music_directory “/media”
#music_directory “/home/tc/.mpd/music”
playlist_directory “/home/tc/.mpd/music/playlists”
#db_file “/home/tc/.mpd/database”

となっています。
「cp」コマンドで「/music」から「/media」にコピーしてもらえばクライアントソフトから再生が可能になるはずです。

もしも、通常の再生を望むならば以下のように変更してください。

#music_directory “/media”
music_directory “/home/tc/.mpd/music”
playlist_directory “/home/tc/.mpd/music/playlists”
#db_file “/home/tc/.mpd/database”

おそらく起動時に「MPD」は「NAS」を走査して「database」を作り始めるはずです。
少し時間がかかると思うのですが、走査が終わったと思われたら以下のコマンドで「database」が作成されていることを確認してください。

tc@box:~$ ls /home/tc/.mpd
database log music pid sticker.sql

そして、最後に

tc@box:~$ filetool.sh -b

を、お忘れなく!!
これを忘れると。またまた「database」は消えてしまいますので、再起動すると再び「MPD」は最初から走査し始めます。

うーん、こうやって書いていると、これだけでも十分に敷居が高いような・・・。(^^;