以下の演算子は、整数と実数のどちらに対しても使用できます。 | |
| 代入します( |
| 加算を行います。 |
| 減算を行います。 |
| 乗算を行います。 |
| 除算を行います。 |
| 符号を反転した値です。 |
| 絶対値を返します。 |
| 符号ビットを返します(数値が負の場合は1を、それ以外の場合は0を返します)。 |
| 符号関数です(数値が負の場合は-1を、ゼロの場合は0を、正の場合は1を返します)。 |
以下のコマンドおよび演算子は、整数型の変数と整数値に対してのみ使用できます。
|
|---|
式の値を1つ増やします( |
|
|---|
式の値を1つ減らします( |
|
|---|
剰余演算子です。整数の除算を行った後に残る余りを返します。 例: |
以下のコマンドは、実数に対してのみ使用できます。
|
|---|
剰余演算子です。除算を行った後に残る余りを返します。 例: |
|
|---|
指数を求める関数です(exの値を返します)。 |
|
|---|
2を底とする指数を求める関数です(2xの値を返します)。 |
|
|---|
自然対数を求める関数です(底はe)。 |
|
|---|
2を底とする対数を求める関数です(底は2)。 |
|
|---|
常用対数を求める関数です(底は10)。 |
|
|---|
べき乗を求める関数です(xyの値を返します)。 |
|
|---|
平方根を求める関数です。 |
|
|---|
立方根を求める関数です。 |
丸めコマンドは、実数に対してのみ使用できます。
|
|---|
天井関数です(切り上げます)。
|
|
|---|
床関数です(切り捨てます)。
|
|
|---|
四捨五入します(最も近い値へ丸めます)。
|
三角関数コマンドは、実数に対してのみ使用できます。
|
|---|
コサインを求める関数です。 |
|
|---|
サインを求める関数です。 |
|
|---|
タンジェントを求める関数です。 |
|
|---|
アークコサイン(逆コサイン)を求める関数です。 |
|
|---|
アークサイン(逆サイン)を求める関数です。 |
|
|---|
アークタンジェント(逆タンジェント)を求める関数です。 |
以下のビット演算子を使用できます:
| ビット単位の |
| ビット単位の |
| ビット単位の |
| ビット単位の |
|
|
|
|
|
|---|
|
on init
declare $rnd_amt
declare $new_vel
end on
on note
$rnd_amt := $EVENT_VELOCITY * 10 / 100
$new_vel := random($EVENT_VELOCITY - $rnd_amt, $EVENT_VELOCITY + $rnd_amt)
{ mirror invalid velocity values into the allowed velocity range }
if ($new_vel > 127)
$new_vel := 127 - ($new_vel mod 127)
end if
if ($new_vel < 1)
$new_vel := 1 + abs($new_vel)
end if
change_velo($EVENT_ID, $new_vel)
end on
ベロシティを±10パーセントの範囲でランダムに変化させます。
|
|---|
整数の値を実数の値に変換します。 |
on init
declare ~velocity_disp
end on
on note
~velocity_disp := real($EVENT_VELOCITY) / 127.0
message(~velocity_disp)
end on
イベントのベロシティを0.0から1.0の範囲で表示します。
|
|---|
実数の値を整数の値に変換します。 |
このコマンドを丸め関数と組み合わせずに使用すると、実数の値は切り捨てられます。そのため、実数値2.2と2.8のどちらに対してこの関数を実行しても、返される整数値はどちらも2になります
このコマンドは、精度を64ビットから32ビットへ下げます。そのため、32ビット符号付き整数の範囲(-2147483648 ... 2147483647)を超える有効な実数は、オーバーフローとなってしまうため、正しく変換されません。
on init
declare $test_int
declare ~test_real := 2.8
$test_int := int(~test_real)
message($test_int)
end on
変数を実数から整数へ変換し、その結果を表示します。
丸めコマンド: ceil(), floor(), round()
|
|---|
14ビットの値のうち、上位バイトにあたる部分を返します。 |
on rpn
message(msb($RPN_VALUE))
end on
RPNおよびNRPNメッセージを扱うときによく使われます。
on init
declare ui_value_edit $Value (0, 16383, 1)
end on
on ui_control ($Value)
message("MSB: " & msb($Value) & " - LSB: " & lsb($Value))
end on
MSBとLSBについて理解する。
イベントとMIDI: $RPN_ADDRESS, $RPN_VALUE
|
|---|
14ビットの値のうち、下位バイトにあたる部分を返します。 |
on rpn
message(lsb($RPN_VALUE))
end on
RPNおよびNRPNメッセージを扱うときによく使われます。
on init
declare ui_value_edit $Value (0, 16383, 1)
end on
on ui_control ($Value)
message("MSB: " & msb($Value) & " - LSB: " & lsb($Value))
end on
MSBとLSBについて理解する。
イベントとMIDI: $RPN_ADDRESS, $RPN_VALUE
参照元情報:Arithmetic Commands & Operators
https://docs.native-instruments.com/online-guides/ksp-manual/en/arithmetic-commands---operators