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

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

2011年9月11日日曜日

play_note(),note_off(),set_controller()

play_noteは、ノート・オンを生成します。第1引数にはノートナンバーを、第2引数にはベロシティを、第3引数にはオフセットを、第4引数にはデュレーションを指定します。第4引数には、-1を指定するとトリガーしたノートのノートオフと同時に音が止まります。0を指定すると、トリガーしたノートのノートオフに関係なく、サンプルの最後まで再生されます。


on note
	play_note($EVENT_NOTE + 7,$EVENT_VELOCITY,0,-1)
end on

完全5度音程で、和音を生成します。

on note
	while($NOTE_HELD = 1)
		wait($DURATION_EIGHTH)
		play_note($EVENT_NOTE + 7,$EVENT_VELOCITY,0,$DURATION_EIGHTH)
	end while
end on

鍵盤が押されている間、8分音符感覚で、完全5度音程の音が再生されます。

note_offは、ノートオフを生成します。


on init
	declare ui_button $Button
	set_text ($Button,"Stop All Notes")
end on

on ui_control($Button)
	note_off($ALL_EVENTS)
	wait(100000)
	$Button := 0
end on

発音中の全てのノートを停止させます。何かのエラーが起きた時のために、こういうボタンを用意しておくと親切かもしれません。

set_controllerは、CCやピッチベンドを生成します。第1引数にはCCナンバーか$VCC_PITCH_BENDでピッチベンドを指定します。第2引数には値を指定します。


on note
	set_controller(1,100)
end on

on release
	set_controller(1,0)
end on

ノートオンでモジュレーションが100、ノートオフでモジュレーションが0になります。

0 件のコメント:

コメントを投稿