音声 へ戻る
音声スペクトラム解析 — 周波数成分を可視化

音声スペクトラム解析 — 周波数成分を可視化

音声ファイル (MP3 / WAV / M4A / FLAC / OGG / Opus) をドロップすると、ブラウザ内で FFT 解析を行い周波数スペクトルを可視化します。Mode 切替で、全体の平均スペクトル (周波数 vs 振幅) と、時間軸付きのスペクトログラム (時間 × 周波数 × 振幅) を切り替え可能。FFT サイズ (512 / 1024 / 2048 / 4096) と周波数軸 (Linear / Log) を選べます。マスタリング前のローエンド確認、ノイズ帯域の特定、楽器の倍音構成のチェック、講義音声の S/N 確認などに。Canvas を PNG ダウンロード、平均スペクトルは CSV エクスポート対応。音声はすべてブラウザ内で処理され、サーバーには送信されません。

音声抽出

使い方

音声ファイル (MP3 / WAV / M4A 等) を 1 つ以上ドロップまたは選択します。 Mode を選びます: 平均スペクトル (周波数 vs 振幅) / スペクトログラム (時間 × 周波数 × 振幅)。 必要に応じて FFT サイズ (512〜4096) と周波数軸 (Log / Linear) を切り替えます。 ドロップ直後に自動で解析が始まり、ファイルごとに Canvas で結果が描画されます。 PNG として画像をダウンロード、平均スペクトルなら CSV (frequency Hz, amplitude dB) もエクスポートできます。

詳細解説

スペクトル解析の対象音声には未公開楽曲が多い

スペクトル解析を行う主な理由は、ミックスの周波数バランス確認、マスタリング前の帯域分析、楽器の音色特徴把握、配信用音源の低域・高域チェックなどです。いずれもリリース前または制作途中の楽曲や音源を対象にすることが多く、外部サービスへのアップロードは未公開素材を第三者のサーバーへ渡すことを意味します。

スペクトログラムは音声の時間-周波数構造を可視化するもので、解析結果の画像だけでも「この音源の楽器構成はこうなっている」という情報が読み取れます。原音だけでなく解析結果の画像も機密情報になり得る、という点は見落とされやすいところです。

オンラインスペクトル解析ツールに音楽を送ることの問題

音声のスペクトル解析を提供するオンラインサービスは、ファイルをサーバーへ送って解析するモデルをとるものがあります。このとき送信されるのは音声ファイル全体で、サービスによってはアクセスログや処理ログに音声の特徴量が記録される場合があります。

「分析結果だけ返してもらえればよい」という操作感があっても、サーバー側では元のファイルが処理されています。FFT サイズや表示モードを変えるたびに再解析をリクエストする場合、そのたびに音声が送信されます。計算が重いからクラウドで、という判断が、未公開音源の外部転送につながる構造です。

Web Audio API の decodeAudioData + 自前 FFT でブラウザ内処理

このツールは Web Audio API の `decodeAudioData` で音声をデコードし、自前実装の FFT (Cooley-Tukey の Radix-2 DIT アルゴリズム) でサンプル列を周波数領域に変換します。平均スペクトルモードでは全フレームの振幅を平均し、スペクトログラムモードでは時間軸方向に並べたパワースペクトルを Canvas の 2D コンテキストで描画します。FFT サイズ変更や Log/Linear 軸切り替えも、デコード済みのサンプルデータをブラウザ内で再計算するだけです。

DevTools の Network タブを開いた状態でファイルをドロップしても、ページロード後の音声関連リクエストはゼロです。FFT の実装を含めて、ソースコードは GitHub で公開されています。

スペクトル解析を配布前チェックフローに組み込む方法

スペクトル解析の結果 (PNG / CSV) は、ミックスのドキュメントとして保存しておくと後々の参照に便利です。配信プラットフォームへの送出前には、低域が過剰に盛り上がっていないか、高域がロールオフしすぎていないか、特定周波数にピークがないかを確認するのが標準的なルーティンです。

audio-loudness-lufs と組み合わせると、LUFS (ラウドネス) と周波数バランスの両方をブラウザ内でチェックできます。また、スペクトログラムは音声の内容確認にも使えます。ポッドキャストや音声コンテンツで「どこで何が話されているか」の大まかな見当は、スペクトログラムの視覚パターンから読み取れます。

