abk1's scratched blog 3::AUDIO DIARY

コメントへの書き込み機能は停止していますので宜しくおねがいします。
Page 12 / 14 :  « ‹ Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Next › »

Sep 28, 2015

Volumioのカーネルをバージョンアップしてみる(追記あり、さらに追記あり)

意味があるのかどうかは不明。以下に記録。

root@volumio:~# uname -r
3.18.5+
root@volumio:~# sudo rpi-update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 10206  100 10206    0     0  20820      0 --:--:-- --:--:-- --:--:-- 30648
 *** Relaunching after update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
#############################################################
This update bumps to rpi-4.1.y linux tree
Be aware there could be compatibility issues with some drivers
Discussion here:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=113753
##############################################################
 *** Downloading specific firmware revision (this will take a few minutes)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   168    0   168    0     0    166      0 --:--:--  0:00:01 --:--:--   234
100 48.0M  100 48.0M    0     0   113k      0  0:07:14  0:07:14 --:--:--  109k
 *** Updating firmware
 *** Updating kernel modules
 *** depmod 4.1.7+
 *** depmod 4.1.7-v7+
 *** Updating VideoCore libraries
 *** Using HardFP libraries
 *** Updating SDK
 *** Running ldconfig
 *** Storing current firmware revision
 *** Deleting downloaded files
 *** Syncing changes to disk
 *** If no errors appeared, your firmware was successfully updated to 7ee23ac1452ad57dcc0ef2c1f074060b4bd9338d
 *** A reboot is needed to activate the new firmware
root@volumio:~# reboot

root@volumio:~# uname -r
4.1.7+

以前、apt-get update、apt-get upgrade を試みたら動かなくなったことがあったので今回はどうかと思っていたが、今のところ、アップデート前と変わらない感じで使用出来ている。
音がスムーズになったような気がするが、たぶん気のせいだ。

10月4日追記。
うちは今、カーネルv4.1.7+、8+、9+のvolumioが混在した状況。
HiFiBerry Digi+がv4.1.7+、v4.1.9+、RBD-02+がv4.1.8+、ともに再生自体に不具合は生じていない。
ちょっと気付いたこととして、Digi+が付いてる奴のカーネルをv3.18.5+からバージョンアップしたら、音声ファイル再生をしていない時はデジタル信号を出力しないようになったらしい。というのは、v3.18.5+だったときは、再生していない時でもFireface-UCXのインジケータが点いていたけど、v4.1.7+、9+では再生していないときは消えている。

そもそも再生していない時に何を出力していたんだろうというのは今更な疑問だけど。
再生してない時に無音の信号が出っぱなしのほうが、再生環境によってはトラブルなく再生できるという話をどこかで読んだことがあるような無いような感じだけど、もしかしたらもとのv3.18.5+のvolumio1.55はそこらあたりを配慮してたのかもしれない。

もうひとつ、カーネルバージョンアップで音が出なくなることがあるらしい、ということでメモ。
下記のサイトで報告あり。
volumio1.55 ほーりーさん版のJessie化 : 新大陸への誘い
http://tackbon.ldblog.jp/archives/52383384.html
PCで音楽: Raspbian JESSIEへアップグレード
http://asoyaji.blogspot.jp/2015/10/rasbianjessie.html
Raspberry Pi - View topic - I2C, SPI, I2S, LIRC, PPS, stopped working? Read this.
https://www.raspberrypi.org/forums/viewtopic.php?t=97314

何でうちでは起きないんだろう、とか思ってたんだけど、たった今気付いたけど、ほーりーさん版だと起きるのかもしれない。うちのvolumioはvolumioのサイトから落としたままのものだ。ほーりーさん版は試したけど、うちではDigi+から音を出せなかったので使っていなかった。
音が出なくなった場合の対策が、上記リンクのサイトに書いてある。

10月10日、追記。
改めて、i2sDACのほうでほーりーさん版を鳴らしてみた。
i2sDDCだと鳴らせなかったが、DACだと簡単に鳴る。音は一皮むける感じがする。なるほどと思った。
これをカーネルバージョンアップしてみたら、v4.1.10+になった。たしかに音が出なくなる。
上記サイトの書いてあるとおり、/boot/config.txt に下記を追加。
dtparam=i2s=on
dtoverlay=hifiberry-dac
これでリブートしたら音が出る。ちなみにカーネルバージョンアップ前に書き加えていても問題ないようだ。

気付いたことがあるんだけど、i2sDACから音を出すとras piの赤いLEDが消えてしまう。音は問題なく出ているようだ。
これはカーネルとかvolumioの種類は関係ないみたい。
i2sDDCだとLEDは点灯したままだ。他のi2sDACだと違うのかもしれないが、持ってないので不明だ。

年が明けて2016年2月4日追記。
書き忘れていたんだけどi2sDACは、その後、程なくして壊れてしまったようだ。
DACとして認識されなくなった。
volumioを入れ替えても同じである。

思えば、ras piの赤LEDが消えていたのは前兆だったのかもしれない。あいまいな記憶だけど、もともと点いていたと思うのだ。

本当に壊れたのか、再確認しなくてはと思うまま放置している。
そういうわけで、現在うちで動いているvolumioは2台になっている。ともにDigi+で運用している。

2月11日追記。
結局、壊れてはいなかった。今日、volumio1.55で普通に動くのを確認した。
赤いLEDも普通に点灯している。

ただ、今更メインシステムに戻すのもなんだか無駄な感じだ。なにか、他に使い道はないだろうかと考えているところだ。

Posted at 23:47 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

Sep 08, 2015

Volumio 1.55 をいじってみる

ちょっとこれは問題あるかもということに気付いたので、エントリの最後に追記した。

備忘録として。

sshでログインした時に表示されるアスキーアート(?)は編集できる。
/etc/motd を書き換えればいい。
うちでは3つのvolumioが動いていてsshでログインするので区別がつくほうがいい。

コマンドプロンプトにはデフォルトで「volumio」が表示されている。
これはウェブブラウザからのアクセス画面:systemで設定できるplayer nameがそのまま表示されているんだけど、これはネットワーク上のホスト名と同一なので、実はASCII文字のaからzまでと0から9の数字とハイフンしか使えないらしい。アンダーバーとか使った日にはsshでログインすると(none)と表示される。

これをsshからログインして変更してみる。
VolumioのベースはRaspbianで、RaspbianのベースはDebianだから、Debianでどうやるんだろうってとこで調べたら、/etc/hostnameの変更と、/etc/hostsの変更というのが引っかかってくる。
Vine Linuxとはやり方が違う。

sudo vi /etc/hostname

volumioとだけ書いてあるので書き換える。rootじゃ出来なくてsudoじゃないといけない。

sudo vi /etc/hosts

127.0.0.1       localhost
127.0.1.1       volumio

これもvolumioとあるのを変更。リブートで反映される。
と思ったら、反映されるのはsshでログインした場合のみで、ウェブブラウザからアクセスしたときのplayer nameは変わっていない。他で記憶されてるらしい。
ウェブブラウザからのアクセスは普段使わないのでよしとする。

さて、次。
sshでログインして、pstree -acp とコマンドを打つと以下のような表示が出る。

root@volumio:~# pstree -acp
init,1  
  ├─avahi-daemon,1912
  │   └─avahi-daemon,1913
  ├─dbus-daemon,1878 --system
  ├─login,2358 -f    tty1
  │   └─bash,2359
  ├─monit,2301 -c /etc/monit/monitrc
  ├─mpd,1972 /etc/mpd.conf
  │   ├─{mpd},1973
  │   ├─{mpd},1974
  │   ├─{mpd},1975
  │   └─{mpd},1976
  ├─nginx,2322
  │   └─nginx,2323
  ├─nmbd,2091 -D
  ├─php5-fpm,2036      
  │   ├─php5-fpm,2037                                     
  │   ├─php5-fpm,2038                                     
  │   ├─php5-fpm,2039                                     
  │   ├─php5-fpm,2040                                     
  │   └─php5-fpm,2041                                          
  ├─player_wdog.sh,2328 /var/www/command/player_wdog.sh startup
  │   └─sleep,2661 10
  ├─player_wrk.php,2365 /var/www/command/player_wrk.php
  ├─rpc.idmapd,1572
  ├─rpc.statd,1560
  ├─rpcbind,1529 -w
  ├─smbd,2159 -D
  │   └─smbd,2170 -D
  ├─sshd,2223
  │   └─sshd,2636 
  │       └─bash,2641
  │           └─pstree,2662 -acp
  ├─udevd,158 --daemon
  │   ├─udevd,272 --daemon
  │   └─udevd,282 --daemon
  └─winbindd,2271
      └─winbindd,2292

とりあえず、いらないっぽいプロセスをkillしてみようということで、avahi-daemon、winbindd、smbd、nmbd、player_wdog.sh、player_wrk.php、nginx、php5-fpm、monit、udevd、と止めてみているが、音はちゃんと出ているようだ。
以下のような感じにシェイプアップされる。

root@volumio:~# pstree -asp
init,1  
  ├─dbus-daemon,1880 --system
  ├─login,2361 -f    tty1
  │   └─bash,2362
  ├─mpd,1975 /etc/mpd.conf
  │   ├─{mpd},1976
  │   ├─{mpd},1977
  │   ├─{mpd},1978
  │   └─{mpd},1979
  ├─rpc.idmapd,1575
  ├─rpc.statd,1563
  ├─rpcbind,1532 -w
  └─sshd,2224
      └─sshd,2487 
          └─bash,2489
              └─pstree,2513 -asp

音が良くなったかというと、はっきりしない。
大して比較してないからはっきりしなくて当たり前なんだけど。しかし、なんか良くなってるという感じはする。音の鮮度が上がっているような。デジタルで音が良くなるっていうのは大抵そんな感じだ。

いちいちこれをコマンド打ってやるのも一興なんだけど、この際なのでlinuxの起動過程をいじって設定してみることにした。
/etc/inittabによると、/etc/rc2.dと/etc/rcS.dを起動時に読んでるらしい。

root@volumio:~# ls /etc/rc2.d | less

total 12
drwxr-xr-x   2 root root 4096 Jul 16 07:00 .
drwxr-xr-x 100 root root 4096 Jul 16 06:58 ..
lrwxrwxrwx   1 root root   18 Jul 25  2013 K02plymouth -> ../init.d/plymouth
lrwxrwxrwx   1 root root   17 Jul 25  2013 K05rsyslog -> ../init.d/rsyslog
-rw-r--r--   1 root root  677 Jul 15  2013 README
lrwxrwxrwx   1 root root   18 May 17  2013 S01bootlogs -> ../init.d/bootlogs
lrwxrwxrwx   1 root root   14 May 17  2013 S01motd -> ../init.d/motd
lrwxrwxrwx   1 root root   15 Oct 28  2014 S01samba -> ../init.d/samba
lrwxrwxrwx   1 root root   22 Apr  9  2014 S01transientlog -> ../init.d/transientlog
lrwxrwxrwx   1 root root   17 May 17  2013 S13rpcbind -> ../init.d/rpcbind
lrwxrwxrwx   1 root root   20 May 17  2013 S14nfs-common -> ../init.d/nfs-common
lrwxrwxrwx   1 root root   13 May 18  2013 S16atd -> ../init.d/atd
lrwxrwxrwx   1 root root   14 May 18  2013 S16dbus -> ../init.d/dbus
lrwxrwxrwx   1 root root   18 Jul 30  2013 S16dropbear -> ../init.d/dropbear
lrwxrwxrwx   1 root root   15 May 18  2013 S16exim4 -> ../init.d/exim4
lrwxrwxrwx   1 root root   14 Oct 28  2014 S16nmbd -> ../init.d/nmbd
lrwxrwxrwx   1 root root   13 May 18  2013 S16ntp -> ../init.d/ntp
lrwxrwxrwx   1 root root   18 May 17  2013 S16php5-fpm -> ../init.d/php5-fpm
lrwxrwxrwx   1 root root   21 Oct 28  2014 S16samba-ad-dc -> ../init.d/samba-ad-dc
lrwxrwxrwx   1 root root   13 May 18  2013 S16ssh -> ../init.d/ssh
lrwxrwxrwx   1 root root   14 May 17  2013 S16sudo -> ../init.d/sudo
lrwxrwxrwx   1 root root   22 May 17  2013 S16triggerhappy -> ../init.d/triggerhappy
lrwxrwxrwx   1 root root   17 Oct 28  2014 S16winbind -> ../init.d/winbind
lrwxrwxrwx   1 root root   22 May 18  2013 S17avahi-daemon -> ../init.d/avahi-daemon
lrwxrwxrwx   1 root root   14 May 18  2013 S17cron -> ../init.d/cron
lrwxrwxrwx   1 root root   15 Oct  9  2014 S17rsync -> ../init.d/rsync
lrwxrwxrwx   1 root root   14 Oct 28  2014 S17smbd -> ../init.d/smbd
lrwxrwxrwx   1 root root   14 May 18  2013 S17wicd -> ../init.d/wicd
lrwxrwxrwx   1 root root   13 Oct  9  2014 S18mpd -> ../init.d/mpd
lrwxrwxrwx   1 root root   15 Oct 28  2014 S19monit -> ../init.d/monit
lrwxrwxrwx   1 root root   16 Oct 28  2014 S19myruns -> ../init.d/myruns
lrwxrwxrwx   1 root root   18 Oct 28  2014 S19rc.local -> ../init.d/rc.local
lrwxrwxrwx   1 root root   19 Oct 28  2014 S19rmnologin -> ../init.d/rmnologin
(END)

