このプラグインはbveの警笛の鳴り方を速度によって音色を変化させたり、残響設定を細く設定することによって、警笛をもっとリアルに鳴らすことを目的としたプラグインです。以下の機能が実装されています。主に電子警笛をリアルに鳴らすことが目的です。
フェードイン・アウトの時間設定を行うことでリアルな鳴りを再現
速度による警笛音源の切り替え
地下線内のリバーブ再現
このプラグインは上級者向けです。XAudioは不使用で、bveのATSプラグインのみで作成しました。
ダウンロードします。
HornMaster.dllをRock_On氏公開のDetailManeger.dllのDetailModules.txtに相対パスを記述する。もしくはBVE車両ファイルのAts = にパスを記述する。
警笛の音源を準備する。
下部記載のファイル配置方法を参考にHornParameter.txtを作成し、パラメータを記述する。
HornParameter.txtには最低限以下の記述が必要です。また、警笛の音源を準備する必要があります。
MotorMasterプラグインとは違い、音源のパス指定はBVEの車両サウンド設定で行います。そのため、[Ats]のインデックス番号の記述が必要です。
PrimaryAboveGround.HornSoundIndex
にて、Sound.txtの[Ats]セクションで記述した番号を指定します。
bve警笛の音は警笛を押したときからなる音と、離したときになる音の二種類が必要ですが、HornMasterではループ再生できる音源を用意します。
最低限、速度は何キロでもいいのですが、ループ再生できる音源が一つ必要です。
リアルに再現しようと思ったら以下の音源を準備してください。
停止中
走行中
地上
地下
以上の4種類の音を収録できれば、リアルに再現することができます。ただしこれらの音を準備するのは大変なので、一つの音源でも対応できますし、停止中・走行中の音源切り替えのみ、リバーブの切り替えのみ利用する場合なども対応しています。
音源の例
Root
├── DetailManager.dll
└── Detailmodules.txt ← ここから別フォルダの HornMaster.dll を指定する
別フォルダ
├── HornMaster.dll
└── HornParameter.txt
この使い方は、Vehicleを一つ用意して編成ごとのバリエーション展開を少なくする場合におすすめです。Detailmodulesから別フォルダまたは同階層にHornMaster.dllとHornParameter.txtを用意します。
Root
├── DetailManager.dll
├── Detail modules.txt ← ここから別フォルダの HornMaster.dll を指定する
└── HornParamter.txt
別フォルダ
├── HornMaster.dll
└── 他のdllなど
この使い方は、編成ごとに警笛の違いを再現する場合や、たくさんの形式をパック公開する場合におすすめです。HornMaster.dllを一つ配置して、編成ごとにdeteilmodulesを用意します。要するにdllを一つだけ用意することによって、将来 HornMasterプラグインをアップデートする場合やバージョン違いによる動作違いを防ぐことができます。
フォルダ
├── HornMaster.dll
└── HornParamter.txt
この使い方は、純粋に車両ファイルのAts = のパスに HornMaster.dllを指定する場合に使用します。主にテスト用です。
・電車でGOコントローラーなど外部コントローラーを用いた際に動作が不安定になる場合があります
・外部コントローラーの一部キーに対応していません
・2025年5月17日時点でβ版のためバグがある場合があります。長期デバックを行いまして正式版とさせていただきます。
・BVE阪急車両パックの66系車両データーの警笛はこのプラグインを用いて警笛を再現しています。そちらをご参照ください。
Prymaryが第一警笛、Secondaryが第二警笛です。それぞれbve標準の設定ではエンターキーとテンキーの+キーに該当します。
AboveGroundが地上、UnderGroundが地下を表しています。
①警笛の種類&地上地下の設定が可能なパラメータ
例:Prymary警笛・地上で停止中に録音した場合のFadeInパラメーターを記述する場合
PrimaryAboveGround.FadeInTime = 任意の値[ms]
例:Secondary警笛・地下で停止中に録音した場合のFadeOutパラメーターを記述する場合
PrimaryUnderGround.FadeOutTime = 任意の値[ms]
②警笛の種類のみの設定が可能なパラメータ
例:Prymary警笛をミュージックホーンに設定する場合
Primary.MHFlag = 1
③警笛の種類に関係なく設定するパラメータ(無記名パラメータ)
例:リバーブのかかり具合のビーコンの場合
ReverbKirikaeBeaconNumber = 任意の番号
各パラメーターの説明(基本)
HornSoundIndex
bveの車両サウンドファイルの[Ats]で設定したインデックスを入力します(0~255)
FadeInTime
警笛キーを押下してから音量が最大になるまでの時間を[ms]で入力します。
FadeOutTime
警笛キーを離してから音量が最小になるまでの時間を[ms]で入力します。
ReleaseDelayTime
警笛キーを離してから音量を最大で保つ時間を[ms]で入力します。このパラメーターは音量が最大の場合のみ作用するもので、音量が最大になる前に警笛ペダルを離した場合は作用しません。離した場合は音量は最大にならず、その音量から減衰を始めます。
ReleaseRatioTime(リアル志向の方向け)
余韻の再生時間を最大にする時間を[ms]で入力します。このパラメーターは警笛ペダルを踏む長さによって余韻の長さが変化するのを目的としています。例えばFadeOutTimeが2000[ms]で、ReleaseRatioTimeが1000[ms]だとすると、警笛ペダルを500[ms]踏めば、1000[ms]の余韻が再生されます。
ミュージックホーンの場合(任意)
MHFlag
電子警笛の場合はMHFlag = 1と入力します。このフラグを立てるとFadeinTime FadeOutTimeなどの音響設定が無効化され、警笛を再生すると純粋な音源がMHPlayTime時間再生されます。
MHPlayTime
ミュージックホーンの再生時間を[ms]で入力します。
地下線内の残響を再現する場合(任意)
ReverbBeaconNumber
残響再現をするとき、路線側で設定する番号を入力します。
路線側ではBeacon.Put(ReverbBeaconNumber,0,リバーブのかかり具合0~100);と設定します。
Beaconを設定した地点から30[m]走行したら、リバーブのかかり具合に設定した値になります。リバーブがかかっていない状態に戻すには、路線側にてリバーブのかかり具合に0を入力してください。音楽用語のWetDryMixに該当するパラメーターです。
リバーブのかかり具合(参考)・・・跨線橋の下(10)、スラブ軌道(25)、高架道路の下(35)、地下駅(70)、トンネル(100)
速度によって音源を切り替える場合(任意)
RunHornSoundIndex
HornSoundIndexと同じです。走行中の音源を用意している場合はそのインデックスを入力します。
KirikaeSpeed1・KirikaeSpeed2
速度によって音源を切り替える速度2点を入力します(図2参照)
Secondary警笛再生時にPrimary警笛も再生する場合(任意)
DualHornFlag(2025年5月17日公開版では未実装)
DualHornFlag = 1にした場合は第2警笛のみ(デフォルトでは+キー)のみ押された場合でも第一警笛も再生します。
この例では、エンターキーを押した場合(第一警笛)の再現の例です。
PrimaryAboveGround.FadeInTime = 1000
PrimaryAboveGround.FadeOutTime = 2000
Primary.ReleaseDelayTime = 500
PrimaryAboveGround.HornSoundIndex = 30
とHornParameter.txtに記述しています
Sound.txtの[Ats]には
30 = Klaxon.wav
と記述しています。
この例では、
PrimaryKirikaeSpeed1 = 20
PrimaryKirikaeSpeed2 = 70
とHornParameter.txtに記述しています
音量[Gain]はクロスしますので、45[km/h]ではHornSoundIndexとHornRunSoundIndexの音源は半分ずつの音量で再生されています。
2025年5月17日 β版公開