スペクトログラム

純音で作られた四つの短い曲と、そのスペクトログラム、そして一つのスライスです。窓の長さを変えて、近い音が分離する一方で時間がぼやけたり、あるいはその逆が起きたりするのを観察してみてください。破線は楽譜で、実際の音の位置を示しています。

インタラクティブシミュレーションを読み込んでいます...

レッスン

理論 — スペクトログラム

スペクトログラムは、信号のスペクトルが時間とともにどう変化するかを示すものです。信号は重なり合うスライスに切り分けられ、それぞれに長さTの窓関数を掛けてからフーリエ変換(短時間フーリエ変換)が行われ、その振幅が横に並べられます。長さTの窓は時間を約T、ピッチを約1/Tぼやかすため、近いピッチと素早い変化の両方を一度に捉えられる単一の長さはありません。半音離れた二つのピッチはΔf = f(21/12 − 1)だけ異なり、1/Δfごとに一回のうなりが生じます。

前提
同じ音量の純粋なサイン波を想定しています。実際の音に倍音が含まれる場合、半音離れた二つの音のn次倍音は、基音同士よりもn倍離れることになります。そのため、スペクトログラムでは、基音に必要な窓よりも短い窓でそれらの倍音を分離できます。ベースの音がどれだけ倍音に依存しているかは、楽器によって異なります。

半音離れた二つの音には、一うなりよりも長い窓が必要 🖖

一うなり、方形窓を押してみてください。A4とA♯4は26.16 Hz離れているため、同時に鳴らすと一秒間に26.16回、すなわち38.2 msに一回のうなりが生じます。周波数分解能は窓の長さの逆数であるという一般的な経験則からすれば、まさにこの長さの窓が使われます。しかしこのページでスライスを数えてみると、二つのピークが現れるのはわずか61.9%です。分離に失敗するスライスは、二つの波の位相が揃い、二つのピッチの中間で足し合わさって一つの山になってしまう瞬間に当たります。一うなりの後、再び位相が揃います。すべてのスライスで分離するには、方形窓で1.33うなり(50.6 ms)、ハニング窓で1.88うなり(72.0 ms)の長さが必要です。ハニング窓は両端が細くなっているため、実際の長さよりも短い時間しか音を聴き取れないからです。次に十分な長さを押してみてください。80 msではすべてのスライスに両方の音が現れます。Julius Smithが著書Spectral Audio Signal Processingで示している「方形窓で二うなり、ハニング窓で四うなり」という法則は、このテストで必要な条件よりも安全側に倒したものです。これは、二つのメインローブが全く重ならないことを求めているためです。

ベースラインにはメロディよりも遅い時計が必要 🖖

半音は21/12という一定の比率であるため、ヘルツで測った幅はピッチが下がるにつれて狭くなります。A5では52.33 Hzですが、四オクターブ下のA1では3.27 Hzになります。窓の長さもそれに合わせて長くしなければなりません。結果の下にある表がその階段を示しています。ハニング窓で半音を分離するには、A5では36.0 ms必要ですが、A1では576.2 ms、つまり一分間に120拍のテンポにおける十六分音符四つ半分以上が必要になります。メロディのトリルを押してみてください。十六分音符で交互に鳴るA5とA♯5ですが、36 msの窓を使うと95.0%のスライスでどちらの音が鳴っているか分かります。次にベースのトリルを押してください。四オクターブ下の同じトリルを、音符一つ分と同じ長さの125 msの窓に通すと、判別できるのはわずか1.2%です。ここで窓の幅をドラッグして変えてみてください。短いと大雑把すぎて55 Hzと58.27 Hzを区別できません。一方で区別できるほど長くすると、四つか五つの音符をまたいでしまい、両方の音を同時に聴いてしまいます。10 msから一秒までのどのような窓を使っても、四分の一以上のスライスでベースのどの音が鳴っているかを示せるものはありません。音楽用に作られたアナライザーは、それぞれのピッチに独自の窓を与えることでこの問題に答えています。Judith Brownが1991年に発表した定Q変換は、周波数に反比例して窓の長さを変え、低音には長く、高音には短くしています。

変化する音には最適な窓幅があり、長すぎるとぼやけてしまう 🖖

グリッサンドを押してみてください。一つの音が二秒間で440 Hzから880 Hzへと、一秒間に220 Hzのペースで変化します。140 msのハニング窓に通すと、線の中間部での太さは18.2 Hzになります。窓を半分の70 msにすると、短い窓の特性通り、線は29.0 Hzに広がります。逆に二倍の280 msにしても、やはり30.8 Hzに広がってしまいます。長い窓ほどメインローブは細くなりますが、音を聴き取っている間にもピッチが動くからです。280 msの間にグリッサンドは61.6 Hz移動し、窓はその広がり全体を一つの線にぼやかしてしまいます。この二つのぼやけが逆方向に働くため、このグリッサンドでは140 ms付近で線が最も細くなります。持続する和音にはこのような最適な長さはありません。72.0 msを超えればハニング窓のすべてのスライスで分離し、窓を長くするほどローブが細くなるだけです。これら両方の根底にあるのは、窓の時間的広がりとピッチの広がりの積をどこまで小さくできるかという下限であり、波束のページで説明しているのはまさにこのことです。

全プロセスの詳細解説

  1. ピアノの最低音 4 ステップ

    ピアノで最も低いAの音はA0(27.5 Hz)です。すべてのスライスでA0とA♯0を二つのピークとして示すには、スペクトログラムにどれくらいの長さのハニング窓が必要でしょうか。また、それは一分間に120拍のテンポにおける十六分音符と比べてどうなるでしょうか。Judith Brownの定Qアナライザーのようなシステムでは、そこでどのような窓を使っているでしょうか。 まずはベースのトリルを押してみてください。このページには、一オクターブ上のA1の数値が示されています。

    この問題をツールで開く

    1. A0の半音上:

    2. ハニング窓には1.8845うなりが必要です。A1の一オクターブ下では差が半分になるため、窓の長さはページにある576.2 msの二倍になります:

    3. 一分間に120拍のテンポにおける十六分音符(一つ125 ms)で換算すると:

    4. Brownの定Q窓は、分析するピッチのQ = 34周期分を含みます(四分音の分解能を得るためのハミング窓形状)。したがって、その長さはQ/fとなります:

    解答

    約1.15 sとなり、十六分音符九つ分以上になります。 これだけの長さがあれば、ピアノの最低オクターブでの速いパッセージの音符を九つ以上またぐことになります。A0におけるBrownの窓は1.24 sとさらに長くなります。A4における彼の77.3 msは、異なる基準から導かれたものですが、このページのハニング窓の72.0 msに近い値に落ち着いています。

学習の道すじ

フーリエ変換の実際

参考文献 (2)