サンプリング音源の作り方

公開、 更新

概要

 BVE上でリアルなモータ音の再現を行うためには、鉄道車両の実車で収録した音声をサンプリング音源へと加工して使用する必要があります。当記事では、収録した鉄道車両の走行音から、サンプリング音源したモータ音の波形データ(ファイル名は一般にMotor*.wav)の作り方を紹介します。当記事では以下に掲載する京急1500形のVVVF制御改造車(三菱製VVVF)の走行音(モータ音)を主に使用してモータ音サンプリング音源制作法の解説を進めていきます(加筆により、別の音声ファイルを使用した例が入る場合もあります)。

モータ音サンプリング対象とする京急1500形VVVF改造車の走行音

>>Download wav file (kq1500vm_original.wav)

 また、ここで紹介する手法は走行状態にありエンジン回転数が刻々と変化する自動車やバスなどのエンジン音からのサンプリング音源の作り方としても使える場合があります。以下に、日産ディーゼル・スペースランナーの走行音(エンジン音)を掲載し、これを上の鉄道車両走行音と同様に、以後のサンプリング音源の作り方の解説にてその加工結果を順次掲載していきます。

エンジン音サンプリング対象とする日産ディーゼル・スペースランナーの走行音

>>Download wav file (ud_ra_at_original.wav)

大まかな作業の流れ

 大まかなサンプリング作業の流れは以下の通りとなります。

 「ピッチ補正」作業は、チョッパ音のようなピッチが不変な音であるならば不要です。「リサンプリング」は、音声波形データのサンプリング周波数が大きい(192000Hz、96000Hzなど)ものでない場合は不要です。「周波数編集」は、VVVF車の非同期モードのモータ音のように、ピッチ変化が異なるモータ音成分が混じりあっている場合でなければ必要ありません。

サンプリング対象とする音声の切り出し

 まず、収録した走行音からサンプリング音源としたい箇所を切り出します。ループ再生したときに違和感が少なくなるよう、できるだけ雑音が少ない部分を選びます。京急1500形の加工例では後ほど音声の周波数編集により非同期モードの磁歪音が含まれる周波数領域を雑音もろとも消去するため、雑音の有無をあまり考えて切り出しを行っていませんが……。スペースランナーのエンジン音加工例でもアナウンス放送が盛大に入っていますが、これもひとまずは無視してください。

加工例音声(モータ音)

>>Download wav file (kq1500vm_1.wav)

加工例音声(エンジン音)

>>Download wav file (ud_ra_at_1.wav)

Audacityによる切り出し箇所の一元管理例

 フリーの音声波形編集アプリ「Audacity」で編集している場合、「ラベルトラック」を使用すると音声切り出し箇所を一元管理することができます。ラベルトラックに登録されたおのおのの範囲は、「複数ファイルの書き出し」操作により、複数の切り出し済み音声としてまとめて出力することができます。

 また、複数のラベルトラックを使用することで、音声を特定の種類ごとにグループ化して管理できます。下に掲載する画像は、走行音とその他の音とで別のラベルトラックを作成した例です。

Audacityのラベルトラック使用例

ピッチ補正

 こちらはモータ音やエンジン音のサンプリング音源化にあたり重要な加工となります。

 一般に、鉄道車両のモータ音のピッチ(音程)は時間経過と共に変化していきます。また、サンプリング音源制作者が対象車両の運転者でなくエンジン回転数を自在にコントロールできない場合は、収録した自動車のエンジン音もまた時間経過と共に変化していくものとなります。切り出した音声波形をサンプリング音源として成立させるためには、何らかの方法で連続的に変化するピッチを補正し、一定にする必要があります。ここでは、いくつかのピッチ補正手法を取り上げます。

Pitch Flattenerを用いてピッチ補正

 拙作のWindows PC向けツール「Pitch Flattener」は電車のモータ音や車のエンジン音など、等加速度運動を行っている物体から発生する音のピッチを一定にすることに特化したピッチ補正ツールです。Pitch Flattenerを利用すれば、切り出した素のモータ音から一様なピッチを持つモータ音へと簡単な手順で変換することができます。モータ音データの制作の際にはぜひお試しください。なお、Pitch Flattenerの使い方につきましては、当該ダウンロードページをご覧ください。

 また、Pitch Flattenerを利用してピッチ補正を行ったモータ音のスペクトログラムと音声データを以下に紹介します。この先で述べる旧い手法での補正結果と比較すると、優れた補正結果が得られるがなされていることがお分かりいただけるかと思います。

