このブログの内容が難しい方へ

もし、内容が難しくて理解出来ない場合には、Cプログラミング入門以前などのプログラミングを始める前に知っておくと良い事が書いてある本を読んでから、その後にやさしいC 第3版 [やさしいシリーズ]などのC言語というプログラミング言語の入門書を読むことをお勧めします。また、MIDIの知識がない人は、コンプリートMIDIブックなどがお勧めです。そこまで理解できれば、KSP特有の作法は、このブログを参考にすれば大丈夫だと思います。

2011年9月11日日曜日

change_note(),change_pan(),change_tune(),change_velo(),change_vol()

change_noteは、指定したイベントのノートナンバーを変更します。第1引数にはイベントのIDを、第2引数にはノートナンバーを指定します。


on init
	declare ui_knob $Key(-12,12,1)
	$Key := 0
end on

on note
	change_note($EVENT_ID,$EVENT_NOTE+$Key)
end on

この場合は、ノブで指定した値だけキーを変更します。

change_panは、指定したイベントのパンを変更します。第1引数にはイベントのIDを、第2引数にはパンの値を、第3引数には第2引数の値が相対的か絶対的なのかを指定します。


on init
	declare $Pan
end on

on note
	$Pan := random(-1000,1000)
	change_pan($EVENT_ID,$Pan,0)
end on

パンをランダムな値にしています。

change_tuneは、ミリセント単位で音程を変更します。第1引数にはイベントのIDを、第2引数には変更する値を、第3引数には第2引数の値が相対的か絶対的なのかを指定します。


on init
	declare $tune
end on

on note
	$tune := random(-500000,500000)
	change_tune ($EVENT_ID,$tune,0)
end on

これを実行して鍵盤を連打すると、昔懐かしいアニメのコンピュータっぽい効果音になります(笑)

change_volもchange_veloも同じように使います。


on init
	declare $note
	declare $pan
	declare $tune
	declare $velo
end on

on note
	$note := random(-12,12)
	change_note($EVENT_ID,$EVENT_NOTE+$note)
	$pan := random(-1000,1000)
	change_pan($EVENT_ID,$pan,0)
	$velo := random(-20,20)
	change_velo($EVENT_ID,$velo)
	$tune := random(-500000,500000)
	change_tune ($EVENT_ID,$tune,0)
end on

全部ランダムにしてみると、こんな感じになります。

0 件のコメント:

コメントを投稿