音楽における周波数解析の全貌 — FFTから聴覚モデルまでの実践ガイド

はじめに:周波数解析が音楽にもたらすもの

周波数解析は、音楽信号の中に含まれる音高、倍音構造、ノイズ成分、時間変化するスペクトルなどを明らかにし、作曲、編曲、録音、ミキシング、音響研究、音楽情報検索(MIR)など幅広い領域で不可欠な手法です。本稿では、基本理論から実務的な注意点、代表的なアルゴリズムとツール、そして聴覚の特性を組み込んだアプローチまでを詳しく解説します。

周波数解析の基本概念

音は時間領域の波形として観測されますが、音楽的にはどの周波数成分がどの強さで存在するか(スペクトル)が重要です。周波数解析の基礎はフーリエ変換にあります。連続時間信号 x(t) のフーリエ変換は X(f)=∫ x(t) e^{-j2πft} dt、離散時間信号では離散フーリエ変換(DFT)X[k]=∑_{n=0}^{N-1} x[n] e^{-j2πkn/N} となります。DFT はデジタル信号処理で最も基本的なツールで、実用的には高速フーリエ変換(FFT)アルゴリズムで計算されます。

フーリエ変換とFFT(高速フーリエ変換)

FFT はDFT を効率的に計算する方法で、データ長 N に対して計算量を O(N log N) に削減します。音響信号処理では FFT を用いて短い時間窓ごとにスペクトルを算出する STFT(短時間フーリエ変換)が頻繁に使用され、時間変化する周波数成分を可視化するスペクトログラムが得られます。

窓関数と時間—周波数トレードオフ

STFT では信号を短い時間窓に区切って FFT を計算しますが、窓幅の選択が重要です。短い窓は時間解像度を高め、長い窓は周波数解像度を高めます(不確定性原理に類似)。さらに、矩形窓を使うとスペクトル漏洩(spectral leakage)が生じやすいため、ハン(Hann)、ハミング、ブラックマンなどの窓関数でサイドローブを抑える対策が一般的です。窓の選択は目的(トランジェントの検出、倍音解析など)に応じて行います。

スペクトログラム、STFT、そして常用変換(CQT)

スペクトログラムは時間–周波数表示で、色や輝度で振幅(あるいは対数振幅)を表します。STFT は等間隔の周波数ビンを与えますが、音楽情報処理では対数周波数軸(ピアノの鍵盤に近い分解能)が有用なため、Constant-Q Transform(CQT)が使われます。CQT は低周波で細かく、高周波で粗く解析するため、音高解析や和音の解析に適しています。

ピッチ検出と音高解析の手法

  • ピーク検出(STFT スペクトルのピーク): 単音楽器や単音の検出に有効。ただし倍音やノイズで誤検出しやすい。
  • 自相関法(autocorrelation): 基本周波数の周期性を利用。低域で堅牢だが高域での分解能は低い。
  • ケプストラム(cepstrum): スペクトルの対数の逆フーリエ変換を用い、周期的構造(ピッチ)を検出する。
  • ハーモニック・モデルと多音解析: 複数の音高が混在する場合、モデルベースや確率的推定(例:MPE—multi-pitch estimation)が必要。

倍音(ハーモニクス)と音色解析

弦楽器や管楽器などの音色(ティンバー)は基本周波数とその上に重なる倍音列の振幅と位相で決まります。理想的な倍音列は整数倍周波数ですが、弦の不整合や楽器の物理特性により非整数倍(非調和性、inharmonicity)を示すことがあります。スペクトル包絡(spectral envelope)は音色を特徴づけ、リサンプリングや合成、音色分類に用いられます。

サンプリング定理、ナイキスト周波数、エイリアシング

連続信号をデジタル化する際はナイキスト周波数(サンプリング周波数の半分)より高い周波数成分が存在すると折り返し(エイリアシング)を引き起こします。これを避けるには適切なアンチエイリアスフィルタと十分なサンプリングレート(音楽では44.1kHzや48kHzが一般的)を選ぶ必要があります。高域成分を扱うときやマルチレート処理では注意が必要です。

人間の聴覚と周波数解析(心理音響)

聴覚は周波数ごとの感度が均一ではなく、メル尺度や等ラウドネス曲線、クリティカルバンド(耳の周波数分解能)といった概念があります。これらを考慮することで、人間の感覚に沿ったスペクトル処理(例:メルスペクトrogram、Mel-frequency cepstral coefficients: MFCC)が可能になり、音楽検索や分類で高い性能を発揮します。また、マスキング効果(ある周波数帯の音が他の音を隠す現象)はオーディオ圧縮やノイズリダクション設計で重要です。

応用例:ミキシング、マスタリング、音声修復

  • イコライジング(EQ): 周波数解析に基づいて不要な周波数を削る、あるいは強調する。スペクトルを観察して帯域ごとの調整を行う。
  • ノイズ除去/リストレーション: スペクトル減算法やウィナーフィルタ、非負値行列因子分解(NMF)などで背景ノイズやクリックを除去。
  • ステレオイメージとマスキング対策: 周波数ごとのレベルと位相の調和をとることで、曲全体の明瞭度を保つ。

音源分離と機械学習

近年は深層学習を活用した音源分離(ボーカル分離、ドラム分離など)が普及しています。多くの手法はスペクトログラムを入力として扱い、時間–周波数マスクを学習して各音源のスペクトルを復元します。古典的手法としては独立成分分析(ICA)やNMFがあり、これらは音楽の周波数特性を利用して分離を行います。

実装とツール(現場で使えるライブラリとソフト)

代表的なツール・ライブラリには次のようなものがあります。Python では librosa(スペクトログラム、CQT、ピッチ検出など豊富な実装)が広く使われ、科学計算ライブラリ SciPy も FFT や信号処理機能を提供します。可視化や解析には Sonic Visualiser、手早い編集には Audacity、研究用途では MATLAB(Signal Processing Toolbox)や Praat が便利です。

実務上の注意点とベストプラクティス

  • 解析の目的を明確にする(ピッチ検出、音色分析、ノイズ除去など)ことで最適な手法とパラメータが変わる。
  • ウィンドウ長、オーバーラップ、窓関数をタスクに合わせて調整する。トランジェント重視なら短窓、倍音解析なら長窓を検討。
  • 対数振幅(dB)表示やパワースペクトルを使うことで、人間の感覚に近い解析が可能。
  • 前処理(DCオフセット除去、適切なアンチエイリアス、ゲイン整備)を行う。
  • 結果を鵜呑みにせず、耳で確認する。視覚的に良さそうでも聴感上問題がある場合がある。

まとめ:理論と耳をつなげる解析を目指して

周波数解析は音楽制作と研究における強力なツールです。フーリエ解析やFFT、STFT、CQT といった手法を理解し、窓関数や時間—周波数トレードオフ、聴覚特性を踏まえた解析設計を行うことで、音高検出、音色解析、ノイズリダクション、音源分離などの課題に有効に取り組めます。実装には librosa、SciPy、Sonic Visualiser、Audacity などのツールを活用し、常に耳での確認を忘れないことが重要です。

エバープレイの中古レコード通販ショップ

エバープレイでは中古レコードのオンライン販売を行っております。
是非一度ご覧ください。

エバープレイオンラインショップのバナー

また、レコードの宅配買取も行っております。
ダンボールにレコードを詰めて宅配業者を待つだけで簡単にレコードが売れちゃいます。
是非ご利用ください。
https://everplay.jp/delivery

参考文献

The Scientist and Engineer's Guide to Digital Signal Processing — Steven W. Smith (オンライン版)

librosa documentation

Fourier transform — Wikipedia

Fast Fourier transform — Wikipedia

Short-time Fourier transform — Wikipedia

Constant-Q transform — Wikipedia

Nyquist–Shannon sampling theorem — Wikipedia

Sonic Visualiser

Audacity

Fundamentals of Music Processing — Meinard Müller (O'Reilly)

Psychoacoustics — Wikipedia