サンプル音声(Pitch Flattenerによるピッチ調整と反転コピペを行ったモータ音ファイル)

>>Download wav file (kq1500vm_2_pf.wav)

スペクトログラム

Pitch Flattenerでピッチを平坦化した京急1500形モータ音のスペクトログラム

サンプル音声(Pitch Flattenerによるピッチ調整と反転コピペを行ったエンジン音ファイル)

>>Download wav file (ud_ra_at_2_pf.wav)

スペクトログラム

Pitch Flattenerでピッチを平坦化した日産ディーゼルRAエンジン音スペクトログラム

 以前から掲載していた、以下にて長々と紹介するピッチ変換手法、手間がかかる上に正確なピッチ変換が困難でした。当時BVE Workshopが調べた限りではこれに代わる簡便なピッチ変換手法は見つけらず、自力でツール「Pitch Flattener」を開発してピッチ変換の困難さの解消を試みました。これより後で説明する旧い手法はPitch Flattenerがリリースされた今ではおすすめできるものではありませんが、一応参考として残しておきます。特に必要のない限り、以下の解説は飛ばして次のセクション「波形データのリサンプリング」をご覧ください。

基礎編

ピッチエンベロープ設定画面

 Wavepaseriのメニューから「効果→ピッチエンベロープ」機能を選択し、モータ音の音程を一定にします。調整後、音声の冒頭と末尾のわずかな部分を残して削除して再生したり、データを末尾に反転コピペして再生したりして音程が平らになったか念入りにチェックします。Wavepaseriの場合はやり直しが一回しかできないので、これらの操作は新しいウィンドウを作成し、そこに音声データをコピぺしてから試すとよいでしょう。なお、Wavepaseriで「新しいウィンドウ」を開くとフォーマットが必ずモノラル・16bit・22500Hzになりますので、必要に応じてフォーマットを変えます(ステレオ・16bit・44100Hzが普通でしょう)。

 音程が一定になったか確認する別の手法として、音声をいったん末尾に反転コピペしてから保存し、WaveMasterに読み込ませて視覚的に確認するというのもあります。高い精度で音程を一定にしたい場合はこちらの方法をお勧めします。

悪い例
悪い例

良い例
良い例

サンプル音声(ピッチ調整と反転コピペを行ったモータ音サウンドファイル)

>>Download wav file (kq1500vm_2.wav)

応用編

 モータ音が一定の加減速度で鳴ると仮定した場合、厳密に音程を一定にしたい場合はピッチエンベロープの編集画面のピッチ変化線は直線ではなく曲線を引く必要があります。ただし、実際にはWavePaseriで曲線のピッチ変化線を引くことはできません。 

 下のグラフのように、ピッチ変化線が直線一本だけでは曲線との乖離が大きくなってしまい、比率で見たピッチ変化の大きい低速域では特に問題になります。

ピッチ調整曲線

 そこで、ピッチ変化線の途中に分割点を設けて理想的な曲線との乖離を小さくすることで、モータ音の音程もより一定に近づけることができます。

ピッチ調整曲線

 以下では、加速時のモータ音を模擬したサンプル音声を利用した編集例を交えつつ、実際の編集法を紹介します。

サンプル音声(国鉄近郊型車両の加速時モータ音の模擬サウンド)

>>Download wav file (mt54sound.wav)

両端の音程を揃える

 まず、通常のピッチエンベロープ編集と同様に斜めのピッチ変化線を引きます。ただし、ピッチを上げる部分の変化は大きめ、下げる部分は小さめと非対称にするようにします。

 WaveMasterを使い音程の変化を視覚的に確認しながら、両端の音程が揃うまで(両端の周波数ピークが一直線上に並ぶまで)ピッチエンベロープ編集とやり直しを繰り返します。もともとの音程変化が大きい場合、周波数ピークの形は明らかにわかる弓形を描きます(音程が一定にならない)。

WavePaseriの設定例

ピッチエンベロープの設定

ピッチエンベロープ適用後のスペクトログラム表示

ピッチエンベロープ適用後のFFT像

編集後のサウンドサンプル

