Heijastin

ID3v2 and Album Art on Nokia N9

ともかく自分なりに、原因究明と対処法の模索に取り掛かった。

Android, iOS では表示に問題がない音楽ファイルでも MeeGo だと Album Art やタグ情報が正しく表示されないことが多々ある。「MeeGo だから」ではなく「Nokia だから」N9 を選んだ僕にとってはストレスだ。

ID3v2 and Album Art on Nokia N9 Index

  1. Album Art の表示仕様の調査
  2. Album Art 表示に関するバグと対処法
  3. ID3 Tag の仕様と矛盾点
  4. 余談:N9 からも Scrobble 可能になった!

1. Album Art 表示仕様の調査

ID3v2 and Album Art on Nokia N9
ID3v2 and Album Art on Nokia N9

まずは Album Art が表示されたり、されなかったりする問題を解決したい。仕様調査のため、ざっと検索してみたところ Pekka Paalanen: Nokia N9 Music Player and Album Cover Art という記事から MeeGo は Gnome 規定の Media Art Storage Spec に準拠して Album Art を表示させているという情報を得た。

表示可能な形式は Embedded のみ

先の記事に依れば MeeGo は Android 1.6 までのように埋め込み形式 (Embedded) のみに対応しているという。つまりフォルダ内に cover.jpg などの名称で画像を配置しても意味がないわけだ。画像埋め込みは Linux なら EasyTag から Windows なら iTunes や Mp3tag などから行える。

Album Art 画像が保管されている場所

/home/user/.cache/media-art

調べてみると MeeGo はこの場所に Embedded 画像を抽出し Media Art Storage Spec に従って改名して保管しているようだ。後述するバグがあるので内容の削除は極力避けるべし。Cache Cleaner を利用する際は要注意。

Album Art なしの場合の Thumbnail 保管場所

/home/user/.cache/music-suite

Embedded 画像が抽出不可能だった場合 MeeGo は「簡易画像」を自動生成して、この Directory 配下に保管している。/generated だけは削除しても問題ない。

Index に戻る

2. Album Art 表示に関するバグと対処法

端末を二度も初期化するという憂き目に遭ったが、検証してみたことでバグの存在に気が付いた。

MeeGo では表示出来ない JPEG 形式が存在する

条件は不明だが、正常な JPEG ファイルでも MeeGo では表示出来ないことがある。そのため Album Art が表示されない場合は、画像埋め込み失敗の可能性を探るよりも「埋め込んだ画像自体が MeeGo で表示可能か否か」の確認を優先する。

  1. 表示されない Album Art 画像を N9 に送る
  2. Filebox などから該当画像を表示・確認
  3. 表示可能:Embedded に失敗しているだけ→ID3 Tag Editor で再埋め込み
  4. 表示不可能:別の画像を探す

Filebox の場合、正常なファイルであっても MeeGo で表示不可能ならば "Broken" と断定・誤認される(Message がそれしかない)ので注意。

Embedded 画像を差し替えても "Updating Library" 後に Cache が更新されない

N9 を "Use as mass storage" としてパソコンに接続→切断してから Music を開くと、必ず "Updating Library" と表示される。これは「Library の Recursive Update 処理をしている」のだと常識を当てはめて考えていたが、どうやら間違っていた。/home/user/MyDocs/Music に新規追加・削除されたファイルの情報は処理されるのだが、既存ファイルの Embedded 画像を差し替えても更新処理がなされないのだ。つまり MeeGo が既に「簡易画像を作成してしまった」アルバムは、後から Album Art 画像を埋め込んだとしても、永遠に「簡易画像」を表示し続ける。例えば Cache Cleaner を利用して /home/user/.cache/media-art 内を削除した場合は Album Art がすべて「簡易画像」で固定されてしまう。以下に僕なりの対処法を書き記した。

対処法1:ファイルを Library から削除する

