プログラマメモ2 - programmer no memo2

groovyでmidi演奏の最初の一歩 - quicktimeを使って 2007/08/23

groovyを使用してmidiで簡単な音を発音してみます。
実は、フィボナッチミュージックというのをみかけて、真似したかったのですが...



上記のサイトでは、javax.sound.midi.*を使用してRubyから音をだしていました。
それで、groovyでコードをまねてみたのですが、音がでない...
調べると、どうもosx上のjavaから標準のパッケージ(javax.sound.midi.*)を使用して音をだすのがしんどうそう(※)だったので、いろいろ調べて回って、appleのquicktimeを使ってみることにしました。
※調べかたがまだまだなのかも。

quicktimeのjavadoc


開発環境はosxなので、quicktime関連は、デフォルトのjavaからすぐにアクセスできましたが、widows環境だと開発環境をつくるところからはじめることになりますね。

簡単なサンプルです。

import quicktime.QTSession
import quicktime.std.music.ToneDescription
import quicktime.std.music.NoteChannel
import quicktime.std.music.NoteRequest

QTSession.open()

def noterequest = new NoteRequest(new ToneDescription(1));
def r = 0..150

for(int i in r){
NoteChannel noteChannel = new NoteChannel(noterequest);
noteChannel.playNote(i, 127);
sleep(30);
noteChannel.playNote(i, 0);
println i
}

r = 150..0
for(int i in r){
NoteChannel noteChannel = new NoteChannel(noterequest);
noteChannel.playNote(i, 127);
sleep(30);
noteChannel.playNote(i, 0);
println i
}

QTSession.close()


参考

: