V3MMLmanual

6.31 @n[1]:ノイズサイクル設定

← 目次

【記述例】

この場合、選択中の @@”nzw” のノイズサイクルを 10 に設定して ccccc を演奏 し、さらにノイズサイクルを 20 に変更して ccccc を演奏します。 【解説】 選択中の音源モジュール宛に、ノイズの更新サイクルを設定します。 宛先になりうる音源モジュールは、

@@"pls"
@@"nzw"
@@"nzp"
@@"nzf"
@@"nzg"
@@"nzc"

以上の6種類です。 これ以外の宛先に当コマンドを使用した場合、エラーとなります。 引数[1]の有効範囲は、宛先のノイズ音源モジュールによって変わります。 @@”pls” が宛先の場合 引数[1]の設定範囲は、1.0 〜 master_cycle です。 引数[1]が master_cycle と等しい場合、ノイズサイクルは1秒になります。 master_cycle は、次の #MB:CONFIG の初期設定

#MB:CONFIG { pls_noise: clock=3993600: prescale=32: width=17, }

または、@@”pls”宛の yコマンド y”nz_mclock”,[] および y”nz_pscale”,[] による設定に依存します。(master_cycle = clock/prescale) #MB:CONFIG は全体指定、yコマンドはトラック別指定になります。 引数[1]の指定値が 1 〜 31 の整数だった場合、AY-3-8910互換(width=17の場合) です。 指定値が 31 を超える設定値だったり、少数を含む値だった場合は、 1 〜 31 の整数における計算の延長線上での値で動作します。 指定値が大きくなるほど、低いサイクル(更新サイクルが長い)になります。

@@"nzw" @n10 ccccc
@n20 ccccc;

@@”nzw” が宛先の場合 引数[1]の設定範囲は、1.0 〜 base_cycle です。 base_cycleの初期設定は、次の #MB:CONFIG の初期設定によります。

#MB:CONFIG { nzw_noise: base_cycle=3993600/32, }

base_cycleの設定は、#MB:CONFIG による全体指定か、yコマンドによるトラック 別指定か、2通りの方法があります。 引数[1]の指定値は、ベースサイクル何回分ごとに更新するかを意味します。 ノイズ変位の更新間隔は、

(音声生成レート(384kHz)÷base_cycle) × @n値 で計算されますが、この間隔が、 1サンプル 〜 384000サンプル(1/384000秒〜1秒) の範囲外だった場合、最小未満は最小値に、最大超えは最大値に制限されます。 @@”nzp” が宛先の場合 引数[1]の設定範囲は、1.0 〜 master_cycle です。 引数[1]が master_cycle と等しい場合、ノイズサイクルは1秒になります。 master_cycle は、次の #MB:CONFIG の初期設定

#MB:CONFIG { nzp_noise: clock=3993600: prescale=32, }

または、@@”nzp”宛の yコマンド y”m_clock”,[] および y”prescale”,[] による設定に依存します。(master_cycle = clock/prescale) #MB:CONFIG は全体指定、yコマンドはトラック別指定になります。 引数[1]の指定値が 1 〜 31 の整数だった場合、AY-3-8910互換です。 指定値が 31 を超える設定値だったり、少数を含む値だった場合は、 1 〜 31 の整数における計算の延長線上での値で動作します。 指定値が大きくなるほど、低いサイクル(更新サイクルが長い)になります。 @@”nzf” が宛先の場合 引数[1]の設定範囲は、0 〜 15 の整数です。 指定値は、あらかじめ用意された16通りのノイズサイクルテーブルの 呼び出し番号に使用されます。 指定値が大きくなるほど、低いノイズサイクルになります。

@@”nzg” が宛先の場合 引数[1]の設定範囲は、0 〜 157 の整数です。 GBノイズ音源では、サイクルのパラメータを、 0〜7 のレートと、0〜15 のシフト数の、 2つのパラメータで決定します。 10進数で、一の位の桁をレート、十から百の位の桁をシフト数に見立てて指定し ます。 一の位の、8〜9 は、7 としてみなされます。 例えば、指定値 105 は、レート 5、シフト数 10 です。 傾向として、指定値が大きくなるほど、おおむね低いサイクルのノイズになりま す。 @@”nzc” が宛先の場合 引数[1]の設定範囲は 0.25 〜 baseCycle です。 baseCycleは通常 2048.0 ですが、次の #MB:CONFIG の初期設定

#MB:CONFIG { nzc_noise: step_adj=[], }

または、yコマンド

y"step_r_mgnf",[]

による設定に依存します。 これら設定への指定値を MGNF とした場合、 baseCycle = 2048.0 ÷ MGNF になります。 #MB:CONFIG は全体指定、yコマンドはトラック別指定になります。 ※2048 = (384000/24000)*128