Spectrum Analyzer (スペクトラムアナライザ)

概要
リアルタイムでオーディオ信号の周波数成分を分析表示するツールです。
マイク入力やライン入力された音が、どの周波数帯域でどれくらいの大きさなのかを視覚的に確認できます。
一般的なFFT(高速フーリエ変換)解析に加え、ノイズ分析に有用なPSD(パワースペクトル密度)表示や、聴感感度を考慮した重み付け(A特性/C特性)など、高度な測定機能も備えています。
☕ コーヒーブレイク: スペクトラムアナライザって何をしているの?
音は「空気の振動」です。オシロスコープは、この振動を「時間」とともにグラフにするため、複雑な音が鳴ると波形がぐちゃぐちゃになってしまいます。
スペクトラムアナライザは、この複雑な波形を FFT(高速フーリエ変換) という魔法の数式にかけて、「どの高さの音が」「どれくらいの強さで」 混ざっているかに分解します。 これは、太陽の光をプリズムに通すと、虹色(赤、緑、青など)の成分に分解されるのと同じ原理です。音の「色」を分解して見せてくれるのが、このウィジットの役割なのです。
操作方法
測定の開始と停止
- Start Analysis / Stop Analysis ボタン: 測定の開始と停止を切り替えます。
グラフの読み方
- 横軸 (Frequency): 周波数(音の高さ)を表します。右に行くほど高い音です。対数スケール(Log)で表示されます。
- 縦軸 (Magnitude): 信号の大きさ(強さ)を表します。上に行くほど強い信号です。目盛りの単位は設定(Unit)に依存します。
- カーソル: グラフ上にマウスカーソルを合わせると、その地点の正確な周波数とレベルが画面上部の「Cursor: ...」に表示されます。
- Overall: 全帯域のトータルの信号レベル(実効値)が表示されます。
設定項目
基本設定
-
Mode (分析モード)
- Spectrum: 最も一般的なモードです。各周波数のピークレベルを表示します。正弦波などの信号レベルを測るのに適しています。
- PSD (Power Spectral Density): パワースペクトル密度を表示します。ノイズの分布を一様に評価したい場合に使用します。単位は となります。
- Cross Spectrum: LチャンネルとRチャンネルの相関成分を表示します(高度な設定)。
-
Channel (チャンネル)
- Left / Right: 指定した片方のチャンネルのみを表示します。
- Average: 左右の平均を表示します。
- Dual: 左右のチャンネルを同時にグラフ表示します(Left=緑、Right=赤)。
-
FFT Size (周波数分解能)
- 分析に使用するサンプル数を指定します。これは デジカメの画素数 のようなものです。
- 数字が大きい場合 (例: 131072, 1M): 画素数が多い(高解像度)状態です。周波数の目盛りが細かくなり、密集したピークを見分けやすくなりますが、写真を撮るのにより長い「露光時間」が必要になるため、グラフの反応速度は遅くなります。
- 数字が小さい場合 (例: 1024, 4096): 画素数が少ない(低解像度)状態です。周波数の目盛りは粗くなりますが、シャッター速度が速いため、動きの速い音にもキビキビと追従します。
- 通常は
4096~16384程度が、解像度と反応速度のバランスが良くおすすめです。
-
Window (窓関数)
- FFT分析の際に生じる誤差(スペクトル漏れ)を抑えるための処理です。
- 💡 なぜ必要なの?: FFTは「音が無限に同じパターンで繰り返している」と仮定して計算します。しかし、実際には音をある一定の長さで「切り取って(サンプリングして)」計算にかけます。ハサミで不自然に切り取られた波形の端っこは、計算結果に「存在しないノイズ(スペクトル漏れ)」を生み出してしまいます。窓関数は、切り取った波形の端っこを滑らかにフェードアウトさせ、このノイズを防ぐ役割を持っています。
- hanning (ハン窓): 最も汎用的で一般的な窓関数です。迷ったらこれを選んでください。
- rect (矩形窓): 窓関数をかけません。過渡的な信号や、周期が完全に一致している信号以外では誤差が大きくなります。
- Multitaper: 後述のマルチテーパー機能をONにすると、自動的に専用の窓関数が適用されます。
-
Weighting (周波数重み付け)
- Z: 重み付けなし(フラット)。物理的に正確な電圧や音圧を測る場合に使用します。
- A: A特性。人間の耳の感度特性に合わせたフィルタです。
- 💡 人間の耳の不思議: 人間の耳は、すべての高さを均等に聞いているわけではありません。3kHz〜4kHz(赤ちゃんの泣き声やサイレンの音域)に最も敏感で、低音や超高音には鈍感です(生存に有利だったからだと言われています)。A特性は、マイクが拾った物理的な音の強さを、この「人間が感じるうるささ」に変換(重み付け)します。騒音レベルの測定ではこの設定が標準です。
- C: C特性。A特性よりも平坦に近いですが、人間の耳では聞こえない超低音・超高音をカットした特性です。大音量のライブハウスなどで体で感じるような音圧を評価するのによく使われます。
-
Unit (表示単位)
- dBFS: デジタルフルスケールを0dBとした相対値です。オーディオインターフェースの入力限界に対するレベルです。
- dBV: 1Vを0dBとした電圧レベルです(キャリブレーション設定が必要です)。
- dB SPL: 音圧レベルです(マイクの感度補正等のキャリブレーション設定が必要です)。
詳細設定
-
Smoothing (スムージング)
- グラフのギザギザを滑らかにして見やすくします。
- 1/3 Octave などは、オーディオ分析でよく使われる表示形式です。
-
Avg (アベレージング)
- 時間方向の平均化処理の強さを指定します。
- スライダーを右にするほどグラフの動きがゆっくりになり、ノイズ成分の変動が抑えられて見やすくなります。
-
Multitaper (マルチテーパー)
- ONにすると、複数の窓関数を使用してスペクトル推定の分散(ばらつき)を減らします。ノイズの解析において、より滑らかで信頼性の高い結果が得られる場合があります。ONの場合、Window設定は無効化されます。
-
Peak Hold (ピークホールド)
- 過去の最大レベルを赤い点線で保持し続けます。
- 一瞬だけ発生した大きな音を確認したい場合に便利です。
- Clear Peakボタン: 保持されているピーク表示をリセットします。
使用例
ここでは、スペクトラムアナライザの具体的な活用シーンをいくつか紹介します。
マイク入力の確認
マイクが正しく音を拾っているか確認する基本的な使い方です。
- Start Analysis ボタンを押して測定を開始します。
- Mode は
Spectrum、Channel はAverageまたはLeftを選択します。 - マイクに向かって声を出すか、手を叩いてみます。
- グラフが反応して形が変われば、入力は正常です。
- Peak Hold をONにして手を叩くと、一瞬の衝撃音がどの周波数を含んでいるか(パルス音のスペクトル)が赤い線で残り、観察しやすくなります。
ノイズフロアの測定
無音時のノイズレベル(ノイズフロア)を確認します。S/N比の改善や電源ノイズの発見に役立ちます。
- 入力機器(マイクやライン入力)を接続し、音を出さない状態にします。
- Mode を
PSDに変更します。ノイズの分布を見るにはPSDが適しています。 - Avg (アベレージング) スライダーを
50%~90%程度まで上げます。波形の暴れが収まり、平均的なノイズのラインが見えてきます。 - 特定の周波数(例えば50Hzや60Hz)に鋭いピークがある場合、電源ハムノイズが混入している可能性があります。
- Smoothing を
1/3 Octaveにすると、全体的なノイズの傾向(ホワイトノイズ寄りか、ピンクノイズ寄りかなど)が把握しやすくなります。
スピーカーの簡易周波数特性チェック
テスト信号(ピンクノイズなど)を再生し、スピーカーの出力をマイクで拾うことで、周波数特性を簡易的にチェックできます。
- 別途、Pink Noise (ピンクノイズ) の音源を用意して再生します。
- 測定用マイクをスピーカーの前に設置します。
- Mode を
Spectrum、FFT Size を16384程度に設定します。 - Avg を高め(
90%以上)に設定します。 - Weighting を
Z(フラット) にします。 - グラフが平坦に近づけば、スピーカーの特性はフラットです。低域や高域が下がっている場合、そのスピーカーの再生帯域の限界です。
- ※ 部屋の反響音も拾うため、厳密な測定ではありませんが、傾向を知るのに有効です。