スペクトログラム

スペクトログラム（）とは、複合信号を窓関数に通して、周波数スペクトルを計算した結果を指す。3次元のグラフ（時間、周波数、信号成分の強さ）で表される。
スペクトログラムは声紋の鑑定、動物の鳴き声の分析、音楽、ソナー/レーダー、音声処理などに使われている。スペクトログラムを声紋と呼ぶこともある。スペクトログラムを生成する機器をソノグラフ（sonograph）という。
形式.
最も一般的な形式では、横軸が時間を表し、縦軸が周波数を表す。そして、各点の明るさや色である時点のある周波数での強度を表す。
形式には様々なバリエーションがある。横軸と縦軸を入れ替えて、時間が上下に流れる形式にすることもある。また、強さをZ軸とした3次元のグラフで描画することもある。周波数は線型目盛でも対数目盛でもよく、用途によって使い分ける。例えば音声信号で倍音の関係を示す場合は周波数を線型目盛で表し、音楽的または音色的関係を表す場合は周波数を対数目盛で表す。
強度.
振幅の大きさをもって強度とするものを振幅スペクトログラム（）、振幅の2乗をもって強度とするものをパワースペクトログラム（）という。
強度はしばしばレベル表現（対数スケール）で表される。基準量は用途によって異なり、純粋に対数表現するならば formula_1、スペクトログラム内の相対関係をみるならばピーク値 formula_2や中央値 formula_3が用いられる。数値はdB単位を採用する場合が多い。
生成.
スペクトログラムを作成する方法は主に2種類存在する。1つはバンドパスフィルタ群を使う方法、もう1つは短時間フーリエ変換（STFT）で計算する方法である。
フィルタを使った手法は主にアナログの連続信号で使われる。信号の周波数範囲（音声信号の場合、20Hz から 20kHz）を等間隔に分ける。ただし、線型に等間隔な場合（例えば 0-100、100-200、200-300、…）と対数的に等間隔の場合（例えば 10-100、100-1000、1000-10000、…）がある。信号が各フィルタに入力されると、その周波数帯域以外の周波数成分は除去される（ただし、実際のフィルタは窓関数としては不完全なので、周囲の周波数帯域の成分が若干残る）。各フィルタの出力を時間と共に記録する。その記録を水平にしたものを周波数帯域の順番に積み重ねるように置くと、横軸を時間とし縦軸を周波数としたスペクトログラムが完成する。
デジタル信号では、STFTを使ってスペクトログラムを作成する。時間領域で標本化されたデータはチャンクに分けられ（チャンクは一般にオーバーラップさせる）、チャンク毎にフーリエ変換を施す。各チャンクの変換結果がスペクトログラムのある時間の全周波数成分のグラフ（スペクトル）となるので、これを垂直において時系列に並べるとスペクトログラムが完成する。
スペクトログラムからの音響生成.
上述の変換処理を逆に行うこともできる。以下のプログラムはデジタル画像をスペクトログラムと解釈して音に変換できる。
この技法を電子音楽のアーティストが利用して、音楽にスペクトログラムの画像を潜ませることがある。以下に例を挙げる。
現代音楽では、製作途中にスペクトログラムを使う場合がある。スペクトログラム化した状態で直接周波数や時点を指定して音の強さを変更し、再度もとの音に戻す。
派生.
メルスペクトログラム.
メルスペクトログラム（）は周波数軸がメル尺度のスペクトログラムである。
メルスペクトログラムは（リニア）スペクトログラムにメルフィルターバンクを適用して生成されることが多く、その場合は周波数軸の次元数が小さくなる。すなわち聴覚特性に基づいた次元圧縮としても機能するため、信号処理、特にディープラーニングの前処理でしばしば用いられる。