メル尺度

記事数:(3)

アルゴリズム

人間の音の感じ方を測る:メル尺度

私たちは、身の回りで様々な音を耳にします。鳥のさえずり、風の音、楽器の音など、どれも音の高さが違います。この音の高低は、物理的には音波の振動数、つまり周波数によって決まります。周波数が高いほど、音は高く聞こえ、周波数が低いほど、音は低く聞こえます。 興味深いことに、人間の耳は、この周波数の違いを均等に感じ取っているわけではありません。高い音の場合、わずかな周波数の違いでも、はっきりと別の音として聞き分けることができます。例えば、ピアノの高い音域で隣り合った鍵盤を弾くと、ほとんどの人がその二つの音の高低差を容易に聞き分けられます。これは、高い周波数領域では、人間の耳が周波数の変化に非常に敏感であることを示しています。 ところが、低い音になると話は変わってきます。ピアノの高い音で簡単に聞き分けられた程度の周波数差であっても、低い音ではその違いを聞き取るのが難しくなります。例えば、コントラバスのような低い音を出す楽器で、ピアノの高い音と同じだけの周波数差を持つ二つの音を鳴らしても、多くの人は二つの音の差を聞き取ることができません。低い周波数領域では、人間の耳は周波数の変化に鈍感になるのです。 このように、人間の聴覚は、周波数の絶対的な差ではなく、相対的な差に反応していると考えられます。つまり、低い音は、高い音に比べて、大きな周波数変化がないと音の高低差として認識されないのです。これは、人間の聴覚が、進化の過程で、生存に重要な音、例えば、他の動物の鳴き声や、仲間とのコミュニケーションに必要な音などを聞き取るように最適化されてきた結果なのかもしれません。
アルゴリズム

人間の音の感覚:メル尺度

私たちが音を聞き分けるとき、音の高さの違いを認識しています。たとえば、鳥のさえずりは高く、太鼓の音は低いといった具合です。この音の高低は、音波の揺れの速さ、つまり周波数によって決まります。周波数とは、一秒間に何回空気が振動するかを表す数値です。この数値が大きいほど、音は高く聞こえます。逆に、数値が小さいほど音は低く聞こえます。たとえば、ピアノで高い音を出すときは、弦が速く振動し、低い音を出すときは弦がゆっくり振動しています。 しかし、人間の耳は、この周波数の違いを、数値通りに感じているわけではありません。同じだけ周波数が変化しても、高い音の範囲では変化をはっきり感じ取れますが、低い音の範囲では変化をあまり感じません。たとえば、千回の振動と千百回の振動の違いは、二千回の振動と二千百回の振動の違いよりも、ずっと大きく感じます。どちらも百回の差ですが、振動が少ない方が、変化の幅を大きく感じるのです。これは、人間の耳が、低い音よりも高い音の変化に敏感であることを示しています。 このように、音の高さの違いは、音波の周波数の違いで決まりますが、私たちの耳は周波数の違いを均等に感じているのではなく、高い音の変化により敏感に反応するのです。この性質は、私たちが音楽を聴いたり、言葉を聞き分けたりする上で、重要な役割を果たしていると考えられます。
アルゴリズム

音声認識の鍵、メル周波数ケプストラム係数

私たちが音を聞き分けられるのは、音の高さ、大きさ、そして音色の三つの要素のおかげです。音の高低は、音の振動の速さ、つまり周波数によって決まります。高い音は速く振動し、低い音はゆっくり振動しています。音の大小は、音の波の大きさ、つまり振幅によって決まります。大きな音は波が大きく、小さな音は波が小さいです。そして音色は、音の波形の違いによって生み出されます。同じ高さ、同じ大きさの音でも、楽器によって異なる音に聞こえるのは、この音色の違いがあるからです。 この音色を捉える有力な方法の一つに、メル周波数ケプストラム係数(略してエムエフシーシー)と呼ばれるものがあります。これは、人間の耳の仕組みを模倣した計算方法で、音の特徴を数値化することができます。人間の耳は、高い音よりも低い音に対して敏感に反応するようにできています。エムエフシーシーは、この人間の耳の特性を考慮に入れて、音の周波数成分を分析します。 具体的には、まず音声を短い時間ごとに区切り、それぞれの区間で周波数分析を行います。そして、人間の耳の感度に合わせた特別な尺度を使って、周波数ごとのエネルギーの分布を計算します。最後に、この分布をさらに変換して、音色を表す特徴的な数値を抽出します。これがエムエフシーシーです。 エムエフシーシーは、まるで音の指紋のようなものです。同じ音であれば、エムエフシーシーも同じような値になります。逆に、異なる音であれば、エムエフシーシーも異なる値になります。この性質を利用することで、音声認識や音声検索、音声合成など、様々な音声処理技術で音声を識別することができます。例えば、音声認識では、入力された音声のエムエフシーシーを計算し、あらかじめ登録されている音声のエムエフシーシーと比較することで、どの音声に一番近いかを判断し、認識を行います。