2016/03/07
iTunes
歌謡曲が好き
itunes matchはじめてみました話その2
週末結構な時間をitunes matchに費やしてみました。
曲数65,561から
一致28,118
アップロード11,472
不適格とか62
で、未だ待機中が25,903曲という惨状でございます。
この待機中ってのが、途中で止まってるのか、エラー曲があるのか等、よくわかっていませんので、とりあえず無視。
やってみたかったのは音楽ファイルのアップグレードでございます。
我が家のライブラリはCDリッピングとitunes購入以外は
●128kbps 初期にスターデジオで録音始めたもの、アナログから録音している。
●192kbps 現在スターデジオから録音してるもの、光ケーブル経由でデジタル録音。
●256kbps 有線放送契約時に録音したもの。アナログから録音。ソフトウエア不具合が多かったため曲が切れてたりいろいろ不具合がある可能性が高い。
この3種類がある。
これらをitunes matchでitunesで販売している256kbpsaac形式にアップグレードするというのが私の企みです。
で、曲タイトル情報をなんとかitunesから得ようというのも頑張ってみたわけです。
●交換(アップグレード)してくれる音楽ファイルはどんなもの?
itunes上ではアップグレードしたファイルは次のような形になっています。
・種類:マッチしたAACオーディオファイル
・ビットレート:256kbps
・サンプルレート:44.100kHz
・iCloudの状況:マッチ
です。
これが購入したファイルなら
・種類:購入したAACオーディオファイル
・ビットレート:256kbps
・サンプルレート:44.100kHz
・iCloudの状況:購入した項目
ちなみに購入したファイルの場合は
・購入者:
という項目があって、私の名前とappleIDが表示されています。このファイルは他の人のitunesライブラリにコピーしてもこの名前が出るわけですから、ばらまかれたらえらいことになるわけですね。その代わりandroid等itunesの対象じゃないデバイスでも再生できる。
さて、アップグレードした「マッチしたAACオーディオファイル」は自分で買ったCDだろうが、スターデジオから録音したものだろうがマッチしてしまえばダウンロード可能です。しかもDRMもないし、購入者名も表示は無い。っと思ったら大間違い。
●バイナリエディタでのぞいてみると
ありました。私の名前とID。つまりは基本的にはitunesストアで売っているものと同じと言うことになります。「購入者」ではないので購入者としては表示されないだけで、この楽曲ファイルをばらまいたりしたらえらいことになるのは間違いありません。
itunesの楽曲ファイルの扱いは購入したものだろうがダウンロードしたものだろうが注意した方がいいです。うかつにコピーして渡したりすると、あとで困ることになるかもしれませんね。
●どの曲とマッチしたの?
さて、せっかくのitunes matchですが、楽曲の曲名やアーティスト名等のタグ情報は元に入力されていた情報をそのまま表示します。そのため、場合によっては曲名が間違った登録になっていたり「トラック1」などの無意味情報で登録されたままということも発生します。
これを調べる方法を結構苦労して見つけました。(あまりこの情報ヒントも含めてネットに上がってないんだよねぇ)
先のバイナリエディタで楽曲ファイルを見ると000002700から03に記載されているものを10進数に直しますと、それがitunesの楽曲IDになります。
たとえばここの値が3F8BE82Cであれば10進数1066133548となります。
これを
http://itunes.apple.com/lookup?country=JP&lang=ja_jp&id=1066133548
のようにアクセスしますと
{"wrapperType":"track"
, "kind":"song"
, "artistId":163970161
, "collectionId":1066133543
, "trackId":1066133548
, "artistName":"Negicco"
, "collectionName":"圧倒的なスタイル (NEGiBAND ver.) - EP"
, "trackName":"圧倒的なスタイル (NEGiBAND ver.)"
, "collectionCensoredName":"圧倒的なスタイル (NEGiBAND ver.) - EP"
, "trackCensoredName":"圧倒的なスタイル (NEGiBAND ver.)"
, "artistViewUrl":"
https://itunes.apple.com/jp/artist/negicco/id163970161?uo=4
"
, "collectionViewUrl":"
https://itunes.apple.com/jp/album/ya-dao-denasutairu-negiband/id1066133543?i=1066133548&uo=4
"
, "trackViewUrl":"
https://itunes.apple.com/jp/album/ya-dao-denasutairu-negiband/id1066133543?i=1066133548&uo=4
"
, "previewUrl":"
http://a705.phobos.apple.com/us/r30/Music49/v4/10/4a/c2/104ac221-3a18-8c91-aeb4-be944a33ddf2/mzaf_6142439988353625533.plus.aac.p.m4a
"
, "artworkUrl30":"
http://is5.mzstatic.com/image/thumb/Music2/v4/ee/78/bb/ee78bb09-4aa5-be56-1f7d-a0b8d4617302/source/30x30bb.jpg
"
, "artworkUrl60":"
http://is5.mzstatic.com/image/thumb/Music2/v4/ee/78/bb/ee78bb09-4aa5-be56-1f7d-a0b8d4617302/source/60x60bb.jpg
"
, "artworkUrl100":"
http://is5.mzstatic.com/image/thumb/Music2/v4/ee/78/bb/ee78bb09-4aa5-be56-1f7d-a0b8d4617302/source/100x100bb.jpg
"
, "collectionPrice":800.00
, "trackPrice":200.00
, "releaseDate":"2015-12-26T08:00:00Z"
, "collectionExplicitness":"notExplicit"
, "trackExplicitness":"notExplicit"
, "discCount":1
, "discNumber":1
, "trackCount":4
, "trackNumber":1
, "trackTimeMillis":301817
, "country":"JPN"
, "currency":"JPY"
, "primaryGenreName":"J-Pop"
, "isStreamable":true}]
と言う感じで表示されるわけですね。もちろん、これ、ちゃんと意味あるフォーマットですよ。
これで、楽曲名、アーティスト名、そしてアートワークまで知ることができます。これにitunes上のデータを書き換えてあげればいいですね。ついでにサンプル音源まであるのは面白いですねぇ。
もちろんこれはitunes matchでダウンロードされるファイルだけでなく、itunesで購入した楽曲でも同じです。いじっちゃって楽曲名やアーティスト名がおかしくなったら覚えておくといいかも。
ここまでわかったら、itunesからマッチしてダウンロード済の楽曲を抽出して、そのファイル名からitunesの楽曲IDを取り出してitunesストアにアクセスして楽曲データやアートワークを取り出す自動化スクリプトが書けそうだ。まぁ、来週までの宿題にしておこう。
(コメント追記)
これをちゃんとすることによって今までのitunesライブラリの不備を減らすことができますね。
たとえば
●~ファンファン大佐~ SOFFet Feat. サイプレス上野とロベルト吉野
●~ファンファン大佐~ SOFFet/サイプレス上野とロベルト吉野
という曲。同じ曲ですが、アーティスト名が異なっていることで別な曲として認識されていたような。そういう曲が同じitunesストアのIDを持っていれば同じ曲と認識できます。
しかし、逆に同じ曲が別の曲としてマッチされている可能性があります。シングルとアルバムとかの同じ曲ですね。
私は今までプレイリストをAccessで管理して同じタイトル・アーティスト・アルバム・演奏時間(5秒以内のぶれを許容)で重複のチェックをしていましたが、これはそれなりに危険で演奏時間は空白の取り方で数秒すぐ変わりますし、同じ演奏時間のバージョン違いの可能性は排除できませんから。
とはいえitunesmatchでマッチしたものが必ずしも一致かというとそれは若干の怖さはあるわけで、アナログ的な仕掛けはなくせないとも言えます。曲が多くなればなるほど重複曲の管理に気を遣うことになります。
我が家のライブラリは既にアルバム読みとコメントに管理用タグを入れているので、どこかにitunesストアIDを入れておきたいんだよなぁ。また頭を悩ませますね。
ともかく我が家の場合は
オリコン、ザ・ベストテン等の楽曲データベース(基本的にオリコン100位以内に登場したA面曲はデータベース化されている)とitunesライブラリの紐付けを課題にしていたので、これが完璧では無いなりに処理できるようになったのは喜ばしいですねぇ。
ちなみにitunesストアは楽曲名やアーティスト名からIDを引くこともできるので、これも活用でしょうね。これ、個人でやっている限り終わらない話であります。
ちなみに外国曲は必ずしもアメリカの楽曲がiTunesUSの販売曲にマッチしているとは限らない。
ORLEANSのDance With MeがドイツのiTunesにマッチしてるんだよなぁ。
ここから曲タイトルを持ってきたら Bayern1 - Der Oldie-Sommer というよくわからないコンピレーションアルバムとマッチしていて少々笑う。
もしかすると日本の曲も海外発売版だとあり得るかもね。
とりあえず取得プログラムは書いてみてテストしている。恐ろしいから自動でiTunesライブラリを書き換える機能は無効にしておく。