root@volumio:~# ls -al /etc/rcS.d | less

total 12
drwxr-xr-x   2 root root 4096 Jul 16 07:00 .
drwxr-xr-x 100 root root 4096 Jul 16 06:58 ..
lrwxrwxrwx   1 root root   22 May 18  2013 K81plymouth-log -> ../init.d/plymouth-log
lrwxrwxrwx   1 root root   20 May 18  2013 K81x11-common -> ../init.d/x11-common
-rw-r--r--   1 root root  447 Oct 16  2012 README
lrwxrwxrwx   1 root root   22 May 17  2013 S01fake-hwclock -> ../init.d/fake-hwclock
lrwxrwxrwx   1 root root   21 May 17  2013 S01hostname.sh -> ../init.d/hostname.sh
lrwxrwxrwx   1 root root   24 May 17  2013 S01mountkernfs.sh -> ../init.d/mountkernfs.sh
lrwxrwxrwx   1 root root   14 May 17  2013 S02udev -> ../init.d/udev
lrwxrwxrwx   1 root root   24 May 17  2013 S03keyboard-setup -> ../init.d/keyboard-setup
lrwxrwxrwx   1 root root   26 May 17  2013 S04mountdevsubfs.sh -> ../init.d/mountdevsubfs.sh
lrwxrwxrwx   1 root root   20 May 17  2013 S05hwclock.sh -> ../init.d/hwclock.sh
lrwxrwxrwx   1 root root   22 May 17  2013 S06checkroot.sh -> ../init.d/checkroot.sh
lrwxrwxrwx   1 root root   32 May 17  2013 S07checkroot-bootclean.sh -> ../init.d/checkroot-bootclean.sh
lrwxrwxrwx   1 root root   14 May 17  2013 S07kmod -> ../init.d/kmod
lrwxrwxrwx   1 root root   17 May 17  2013 S07mtab.sh -> ../init.d/mtab.sh
lrwxrwxrwx   1 root root   20 May 17  2013 S08checkfs.sh -> ../init.d/checkfs.sh
lrwxrwxrwx   1 root root   21 May 17  2013 S09mountall.sh -> ../init.d/mountall.sh
lrwxrwxrwx   1 root root   31 May 17  2013 S10mountall-bootclean.sh -> ../init.d/mountall-bootclean.sh
lrwxrwxrwx   1 root root   16 May 17  2013 S11procps -> ../init.d/procps
lrwxrwxrwx   1 root root   19 May 17  2013 S11udev-mtab -> ../init.d/udev-mtab
lrwxrwxrwx   1 root root   17 May 17  2013 S11urandom -> ../init.d/urandom
lrwxrwxrwx   1 root root   20 May 17  2013 S12networking -> ../init.d/networking
lrwxrwxrwx   1 root root   17 May 17  2013 S13rpcbind -> ../init.d/rpcbind
lrwxrwxrwx   1 root root   20 May 17  2013 S14nfs-common -> ../init.d/nfs-common
lrwxrwxrwx   1 root root   21 May 17  2013 S15mountnfs.sh -> ../init.d/mountnfs.sh
lrwxrwxrwx   1 root root   31 May 17  2013 S16mountnfs-bootclean.sh -> ../init.d/mountnfs-bootclean.sh
lrwxrwxrwx   1 root root   13 May 17  2013 S17kbd -> ../init.d/kbd
lrwxrwxrwx   1 root root   23 May 17  2013 S18console-setup -> ../init.d/console-setup
lrwxrwxrwx   1 root root   20 May 18  2013 S19alsa-utils -> ../init.d/alsa-utils
lrwxrwxrwx   1 root root   21 May 17  2013 S19bootmisc.sh -> ../init.d/bootmisc.sh
(END)

とりあえず、デフォルトの起動過程が終了したあとに要らないプロセスを止める方向でやってみる。
最初から起動させない手もあるが、それでvolumioに不具合があっても困ると思って。

rcS.dの中で止めれそうなのはS02udevだけっぽい。
udevにシンボリックリンクを張りリネームする。
[root@localhost rcS.d]# ln -s ../init.d/udev K82udev

これでK82udevがudevdを止めてくれるはずと考えたが上手くいかない。これだとudevdは止まらないようだ。
rc2.dのS17avahi-daemonでも試したが、同じ。
止めたいものは最初から止めておくしかないっぽい。しかしudevは/devを管理するデーモンなので、起動後にNASをマウントする都合上、問題がありそうな気がする。、、もう、止めなくてもいいか、、。

rc2.dのほうは最初から止めてもいいのがあるかもしれない。
S17avahi-daemonをBS17avahi-daemonにリネームする。どんなファイル名でもいい。要するにSを死活化できれば、initから読み込まれないはずだ。
再起動してpstree -aspを打ってみたらavahi-daemonは起動していない。成功だ。しかし、、、以前には見られなかったプロセスが増えている、、。atd、cron、ntpd、thd、これじゃ何をやってるのか分からない。いろんなプロセスが連携しているので、何かを動かさなかったら停止しないままだったり代わりに動くものが出てくるのかもしれない。

どうもinitの挙動をどうこうするよりも、特定のプロセスをkillするスクリプトを起動後に動かすようにしたほうが良さそうな。
でも書き方がわからないんだけど、、。

いろいろ調べて、以下のコマンドでプロセス名からプロセスIDを引用してkillできると言う事が分かった。

pgrep "プロセス名" | xargs kill

ということなら、以下のようなシェルスクリプトを実行するようにしておけば一括で不要なプロセスを終了できる。
/usr/local/binに、例えばkills.shというファイルを作る。

vi /usr/local/bin/kills.sh

#!/bin/sh

pgrep "player_wrk.php" | xargs kill
pgrep "player_wdog.sh" | xargs kill
pgrep "nginx" | xargs kill

pgrep "monit" | xargs kill

pgrep "winbindd" | xargs kill
pgrep "smbd" | xargs kill
pgrep "nmbd" | xargs kill

pgrep "php5-fpm" | xargs kill

pgrep "avahi-daemon" | xargs kill
pgrep "udevd" | xargs kill

こんな感じで。
sh /usr/local/bin/kills.sh
このコマンドで複数のプロセスをkillできる。
IDが大きいものから小さいものへの順番で止めている。順番に注意しないとkillしたはずのプロセスが復活することがあるようだ。

さて、このコマンドを/etc/rc.localに記入する。 rc.localの記載はもともとはこんな感じ。

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/var/www/command/player_wdog.sh startup & > /dev/null 2>&1

exit 0

多分、exit 0の前の行に、sh /usr/local/bin/kills.sh、と書き込んでおけば何とかなるんじゃないだろうか。
と思ったら、たしかに何とかなるんだけど、余計なプロセスが残存する。
多分、スクリプトの実行が早すぎるのだろう、ということで以下のような記載に変更。

/var/www/command/player_wdog.sh startup & > /dev/null 2>&1
sleep 30;sh /usr/local/bin/kills.sh
exit 0

起動行程が全て終わった30秒後にスクリプトが実行されるという塩梅。
これで、きれいに要らないプロセスを終了できるようになった。秒数が少ないと上手くいかないようだ。

気付いたことで追記。
うちではウェブブラウザからvolumioの操作をしない前提で、mpd設定ファイルのportを6600以外に変えているので、起動の時点でupmpdcliが動かない、ということに今更気付いた。
portの設定変更なしに6600のままだったら、当然upmpdcliが動くのだけど、上記のスクリプトを使うとそれがkillされずに取り残されて、たぶん暴走するんじゃないかな、、、
#!/bin/shの下に、

pgrep "upmpdcli" | xargs kill
という1行を足せばその問題は回避されると思うのだけど。
もしもまるごとコピペして何かトラブったような人がおられたら、今更追記でごめんなさい。

Posted at 20:38 in audio_diary | WriteBacks (0) | Edit Tagged as:

Jul 26, 2015

Raspberry pi B+ / Volumio 1.55 の運用状況

春に転居して以降、メインのトランスポートをraspberry pi B+ / volumio1.55に移行している。
状況を記録しておこうと思う。

そもそもはi2s DACを試すために導入し音質に感心したのが始まりだった。odeon-liteは2010年代のDACに替えないといけないと思った。
さらにibook G4/vine ppc mpdがral-24192ut1を認識しない、つまり192kHz/24bitのハイレゾを鳴らせないという問題が追い打ちをかけた。持っている音源は少ないけど、聴けないじゃ困ることもある。

現在、Raspberry pi B+ / Volumio 1.55は3台。
最初にi2s出力をDAC RBD-02+に送るのが1台。次にusb出力をDDC ral-24192ut1の同軸出力経由でDAC fireface UCXに送るのが1台。
両者の音質の差異は今ではかなり少ない。ブラインドでは僕には聴き分けられないかもしれない。最初はかなり違っていたんだけど、転居して数ヶ月のうちにRBD-02+は高域強調傾向で浮ついた感じだったのが少なくなり、firefaceは落ち着きすぎでもう少しどうにかな感じがなくなった。
理由は不明。
エージングと、ras piを12mm厚のMDF板にネジ止め固定した効果は多少はあるのかも?
どんな違いを聴けるだろうかと思っていたんだけど、ほぼ同じになるとは。

ところが最近、DDC HiFiBerry Digi+を入手し使用開始している。
これも手軽に使えるキットだが、同封されてきたスペーサーが長すぎ。カッターナイフで短くして使う。ちょっと力と注意が要る。
ここから光出力をUCXに送る。
音色の感触は前からあった2つの中間ぐらい。だが若干だが情報量が多い気がする。音の陰影に深みがあり立ち上がりも早い。
同軸出力のほうがいいはずと思って聴いてみたらやっぱりそのようだ。今後は同軸で使う。

しかしそうなるとUCXの同軸入力数の関係でral-24192ut1はどこで使おうかという事になる。メインシステムからはお役御免となるのだ。
まあ、そういうこともある。どこかで使うこともあるだろう。

さて、いろいろ雑事を書いておく。
volumioのサイトからimgファイルを落としてmicroSDカードに書き込むところから。
windowsで焼くときはvolumioのサイトに書いてあるとおりWin32DiskImagerを使ってやればたいてい問題なく起動する。
問題はlinuxの場合で、うちのvine linuxだと何かと上手くいかない。

当初、rootだからいいやと思ってddで焼いて全く起動せず、sudo ddで焼いたらマシになったかと思ったけど、本当にマシになった程度である。
df -hで/dev/sdb1と表示されたらsdb1にすればいいのかと思っていたらsdbにしないと上手く焼けない。sdb1で焼いたら読めないカードができてしまう。
うまくいったと思っても起動しなかったりパーティションをマウントできなかったり不具合は多い。volumioのサイトから落としたファイルの問題かと思ったこともあったが、何回ダウンロードしても同じことだ。

そんな手間かけるよりwindowsで焼けば良かろうということなんだけど、それでもカードによっては起動してからが上手くいかない。
何か設定して再起動したら動かなくなったり。
原因がはっきりしない。
何枚か試したがカードの容量、メーカー、classなど関係ない様子。

30日追記。
関係ないわけでもなさそうだ。下記のサイトに情報がある。しかし、、うちで不具合出てるのOKになってるね、、、
RPi SD cards http://elinux.org/RPi_SD_cards

先人たちの努力の跡を見ても、SDやmicroSDとはそういうものだと達観して対処するほうが賢いようで、たまたま上手く動くカードが出来たらイメージファイルにしてバックアップしておくのが自衛策ということだ。そういうイメージを動かないカードに焼いたら動くようになることがある。
バックアップから焼くのはvine linuxでも問題ないようだ。
謎である。

そもそもSDカードでOSを動かすこと自体、不安定で無理があるという意見もあるようだ。
通常のras piのOS(raspbianなど)についてはusbメモリから呼び出し起動するという手法がネット上にはあるが、、、usb-ddcを接続した状態でusbメモリからvolumioを呼び出す試みはうちでは失敗した。起動しない。

30日追記。
volumioのフォーラムへの書き込みをみたら、似たような体験をする人は海外にもいるようだ。
Lost 2 SD Cards in 10 Days https://volumio.org/forum/lost-cards-days-t1597.html
Offload Volumio to USB? https://volumio.org/forum/offload-volumio-usb-t715.html
Filesystem for long living SD Cards https://volumio.org/forum/filesystem-for-long-living-cards-t720.html
ちょっと引用する。

The problem is that Volumio uses ext3 (if I rememer correctly) that has no Flash wear leveling support.

ほんとうかねこれは。動いてるカードもあるわけで、謎である。
raspbianはext4らしいけど、じゃあext4ならいいのかという、、、

さて、最初に戻る。
とりあえずvolumioのイメージを焼いたら、ちょっと手を入れる。
カードには2つのパーティションができている。
小さいFATのボリュームと、1.7GBのext3のボリューム。
小さいほうが起動に使われ、大きい方にvolumioの本体が入っている。
小さい方の、/boot/config.txt に以下の記述を追加。
デフォルトでは、4つのusbプラグへの総電流供給量が0.6Aになっているらしい。これを1.2Aに上げる。

safe_mode_gpio=4
max_usb_current=1

一旦起動してからsshでログインし書き込み再起動という方法もあるが、そもそもusb-dacをつないで最初の起動の時にusbへの電力供給やら設定の読み込みやらなどで電力を余計に消費してるんじゃないか、などと思っているので、起動失敗のリスクが減るんじゃないかという意味で起動前に設定を変えておこうという考え。
これを書いたからといって起動の成功率が下がることはない、と思う。

