2007年9月17日月曜日

忌避すべき終端

最近初音ミク動画にどっぷり浸かっている(ぉ
どんどん製作者がうまくなってるんだよなぁ。わざと下手っぽく聞こえるようにチューニングされているはずなのにね(笑)
それはさておき、相変わらずのBeryyl調整。今度はFedora7をベースとしている1CD Linux、Berry LinuxにてBerylの挙動を調べてみました。
Berry LinuxはBerylを搭載しており、かつLivnaのnvidiaドライバも使用という、今の環境に非常に近いLinuxです。デスクトップもKDEですしね。
こいつでもってBerylが安定して動くというなら、Xの設定ファイルをいただこうじゃ無いかという魂胆です。なんせPC環境はまったく同じ、ベースとなるOSも同じですからね。テスト環境としてはこれほど都合のいいものは無いでしょう。
で、起動。initngを選択したら起動しませんでした^^; initngはまだ実用的じゃないのですねぇ。KNOPPIXでは使えたんですが。起動が早いので安定してくれるのを待つばかり。
起動しなくては話になりませんので、通常起動。特に何のトラブルもなく起動しました。
で、早速Beryl起動。うむ。何も問題は無い。後はどれだけ耐えてくれるか。それだけに絞られます。
まぁその間暇ですので、音楽でも聴いておこうと、音楽ファイルを置いているパーティションをマウント。てきとーに再生して見たところなんとコーデックが見つからない! つかどーゆーことよそれ!? Linuxだろ? なんでOggが再生できないんだよ!w
mp3はデフォルトで再生できるくせにOggが再生出来ないとか素でびっくりした。xineも入ってるのに、xineがOggのデコーダを持ってないことにもビックリ。mplayerの方は再生できましたが、なんか釈然としないぜ・・・。
まぁとりあえずベンチが目的ですので、音楽を鳴らし、ブラウザを起動させっ放しという私の普段のスタイルそのままにして昼ご飯食べに行きました。
1時間ほど放置して戻ってきたところ、特に何のトラブルもなし。これならほんと、悪いのは自身の環境にあるっぽい。
ということで、xorg.conf、ついでにBerylの設定ファイルをコピー。これを使えばひょっとするとひょっとするんじゃないかという期待を抱きFedora起動。
で、Berylを一旦切り、設定ファイルを書き換え、Beryl起動。
結論から言いますと、やっぱだめでしたOrz
5時間は耐えてくれたんですがね、やっぱだめだったっぽい。こりゃいよいよ、環境をクリアにする必要がありそうです。KDEも不調だしね、再インストールが必要っぽい。
まぁこの5時間の間に、音楽ファイルの整理について色々と調べてました。Windowsで音楽を聴くときはfoobar2000を使うのですが、こいつはアルバム単位のシャッフルが正しく動作します。コンピレーションアルバムだろうと、ちゃんと通し番号にそって再生してくれます。
これに対し、Linuxで使っているプレイヤーのamaroKは、アルバムシャッフルが意図通りに動作しません。コンピレーションアルバムの場合、アルバムアーティストのタグではなく曲のパフォーマータグを優先し、同じアルバム内にある同じパフォーマーの曲を若い順に再生します。途中の曲はすっ飛ばします。というか、別アルバム扱いですね。
これは意図した動作ではない、ってな訳で、コンピレーションアルバムでもちゃんと通して再生させる方法について考えていました。
曲のタグをアルバムアーティストのみにし、曲単位のパフォーマータグは削除するという手もあるのですが、それはなんか勿体ないなと。
なら、アルバム単位でファイルを作ってしまえ。ってなわけで、Matroskaを検討。こいつはコンテナとしては優秀でしたが、タグが曲ごとについてくれませんでした。曲それぞれにタグ情報はちゃんと残っているようなのですが、プレイヤー側がそれを読み出してはくれないよう。ID3Tagではなく、チャプターデータとしてXMLで追加してやる必要があるらしい? ちょっとその辺はよく分かりませんでした。
また、amaroKの再生エンジンはxineなのですが、こいつがなぜかMatroskaを認識しない。xine自体はちゃんと読めるバージョン何ですがねぇ。Fedora向けに用意されたrpmの構成がよろしくないのかしら。けどFFmpegもMatorskaはちゃんと認識してたし、mplayerでは再生出来たので不思議っちゃー不思議。どっかで設定できるんだろうけどちょっと分からなかった。今後の課題だな。
とりあえずamaroKで再生できないのでは意味が無い、ということで作戦変更。Oggは結構単純なコンテナで、単純連結でまとめてしまうことが出来ます。まぁうまくいかないときもあったりするようですが、同じエンコーダで同じCDからリップした曲を連結する場合に失敗することはほぼありません。
ただ、連結したところでタグ情報は1曲目しか見てくれない模様。ばらしたらちゃんと残っているあたり、情報としては持っているようですが、再生時に見てはくれないようなんですね。
ですが諦めるにはまだ早い。と言うのは、amaroKはcueシートを読める、という点です。まぁ、cueシート単体を読める訳ではなく、再生するファイルと同じディレクトリにcueシートがあった場合、そこのcueシートのタグを優先して読んでくれるという機能ですが。よって、ばらばらにリップしたOggを連結し(もとからCD1枚分のOggでももちろん可)、書式に従ってcueシートを自前で用意すればそれに応じてきちんとタグ情報が反映され、かつ楽曲ファイルとしては1つなのでアルバムを通して再生できると言うワケ。
この方法のメリットは、amaroKでもアルバム単位のシャッフルが意図通りに動作、foobar2000もcueは読めるのでWinとの共有にも困らない、ファイル数が減らせる、といった点です。
デメリットは、cueシートの手書きが面倒。この1点につきます。曲をバラすのはさして難しいことではないため、如何にしてcueシートを用意するかが勝負です。続いて、アルバム単位のシャッフルをするのに邪道ではあるのですが、トラック単位でのスキップが不可、ですね。foobar2000は可能ですが、amaroKはcueシートを読んでいるというよりは楽曲ファイルを読んでいるためスキップすると次のファイルへ飛びます。まぁアルバム単位で聞こうとそうした訳ですから(私に取っては)さしたる問題ではありません。
Windowsでリッピングする場合、EACを使うのが一番手っ取り早いでしょう。あれでアルバム1枚分のWAVEファイルとcueシートを用意し、そのWAVEをOggに変換。cueシートはテキストエディタにて適宜書き換え。まぁファイル名の.wavを.oggに変更するだけでとりあえずはOK。
その後foobar2000にcueシートを読み込ませ、タグを取得ないし自分で書けば出来上がり。foobar2000はOggとcueの両方を読み込めるため、foobar2000のデータベースに2重に登録されるような形になりますが、さしたる問題ではないでしょう。
Linuxでリッピングする場合はどうしたもんかなぁ? 曲を単体でリッピングするよりCD1枚分でリップする方が楽なんだけど・・・。あと、cueシートを作成してくれるリッパーなんてあったっけか? どうやらfoobar2000はwineで動くらしいから、コンバータとしてwineで動かすのも手かしらねぇ? あれはコンバータとしては非常に優秀だし(笑)
まぁ探せばきっとあるでしょう。今日はcueシートを手書きで書きましたが、あれはしんどい。時間の計算が累計であるため間違いやすい。まぁcueシートはただのテキストデータだから書き換えるのはすぐできるけどね。
そんなわけで、cueシートを今更手書きで書くのは相当しんどいので、過去の遺産については放置の方向で(苦笑) 今後はcueシートで管理しましょうかね。
将来的には(tta+cue).mkaが理想なんだけどなぁ。なんでxineはmkaが読めないんだ? そこもちゃんと調べないとなぁ。。。