MotorMasterPlugin

このプラグインについて

このプラグインはbveのモーター音を電流値によって音色を変化させたり、車内の残響を再現することによって、モーター音をもっとリアルに鳴らすことを目的としたプラグインです。以下の機能が実装されています。


このプラグインは上級者向けです。再現にはXAudio2を使用しています。

使い方

ファイルは

MotorMaster.dll

Mparameter.txt

xaudio2_9redistdll

から成ります。これらのファイルを同ディレクトリに配置し、使用します。

Mparameter.txtに制御するために必要な情報を入力し、使用します。MParameter.txtの先頭にヘッダーを記述します。ヘッダーは

bvets motormasterplugin ver 1.1.0

です。


~以下bveMotorNoiseと異なる箇所~

音声ファイルはWave PCMフォーマット 44.1kHz 16bitを推奨します。

速度に対するピッチとボリューム記述したcsvファイルは、必ず速度が昇順で記述されている必要があります。

振幅やピッチはそれぞれ二点必ず必要です(一点だけでは鳴りません)

対応OS:Windows7以降のWindowsOS

※当サイトで公開されている阪急車両データにはMotorMasterプラグインを使用しています。そちらをサンプルデータとしてご利用ください。
MParameter.txtの具体的な書き方についてもそちらをご参照ください。

MParameter.txtの説明

[Power]と[Brake]

速度に対するピッチとボリュームを記述したcsvファイル(カンマ区切り)の相対パスを記述します。Frequencyにピッチ、Volumeにボリュームのパスを入力します。

テーブルはA列に速度が昇順となるよう記述します。音を鳴らすには最低2点の速度-ピッチorボリュームが必要です。

[Motor]

このセクションはモーター音インデックスに対応するwavファイルのパスを記述します。相対パスで記述します。

例:インデックス = 〇〇\▽▽.wav

上記3つのセクションは必ず記述が必要です。

bve5のmotornoise.txtとsound.txtの[Motor]セクションに相当します。

[SoundMixing]

電流値によって音量を変化させるかさせないかを設定します。trueかfalseで指定します。デフォルトはfalseです。

電流値によって音色を変化させるかさせないかを設定します。trueかfalseで指定します。デフォルトはfalseです。

車体残響係数を入力しますNoLoadCurrentと0[A]との間の車体残響の残り具合や、音の立ち上がりの緩慢さを決める重要なパラメータです。数を小さくするとフェードアウトがなめらかになり、大きくするとフェードアウトしないようになります。

デフォルト値は0.012ですが0.008から0.015程度の間の値を入力するのが望ましいです。

このパラメータは各行の速度補完される値にも影響します。

参考・・・よく響く(0.008)、やや響く(0.012)、普通くらい(0.016)、減衰早め(0.04)、界磁チョッパ車(0.00085)

力行または回生時の無負荷電流[A]を入力します。Current0の最小の値にするのが望ましいです。

音量や音色を変化させるときに基準となる力行または回生時の電流値[A]を入力します。

電流値によって音量を変化させるとき、無負荷電流の時のモーター音の音量を[dB]で入力します。

電流値によって音色を変化させるとき、無負荷電流時に強調あるいは減衰させる周波数帯域を入力します。4つの周波数を決めます。値は20[Hz]から20000[Hz]です。

電流値によって音色を変化させるとき、無負荷電流時に強調あるいは減衰させる周波数帯域の音量を入力します。4つの音量を決めます。単位は[dB]で-18[dB]から18[dB]の間で指定します。

電流値によって音色を変化させるとき、無負荷電流時に強調あるいは減衰させる周波数帯域の幅を指定します。値は0.1~2.0の間で指定します。値が大きいほどFrequencyで決めた周波数を中心として大きく音色を変化します。

残響再現をするとき、路線側で設定する番号を入力します。

路線側ではBeacon.Put(ReverbBeaconNumber,0,リバーブのかかり具合0~100);と設定します。

Beaconを設定した地点から1秒間かけてリバーブのかかり具合に設定した値になります。リバーブがかかっていない状態に戻すにはリバーブのかかり具合に0を入力してください。

リバーブのかかり具合(参考)・・・跨線橋の下(10)、スラブ軌道(25)、高架道路の下(35)、地下駅(70)、トンネル(100)

残響再現をするとき、残響再現を反映させないインデックスを入力します。カンマ区切りで複数指定できます。

電流値によって音量を変化させるときCurrentVolumeRatio以上の電流のときにGainが1以上にならないようにします。falseにするとトルク分電流に比例して音量が変化します。デフォルトはtrueです。

電流値によって音色を変化させるときCurrentVolumeRatio以上の電流のときにイコライザで変化させる音量がGainで決められた以上にならないようにします。falseにするとトルク分電流に比例して音色が変化します。デフォルトはtrueです。


電流値で音量変化させる場合の例