raspberry piはusbとlanの情報処理を1つのチップでしてる?という事らしく、構造的弱点らしい。そういう意味ではやはり、i2s出力を利用できたら利用するほうがトラブルは少ないんだろうと思う。
実際、うちで繰り返しトラブっているのはusb-ddcをつないでいるras piで、i2s出力につないでいる方はトラブルがない。まあ、usb-ddcをつないでいる方を中心にいじってるからというのもあろうけど、不具合が多いからそういうことになる。

一応、追記。
現在、Digi+を継いで問題なくメイントラポとして動いてるras piは、先日までusb-ddcを継がれて不具合を繰り返していた個体である。つまりras piの個体差による問題ではないということ。

起動したら、粛々とウェブブラウザ画面からアクセスして設定をしていく。
ネットワークのアドレスを固定。
AirPlayは使わないのでoffに(volumioの再起動が必要)。
ライブラリにNASを設定。
ライブラリのアップデートが済んだらウェブブラウザは閉じる。

sshでログインし、raspi-configから現在地の時刻を設定。
ファイルイメージの拡張は、しなくてもいいかな、、、
1.5Gが8Gとかになったとしても、不具合が起きるかどうかには関係無さそうだ。

ここまで上手くいっても安心はできない。
sshからrebootを打って、無事に再起動が成功すればとりあえず安心。

次にsshからログインし、/etc/mpd.confの設定書き換え。
なぜかsamplerate_converter "Fastest Sinc Interpolator"の設定が残ってるので一応#でコメントアウト。これは意味があるのかどうかわからないが。
うちでは複数のmpd、volumioを1台のノートから複数のアカウントのncmpcppで操作する都合上、ポート設定を変更。6600を6601とかに。
これでウェブブラウザからのアクセスを受け付けなくなる。
受け付けなくなるだけで、アクセスしようとしたらvolumioへの負荷はかかるんだけど。
何かウェブブラウザから設定したいことがあれば、ポート設定を戻せばアクセスできる。

敢えてウェブブラウザからの操作をしないのは、volumioの負担軽減に繋がらないかという目論見もある。
どの程度効くのか分からないが、不具合はたいていウェブブラウザでアクセスしてる時に起こるという印象がある。ncmpcpp単独でアクセスしてる時におかしくなるのは、記憶にないような気がするのだ。

しかし、そこまで言うなら、例えばRaspbian OSにmpdをインストールしたほうが安定してる可能性もあるんじゃない?という考えもあるかも。残念ながら、まだそこは試していない。
Raspbianにmpdをインストールしたあと、usb出力とかi2s出力とか設定するのかと思うと、ちょっと苦しい。そこまでする余裕があるかというと自信がない。
思えば、vine mpdだって実用にするまで相当の時間がかかったし。
そういう意味でvolumioの手軽さはありがたい。

さて。mpd.confの書き換え後、一応、sshからvolumioをreboot。
ここまで上手くいくようなら良くできたカードといっていい感じがするので、バックアップしとけばいいかも。
再起動や終了はウェブブラウザから指示しないほうがいいような気がする。気のせいかもしれないが、起動しなくなることのほうが多いような気がして。

raspberry pi / Volumioは、手軽だけど不安定なシステムだと思う。
なんでこんなの使うんだろうと思うんだけど、やっぱりそこそこ面白い上に音がいいからだろう。不安定だからといって、既成品に向かうという選択肢は逆に考えにくい。

とは言いながら、ras pi B+の場合はusb出力を使おうとしたらトラブルが多すぎる気がする。
i2sをS/PDIFに変換してというのは元の木阿弥感が強いとはいえ、usb出力より音質も安定性もメリットが大きい気がするし、当面はDigi+がメインのトランスポートになるだろうなあ、という感じだ。
今後はデーモンの切り込みとかしていければと思うけど、追々、ゆっくりだ。

Posted at 22:57 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

Jun 28, 2015

VolumioのSDカード領域を拡張したのでメモ 追記:USBポートの電流出力上限を変更した

他のサイトを参考にVolumioのSDカード領域を拡張した。

http://raspberrypi.blog.fc2.com/blog-entry-25.html
http://raspberrypi.blog.fc2.com/blog-entry-86.html

今回は自分のサイトにメモ書き。

まずroot、sshでvolumioにログイン。
次に以下のコマンドで設定を変更する。

vi /usr/bin/raspi-config

292

上の画面はviエディタでファイルを開いたところ。
do_expand_rootfs()
という項目の中、
if [ "$PART_NUM" -ne 2 ]; then の「2」を「3」に書き換え保存する。これをしておかないと下記の行程が無効になる。

次に下のコマンドを打つ。
raspi-config

上の画面が出るので、1の Expand Filesystem を選択。
指示のまま再設定し再起動。数分後には領域が拡張されている。

なぜ今更こんなことしようとしてるかというと、いまひとつシステムが安定しないからだ。
i2s DACに出力してる方はいいんだけど、USBから出力してる方はなんでかすぐにクラッシュする。
多少なりともマシにならないか、ってこと。

30日、追記。

なぜクラッシュするのかつらつら考えてるんだけど、いまいちはっきりしない。
ファイルシステムを拡張して、今のところ安定してるけど今後どうなるか分からない。
というか、安定したシステムになるまで繰り返しSDカードに焼くので一苦労だ。

気付いた点。
設定変更後に再起動を要することがあるが、するならNASをマウントしてデータベースを作成したあとにすること。
これをしておかないと終了後に再起動しない。途中で止まりSDカード書き込みからやり直し。
理由は不明。
ファイルシステム拡張設定後に再起動が必要なんだけど、これをやっておかないと起動しなくなる。

SDカードの問題。
調子が悪いカードだと、正常に起動する確率が下がる。当然と言えば当然だけど。
しかし普段使えてるカードが使えなくなっていく理由がはっきりしない。負荷が増えると反応しなくなり、sshのアクセスも受付けなくなる。こうなるとカード書き換えしないと動かなくなる。
しかも、書き換えてもうまく起動しないことがある。

USBに出力すること自体が負担になっているんじゃないかと思われる節がある。
うちではRAL-24192UT1をUSB-DDコンバータとして使ってるんだけど、これに外部電源をつないで以降、多少なりとも起動に失敗することが減った。最近、他のDACやDDCだとどうなのかと思うことがある。
ちなみにRAL-24192UT1の消費電力は、電源電圧:5V(USBポート・ACアダプタのいずれかより供給)、消費電流:最大410mA、とのこと。
RAL-2496UT1は電源電圧:5V(USBポートより供給)、消費電流:最大500mAでras piで認識できなかった。
逆に、RAL-24192UT1はibookG4+mpdで認識できなかった。
ばくぜんと、前者は電力供給の問題で、後者はドライバの問題じゃないかと思っているのだけど。

とか考えてるうちに、こんなサイトが。
http://akkagi.info/20150316_web/
http://akkiesoft.hatenablog.jp/entry/20140727/1406443999
http://www.mugbot.com/2014/08/19/raspberry-pi-model-b-%E3%81%AEusb%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AE%E9%9B%BB%E5%8A%9B%E3%82%A2%E3%83%83%E3%83%97/
いじってみたら変化があるだろうか。
それにしても、普段使いの装置であれこれいじるのはクラッシュ後の復旧が辛いので出来ればやめたい、のだけど、どうしようか、、。

7月16日追記。タイトルも追記。

上記のサイトを参考にUSBの電流上限を変更した。
特に問題なくvolumioは動いている。
Ras piの掲示板へのリンクは以下。
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=81736&start=50#p577877

/boot/config.txt に以下の設定を追加。
safe_mode_gpio=4
max_usb_current=1

Ras pi B+は、USBポート4つトータルで使える電流の上限がデフォルトでは0.6Aに設定されている。
設定を変更することでこれを1.2Aに変更できるとのこと。
これがUSB-DDCをつないでいる時の負担軽減につながるかどうかは明らかじゃないけど、安心材料ではあるかも。

Posted at 18:29 in audio_diary | WriteBacks (0) | Edit Tagged as:

May 02, 2015

転居後の状況

転居後は試行錯誤を細々ながら続けている。
多少はましになってきてので記載しておこうと思う。

4425mk2のドライバーには可変式のアッテネーターが付いている。
これを絞ってみたところ、なんとなくいいバランスになる。強かった高音域が押さえられて、相対的にはっきりしなかった低域が強く出るようになった。

4425mk2のアッテネーター

うちのサイトの過去ログを読むと、2007年頃にも絞って使っていたらしい。フローリングでよく鳴る床板の対策で試行錯誤していた時期で、キャスターを使っている現在とスピーカーの足回りの状況は似ているかもしれない。
その次の住居は床が固く、いつの間にか12時の位置になっていた。子供がいじっているということもある。
現在は9時の位置でも悪くない感じだ。
それ以上絞るとなると音質の劣化が問題になってくる。アッテネーターに使われている可変抵抗の影響が大きくなるのか、眠い音になるのだ。

そこで固定式のアッテネータを継いでみようか、などと考えている。
4425mk2はバイアンプに対応しているので、高域用の端子にだけアッテネータを付けるというようなことが出来る。固定式で音量を下げることが出来たら、可変抵抗アッテネータは開けることが出来る。可変抵抗の悪影響を減らすことが出来るはずだ。

スピーカーは部屋という空間の空気を制御する装置だ。
上手く鳴らすと室内の空気自体がひとつの生き物であるかのように動き始める。
聴覚的な宇宙を造成する装置だと言えるかもしれない。
オーディオという趣味について、音楽を聴いていないという指摘があるが、いつ頃からかそうかもしれないと思うようになった。僕にとって、オーディオという趣味のイメージは、ミュージシャンの音楽性を音源から引き出すことよりも、音源そのものが内包するイメージを現出させるニュアンスのほうが大きい。音楽性は個人的な感性だが、音源から情報を引き出し宇宙を現出させるのは物理学、電気工学の手法であり、つまり客観的に結果が自明なものだ。ベクトルが全く違うじゃないか。
いや、本来自明であるはずのものだ、と言うべきか。
コンポも音源もユーザーも多様で、一筋縄にはいかない。
オーディオと音楽鑑賞という趣味はしばしば同居していて、両者の比重はときと場合によって変わる。
音質とか関係なく音楽を聴いていることだってある。

転居して、部屋の容積が3倍以上になっているせいか、空気が簡単に動いてくれない印象を持っている。
スピーカーと音と僕、という感じなのだ。
空気自体が生命を持って踊るようにならないとオーディオは楽しくない。
いまひとつ物足りない感じがするのは、そうしたところから生じているような気がする。
でも、いずれなんとかしたいとこだ。

次に、スピーカーの下を見直した。
楽走くんの上に、当初は3mm厚のMDF板(これは転居前に床に傷がつかないようにスピーカー台の下においていたものだ)を敷き、その上に御影石のボードを置き、J1のコーン(S35S)でスピーカーを3点支持していた。
これだと御影石をはじくと若干だが高い音がして塩梅がよくない。
あと、若干だが床が振動していた。床が振動するのはよくない。ノイズ源だしスピーカーのエネルギーが無駄になっているという事だ。

まずホームセンターで合板を購入、カットしてもらって楽走くんの上に3枚重ねにした上に御影石ボードを置く。
現在はそれ以上は手を入れていないが、まあ、暇があったら何かまだ細工するかもしれない。

次にJ1をTAOCのTITE-46GPというのに変えてみる。
3個セットで1万円と比較的お手ごろ。重量級の鋳鉄の塊でTAOCらしい製品。
スピーカー2つなので2セット購入。
スパイクを上にして3点支持で使用。同梱されてるスパイク受け(これって多分、PTS-Nと同じものだね)をスピーカー側に使用する。
これが、表面を研磨してある御影石の上に乗せると案外すべる。スピーカーを押すとキャスターが動く前にインシュレーターがすべりそうな感じだ。
でもまあ、なんとかなるかな、、、

これで、だいぶマシになった。床の振動は減っている。

これは転居前からだけど、DACが代わった。
Odeon-lite から、RME Fireface UCX に変更した。

もともと録音用の機材なので、ちょっと最初は取り扱いに戸惑った。
アンプのSM-SX100に接続するためにTRS Phone-XLRの変換ケーブルが必要になったり、Windows機にソフトをインストールしてUSBケーブルで継いで設定をしないと音が出ないというのも、なかなか新鮮な体験だった。

設定をしてしまえば、あとはいい音を出してくれる。
転居前の時点で少し鳴らしたときはOdeon-liteより数段いい音が出るという感触だったが、転居後はいろんな要素が変わったので、いい音が出ているはずだから、ということで運用中だ。

デジタルトランスポートは、今は2台。
ともにRaspberry Pi B+ / Volumio 1.55だ。
1台からはUSB出力をRAL-24192UT1を通してSPDIF(COAX)をFirefaceに送っている。
もう1台はi2s出力をDACカード RBD-02+に送りアナログRCA出力をアンプに出している。

両者の音の違いは、今は検証しようという気にならない。
他に手を入れるべきところが多すぎるのだ。

あと、VRDS-25xsを復帰させた。
リッピングする間もなく聴きたいCDを聴けるように。これは勝手知ったる音がする。
SM-SX100のデジタル入力に直接つないだりして音質上は好ましくないとされていることをしてるが、この際まあいいか、という感じで使っている。気にしなければそんなに悪くない。

あれこれと手を入れるうちに音のほうは徐々に良くなってきた。
当初は欠落していた低域の量感やアタック感もそこそこ出るようになってきている。
臨場感も出てきている。
案外なんとかなるかも、と思えるようになってきた。