>>Download wav file (mt54sound-pitchenvelope.wav)

分割点を作成

 ピッチエンベロープの編集画面に戻り、ピッチ変化線を中央付近でドラッグして分割点を作成します。今度はWaveMaster上でモータ音の両端と三つの周波数ピークが一直線上に並ぶまで、分割点の位置を微調整しながらピッチエンベロープ編集とやり直しを繰り返します。

WavePaseriの設定例

ピッチエンベロープの設定

ピッチエンベロープ適用後のスペクトログラム表示

ピッチエンベロープ適用後のFFT像

編集後のサウンドサンプル

>>Download wav file (mt54sound-pitchenvelope2.wav)

波形データのリサンプリング

 レコーダーで音声を録音する際には、波形データのサンプリング周波数に192000Hzなどの大きな値を選択できます。大きなサンプリング周波数による緻密な波形データ記録は、データ原本やストリーム再生による鑑賞用としては意義があります。しかしながら一般的に頻用される48000Hzや44100Hzとの聴覚差は少なく、ゲーム用途においてはメモリの浪費やDirectSound上でピッチの調整幅が狭くなるといったデメリットが際立ちます。ゆえに、BVE用の音声データに大きなサンプリング周波数を適用するのは不適切です。従って、大きなサンプリング周波数の音源からモータ音サンプリング音源を制作する場合、途中で小さなサンプリング周波数へのリサンプリング(ダウンサンプリング)を行っておく必要があります。

 また、WaveMasterで音声の周波数編集を行う際、WaveMasterの仕様制限により大きなサンプリング周波数ではモータ音の編集に必要な周波数の解像度を確保できません。WaveMasterで周波数編集を行う前には、予めダウンサンプリングを行っておいてください。WaveMasterで読み込み可能とするためには、量子化ビット数を16に変更しておくことも必要になります。ただし、Audacityでの既定のWAVファイルエクスポートは16ビットの波形データであり、現行の「Pitch Flattener」でもまた自動的に16bitに変換してしまうため、気にする必要はありません。

 波形データへのリサンプリング適用にあたって注意すべき点は、波形データの両端のわずかな部分が変形してしまう場合があることです。

Audacityでのリサンプリングは波形乱れを引き起こすことがある

 この変形はループ再生時にはっきりと聞き取れるものであるため、波形データのサンプリング周波数の変更は、最後のループ化編集の前に行っておくことをおすすめします。以降では、Audacityでのリサンプリングの手順を紹介します。

Audacityでのリサンプリング

 まずリサンプリング対象のトラックをクリックして選択します。次にメニュ→「トラック」→「リサンプリング」をクリックしリサンプリング設定画面を開きます。

Audacityでのトラックのリサンプリングオプション

 そこで「新しいサンプリング周波数」の数値を指定して「OK」を押すとただちにリサンプリングが実行されます。

 注意すべき点として、画面左下のプロジェクトのサンプリング周波数の数値を変更してもただちにリサンプリングは実行されません。この数値を用いてリサンプリングが行われるのは音声波形ファイルのエクスポート時です。また、トラック左上のプルダウンメニューからサンプリング周波数を変更すると、サンプリング周波数の指定値が変わるものの波形データは変更されません。その結果としてピッチや再生速度が変わってしまいます。

音声の周波数を編集(オプション)

  ※ この工程は必ずしも行う必要はありません。この編集工程が必要ない方は、このセクションを飛ばしてループ化・ノイズ除去へ移動してください。

 無圧縮音声データの格納先として利用されるWAVファイルには、音声データが「振幅の時間変化」すなわち「波形」で格納されています。また、これまでの音声切りだし、ピッチ平坦化はいずれもこの音声の「波形」データを編集するものでした。

PCMは振幅の時間変化

 ここで紹介する編集手法はそれとは異なり、この波形データをFFT(高速フーリエ変換)によって「周波数強度の時間変化」へと変換したデータに編集を加えます。編集を加えた後は、IFFT(逆高速フーリエ変換)により波形データへと変換して戻します。

