時々音楽を聞く。パソコンにイヤホンを挿して聞いている。パソコンには家にある音楽CDを全てパソコンに落としてある。音楽ファイルの形式は幾つかあるけど今から書くのはMP3形式の音楽ファイル。MP3の読み方はエモピースリーだけど口に出さない時ひエムピーサンと読んでいる。 MP3形式のファイルを図-1のように幾つか選択して Enter すると Windows Media Player が立ち上がって演奏が始まる。ところがどうも気に入らない点があった。演奏順がどうやっても思った通りにならないのだ。ファイル名を小細工してもダメ。どうやらファイル名順ではないようだ。 調べてみた。Windows Media Player はエクスプローラに表示されてるタイトル欄にある曲名順に演奏するという仕様だった。そんな事が出来る理由はMP3ファイルには音データ以外に曲名や演奏者名などが格納されているからだ。ID3 タグバージョン2.3.0の4.ID3v2 フレームの定義を見ると74項目もあった。 3曲目のタイトル、3が抜けてるように思われる。本来は 3 La danse d'Anitra... かな。兎に角そのせいで演奏順が狂ってしまったのだ。試しにLの所を3に書き換えたら思った通りの順番で演奏された。書き換えるには蛇足で書いたソフトを使う。例えばMp3tagかな。 実はタイトルが無い場合もある。LPレコードをCDにしたものにはタイトル情報などは全く無い。また買ったCDなのに無い物もあった。それらを少し試したところこうなった。選択した最後の曲が先ず演奏された。次は先頭に戻ってファイル名順。思うにタイトルを探したけど最後まで見つからなかった。じゃぁ最後に調べた曲から再生するかってところかな。 以下の記述はプログラミングする人用、というより自分の備忘録程度かな。MP3ファイルのハッキング用にMp3tagというフリーソフトをインストール。もう一つのツールは以前から使っているStirlingというバイナリーエディター。これらを使ってチマチマ調べて分かったのがこれ。
上に書いたのはフレームの先頭部分だけなので曲名は尻切れトンボ。表中、型と名付けた所はテキストのエンコーディングを表す。型が01なので曲名はユニコードで書かれている。 曲名が図-3のように文字化けしてるのがけっこうある。なのでそれを変更する自作プログラムを作る予定。ユニコードは良く分からないので文字は馴染みのある Ascii や シフトJIS にする。
|
最新の画像[もっと見る]
- コオロギパンでも気持ち悪いのに 3時間前
- 画像文書をテキスト文書に@Google ドキュメント 4時間前
- 画像文書をテキスト文書に@Google ドキュメント 4時間前
- 結露した朝 1日前
- 結露した朝 1日前
- 結露した朝 1日前
- 結露した朝 1日前
- 結露した朝 1日前
- 結露した朝 1日前
- 結露した朝 1日前
あとiPod Classicの歌詞表示もUnicodeじゃないとNG。
なもんで、ID3UniというUnicodeに漢字コードを変換するフリーソフトを使ってます。
ちなみにMP3のタグには、Version1と2を混在できるんですが、Version1がShift-jisでVersion2がUnicodeなんていうMP3ファイルがあったりすると、Version1が優先されて文字化けなんていうこともありました。
そういうときは、Multimedia Tag RemoverというソフトでVersion1を削除したりしてます。
Unicodeの事調べないといけないな。
ID3Uni見たらはUTF-16にするとあった。
> ちなみにMP3のタグには、Version1と2を混在できるんですが、
こういうのが厄介だけど不都合が無い限りは放置かな。
※
図-3で文字化けしてる文字は UTF-16 だとフレームに記述されていた。
エクスプローラーではちゃんと表示されないのかな?
調べ出すとキリがないので一旦ここで終了。