2012年11月30日金曜日

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

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

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

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

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

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

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

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を終了  

上の文章をなんとか.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)ライフを!

Traktorを使ってiTunesでBPMを管理する

以前、Traktorで解析したBPMとiTunesに表示されるBPMについて記事に書きましたが、今回はそれの続きを書いてみようと思います。

前提として、

TraktorでAAA.mp3のBPMを解析(Traktorの画面ではBPMが出る)

iTunesで、AAA.mp3を一回再生(iTunesにTraktorで解析したBPMが表示されるようになる)

という流れがあります。
せっかくTraktorでBPMを解析しても、iTunesで一回再生しないとiTunesには反映されないのです。


iTunesの曲の内、BPM情報が記載されていない曲の一覧はどうやって出せばいいのでしょうか。
スマートプレイリストを使えばいいのです。


iTunesのメニューから、新規スマートプレイリストを作成します。

BPMが入っていない曲はBPM=0と同じ事になるらしいので、条件にBPMが0であると指定します。
私はDJで使いたい曲を「[01]4beat_all」というリストに入れていますので、さらにそれも指定しています。これは気にしなくてOKです。

BPM情報が入っていない曲の一覧が出てきました。
(画像の場合は「[01]4beat_all」というリストの中の、BPMが入っていない曲一覧になります)


前提としてTraktorでBPM解析済みでないといけませんが、このリストに出てきた曲を再生するとiTunesにもBPMが反映されます。(BPMが0ではなくなります。)
BPMが0ではなくなるので、再生した瞬間に次々とリストの曲が消えていきます。
消えていく様子はちょっと面白いのでぜひ見てみてくださいw(←ちょっとギークっぽい感想ですね。。)


TraktorでBPM解析

iTunesにBPM反映

TraktorでBPM修正

「iTunesで再生しないと修正したBPMが反映されないけど、どれを修正したか把握できてないよ!」
こういう場合はどうすればいいのでしょうか。
それについてはまた次の記事に書きたいと思います。



関連リンク
TraktorでiTunesの曲を表示するとBPMとかレーティングがなんかおかしい
Traktorを使ってiTunesでBPMを管理する
iTunesの曲を数秒ずつ再生する