FFTは周波数の時間変化

 音声の周波数編集では、波形加工では困難な編集が可能になります。例えば、この記事に即した内容で言えば「VVVFインバータ制御車両の非同期音モード磁歪音とモータ回転音の分離」が可能になります。このほか、周波数範囲が狭いノイズを強力に排除するといったことも可能です。例えば、SIVやMGの動作音のうち「音程」を感じ取れる成分は周波数編集でかなり低減させることができます。一方、打撃音のようなノイズの除去は不得手です。

 ここでは、フリーウェア「WaveMaster」を使用して音声の周波数を編集する手順を紹介します。WaveMasterに音声波形データを読み込ませると、FFTによりそのデータを様々な周波数の強度の時間変化に変換し、それをスペクトログラムとして図示します。さらに表示されたスペクトログラムを直接編集し、その編集結果から波形データを再生成しWavファイルとして保存することができます。

 なお、WaveMasterを利用した周波数成分への加工によるVVVF車のモーター音成分分離などの音声加工を行う場合は、必ず最後のループ化工程の前にすませておきます。一例としてWaveMasterでは、音声ファイルの最初と最後のわずかな部分だけ加工がかからないという仕様を持つことが上げられます。以下に、WaveMasterですべての周波数を0にした後に、IFFT操作で復元した波形データを示します。

周波数編集では冒頭と末尾を無音にはできない

モータ音の構成成分分離

 「VVVFインバータ制御車両のモータ音から非同期音モードの磁歪音を消去し、モータ回転音のみを残す」音声加工を行う手順の実例を以下に紹介します。WaveMasterの機能や操作方法の詳細につきましては、WaveMasterの使い方にて解説しているため、当記事では省略します。このセクションで書かれている内容を実践するには、作成途中のモータ音サンプリング音源ファイル「kq1500vm_2_pf.wav」を予めダウンロードしておいてください。

 WaveMasterを起動し、まず音声ファイルを左上の「開く」ボタンから、「kq1500vm_2_pf.wav」を読み込みます。次に「設定」ボタンより、FFT設定をモータ音の編集に適したものに変更します。変更するべき値は「FFT」タブ中の「サイズ」です。デフォルトの1024では周波数の解像度が低く編集に適さないため、4096もしくは8192に変更します。

WaveMasterのFFT設定

 FFT設定を設定がスペクトログラムの左のボタン群のうち、小さな緑の丸が描かれたボタンを押し、スペクトログラムをドットバイドット表示とします。

WaveMasterのスペクトログラムをドットバイドットで表示

 さらに、お好みでスペクトログラムの拡大・縮小を行います。ここまでが編集前の準備となります。

WaveMasterのスペクトログラムをお好みで拡大縮小

 ここからは実際の編集作業となります。まず不要な音が含まれている周波数を選択します。ちなみに、この後の操作で選択範囲の拡大ができるため、左右(時間軸)いっぱいに選択する必要はありません。

 最初の編集作業として非同期モードの磁歪音を丸ごと消してみます。0.5kHzの少し下に見える周波数ピークの上から真上にドラッグし、上端まで選択してください。ドラッグ状態を維持しながらスペクトログラムの範囲外にマウスカーソルを置いておくと、スペクトログラムが自動的にスクロールしていきます。

WaveMasterで選択範囲の作成

 次に、「選択領域内」を右クリックし、「編集」→「選択した波数領域を全て選択」をクリックします。すると左右一杯に選択領域が広がります。

WaveMasterで選択範囲を拡大

 さらに再び「選択領域内」を右クリックし、「編集」→「選択した領域をステレオで選択」をクリックすると、もう片方のチャンネルに同一の選択領域が現れます。

WaveMasterで別のチャンネルに選択範囲作成

 そこで「選択領域内」を右クリックし、「編集」→「選択した領域を無音」をクリックすると選択領域の周波数の強さが全て0になります。もう一方のチャンネルに対しても同様の操作を行います。

WaveMasterで選択領域を無音化

 スペクトログラムの編集結果は、すぐには波形データに反映されません。波形データに編集結果を反映するには、左にある逆転した青い「FFT」の描かれたボタンを押します。画面の中央付近の音声波形表示が変わり、波形データが変更されたことがわかります。その後、上の「再生」ボタンを押すことにより周波数編集の結果を聞いて確認することができます。

