Kontakt Script Processor (KSP)
KSPリファレンスマニュアル 28 - バージョン履歴(Version History)
以下の変更履歴は、Kontaktでリリースされたすべての新機能および改善された機能のバージョン履歴です。 Kontakt 8.8 新機能 新しいEP Preamp ...
KSPリファレンスマニュアル 27 - その他の資料(Additional Resources)
KSPをこれから使い始める方にも、長く使い込んできた方にも、KSPスクリプトからチュートリアルまで、さまざまな資料が用意されています。 ⚠️ 以下にリンクされているWebサイトは、第三者が所有し運営しているものです。これらのリンクは、情報提供と利便性のためだけに掲載しています。Native Instrumentsは、リンク先のWebサイトの内容についていっさい管理権限を持たず、これらのWebサイトやその内容、また利用できるかどうかについて責任を負いません。 ...
KSPリファレンスマニュアル 26 - リソースコンテナ(Resource Container)
はじめに リソースコンテナは、ライブラリ開発者にとって便利なツールです。スクリプト、グラフィック、.nkaファイル、Creator ToolsのGUI ...
KSPリファレンスマニュアル 25 - 応用概念(Advanced Concepts)
KSPからのFXの変更 はじめに Kontakt 5.5より前のバージョンでも、エフェクトスロットの内容に関する情報を取得するための仕組みは、$ENGINE_PAR_EFFECT_TYPEのようなエンジンパラメーター変数や$EFFECT_TYPE_FILTERのようなビルトイン定数を通じてすでに用意されていました(モジュールの種類とサブタイプを参照)。 Kontakt 5.5以降では、同じビルトイン定数のセットを使って、ロードされているエフェクトを変更することも可能になりました。 例 on ...
KSPリファレンスマニュアル 24 - マルチスクリプト(Multi Script)
一般情報 MultiスクリプトはInstrumentスクリプトと同じKSP構文を使用します。主な違いは以下のとおりです: Multiスクリプトは純粋なMIDIイベントを基盤として動作します。つまり、生のMIDIデータを扱うことになります。 利用できるコールバックタイプは4種類だけです:on init、on persistence_changed、on midi_in、そして各種のon ui_controlコールバックです。 すべてのMIDIイベントがon ...
KSPリファレンスマニュアル 23 - ゾーンパラメーター(Zone Parameters)
ゾーンパラメーター これらは、Mapping Editorで利用できるのと同じ方法と範囲で、ユーザーZoneのパラメーターをKSPから設定するためのものです。設定にはset_zone_par()コマンド、取得にはget_zone_par()コマンドを使用します。ユーザーZoneを宣言した時点では、これらのパラメーターはすべて既定値の0に設定されます。 $ZONE_PAR_HIGH_KEY Zoneのハイキーを設定します。範囲:0 ... 127。 $ZONE_PAR_LOW_KEY ...
KSPリファレンスマニュアル 22 - エンジンパラメーター(Engine Parameters)
Instrument、Source、Amplifierモジュール $ENGINE_PAR_TUNE InstrumentまたはGroupのチューニング。 $ENGINE_PAR_PAN Instrument、Groupまたはバスのパノラマ。 $ENGINE_PAR_VOLUME Instrument、Groupまたはバスのボリューム。 $ENGINE_PAR_PHASE_INVERT Groupまたはインストゥルメントバスの位相反転。 $ENGINE_PAR_LR_SWAP ...
KSPリファレンスマニュアル 21 - コントロールパラメーター(Control Parameters)
一般 $CONTROL_PAR_NONE ウィジェットには何も適用されません。 $CONTROL_PAR_CUSTOM_ID 特定のUIウィジェットに結び付けられたカスタム値を設定または取得します。これにより、UIウィジェットに独自のタグを付けて、たとえばスクリプト内の特定のパラメーターに結び付けることができます。 $CONTROL_PAR_TYPE UIウィジェットのタイプを返します。 get_control_par() でのみ機能します。 返される可能性のある値は次のとおりです: ...
KSPリファレンスマニュアル 20 - ビルトイン変数と定数(Built-in Variables and Constants)
一般 $CURRENT_SCRIPT_SLOT この変数は、現在のスクリプトのスクリプトスロットを返します(0から始まるため、最初のスクリプトスロットは0です)。 %GROUPS_SELECTED[<group-idx>] この変数配列の各インデックスは、同じインデックスを持つグループを指します。 グループが編集対象として選択されている場合、対応する配列のセルには1が、そうでない場合は0が格納されます。 $NI_ASYNC_EXIT_STATUS この変数は、on ...
KSPリファレンスマニュアル 19 - ゾーンコマンド(Zone Commands)
ユーザーZone情報 ユーザーZoneは特殊な種類のZoneで、Zoneの作成と操作を“その場で”行えるようにするものです。インストゥルメント内のサンプルコンテンツに対してユーザーが操作できるようにする用途に使用できます(たとえばサンプルのドラッグアンドドロップと組み合わせる場合など)。これらのZoneはon initコールバックの中で宣言する必要があります。 ...
KSPリファレンスマニュアル 18 - ユーザーインターフェースコマンド(User Interface Commands)
add_menu_item() add_menu_item(<variable>, <text>, <value>) ui_menuウィジェットにエントリーを作成します。 <variable> ui_menuウィジェットの変数名です。 <text> メニューエントリーのテキストです。 <value> メニューエントリーの値です。 補足 メニューエントリーを作成できるのはon ...
KSPリファレンスマニュアル 17 - 時間関連コマンド(Time-Related Commands)
change_listener_par() change_listener_par(<signal-type>, <parameter>) on listenerコールバックのパラメーターを変更します。任意のコールバックで使用できます。 <signal-type> 変更するシグナルです。次のいずれかを指定できます。 $NI_SIGNAL_TIMER_MS $NI_SIGNAL_TIMER_BEAT <parameter> 指定したシグナルタイプに応じて異なります。 ...
KSPリファレンスマニュアル 16 - ミュージックインフォメーションリトリーバル(Music Information Retrieval)
一般情報 ミュージックインフォメーションリトリーバル(MIR)を使うと、ピッチやサンプルの音量レベルといった、意味のある特徴量をオーディオファイルから抽出できます。新しいKSPコマンドによって、こうしたパラメーターをスクリプト経由でサンプルから抽出できます。MIR関数はon initコールバックでは非同期ではありませんが、それ以外のすべてのコールバックでは非同期で実行されます。 注意:以下に挙げるタイプ検出の関数(Sample Type、Drum Type、Instrument ...
KSPリファレンスマニュアル 15 - MIDIオブジェクトコマンド(MIDI Object Commands)
一般情報 1つのNKIの中で同時に使用できるMIDIオブジェクトは1つだけです。MIDIオブジェクトはメモリー上に保持され、どのスクリプトスロットからでもアクセスできます。オブジェクトの中のMIDIイベントは追加・削除・編集ができ、MIDIファイルのインポートとエクスポートも行えます。 Multi ScriptもMIDIオブジェクトを1つ保持でき、NKIと同じ方法で扱います。 ...
KSPリファレンスマニュアル 14 - ロード/セーブコマンド(Load/Save Commands)
一般情報 ファイル形式 次のファイル形式を読み込み・保存できます。 Kontaktの配列(.nkaファイル) KSPのファイルコマンドで使用するMIDIファイル(.mid) KontaktのコンボリューションエフェクトやユーザーZoneで使用するサンプル(.wav、.aif、.aiff、.ncw)(読み込みのみ) 非同期処理の扱い ...
KSPリファレンスマニュアル 13 - キーボードコマンド(Keyboard Commands)
get_key_color() get_key_color(<note-number>) 指定したノートナンバーのカラー定数を返します。 例 on init message("") declare $count while ($count < 128) set_key_color($count, $KEY_COLOR_INACTIVE) inc($count) end while declare $random_key $random_key := random(60, 71) ...
KSPリファレンスマニュアル 12 - グループコマンド(Group Commands)
allow_group() allow_group(<group-index>) 指定したグループを許可します。つまり、そのグループを再生可能な状態にします。 補足 このコマンドはon noteコールバックとon releaseコールバックでのみ使用できます。 グループインデックスの番号は0から始まります。つまり、Instrumentの最初のグループのインデックスは0です。 グループの許可状態を変更できるのは、そのボイスが動作していないときだけです。 例 on note ...
KSPリファレンスマニュアル 11 - イベントコマンド(Event Commands)
by_marks() by_marks(<mark>) ユーザーが定義したイベントのグループです。 <mark> イベントに割り当てられた28個のマーク$MARK_1 ... $MARK_28のいずれかです。ビット単位の.or.演算子を使うか、単にイベントマークを合計することで、複数のイベントグループをまとめて選択することもできます。 補足 ...
KSPリファレンスマニュアル 10 - エンジンパラメーターコマンド(Engine Parameter Commands)
get_mod_idx() get_mod_idx(<group-index>, <mod-name>) 内部モジュレーターまたは外部モジュレーションのスロットインデックスを返します。 <group-index> グループのインデックスです(KontaktのMonitor -> GroupsペインにあるIndex列を参照してください)。 <mod-name> ...
KSPリファレンスマニュアル 9 - 配列コマンド(Array Commands)
array_equal() array_equal(<array-variable>, <array-variable>) 2つの配列の値どうしを比較します。すべての値が等しい場合は1を返し、等しくない場合は0を返します。 補足 このコマンドは、実数を格納した配列に対しては動作しません。 例 on init declare %array_1[10] declare %array_2[11] if (array_equal(%array_1, %array_2)) message("Arrays ...
KSPリファレンスマニュアル 8 - 一般コマンド(General Commands)
disable_logging() disable_logging(<event-type>) メッセージ、警告、監視中の変数のイベントを、KontaktのステータスバーとCreator ToolsのDebuggerの両方に出力しないようにします。 <event-type> 出力を無効にするイベントタイプです。選択できるオプションは次のとおりです: $NI_LOG_MESSAGE $NI_LOG_WARNING $NI_LOG_WATCHING 補足 このコマンドはon ...
KSPリファレンスマニュアル 7 - ユーザーインターフェースウィジェット(User Interface Widgets)
ui_button declare ui_button $<variable-name> パフォーマンスビューにボタンを作成します。 補足 ボタンのUIコールバックは、マウスボタンを離したとき(マウスアップ時)にトリガーされます。 ボタンはMIDIラーンやホストオートメーションの対象にできません。 例 on init declare ui_button $free_sync_button $free_sync_button := 1 set_text($free_sync_button, ...
KSPリファレンスマニュアル 6 - ユーザー定義関数(User-defined Functions)
function <function-name>() <statements> end function 関数を宣言します。 call <function-name> あらかじめ宣言しておいた関数を呼び出します。 補足 関数は、呼び出すよりも前に宣言しておく必要があります。 関数を宣言するときと呼び出すときには、空の丸括弧を任意で付けることができます。 ...
KSPリファレンスマニュアル 5 - 制御構文(Control Statements)
ブール演算子 x > y より大きい。 x < y より小さい。 x >= y より大きいか等しい。 x <= y より小さいか等しい。 x = y 等しい。 x # y 等しくない。 in_range(x, y, z) xがyとzの間(両端を含む)にあればtrueです。 not a aがfalseならtrue、その逆も同様です。 a and b aがtrueかつbがtrueならtrueです。 a or b aがtrueまたはbがtrueならtrueです。 a xor b ...
KSPリファレンスマニュアル 4 - 算術コマンドと演算子(Arithmetic Commands & Operators)
基本演算子 以下の演算子は、整数と実数のどちらに対しても使用できます。 x := y 代入します(yの値がxに代入されます)。 x + y 加算を行います。 x - y 減算を行います。 x * y 乗算を行います。 x / y 除算を行います。 -x 符号を反転した値です。 abs(x) 絶対値を返します。 signbit(x) 符号ビットを返します(数値が負の場合は1を、それ以外の場合は0を返します)。 sgn(x) ...
KSPリファレンスマニュアル 3 - 変数(Variables)
一般情報 ユーザー定義変数はすべてon initコールバックの中で宣言する必要があります。 変数名に使用できるのは英数字(0-9、a-z、A-Z)とアンダースコア(_)だけです。 次の接頭辞が付いた変数は作成しないでください。これらは内部の変数および定数のために使用されています。 $NI_ $CONTROL_PAR_ $EVENT_PAR_ $ENGINE_PAR_ $ZONE_PAR_ $LOOP_PAR_ $ (integer variable) declare ...
KSPリファレンスマニュアル 2 - コールバック(Callbacks)
一般情報 コールバックとは、スクリプトの中で特定のタイミングに「呼び出される」(つまり実行される)部分のことです。 すべてのコールバックはon <callback-name>で始まり、end onで終わります。 コールバックはexitコマンドで停止できます。 各コールバックは固有のID番号を持っており、$NI_CALLBACK_IDで取得できます。 どのコールバックが関数を呼び出したかは、$NI_CALLBACK_TYPEと対応するビルトイン定数で調べられます。 ...
KSPリファレンスマニュアル 1 - KSPへようこそ(Welcome to KSP)
Kontakt Script ...
KSPリファレンスマニュアル - 目次
Kontakt Script Processor(KSP)は、Kontaktのインストゥルメントの動きを記述するスクリプト言語です。本マニュアルは、KSPのすべてのコールバック、コマンド、変数、定数を網羅したリファレンスです。各章はNative Instrumentsの原文と1対1で対応しており、見出しのアンカーも原文と同じ値を使っています。 目次 KSPへようこそ Kontakt 8.12の新機能 コールバック 一般情報 on async_complete on controller on ...