KSPリファレンスマニュアル 23 - ゾーンパラメーター(Zone Parameters)

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

Zoneのローキーを設定します。範囲:0 ... 127。

$ZONE_PAR_HIGH_VELO

Zoneのベロシティレスポンスの最大値を設定します。範囲:1 ... 127。

$ZONE_PAR_LOW_VELO

Zoneのベロシティレスポンスの最小値を設定します。範囲:1 ... 127。

$ZONE_PAR_ROOT_KEY

Zoneのルートキーを設定します。範囲:0 ... 127。

$ZONE_PAR_FADE_LOW_KEY

Zoneのクロスフェードを作成したい場合に、このパラメーターを使用します。値は$ZONE_PAR_LOW_KEYからの距離という形で設定します。

範囲:$ZONE_PAR_HIGH_KEY - $ZONE_PAR_LOW_KEY + 1

$ZONE_PAR_FADE_HIGH_KEY

Zoneのクロスフェードを作成したい場合に、このパラメーターを使用します。値は$ZONE_PAR_HIGH_KEYからの距離という形で設定します。

範囲:$ZONE_PAR_HIGH_KEY - $ZONE_PAR_LOW_KEY + 1

$ZONE_PAR_FADE_LOW_VELO

Zoneのクロスフェードを作成したい場合に、このパラメーターを使用します。値は$ZONE_PAR_LOW_VELOからの距離という形で設定します。

範囲:$ZONE_PAR_HIGH_VELO - $ZONE_PAR_LOW_VELO + 1

$ZONE_PAR_FADE_HIGH_VELO

Zoneのクロスフェードを作成したい場合に、このパラメーターを使用します。値は$ZONE_PAR_HIGH_VELOからの距離という形で設定します。

範囲:$ZONE_PAR_HIGH_VELO - $ZONE_PAR_LOW_VELO + 1

$ZONE_PAR_VOLUME

Zoneのボリュームを設定します。範囲:-3600 ... 3600。

$ZONE_PAR_PAN

Zoneのパンを設定します。範囲:-1000 ... 1000。

$ZONE_PAR_TUNE

Zoneのチューニングを設定します。範囲:-3600 ... 3600。

$ZONE_PAR_GROUP

ユーザーZoneのGroupを設定します。既定では、ユーザーZoneはGroup 0に配置されます。

$ZONE_PAR_SAMPLE_START

Zoneに割り当てられたサンプルのサンプルスタート値を設定します。

$ZONE_PAR_SAMPLE_END

Zoneに割り当てられたサンプルのサンプルエンド値を設定します。

$ZONE_PAR_SAMPLE_MOD_RANGE

Zoneに割り当てられたサンプルのサンプルスタートモジュレーションレンジを設定します。これは、KontaktのWave EditorにあるS.Modパラメーターに相当します。

$ZONE_PAR_SAMPLE_RATE

Zoneに割り当てられたサンプルのサンプルレートを取得します。このZoneパラメーターはset_zone_par()と組み合わせて使用することはできません。

$ZONE_PAR_SELECTED

KontaktのMapping EditorでZoneが選択されている場合は1を、選択されていない場合は0を返します。このZoneパラメーターはset_zone_par()と組み合わせて使用することはできません。

on init
    message("")

    set_num_user_zones(4)

    set_zone_par(%NI_USER_ZONE_IDS[0], $ZONE_PAR_GROUP, 0)
    set_zone_par(%NI_USER_ZONE_IDS[1], $ZONE_PAR_GROUP, 1)
    set_zone_par(%NI_USER_ZONE_IDS[2], $ZONE_PAR_GROUP, 2)
    set_zone_par(%NI_USER_ZONE_IDS[3], $ZONE_PAR_GROUP, 3)
end on

Instrument内に4つのユーザーZoneを作成し、それぞれを別々のGroupに割り当てます。この例を試すときは、Instrument内に十分な数の空のGroupが定義されていることを確認してください。


ループパラメーター

$LOOP_PAR_MODE

Zone内で選択されているループの再生モードです。

0:ループなし

1:最後までループ

2:最後まで双方向でループ

3:リリースまでループ

4:リリースまで双方向でループ

$LOOP_PAR_START

Zone内で選択されているループの開始位置をサンプル単位で表します。このパラメーターを設定しない場合、ループはサンプルの先頭から開始します。

$LOOP_PAR_LENGTH

Zone内で選択されているループの長さをサンプル単位で表します。このパラメーターを設定しない場合、ループの長さはサンプル全体に対応します。

$LOOP_PAR_XFADE

Zone内で選択されているループのクロスフェード時間をマイクロ秒単位で表します。

$LOOP_PAR_COUNT

Zone内で選択されているループが繰り返される回数です。このパラメーターを設定しない場合(または0に設定した場合)、ループは無限に再生されます。

$LOOP_PAR_TUNING

Zone内で選択されているループについて、ループ範囲内のチューニングオフセットを設定します。このオフセットは、ループの1回目の繰り返しと、それ以降のすべての繰り返し($LOOP_PAR_COUNTで定義された回数)に適用されます。

on init
    message("")

    set_num_user_zones(1)

    set_sample(%NI_USER_ZONE_IDS[0], "path/to/sample.wav")
end on

on ui_control ($SampleLoopOn)
    wait_async(set_loop_par(%NI_USER_ZONE_IDS[0], 0, $LOOP_PAR_MODE, $SampleLoopOn))
end on

ユーザーZoneに読み込んだサンプルのループを有効または無効にします。


サンプルパラメーター

$NI_FILE_NAME

Zoneのサンプルのファイル名です(Zone名に対応します)。

$NI_FILE_FULL_PATH

Zoneのサンプルのフルパスです(パラメーターを指定しない場合と同じ結果になります)。

$NI_FILE_FULL_PATH_OS

Zoneのサンプルの、OS形式のフルパスです(Windowsではバックスラッシュを使用します)。

$NI_FILE_EXTENSION

Zoneのサンプルのファイル拡張子です(ドットは含みません)。


参照元情報:Zone Parameters
https://docs.native-instruments.com/online-guides/ksp-manual/en/zone-parameters