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」も使うことが多い。
だいたいこんな感じか。
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-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」をサポートするデーモン。 |
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 |
デスクトップ上で相互にメッセージを送るためのデーモン、とのこと。 |
named |
off |
DNSサーバーアプリケーション「BIND」のデーモン。 |
netfs |
off |
「/etc/fstab」にsmbfs、cifs、nfsなどファイルシステムをマウントするように記述していると、システム起動時にマウント、シャットダウン時にアンマウントしてくれる。 |
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。 |
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の問題ということになるだろうけど。
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に登録してあるので、マウントポイント名を端末に打ち込むだけでマウントできる。
ダブルクォーテーションを使ってるコマンドは、'(クォーテーション)を併用して書いている。
これぐらいなら手間だとあんまり思わないので、これでいけてる感じだ。
Apr 03, 2013
オーディオ状況報告
いろいろ変わったので、現在のオーディオシステムについて記録しておく。
4月6日、ちょっといろいろ追記。
一部、書き間違えを訂正している。
| BY50S |
HDL2-A2.0 (LAN: KB-FL7-05BK) |
|
||||||||||||
|
|
|
||||||||||||
|
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 | ||||||||||||||
昨年9月のエントリーで書いたのと比べて、DACの上流が変わっている。
まずCDプレーヤーだけど、TEACのVRDS-25xsを外して、KenwoodのDP-5090に変更している。
理由は、実はVRDS-25xsだとCDを入れっぱなしにするとターンテーブルにCDがくっついてしまうことがあるから。めったにはないんだけど、そうなると天板を開けるなりしてCDを取り出さないといけない。僕以外の家族が使うことを想定しているので、マニアックで高音質目指した機種よりトラブルが少ない機種のほうが望ましい。
VRDS-25xsよりもいい音がPCトランスポートで得られる目星がついたかも?ということもある。
RCA(COAX)出力をBNC、さらにBJC-XP-TRCでXLRに変換してDACに入力している。
なぜか分からないけど、odeon-liteのRCA入力周りの状態によって、たびたびodeon-liteのリレーが動くということがある。25xsでもDP-5090でも同じで、電源ケーブルその他対策を講じてみたけど、なかなか直らない。
CDプレーヤーからの出力をBJC-XP-TRCをかませてXLRに入れると、この不具合がない。
これでいいや、ということにしてしまった。
PCトランスポートとしてibook G4を追加している。
mac miniのAudirvana Plusと、ibook G4のmpdを使い分けできるようにしているが、最近は主にmpdを使っている。
理由は、実はmac miniを子供に占拠されてるからだ。4才の子がPOCOYOを観てるのにいちいちどけと言ってゴソゴソするのは面倒だ。メモリを8GBも積んでいてメインマシンにするつもりだったんだけど、そうもいかなくなっている。
その点、mpdなら離れた場所にあるクライアントからオーディオ再生の指示が出せる。音質は、未だ試行錯誤中だけど定評どおり期待できそうな感じだ。
mpdの出力は、現在は88.2kHz/24bitにしている。
アップサンプリングの周波数は元のファイルの整数倍がいいという話を随所で聞くので44.1kHzの倍にした。
あと、整数倍でのアップサンプリングのほうがibookへの負担が少ないだろうと思ったから。デジタルオーディオではシステムが安定して動くという事が音質上極めて重要だと個人的に思っている。そのためには負荷が少ないほうがいいのではと考えた。
96kHzのときと聴き比べは出来ていないが、なんとなく音がしっかりしたような気がする。
じゃあなぜmac miniは96kHzなのかというと、こっちはなんとなく96kHzのほうがいいような気がしたから。理由はよく分からない。気のせいかもしれない。メモリ8GBが効いてるのかも知れない。
以前は、mac miniからの光出力を直接SRC2496の光入力に繋いでいたが、今はAT-HDSL-1に繋いで同軸出力に変換している。
代わりにibook G4、RAL-2496UT1からの出力を光入力に繋いでいる。以前はこっちをAT-HDSL-1に繋いでいたんだけど、USBから光、さらに同軸と、こんなに変換を繰り返すことにどういう意味があるのかと感じて入れ替えた。
ibook本体は、ラック下の床に邪魔にならないように置いている。のぞきこむと白いリンゴが光っているのが見える。
mac miniはコンポから若干離れたとこのTV台に、モニター付けてセッティングしている。前述したとおり最近はもっぱら子供が使っている。AudirvanaとiTunesからの音声を5mもの長さの光ケーブルでオーディオコンポに出力している。
トランスポートからのデジタル出力は全てSRC2496に入れている。
これはDDコンバーターで「リサンプリング」することでジッターを低減するという。
mac miniからの5mの光ケーブルをDACに繋ぐ場合、直接だととてもVRDS-25xsの音質に届かなかったが、SRC2496を間にかますだけで超えてしまった。それからというもの僕はリサンプリング信者になってしまった。
ほかにもいくつか変更がある。
以前は繋いであったTU-875を外している。これはスイッチが壊れてしまったから。
アナログプレーヤーを使う際に必要なのでいずれは修理したい。
DEQ2496によるイコライジング・室内音響調整は、したいけど出来ないまま。
繋いではいるけど使ってないので今回は書いていない。
本当はカセットデッキのテープ再生をデジタル変換してPCに記録するのにも使いたいんだけど、出来ていない。
AirMac Expressは繋ぐとこがなくなったしオーディオとして使ってないので外した。
別室のプリンタに繋いだら便利かも、とか考えている。
あと、ここには書いていないが、SRC2496の外部クロックに某製品を繋いでいた。
SRC2496の内部クロックは良くないという話を読んだことがあったから、ものは試しと。
しかし、これがどうも繋いでいるとポップノイズが出る。音声再生中に限らずクロックのスイッチを入れているとプチ、プチ、というので、クロックの不具合のような気がする。あれこれ思いつく対策をとってみたけど、結局、外部クロックを使わなかったら不具合ないようだということで、外してしまった。
使う方がいい音がするということもないように思ったので、当面は外部クロックなしで使うつもり。
もしかしたら、ヤフオクで落とした中古だったので壊れているのかもしれない。
odeon-lite以下の下流は、SM-SX100、4425mk2、T900A、と10年前から変わっていない。
それだけ気に入ってる構成なわけで、換え難いところがある。
今後の課題。まず、いずれはNASを変更したい。
オーディオルームで使うには静粛性に難がある。しばしばファン?の音が気になる。
次にDAC。
odeon-liteはいい音だと思うけど、DSDに対応してないし、ノイズに対してデリケートすぎるとこがあるので配線とか気を使う。
最新のDACの音に興味があるということもあるし、ibookのmpdからのUSB出力を受けるのが、そのUSBから電源供給を受けるRAL-2496UT1というのはどうなんだろうか、という気持ちもあったりする。外部電源が製品化されてるけど4万円もする。それなら新しいDACを買いたい。
ただ、odeon-liteが壊れない限り当分先のことになるとは思う。
Mar 15, 2013
Vine Mpd ppcについて覚書(9)twmについて(2014.03.14.追記)
2014.03.13.追記。
PBG4にVine Linuxを再インストールしたら、例によって覚書が役に立たず環境再現に手間取ったので追記・修正しておくことにした。
実は今回はmpdはまったく関係なくて「twm」についての覚書。
Powerbook G4 12inchは発熱がひどくてOSXでは使えないので、Vine Linuxとmpdクライアントのncmpcppをインストールして使っているわけだけど、それでも発熱する。少しでも負荷を減らしたい。
cuiでncmpcppを使えれば負荷が減ると思うんだけど、日本語表示はフォントが悪いのか汚くて読みにくい。
そこで、GNOMEよりも軽いGUI環境を使おうということでtwmを選択した。
若干だけど、発熱は減っている気がする。
twmはvine linuxに標準でインストールされているとネット上では書かれているが、うちの5.2ppcには何故かインストールされていなかったので、インストールから開始。
Synapticパッケージマネージャを使って簡単に出来る。
twm専用にするつもりで新規アカウントを作成。
ホームディレクトリにncmpcppの設定ファイルなど諸々、今まで使っていて要りそうなものをコピーし、chmodでアクセス権限を再設定する。そこで、twnの設定ファイルとして「.twmrc」を置くんだけど、どこにあるのか分からない。
ネット上にどこそこにあるという情報はあるけど、うちの環境と違っているらしく見つからない。
findで探すと簡単に見つかるのでコピーする。
.twmrcは/etc/X11/twm/system.twmrcをホームにコピーしてあとで必要に応じて編集する。
さて、Vine Linux 5.2ppcは起動に際してGNOMEが起動する設定になっている。
twm用アカウントでログインすると、.twmrcが設定してあってもGNOMEで起動する。
これはどうしたら変えられるのか分からない。セッションからtwmを選ぶという話があるが、選択に出てこない。
そこでrootで再ログインし、telinit 3、再度twm用アカウントでログインして、xstartstartxを打つとtwmが起動する。こんなのでは面倒なので、/etc/inittabを書き換えて最初からrunlevel3で起動するようにしておく。
ここまで書いた通りにやってもうまくいかない。
.xinitrcを設定する必要がある。
以下のリンク先によると、ランレベル3でのログインだと.xinitrcを読みランレベル5だと.Xsessionを読み込むらしい。
VineLinux/システム設定/アプリケーションの自動起動 - Linux wiki
.xinitrcは/etc/X11/xinit/xinitrcをホームにコピーして編集する。
既存の内容は全てコメントアウトして、最後の数行の記述を参考にして以下を記載。
/usr/bin/xclock -geometry 100x100-5+5 & xterm -geometry 80x40-50+150 & /usr/bin/twm
twmが起動するのと同時にxclockとxtermが起動する設定。
xtermの設定は80x50から80x40に変更している。これで使える体裁になる。
.Xclientsは/etc/X11/xinit/Xclientsにあるけど、ホームにコピーして何か書き込んでも関係ないようだ。
2014.03.14.追記。
xtermの設定で以下を~/.Xresourcesに書き込み保存。
XTerm*utf8 : 1 XTerm*locale : true XTerm*selectToClipboard : true XTerm*faceName : 'Monospace' XTerm*faceSize : 9 XTerm*cjkWidth : true XTerm*background : white XTerm*foreground : seagreen XTerm*saveLines : 2000
以下のコマンドで次のxterm起動から設定が反映される。
$ xrdb .Xresouces
ところが、再ログインしたらもとに戻ってしまうので、再度コマンドを打たないといけない。
面倒なので、.xinitrcにコマンド自体を書き込んでみたが上手くいかない。twm起動と同時に開くxtermウィンドウには反映されないのだ。twm起動した後に、twmからxtermを開くと反映される。.Xdefaultsに書くというのもやってみたが反応なし。
どこかで設定できるのかもしれないが分からない。
結局、.xinitrcのxtermの項目をコメントアウトして、起動時にはxtermを開かないことにした。
何か分かったらまた追記すると思う。
現在の.xinitrcは以下のような感じ。
xrdb .Xresouces /usr/bin/xclock -geometry 100x100-5+5 & # xterm -geometry 80x40-50+150 & /usr/bin/twm
twmの起動画面(ルートウィンドウという)は、何にも表示されない。真っ暗だ。
マウス左クリックでメニューが表示される。
メニューからxtermを選択。
これでシェルが使える。
twmの設定だけど、色を変えるぐらいのことしか現在はしていない。
.twmrcでウィンドウの色設定が出来る。
使える色は、/usr/local/X11R6.4/lib/X11/rgb.txtに書いてあるので、好きな色を.twmrcに書き込んだらいい。
こういうところが参考になる。
X Window System 色見本
ルートウィンドウは真っ暗。ここは.twmrcでは設定できない。
xsetrootというコマンドで設定する。
xsetroot -solid "colorname"
モニターと大きさが合っていれば画像を貼ることも出来るらしい。
display -window root "file name"
ここは訂正。
.twmrcに以下のようにコマンドを記載することでルートウィンドウに画像などの設定ができる。
display -window root ファイル名を含むフルパス
うちの環境ではモニターと画像の大きさが合っていなくてもタイル張りしてくれるようだ。
これはどこで設定されているのかはっきりしない。
参考リンクを追記。
xtermの設定について
xtermの設定をするよ - ちなみに
「xterm」の設定方法 - OpenBSD日記
xtermを使ってみる いつも『あとちょっと…』/ウェブリブログ
xtermを動かす | ちりぢりな記憶の寄せ集め
Xの設定について
xinitrc (日本語) - ArchWiki
.xinitrcの設定
X Window System の環境設定 Turbolinux 10 Server: コマンドガイド
Miya×2@wiki - Xwindow設定
さらに追記。
FreeBSD QandA 1032 Q. ~/.Xresourcesと~/.Xdefaultsって、どう違うんですか?
VineLinux/システム設定/アプリケーションの自動起動 - Linux wiki
[vine-users:056450] ssh-add (Re: .xinitrc ファイルは、 どこにあるのか ?)
GNOME以外の選択肢
さらに追記。だいぶ設定は落ち着いてきた。
twmの起動画面が真っ暗なのは落ち着かないし起動してるのが目に見えないのも不便なので、xclockを起動して右下隅に常駐させておくように設定している。xeyesも起動させていたけど、目障りになってきたので止めた。
あとはフォントの設定をしている。
使用目的がncmpcppと多少のネット利用程度に限定された状況なら不満がない感じ。
sshでibook G4に繋がるようにしたいんだけど、これは追々と思っている。
Mar 02, 2013
Vine Mpd ppcについて覚書(8)サンプリング周波数とビットレートの変更+追記:mpd.confの設定
以前、覚書(5)で、以下のようなことを書いた。
usb出力が44.1kHzから48kHzになってしまった。
ファイルは44.1kHzなのでアップサンプリングしてる。
どうもこれはalsaのデフォルト設定らしく、どこかで変更も出来るらしいということが分かった。
いつまでも48kHzのままというのもどうなのかなということで、44.1kHzに戻すことにした。
以下のサイトを参考にした。
>Tuning - Music Player Daemon Community Wiki : ALSA dmix
Since version 1.0.9-rc2, ALSA enables dmix (allows multiple applications to play audio on a single sound card) by default. dmix is a little overhead, if you want direct output to the device, use something like the following syntax:
audio_output { type "alsa" name "my ALSA device" device "hw:0,0" }Another reason to bypass dmix is that dmix forces 48khz (see here). So if you playback 44.1khz this will require resampling even if your soundcards supports 44.1khz samplerate, this causes extra cpu usage.
前半を約してみる。
「version 1.0.9-rc2以降、ALSAはデフォルトでdmixを有効にしている(dmixによって複数のアプリを1つのサウンドカードで対応させて音を出すことが出来るようになる)。dmixというのは、デバイスにダイレクトに出力したい向きには、ちょっとやりすぎの感があるので、以下のような記述を使うといい。」
ここで書かれている記述には見覚えがある。mpd.confの、alsaの設定である。
というわけで、書かれているように直してみた。
mpdを終了し、mpd.confを編集する。
## device "hw:0,0" # optional
文頭の##を削除して保存。
mpdを再起動する。
usb出力が44.1kHzになった。
なんと簡単なことか。
ここで「top」コマンドを打つと、mpdのCPU使用率が2、3%になっている。
48kHzだったときの1/10になってしまった。
システムへの負担は相当少ないみたい。
そもそもVoyage MPD Starter Kitとかみると、かなりのロースペックで動かしている。
後半も約してみる。
「dmixをバイパスするもう一つの理由は、dmixが強制的に48kHzにしてしまうことだ。例えば、サウンドカードが44.1kHzをサポートしていて、44.1kHz戻すためにリサンプリングする必要があるといった場合、余分なCPU負荷の原因になる。」
dmix自体のせいで無駄にCPU負荷が10倍になるのなら、バイパスするほうが順当だろう。
ちなみに、mpd.confのalsaの設定には、サンプリングレートを決める項目もある。
## format "44100:16:2" # optional
コメントアウトを削除して96000:24:2にしたら、usb出力が不安定になった。
ブチブチ出力が途切れてしまう。
アップサンプリングして出力するには他の方法じゃないと駄目なようだ。
ちなみにこのときもCPU負荷は数%しかなかった。
音質がどうなったかというと、例によってちゃんとした比較は出来ていないんだけど、48kHzのときのほうがゆったりして暖かい音が出ていた印象がある。44.1kHzにしてからシャープな音になった。固いといえば固いのだけど、こちらのほうがリアルなような気もする。
そのうち余裕が出来たらじっくり聴き比べてみよう。
4月6日追記。
今更だけどmpd.confの記載内容を記録しておく。
うちでは「~/.mpd/mpd.conf」で設定している。
これは「INSTALL」ファイルに記載されてるデフォルトだ。
# Files and directories #### music_directory "~/Music" playlist_directory "~/.mpd/playlists" db_file "~/.mpd/database" log_file "~/.mpd/log" pid_file "~/.mpd/pid" state_file "~/.mpd/state" sticker_file "~/.mpd/sticker.sql" #rootでMPDを動かしてるので、~はrootディレクトリである。
# General music daemon options #### #user "nobody" #group "nogroup" # For network #bind_to_address "any" #bind_to_address "~/.mpd/socket" port "6600" #log_level "default" #gapless_mp3_playback "yes" #restore_paused "no" #save_absolute_paths_in_playlists "no" #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" auto_update "yes" auto_update_depth "6" # # Symbolic link behavior #### follow_outside_symlinks "yes" follow_inside_symlinks "yes" #
portは6600で固定。
auto_updateは効いてるのかどうか分からない。ライブラリがオートアップデートしたの見たことないし。
depthは一応、深めに設定している。
MusicディレクトリにNASのディレクトリをマウントしてるんだけど、結構深いとこまで辿らないと音楽ファイルとか辿り付かない場合があるので。設定しなかったらどうなるかは試していない。
# Zeroconf / Avahi Service Discovery #### # Permissions #### # Input ####
ここは触っていない。
# Audio Output ####
# 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_type "hardware" # optional
## mixer_device "default" # optional
## mixer_control "PCM" # optional
## mixer_index "0" # optional
}
audio_output_format "88200:24:2"
#
ここの項目で有効にしてるのはalsaの項目と、ずっと下のほうの「audio_output_format」という項目。以前は「pulseaudio」の項目も有効にしていたんだけど、不具合があって現在はコメントアウトしている。
ここから4月1日に追記していた内容。
サンプリング周波数とビットレートの変更はalsaの設定以外でもできる。
mpd.confの、alsaのずっと下のほうに、以下のような記載がある。
# This setting will change all decoded audio to be converted to the specified # format before being passed to the audio outputs. By default, this setting is # disabled. # #audio_output_format "44100:16:2"
ここのセッティングでは、デコードされた全てのオーディオ信号を出力される前に指定されたフォーマットに変換する、とある。
ここを以下のように書き変え、コメントアウト削除した。
audio_output_format "96000:24:2"
これでusb出力を24bit/96kHzに変換できた。
alsaの設定でしたときのような不具合はないようだ。
CPU負荷は4%ぐらい。フォーマット変換を設定する前の倍ぐらいになっている。
音質の変化は、まだちゃんとした比較はしていない。
なかなか比較する余裕がないのが現状だ。
ここからまた4月6日追記分。
# Normalization automatic volume adjustments #### replaygain "album" #replaygain_preamp "0" #volume_normalization "no" #
ここはよく分からない。
「See <http://www.replaygain.org>」とか書いてあるけど、充分読めていない。
リプレイと関係あるらしく、ここの設定を変えるとncmpcppでYを打ったときのmpdの反応が違ってくるようだ。しかしどうなってるのか充分に把握できていない。
# MPD Internal Buffering #### audio_buffer_size "384" buffer_before_play "5%" #
ここの設定は音質にも影響があるらしい。
audio_buffer_sizeは多分「kb」だと思う。256だと音が出ない。
buffer_before_playだけど、何の割合か分からない。メモリのなのかファイルのなのか。現在少なめに設定している。
# Resource Limitations #### # Client TCP keep alive ####
ここは触っていない。
# Character Encoding #### filesystem_charset "UTF-8" #id3v1_encoding "ISO-8859-1" #
一応、UTF-8で、コメントアウト削除。
# SIDPlay decoder ####
ここは触っていない。
ざっとこんな感じ。
今後、変わるところもあるかもしれないけど
とりあえず、今回はここまで。
Feb 25, 2013
Vine Mpd ppcについて覚書(7)というよりEACの設定について
前回はEACで作ったcue sheetがおかしいという話だった。
CDの読み取りの問題なのだろうと目星をつけ、EACの設定を確認してみた。
メニューの中に「Drive Options...」というのがある。
選択すると「これは重要なとこだよ」みたいな警告表示が出る。
これを閉じたら設定項目が表示される。
表示されるタブの中に「Gap Detection」というのがある。
ここの設定が、
Gap/Index retrieval method : Detection method B
Delection accuracy : Inaccurate
になってるのに気付いた。
いつこんなにしたのか記憶がないが、さすがにInaccurateはまずそうだ。
たまたま手元にあったCDを読み込んで、cue sheetだけ作ってテストしてみた。
PERFORMER "Wes Montgomery"
TITLE "Full House"
FILE "Range.wav" WAVE
TRACK 01 AUDIO
TITLE "Full House"
PERFORMER "Wes Montgomery"
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "I've Grown Accustomed to Her Face"
PERFORMER "Wes Montgomery"
INDEX 00 04:38:04
INDEX 01 09:11:62
(以下略)
INDEX 00 04:38:04、INDEX 01 09:11:62、、、やはり、酷い数字が出ている。
EACの「Gap Detection」の設定を以下のように変更。
Gap/Index retrieval method : Detection method A
Delection accuracy : Secure
同じCDを読み込んで、もう一度cue sheetを作ってみた。
PERFORMER "Wes Montgomery"
TITLE "Full House"
FILE "Range.wav" WAVE
TRACK 01 AUDIO
TITLE "Full House"
PERFORMER "Wes Montgomery"
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "I've Grown Accustomed to Her Face"
PERFORMER "Wes Montgomery"
INDEX 00 09:11:38
INDEX 01 09:11:62
(以下略)
問題のない数値が表示された。CDを正確に読み取っているようだ。
EACをちゃんと使えていなかったのが、INDEX 00の問題の原因だった。
多分、使用するドライブによっても、こうした結果は違ってくると思う。
今回、設定を見直したことで、今までのようなトラブルがなくなることを期待したい。
気になるのは、リッピングの設定が違ったら出来たファイルも違うのかということ。
データがきちんと取れていれば違わないはずだけど、どうもそこが心もとない。
実際にリップして、比べてみることにした。
前述した2つの設定で、1つのCDをリップしてみる。
それにしても、前者で8倍速出てたのが後者だと5、6倍速にしかならない。
それだけ正確を期してるってことなんだろうけど。
出来上がったファイルに違いがあるかどうか、Hash値というのを比べてみた。
HashMyFileというツールを使った。
MD5、SHA1、CRC32、SHA256、SHA-512、SHA-384、全て同一だった。
cue sheetは間違えていても、リッピング自体は正確に出来ていると思っていいかも。
たくさんのFLACをリップしなおさなくていいらしいので、ほっとした。サンプル1つで決めていいのかというのはあるが、まあ、今回はよしとしとく。
とりあえず、今回はここまで。
Feb 23, 2013
Vine Mpd ppcについて覚書(6)不良cue sheetによる再生の不具合
前回は、mpdが順調に動作し始めたとこまで。
この覚書もだいぶリアルタイムでの状況進行に近づいてきている。
これから書くのは、2月中旬以降の話だ。
うちでは以前からCD1枚を1つのFLACファイルにしてNASに保存している。
今は持っているCDの一部だが徐々に増やすつもり。
リッピングに使うのはもっぱらEACで、cue sheetもリッピングと同時に作っていた。EACにはそういう機能があるのだ。
これをLAN経由で、Mac miniの「Audirvana Plus」を使って再生していた。
mpdでもcue sheetが使えるようになり、これは便利だと思っていたんだけど不具合が出てきた。
楽曲再生に際してトラックの開始がおかしくなる。
おかしくなるというのは、楽曲の途中から再生を開始するのだ。
それも前の曲の途中から再生される。
cue sheetを使って再生している時に限られるので、この関係で不具合があるんだろうと考えた。
分かりにくいので追記。
前の曲の途中から再生」というのは、前の曲が再生中に途切れて、続くトラックの頭が再生されるという意味。前の曲が途中から繰り返し再生されるという意味ではない。
Cue sheet - Hydrogenaudio Knowledgebase
cue sheetには「INDEX 01」という項目を必ず記載することになっていて、というのは、楽曲開始時間を指定する項目がこれにあたるから。
「INDEX 00」というのもあって、これを記載すると楽曲開始前の「ギャップ」を設定できる。
CD再生してるとき、ときにトラックが始まる前に数秒間の無音があって、プレーヤーの再生時間表示に「マイナス」が出ることがある。こういうのをWAVやFLACのファイルからCDを焼くときなどに反映させるのに、cue sheet上に「INDEX 00」の時間を記載し、指定しておくということらしい。
再生に問題があったcue sheetをエディタで確認してみたら、「INDEX 00」と「INDEX 01」に指定された時間が、酷いときには数分以上も違っていることが分かった。
つまり、トラック再生開始時間の前にあるのは数秒間の無音どころではなく、トラック開始の数分前の部分からトラック開始時間までの楽音。つまり、FLACファイル上にある前のトラックの途中からトラック開始時間までの部分、ということになっていた。
EACでcue sheetを作ったときにこうなったということになる。
なぜこんなことになったのかは、はっきりしない。
今まで、foober2000やAudirvanaで再生している分には全く気付かなかったので、これらのソフトは「index 01」しか読まないのかもしれない。
とりあえず「INDEX 00」は削除してもcue sheetの体裁としては問題がないということなので削除してみたら、mpdでの再生の問題もなくなった。
つまり、mpdはINDEX00を読んで再生したから再生の不具合が生じたということだ。
こうした不具合がうちだけのものなのかどうか、はっきりしない。
ネット上で検索してみても、検索が下手なのか?、ひっかかってこないのだ。
原因は分かったけど、ではどうするかが問題になる。
今までにCDをリップして作ったcue sheetは数百万枚数百枚。1枚ずつチェックしていては、とても終わらない。
それどころか、これからもリッピングは続ける予定なのだ。
EAC以外のリッピングソフトを使うのか。
正直、この半年の間に使い慣れてしまって換える気にならない。なにしろスピードが速いというのが僕のニーズにあっている。
EACでcue sheet作成の設定が出来ないかと考えたけど、ないようだ。
では、mpdのほうで「INDEX 00」を読まない設定に出来ないか。
調べたけど、よく分からない、、。
では、cue sheetの書き換えをコンピューターにしてもらおう。
人間がやるよりずっと早いはず。
Linuxは、数百枚のファイルの内容を一瞬で書き換えるコマンドを打つことが出来るはず。
しかし結局、僕が使った手段はApple Storeで「Jedit X standard」を買うことだった。
このエディタには複数ファイルの内容を検索して書き換える機能が付いている。
Mac mini上のJeditからNAS上のフォルダを選択し、ファイルの種類に「cue」を指定して、「INDEX 00 .+/n」を検索して「/n」に書き換えるように、としてクリックすると、INDEX 00とこれに続いて記載された時間を表す数列が、削除される。
ちなみに「.+」は1文字以上の文字列、「/n」は改行という意味。
これで、自宅NASにあったcue sheetの「INDEX 00」とそこに指定された時間は、数分間で削除された。非常に助かった。
途中で文字コードの指定でひっかかるファイルがいくつかあった。UTF-8でいいか?ということなので、いいよとenter。確認していないが多分問題ないだろう。
無料のお試し版「Jedit X Rev.2」で同様の操作が出来るかどうかは知らない。
ちなみに、EACでリッピングしてcue sheetを作った時点で同様の操作をするのには「Mery.exe」というエディタを使った。こっちはWindows用のフリーウェア。
やはり複数のファイルの中を検索して、文字列を一括で置換できる。
操作する内容も大体同じだ。
今後はこっちで処理してからNASに持っていくと思うので、Jeditは今後の出番は少ないかもしれないが、まあ、いい仕事してくれたので高いという気がしない。
追記。
何で自宅NASのファイルを修正するのにMeryを使わないのかということだけど、自宅のWindowsXPにMeryをインストールして使ってみたら、なぜか前述の捜査が出来なかった。マシンのスペックの問題かもしれない。自宅のマシンはペンティアム3だ。
どこでリップしてるかというと、実は職場。夜勤で仕事がない時間帯に、自宅から持ち込んだもっと使えるノートでリップしてる。普段見ないTVとかぼーっと見てるよりいいかと思って始めた。それ以外の時間でリップできる時間はない。
だからリッピングが高速にできるというニーズは切実なのだ。
仕事さぼってるわけじゃないけど、こんなことあんまり進んで公言したくはない。しかし行きがかり上仕方ないので書いた。
しかし、INDEX 00だけでは終わらなくて、実は「INDEX 02、INDEX 03、、、」というような記述があるcue sheetがあることが分かった。ちなみに、このようなシートはAudirvanaでも受け付けない。foobar2000で使えるかどうかは、不明だ。
これは、もしかしたらと思って「INDEX 02」をJeditで複数ファイル検索して、ひっかかった。
そんなに多数ではなかったので、検索結果からファイル自体を開いて削除した。
この際に、03、04、、、とかあるのに気付いた。
たぶん、02を飛び越えて03、、、とかいうcue sheetはないと思うのだけど、今の時点では検索していない。
ちなみにそういうcue sheetの一例。
こんな感じのファイル。
INDEX 00がないのは、Jeditで削除された後だからだ。
とりあえず、今回はここまで。
Feb 21, 2013
Vine Mpd ppcについて覚書(5)alsa関連で要らないものを入れすぎていた
mpdでcueシートが使えるようになった。
この時点のシステムの状況。
追記。mpdのバージョン書き間違いを訂正した。0.17.2を0.17.3に。
| iBook G4 | vine linux 5.2ppc runlevel 5 | mpd v0.17.3 |
| Powerbook G4 | vine linux 5.2ppc runlevel 5 | ncmpcpp v0.5.10 |
| RAL-2496UT1 | DD Converter(USB >> TOS) | 44.1kHzで動作・SRC2496に出力 |
mpdも0.17.3にヴァージョンアップしている。
多分、1月中旬にしてると思う。
「runlevel 5」にしてるのは、3では使えなかったから。
runlevel 3にしたらusbデジタル出力しなくなる。
どこを直せば出力できるようになるのか分からなかったので、runlevel 5で当面は使うことにした。
ネット上の情報によると、runlevel 5では音質上のメリットは得られないということらしく、目標はrunlevel 3での運用だったので残念だけど、仕方ない。使いながら設定の仕方を模索することにした。
実際のところ、それで音質はどうだったかというと、小音量で時々鳴らす程度だったのではっきりしたことは言えないというのが正直なところ。
少なくともBGMとして流す分には申し分ない。
求めるところはそんなレベルじゃないので、出来れば音量を上げてじっくり聴きこみたかったけど、あれこれするうちに機会がなくなった。
なぜ機会がなくなったかというと、他の問題に対処した結果、runlevel 3で動くようになってしまったから。
現在はそれで動かしていて、なかなかrunlevel 5に戻す機会がない。
比較できれば面白いかもしれない。
他の問題というのは、mpd、ncmpcppの挙動が安定しないということだった。
ncmpcppを操作するとフリーズしてしまう。
次曲に飛ぶ、早送り、cue sheetから選曲する、といった操作で動かなくなってしまう。
mpdの方もクライアントからの信号を受け付けなくなって端末で「netstat -t」とコマンドを打つと止まってる6600ポートがずらずらと表示される。音楽は流れ続けて、止めようがないのだ。
こうなると「kill」も受け付けないので、iBook自体をrebootするしかない。
しかし酷いときはrebootのコマンドを受け付けないのでスイッチを押して終了したり。
こんなでは落ち着いて使えない。
システムが不安定な理由は、「alsa」が安定しないからじゃないかと目星をつけた。
根拠はないのだけど、実は最初にalsa関係はいろいろインストールしたという経緯がある。こうして書いていて思い出したのだけど、mpdをインストールしたあとに動かせなかった期間がずいぶんあった。実はmpdの設定自体を間違っていたんだけど、その間に、何が必要か分からないので兎に角目に付いたものから入れていた。
alsa関連は色々あるので、余分なものもインストールしてしまっていたのだ。
とりあえず、必要最低限と思われる「alsa-lib」と「alsa-lib-devel」以外でいろいろ入ってたのをアンインストールした。もしかしたらalsa-lib-develも要らないのかもしれないけど、置いとく。alsa-toolsとalsa-utilsは、多分動作の邪魔はしてないと想定して置いとく。
そうしたら、RAL-2496UT1をvine linuxが認識しなくなった。
要るものがあったらしい。
「kernel-module-alsa-driver」を再インストールしたら、認識した。
参考リンク。
Advanced Linux Sound Architecture (日本語) - ArchWiki
AlsaProject
結局、alsa-firmware 、alsa-plugins-pulseaudio 、alsa-plugins-usbstream 、bluez-alsa をアンインストールしたら、安定して動作するようになった。
ncmpcppが止まることもない。
ただ、usb出力が44.1kHzから48kHzになってしまった。
ファイルは44.1kHzなのでアップサンプリングしてる。
どうもこれはalsaのデフォルト設定らしく、どこかで変更も出来るらしいということが分かった。
システムが不安定だったときは、iBookの端末でtopを打つとmpdとpulseが表示されてて、それが当たり前なのかと思っていたのだけど、前述の操作をしてシステムが安定した後には、pulseは表示されなくなってしまった。無駄に動いていたらしい。
mpdだけで音声出力しているようで、CPU使用率の半分をmpdが食っている。
これは多分、アップサンプリングしてるのが原因じゃないか?と思っているんだけど。
96kHz/24bitにして出力出来ればいいとか考えたこともあったけど、多分無理だ。
この時点で、ふと思いついてrunlevelを3にしたら問題なく動作した。
RAL-2496UT1にusbデジタル出力している。
何が邪魔してたのかは分からないけど、とりあえず目標に到達したということだ。
| iBook G4 | vine linux 5.2ppc runlevel 3 | mpd v0.17.3 |
| Powerbook G4 | vine linux 5.2ppc runlevel 5 | ncmpcpp v0.5.10 |
| RAL-2496UT1 | DD Converter(USB >> TOS) | 48kHzで動作・SRC2496に出力 |
とりあえず、今回はここまで。
Vine Mpd ppcについて覚書(4)ncmpcppのインストール
いろいろ忘れてしまうという話のあと間が空いて、やっぱり忘れてる気がするので、やや焦って書いている。
後々何かあったときに役立てばと思うのに、書き忘れてたら役に立たないじゃないか。
今回は、ncmpcppのインストールに際しての覚書き。
当初インストール出来たのはv0.4.1で、最新のv0.5.10は出来なかった。
それがどうやったら出来たのかという話だ。
以前のエントリーで「configure」でうまくいかないことがあれば、実は「configure.log」に記載されている、と書いた。
configure: error: libmpdclient >= 2.1 is required!という表示が出て、makeできない理由について、最初は対処が分からなくてバージョンを下げることでncmpcppをインストールした。本当は「configure.log」に残された失敗の記録を読んで対策を打てばよかったのだ。
で、その対策の内容について徐々に忘れてきてるということだ。
全く、年波には勝てない。
configure.logには以下のようなことが書いてあった。
configure:15321: checking for pkg-config
configure:15339: found /usr/bin/pkg-config
configure:15351: result: /usr/bin/pkg-config
configure:15376: checking pkg-config is at least version 0.9.0
configure:15379: result: yes
configure:15389: checking for libmpdclient
configure:15396: $PKG_CONFIG --exists --print-errors "libmpdclient >= 2.1"
Package libmpdclient was not found in the pkg-config search path.
Perhaps you should add the directory containing `libmpdclient.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libmpdclient' found
libmpdclientが見つからないと。
Perhaps you should add the directory containing `libmpdclient.pc' to the PKG_CONFIG_PATH environment variable
これは「libmpdclient.pc」があるディレクトリのパスを環境変数PKG_CONFIG_PATHに設定したらいいかもよ、って感じの意味らしい。
PKG_CONFIG_PATHの設定はシェルによって使うコマンドが違うということらしく、ちょっと戸惑った。
vine linux ppc の場合は「bash」なので「export」を使う。
export PKG_CONFIG_PATH=/(libmpdclient.pcがあるディレクトリのパス)
これでパスが通ったので、その同じ端末からconfigureする。違う端末を開いてconfigureしようとしても受け付けてくれないらしい。
というわけで、めでたくconfigure成功。
make、make installと順調に進んで、ncmpcpp v0.5.10がインストールできた。
ncmpcppの最新版がインストールできたということは、cueシートに対応できるはずってことだ。
cueシートを使えるようにするには、mpdサーバーのiBookにcueシートを扱えるようにするライブラリをインストールしなくちゃならない。
たしか、↓から落としたと思うけどはっきりしない。
http://mirror.transact.net.au/sourceforge/c/project/cy/cygwin-ports/release-2/libcue/
4月1日追記。
mpd-0.17.3は、独自でcue sheetに対応したらしい。
だから多分、libcueがなくても動作する。
以下、説明にリンク。
https://wiki.archlinux.org/index.php/Music_Player_Daemon/Tips_and_Tricks#Cue_Files
libcueをインストールしてmpdを起動する。
ncmpcppを起動。
uキーを押すとライブラリがアップデートされる。
3キーを押すとブラウザ表示になる。
カーソルキーとenterキーを使って、ディレクトリの階層を辿っていく。
端末の画面に表示される音楽ファイル一覧の下方に、cueシートのファイル一覧が表示された。
カーソルキーでファイルを選択しspaceキーを押してプレイリストに送る。
2キーを押すとプレイリスト表示となる。cueシートに載っている曲がリスト表示されてるので、カーソルキーで曲選択。enterを押すと音楽が再生される。
なかなか良く出来たインターフェイスだと思う。
とりあえず、今回はここまで。
Feb 14, 2013
Vine Mpd ppcについて覚書(3)ncmpcppの設定
さて、mpdを動かしてUSB-DACに繋いだイヤホンから音を出すことに成功した。
けど、なんだかその音が変だった。
2重にきこえる。
カエルの歌じゃないけど、輪唱してるみたいな。
リヴァーブっていうんでしょうか?こういうのは。
これは、mpdの設定ファイルを書き換えたら解決した。
「mpd.conf」ファイルの「Audio Output」の設定で、"alsa"と"pulse"を有効にしていた。これが良くなかったようで、"pulse"だけコメントアウトして無効にしたら直った。
しかし、いろんなことになるもんだと思った。
実はこの時点では、ncmpcppとmpdを同じiBook G4で動かしていた。
Powerbook G4のncmpcppからのアクセスをiBookが受け付けなかったのだ。
fire wallも切っていたしpingは通ってる。なぜ外からのアクセスをiBookが受け付けないのか分からなかった。
最初はmpdかiBookの設定に問題があるのかと思っていた。
しかし、いくら探しても分からない。
そのうちに、もしかしたらncmpcppのほうの問題?と思うようになった。だって考えてみたら何の設定もせずに動かしてるほうがおかしい。
よく見たらncmpcppのソースを解凍した際に出来る「doc」というフォルダの中に「config」というファイルがあって、開くと
## this is example configuration file, copy it to ##
## ~/.ncmpcpp/config and set up your preferences ##
と書いてある、、、
こんなのがあったとは。
このファイルには、
#mpd_host = "localhost"
#mpd_port = "6600"
と書かれている。
多分これがデフォルトの設定ということで、configを書き換えて設定しなければ、ncmpcppは"localhost"のmpdにしかアクセスしない。つまりncmpcppとmpdが同じパソコンにインストールされてないと動かない状況になってしまうわけだ。
Powerbookにインストールしたncmpcppのconfigを設定する。
homeに「.ncmpcpp」を作ってconfigをコピー。
#mpd_host = "localhost"のlocalhostをiBookのIPアドレスに書き換え#を削除。
#mpd_port = "6600"のほうも#を削除。
これでようやく、PowerbookからiBookのmpdをコントロールできるようになった。
実は、前述の部分で記憶が曖昧なところがある。
初めて音が出た時点でncmpcppのconfigを設定してたのかどうかが、はっきりしない。
設定してたとしたら、たぶん#mpd_port = "6600"のコメントアウト削除だけで済ませていて、そのせいで外部のクライアントが使えなくなっていたんだと思う。でもたぶん、設定していなくても"localhost"で使う分には音が出てたんじゃないかと思うのだ。
どうやってたか忘れてしまった。
何かあったときはツイッターにメモ書きしていたんだけど、いじってるパソコンはPPCマシンなものだから、当然、ウェブブラウザなんか動かしておく余力はない。ツイッターなんて重いサイトを開きっぱなしに出来ない。それら以外のパソコンから書けばいいということになろうけど、実はこうした作業は家族が寝静まった夜中にしていることが多くて、あんまりゴソゴソも出来ない。メモしない間に次に移行したら、忘れちゃうというわけで、ちょっといろいろ曖昧なとこがある。
とりあえず、今回はここまで。
Vine Mpd ppcについて覚書(2)mpdのインストール
どうも自分で調べないといけないということは気づいたんだけど、どこを調べたらいいのか分からない。
起動の方法が違ってるらしいということだけど、どこに書いてあるんだろうということから探し始めた。
実は、ダウンロードしたソースを解凍したら説明のファイルが入ってる。「INSTALL」というファイルが出来ているので、それをちゃんと読んで書いているとおりにやらないとインストールに失敗する。
これは後から考えると当たり前の話のように見えるけど、ネット上で書いているとこがあんまりなかった。あまりに初歩的過ぎて書いてなかったのかもしれない。
手軽にインストールして使えればいいやという甘い考えの初心者だから嵌ったと思う。ここに気付くまでかなりの時間を要した。
Music Player Daemon (mpd) の場合、この「INSTALL」ファイルに起動の仕方が書いてある。
mpdの設定を記載する「config file」をどう扱えばいいかも書いてある。
書いてあるとおりにしたら、あっけなくmpdは動いた。
端末上で「ps x」とコマンド打てばmpdの文字が表示される。
これでiBook G4がmpdサーバーになった。
これには唖然とし、かなり戸惑った。これがLinuxのやり方なのかと腑に落ちるまで、ちょっと時間が必要だった。
今までの苦労はなんだったんだ?という感じ。
追記。
書いてあること読んでそのとおりやればいい、と言うだけじゃ後で分からないかもしれないので「INSTALL」に書いてあることを写しておこうと思った。
mpd-0.16.8とmpd-0.17.3では書いてあることが若干違う。
ここで写しとくのはmpd-0.17.3のほう。
Optional Output Dependencies
----------------------------
You will need at least one of these to compile MPD.
Most of these are available as packages on major distributions.
Be sure to install both the library package as well as the development package.
ALSA - http://www.alsa-project.org/
The Advanced Linux Sound Architecture. Recommended audio output if you use Linux. You will need libasound.
ここの項目にはALSA以外にもいろいろ書いてあるけど「at least」ということなんで、多分alsaだけ入ってたら問題ないんだろうと思う。実際、vine linux ppcにはAlsaとPulseAudioは入っている。他は確認していない。OSのインストールの仕方によっては違ってくるかもしれないが。
Optional Input Dependencies
---------------------------
You will need at least one of these to compile MPD.
MAD - http://www.underbit.com/products/mad/
For MP3 support. You will need libmad, and optionally libid3tag if you want ID3 tag support.
libmpg123 - http://www.mpg123.de/
Alternative for MP3 support.
FLAC - http://flac.sourceforge.net/
For FLAC support. You will need version 1.1.0 or higher of libflac.
Audio File - http://www.68k.org/~michael/audiofile/
For WAVE, AIFF, and AU support. You will need libaudiofile.
FAAD2 - http://www.audiocoding.com/
For MP4/AAC support. You will need libmp4ff.
とりあえず、うちの現状で入れてあるのは上記のような感じ、だったと思う。
読ませたい音楽ファイルに対応しているライブラリをインストールしてないと再生できないので、ちゃんと入れとかないといけない。しかしものによっては異常にインストールに時間がかかったり重そうだったりするので、お好みでということになるだろう。
次はmpd-0.16.8から引用。
「libcue」の項目はmpd-0.16.8にはあってmpd-0.17.3では削除されている。
Optional Miscellaneous Dependencies
-----------------------------------
libcue - http://libcue.sourceforge.net/
For CUE sheet support.
0.17.3では、mpd独自でcue sheetに対応したらしい。
うちではインストールしたままになってると思うんだけど、多分、なくても動作する。
以下、説明にリンク。
https://wiki.archlinux.org/index.php/Music_Player_Daemon/Tips_and_Tricks#Cue_Files
ざっとこんなものかな。
他は省略。
ただ、mpdが動いてもクライアントが繋がらないと使えない。
Clients - Music Player Daemon Community Wiki
ここにどんなクライアントがあるか網羅されている。
まずは手軽に使えるクライアントということで、firefoxプラグインのMusic Player Minionを使ってみた。
Mac miniのfirefoxからサイトにアクセスしてインストール。
しかし、これが全くmpdサーバーに繋がらない。
繋がらない原因も不明。
他のものを試してみようということで、ncmpcppを選択。
Powerbook G4にインストールしたVine linux上で、CUIで使えるクライアントが欲しかった。
というのはGUIだと直ぐにファンが回りだすから。OSXの時はOSが動いてるだけでファンがガンガン回って重くなるので実質何にも使えなかった。Vineだとそこまでじゃないけど、起動して時間がたってくると怪しくなってくる。でもfirefoxを動かせるだけかなりマシだ。
ちなみに、このPBG4は有線LANの端子が壊れていてケーブルがすぐに抜けるようになっている。修理しようと思ったら法外な値段だったので止めたままだ。つまり、NASの使用を見越したmpdサーバーとしては安心して使えないのだ。でも無線LANでmpd clientを動かすことは問題なく出来ると思う。
ところがncmpcppも問題があった。
インストール出来ない。
他のクライアントならできるかとncmpc、mpcも試したけどことごとく不可。
configure: error: libmpdclient >= 2.1 is required!という表示がでてmake出来ない。
libmpdclientはv2.1以上(v2.7)をインストールしているのだけど。
mpdやncmpcppをインストールするときには、ソースを解凍しconfigure、make、make installという手順を踏む。
configureは事前のチェック。
チェックして問題なければ、makeでソースの体裁をインストール可能なように整える。
root権限でmake installで、makeしたソースをインストールする。
だからconfigureの時点でインストールできないかどうかが分かって、make出来ないという旨の表示が端末に表示されるようになっている。
なぜ出来ないかは、実はconfigure.logというファイルに記載されている。
これを読めば対策を打てる。
しかし、この時点で僕はそのことは知らず、試したのはncmpcppのバージョンを下げてみるということだった。
v0.5xは不可。v0.4.1だとエラーが出なかった。
make、make installと順当にインストール出来た。
ようやくmpdを使って音を出すことが出来た。
やれやれ、だ。
この時点での再生環境を記載しとく。
| iBook G4 | mpd v0.16.8 |
| Powerbook G4 | ncmpcpp v0.4.1 |
| RAL-2496UT1 | USB-DAC イヤホンジャック使用。 |
RAL-2496UT1を買ったのは2年以上も前のことだ。
結局、使う機会がなく死蔵していたんだけど、今回、役に立った。
とりあえず、今回はここまで。
Vine Mpd ppcについて覚書(1)前書き・OS選択
さて、譲り受けたiBook G4と埃をかぶってるPowebook G4をMusic Player Daemon (mpd)を使ってオーディオ再生の要にしちゃおうという目論見を開始してから2月がたとうとしてるわけで、ようやくそれなりに動きはじめた。
とりあえず、けつまづいたとこ覚書にしとこうと。
まずPPC版のMacにインストールできるLinuxが少ない。
あれこれ試してみたけど、初心者はVine Linux 5.2 ppcが一番使いやすいという結論に達した(ちなみに最新のVer.6はppcに対応していない)。日本語環境が確保されてるので日本語使った音楽ファイルも使えるし、英語は苦手なので日本語の情報がネット上に蓄積されてて設定とかの参考にしやすいのは助かった。
他、UbuntuとかDebian、FreeBSDも試みたけど、なんでか起動しなかったり表示が出なかったり、BSDはインストールすら出来なかった。分かるもの使えるもの使ってやるしかない。もうVineでいいやって感じ。
というわけでiBook G4にVine Linux ppcをインストールしたわけですが、インストール自体はLinuxをいじった経験が少しあればさくさくいけると思う。インストールDVDから起動して、HDのパーティション切ってboot、root、swapを設定してインストール。OSXとのデュアルブートも簡単にできる。
本当はパーティションの切り方も使い方考えてやったほうがいいらしいけど、今回はそこまでは考えなかった。
始めは軽いほうがいいのかなとか考えてサーバー専用とかインストールしてたけど、linux初心者にはGUIがないと無理ということが分かったので通常仕様で再インストールした。
あと、これはPC用のv6で経験したことだけど、インストールCDからだと開発環境がインストールされないので後から必要なものがインストールできないとか出てくる。DVDからインストールしたほうが後からの手間が要らない。
インストールに際して日本語を選択してたら、最初の起動・ログインに際してホームフォルダに「ミュージック」とか「ダウンロード」とか使いにくい日本語名のフォルダが作られるようになっている。
あとでフォルダ名をいちいち直すのは面倒だし、どこでどう関連付けされてるか分からないのでいじりにくい。
これを防ぐには、インストール後の最初のログインに際して左下をクリックして英語でログインを選択。
これで「music」「download」とか英語表示のフォルダが作られるので、そこでログアウト。再ログインして、ここで日本語を選択。
日本語表示でデスクトップ表示されるのにあわせて、日本語表記に戻すか?再度この質問するか?みたいなこと訊いてくるので「No」を選択。これで使いにくいフォルダをいじる必要がなくなる。
新規アカウントでログインする際も同様にすればいい。
ここでは触れないけど、この手順はv5.2 ppcとv6では少し違う部分がある。
OSをインストールできたら、mpdサーバーにすべく必要なものをインストールしていく。
mpdはMusic Player Daemon Community Wikiからダウンロードできる。
Server - Music Player Daemon Community Wikiにmpdのソースがある。
Vine Linuxでのmpd使用は以下のサイトで詳しい。
「Vine MPD」を構築する | PCオーディオ実験室
しかし書かれてるとおりに始めたのだけど、どうもうまくいかない。何が悪いんだろうとあれこれするうちに気付いたのは、どうも情報が古いみたいだということ。mpdの起動の方法から今と昔は違ってるみたいなのだ。
Note: "mpd --create-db" is now deprecated.
Music Player Daemon Database Updating - Music Player Daemon Community Wiki
どうも自分で調べないといけないみたいだ、と遅まきながら気付いた。
あとで気付いたけど、前述のサイトでもこういう記載が上がっている。
MPDをソースからコンパイルしてインストールする方法
この情報は2013年1月の段階ではかなり古くなっています。最新事情はこちらをご覧ください。
こうしたことに気付く前に自分なりにlinuxをいじっていて気付いたのは、分かりにくいようで実は作法に則って見るとこ見たら分かるようになってるというのがlinuxだということ。
インストールがうまくいかないときは、その理由がどこかに書いてある。
linuxを使うならとにかくファイルを読むことが重要ということが分かった。
感覚的に扱うことが前提のMacの対極にある。
とりあえず、今回ここまで。
Sep 13, 2012
オーディオ状況報告
前回オーディオ関連での更新が2010年だから、2年もたっている。
あまりに開きすぎなのでシステム一覧をアップしておく。
| CD player/transport | VRDS-25xs : TEAC |
| NAS | HDL2-A6.0 : I-O DATA |
| PC transport | Mac mini : apple |
| LAN transport | AirMac Express : apple |
| DD converter/equalizer | AT-HDSL1 : audio-technica |
| SRC2496 : behringer | |
| DEQ2496 : behringer | |
| DA converter | Odeon-Lite : birdland audio |
| Amplifier | SM-SX100 : sharp |
| TU-875 : elekit | |
| speaker | 4425mk2 : JBL |
| T900A : Fostex | |
| Uninterruptible Power Supply | BY50S : omron |
| Speaker Cable | 5.5mmスケアキャブタイヤ : 協和電線 |
| omni8 : Space&Time | |
| Interconnect Cable | basis 1.4 : AC Design |
| MX-100 : AUDIOCRAFT | |
| Digital Cable | EFF-2000 : SAEC |
| STARLIGHT Series6 STA6BAL/1.0 XLR : wire world | |
| OASIS OBA6BAL/1.0 XLR : wire world | |
| HK-50 : FujiParts | |
| OPC-M1 : SAEC | |
| AME Stereo Connection Kit with Monster Cable | |
| Plug Box | PB-500-2 : kripton |
| Insulator | OPT-1 : Audio Replus |
| A40R : J1-Project | |
| Speaker Stand | MST-40H : TAOC |
| Acoustic Conditioner | GAC-1150・GAC-1010 : 東京防音 |
詳細はまた書く暇があったら。

