玩式草子─ソフトウェアとたわむれる日々

第28回 Plamo Linuxで音楽三昧[その2]

この記事を読むのに必要な時間:およそ 5 分

いつの間にか今年のカレンダーも最後の一枚になり,街中はクリスマスセール一色で,スーパーの鮮魚コーナーの片隅に「数の子」が出てくる季節になりました。

昨年の晩秋から始めたPlamo Linuxの64ビット化の作業も最終段階に近づき,最近は夜な夜なインストールテストやデバッグ作業にいそしんでいます。そのような作業では,しばしば待ち時間や検討時間が生じ,そのような無聊な時間を慰めてくれるのが心地よいBGMです。本来の仕事を中断して,仕事中のBGMを効率よく扱う方法を探すという,本末転倒の作業が始まりました(苦笑)⁠

メディアプレイヤーのCDDB対応状況

前回紹介したように,KDEデフォルトのCDプレイヤーであるKsCDは,MusicBrainzのみに対応していて,より多くのタイトル情報を保持しているFreeDBには未対応でした。

それでは他のメディアプレイヤーではどうだろう,と考えて,Plamo Linuxに含まれているメディアプレイヤーをあれこれ試してみました。

最近ではKsCDのようなCD専用のプレイヤーはほとんど無く,たいていは動画ファイルやDVDの再生にも対応したマルチメディアプレイヤーで,CD再生はその機能の一部になっています。

Rhythmbox

RhythmboxはGStreamerフレームワークを利用した音楽プレイヤーで,GNOME環境のデフォルトの音楽プレイヤーになっています。

Rhythmboxは,KsCD同様, MusicBrainzのみの対応で,FreeDBのみに存在しているタイトル情報は利用できませんでした。

xine

xineは多数のコーデックに対応しているマルチメディアフレームで,CDを再生する機能も持っています。

xineでは実際の処理を行うxine-libと,それを用いたGUI部(xine-ui)が独立に開発されています。xine-lib側を見ると,CDDBとしてFreeDBのみに対応し,日本語タイトル等のUTF-8形式で送られてくるタイトル情報も正しく処理でき,視覚効果表示ウィンドウのタイトルバーには正しく日本語タイトルも表示されます。

一方,xine-ui側では日本語フォントが正しく扱えないため,プレイリスト等には日本語タイトルが表示できないようです。

図1 xineではプレイリストで日本語タイトルが表示できない

図1 xineではプレイリストで日本語タイトルが表示できない

mplayer

mplayerはxine同様,Linuxで古くから使われてきたメディアプレイヤーで,さまざまなコーデックに対応していることに定評があります。

mplayerにもCD再生機能が用意されており,cddb:// を引数に起動するとFreeDBに接続してタイトル情報を入手,表示してくれました。

$ mplayer cddb://
MPlayer SVN-r34178-snapshot-4.5.3 (C) 2000-2011 MPlayer Team
cddb:// を再生中
Found audio CD with 9 tracks.
================ CD INFO === start =========
 artist=[遊佐未森]
 album=[檸檬]
 genre=[J-pop]
 nb_tracks=9
 length= 31:58.15
  # 1  4:14.31 @     150	[青空] 
  # 2  2:02.38 @   19230	[月がとっても青いから] 
  # 3  3:42.16 @   28417	[南の花嫁さん] 
 ...

一方,mplayerもxine同様にGUIを用いたユーザインターフェース部は別プロジェクトとして開発されており,デフォルトのGUIであるgmplayerも,QtベースのGUIであるsmplayerも,mplayerがFreeDBから入手してきたタイトル情報を引き継ぐことはできず,プレイリストにはタイトル情報が表示できませんでした。

vlc

vlcはxineやmplayerよりも新しい世代のメディアプレイヤーで,メディアプレイヤーとしての使いやすさを重視した作りになっています。

vlcのCD再生機能は,CDDBとしてFreeDBに問い合わせを行いますが,FreeDBからの返答の中に英数字以外の文字があるとエラーと見なして処理を打ち切るようで,タイトル情報が英数字のみのCDではプレイリストにタイトルが表示されますが,日本語を含んだCDではトラック情報を受けとることができませんでした。

Amarok

AmarokはKDE環境を前提とした音楽プレイヤーで,動画再生機能は持たないものの,タイトルから歌詞を探してきたり,アーティスト名をWikipediaで調べた結果を表示したりと,楽曲再生に特化した作りになっています。

AmarokはKDEのCDDB機能を使っていることもあり,MusicBrainzとFreeDBの双方に対応しているものの,FreeDBから送られてくる日本語タイトルはタイトル中の日本語の部分が全て「????」になってしまいました。

図2 Amarokでは日本語タイトルが文字化けする

図2 Amarokでは日本語タイトルが文字化けする

これは日本語localeがらみの問題かも,と思って,localeの設定をあれこれ変えてみても変化なく,少しソースコードを追いかけてみたところ,KDEのライブラリを使ってFreeDBからデータを入手した時点ですでに返答のUTF-8形式のデータが壊れているようでした。

このように,手元にあるメディアプレイヤーをざっと試してみたところ,いずれも音楽CDの日本語タイトルを表示する機能は不十分でした。少しデバッグしてやれば何とかなりそうなものもありますが,そういう作業に手を出すと「秋の夜長の作業用BGM」という本来の目的からますます脱線していくことになりそうなので,別の方向を考えることにしました。

著者プロフィール

こじまみつひろ

Plamo Linuxとりまとめ役。もともとは人類学的にハッカー文化を研究しようとしていたものの,いつの間にかミイラ取りがミイラになってOSSの世界にどっぷりと漬かってしまいました。最近は田舎に隠棲して半農半自営な生活をしながらソフトウェアと戯れています。

URLhttp://www.linet.gr.jp/~kojima/Plamo/index.html

コメント

コメントの記入