001 ご挨拶。

けいちゃん音工房です。KONTAKT音源を作ってます。この度noteでKONTAKTのスクリプトについてや、お役立ち情報などを書いていこうと思います。

では早速ですが、簡単なスクリプトを。

サンプル3種をキーボード色分け、ラベルに楽器名(サンプル名)を表示できるスクリプトです。

【KSP】

on init
	make_perfview
	set_ui_height(1)
   message("")

   declare @1
       @1 := "Inst_1"   {<-----Enter the Instrumet Name 1}
   declare @2
       @2 := "Inst_2"   {<-----Enter the Instrumet Name 2}
   declare @3
       @3 := "Inst_3"    {<-----Enter the Instrumet Name 3}


   declare $range1 := 24       {<----- Enter Inst_1 1st Note Number}
   declare $range1_end := 44       {<----- Enter Inst_1 Last Note Number + 1}

   declare $range2 := 48       {<----- Enter Inst_2 1sr Note Number}
   declare $range2_end := 68       {<----- Enter Inst_2 Last Note Number + 1}

   declare $range3 := 72       {<----- Enter Inst 3 Note Number}
   declare $range3_end := 92       {<----- Enter Inst_3 Last Note Number + 1}


{Label 1}
	declare ui_label $Inst_1(2,1)
	set_text($Inst_1,@1)
	set_control_par(get_ui_id($Inst_1),$CONTROL_PAR_TEXT_ALIGNMENT,1)
	move_control ($Inst_1,1,2)

{Label 2}
	declare ui_label $Inst_2(2,1)
	set_text($Inst_2,@2)
	set_control_par(get_ui_id($Inst_2),$CONTROL_PAR_TEXT_ALIGNMENT,1)
	move_control ($Inst_2,3,2)

{Label 3}
	declare ui_label $Inst_3(2,1)
	set_text($Inst_3,@3)
	set_control_par(get_ui_id($Inst_3),$CONTROL_PAR_TEXT_ALIGNMENT,1)
	move_control ($Inst_3,5,2)

{Key Color Reset}
	declare $count := 0
		while ($count < 128)
			set_key_color($count,$KEY_COLOR_WHITE)
		inc ($count)
		end while

{Key Color Set 1}
		while ($range1 < $range1_end)   
			set_key_color($range1,$KEY_COLOR_CYAN)
		inc ($range1)
		end while

{Key Color Set 2}
		while ($range2 < $range2_end)
			set_key_color($range2,$KEY_COLOR_ORANGE)
		inc ($range2)
		end while

{Key Color Set 3}
		while ($range3 < $range3_end)
			set_key_color($range3,$KEY_COLOR_YELLOW)
		inc ($range3)
		end while

end on

on note
	message($EVENT_NOTE)
end on

【解説】

declare @1
   @1 := "Inst_1"   {<-----Enter the Instrumet Name 1}
declare @2
   @2 := "Inst_2"   {<-----Enter the Instrumet Name 2}
declare @3
   @3 := "Inst_3"   {<-----Enter the Instrumet Name 3}

「" "」内にサンプル名や楽器名を入れてください。
「@」は文字列が入れられる変数です。表示周りで何度も出てくる文字列の場合、これ使うと便利です。


declare $range1 := 24         {<----- Enter Inst_1 1st Note Number}
declare $range1_end := 44   {<----- Enter Inst_1 Last Note Number + 1}

declare $range2 := 48         {<----- Enter Inst_2 1sr Note Number}
declare $range2_end := 68   {<----- Enter Inst_2 Last Note Number + 1}

declare $range3 := 72         {<----- Enter Inst 3 Note Number}
declare $range3_end := 92        {<----- Enter Inst_3 Last Note Number + 1}

現在入っている数字は仮です。マッピングしたサンプルの一番左のノートナンバー、一番右のノートナンバーに1を足したものを入れてください。
ちなみに、

on note
   message($EVENT_NOTE)
end on

の文によって、左下に押した鍵盤のノートナンバーが表示されるようになっています。こちらもご活用ください。

最後に

かなり初歩的、シンプルなスクリプトですが、色々なケースで応用できるのでコピペするなどしてご活用ください。​

その他のスクリプトの解説はまた今度別の機会に、、、

この記事が気に入ったらサポートをしてみませんか?