ファイルの削除や追加が生じた場合は情報更新がなされるので、ファイル自体を N9 からいったん削除するのが、最も原始的かつ単純な対処法。なお、僕はファイル書き込みの際に原因不明の Input/Output Error に遭遇したことがある。その結果 Music フォルダそのものが利用不可能となった。この場合、端末初期化しか復旧の術はない。

  1. N9 をパソコンに接続し、画像を更新したいアルバムをパソコン側に移動
  2. N9 を切断して Library の更新をかける
  3. N9 を再度パソコンに接続し、先に削除したアルバムを再追加
  4. N9 を切断して Library の更新をかける

対処法2:Library の手動再生成

Cache バグに陥った場合や /home/user/.cache/media-art を空にしてしまった場合は、手動で Library 自体を再生成して Album Art を復旧する。Terminal から以下のコマンドを実行。

/usr/bin/tracker-control --hard-reset
/usr/bin/tracker-control --reindex-mime-type=audio/mpeg
参照:Manually Refreshing Music Library :: My-Symbian ~ My-Maemo ~ My-MeeGo Forum

対処法3:Media Art Storage Spec

何をやっても Embedded 画像が表示されない時は Filebox を使って /home/user/.cache/media-art を見てみると良い。Thumbnail 表示を有効化しておけば抽出された Embedded 画像一覧を簡単にチェック出来る。もし表示させたい画像が抽出されていなかった場合は、手動で Media Art Storage Spec に準拠したファイル名の画像を用意して /home/user/.cache/media-art に配置してしまう。続いて /home/user/.cache/music-suite/generated を削除すれば Album Art が表示されるはずだ。ただし、対処療法的かつ面倒な作業なので覚悟と時間が必要。

Index に戻る

3. ID3 Tag の仕様と矛盾点

続いて ID3 Tag について検証していたところ「仕様の矛盾」にも気が付いた。

  1. Album Art として画像表示可能な形式は Embedded(埋め込み)のみ
  2. にも関わらず ID3v1 と ID3v2 が併記されている場合 ID3v2 より ID3v1 が優先表示される

MeeGo はなぜか Album Art 画像の埋め込みが不可能である ID3v1 を優先表示する。このため ID3v1 のみ記載されているファイルは「アルバム画像が表示されない」という問題が起こり ID3v2 を併記している場合は「アルバム画像は表示されるがアルバム名が文字化けしている」などといった状況が生まれる。

アルバム名やアーティスト名の表示がおかしい場合

ID3v1 が表示されている可能性が高い。問題を解決するには ID3v1 Tag を削除してしまえば良い。これには id3v2 という、ある意味ややこしい名前の CLI ツールが役に立つ。

ID3v2.4 には非対応である可能性大

ID3v2 対応とは言え Album Artist (Performer), Grouping などを表示することは不可能なので、どうも ID3v2.3 までしか対応していない様子。Compilation をライブラリに追加すると Artists 項目が煩雑化するのが嫌だ。

Index に戻る

4. 余談:N9 からも Scrobble 可能になった!

悩み多き MeeGo の音楽周りに希望の光。遂に N9 から Scrobble も可能となった。App を導入すると Accounts に Last.fm と Libre.fm の二項目が新たに追加される。これは競合 OS より遥かに優れた MeeGo のアカウント集約管理の利点を活かしたスマートな処理。素晴らしい完成度の App だ。なお App 導入直後には Reboot するのを忘れないように。Last.fm では "Scrobbling from maemo-scrobbler" と表示されるのも良い。App 最終更新の日付は 2012/07/05 だったので、随分前から存在していたのに気が付かなかった…勿体ないことをした!とにかく、これはもう手放しで嬉しい。

Index に戻る

神機と呼ばれた Nokia 6630 の衝撃と感動をもう一度!

GeePS の登場で Google Maps が遂に利用可能となり、2012年07月02日の「最終更新」PR1.3 リリース後も有志による MeeGo アプリや後継 OS の開発は継続している。しかし僕が求めるのは、獏とした展望よりも現実的なバグ解消。僕の所有携帯は N9 のみなのだ。音楽面の改善こそ僕の求めるものだったが、最終更新でも無視された。所詮 N9/MeeGo は実験後の廃工場?それでも、僕はまだ Nokia 製品に対する期待を捨てずにいる。Nokia 6630 の衝撃と感動の再来を期待しているのは僕だけではないはずだ。Nokia は死せず!

Tags