しかし、どういうものだろう。
久しぶりに振動の挙動についてあれこれ考えた。

昔、機械インピーダンスという考え方があるとネット上で教わった。
10年ほど前にもあれこれ考えてサイト上に書いたりしたんだけど、まとまった感じになっていない。
この場で多少整理しておこうかとも思ったけど、やはり自信がない。

機械インピーダンスについて検索したら、理解困難な数式が出てくる。
僕は高校数学で挫折した口なので、どうにもハードルが高い。そこで我流で解釈する感じになっていく。
そんなのブログなんかに書いていいものかどうなのよ、とか思う。
そんなわけで、現状報告で止めておく。

Posted at 22:54 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

Apr 18, 2015

引っ越した

3月下旬に引っ越した。
その数ヶ月前からいろいろと家具や荷物の整理をして運べるものは運びする中で、この数ヶ月間はメインシステムは休眠状態だった。その間、雑誌の付録でしのいでいた。
4月中旬、ようやくメインシステムを梱包から解いてセッティングしたという状況。
環境は大きく変わるのでいろいろ設定しなおす必要があるとは思っていたが、やはり再生音は大きく変わった。

まず環境の変化。
以前は賃貸マンションのリビングに設置。
床はコンクリートにシートを張ったような構造で非常に固い。女房からは素足で歩くと頭に響く気がすると言われ不評だった。転居でかなり楽になったという。
広さは8畳程度で、そこにコンポや炬燵机その他を並べていた。

転居後。
実家のリフォームで2世帯住宅化。
床はコンクリートの上に板張りで、そこそこ固いがコンクリートそのもののようなことはない。
フロアは、20畳以上もあろうかという空間にリビング、DK、寝室のエリアが配置され境界がない空間。コンポの周囲は現在はほとんど何もない。

次にセッティングの変化。
以前はスピーカーをTAOCのスタンドに直置きして鳴らしていた。
現在はというと、いわゆる台車の上に乗せている。
台車というのは具体的には「楽走くん」という屋内搬送に使う道具で、転居に際して非常にお役立ちだったもの。
これの上に30kgの御影石ボードを置いて、その上にスピーカーを置いている。
トータルだと70kg程になると思うが耐荷重100kgということなので、たぶん大丈夫だ。
最初は御影石の上に直置きしてみたが、さすがにどうかという感じだったので今は手近のインシュレーターをかましている。

台車を使ってみようかと思った理由は地震対策だ。他の理由はない。
キャスターで支えるので、地震の際には横揺れを受け流し倒れない。直下型地震だと関係ないが、岡山という土地の特性から遠方の地震を想定し横揺れ対策でだいたいやれるだろうという判断。

音の変化はどうなのか。
セッティング当日は、ろくな音が出ない。アンプが目覚めるまで最低でも3日かかるからだ。
それを差し引いてもちょっといただけない感じだった。
しかし梱包を解いてセットするので体力を使い果たしたので、そのまま放置。
3日後、少しマシになってきたけど全く焦点が定まらない音なのでインシュレーターを使用。J1の黒いコーンとTAOCのステンレス製スパイク受けを組んで3点指示で受ける。
これで、かなりマシになった。

今の時点で一番気になることは低域が弱いこと。ほとんど聴こえない。アタック感もほとんどない。
中高域がそれなりに鳴っているのに対して、バランスが悪すぎる。
ボリュームを上げても、広い部屋の空間に吸い込まれてしまうのかエネルギー感が全く感じられない。中高域ばかりが大きく感じられて騒がしい。
キャスター使用にした時点で低域の弱さは予想はしていたけど、実際に聴くとここまでとは、と感じる。

もうひとつは、聞こえるはずの音が聞こえてこないということ。
ワルツ・フォー・デビーの、グラスがチャラチャラいうのが聞こえにくい。
あれがきこえないと臨場感が全くない。高域は出ているので聞こえていいはずと思うのだけど、何故か聞こえない。
部屋の音響が影響している可能性を考えている。なにしろ、リスニングポイントの背後が壁じゃなくて空間なのだ。コンポの左右も壁が斜めで、スピーカーからの1次反射がリスニングポイントに届かないセッティングになっている。
以前から考えたらありえない状況だ。

とりあえず、キャスター止めようかな、と思い出しているけど、そこは比較してからの判断とする方針。

Posted at 21:25 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

Nov 26, 2014

I2S DACとRaspberry Pi B+を導入 - Volumioでcue sheetを使う方法

11月中旬から、Raspberry Pi B+ / Volumio を弄っている。
I2S出力による音声再生には興味はあったが後回しにしてきていた。
始めたら手が掛かりそうな印象だったのと、音がいいとは言ってもDAC交換が出来ないというのは気に入らないという気持ちもあった。
しかし手軽そうなキットがあったので、やってみようということになった。
あと、聴いてみないことには何ともいえないというのもある。

実際に聴いてみたら、これは評判になるのが当たり前だと思った。
cue sheetが使えないと思っていたが、外から他のクライアントでアクセスしたら簡単に使用できた。これは非常に助かる。

さて。
まずRaspberry Piを入手。
DACは下記のサイトで扱っているのにした。
Raspberry Pi model B+ 用 DAC カード RBD-02+ LINUXCOM ネットショップ
関連サイト。
Raspberry Pi Model B+ で I2S DAC を動かす Linux Computing

このDACカード、RBD-02+は半田付けなしでRaspberry Pi B+に接続することが可能。
実際に触ってみて思ったのは、ピンに刺すのが意外に大変ということ。
I2S信号がきている40ピンのピンヘッダにDAC基板を刺すのだけど、かなり固い。慎重に力を入れないと針が曲がりそうだ。外すのも気をつけないと針を折りそうだ。
ネジ止めもちょっと力が要る。
そうは言っても、手軽で簡単に組み立てることが出来るキットだと思う。

VolumioのOSはmicroSDに書き込んで使う。
http://volumio.org/
Get Started
上記のサイトにやり方が書いてある。
VERSION 1.51をダウンロード。
解凍しimgファイルを、上記サイトの「FLASH IT」の項目、LINUXに書いてあるとおりにmicroSDに書き込む。
これをRaspberry Piに刺して、LANに継ぐ。
電源のmicro USB端子にケーブルを継ぐ。

Ras Pi本体の赤と緑のLEDが点灯しっぱなしで、何も起きない。
DACのLEDはかなり明るい。まぶしい、、。
ウェブブラウザでvolumio.local/にアクセスを試みるも繋がらない。
ここで気付く。
LAN端子のLEDが点灯していない。アクセスなんか出来るわけがない。

これは壊れてるか?
http://www.raspberrypi.org/downloads/
上記サイトからNOOBSをダウンロードしてみる。
これはRas PI純正?のOSインストーラだ。
問題なく順調に起動し、RaspbianがmicroSDにインストールできた。問題なく動く。
Ras PiのLEDはどれもきれいに点滅している。

ここで気付いた。
NOOBSをSDカードに書き込む際にはFAT形式にフォーマットしないといけないと、解凍したファイルに書いてあった。
FAT形式のmicroSDに、もう一度Volumioを書き込んで起動を試みてみる。
前と同じで何もおきない、、、
ext3、ext4でもだめだった。
Volumioのバージョンを落としてみる。1.4、1.5、、、起動すらしない。

ここまではVine Linux 6.1で試みていた。
数日後、気持ちを切り替えてWindows7で試みる。
Volumioのサイトに書いてあるとおり、Win32DiskImagerでFAT形式にイメージを書き込んでみる。
今までのことが嘘のように起動した。
ようやくウェブブラウザからVolumioのコントロール画面を拝むことが出来た。

何でこんな顛末になったのか、よく分からない。
Vine Linuxで作ったFAT形式に何か問題があったのは確かだろうけど、今の時点では再現性の検証をしていない。
何でNOOBSが動いてVolumioがだめだったのかもよく分からない。

2015年2月11日、追記。
Volumioが1.55にアップデートされているし、諸般の事情で再度マイクロSDにVolumioを書き込んでみた。
やはりvine linuxのddコマンドでやると上手くいかない。
Windows7で書き込むと問題なく動く。
これは他で聞かない問題だし、当方で特有の問題なのかもしれない。

記述忘れを追記に追記。
Volumio1.55では前述のDACボードはまだ試していない。

7月13日、追記。ようやく原因がわかった。
いつもそうだが、分かったらバカみたいな話だ。

僕はrootだったら何でもできるというふうに理解していた。
でも、実はそういうわけではなかったということだ。
このトラブルの最初から僕はrootで作業していて、
[root@localhost abk1]# dd bs=1M if=/Download/Volumio1.55PI.img of=/dev/sdb みたいな感じでコマンドを打っていた。
rootだからsudoは要らないと思っていた。
ふと思い至って、
[root@localhost abk1]# sudo dd bs=1M if=/Download/Volumio1.55PI.img of=/dev/sdb と打ったら、問題なく動くカードができた。
rootでもsudoが必要だったのだ。

1年以上前のエントリーに追記。
上記のsudoで上手くいくというのは一瞬の思い込みだった。やっぱり上手くいかないことが多い。謎のままだ。

何はともあれ、Volumioは起動した。

ひとつだけ、困ったことがあった。Volumioの通常のコントロール画面からは、flacファイルはPlaylistに読み込むことが出来るが、cue sheetを読み込むことが出来ない。
うちの音楽ファイルの殆どはCDからリッピングしたflacとこれに対応するcue sheetだ。
cue sheetが読み込めないようだとCD1枚分のflacファイル毎しか選択できない。
曲の選択が出来ないのは、とても不便だ。

Volumioにsudo、sshでアクセスして、少し調べてみる。passはvolumio。

root@volumio:~# mpd -V
Music Player Daemon 0.19.1
(中略)
Playlist plugins:
extm3u m3u pls xspf asx rss soundcloud cue embcue

Volumioのmpd自体はcue sheetに対応している。
ローカルで使われているmpdクライアント(mpcらしい)が対応していないために、使えないということらしい。
だったら外からcue sheetに対応してるクライアントでVolumioにアクセスしたらどうか。
うちでメインに使っているncmpcppはcue sheetに対応している。

ncmpcppのconfigファイルの、mpdサーバのIPアドレスを書き換えてVolumioにアクセスしてみる。
VolumioのPlaylistが表示された。アクセス成功。
NASの階層を辿り、cue sheetをPlaylistにaddすることも可能。再生も問題ない。
ncmpcppからVolumioを操作してcue sheetを使用することが出来た。

ここで、ウェブブラウザからVolumioにアクセスしてみる。
ncmpcppで表示されていたとおりに、cue sheetに記載されている曲がPlaylistにずらりと表示されている。
曲の選択、再生、削除もウェブブラウザから可能だ。
ウェブブラウザからのアクセスではcue sheetをPlaylistに加えられないが、加えられてしまえばそれ以外の操作は出来る、ということらしい。

今回、「cue sheetに対応したmpdクライアント」という情報は意外にないということに気付いた。
うちで使っているncmpcppとgmpcは対応していることが分かっている。
他はどうか知らない。
Volumioでcue sheetが使えないのを理由に諦めている人がおられるようなら、こうしたクライアントを使ってVolumioを操作したらいいと思う。

ちょっと追記。
ncmpcppは、0.5.8 (2011-10-11)でcue sheetに対応している。
mpdは、ver 0.16 (2010/12/11)の時点で対応しているようだ。libcueなしでよくなったのはver 0.17 (2012/06/27)からだと思う。

関連リンク。
Music Player Daemon
Clients

音のほうは、あちこちで評価されているとおりだと思う。
今後のコンポの構成を考えないといけない。

でも、Ras Piの音を聴く前に、新しいDACを注文してしまっているのだ、、、まあ、DACとして使わなくても他で使いようがありそうなのでいいのだけど、、、

Posted at 19:44 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

Oct 01, 2014

オーディオ状況報告(2014.10.01.)

前回が昨年の4月。現在のオーディオシステムについて記録。

BY50S HS-210
(LAN: KB-FL7-05BK)

mac mini4.1 2.4GHz 8GB
OSX 10.6.8
audirvana plus / itunes
96/24 TOS
(TOS: HK50/huji parts)
AT-HDSL-1
TOS > RCA
(RCA: 型番不明)
ibook G4 12" 512MB
Vine Linux 5.2 ppc
mpd 0.17.3
USB
(USB: RAL-2496UT1付属ケーブル)
RAL-2496UT1
USB > TOS
(TOS: OPC-M1/SAEC)
DP-5090
44.1/16 RCA
NBR271
RCA > BNC
(BNC: BNC59/HOSA)
BJC-XP-TRC
BNC > XLR
SRC2496
>> 96/24 RCA
(RCA: D-75/DH LABS)
PB-500-2 odeon-lite
(RCA: basis1.4/AC Design)
SM-SX100
(5.5mmスケアキャブタイヤ/協和電線)
4425mk2 (omni8/Space&Time)
T900A

前回と比べて、すごく変わっていない。
こんなに変わってなくていいのかというぐらい。

しかし、NASが変わっている。
これは思っていた以上に大きかった。
何が大きいって、快適に使用できるというところからまったく違うし、音質も改善してmpd.confの設定内容もそれに連れて変わってしまった。

まあ、この1年でこれだけなのはしかたない。

表には記載していないが、普段使用のCompaq 6730bにmpdとncmpcppをインストールしてLAN経由でNASをマウントして使っている。
メインシステム以外でちょっと音楽を聴きたいというときに便利だ。