WaveMasterで編集後の周波数データに逆FFTを適用

 Wave Masterにはアンドゥ(編集のやりなおし)機能が実装されていません。しかしながら、「波形データは逆FFTを行うまで不変」という仕様を応用することで、アンドゥ機能を再現することは可能です。

 予め編集中はこまめに逆FFTを行って波形データを更新しておきます。万が一誤った編集操作を行ってしまったときは、ピンクの「FFT」ボタンを押して波形データにFFTを実行すると、最後に逆FFTを実行した直後のスペクトログラムを復元できます。

 その後も同様にモータ音の構成成分と思われる周波数ピークの間を選択し、無音にしていく作業を繰り返します。その編集結果のスペクトログラムと波形音声データを以下に紹介します。

サンプル音声のWaveMasterでの加工後

サンプル音声(WaveMasterによる加工後のモータ音サウンドファイル)

>>Download wav file (kq1500vm_3.wav)

 上の解説では非同期モード磁歪音を除去し、速度に比例してピッチが変化するモータ音成分のみを残す加工を行いました。ひきつづき、逆に非同期モード磁歪音のみを残したサンプリング音源を制作します。残したい音が変わるだけで工程は共通なため解説は省略します。以下に加工結果のみを掲載します。

サンプル音声(WaveMasterによる加工後のモータ音サウンドファイル)

>>Download wav file (kq1500vm_magnetostriction.wav)

 こうして作成した磁歪音を取り除いたサンプリング音源と、非同期モード磁歪音を抽出したサンプリング音源を組み合わせることにより、非同期モードが長いVVVFインバータ制御車両のモータ音のリアルな再現が可能になります。

 なお、今までの図を見てもお分かりいただけると思いますが、WaveMasterの周波数の目盛りのかたわらに表示されている数値は必ずしも正確ではありません。あくまでも目安として利用しましょう。 

よりよい編集結果を得るためのコツ

 上で紹介した編集例では大胆に選択領域を無音としていますが、後になって制作した東急5000系や阪急9300系のモータ音データでは、できるだけ自然な感じにするために工夫を行っています。

 一つは、「~を無音」の処理はなるべく使わず、「~を1/2倍」を三~四回繰り返して「無音」ではなく「聞こえにくくなる」程度にとどめるものです。

WaveMasterで選択領域を1/2倍にする編集の繰り返し

 また、斜め方向の周波数変化に対して、小さな矩形で領域し選択と編集を小刻みに繰り返し、編集の必要のない部分の変更を最小限に抑えています。

WaveMasterで微小領域の無音化編集の繰り返し

 低速域のモータ音といった音量の小さい音声に対して、WaveMasterで大きな周波数編集を行うと劣化が大きくなります。これを避けるためには、モータ音の音量を他の音声より大きくした後、モータ音のボリューム定義で最大音量を小さく設定するという工夫が必要になります。

 モータ音サンプリング音源の音量を上げるとき、ノーマライズを適用すると各々の音源間の相対音量がばらついてしまい、後々のボリューム設定が極めて面倒になってしまいます。ノーマライズではなく、各音源間で増幅量を揃えて振幅の増幅を行うことを強く推奨します。

 Audacityで波形の増幅を行う際には、増幅度をデシベルで指定する必要があります。増幅度は10dB/20で求められます。6dBなら約2倍、12dBで約4倍の増幅量となります。そして、モータ音定義テーブルのボリューム設定を、6dB(約2倍)なら0.5倍、12dB(約4倍)なら0.25倍にします。

補助電源装置(SIVやMG)動作音除去

 モータ音のサンプリング音源作成からは少し離れますが、周波数編集が強力に作用する好例であるため紹介します。

 まず、以下に制御車で収録したE127系のブレーキ全緩解音を掲載します。

>>Download wav file (e127_airzero.wav)

 メインはブレーキの全緩解音ですが、「ジー」といったSIVの作動音も同時に聞こえています。このままBVEで使用すると、混入したSIVの作動音により違和感を感じてしまう可能性があります。そこで、WaveMasterを用いてSIVの作動音のみを選択的に除去します。以下に、実際に拙作のアドオンに組み込まれている、SIVの作動音を取り除いたブレーキ緩解音を紹介します。周波数編集をもってしても「完全に」特定の音を消すことは困難ですが、ほとんど気にならないレベルにまでSIV作動音が抑え込まれています。

>>Download wav file (e127_airzero_nr.wav)

 SIVの作動音は特定の周波数に固定かつ原則として周波数一定であり、音声の周波数編集による除去が行いやすい音です。ちなみに、あえてSIV作動音の混じる音源を採用したのは、除去の不可能な主回路閉鎖音が相方の制御電動車では全緩解音と同時に鳴ってしまうからです。

