V3MMLmanual

6.12 @@"nzf":FCノイズ音源

← 目次

【記述例】

@@"nzf"

【解説】

使用する音源モジュールを、FCノイズ音源にします。

FCノイズは、変位は上下の2値に限られますが、それぞれの変位を維持する時間(パルス幅)がランダムに変更されます。
ただし、更新間隔が非常に短い2値ノイズは再生サンフリング周波数を超えた密度になるため、過密部分は相加平均処理しています。そのため、V3MMLでは相加平均部分がホワイトノイズのように出力されます。

FCノイズ音源では、パルス幅の更新間隔を @nコマンド で変更することで、ノイズの質感を変えることができます。


yコマンドにおける、音源モジュールへの設定

音源サブフォーム番号指定

y"subform",[1]

FCノイズの音源サブフォーム番号を、[1] に設定します。(当音源宛の @コマンドと同様です)
音源サブフォーム指定で、長周期モード(ロングモード)と短周期モード(ショートモード)の変更ができます。

設定範囲は、0 〜 1 です。初期設定は 0 です。


ノイズ用シフトレジスタ値指定

y"sreg",[1]

2値ノイズ用シフトレジスタの値を [1] に設定します。
(当音源宛の @nrコマンドと同様です)
次の場合によって指定された値の使われ方が変わります。
※FCノイズ用シフトレジスタのビット幅は、15bit(ロング)または、4bit(ショート)です。

  1. 0以上、1未満だったときは、ロングモードでは指定値に 32768-1 を乗算し、結果が1未満なら1、32768-2 以上なら 32768-2 に制限してシフトレジスタに設定されます。
    ショートモードでは、ロングモードの時の 32768 の部分が 16 の制限に変わります。

  2. ロングモード時、1以上、32768-1 未満だったときは、指定値が整数に四捨五入されて、シフトレジスタに設定されます。

  3. ショートモード時、1以上、16-1 未満だったときは、指定値が整数に四捨五入されて、シフトレジスタに設定されます。

  4. 上記 1. 2. 3. 以外だったとき(負の値など)は、0以上1未満のランダム値を作成し、1. 同様の処理をします。


ノイズ更新サイクル指定

y"cycle",[1]

FCノイズのパルス幅が更新される間隔を、[1] に設定します。(当音源宛の @nコマンドと同様です)

設定範囲は 0 〜 15 の整数です。

指定値は、あらかじめ決められた16通りのサイクルの呼び出し番号に使用されます。値が大きくなるほど、低いサイクルになります。