WaveSpectraの使い方

公開

概要

 WaveSpectraはFFTにより(音声)波形データのスペクトラム表示をリアルタイムで行い、またその解析を行うことができるアプリケーションです。当記事では、WaveSpectraの一部の機能の使い方を解説します。

 WaveSpectraは非常に多機能なアプリケーションですが、このページでは、BVEのアドオンデータの製作上で必要となる、「特徴的な音成分のピーク周波数の取得」のやり方に絞って解説を行います。そのため、すべての機能の解説は行いません。

設定

 メインウィンドウ右上のスパナアイコンをクリックすると設定画面が開きます。赤枠は必ず行っておくべき設定、緑枠は特定のオプションを強くおすすめする設定、青枠は音声ファイルやお好みによって幅広い値の指定幅をもつ設定をあらわします。

Spectrumタブ

WaveSpectraの設定-Spectrum

 スペクトラム表示に関する設定を行います。

縦軸(Amplitude)

 デフォルトではLogが指定されていますが、リニアにするとピーク周波数を見分けやすくなります。倍率は音声ファイルの音量に応じて指定してください。 

横軸(Frequency)

 デフォルトではLogが指定されていますが、モータ音のスペクトルを見るのには向いていないように思われます。リニアを選択し、範囲は下限を0Hz、上限を数千Hzにすることをお勧めします。

数値表示(Max, リードアウト)

 「補間して精度を向上」の指定はデフォルトでは「なし」となっていますが、「x128」に変更します。この指定により、より正確なスペクトルのピーク周波数を得られるようになります。これはピーク周波数の測定にあたっては非常に重要な設定です。他の設定は必ずしも変更する必要はありませんが、こちらの設定変更だけは必ず行っておいてください。

FFTタブ

WaveSpectraの設定-FFT

 フーリエ変換に関する設定を行います。

サンプルデータ数

 この項目はFFTサイズとも呼ばれます。この数値が大きいほど周波数の解像度が高くなり、一方で時間に対する解像度が低くなります。音声のサンプルレートが44100Hzや48000Hzの場合、16384もしくは32768が個人的なおすすめ設定です。

窓関数

 理論的には周波数分解能が高くなる「矩形」の適用をおすすめします。

ピーク周波数の取得

 まずは音声ファイルを開きます。左上のボタンをクリックしてファイルを選択するか、直接音声ファイルをドラッグ&ドロップすることで音声ファイルを開くことができます。次に音声を再生し、再生を一時停止します(停止ではありません)

WaveSpectra-音声の再生

 一時停止中にカーソルをスペクトル上に移動すると、カーソルの右下に周波数と振幅が表示されます。ピーク付近でクリックすると、カーソルがピークにスナップされます。カーソルをピーク頂点に的確にスナップさせるためには、ピーク頂点の少し上でクリックするのがコツです。

WaveSpectra-音声の一時停止

 このとき、周波数と振幅の数値に点線で下線が付加されたときは補間が行われた精度の高いピーク周波数と振幅が表示されています。ここで表示される周波数の値を読み取ってメモしておき、アドオンの作成に利用します。

WaveSpectra-ピーク周波数の測定

 数値に下線が付かない場合は、補間して精度を向上させる設定が適切になされているか、また測定モードになっている場合はピークホールドやオーバーレイ表示がオンになっていないかを確認してください。

 また、一時停止中にトラックバーの上に現れる細長いボタンを押すと位置指定ウィンドウが表示されます。このウィンドウでは、任意の再生位置(解析位置)を正確に指定することができます。

WaveSpectra-位置指定ウィンドウ

補間を利用する理由

 FFTによって得られるデータは、「一定間隔で飛び飛びの」周波数の振幅で構成されています。また、ピッチは周波数が低いほど周波数変化に対する変化量が大きくなります。ゆえに、一般にFFTによって生成したデータのピッチ解像度は周波数が小さいほど低くなってしまい、低音域では正確なピッチを得にくくなります。WaveSpectraで実装されている補間機能は、この問題を無視できるレベルにまで低減することができます。

 以下に補間を利用した場合と利用しなかった場合のピーク測定の実例をそれぞれ示します。まず、サンプリング周波数44100kHzにおいて61.9Hzの正弦波をサンプル数16384でFFTを行った場合のスペクトル表示を示します。FFTの最少周波数分解能(サンプルレート / サンプルデータ数)の整数倍の周波数の波形を用いているため、鋭いピークが表示されます。

WaveSpectra-ピーク周波数測定実験

 ここでサンプル数を16384から8192に減らすと周波数成分の解像度が落ち、ピークが二つ以上の周波数で表されて潰れた形になります。補間を利用しない時には、ピーク周波数は「59.2」と「64.6」でしか得られず、元の周波数(61.9Hz)を得ることはできません。

WaveSpectra-補間を無効にして周波数測定

 補間を有効化すると、スペクトル表示は変わらないものの、ピーク付近をクリックしたときに表示される周波数の数値は精度の高い値となっています。

WaveSpectra-補間を有効にして周波数測定