ループ化・ノイズ除去

 ループ再生しても自然に聞こえるようなサンプリング音源に仕上げるべく、再び音声データの波形加工に戻ります。波形の一部を削り取るなどして、自然なループ再生を可能とした音声を完成させます。また同時に必要であるならば、波形削除で対処がしやすい、ごく短時間のみ聞こえるノイズの除去作業も行います。

 モータ音のような連続的に音が変化する音源においては、たとえ音声加工でピッチを揃えるなどしてもループ開始点とループ終了点で同じ聞こえ方になることはないため、順再生を繰り返す一般的なループ再生ではループの継ぎ目が際立ってしまいます。

普通のループ再生は自然に聞こえない

 このため、順再生と逆再生を繰り返すように加工を行います。このようなループ再生方式はオルタネートループ(順再生と逆再生を「交互」にループ)、あるいは卓球のラリーになぞらえてピンポンループと呼ばれます。

交互/ピンポンループは自然に聞こえる

 ピンポンループを波形編集ソフトウェアで作成する基本的な手順は、まずループ対象の波形をコピーし、複製元の末尾に貼り付けます。貼り付け後は選択状態を維持したまま、貼りつけた波形の前後反転を行います。Audacityでは、メニュー→「エフェクト」→「前後を反転」から実行できます。WavePaseriではメニュー→「効果」→「リバース」です。

交互/ピンポンループの作り方

 ループの長さは、短すぎるとループの継ぎ目が際立ってしまうため、ある程度の長さを確保したほうが違和感が少なくなりやすくなります。ただし、音源によっては必ずしもそうなるとは限らず、機械的に長さを決められないのが難しいところです(範囲が広いですが、目安としてピンポンループ化前の段階で0.5-2秒程度)。一方で、過度に長くするとループ中の音の雰囲気の変動が大きくなり、かえって違和感が強くなってしまう可能性もあります。

ループ波形長による聞こえ方の違い

 波形データを切り貼りして編集した後に、波形が不自然に接続されていると、その部分が再生時にクリックノイズなどとして知覚されます。これを回避するためには、波形が滑らかにつながるように処理する必要があります。この手順を以下にて説明します。ステレオ音声の場合は、左右両方のチャンネルのいずれにも適切に処理がなされる必要があることに留意します。

波形削除のみで接続処理

 波形の一部を削除するだけのシンプルな作業です。単一のトラックのみで完結するため、WavePaseriでも行うことが可能な処理です。順再生と逆再生を交互に行うピンポンループでは、波形が極大となる部分をループの起終点とすると、自然に聞こえるループ音声に仕上げやすいです。

音のつなぎ目でプチプチ音が鳴らない編集例
ループ再生可能にしたモータ音サウンドデータ

 ただし、波形極大部をループの起終点にしただけでは、音声の再生開始時に波形が無音から立ち上がらないため、再生の出だしでクリックノイズが発生するおそれがあります。これを回避するために、一部波形の位置を変更します。

 まず、波形の始点から、最初に波形の振幅がゼロになる点(ゼロクロス点)までを選択して切り取ります。

Audacityで波形を冒頭からゼロクロス点まで選択

 その後、ループ音声波形の末尾に、切り取った波形を貼り付けて移動させます。

Audacityで切り取った波形を末尾に貼り付け

 ところで、一見なめらかに波形がつながっているように見えても、ループ再生して試聴してみると、波形のつなぎ目で違和感を感じてしまう場合もあります。この場合は、次に紹介するクロスフェードの採用を検討してみます。

サンプル音声(ループ再生可能としたモータ音サウンドファイル)

>>Download wav file (kq1500vm_4.wav)

サンプル音声(ループ再生可能としたエンジン音サウンドファイル)

>>Download wav file (ud_ra_at_4.wav)