ただし6730bはメインシステム用クライアントとしても動作しているので、6730bのmpdは別のアカウントから動かす必要がある。
つまり1つのマシンに複数のアカウントを作って各々にncmpcppの設定をしてやれば、そのマシン1つで複数のmpdサーバを操作出来るということだ。

今回の場合の設定は、
mpd_host = "localhost"
mpd_port = "6601"
としている。
mpd_port = "6600"ではメインシステムと混線するので"6601"など別の数字にしないといけない。
portは各々のソフトに数の割り振りがあるので注意は要る。

これで、メインシステムで子供のためにアンパンマンのマーチを鳴らしながら、こっちはこっちで6730bのイヤホンでベートーベンの運命を聴くというようなことが、簡単に出来る。
アカウント切り替えの手間を惜しまなければ、だが。

こんな風にして複数のmpdサーバを1つのノートで操作出来るのは、使い方のアイデアによっては便利で面白いんじゃないかと思っている。
すぐに何か始めるわけではないけど、将来的には何かに利用してみたい感じだ。

Posted at 21:10 in audio_diary | WriteBacks (0) | Edit Tagged as:

Sep 11, 2014

加入者網終端装置(CTU)の設定でネットワークを分割する

いくらか追記。
若干、表現の修正あり。
あと、おそらくは不正確な内容を含むのでご注意を。

9月16日、追記。
この連休はシステムをあれこれいじっていたんだけど、当初得られた変化が,その後はどうも得られない。
何故なのか考えていて思い至ったことは、CTU装置を再起動したことだ。
AirMac Expressの音飛びと格闘していた頃、iTunesの再起動で一時的にシステムが安定するということがあった。
今回の当初の変化は、CTUの再起動で何か電気的に整理されたことによるものかもしれない。
まるで68kマックみたいな話だが。

ということで、当面は当初得られたと思われた効果が、その後は得られないという感じだ。
まあ、オーディオやってるとそんなこともある。

19日、追記。
CTUを再起動したらLANが安定したことを5月の時点でここで書いていたのをすっかり失念していた。

家庭内LANが安定しないとネットオーディオネットワークオーディオの音質に悪影響があるというのは、ずいぶん前に認識していた。
覚書として以前の顛末の記録をリンクしておく。
曲が再生中に止まるケース | Apple サポートコミュニティ

いろいろやってるが、知識なしに手探りでやってるので恥ずかしい。
今もそうした傾向は変わってない気がするが。
なにが知識がないといって、ipアドレスのことすら理解しないままにいじっている。
よくこんなんでやってたわと思うのだが、言い訳するようだが、ipアドレス、ネットワーク、あとサブネットマスクについて、分かりやすく書かれた書籍は少ない。僕なりに勉強してはいたが、分からなかったのだ。
僕の理解力が低いのかもしれないが。

だから今回、サブネットマスクを使ってネットワークの分割を試みるのは非常に骨が折れた。
だから後日の参考のため書き留めておく。

そもそもは、ウェブを巡回したりYouTubeを見たりするパソコンと、オーディオ再生に関わるmpdサーバやNASが同じネットワークにあるのはどうなのか、というところから始まっている。
前述のAirMac Expressのケースでは、Safariを使うだけで音が飛ぶということが書いてある。
うちでは数台のパソコン、2台のスマホ、ゲーム機が家庭内LANにつながっている。
TCPはもちろん、動画などUDPのパケットがネットワーク上を巡っている状態だ。
これらはオーディオ的にはノイズなので隔離したい。

いくつか、そうした趣旨で書かれたエントリーがある。
以下にリンク。参考にさせていただいた。

音のよいネットワーク構成 | PCオーディオ実験室
ネットワークプレーヤ用ネットワーク - 2014.07.27 - デジファイのおと
M3のオーディオ部屋: LANの接続で音が変わる

以下はサブネットマスクに関連してリンク。

IPアドレス サブネットマスク 早見表|ahref.org
サブネットマスク計算(IPv4)/サブネット一覧(早見表) CMAN インターネットサービス
DHCP設定は正しいか?~DHCP設定の確認と利用~ - @IT

サブネットマスクの設定を変えることで、LANのネットワークを分割することが出来る。
物理的なLANケーブルの構成も適正にすれば、ノイズになるパケットをmpdの周辺から排除することが可能かと減らすことが出来ると思われる。

ネットワークについてリンクなどを追記。

ブロードキャストとマルチキャスト mileruntech
ブロードキャスト・アドレスの種類 - @IT
WEBを構成するネットワーク
サブネットマスクとルート集約

パケットが巡ってくること自体を防ぐことは出来ないが、その後の処理の仕方の違いによって負担が違ってくるようだ。ネットワークを切り分けることで、mpdサーバにとって簡単な処理ですむパケットが増える、という解釈が可能だろうか。
異なるネットワークのパケットが巡ってくるのを完全に遮断するには、ルータ、L3スイッチングハブを使うか、LANケーブルの接続を切るしかないかもしれない。

うちはフレッツ光マンションタイプに契約していて、それをベースに家庭内LANを組んでいる。
DHCPサーバは加入者網終端装置(CTU)が担っている。
このCTUの設定を変える必要がある。
以下に設定画面の画面。
ウェブブラウザからCTUにアクセス、ログインし詳細設定からリンクをたどると設定画面が出てくる。

フレッツ光のサイトとCTUのマニュアルにリンクしておく。
フレッツ・光プレミアム(インターネット接続サービス) サポート情報
加入者網終端装置(CTU)・ガイドブック[ファミリー/マンションタイプ用] 第14版(pdf)

以下、今回やったことを記載。

IPアドレスはデフォルトの192.168.24.1で固定。
変えてみての試みは今回はしていない。

マスク長をデフォルトの24から27に変更。
マスク長が3増えるということは、ネットワークのサイズは8分の1になる(2の3乗=8)。
これに伴い、払い出し開始IPアドレスを192.168.24.51から192.168.24.4に変更した。
マスク長が27だと、CTUが管理するIP数が256の8分の1だから32になる。払い出しが51からだと払い出せなくなる。
デフォルトが51からになっている理由はよく分からない。マスク長が24ならそれでも問題ない。

IP数が32ということは、内訳はどういうことになるのか。
最初は0で、これはネットワークのアドレスになる。
1はルーターのアドレス(192.168.24.1)。
32番目の31は、ブロードキャストアドレスというもので、ネットワーク内のすべての端末にデータを送信するために使われるので、個々のホストPCには使えない。
つまり、使えるアドレスは32-3=29個、ということになる。
払い出し個数が、デフォルトの50のままでは多過ぎるので25にする。一般家庭の家庭内LANであれば十分な数だ。
これらをDHCPサーバであるCTUが管理するということだ。
IPアドレスで言うと、192.168.24.0から192.168.24.31を、CTUが管理することになる。
ネットワークにPCなどを継ぐと、これらのアドレスの中から使えるアドレスをCTUがPCに割り振ってくれる。

ここでmpdのほうを見てみる。
うちではmpdサーバのibook G4に192.168.24.60。NASのhs-210に192.168.24.61を当てている。
サブネットマスク長を24から27に変えると、ひとつのネットワークのIP数は256から32になる。
つまりmpdとNASは、CTUが管理するネットワークから外れる。
ネットワークアドレスが192.168.24.32のネットワーク、つまり192.168.24.32から192.168.24.63のネットワークに含まれることになる。
こっちには192.168.24.0のネットワークで流れているパケットは流れ込まない、はず。
流れ込まないなら、かなり静かな環境になるはずだ。

mpdクライアントとして使っているCompaq 6730b Vine Linuxは、メニューのクリック→プルダウンで簡単にネットワーク設定を変えることが出来る。普段はCTUから供給されるアドレスで使いながら、mpdの操作をするときやNASの設定に用があるときだけIPアドレスを192.168.24.50とかに変更して、mpdのネットワークに入ればいい。
これは意外に快適だ。
下の画像は、ネットワークの設定の記録。

問題は、hs-210がウェブにアクセスできないこと。
アップデートなど告知が出ない。無論、アップデートも出来ない。
出来るようにするためには、そのたびにCTUの設定を変えるしかない。
この問題をクリアしようと思ったら、間にルータを挟むことになる。それはそれで面倒だし、ルータのノイズが気になってくるところなので、悩ましいとこかもしれない。

音は良くなっている気がする。
上手くいえないが、ぐっと落ち着いた感じがする。

と思ったけど、まだ判断するのは早すぎるかもしれない。

Posted at 18:19 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

Jul 09, 2014

audio_output_formatについて(Vine Mpd ppcについて覚書-13)

NASを変更して2ヶ月になる。
その間になんとなく気になることが出てきた。

変更以前は、mpd.configのaudio_output_formatの設定でアップサンプリングして使っていた。
88200:24:2が良さそうだと感じていた。
それがどうも良さそうじゃなくなってきた。
最近は44100:24:2にしたりしていた。

なんだろうか、と思っていたところ、mpd.conf(5) - Linux man pageで興味深い記載を見つけた。
audio_output_formatの次、「samplerate_converter」の項目だ。
以下引用。読みやすいように改行を少し変えている。

samplerate_converter
This specifies the libsamplerate converter to use. The supplied value should either be an integer or a prefix of the name of a converter. The default is "Fastest Sinc Interpolator".

At the time of this writing, the following converters are available:

Best Sinc Interpolator (0)
Band limited sinc interpolation, best quality, 97dB SNR, 96% BW.

Medium Sinc Interpolator (1)
Band limited sinc interpolation, medium quality, 97dB SNR, 90% BW.

Fastest Sinc Interpolator (2)
Band limited sinc interpolation, fastest, 97dB SNR, 80% BW.

ZOH Interpolator (3)
Zero order hold interpolator, very fast, very poor quality with audible distortions.

Linear Interpolator (4)
Linear interpolator, very fast, poor quality.

internal
Poor quality, no floating point operations. This is the default (and only choice) if MPD was compiled without libsamplerate.

For an up-to-date list of available converters, please see the libsamplerate documentation (available online at ).

internalというのはmpdに組み込まれているという意味らしい。
和訳してみる。
「クオリティは低く、浮動小数点演算をしない。libsamplerateなしにmpdがコンパイルされているようならこれがデフォルトになる(そして、これしか選択できない)。」
なんとまあ。

mpdをインストールしたときに出来るconfig.logを確認したら記述があった。
「configure:8115: WARNING: libsamplerate not found -- disabling libsamplerate resampling」
96/24までリサンプリングしてもCPUの負担が大して増えないのは、増えないなりの理由があったというわけだ。

そういうわけで、audio_output_formatの項目をコメントアウトしてみた。
もとのflacファイルのフォーマット(44.1kHz/16bit)のままで出力されるはずだ。
どうも、悪くないようだ。
というか、これが一番良さそうだ。

NASを変更する前は、それでもリサンプリングしたほうが良いような気がしていた。
何で変わったのかは分からない。
しょっちゅう音切れを起こしていたし、NASからの信号自体の品質も低かったのかもしれない。そういう状況だったから、低品質でもリサンプリングするほうが多少ジッター軽減につながっていたのかもしれない。
かもしれないばっかりだが。

Posted at 13:36 in audio_diary | WriteBacks (0) | Edit Tagged as: , , ,

May 14, 2014

NASの入れ替え

1年以上、I-O DATAのHDL2-A6.0をオーディオ用のNASとして使用してきたのだけど、先日のGWに入れ替えた。
オーディオルームで使うにはファンのノイズが大き過ぎる。「静かでAV用に問題ない」という評価をネット上では見かけるが、僕はオーディオルームには不適だと思う。

代替機種はQNAPのTurboNAS HS-210にした。
ファンレスというのが大きかったと思う。
従来のQNAPのNASとは音が違うという話もあるので迷ったが、たぶん悪くはないに違いない、と判断した。

GWの最終日にHS-210が届いた。
梱包から出して、HDDを組み込み、LANとACアダプターをつないで、電源を入れる。
そこで設定をはじめる。
WebブラウザでQNAPのサイトにいく。
ファームのインストールにWindows、Mac、Linuxに対応しているとある。

Linux用のツールをダウンロードしてみたのだけど、これがUbuntuの新しいOS用、とある。しかも4つほどなにやらインストールしておかないといけないらしい。
うちのPCノート(Compac6730b OS:Vine Linux 6.1)には4つとも入っていない。
ものはためし、と説明に書かれているコマンドを打ってみたけど、やっぱり何もおきない。

Linuxはあきらめて、Mac miniにMac用のツールをダウンロードしてここに書いてあるみたいな感じでファームをインストールした。
ファームのインストールさえ済んだら、設定はどのパソコンのWebブラウザでも出来る。

その後、設定をするのだけど、よく分からないのは、DLNAサーバとかダウンロードサーバとか、要るの?と思うようなのがいろいろ動いているらしいこと。必須と表示されているのもあったりして、勝手に止めていいものかどうかもよくわからないので、現時点で放置している。
共有フォルダもいろいろと元から設定されている。
だけど、そういうのは無視して新規で自分の好きな名前の共有フォルダを作る。
ここに音楽ファイル(flacとcue)を置く。

データの転送はHDL2-A6.0とHS-210、各々の共有フォルダをCompac6730b上のマウントポイントにマウントして行った。
以前に別件でネットワークフォルダ経由(たぶんSambaだと思う)でデータ転送したら、300GBに15時間かかった経験があったので、マウントした方がいいのではないかと考えた。

ターミナル上からcpコマンドを使って転送してみたら、50MB/sで10時間で転送できた。
思ったよりずいぶん速かった。

