- ベストアンサー
iTunesのプレイリスト群をMP3に一括変換
車のナビにSDカードでMP3で音楽を入れたいのですが、家ではMacでiTunesで音楽ファイルを管理しています。iTunesのプレイリストを、階層構造(プレイリスト>楽曲一覧)を維持しながら一括でMP3に変換してSDカードに格納するにはどうしたらよいでしょうか? ご教示よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>階層構造(プレイリスト>楽曲一覧)を維持しながら一括でMP3に変換 を目指すとなると かえって面倒なのだと思います。 iTunesだとCDを MP3なりAIFFなりAppleロスレスなりで 変換(エンコード)して取り込みますが 一旦エンコードした曲に対して もう一度エンコードをすると 別エンコードのバージョン の同じ曲がつくれます。 (音質は そのエンコードなりのものになりますし 、可逆圧縮をかけた物を非可逆圧縮にしても 音質が復活はしません。) iTunes Storeで購入した「保護されたAAC…」の曲は 直接再エンコードができませんが CD-RなどにオーディオCDとして作成/書き出したものを再読み込みで 対処できます。 MP3として曲を揃えて集めてから プレイリスト作成→複製→SDカードに移動(保存)とした方が 楽に作成できると思います。
その他の回答 (1)
- unokwave
- ベストアンサー率58% (966/1654)
恐らく自分でスクリプトを書くしかないと思います。 最初はiTunesで楽曲変換機能を使ってmp3バージョンを作成します。 その後は楽曲・プレイリスト情報をiTunes Music Library.xmlというファイルを読み込んで、プレイリストにある楽曲のTrack IDを取得し、Track IDから楽曲の詳細情報エントリへ辿り着き、そこに書かれているフルパスから拡張子をmp3に変えたものをコピーするという流れです。 もう少し具体的に書くと、iTunes Music Library.xmlはXMLフォーマットと呼ばれる構造で情報が記述されています。 その中には楽曲の個別情報と、プレイリストの情報などが含まれています。 例えばプレイリストは <dict> <key>Name</key><string>プレイリスト1</string> <key>Playlist ID</key><integer>36061</integer> <key>Playlist Persistent ID</key><string>CE47B44ADBEFDFE0</string> <key>All Items</key><true/> <key>Playlist Items</key> <array> <dict> <key>Track ID</key><integer>20138</integer> </dict> <dict> <key>Track ID</key><integer>20180</integer> </dict> <dict> <key>Track ID</key><integer>20218</integer> </dict> このような内容になっています。 そして <key>Track ID</key><integer>20218</integer> これがプレイリストに含まれる一つ一つの曲を表すIDになっています。 そして次にこのID(この例では20218)をキーにこのXMLファイルの中を探すと <key>20218</key> <dict> <key>Track ID</key><integer>20218</integer> <key>Name</key><string>music-name</string> <key>Artist</key><string>artist-name</string> <key>Album</key><string>album-name</string> <key>Kind</key><string>AAC オーディオファイル</string> <key>Size</key><integer>7715691</integer> <key>Total Time</key><integer>237538</integer> <key>Disc Number</key><integer>2</integer> <key>Disc Count</key><integer>5</integer> <key>Track Number</key><integer>22</integer> <key>Track Count</key><integer>22</integer> <key>Date Modified</key><date>2012-04-04T20:07:35Z</date> <key>Date Added</key><date>2012-04-04T19:53:10Z</date> <key>Bit Rate</key><integer>256</integer> <key>Sample Rate</key><integer>44100</integer> <key>Play Count</key><integer>3</integer> <key>Play Date</key><integer></integer> <key>Play Date UTC</key><date>2012-04-05T19:09:06Z</date> <key>Artwork Count</key><integer>1</integer> <key>Persistent ID</key><string></string> <key>Track Type</key><string>File</string> <key>Location</key><string>file://localhost/C:/iTunes/artist-name/album-name/music-file.m4a</string> <key>File Folder Count</key><integer>-1</integer> <key>Library Folder Count</key><integer>-1</integer> </dict> このような記述になっていて、 <key>Location</key><string>file://localhost/user/name/iTunes/artist-name/album-name/music-file.m4a</string> の部分がファイルのフルパスを表しています。 この情報に従ってSDにフォルダを作成しつつコピーする方法しか思い浮かびません。 それをスクリプトを組んで自動化するわけです。 他にはSDを利用するのを諦め、iPodとFMトランスミッタを購入してFMで聞く方法が考えられます。
お礼
詳細な回答を有難うございます!参考になりました。