モータ音設定ファイルの仕様

公開

概要

BVE2・4とBVE5のモータ音設定ファイルの違い

 BVE4まではモータ音のピッチやボリュームを設定するデータはTrain.dat内に含まれており、車両エディタ等のツールを用いて編集する必要がありました。BVE5ではこれらの設定データが加速時のピッチ・ボリュームと減速時のピッチ・ボリュームと4つのCSVファイル(PowerFreq.csv, PowerVol.csv, BrakeFreq.csv, BrakeVol.csv)とそれらのファイル名を指定するテキストファイル(MotorNoise.txt)に分割されて独立し、Excelなどの表計算ソフトを使って設定ファイルを編集することが可能になっています。これらの設定ファイルは、一般にMotorNoiseフォルダ内にまとめて格納されています。

 この新しい設定ファイルでは、同時発音数の制約や0.2km/h刻みでピッチやボリュームを設定しなければならないなどの制約が無くなり、BVE5では従来と比べてモータ音の再現度を上げることが可能になっています。

 表計算ソフトを使用したモータ音設定の編集は一見視覚的には行えないので最初はとっつきにくいですが、慣れればエディタを使用した編集方法よりもはるかに編集効率が良いので、モータ音を作り込みたいなら表計算ソフトを使用した編集作業に挑戦してみることをおすすめします。CSV形式には計算式を含めることができませんので、編集作業中のモータ音設定テーブルは表計算ソフトの独自形式で保存することを推奨します。

各ファイルの仕様

 公式サイトにまだモータ音設定ファイルについての解説がありませんので、現在判明している仕様について説明します。以下に記述する内容は管理者の独自研究に依るため、mackoy様へのお問い合わせは絶対になさらないでください。

各モータ音設定テーブルのパス指定ファイル

 このテキストファイルでは、4つのモータ音設定テーブルファイルへの相対パスを記述します。デフォルトではMotorNoise.txtとなっているファイルを指します。

書式

[Power]
Volume = file モータ音ボリュームテーブル(加速時)
Frequency = file モータ音ピッチテーブル(加速時)
[Brake]
Volume = file モータ音ボリュームテーブル(減速時)
Frequency = file モータ音ピッチテーブル(減速時)

モータ音設定テーブル

 各速度におけるモータ音のピッチとボリュームを、CSV形式のテキストファイルで記述します。

各設定ファイルのデフォルトファイル名

PowerFreq.csv 加速時のモータ音ピッチテーブル
PowerVol.csv 加速時のモータ音ボリュームテーブル
BrakeFreq.csv 減速時のモータ音ピッチテーブル
BrakeVol.csv 減速時のモータ音ボリュームテーブル

ピッチ・ボリューム共通仕様

書式

Bvets Motor Noise Table 1.00 このファイルの書式を表す文字列で、ファイル先頭に必ず記述します。
#comment '#'以降の文字列は無視されます。
speed1,index0value1,index1value1,...
speed2,index0value2,index1value2,...
speed3,index0value3,index1value3,...
...

 一列目には速度を入力し、二列目以降は各モータ音インデックスにおけるピッチ値もしくはボリューム値を入力します。二列目がインデックス0で、三列目以降は1、2、・・・と固定されており、変更はできません。 0km/hの行の上にコメントでインデックス値を打っておくと見やすくなるでしょう。

 一列目に#を付けるとコメント行になります。また、必ずしも速度は昇順に入力する必要はなく、モータ音の要素ごとに分けて入力して見やすいテーブルにすることもできます。

 加速力テーブルとは異なりピッチ・ボリューム値の入力欄を全て埋めなくてもエラーにはなりませんが、バージョン5.3以前では速度入力欄を空白にするとエラーになってしまいます。古いバージョンでもエラーなく動作させたい場合は、空行を挿入するときには一列目に#を入れてコメント行としておくのが無難です。

ピッチ設定のみの仕様

 ピッチ設定値は1でオリジナルのピッチになります。最大値は4より少し大きい程度です。BVE4までの百分率表記とは異なることに注意してください。二つの速度の間のピッチ値はそれぞれのピッチ値の間で線形補完されます。

ボリューム設定のみの仕様

 0で無音、1がオリジナルのボリュームとなります。1より大きなボリューム値は設定しても無効になるようです。そのほかの基本的な仕様はピッチテーブルと同じです。

 なお、あるモータ音インデックスのボリューム値を全て空白にした場合、デフォルト値は0ではなく1が設定されるようです。そのため、起動時や停止直前に鳴らさない全てのインデックスに対して、速度0のときにボリューム値0を設定しておく必要があります。

(余談)BVE4までのモータ音設定データ仕様

 BVE4までのTrain.dat内に記述されているモータ音設定データは次のような仕様になっているようです。

 #MOTOR_P1・P2以下には加速時のモータ音を、#MOTOR_B1・B2以下には減速時のモータ音に関するデータを、それぞれ0.2km/h刻みで159.8km/hまで一行ずつ記述します。P1・B1とP2・B2の違いはチャンネルの相違を表します。

 各行の一列目にはモータ音インデックス(-1~15、-1は無音)、二列目はモータ音のピッチ(10~400、百分率表記で100がオリジナルのピッチ)、三列目はモータ音のボリューム(0~127、127でオリジナルの音量)が記述されています。なお、これらの値はいずれも整数値で設定されています。

Train.dat内のモータ音設定部が

#MOTOR_P1
0,100,127
0,100,127
0,100,127
0,100,127
0,100,127
0,100,127
0,100,127
0,100,127
0,100,127
0,100,127
1,102,127
1,104,95
1,106,63
1,108,31
1,110,0
-1,100,127
-1,80,127
-1,120,127
-1,140,127
-1,60,127

 のとき、加速時のモータ音のチャンネル1は

 0km/h~2.0km/h未満ではインデックス0でピッチは100、音量127(16進数で7F) 2.0km/h~2.2km/h未満ではインデックス1でピッチは102、音量127(16進数で7F) 2.0km/h~2.2km/h未満ではインデックス1でピッチは104、音量95(16進数で5F) 2.2km/h~2.4km/h未満ではインデックス1でピッチは106、音量63(16進数で3F) 2.4km/h~2.6km/h未満ではインデックス1でピッチは108、音量31(16進数で1F) 2.6km/h~2.8km/h未満ではインデックス1でピッチは110、音量0(16進数で0) 3.0km/h~3.8km/hは無音という具合で再生されるものと推測されます。

 BVE4以前のデータをコンバータで変換して出力される各モータ音のテーブルファイルも、0.2km/h刻みで記述されるようになっています。