クロスフェードで接続処理

 波形の切り出しだけでループ再生が綺麗にならない場合、音声のクロスフェードによる滑らかな接続を試みます。クロスフェードは、「プチッ」などのごく短い雑音(クリックノイズ)を含む波形を削除した後、その前後の波形を聴覚上違和感なく接続する上でも有用です。以下ではAudacityを用いた編集例を紹介します。

 まず、ループさせたい波形を含む音声トラックをクリックして選択した後、メニュー→「編集」→「複製」を選択して音声トラックを複製します。その後、複製したトラックの波形を選択し、続いてメニュー→「エフェクト」→「前後を反転」を選択して波形を前後反転させます。「選択ツール」を「タイムシフトツール」に変更し、少しだけ二つのトラックの波形が重なり合うように波形を移動させます。このとき、上下のトラックでなるべく波形の形状が一致するような位置に重なり位置を設定するとクロスフェード時に音声が減衰しにくくなり、スムーズなクロスフェード接続の成功率が高まります。

Audacityにおけるクロスフェード編集

 波形が重なった部分のみを選択し、メニュー→「エフェクト」→「フェードアウト」を適用します。もう一方のトラックの波形も同様に選択し。メニュー→「エフェクト」→「フェードアウト」を適用します。これで均等ゲインクロスフェードとなります。しかしながら、均等ゲインクロスフェードは重なり合う波形の類似性が高くない場合、波形が打ち消しあってクロスフェード部分の音量が小さくなる傾向があります。試聴してみて違和感を覚えた場合は、フェード処理の前まで編集を戻した後に波形の重なり具合を再調整してからクロスフェード適用をやり直すか、あるいは編集を戻さずに波形を移動して二つの波形の重なり度を増やすことなどを試してみます。

Audacityにおけるクロスフェード編集

 新しいバージョンのAudacity(2.3.0で確認)では、クロスフェードが組み込みのエフェクトとして実装され、これまでより簡単に自然なクロスフェードを適用することができるようになりました。

 フェードインとフェードアウトを適用する直前までは上記と同様の操作です。その後、選択ツールに切り替えて二つのトラックをまたいでドラッグし、二つのトラックの波形を同時に選択状態にします。メニュー→「エフェクト」→「Crossface Tracks...」を選択しクロスフェード設定画面を開きます。

Audacityのクロスフェードエフェクトのオプション

 「Fade type」よりフェード種類を選びます。「Constant Gain」は上記と同様の均等ゲインクロスフェードになります。

 「Constant Power *」は均等パワークロスフェードとなり、均等ゲインクロスフェードで発生しがちなクロスフェード中の音量低下を抑制するため、全く異なる波形間でのクロスフェードに適しているとされています。「Constant Power 1」はサインカーブ、「Constant Power 2」は放物線となっているようです。二つの曲線の形は異なりますが、いずれもクロスフェード対象の音声トラックの波形ゲインの二乗和平方根(パワー)が一定になります。

 「Custom curve」は対数フェードで、数値パラメータを変化させることにより曲線の形状を変えられます。0では均等ゲインと同一です。数値を上げていくほどクロスフェード中央部の音量が大きくなっていき、0.5では均等パワーに近くなります。

 自然なループ再生音声が得られたら、再生開始時のクリックノイズ抑制処理を行います。波形を始点から最初のゼロクロス点まで選択して切り取り、末尾に貼り付けて移動させます。

モータ音データの制作例

>>Download (2014-01-27 公開, 4.59 MiB/4,822,602bytes)

 上で紹介した京急1500形VVVF改造車の一区間走行音から、一通り走行できる程度のモータ音データへと加工したものです。モータ音データ制作の参考にしてみてください。

 なお、音声素材公開ページにも同じファイルが置いてあります。上で紹介した京急1500形VVVF改造車の一区間走行音から、一通り走行できる程度のモータ音データへと加工したものです。モータ音データ制作の参考にしてみてください。

BVEでのモータ音再現に必要な次の作業

 モータ音のサンプリング音源を作成しただけではモータ音の再現はできません。モータ音をBVE上で再現させるためには、さらに列車速度に対する各サンプリング音源のピッチと音量変化を記述した、表形式のデータを用意する必要になります。

 なお、BVE公式サイトにはこのデータの書式解説が存在しません。非公式ではありますが、モータ音の設定ファイル書式の解説を「モータ音設定ファイルの仕様」に掲載しましたので、この設定ファイルの書式を把握していない方がおられましたら、そちらの記事をご覧ください。

 具体的なモータ音設定ファイルの作成法の解説記事はまだ用意できておりませんが、将来的には作成して別記事として掲載する予定です。