HS-210にはtelnetでログインできて、コマンドで操作が出来る。だから当初はHS-210上にマウントポイントを作って、HDL2-A6.0の共有フォルダをマウントしてcpしてしまおうと思っていた。
だけど残念なことに、HS-210にはmount.nfsはインストールされていたけど、mount.cifsはインストールされていなかった。
HDL2-A6.0は、mount.cifsでのマウントは受け付けるけど、mount.nfsは受け付けないのだ。
連休が終わる前にHS-210にmount.cifsをインストールして転送を終了するというのは僕の手に余る。
それで、Compac6730bで中継することになった。
一晩で転送できたのだから上出来だ。

音質はどうかということについては、例によってちゃんと評価は出来ていない。
家族もいるので、十分な評価が出来るだけ音量を上げて聴くことがなかなか出来ないということがある。
あと昨日気付いたのだけど、音量を上げたら部屋の中の何かが共振する。何なのかは特定できていない。
しかしそれでもNASから聞こえるノイズが全くなくなったせいか、小音量でも音が良くなったような気がしてしまう。

一応、追記。
音質は改善がみられると思う。
試聴に使ったソースは下記の環境音録音。
自然音シリーズ 海洋の島、小笠原:USMジャパン
鳥の声、波の音のリアリティは確実に増している。鯨の声も録音されているのだけど、水中の泡や水流の音のリアリティが増していて、鯨の声も深みが増したように聞こえる。
以前の状況が劣悪なので改善して当たり前という気もするが、期待していた以上の変化だと思う。
コンポをグレードアップしたときさながらの感触だ。

音楽のソースでの比較はあまりできていない。

音切れがなくなったことも大きい。
最近、HDL2-A6.0だと音切れを気にせずに音楽を聴くことが出来なくなっていた。
原因ははっきりしない。
家庭内LANのDHCPサーバを兼ねているCTU装置を再起動したらずいぶんマシになったので、ネットワークが安定しないせいで音が途切れるということは明らかなんだけど、それでも完全にはなくならなかった。
HS-210に変更して今のところ音切れはない。
なんだったんだろう?というぐらいない。

Compac6730bにインストールしたmpdによる再生で、マウントしたNASを切り替えながらのイヤホンでの比較試聴をしてみた感じだと、HS-210のほうが細やかな音が出ていると感じる。
HDL2-A6.0のほうは音に若干にじみがあるように聞こえる。その分ラウドで勢いがあるようにも聞こえるけど。
音の定位もHS-210のほうが明確な気がする。

HDL2-A6.0はクライアントPCのWebブラウザからコントロール・設定をするのだけど、以前はなかなかアクセスできないということがあった。
ログイン画面が開くまで数分以上待たされるぐらいならいいほうで、そこに到達できないこともあった。
ログイン自体も時間がかかり、設定画面にたどり着くのに10数分を要していた。
ほとほとこれにもうんざりしたというのもNAS交換の理由だ。

HDL2-A6.0は共有フォルダをmpdサーバー上のマウントポイントにマウントして運用していた。
今回、データ移行したあとでアンマウントしたところ、前述したログインがいとも簡単にできるようになった。
もしかしたら、共有フォルダをマウントポイントに載せること自体がHDL2-A6.0にとって負担なのかもしれない。

前述のCompac6730b+mpdでの比較試聴で、HDL2-A6.0は当初は静かだったのだけど、徐々にファンのノイズが増えて「やっぱりまずいのかこれは」という様子だった。
Webブラウザからのアクセスもやや重くなったような印象だった。

どうしたらこんなことにならずに運用できるのか、現時点でははっきりしない。
共有フォルダに置いているファイルが多すぎるのかもと思って、新しい共有フォルダを作ってファイルの転送コピーを試みていたら、ごっそりファイルが消えてしまった。
原因は不明である。
当面、ファイルがなくなってもいい状況で使用するしかなさそうだ(どんな状況なのやら)。

6月11日追記。
HDL2-A6.0だが、HDDを取り出してハードディスク用クレードル裸族のお立ち台USB3.0(なんというネーミングだ、、、)に刺して、うちのノートPCにusb接続してチェックしたところ、2つのHDDのうち1つで不良セクタが数100見つかって交換推奨と表示された。
これが不調の原因かどうか分からないが、このままでは使えない。
かといって、新しいHDDを購入して使う気にもなれない。

結局、HDL2-A6.0本体と不良HDDは破棄。
裸族のお立ち台に残ったHDDを刺して、HS-210のusb端子に継いでバックアップにした。
6時間ぐらいでデータ転送できた。

よくそんなので1年以上も使ってたよと思われるかもしれないが、たぶん日々オーディオ三昧だったらもっと早く交換していただろうと思う。短時間しか聴くことができない生活状況なので、心底いやになる前に再生を止めて、いやな気分は忘れることに結果的になっていたのだと思う。
あと、なんか原因究明というのにのめり込む癖があるんだと思う。良し悪しだ。
それでずるずるとこれまで来てしまった。

ファイルを喪失する前にNASの変更が間に合って、本当によかったと思うよ。

Posted at 22:40 in audio_diary | WriteBacks (0) | Edit Tagged as:

Dec 30, 2013

EACの覚書(2019年追記)

XPのサポートが終わるので7に移行。
これに伴いEACを再インストールしたんだけど、やっぱりいろいろ忘れてるので覚書にしておく。

2019.12月末に追記。今回は10への移行に伴いv1.3をインストールした。そのまま移行するにはHDDの容量が足りなかったので、7をクリーンインストールして10にアップデートしたので、EACも最初からインストールだ。
いろんなデータをバックアップしたけど、EACのプロファイルを持ち出すのは忘れていた。次から気を付けたい。

インストールについて。
こちらがダウンロードのページ。
http://www.exactaudiocopy.de/en/index.php/resources/download/
現在、サイトのトップに「最新の日本語版を 無料でダウンロードする。」と書いてあるボタンが表示されることがあるんだけど、これは「hao123という怪しいのとか抱き合わせにインストールするけどいいよね」という最悪なインストーラをダウンロードするサイトにリンクしている。最新の日本語版とか、よく分からない。
EAC単体のインストーラを本家のダウンロードページから簡単に落とせるので間違えないこと。

インストールに際して、音楽ファイルの保存形式を選択するウィンドウが出たりする。このとき選択しておけばたぶん後々面倒がない。僕はflacを選択している。

2019.12月末に追記。
ここでflacをインストールしたら、古いバージョンのflacがインストールされるようだ。つまりEACに同梱されているflacが古い。別途、新しいflacをインストールして、EACの設定で選択したほうがいいようだ。
flac.exeは32bitと64bitがある。EACは32bitアプリだけど、どちらでも機能するようなので64bitを使うようにした。若干エンコードが速いかな。

日本語化のページはこちら。お好みで。
http://sonicdisorder.net/eacinstall.php
最初のEAC起動の前にファイルを入れるということが書いてあるが、後からでも問題ない。再起動したら反映される。

設定。
ドライブオプション。
インストール直後だとギャップ検出がセキュアになってないので、これを直す。以前、設定がおかしいというエントリーを上げたが、どうもインストール直後のデフォルトはInaccurate(不精密)らしい。検出方法は僕はAを基本にしている。
取り込み方法の設定、ドライブのタグから読み出しコマンドの設定を行う。
オフセットのタグからAccurateRipを設定。

エンコードオプションの外部エンコーダタグを設定する。
インストール時にflacを選択しているからか、既に表示されている。
「追加のコマンドラインオプション」でファイルに書き込まれるタグの内容が設定されているので、これを自分の都合のいいように編集しておく。
僕の場合、CD単位のflacとcue sheetで保存すると決めているので、ARTISTやTITLEを「ARTIST=%albumartist%" "TITLE=%albumtitle%」に変更しておく必要がある。こうしておかないとflacファイルのTrack Titleというタグに、なぜかCDの2曲目の曲名が書き込まれる。2曲目がないCDだったら何も書き込まれない。
これが、mpdで再生するときクライアント上の表示に反映される。
意味もなく2曲目が表示されてるからといって再生自体の不具合はないけど、あんまり気持ちいいものではない。
ちなみにタグと書いたが、flacの場合はID3タグではなく、FLAC tagsとVorbis commentsに対応してるとのことらしい。必要ないならID3タグは書き込まない設定のほうが無難かもしれない。

2018.3.28、追記。
タグについて分かりやすく説明しているサイトがあったのでアドレスを記載。
FLAC形式のタグの混乱について
http://reika788.blog.fc2.com/blog-entry-8.html

2017.04.17、追記。
EACがバージョンアップして、エンコードの設定も多少変わったとのこと。
以下に、EACサイトのアドレス。

FAQ » Exact Audio Copy
http://www.exactaudiocopy.de/en/index.php/support/faq/
Which flags can I use in the external compression scheme “User Defined MP3 Encoder”?
http://www.exactaudiocopy.de/en/index.php/2007/03/15/which-flags-can-i-use-in-the-external-compression-scheme-user-defined-mp3-encoder/

mp3のエンコードということだけど、flacでもこの設定を同様に使用する。
versions 1.0 beta2以降、設定が変わったと書いてある。
この設定を「追加のコマンドラインオプション」に記載していないとエンコードしてくれない。
最低限、「-○ %source%」(○は圧縮率で0から8の数字で設定する)だけ書いていれば、エンコードしてくれる。しかし、それだけだと他のタグをエンコードしたファイルに書き込んでくれないので、他の設定も書き込んでおく方がいいと思う。

圧縮率の数値は、上げたら上げただけファイルが小さくなるわけではないようで、5あたりにしておくのが妥当らしい。
以下、参考サイト。
FLACの圧縮率・圧縮速度の傾向 - sgryjp.log
http://sgry.jp/blog/2016/09/17/3811/
藤本健のDigital Audio Laboratory:FLACとApple Lossless圧縮で、変換速度や圧縮率に違いはある?
http://av.watch.impress.co.jp/docs/series/dal/650133.html

2019.12月末、追記でうちの設定を覚書にしておく。

-V -T "ARTIST=%albumartist%" -T "TITLE=%albumtitle%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%numtracks%" -T "GENRE=%genre%" -T "COMMENT=%comment%" -T "ALBUMARTIST=%albumartist%" -T "COMPOSER=%composer%" %haslyrics%?tag-from-file=LYRICS="%lyricsfile%"%haslyrics% -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "TOTALTRACKS=%numtracks%" -T "PERFORMER=%albuminterpret%" %hascover%?picture="%coverfile%"%hascover% -5 %source%

メタデータオプションのfreedbタグではfreedbサーバを「http://freedbtest.dyndns.org:80/~cddb/cddb.cgi」に設定。日本語に強いということらしい。

2019.12月末、追記。
クラシック中心のリッピングになると不利みたい。最近はデフォルトで登録されている「http://freedb.freedb.org:80/~cddb/cddb.cgi」も使うことが多い。

だいたいこんな感じか。

Posted at 16:50 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

May 01, 2013

Vine Mpd ppcについて覚書(12)デーモンの刈り込み

必要がないのに動いているdaemonを停止することで音質向上が見込めるということでやってみた。
そんなに期待してなかったという面があるからかもしれないが、期待以上の変化があった。
画像で例えると、640*480が1600*1200になるような感じ、というと言い過ぎか。
解像度が上がり見通しが良くなる。

最近は過渡特性とかトランジェントと呼ぶらしいが、音声の立ち上がり、立下りが良くなってリアリティが増してくる。肌理細かい音になるので、打楽器のアタック音は際立つけれど耳に障らない音で再生される。ボーカルは細やかなニュアンスが再現されるようになる。
そういう感じを求めているんだけど、デーモンの刈り込みで求めるところに近づくと思う。
楽器の音とか優れた歌い手の声というのは本来から快い音なので、上手く再生されるとそれだけで音楽自体の好みとか関係なく聞き惚れてしまうということがある。オーディオマニアは音ばかり聴いて音楽を聴いてないというけど、それも仕方ないじゃないかという状況になるのが目標といっていいかもしれない。

現在の状況は以下の通り。
刈り込んだデーモンは赤色表示。起動中は青。

