メイン

iTunes関連 アーカイブ

2010年4月21日

iTunesでiPod/iPhone同期時のトランスコード

iTunes 9.1から、接続したiPhone/iPodの画面に「ビットレートの高い曲を128kbps AACに変換する」というオプションが付いた。
これは、iTunes側のライブラリにある高ビットレート(基本的にはApple losslessコーデックが想定されている)の曲ファイルを、iPhone/iPodにsyncする際に128kbps AACにトランスコードして転送してやることで、容量を節約するための機能である。
元々、容量の小さいiPod shuffleだけにあった機能だが、これがiPhone/iPod全体に拡大された。

基本ロスレスで残しておきたい派だが、ロスレスでiPhoneに入れていたらいくら容量があっても足りないので、これまでは仕方が無くAACとApple lossless両方でエンコードして、自作の同期ツールを使ってリアルタイムにレーティングや再生回数の情報を相互で同期していた。が、これがまあ面倒なのである。

自分はメタデータ厨でもあるので、CD取り込み時には曲名やら作曲者やらをきっちり正確に入れる。連名の区切り文字、全角半角文字の使い方などにも規則を設けているし、大文字小文字もブックレット通りに正確に入ってないと気が済まないので、cddbにあるCDであっても、全曲照らし合わせてチェックする。
Apple losslessでのrippingが終わったら、次は読み仮名の入力である。この読み仮名の入力が、iTunes側がいまいちな造りでまた面倒なのだが、今は割愛するとして、読み仮名が終われば次はジャケット画像をスキャナで高解像度で取り込んでレタッチして曲に追加、さらに曲によっては歌詞を入れるといった案配である。(もちろん歌詞の打ち方にも一定の規則を設けている)

まあこうして文章化してみると、正直呆れるくらいの手間を掛けているわけだが、ここまでデータを完成させてから、losslessからAACへトランスコードさせればよいのだが、ジャケットアートワークや歌詞は非常に時間が掛かるので、AACトランスコードの方が先になることが多い。
そうすると、どうしてもlossless・AACのファイルに対して二度打ちしなければならなくなる。
また、読み仮名や歌詞が入っていない既存の古い曲に入力する場合も、当然二度打ちが必要になる。

他にもプレイリストを二重管理しなければならない等、不便な点は数多くあり、正直losslessとAACのデュアルフォーマット管理はかなり面倒なのであるが、今回のsync時トランスコード機能で、夢にまで見た(大げさ)一本化が可能となったのだ。

IMG_0365.png
しかし現実はそう甘くはない(笑)。sync時にトランスコードされるので、追加変更する曲数が多いと、syncに時間が掛かる。特に初回sync時はとてつもない時間が掛かる。
さらにいきなりバグ発見。iPhoneにトランスコードして歌詞が画像のように読み込み中のまま止まって、表示されない。iPodではタイトルだけ表示されて、歌詞欄はブランクのままである。
(5/3加筆: iTunes 9.1.1でこのバグは修正されました)

また移行作業が結構大変。
今まではiPhone用にAACのプレイリストを作成していたため、まずはプレイリストを一本化。ひたすら手作業で手直しである。
さらに、再生回数や最終再生日をlossless側へマージ移行する必要がある。(これまでは再生回数のみAAC側にリアルタイムにマージしていた)
実はプレイリストを移行する過程で、一旦ファイルにエクスポートして、ファイルを直してからインポートし直すことでまるまるlossless用に変換しようとしたのだが、ファイル形式でm3u8でインポートしたら、ライブラリ上の曲名が全て "曲名 - アーティスト名" の形式に書き換えられてしまい、しょうがないのでこれを修正していたら修正中にiTunesが落ち、曲ファイルへのリンクが200曲以上切れてしまった。この手直し作業がまたとてつもなく手間の掛かる作業で、現在のところまだリカバーの目処は立っていない。

なかなかままならぬものである。。。(というか、腐った実装とバグ多すぎだろうJK)

About iTunes関連

ブログ「物欲日記」のカテゴリ「iTunes関連」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリは買い物です。

次のカテゴリは感想です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 4.261