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

公開、 更新

概要

 Bve trainsimのアドオン構成ファイルのうち、サンプリング音源化したモータ音音源を、モータ音として再現するために必要となるデータの書式を解説します。このデータには、それぞれのモータ音のサンプリング音源に対する、列車速度とピッチや速度と音量(ボリューム)の関係を格納します。

 このデータを作成する前に、予め収録したモータ音をサンプリング音源へと加工しておいてください。

旧バージョンのモータ音設定データとの違い

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

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

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

 表計算ソフトを用いて編集作業を行う場合、CSV形式には計算式を含めることができませんので、作業中のモータ音テーブルファイルは表計算ソフトの独自形式で保存することをおすすめします。

 当サイトではBVE本体を立ち上げることなくモータ音の試聴が可能な、モータ音データの制作補助ツール「Motornoise Audition」をフリーソフトウェアとして公開しています。Motornoise Auditionは任意の速度での加減速音再生、データ編集結果の素早い反映、ピッチと音量の速度変化を旧版BVEの車両エディタ風で図示などの機能により、モータ音データの編集を強力に支援します。ぜひ一度お試しください。

各ファイルの仕様

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

モータ音ファイル

 このテキストファイルでは、4つのモータ音テーブルファイルへの相対パスを記述します。車両ファイルからファイルパス指定を受けるファイルです。一般に、このファイル名にはMotorNoise.txtが採用されています。車両性能ファイルと同様に、ヘッダは使用されていないようです。

書式

[Power] 力行の設定
Volume = file モータ音音量テーブル
Frequency = file モータ音ピッチテーブル
   
[Brake] 電気ブレーキの設定
Volume = file (以下、力行と同じ)
Frequency = file  

モータ音テーブルファイル

 サンプリング音源化したモータ音音源を、モータ音として再現するために必要となるパラメータを定義します。各速度におけるモータ音のピッチと音量を、CSV形式のテキストファイルで記述します。公式にはこのデータに対する名称は与えられておりませんが、車両性能テーブルに倣い、「モータ音テーブル」と呼ぶこととします。

京成3500形アドオンにおける各設定ファイル名

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

ピッチ・音量共通仕様

書式

Bvets Motor Noise Table 1.00 このファイルの書式を表す文字列で、ファイル先頭に必ず記述します。
#comment '#'以降の文字列は無視されます。
speed1,track0value1,track1value1,...
speed2,track0value2,track1value2,...
speed3,track0value3,track1value3,...
...

 車両性能テーブルと同様に、一列目には列車速度を入力し、二列目以降は各モータ音トラックにおけるピッチ値もしくは音量値を入力し、おのおののモータ音トラックにおける、列車速度に対するピッチもしくは音量の変化を定義します。また、トラック番号は1列目が0で、三列目以降は1、2、・・・と固定されており、変更はできません。 このほか、一列目に#を付けるとコメント行になります。0km/hの行の上にコメントでトラック番号を打っておくと、テーブルの見通しが良くなります。

 車両性能テーブルと異なる点は、速度を昇順に入力する必要がないことです。モータ音の要素ごとに分けて入力して見やすいテーブルにすることもできます。また、加速力テーブルとは異なりピッチ・音量値の入力欄を全て埋めなくてもエラーにはなりませんが、バージョン5.3以前では速度入力欄を空白にするとエラーになってしまいます。古いバージョンでもエラーなく動作させたい場合は、空行を挿入するときには一列目に#を入れてコメント行としておくのが無難です。

ピッチ設定のみの仕様

 ピッチ設定値は1でオリジナルのピッチになります。BVE4までの百分率表記とは異なることに注意してください。二つの速度の間のピッチ値はそれぞれのピッチ値の間で線形補完されます。最大値は4より少し大きい程度です。DirectSoundの仕様により、設定可能なピッチ上限はサンプリング音源ファイルのサンプリング周波数に依存します(ピッチ最大値: 200000 / サンプリング周波数)。

音量設定のみの仕様

 0で無音、1がオリジナルの音量となります。DirectSoundの仕様により、1より大きな音量値は設定しても無効となるようです(この設定値の単位はdBであるため、0が最大であるなら、オリジナルの音量が最大となります)。そのほかの基本的な仕様はピッチテーブルと同じです。

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

旧版BVEにおけるモータ音設定データ仕様

 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刻みで記述されるようになっています。