[root@localhost ab]# chkconfig --list 
NetworkManager  0:off   1:off   2:on    3:off   4:on    5:on    6:off 
anacron         0:off   1:off   2:on    3:off   4:on    5:on    6:off 
apache2         0:off   1:off   2:off   3:off   4:off   5:off   6:off 
atalk           0:off   1:off   2:off   3:off   4:on    5:on    6:off 
atd             0:off   1:off   2:off   3:off   4:on    5:on    6:off 
autofs          0:off   1:off   2:off   3:off   4:on    5:on    6:off 
avahi-daemon    0:off   1:off   2:off   3:off   4:off   5:off   6:off 
avahi-dnsconfd  0:off   1:off   2:off   3:off   4:off   5:off   6:off 
bluetooth       0:off   1:off   2:off   3:off   4:on    5:on    6:off 
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off 
cups            0:off   1:off   2:on    3:off   4:on    5:on    6:off 
dhcpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off 
dhcrelay        0:off   1:off   2:off   3:off   4:off   5:off   6:off 
dkms_autoinstaller      0:off   1:off   2:off   3:off   4:off   5:on    6:off 
dnsmasq         0:off   1:off   2:off   3:off   4:off   5:off   6:off 
dovecot         0:off   1:off   2:off   3:off   4:off   5:off   6:off 
firstboot       0:off   1:off   2:off   3:off   4:off   5:on    6:off 
haldaemon       0:off   1:off   2:off   3:off   4:off   5:on    6:off 
iptables        0:off   1:off   2:off   3:off   4:on    5:on    6:off 
irqbalance      0:off   1:off   2:off   3:off   4:off   5:off   6:off 
iscsi           0:off   1:off   2:off   3:off   4:off   5:off   6:off 
iscsid          0:off   1:off   2:off   3:off   4:off   5:off   6:off 
lirc            0:off   1:off   2:off   3:off   4:off   5:off   6:off 
mdmonitor       0:off   1:off   2:off   3:off   4:off   5:off   6:off 
mdmpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off 
messagebus      0:off   1:off   2:on    3:off   4:on    5:on    6:off 
named           0:off   1:off   2:off   3:off   4:off   5:off   6:off 
netfs           0:off   1:off   2:off   3:off   4:on    5:on    6:off 
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off 
nfs             0:off   1:off   2:on    3:off   4:on    5:on    6:off 
nfslock         0:off   1:off   2:on    3:off   4:on    5:on    6:off 
nmb             0:off   1:off   2:off   3:off   4:off   5:off   6:off 
nscd            0:off   1:off   2:off   3:off   4:off   5:off   6:off 
ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off 
portmap         0:off   1:off   2:off   3:off   4:on    5:on    6:off 
postfix         0:off   1:off   2:on    3:off   4:on    5:on    6:off 
proftpd         0:off   1:off   2:off   3:off   4:off   5:off   6:off 
random          0:off   1:off   2:on    3:on    4:on    5:on    6:off 
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off 
rpcidmapd       0:off   1:off   2:on    3:off   4:on    5:on    6:off 
saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off 
smb             0:off   1:off   2:off   3:off   4:off   5:off   6:off 
sshd            0:off   1:off   2:off   3:off   4:off   5:on    6:off 
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off 
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off 
uuidd           0:off   1:off   2:on    3:on    4:on    5:on    6:off 
winbind         0:off   1:off   2:off   3:off   4:off   5:off   6:off 
wpa_supplicant  0:off   1:off   2:off   3:off   4:off   5:off   6:off 
xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off 
 
xinetd ベースのサービス: 
        chargen:        off 
        chargen-udp:    off 
        cups-lpd:       off 
        daytime:        off 
        daytime-udp:    off 
        echo:           off 
        echo-udp:       off 
        rsync:          off 
        services:       off 
        swat:           off 
        telnet:         on 
        time:           off 
        time-udp:       off 

atalkやbluetoothなど以前から止めてあったdaemonもあるが、分からないものは放置していた。
手始めにsshdから止めて、 irqbalance、 iscsi、iscsid、 mdmonitor、 avahi-daemon、 dkms_autoinstaller、 firstboot、 netfs、nfs、nfslock、rpcidmapd、portmap、 NetworkManager、 iptables、 haldaemon、messagebus、 anacron、atd、autofs、と止めてしまった。
今のところ、システムは安定していて問題は出ていない。

追記。
うちのシステムでは、OS起動時にNASをマウントするような設定はしていない。
手動でコマンドを打ちマウントさせている。

「/etc/fstab」に設定を記載し自動でマウントさせるということなら「netfs」は止めてはいけないかもしれない。fstabに関係するデーモンだからだ。他にも関連するデーモンがあるかもしれない。
各々のシステムの状況によって止めることが出来るデーモンは違うので、一応、注意書きしておく。

コマンドについて覚書。

# chkconfig --level 345 iscsi off

上記のような感じでランレベル、サービス名、on/off、で設定する。
システムを再起動したら元に戻ってしまう場合もあるらしいが、Vine Linux 5.2 ppcの場合はこれだけで再起動後にも反映される。

それにしても随分止めたものだ。
haldaemon、messagebusなどはサイトによってはOFFにすべきではないデーモンに分類されている。実際、Powerbookのほうでもあれこれと止めていたらマウスの入力を受け付けなくなって慌てた。
正直なとこ、最後のほうになってくると音がよくなってるのかどうかはっきりしない。十分な試聴が出来ないので評価しないままどんどん止めている。本当は評価しながらしたほうがいいのだろうけど、なかなか難しい。

以下、参考にしたサイト。

http://www.d3.dion.ne.jp/~koetaka/demon2.html 不要なサービスを停止する STARTUP LINUX
http://www.obenri.com/_minset_cent5/daemon_cent5.html ◇不要デーモンの停止(CentOS5)◇☆お便利サーバー.com☆
http://www.obenri.com/_minset_wbel3/daemon_wbel3.html ◇不要デーモンの停止(WBEL3)◇☆お便利サーバー.com☆
http://d.hatena.ne.jp/weblinuxmemo/20090911/p1 不要なサービスの停止 - Linux Memo: Vine Linux 5 設定 tips
http://ikubo.x0.com/unix/CentOS50_stop_Service.htm 不要なサービスを止める (CentOS 5.0)
http://linux.rakunet.jp/linux/service_stop/service_stop.html 不要なサービスを停止
http://www.kozupon.com/etc/daemon.html Kozupon.com - 不要なデーモンの停止とシステムのセキュアー化!

他にもあちこち見て回った。

自分用にdaemonの一覧表を作ることにした。
前述のサイトから記述をもらったりしている。この場で申し訳ないけど御礼申し上げます。

NetworkManager

off

無線LANの暗号化キーなどの管理を行い、利用状況に応じて複数のNICの自動切換えを行うデーモン、とのこと。動的なネットワーク管理システムで、モバイル状況などでGUIで設定を容易にできるので便利。しかし、/etc/resolv.conf を自動で上書きしたりするため困ることがあるらしい。

anacron

off

コマンドをタイムスケジュールに応じて実行する「crond」は、その実行予定時刻にシステムが稼動していない場合には実行がキャンセルされる。「anacron」は「crond」のタイムスケジュールを管理し、実行がキャンセルされてしまったコマンドを「後から追っかけて実行」するデーモン。

apache2

off

HTTPサーバを作るときに使う。

atalk

off

OS9以前のMacにAppleTalkで接続するためのデーモン。

atd

off

「at」コマンドのために必要なデーモン。「at」は単発的に指定時刻にコマンドを実行するために使用する。

autofs

off

フロッピーディスクやCD-ROM、DVD-ROMなどのリムーバブルストレージやNFSなどを自動的に接続、マウントし、設定時間以内のアクセスが無ければアンマウントするデーモン。

avahi-daemon

off

アプリケーションが、マルチキャストDNSを使って名前を公開したり解決したり出来るようにするためのデーモン。
※Avahi: MacOSXのボンジュールの様なもの。設定の必要なしにネットワークに参加できるようにするための技術。DHCP、DNS、プリンタやファイルの共有などを設定なしに行う。このデーモンはその一部。

avahi-dnsconfd

off

Avahi dns configuration daemon。ネットワークを監視して、設定なしでDNSサーバを見つける。見つけたDNSサーバは「resolv.confより優先させる」ということらしい。

bluetooth

off

bluetoothワイヤレス通信サービス。bluetoothを使わないなら止める。

crond

on

タスクスケジューラー。設定はユーザーごとに「crontab」に記述。システム全体用のcrontabも存在する。指定した時刻にサーバーが起動していなければタスクはスキップされる。決められた時間にジョブを実行するのに必要。止めてはいけないデーモンらしい。

cups

off

プリンタ関連のサービス。プリンタサーバーとして使用する場合は必須。

dhcpd

off

Dynamic Host Configuration Protocol(DHCP:動的ホスト設定プロトコル)とInternet Bootstrap Protocol(BOOTP)とを実装したもの。要はDHCPサーバーとして使用する場合に必要。

dhcrelay

off

DHCPサーバが直接には接続されていないサブネットからのDHCP要求やBOOTP要求を、他のサブネットにある1つまたは複数のDHCPサーバに中継する手段を提供する、とのこと。

dkms_autoinstaller

off

起動時にDKMS対応のカーネルモジュールを自動的にロード、インストールするという。

dnsmasq

off

小中規模の内部ネットワークなどで簡易的なDNSサーバを立てる場合に使う。

covecot

off

POP/IMAPサーバー(メール受信サーバー)として構築する場合に使用。

firstboot

off

インストール後、最初の起動時に初期設定を行う。このデーモンは一度実行されると初回起動時設定完了が記録された「/etc/sysconifg/firstboot」が作成され、このファイルを削除しない限り「firstboot」は再び実行されることはない、という。

haldaemon

off

デスクトップ間アプリケーション通信のプロトコル「D-BUS」をサポートするデーモン。
HAL(ハードウェア抽象化層)という仕組みに関係し、プラグ&プレイデバイス(USB外付けHDDやUSBメモリ等)に対応するハードウェア情報収集サービス。比較的新しい機構で、Linuxカーネルはこの仕組みを使ってデバイスを管理できるようになっている。PCI、SCSIなどのバスも監視する。「messagebus」を動かしておく必要がある、とのこと。
止めてはいけないデーモンらしいが。

iptables

off

IPv4用のパケットフィルタリングソフトウェアによるルーティング&ファイヤーウォール。ファイヤーウォールを設定しない場合でも、これが稼動していなければ動作しないアプリもあるというが、、。

irqbalance

off

マルチCPU環境で2ndCPU以降も割り込み処理を行えるようにして効率よく処理を分散させるデーモン。マルチCPUかどうかは「# cat /proc/interrupts」で確認できる。動作確認は「# /etc/init.d/irpbalance status」「# ps aux | grep irqbalance」で行う。
当然、シングルコアなら不要。

iscsi、iscsid

off

SCSIプロトコルをTCP/IPネットワーク上で使用する「iSCSI接続」をサポートするデーモン。

lirc

off

Linux Infrared Remote Control。リモコンと関係があるらしい。

mdmonitor

off

ハードディスクをソフトウェアRAIDで使用する場合の監視デーモン。エラーの発生時にシステム管理者への通知する。

mdmpd

off

MD multipath Daemon。ソフトウェアRAIDで、一つのハードディスクに対して複数のインターフェースから接続可能なサーバーシステムを使用する場合の監視デーモン。multipathデバイスの監視をサポートするサービス。

messagebus

off

デスクトップ上で相互にメッセージを送るためのデーモン、とのこと。
「D-Bus」を使用可能にするデーモン。haldaemon、dhcdbd、oddjobdなどを動かすなら必要。
※D-Bus:メッセージバスの1つ。特定のサービスにメッセージを送信したり、興味のある全てのサービスにメッセージをブロードキャストするためのAPIを提供。APとシステムの低レベルにあるコンポーネントとの間でイベントを送信が可能になる。
止めてはいけないデーモンらしいが、うちのibookでは止めている。

named

off

DNSサーバーアプリケーション「BIND」のデーモン。

netfs

off

「/etc/fstab」にsmbfs、cifs、nfsなどファイルシステムをマウントするように記述していると、システム起動時にマウント、シャットダウン時にアンマウントしてくれる。
NFSクライアントデーモン。NFSサーバーに接続してファイル共有するために必要。
これを稼動させていなければ「autofs」デーモンが稼動していてもファイル共有できないらしい。MacOSXやNFSサーバーを実装したWindowsOSとファイル共有をする場合にも必要となるらしい。

network

on

ブート時にネットワークインターフェイスを設定するサービスで、OFFにすると起動時にネットワークに繋がらなくなる。手動で設定を行わないといけなくなる。
止めてはいけないデーモン。

nfs

off

Network File System。Linuxファイルシステムのマウントに関わる。動かすには「portmap」も必要。

nfslock

off

NFSサーバーのデータを保護するための「ファイルロック機構」を提供するデーモン。「portmap → nfslock → nfs」の順に起動する必要がある。

nmb

off

Samba関連。名前解決プログラムであるnmbdと関係あるらしい。

nscd

off

ネームサービスキャッシュデーモン。passwd、group、hostsなどをキャッシュして、libc経由で提供する。DNSやNISの情報をキャッシュするので、/etc/resolv.conf などを編集したら再起動が必要。DNSを使っていれば必要ない?

ntpd

off

Network Time Protocol daemon。NTPで上位のNTPサーバーのタイムゾーンの設定を参照して時刻を調整し、同時にサーバーとして時刻を配信する。インターネット標準時サーバと同期してシステム時間をセットし維持するオペレーティング・システム・デーモン。
うちでは最初から止まってた気がするが、どうなんだろうか。止めてはいけないデーモンらしい。

portmap

off

Linux向けRPC(remote procedure call)関連のポートマッパー。RPCに対する要求に応答し要求されたRPCサービスへの接続を設定する。ポートマップはRPCサーバプログラムが起動される前に動作していなければならない。NFSやNISなどを使用する場合は必要だがNFSv4では不要。NIS、NFS、FAM以外ではほとんど使われないらしい。

postfix

off

メールサーバー。

proftpd

off

port mapperサービス。NFSやNISを使用する場合に必要。

random

on

システム上で乱数を発生させるデーモン。SSLなどセキュリティ関連で必要になったり、アプリケーションが「どちらでもいい」という曖昧な処理を行う場合に利用することがあるという。

rdisc

off

ローカルなサブネット内でルーターとして動作させるときの経路管理を行うデーモン。

rpcidmapd

off

NFSを利用するときに利用するセキュリティ関係のユーティリティで、ユーザー名/グループ名とUID/GID のマップを保持するデーモンとのこと。NFSを使わないならoff。

saslauthd

off

SASL(Simple Authentication and Security Layer)のデーモン。IMAP、POP3、SMTPなどの認証を支援する。コネクションベースのプロトコル認証をサポートするデーモン。

smb

off

