V3MMLmanual

4.8.3 type=exponential のとき(指数モード)

【記述例】

#MB:VOLUME_SCALE vs=1 {
   type=exponential, curve=dB, rate=-3.0,
   v=15, @ea=mul, v0act=mute,
   vl=15, @la=mul, vl0act=mute,
}

【解説】

フォーマットは次の通りです。

#MB:VOLUME_SCALE vs=定義番号 {
   type=exponential, curve=[], rate=[],
   v=[], @ea=[], v0act=[],
   vl=[], @la=[], vl0act=[],
}

curve

指数カーブのパターン名称を指定します。
設定できるパターン名称は、dB または dBB です。


rate

仮想音量ハードの変化レートを指定します。
設定範囲は、−24 以上、0 未満で、単位はcurveの設定に従います。
小数以下の指定も受け付けます。
例えば、curve=dB, rate=−1.5, と指定した場合、
音量が1減るごとに、振幅が −1.5dB されます。


v

vコマンドで指定する最大値を指定します。
設定範囲は 4 〜 10000 の整数です。


@ea

vコマンドに対応する音量エンベロープ(@ea)の計算方法の名称を指定します。
設定できる名称は、mul または add です。

@ea=addでは、@ea の分母を v の分母に合わせて、@ea のカレント値(最大レベルから減った分)を v 設定値に加算します。


v0act

vコマンドに0が指定された時に、無音とするか、指数計算をするか(無音にならない)のモード名称を指定します。
設定できるモード名称は、mute または calc です。


vl

vlコマンドで指定する最大値を指定します。
設定範囲は 4 〜 10000 の整数です。


@la

vlコマンドに対応する音量LFO(@la)の計算方法の名称を指定します。
設定できる名称は、mul または add です。

@la=addでは、@laの値を vl の分母に合わせて vl 設定値に加算します。
@laのカレント値は、0以下の数値になる想定です。0の時が vl の音量そのもの、負数になる程に小さい音量になります。正数になった場合は0に矯正されます)


vl0act

vlコマンドに0が指定された時に、無音とするか、指数計算をするか(無音にならない)のモード名称を指定します。
設定できるモード名称は、mute または calc です。


v/mul: (@ea:0.0〜+1.0)

v-mul:
   音声振幅 * (mix_master*mv) * exp_by_v( vDenom - (vNum*@ea) )

v/add: (@ea:0.0〜+1.0)

v-add:
   音声振幅 * (mix_master*mv) * exp_by_v( (vDenom-vNum) + (vDenom-(@ea*vDenom)) )

vl/mul: (@la:0.0~-1.0(sin/saw/tri))

vl-mul:
   * exp_by_vl( vlDenom - (vlNum*(1+(@la*depth/vlDenom))) )

vl/add: (@la:0.0~-1.0(sin/saw/tri))

vl-add:
   * exp_by_vl( (vlDenom-vlNum) + (vlDenom-((1+(@la*depth/vlDenom))*vlDenom)) )