CurrentVolumeRatio=100[A]

NoLoadCurrentVolumeRatio=-6[dB]

NoLoadCurrent=20[A}

に設定した場合の例を示します。CurrentVolumeLimitがfalseの場合では破線のように無負荷電流以上では音量がほぼ比例し変化します。

CurrentEQは上記のパラメータに変化させる周波数をバンド帯域を追加することで、無負荷電流時に低音を弱めたり、様々に変化させることができます。

[VVVF](任意)

ジャーク制御時にインバータが電圧を変化させる際に鳴る音の、鳴らし方を設定します。1から4の値で指定します。

モード:1

CVVFStartSpeed以上で電流がJeakModeChengeCurrent以下で力行ノッチVoltageMaxNotch未満のとき、指定の音源を再生します。

モード:2

全速度域で電流が0[A]から変化する際に以下で設定した速度域を指定した時間で再生します。速度は線形補間されます。モード2の場合は以下のパラメータの記述が必要です。

PowerJerkUpMaxSpeed:ジャーク開始からPowerJerkUpTime経った時に鳴らす速度

PowerJerkDownMinSpeed:ジャーク開始時に鳴らす速度

PowerJerkUpTime:電圧最大までかかる時間[ms]

PowerJerkDownTime:電圧最大までかかる時間[ms]

(上のPowerをBrakeに書き換えて合計8つ記述します)

モード:3

ジャーク制御時に何も特殊な処理を行わないモードです。

モード:4

SynchronousModeStartSpeed以下はモード2、超えるとモード1を使用するモードです。それぞれのモードに必要なパラメータの記述が必要です。

JerkModulationChangeModeが1のとき、パルスモードを変化させる電流値を記述します。

JerkModulationChangeModeが4のとき、同期変調が開始する速度を入力します。

加速時もしくは減速時に1パルスまたは出力電圧が最大になる速度を記述します。



JerkModulationChangeModeが1もしくは4のとき、力行ノッチの電圧が最大になるノッチ数を入力します。

SynchronousModeJerkIndexは電流がJeakModeChengeCurrent以下とVoltageMaxNotch以下、両方の条件を満たした時に再生されます。

滑り速度を入力します(bve純正車両パラメータと同じ)

JerkModulationChangeModeが1のとき、ジャークモードの時再生される音源のインデックスを指定します。ピッチや音量の情報はモーター音テーブルでそれぞれ指定された値になります。

カンマ区切りで複数記述できます。

ジャーク制御で電圧変化中に特殊な再生処理を行ってていても変わりなく鳴らすインデックスを指定します。

カンマ区切りで複数記述できます。

JerkModulationChangeModeが1・2・4のときに関係なく鳴らす場合に使用します。駆動装置の音や常にピッチが速度に比例して鳴る音源のインデックスを記述します。

ゲートスタート時、速度推定の際にモーターから鳴る音を指定します。

カンマ区切りで複数記述できます。

ゲートオフ時、速度推定の際にモーターから鳴る音を指定します。

カンマ区切りで複数記述できます。

[FWCH](任意)

界磁チョッパ制御でゼロアンペア制御で断流器が入りっぱなしになる速度を記述します。

界磁チョッパ制御でゼロアンペア制御が切れる最低速度(ブレーキ時)を入力します。

界磁チョッパ制御でゼロアンペア制御が切れる最低速度(惰行時)を入力します。

BVEの運転台パネルで断流器入表示灯などのインデックスがあればそれを入力します。デフォルトではfalseとなっているので上記2つのパラメータでゼロアンペア制御起動中か判断します。

駆動装置のインデックスを入力します。ゼロアンペア制御中には音量がゼロになります。

カンマ区切りで複数記述できます。


[OverheadWire](任意)

変電所間隔を入力します。単位は[m]です。

始点からの最初の変電所までの距離を入力します。

始点から電圧が上がっていくのか下がっていくのか入力します。UpもしくはDownと入れます。

変調の音程の振れ幅を入力します。0.01から0.05の間にするのが好ましいです。


磁励音以外の音

※必ずモーター音が設定されている状態で使用する必要があります。[Motor]セクションより後に記述します。

bveのSound指定とは異なり、インデックス番号にそれぞれ対応した音を割り振ります。以下を制御するパラメータは下記のセクションに追加で記述します。

[FanIndex](任意)


電動機ファンの音を再生する場合のみ記述します。指定されたインデックスは常に再生されます。速度やピッチはモーター音音量テーブル・ピッチテーブルにそれぞれ記述します。

[WN](任意)

WavPath→WN振動音までの相対パス

WN音を再生する場合のみ記述します。加減速を開始した際に音量を0にする電流の絶対値[A]を入力します。WN音を再生する場合は必ず[WN]セクションの記述が必要です。

90キロでピッチ1、ガイン1になります。