よくある質問

FFT サイズは何を選べばいいですか?
音楽全体のバランス確認なら 2048 や 4096、短いクリックやドラムのトランジェント解析なら 512 や 1024 が向いています。サイズが大きいほど周波数分解能が上がる代わりに時間分解能が下がります。
Log と Linear はどう違うの?
Log は人の聴覚に合わせて低域を広く、高域を狭く表示します。音楽の音色を見るときは Log が直感的です。Linear はサンプリング周波数の半分 (Nyquist) まで均等に並ぶため、超音波・高調波解析向きです。
ステレオはどう扱われますか?
L/R をモノラル化 (平均) してから FFT を取ります。ステレオ間のバランスを別々に見たい場合は audio-channel-split で 2 ファイルに分けてからそれぞれ解析してください。
スペクトログラムの色は何を表しますか?
明るい色ほど振幅が大きいことを示します (-120 dB 〜 0 dB を黒〜白でマッピング)。低い色は無音や微小信号、高い色はピークの音圧です。
サーバーに送信されますか?
いいえ。Web Audio API (decodeAudioData) + 自前 FFT で完結します。ファイルはアップロードされません。

「送らない」を確かめるには

このツールは入力データを外部に送信しません。仕組み・監査手順・運営方針は以下で詳しく説明しています。

類似のツール

BPM 自動検出 — 音声から BPM を推定

BPM 自動検出 — 音声から BPM を推定

音声ファイル (MP3 / WAV / M4A / FLAC / OGG) をドロップすると、Web Audio API のローパスフィルタ + ピーク検出 + ヒストグラム解析で曲の BPM を自動推定します。DJ ミックスの相手曲、サンプル素材のテンポ確認、踊りやランニングのテンポ合わせ、bpm-time-stretch で揃える前の参考値取得などに便利。半分・倍テンポの候補も併記するので、4 つ打ちで 60 BPM と出たけど実際は 120 BPM、のような誤検出も自分で判断できます。音声はブラウザ内で完結。

音声テンポ
テストトーン生成 (Hz)

テストトーン生成 (Hz)

任意の周波数 (20 Hz〜20 kHz) のテストトーンを Web Audio API で生成。波形は サイン波 / 矩形波 / 三角波 / ノコギリ波 から選択、A4 = 440 Hz / 1 kHz / 10 kHz 等のプリセット、音名 (A4・C5 など) と セント単位の音程ずれもリアルタイム表示。フェードイン/アウトでクリップノイズを回避、WAV (44.1 kHz / 16bit / モノラル) でダウンロード可能。楽器チューニング・スピーカーチャネル確認・聴覚テスト・テスト信号用途に。すべてブラウザ内で生成され、外部にデータは送信されません。

音声生成
ノイズ生成 (ホワイト / ピンク / ブラウン)

ノイズ生成 (ホワイト / ピンク / ブラウン)

ホワイトノイズ・ピンクノイズ・ブラウン (赤) ノイズをブラウザ内で合成してリアルタイム再生 + WAV ダウンロード。**ホワイト** は全周波数に均一なエネルギー (耳には高音寄り)、**ピンク** は 1 オクターブあたりエネルギー一定 (1/f スペクトル、自然界の音に近い)、**ブラウン** は -6 dB/oct で減衰する低音寄りスペクトル (海・滝の音に近い)。集中作業中のマスキング BGM、赤ちゃんの寝かしつけ、不眠対策、オーディオ機材のテストなどに。WAV (44.1 kHz / 16-bit / mono) で任意の長さ (0.5〜60 秒) をダウンロード可。すべてブラウザ内で完結し、サーバーへ送信しません。

生成
音声フォーマット変換 — MP3 / WAV / M4A / OGG / FLAC

音声フォーマット変換 — MP3 / WAV / M4A / OGG / FLAC

音声ファイルを mp3 / wav / m4a / ogg / flac へ変換します。ffmpeg.wasm が出力拡張子に応じてコーデックを選択して再エンコード。複数ファイル一括処理 + ZIP ダウンロード対応。ファイルはサーバーに送信されません。

音声変換