2012年3月1日木曜日

[AppleScript] iTunesで選択している曲から歌詞が無いものをプレイリストに書 きだす

先にあげたArtworkネタに便乗して、今度は歌詞です。

僕はiPodで歌詞を読みたいので、リッピングするときについでに歌詞も入れてます。
メジャー曲はだいたいLyrics Masterっていう素晴らしいアプリで事足りてます。
が、少しマイナーな曲になるとやっぱりぜんぜん見つからないわけです。
でもやっぱり歌詞欲しい!ってことで、頑張って検索してコピペするという涙ぐましい努力をしています。

この検索する過程がもう本当にすっっっごくめんどくさいんですが、今回はそこは置いといて、歌詞の無い曲を抽出するする方法についてです。

使ったことある人は分かると思うんですが、Lyrics Masterで歌詞検索を始めると超高速で曲をスキップしながら再生し始めます。
歌詞が見つかった場合はちゃんと埋め込まれてスキップされてるんですが、実は歌詞が見つからなかった場合もまったく同じ具合にスキップされるので、最終的にどの曲に歌詞が埋め込まれてるのか区別がつかないのです。(これどう考えても設計ミスだろ・・・)
結果、取りこぼしまくってるけど確認するのもメンドイという、最悪の展開に陥ります。

これを解決するために、歌詞がない曲だけ取り出すスクリプトを書きました。
スマートプレイリストでも作れるけど、それすらもメンドイので。。。

iTunesで選択している曲の中から、歌詞が埋め込まれていない曲を選別します。
「No Lyrics[作った日時]」という名前のプレイリストを作成し、そこに振り分けます。

--iTunesで選択している項目の中から歌詞が無いものをスマートプレイリストに書きだす
set theDate to do shell script "date +'%Y/%m/%d - %k:%M'"
set pName to "No Lyrics[" & theDate & "]"
tell application "iTunes"
set pList to make new playlist with properties {name:pName}
repeat with theTrack in selection
if lyrics of theTrack = "" then
duplicate theTrack to pList
end if
end repeat
set trackNum to count track of pList
if trackNum = 0 then
delete pList
end if
end tell

保存場所は前と同じく「/Users/ユーザー名/Library/iTunes/Scripts/」がいいと思います。

このスクリプトのおかげで
  1. とりあえずLyrics Masterを使う

  2. 超高速&超適当に歌詞が埋めこまれる

  3. 歌詞埋め込んだ曲を選択してスクリプト実行

  4. 取りこぼしプレイリストが作られるのでフォロー

って具合で、ほんの少し楽になりました。

プレイリストの曲を全部フォローし終わったら全選択してもう一回スクリプト実行すれば、まだ取りこぼしがないか最終確認できます。
選択した項目を対象にしたのはコレが理由。まあそれでもメンドイけど。
うーん、なんとかギリギリ許容内かなあ・・・

0 件のコメント:

コメントを投稿