LinuxでWindowsOSのファイルサーバーを稼動させるアプリケーション「samba」のデーモン。

sshd

off

リモートホストとの通信を暗号化してやりとりを行う「SSH」で通信するために必要。

syslog

on

システムのログを記録する。サーバー不調時にログが無いと困る。

udev-post

on

ハードウェア自動認識を行うデーモン。止めてはいけない。

uuidd

on

UUID(Universally Unique Identifier)ライブラリから利用されるデーモン。時刻情報に基づくUUIDを、安全にそして一意性を確保して生成する。最近のLinuxディストリビューションの場合、このUUIDを例えばハード・ディスクの個々のパーティションを識別するための情報として使っていたりする。UUIDは「/etc/fstab」ファイルの中身を見れば確認できる。

winbind

off

「samba」でWindowsOSのファイル共有を行う際に、ホスト機をNTドメイン(WidnowsOS独自のネットワークユーザー管理システム)に参加させるためのデーモン。

wpa_supplicant

off

無線LANの暗号化及び認証の規格であるWPA(Wi-Fi Protected Access)をサポート。

xineted

on

スーパーサーバーデーモン。telnetやswatなどxinetdでコントロールするサービスがあるならon。

Posted at 10:00 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

Apr 17, 2013

Vine Mpd ppcについて覚書(11)mpd.conf : audio_buffer_sizeとbuffer_before_play

mpd.confの記載内容に関して。
過去のエントリーで以下のように書いていた。

# MPD Internal Buffering ####

audio_buffer_size		"384"
buffer_before_play		"5%"
#

ここの設定について追記。新規エントリーにする。
参考にリンク。
http://linux.die.net/man/5/mpd.conf

「audio_buffer_size」と「buffer_before_play」のデフォルトは2048と10%らしい。これらを変更することで音質が変わるという。
「audio_buffer_size」の数値はkbである。
「buffer_before_play」はaudio_buffer_sizeのうち何%使うかを0~100%の範囲で設定できる。

5%は少なめの設定だが、384kbの5%ということなら20kb弱だ。
この数値にどういう意味があるのか分からない。
ひどく少ない。
256kbの5%だと12.8kbになってしまう。
これは44.1/16の音楽データだと0.1秒に満たない。384kbの5%だと0.1秒を超える。

384kbの5%は、44.1/16の音楽データだと0.1秒を超えるぐらい。
しかしうちでは88.2/24にアップサンプリングしてるので、0.1秒よりもっと短いはずだ。

上記の設定で、CD1枚単位をflac+cue sheetにリッピングしたものを通して再生する分には、全く問題ない。
しかしiTSから買ったアルバムを通して聴く場合だと、ライブ盤を再生すると音が途切れるのが分かる。m4aをギャップレス再生できないのだ。
384kb/5%では足りないのだろうか。

bufferに関連してリンク。
http://mpd.wikia.com/wiki/Music_Player_Daemon_Crossfading_Troubleshooting
リンク先から引用してみる。

MPD does crossfading by using the buffer.
The amount of buffer used for crossfading is the size of the buffer minus the amount of space reserved for buffer_before_play.
By default (2MB buffer and 25% buffer_before_play) this is approximately 9 seconds of crossfading for 44.1 khz, 16-bit, stereo audio.
If you have the buffer_before_play set to 100%, there will be no crossfading.

crossfadingという操作がmpdクライアントから設定できる。
曲再生が終わって次の曲に移る際に数秒間かぶるように出来る(秒数も設定できる)。

ここで書かれていることから推測するに、buffer_before_playで使われる以外のbufferに、crossfadingのためのデータを読み込むということらしい。
こうした特別な使途がないなら、ほとんどなくてもいいbufferなのかもしれない。
逆に、before playとcrossfading以外で使うことがあれば不具合があるかもしれない。
ギャップレス再生の不具合とは関係があるのだろうか。
http://linux.die.net/man/5/mpd.confには「Try increasing this if you hear skipping when manually changing songs.」とあるが、skippingというのがどういう状態かよく分からない。

みみず工房掲示板からも引用する。

audio_buffer_size
decoderスレッドからoutputスレッドへデータを受け渡すfifoバッファーのサイズです。
buffer_before_play
audio_buffer_sizeのデータがこれより少なくなるとdecoderが動いてバッファーにデータを追加します。
再生開始時はバッファーにデータがこの値になるまで開始されません。
この値を100%にすると常に空きが出ないようにdecoderが動きます。

ここも参考にリンク。
http://d.hatena.ne.jp/propella/20061202/p2 ALSA PCM プログラミングのサウンドバッファ - 言語ゲーム

「audio_buffer_size "384" buffer_before_play "5%"」だと、20kb弱のbufferを切らさないようにdecoderが動いてるってことになる?
audio_buffer_size "1024" buffer_before_play "100%"といった設定だと、1MBのbufferを常に抱えることになる。
全く状況が違ってくるだろう。
常にdecoderが動いてるというのは望ましい状態なのかどうか。
buffer_before_playが100%だと常にdecoderが動くということだけど、buffer_before_playが小さい場合もdecoderが動く頻度が多くなると思う。
再生音にどんな変化があるのだろう。

どんな設定がいいのか、試行錯誤してみる。

こういう試行錯誤がやりやすくなった背景にはibook G4をtelnetサーバーにしたということがある。
当初はsshを考えていたんだけど「鍵」の扱いが面倒でやめた。もしかしたら鍵を使わない設定も出来るのかもしれないが分からなかった。家庭内LANなのでと割り切ってsshdも止めてしまった。

telnetサーバーはVine Linux ppc 5.2には最初からは入ってないので、Synapticパッケージマネージャを使ってインストールした。
当然だけどtelnetを使うと何かと楽だ。いちいちオーディオラックの下からibookを引っ張り出す必要がないし、ncmpcppを操作しながら、同じ画面でmpdサーバーの状況も操作できるというのは面白い。

クラシックの歌劇のCDを曲ごとにリッピングし、flacで保存したものを再生する。
「audio_output_format」は44.1kHz、16bitに固定した。

まず「audio_buffer_size "256"」にしてみる。
「buffer_before_play」の値は、0、10、50、100と換えてみた。
結果、これでは数秒間しか音が出ないことが分かった。
256では駄目みたいだ。

次に「audio_buffer_size "264"」にしてみる。
再生自体に問題はない。
しかし「buffer_before_play "100%"」にするとncmpcppでFキーを押して早送りすると、そのあと音が出なくなるなど再生の不具合が出る。
「buffer_before_play "10%"」にすると問題なくなった。
buffer_before_play以外のbufferは使用状況によっては不可欠かもしれない。
ギャップレス再生は問題なし。

いろいろ試していく。
こまごま書いていっても分かりにくいので、結果を表にする。
縦軸が「buffer_before_play」。
横軸が「audio_buffer_size」だ。


256 264 288 320 512 1024
0 b np np np np np
10 b np np np np np
20 b np, f



30 b np, f



50 b np, f np, f np np np
60 b f



80 b
f f f np
90 b



f
100 b f f f f f
  • b : 再生しても数秒間しか音が出ない状態。
  • f : Fキーで早送りしたときに不具合が生じる。
  • np : no problem

npとfの両方が付いているのは、不具合が出る頻度が少ないと感じた所である。
あまり厳密に回数を数えたりまではしなかったので、印象での評価だ。

ざっと見た感じ、早送りにはbuffer_before_play以外のbufferが必要だと分かる。
必要な数値を計算してみる。
1024*(1-0.8)≒200、320*(1-0.5)=160、264*(1-0.3)≒185

どうやら、200kb程の余裕があれば、問題なく早送り出来るようだ。
余分のbufferが足りないと早送りの後で音が出なくなったりする。それでも何回かFキーなどを連打したら音が出る。
しかし、buffer_before_playが100%だとそれも上手くいかない。早送り自体が出来ないこともあり、止まったときに音を出すにはトラックの初めから再生するしかないようだ。

ギャップレス再生はaudio_buffer_sizeが256kbのとき以外の条件だと問題なく出来た。
256kbでは再生自体がままならなかったので仕方ない。
ということは、ギャップレス再生の可否はbufferの大きさには依存しないということだ。

m4aだとどうか。実は、audio_buffer_sizeが1024でも音が途切れる感じがあった。では、audio_buffer_sizeの数値によって途切れる感じが違ってくるかというと、以外にそうでもない。
mpdの設定よりも、ファイル形式による影響のほうが大きいのかもしれない。

現在の設定は以下の通り。きりがいい数値にした。

audio_buffer_size		"320"
buffer_before_play		"10%"

設定によって確かに音色の感触は違う。
しかし、どの設定が優れているかの判断は難しいと思った。
audio_buffer_sizeが大きいとゆったりした感触になるというのは世評のとおりだと感じた。

buffer_before_playの数値による違いは、どうもはっきりしなかった。
100%だとやや窮屈に聞こえるような印象で、音飛びさえなければ0%のほうがいいような気がする。しかし、そんな印象は気のせいじゃないか?という気もする。
素人考えだが、「0%」というけど実際に再生直前の音楽データのbufferを「0kb」で回してるなんてことは考えにくくて、実はmpdが勝手に判断してデータを切り回してると考えたほうが実際に近いのではないかと思う。

ちなみに、選曲時に「skipping」と思われる不具合も生じなかった。
そういうわけでbuffer_before_playは少なめだ。

アップサンプリングについての音質評価はまだしていない。しかし、少なくともbuffer_before_playの数値よりは影響が大きい印象だ。

ファイル形式によるギャップレス再生の不具合の違いは、そのうちまた確かめてみようと思う。
僕が使ったm4aファイルが、もともと良くないものだった可能性だってあるからだ。
iTunesで同じCDをリップして確認する必要があると思う。

追記。
CDを楽曲ごとにリップして作ったm4aファイルを再生してみた。
サンプリング周波数は320kHz。
やはりiTSで買ったファイル同様、わずかに楽曲間で音が飛ぶ。

ギャップレス再生の可否は、mpd自体の問題ではなく、各々のファイル形式のCodecによるのではないだろうか。本来ギャップレス可能になるはずのCodecにmpdが充分に適応できていないということなら、mpdの問題ということになるだろうけど。

Posted at 10:00 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

Apr 12, 2013

Vine Mpd ppcについて覚書(10)NASのマウントについて

これも結構困ったのを思い出したのでエントリーにする。

現在は、PCオーディオ実験室で紹介されてる自動マウントのような、高度な設定はしていない。
iBook G4の起動後、ランレベル3の端末からコマンドを打ち込んで「Music」ディレクトリにマウントさせるという、原始的な手法をとっている。
そんなに困らないから今のままでいいかな、と思っている。

ファイルシステムをマウントするにあたって、まず「マウントポイント」を作る。
うちの場合、「/root/Music」をmpdのmusic_directoryに指定してるので、ここに空のディレクトリを作りマウントポイントにする。
次に、以下のようなコマンドを打ってみた。
以下のようなというのは、はっきり覚えてないからである。

# mount -t nfs //192.168~(マウントするNASのディレクトリのパス) /root/Music/(マウントポイント名)

これが上手くいかなかった。マウントしない。
PCオーディオ実験室のエントリーには「cifs」とか「smbfs」といった文字列が出てくる。ファイルシステムをマウントするにあたって、ファイル形式によって選択する文字列が違ってくるらしい。
nfsじゃダメだったのでcifs、smbfsとやってみたけど、やはり上手くいかなかった。

そこで「man mount」でマニュアルを読んでみたけど、よく分からない。
これにはまいった。
外付けHDDにするなんて手間はかけられない。

ネット上で手がかりをさがしているうち「cifs」というのがあると知る。
Windows上のファイルにLinuxからアクセスするには(mount.cifs編) - @IT
これを試したら当った。

# mount -t cifs //192.168~(マウントするNASのディレクトリのパス) /root/Music/(マウントポイント名)

これで、NAS上のディレクトリをmusic_directoryにマウントできた。

ところがまだ問題があった。
NAS上にはiTunes Libraryの音楽ファイル用ディレクトリも置いてある。これを/root/Music/にマウントしようとしたら出来なかった。
ディレクトリ名に「iTunes Media」が使われているので、コマンドに半角スペースが混じる。そのままでは正しいコマンドとして成り立たなくなるのだ。

対策は簡単で、パスを""(ダブルクォーテーション)で囲むだけでいい。

# mount -t cifs //"192.168~(マウントするNASのディレクトリのパス)" /root/Music/(マウントポイント名)

これで問題なくマウントできた。
\(バックスラッシュ)を使ってコマンドを書く方法もあるということだが、試みていない。

毎回こんな長ったらしいコマンドを打つのは大変なので、「alias」に登録してある。
bashの設定ファイル「.bashrc」に、コマンドをマウントポイント名でaliasに登録してあるので、マウントポイント名を端末に打ち込むだけでマウントできる。
ダブルクォーテーションを使ってるコマンドは、'(クォーテーション)を併用して書いている。

これぐらいなら手間だとあんまり思わないので、これでいけてる感じだ。

Posted at 09:37 in audio_diary | WriteBacks (0) | Edit Tagged as: , ,
Page 12 / 14 :  « ‹ Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Next › »

ABK1s HOMEPAGE::audio diary ~2006

Search


abk1's scratched blog 3::AUDIO DIARY

Search


Advanced Search

July
Sun Mon Tue Wed Thu Fri Sat
    5
   
Categories
Archives
Syndicate AUDIO DIARY (XML)
Syndicate this site (XML)


Powered by
blosxom 2.0
and
modified by
blosxom starter kit