iTunesの曲情報はすべてitlファイルというバイナリファイルに書かれていますが、同時にAppleの他の製品などから読み出しやすいように、xmlファイルも吐き出されるようになっています。このファイルはユーザごとに場所が決まっているようです。
http://support.apple.com/kb/HT1660?viewlocale=ja_JP
自分が使っているMac OSX 10.8.5と、iTunes 11.1.2というバージョンにおいては、iTunes Library.xmlではなくiTunes Music Library.xmlというファイル名になっていました。環境によって微妙に違いがあるのかな。
このファイルを見てみると、
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Major Version</key><integer>1</integer> <key>Minor Version</key><integer>1</integer>
となっており、Appleの独自フォーマットPropertyListで定義されているようです。これはMac OSXでは一般的な.plistという拡張子のファイルで使われているフォーマットとなっています。
Wikipediaによると、辞書を
<dict> <key>key</key> <string>value</string> </dict>
のような形式で保存するのが特徴のようです。
このファイルをPythonで扱うには、XMLをParseしないといけないかな、と思っていたんですが、ありました。plistlibというモジュール。しかもPython 2.6以上ではすべてのプラットフォームで標準で入っているようです。
import plistlib
import pprint
def read_itunes_xml():
pl = plistlib.readPlist('/Users/<username>/Music/iTunes/iTunes Music Library.xml')
pp = pprint.PrettyPrinter(indent=2)
print pp.pprint(pl)
このようにするだけで、簡単にiTunesライブラリのメタデータを表示することが出来ました。
pl['Tracks']の中には、すべての楽曲のAlbum, Artist, Bit RateなどのMP3タグを元にしたメタデータが入っています。
0 件のコメント:
コメントを投稿