2012年11月30日金曜日

iTunesの曲を数秒ずつ再生する

前回書いた記事で、以下の様なケースがあるかと思います。
昔iTunesにBPM情報を反映させたけど、最近Traktor上でBPMを修正した!
→BPM情報なしのリストの方法が使えず、一個一個手で再生しないといけない

TraktorもiTunesも使ってるけど、iTunesのどの曲をTraktorで解析したかがわからない
→どれを再生したらいいのかわからず途方に暮れています…。

今回はちょっと力技です。
スクリプトを使ってiTunesに入っているすべての曲を数秒ずつ再生させます。

フリーソフトなど使えるものがないかなと調査した結果、↓のサイトが大変参考になりました。

iTunesを一定間隔で自動再生するVBSスクリプト

このスクリプトを応用して、iTunesのリストの曲を2秒ずつ再生するスクリプトを作りました。
作りましたというか、そのまま値を書き換えただけですけど…(^^;)
※スクリプトの作成、実行は自己責任で行なってください。この記事を参考にしたらPCがおかしくなった、ファイルが破損したなどのケースに対して私は責任を一切負いません。

-----8<-----8<-----8<-----8<-----8<-----8<-----
Dim iTunes
'iTunesアプリケーションをセットする。
Set iTunes = WScript.CreateObject("iTunes.Application")
'プレイリストをセットします。
set pList = iTunes.LibrarySource.Playlists.ItemByName("[01]4beat_all")
'はじめの曲を再生
pList.PlayFirstTrack()
'シャッフルをOFF
pList.Shuffle = 0
'すぐに次の曲へ
iTunes.NextTrack ()
'2秒→次の曲へのループ(3000回)
myNum = 0
Do
    WScript.Sleep(2000)
    iTunes.NextTrack ()
    myNum = myNum + 1
Loop While myNum <3000
'終了したら、メッセージを表示
Wscript.echo "iTunes自動再生終了しました。"
'途中で終了する場合は、タスクマネージャからプロセスwscript.exeを終了
-----8<-----8<-----8<-----8<-----8<-----8<-----

上の文章をなんとか.vbsのような感じで保存して実行してやると、「[01]4beat_all」というリストの曲が2秒ずつ3000曲分再生されます。
「[01]4beat_all」の部分は使用されているリストの名前に修正ください。
iTunesの楽曲をすべて表示するリストを作って、このvbsを実行してやればいいのです。

wscript.exeを終了させるスクリプトも作る場合は、以下のサイトが参考になると思います。

[WSH]プロセスを強制終了させる


例えば曲が10,000曲あったとしても、2秒ずつ再生してやればだいたい5.6時間。
まぁまぁ許容範囲ではないでしょうか?

「DJでは最近インポートした曲ばかり使っている」という場合はiTunesの曲を追加日でソートしてやったり、「レートが5の曲しかDJで使っていない」という場合はレートでソートしてやれば、効率良く再生ができるかと思います。
これでiTunesでBPMを参照できますので、
(BPM100前後の曲って何があったっけ…)
と外でふと思い立ったときに、iPodやiPhoneのスマートプレイリストで確認…ということができると思います。外出先などで使えそうですね。

それではよいiTunes(+Traktor)ライフを!

0 件のコメント:

コメントを投稿