iTunesで再生中の楽曲にLast.fmのタグを自動で取得し埋め込むAppleScript

iTunesで再生中の楽曲のコメント欄にLast.fmのタグを自動で取得し埋め込むAppleScriptを紹介します。

この記事は「iTunesで楽曲のコメント欄にLast.fmのタグを自動で埋め込み管理する」のパート2(第2段)記事になります。

今回はiTunesで再生中の楽曲のタグをLast.fmから自動取得し、コメント欄にそのタグを埋め込むAppleScriptを作成したいと思います。

パート1記事を未読の場合は、下記リンクから閲覧可能です。理解を深めた上でこの記事をご覧頂くことをお勧めいたします。

はじめにiTunesで楽曲のコメント欄にLast.fmのタグを自動で埋め込み管理する
パート1Last.fmのAPIを使用できるよう登録
パート2iTunesで再生中の楽曲にLast.fmのタグを自動で取得し埋め込むAppleScript
パート3楽曲に埋め込んだタグを利用してスマートプレイリストを作成

Scriptを作成

この記事ではAppleScriptを使用します。説明をよく読んでいただければ、AppleScriptに関する知識が皆無でも動作するとは思いますが、自己責任で行うようお願いします。
※特にiTunesのコメント欄を以前から使用している場合は上書きされるのでご注意ください。

AppleScriptのバージョン確認と起動

なお、現在私の使用しているAppleScriptのバージョンは[2.6.1]です。

mac-itunes-applescript-lastfm-tag-1

このバージョンより古いバージョンの場合、正常に動作するか判断できかねます。ご了承願います。
※バージョンアップで動作しなくなった等の連絡はコメント欄からいただけると幸いです。その際は記事を訂正したいと思います。

AppleScriptを記述

  1. 下記コードを新規スクリプトにコピー&ペースト
  2. 4行目の””にAPIキーをペースト
  3. パート1記事でメモしておいたAPIキーです。

    mac-itunes-applescript-lastfm-tag-2

  4. 適当に名前をつけて保存
  5. ちなみに私は「getTagInfo」という名前にしました。

このスクリプトの説明

このスクリプトは以下の順番で処理を行っています。

  1. iTunesで現在再生中の曲情報(アーティスト名・曲名)を取得
  2. 曲情報を基にSafariの新規タブでタグ情報の記載されているXMLファイルを表示(APIを使用)
  3. XMLファイルからタグを抽出
  4. Safariの当該タブを閉じる
  5. iTunesで現在再生中の曲のコメント欄にタグを書き込む
  6. 曲の再生時間が0:10になったら次の曲を再生
  7. 上述の内容を繰り返し…

スクリプトの使用方法

  1. スクリプトを呼び出す
  2. iTunesで音楽を再生させる
  3. スクリプトの”実行”ボタンを押す
  4. mac-itunes-applescript-lastfm-tag-3

  5. スクリプトを停止する場合は”中止”ボタンを押す
  6. mac-itunes-applescript-lastfm-tag-4

スクリプトの使用結果

スクリプトを使用してタグを取得すると、コメント欄はこのような感じになります。

mac-itunes-applescript-lastfm-tag-5

ちなみに、多くのユーザーに登録されたタグから順に記載されます。

実際に使用してみて気付く方もいるかもしれませんが、このスクリプトではコメント欄に250文字位までしか入力されないため、下位タグが登録されないという現象が発生してしまいます。(原因は不明・・・)

この問題に関しては解決策を模索中です。

コピー&ペーストで貼り付けるという荒業を使えば対処可能なのですが、なかなかうまくいきません・・・また、私の中で下位タグを取得することに魅力を感じないという観点からこの方法は却下しています。

ちょっとした注意点

私は放置状態で長時間運用していませんが、CPUやメモリに高負荷が掛かる可能性があるため、放置して長時間スクリプトを動作させるのはやめた方がいいかもしれません。

先ほども説明しましたが、このスクリプトはiTunesとSafariを交互に激しく切り替えます。従ってこのスクリプト処理を実行している時間はMacを使用できないものと考えてもらっていいかもしれません・・・Macの前で読書がお勧めです。笑

ちなみに「6曲/分」のペースで処理を行うので時間に換算すると「約600曲/時」となります。1万曲以上がライブラリに保管されている方は結構時間が掛かるかもしれませんね・・・

応用編

このスクリプトは、10秒で次の曲に移行する設定になっています。この10秒という間隔を変更したい方もいるかもしれません。

その場合は、スクリプト編集の5行目の数字を変更することにより、その時間を調整することが可能です。

mac-itunes-applescript-lastfm-tag-6

例えば”5″と入力すれば5秒間隔で次の曲に移行することが可能です。

ところが、”5″と入力しても1秒くらいで次の曲を再生することがあります。(それでもタグは取得できていますが)この原因については未だ詳しく検証できていないため、改善すべき課題であると認識しております。

強制終了

このスクリプトが暴走気味になった場合(例えば1秒くらいでSafariとiTunesを交互に行き来したりする場合)はSafariに切り替わった瞬間にクローズボタンを押すことでスクリプトを停止させることが可能ですので頭の隅に入れておいてください。

mac-itunes-applescript-lastfm-tag-7

・・・ということで動作に若干の不安があるものの、タグを取得することができるようになりました(素人の考えたスクリプトなので若干の誤動作は許容願いたく・・・)。それらのタグを利用してプレイリストを作成してみたいと思います。

こちらからお進みください。

楽天

  

スポンサードリンク

  • 14
    follow us in feedly
  • このエントリーをはてなブックマークに追加

スポンサードリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

楽天

PAGE TOP ↑