梅雨入りバージョンの MPD on Cubox(以下、MoCB)のデフォルトカーネルは、3.8.4-CFQだそうです。 rootfsのデフォルトは arch linuxという奴らしく、Debianではありません。 mpdは0.17.4 stableがデフォルトです。
CuBoxの前面には赤いLEDランプがありますが、MoCBがブートシーケンスに入ると点滅します。
起動が完了してもずっと点滅しているのですが、普通「点滅」というのは「途中」を表すことが多いので、ちょっと面食らいます。 とりあえず気にしないことにしましょう。
MoCBの有線LANは、デフォルトでDHCPの設定になっています。 最初、RaspyFiのノリで、ブラウザから CuBoxと思しきIPアドレスにアクセスしたのですが、どれもアクセス出来ないと言われてしまいます。
LANケーブルを抜き差しして、ルーターのIPv4払い出しテーブルでIPアドレスを特定したのですが、それでもアクセス出来ません。
ここでようやく気がついて、TeraTermからSSHでアクセスしたら無事につながりました。 Webサーバーは動かしていないのですね。
ということで、設定はSSHで入って行うことになります。
まず何はともあれIPアドレスの固定化をします。
[root@cubox ~]# vi /etc/network.d/ethernet-eth0
(略)
[root@cubox ~]# cat /etc/network.d/ethernet-eth0
#CONNECTION='ethernet'
#DESCRIPTION='A basic dhcp ethernet connection using iproute'
#INTERFACE='eth0'
#IP='dhcp'
## for DHCPv6
#IP6='dhcp'
## for IPv6 autoconfiguration
#IP6='stateless'
## Change for static
CONNECTION='ethernet'
DESCRIPTION='A basic static ethernet connection using iproute'
INTERFACE='eth0'
IP='static'
ADDR='192.168.1.xxx'
#ROUTES=('192.168.0.0/24 via 192.168.1.2')
GATEWAY='192.168.1.1'
DNS=('192.168.1.1')
## For IPv6 autoconfiguration
#IP6=stateless
## For IPv6 static address configuration
#IP6='static'
#ADDR6=('1234:5678:9abc:def::1/64' '1234:3456::123/96')
#ROUTES6=('abcd::1234')
#GATEWAY6='1234:0:123::abcd'
さらに /etc/hostsを編集します。
[root@cubox ~]# vi /etc/hosts
(略)
[root@cubox ~]# cat /etc/hosts
#
# /etc/hosts: static lookup table for host names
#
#<ip-address> <hostname.domain.org> <hostname>
127.0.0.1 localhost cubox
#127.0.1.1 cubox
ここで一旦再起動をかけて、指定したIPアドレスで接続できているか確認します。
OKならNASをマウントするために /etc/fstabを編集します。
[root@cubox ~]# mkdir /music
[root@cubox ~]# vi /etc/fstab
(略)
[root@cubox ~]# cat /etc/fstab
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
//192.168.1.yyy/share2/iTunes /music cifs guest,sec=ntlm,uid=root,
file_mode=0666,dir_mode=0766,iocharset=utf8,rsize=130048,wsize=4096 0 0
#debian:/public/CD /music nfs rsize=130048,wsize=4096 0 0
マウントできるか確認します。
[root@cubox music]# mount -a
(略)
[root@cubox music]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 1799120 857380 850348 51% /
devtmpfs 450780 0 450780 0% /dev
tmpfs 516392 0 516392 0% /dev/shm
tmpfs 516392 236 516156 1% /run
tmpfs 516392 3824 512568 1% /tmp
//192.168.1.yyy/share2/iTunes 1953030496 1035951328 917079168 54% /music
/dev/mmcblk0p1 119987 44739 69053 40% /media
mpdが認識するディレクトリへシンボリックリンクを張ります。
[root@cubox ~]# ln -s /music /var/lib/mpd/music/music
mpdをリスタートさせてみましょう。 梅雨入りバージョンから、ちょっと特殊な方法になっています。
[root@cubox ~]# selmpd
/etc/mpd.confを確認すると、データベースの自動アップデートがOffになっています。
[root@cubox ~]# cat /etc/mpd.conf
realtime_option {
memlock "yes"
stack_reserve "4096"
heap_reserve "10240"
main_priority "OTHER:0"
player_priority "FIFO:52"
decoder_priority "FIFO:49"
update_priority "OTHER:0"
}
decoder {
plugin "dsdiff"
enabled "yes" # DSD native
}
decoder {
plugin "dsdiff_native"
enabled "yes"
dsdsampleformat "24"
tagsupport "id3v1_encoding"
}
# An example of an ALSA output:
#
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional
# format "44100:16:2" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
# use_mmpa "yes"
# buffer_time "2900000"
# period_time "1400000"
priority "FIFO:54"
dsd_usb "yes"
}
#
#audio_buffer_size "16368"
#audio_buffer_size "8184"
audio_buffer_size "4092"
buffer_before_play "98%"
#buffer_before_play "95%"
# An example configuration file for MPD
# See the mpd.conf man page for a more detailed description of each parameter.
# Files and directories #######################################################
#
# This setting controls the top directory which MPD will search to discover the
# available audio files and add them to the daemon's online database. This
# setting defaults to the XDG directory, otherwise the music directory will be
# be disabled and audio files will only be accepted over ipc socket (using
# file:// protocol) or streaming files over an accepted protocol.
#
music_directory "/var/lib/mpd/music"
#
# This setting sets the MPD internal playlist directory. The purpose of this
# directory is storage for playlists created by MPD. The server will use
# playlist files not created by the server but only if they are in the MPD
# format. This setting defaults to playlist saving being disabled.
#
playlist_directory "/var/lib/mpd/playlists"
(中略)
# This setting enables automatic update of MPD's database when files in
# music_directory are changed.
#
#auto_update "yes"
#
# Limit the depth of the directories being watched, 0 means only watch
# the music directory itself. There is no limit by default.
#
#auto_update_depth "3"
#
###############################################################################
(以下、略)
手動でアップデートする場合は、
[root@cubox ~]# mpc update
でOKです。
ただし、MoCBのアップデートはもの凄く遅いです。 18,000曲をデータベースに追加するのに、約13時間掛かりました。
[root@cubox ~]# more /tmp/mpd/mpd.log
Oct 27 12:07 : config: option 'enabled' on line 19 was not recognized
Oct 27 12:07 : config: option 'dsdsampleformat' on line 20 was not recognized
Oct 27 12:07 : config: option 'tagsupport' on line 21 was not recognized
Oct 27 12:07 : avahi: Service 'Music Player' successfully established.
Home directory not accessible: Permission denied
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
Oct 27 12:14 : mixer: Failed to read mixer for 'My ALSA Device': failed to attach to default: Connection refused
Oct 27 12:14 : client: No such playlist
Oct 27 12:14 : client: No such playlist
Oct 27 12:21 : client: No such playlist
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: stream 0, timescale not set
Oct 27 12:28 : ffmpeg/mjpeg: mjpeg: unsupported coding type (c9)
Oct 27 12:28 : ffmpeg/mjpeg: Found EOI before any SOF, ignoring
Oct 27 12:28 : ffmpeg/mjpeg: dqt: invalid precision
Oct 27 12:28 : ffmpeg/mjpeg: only 8 bits/component accepted
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: max_analyze_duration 5000000 reac
hed at 5015510 microseconds
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: decoding for stream 1 failed
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: Could not find codec parameters for stream 1 (Video: mjpeg): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Oct 27 12:28 : added music/Lil' Kim/Hard Core/1-10 Dreams.m4a
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: stream 0, timescale not set
Oct 27 12:28 : ffmpeg/mjpeg: mjpeg: unsupported coding type (c9)
Oct 27 12:28 : ffmpeg/mjpeg: Found EOI before any SOF, ignoring
Oct 27 12:28 : ffmpeg/mjpeg: dqt: invalid precision
Oct 27 12:28 : ffmpeg/mjpeg: only 8 bits/component accepted
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: max_analyze_duration 5000000 reac
hed at 5015510 microseconds
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: decoding for stream 1 failed
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: Could not find codec parameters f
or stream 1 (Video: mjpeg): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Oct 27 12:28 : added music/Lil' Kim/Hard Core/1-15 ____ You.m4a
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: stream 0, timescale not set
Oct 27 12:28 : ffmpeg/mjpeg: mjpeg: unsupported coding type (c9)
Oct 27 12:28 : ffmpeg/mjpeg: Found EOI before any SOF, ignoring
Oct 27 12:28 : ffmpeg/mjpeg: dqt: invalid precision
Oct 27 12:28 : ffmpeg/mjpeg: only 8 bits/component accepted
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: max_analyze_duration 5000000 reac
hed at 5015510 microseconds
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: decoding for stream 1 failed
Oct 27 12:28 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: Could not find codec parameters for stream 1 (Video: mjpeg): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
(中略)
Oct 28 01:27 : added music/Corduroy/Dad Man Cat/03 The Girl Who Was Death.m4a
Oct 28 01:27 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: stream 0, timescale not set
Oct 28 01:27 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: max_analyze_duration 5000000 reached at 5015510 microseconds
Oct 28 01:27 : added music/Corduroy/Dad Man Cat/06 Electric Soup.m4a
Oct 28 01:27 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: stream 0, timescale not set
Oct 28 01:27 : ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: max_analyze_duration 5000000 reached at 5015510 microseconds
Oct 28 01:27 : added music/Corduroy/Dad Man Cat/04 How To Steal The World.m4a
[root@cubox ~]#
RaspyFiでは3時間掛からなかったと思うのですが、なんででしょうね? H/W的にはRasberry Piより CuBoxの方が性能が高いハズなんですが、リアルタイムOSの悪影響でしょうか? 起動/終了に掛かる時間ももっさりしているし...
ただこれはNAS(nasneの外付けHDD)の調子が悪かったせいかもしれません。 もうちょっと様子をみたいと思います。
RaspyFi 1.0も完成度は誉められたレベルではありませんでしたが、MoCBはいろんな意味でアマチュアっぽいディストリビューションですね。 いろいろ弄ってチューニングしたい人には、それもまた魅力なのかもしれません。
音質については、また改めて評価したいと思います。