(57)【要約】情報信号を時間表現から可変スペクトル表現に変換する装置は、情報信号のウインドウ化を行う手段（１０）と、ウインドウ化情報信号をスペクトル表現に変換する手段（１２）と、基本関数係数のセットを供給する手段（１４）が供給した複素基本関数係数のいくつかのセットで情報信号スペクトル係数のセットの重み付けを行う手段（１６）と備える。基本関数係数のセットを、ウインドウ化および変換を行うことにより、各種の周波数の基本関数から導出し、基本関数係数のいくつかのセットを、より高い周波数の基本関数に対するまったく同じ基本関数に対し供給する。ここで、これらのセットを供給するウインドウは、基本関数の各種の時間部分に関係する。可変スペクトル表現は、可変スペクトル係数の可変帯域幅を表し、効率的で正確に計算を行い、音楽分析に特に適している。【選択図】図１
2008502927.tif 000002
【特許請求の範囲】
【請求項１】
可変スペクトル係数と、可変スペクトル係数に対応付けられた周波数値および帯域幅と、可変スペクトル係数の可変な周波数間隔とにより、一連のサンプルとして与えられる情報信号をスペクトル表現に変換する装置であって、
前記情報信号のウインドウ化を行って、時間的長さを有する情報信号のウインドウ化ブロックを得る手段（１０）と、
サンプルのウインドウ化ブロックを、情報信号スペクトル係数のセットを有するスペクトル表現に変換する手段（１２）と、
複素基本関数係数の第１のセット、複素基本関数係数の第２のセットおよび複素基本関数係数の第３のセットを供給する手段（１４）とを備え、
前記第１のセットの基本関数係数が、第１の可変スペクトル係数の第１の周波数値に対応する周波数を有する、第１の基本関数の第１のウインドウ化および変換の結果を表し、
前記第２のセットの基本関数係数が、第２の可変スペクトル係数の第２の周波数値に対応する周波数を有する、第２の基本関数の第２のウインドウ化および変換の結果を表し、
前記第３のセットの基本関数係数が、前記第２の周波数値を有する、前記第２の基本関数の第３のウインドウ化および変換の結果を表し、
前記第１のウインドウ化でのウインドウ（４２）のウインドウ長が、前記第２および前記第３のウインドウ化でのウインドウ（４０、４１）のウインドウ長と異なり、前記第２のウインドウ（４０）および前記第３のウインドウ（４１）のウインドウ位置が、前記第２の基本関数に対して異なる点で、前記第１のウインドウ化、前記第２のウインドウ化および前記第３のウインドウ化が異なり、
前記第１の可変スペクトル係数を計算するために、前記情報信号スペクトル係数のセットを前記基本関数係数の第１のセットで重み付けし、前記情報信号の前記ウインドウ化ブロックの第１の部分に対する第２の可変スペクトル係数を得るために、前記情報信号スペクトル係数のセットを前記基本関数係数の第２のセットで重み付けし、情報信号の前記ウインドウ化ブロックの第１の部分と異なる、前記情報信号の前記ウインドウ化ブロックの第２の部分に対する前記第２の可変スペクトル係数を得るために、前記情報信号スペクトル係数のセットを前記基本関数係数の第３のセットで重み付けする手段（１６）とを備える、装置。
【請求項２】
前記情報信号が音楽情報を有する音声信号で、前記可変スペクトル係数が音符システムの階調である周波数値を有する、請求項１に記載の装置。
【請求項３】
前記重み付け手段（１６）が、前記基本関数係数のセットで行列の乗算を行い、前記情報信号スペクトル係数でベクトルの乗算を行うように形成された、請求項１または請求項２に記載の装置。
【請求項４】
前記ウインドウ化手段（１０）が、音声ウインドウとして矩形ウインドウを用いるように形成された、請求項１ないし請求項３のいずれかに記載の装置。
【請求項５】
前記第１のウインドウ化、前記第２のウインドウ化および前記第３のウインドウ化を行って基本関数係数を求めるウインドウが、矩形ウインドウである、請求項１ないし請求項４のいずれかに記載の装置。
【請求項６】
前記基本関数係数の第２のセットを求めるウインドウのウインドウ長と、前記基本関数係数の第３のセットを求めるウインドウ（４１）のウインドウ長とが等しく、前記基本関数係数の第１のセットを求めるウインドウ（４２）の半分である、請求項１ないし請求項５のいずれかに記載の装置。
【請求項７】
前記供給手段（１４）が、別の基本関数をさらにウインドウ化した結果を表す基本関数係数のセットを供給するように形成され、その数が、低い周波数値の基本関数に対する複数の基本関数係数のセットの２倍である、請求項１ないし請求項６のいずれかに記載の装置。
【請求項８】
前記供給手段（１４）が、前記第１の基本関数の周波数値よりも低い周波数値を有する別の基本関数に対する基本関数係数のセットをさらに供給するように形成され、別の基本関数のウインドウ化を行うウインドウ（４６）が、前記基本関数係数の第１のセットを求めるウインドウ（４２）よりも長く、基本関数係数の第１のセットを求める前記ウインドウ（４２）のウインドウ位置と異なるウインドウ位置を有する、請求項１ないし請求項７のいずれかに記載の装置。
【請求項９】
すべての基本関数が、別のウインドウ（４６）のウインドウ位置に対して所定の比率にある同じ基準位相を有する、請求項８に記載の装置。
【請求項１０】
情報信号のウインドウ化を行う音声ウインドウのウインドウ位置が別のウインドウ（４６）のウインドウ位置と一致し、ウインドウ化手段（１０）が、重複するように情報信号のウインドウ化を行うように形成された、請求項８または９に記載の装置。
【請求項１１】
前記ウインドウ化手段（１０）は、音声ウインドウのウインドウ位置が、前記基本関数係数の第１のセットを求めるウインドウ（４２）のウインドウ位置および前記基本関数係数の第２のセットを求めるウインドウ（４０）のウインドウ位置と一致するように、前記情報信号のウインドウ化を行うように形成された、請求項１ないし請求項１０のいずれかに記載の装置。
【請求項１２】
前記供給手段（１４）は、基本関数係数セット内で、基準を満たす基本関数係数だけを供給し、前記基準の満たさない前記基本関数係数をゼロに設定するように形成された、請求項１ないし請求項１１のいずれかに記載の装置。
【請求項１３】
すべての基本関数係数の全エネルギーの所定の割合を得るのに、やはり前記基準を満たす他の基本関数係数と加算した、前記基準を満たす基本関数係数が必要であるという事実により、前記基準が与えられる、請求項１２に記載の装置。
【請求項１４】
前記供給手段（１４）は、選択の結果として基本関数係数のセットを供給するように形成され、前記選択が、ウインドウ化（６０）および変換（６２）を行うことで得られたすべての基本関数係数の二乗および加算（６３）を含み、前記加算は、さらに、加算した値がウインドウ化（６０）および変換（６２）を行うことにより得られたすべての基本関数係数の加算した値の所定の割合となるまで、最も大きい基本関数係数から開始する二乗基本関数係数の大きさを参照する加算を含む、請求項１ないし請求項１３のいずれかに記載の装置。
【請求項１５】
前記供給手段（１４）が、スケーリング（６５）の結果として基本関数係数のセットを供給するように形成され、ウインドウ化（６０）および変換（６２）を行うことにより得られたすべての基本関数係数に対して加算を行った結果で、所定の基準を満たすすべての基本関数係数に重み付けする、請求項１４に記載の装置。
【請求項１６】
前記基本関数係数の第３のセットを求めるウインドウ（４１）が、前記基本関数係数の第２のセットを求めるウインドウ（４０）の直後にある、請求項１ないし請求項１５のいずれかに記載の装置。
【請求項１７】
前記変換手段（１２）が、情報信号スペクトル係数のセットとして複素スペクトル係数を供給するように形成された、請求項１ないし請求項１６のいずれかに記載の装置。
【請求項１８】
前記変換手段（１２）が、離散フーリエ変換および特に高速フーリエ変換を行うように形成された、請求項１ないし請求項１７のいずれかに記載の装置。
【請求項１９】
前記供給手段（１４）は、前記基本関数係数セットを供給するウインドウがすべて、前記基本関数係数の第１のセットを求めるウインドウ（４２）のウインドウ長の整数比の長さであるように、基本関数係数のセットを供給するように形成された、請求項１ないし請求項１８のいずれかに記載の装置。
【請求項２０】
前記供給手段（１４）は、１２８ミリ秒の時間長を有する、前記第１のウインドウ（４２）によるウインドウ化の結果として前記基本関数係数の第１のセットを供給するように形成され、前記供給手段（１４）は、さらに、６４ミリ秒の長さのウインドウ（４０、４１）によるウインドウ化の結果として、前記基本関数係数の第２のセットおよび前記基本関数係数の第３のセットを供給するように形成された、請求項１ないし請求項１９のいずれかに記載の装置。
【請求項２１】
基本関数係数のセットを供給する装置（１４）であって、
第１の基本関数が第１の周波数値を有し、第２の基本関数が前記第１の周波数値より高い第２の周波数値を有する、第１基本関数および第２の基本関数の時間表現を供給する手段（５９）と、
第３のウインドウ（４１）が第２のウインドウ（４０）よりも時間的に後の第２の基本関数の一部に関係し、第１のウインドウ（４２）により前記第１の基本関数のウインドウ化を行うとともに、前記第２のウインドウ（４０）および前記第３のウインドウ（４１）により前記第２の基本関数のウインドウ化を行う手段（６０）と、
基本関数係数の第１のセットを得るために、前記第１のウインドウ（４２）による前記第１の基本関数のウインドウ化の結果を変換し、基本関数係数の第２のセットを得るために、前記第２のウインドウ（４０）により前記第２の基本関数のウインドウ化の結果を変換し（６２）、基本関数係数の第３のセットを得るために、前記第３のウインドウ（４１）により前記第２の基本関数の第３のウインドウ化の結果のウインドウ化を行う手段（６３）とを備える、装置。
【請求項２２】
所定の基準を満たす基本関数係数のセットから基本関数係数を選択し、前記所定の基準を満たさない基本関数係数をゼロに設定する手段（６３、６４）をさらに備える、請求項２１に記載の装置。
【請求項２３】
前記基本関数係数の全エネルギーを求め、前記基準を満たす前記基本関数係数としてすべての基本関数係数の全エネルギーを所定の割合で得るのに必要な、前記基本関数係数の最も高い値を選択するために、前記選択手段（６３、６４）が、前記基本関数係数を二乗・加算するように形成された、請求項２２に記載の装置。
【請求項２４】
可変スペクトル係数と、可変スペクトル係数に対応付けられた周波数値および帯域幅と、可変スペクトル係数の可変な周波数間隔とにより、一連のサンプルとして与えられる情報信号をスペクトル表現に変換する方法であって、
前記情報信号のウインドウ化（１０）を行って、時間的長さを有する情報信号のウインドウ化ブロックを得るステップと、
サンプルのウインドウ化ブロックを、情報信号スペクトル係数のセットを有するスペクトル表現に変換する（１２）ステップと、
複素基本関数係数の第１のセット、複素基本関数係数の第２のセットおよび複素基本関数係数の第３のセットを供給する（１４）ステップとを含み、
前記第１のセットの基本関数係数が、第１の可変スペクトル係数の第１の周波数値に対応する周波数を有する、第１の基本関数の第１のウインドウ化および変換の結果を表し、
前記第２のセットの基本関数係数が、第２の可変スペクトル係数の第２の周波数値に対応する周波数を有する、第２の基本関数の第２のウインドウ化および変換の結果を表し、
前記第３のセットの基本関数係数が、前記第２の周波数値を有する、前記第２の基本関数の第３のウインドウ化および変換の結果を表し、
前記第１のウインドウ化でのウインドウ（４２）のウインドウ長が、前記第２および前記第３のウインドウ化でのウインドウ（４０、４１）のウインドウ長と異なり、前記第２のウインドウ（４０）および前記第３のウインドウ（４１）のウインドウ位置が、前記第２の基本関数に対して異なる点で、第１のウインドウ化、前記第２のウインドウ化および前記第３のウインドウ化が異なり、
前記第１の可変スペクトル係数を計算するために、前記情報信号スペクトル係数のセットを前記基本関数係数の第１のセットで重み付けし、前記情報信号の前記ウインドウ化ブロックの第１の部分に対する第２の可変スペクトル係数を得るために、前記情報信号スペクトル係数セットを前記基本関数係数の第２のセットで重み付けし、情報信号の前記ウインドウ化ブロックの第１の部分と異なる、前記情報信号の前記ウインドウ化ブロックの第２の部分に対する前記第２の可変スペクトル係数を得るために、前記情報信号スペクトル係数のセットを前記基本関数係数の第３のセットで重み付けする（１６）ステップとを含む、方法。
【請求項２５】
基本関数係数のセットを供給する方法（１４）であって、
第１の基本関数が第１の周波数値を有し、第２の基本関数が前記第１の周波数値より高い第２の周波数値を有する、第１基本関数および第２の基本関数の時間表現を供給する（５９）ステップと、
第３のウインドウ（４１）が第２のウインドウ（４０）よりも時間的に後の第２の基本関数の一部に関係し、第１のウインドウ（４２）により前記第１の基本関数のウインドウ化を行うとともに、前記第２のウインドウ（４０）および前記第３のウインドウ（４１）により前記第２の基本関数のウインドウ化を行う（６０）ステップと、
基本関数係数の第１のセットを得るために、前記第１のウインドウ（４２）による前記第１の基本関数のウインドウ化の結果を変換し、基本関数係数の第２のセットを得るために、前記第２のウインドウ（４０）により前記第２の基本関数のウインドウ化の結果を変換し（６２）、基本関数係数の第３のセットを得るために、前記第３のウインドウ（４１）により前記第２の基本関数の第３のウインドウ化の結果のウインドウ化を行う（６３）ステップとを含む、方法。
【請求項２６】
前記コンピュータプログラムをコンピュータ上で実行する場合には、請求項２４に記載の情報信号を変換する方法または請求項２５に記載の基本関数係数を供給する方法を行うプログラムコードを有する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報信号処理に関し、特に、多声音楽分析または多声音楽トランスクリプションのための音声信号処理に関する。
【背景技術】
【０００２】
音楽表現の多様性と、聴取者の音楽に関する好みの数とは、ここ数年等しく増加している。特に、楽曲を保存してさらに配信することが急速に進歩していることにより、音楽を趣味とする人口が増加している。従って、デジタル記憶装置により、品質を損なうことなく好きなだけ楽曲をコピーすることが可能になった。この最も顕著な例はＣＤであり、ほぼ完全にレコードに取って代わっている。ステレオ音楽表現ばかりでなく、マルチチャネル音楽、すなわち、例えば周知の５．１サラウンドフォーマットも可能なので、近年、ＤＶＤもやはり普及してきている。
【０００３】
以前は、サウンドの品質の向上と、配信方法の向上とに、主に注意が向けられていた。しかし、インターネットとデジタル放送のますますの発展に付随して、人々が利用できる大量の音楽データを事前に選別する新たな需要が起こっている。これに関連して、メタデータの概念、すなわち、音楽データを介してデータを生成することが、新しい局面に達している。記述的データを前もってマニュアルで供給して、対応する楽曲に付加していたが、楽曲の内容を客観的に自動的に分析する手段が開発されている。この分野の標準化方法は、“ＭＰＥＧ７”のキーワードで周知である。
【０００４】
従って、この音楽分析の成果は、効率的な音楽の概要、またはメタデータと楽曲との形成独立的な関連に見ることができる。また、メタデータを自動的に生成する目的は、ユーザの音楽の好みに関連する元々の内容から特徴を抽出する機能にある。例えば、楽曲から抽出した特徴を用いて、入力する音楽を異なる音楽ジャンルに分類する音楽供給システムに学習させることが知られている。
【０００５】
管理しやすく、さらに検索可能なやり方で音楽内容を特定するためには、すなわち、人間とともに機械が読み取って解釈できるデータを供給するためには、音声信号の意味論的に重要な特性に対して基準を設ける必要がある。このような特性は、例えば、楽器の音、楽曲に含まれるメロディ、テンポ、リズム、または楽曲のハーモニーである。これに関連して、特に、音楽の楽節のムードの指標として、その重要性に意味があるので、ハーモニーの特徴はことさら意味がある。聴取者の気分や、不協和音または協和音であるか、長調または短調で作曲されているかにより、楽曲は異なって感じられる。同時に、ハーモニーは、利用できる音楽素材の構造上の多様性のヒントとなる。例えば、速く、変わった和音変化があるとか、音構造に反復特性があるといったことである。
【０００６】
多声音符を全和音に自動的に拡張することは、楽音合成から知られている。最新のシンセサイザやキーボードは、例えば、実時間で演奏を分析したり、ベースの低音の伴奏を生成したりすることにより、演奏者の伴奏を自動的に行うことができる。技術的な不具合により、すべての音符を復元することができないとしても、考察した楽曲に最終的に属和音を求めるために、このようなシンセサイザまたはキーボードに用いられる規則を、多声音楽から復元した音符に適用することもできる。
【０００７】
従って、１つの目的は、時間領域に存在する波形により、考察した楽曲から個々の音符を抽出するために、楽譜にまたはＭＩＤＩファイルとしては存在しないが、形式またはその生演奏の音響的／電気的な波形で存在する楽曲を分析することである。この目的は、多声音楽のメロディトランスクリプションにある。すなわち、音楽の時間領域表現から完全な楽譜を最終的に生成することである。例えばＣＤに保存されたもの、または、例えば圧縮／符号化してＭＰ３ファイルに存在するものといった、一連のサンプルを最終的に生成する。
【０００８】
楽曲は、時間領域の波形として与えられていないが、一連の音符または和音として、すなわち、ここでは周波数範囲基準である音符のラインを用いて、周波数スケールに記述されているいくつかの同時に起こる音符として与えられているので、楽曲の楽譜は、ある意味では、周波数領域表現として考えることもできる。
【０００９】
しかしながら、そのシンボルにより、音符は長くまたは短く演奏されるという点で、同時に、楽譜はまた、時間情報を含んでいる。従って、振幅情報が与えられているとしても、楽譜では、純粋な周波数領域表現、すなわち、特定の周波数での振幅表現にあまり重きを置いていない。しかしながら、この情報は固有のものではなく、楽曲の一部分を、すなわち、楽譜のいくつかの小節または音符を、例えば、大きく（フォルテで）または静かに（ピアノで）演奏するかどうかという一般的な情報である。
【００１０】
クラシック音楽では特にそうであるが、現代音楽においても、パーカッション部分は別として、すべての音符／音は、所定の音符ラスタに存在すると考えることができる。従って、正確に演奏された楽曲には、すべての周波数ではなく、楽譜の範囲内の周波数だけが存在することができる。西洋音楽の音階では、１つのオクターブを１２の階調に分割する。しかしながら、これらの１２の階調を、周波数に対して一定の間隔で配列しない。その代わり、平均律ムードでは、ヨハン・セバスチャン・バッハ（Ｊｏｈａｎｎ  Ｓｅｂａｓｔｉａｎ  Ｂａｃｈ）の“平均律クラヴィーア（Ｗｅｌｌ−Ｔｅｍｐｅｒｅｄ  Ｃｌａｖｉｅｒ）”で周知のように、“品質”または“Ｑ係数”が各音に対して一定になるように、例えば、音のシーケンスを用いる。このことは、この周波数値に対応付けられた帯域幅で分割した周波数値が、各音に対して一定であることを意味している。低周波数の音の帯域幅は小さく、高周波数の音の帯域幅は大きい。
【００１１】
この“幾何学的”音符分類の一例を、図２の左の列に示す。図２に示す例では４６Ｈｚと任意に仮定している、ある最小周波数から開始する計算規則を、図２の左上に示す。４６．０Ｈｚの音と４８．７４Ｈｚの音との間の間隔は２．７４Ｈｚで、これは、９２．０Ｈｚの音と８６．８４Ｈｚの音との間の間隔である５．１６Ｈｚよりも小さいことがわかる。
【００１２】
従って、図２の左半分に分類されている可変スペクトル係数とも呼ぶこれらのスペクトル係数は、図２の右半分に示されているいわゆる一定のスペクトル係数とは異なる。
【００１３】
定スペクトル係数では、下端のスペクトルでの２つのスペクトル係数の間隔は、上端のスペクトルまで常に同じである。説明のためであるが、図２の１２の音を、図２の左側に平均律構成で示し、右側の列に周波数２．７４Ｈｚの間隔の一定の構成を示す。左側の列では、各可変スペクトル係数の品質が等しくなるように、周波数間隔が大きくなっているが、右側の列では、周波数の間隔が全く同じであるため、周波数値が増加していることによって、周波数の増加とともに定スペクトル係数それぞれの品質が大きくなっている。
【００１４】
上述の説明から、たとえばフーリエ変換により生成される定スペクトル係数は、少なくとも西洋音楽では一定であることが明らかである。
【００１５】
しかし、楽曲からトランスクリプションを生成することになるので、ハーモニー分析の第１の工程として、フーリエ変換ではなく、いわゆる定Ｑ変換が用いられることがよくある。すなわち、各可変スペクトル係数の品質が全く同じであることを考慮に入れた変換である。このことにより、図２の右側に示すような一定の周波数ラスタではない周波数ラスタを生成すると考えられる変換であって、この変換により、図２の左側に示すような可変周波数ラスタを生成するという事実が導かれる。換言すれば、可変変換は、図２の左側に示すような周波数ラスタを、例えば、圧倒的多数のクラシック楽曲およびポピュラー楽曲の基礎を形成する平均律音階に対して適応させると考えられる。
【００１６】
技術刊行物である“定Ｑスペクトル変換の計算（Ｃａｌｃｕｌａｔｉｏｎ  ｏｆ  ａ  Ｃｏｎｓｔａｎｔ  Ｑ  Ｓｐｅｃｔｒａｌ  Ｔｒａｎｓｆｏｒｍ）”、（ジュディス．Ｃ．ブラウン（Ｊｕｄｉｔｈ．Ｃ．Ｂｒｏｗｎ）米国音響学会ジャーナル、１９９１年１月、８９（１）巻、４２５〜４３２頁）には、時間周波数変換が記載されている。これは、西洋音楽の音階が幾何学的スペクトル係数間隔に基づいていることを考慮に入れている。このような定Ｑ変換を、対数を周波数軸として、フーリエ変換から導出することもできる。周波数領域内のこの“パターン”は、調和した周波数成分を有するすべての音楽信号に対して同じである。しかし、比較的固定した位置にもかかわらず、成分の振幅において異なる形で現われる。これらの振幅差が、たとえば音にその音色等を与えている。
【００１７】
周波数軸を対数的に示す場合は、定スペクトル係数を可変スペクトル係数に対してマッピングすると、低周波数の情報が少なすぎ、高周波数の情報が多すぎてしまうことになる。離散短時間フーリエ変換により、周波数ビン毎に一定の分解能を与える。これは、時間ウインドウサイズに逆比例する。このことは、毎秒３２，０００サンプルのサンプリングレートで１，０２４サンプルのウインドウが、３１．３Ｈｚの分解能を有することを意味している。例えば、バイオリンの下端では、すなわち、１９６Ｈｚの周波数Ｇ３では、この分解能は周波数の１６％である。これは、２つの隣接する音符の６％の周波数分離よりもずっと大きく、同じムードに同調する。ピアノの上端では、周波数Ｃ８は４１８６Ｈｚであり、３１．３ＨｚのＦＦＴ分解能により、センター周波数の０．７％の分解能の値になる。従って、周波数範囲のこの点で、ＦＦＴではあまりにも多すぎる数の周波数係数を計算することになる。数学的に、定Ｑ変換は以下のように表される。
【００１８】
【数１】
2008502927.tif 000003
【００１９】
この式では、ｘ［ｎ］は、分析するデジタル時間関数の第ｎ番目のサンプルである。デジタル周波数は、２πｋ／Ｎである。サンプル期間はＮ／ｋ、分析サイクル数はｋに等しい。ここで、Ｗ［ｎ］は、ウインドウ形状を表している。ウインドウ関数は、各成分に対して同じ形状である。しかしながら、その長さはＮ［ｋ］から求められるので、ｋおよびｎの関数である。
【００２０】
技術刊行物である“定Ｑ変換を計算するための効率的なアルゴリズム（Ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｔｈｅ  Ｃａｌｃｕｌａｔｉｏｎ  ｏｆ  ａ  Ｃｏｎｓｔａｎｔ  Ｑ  Ｔｒａｎｓｆｏｒｍ）”（ジュディス．Ｃ．ブラウンら、１９９２年１１月、米国音響学会ジャーナル、９２（５）巻、２６９８〜２７０１頁）には、前述の変換を計算する効率的なアルゴリズムが記載されている。まずはじめに、離散フーリエ変換を計算して、次に、これを定Ｑ変換に変換する。Ｑは、帯域幅に対する中心周波数の比である。このために、いわゆるカーネルを計算して、次に、これを各連続ＤＦＴに適用する。従って、乗算を数回行って、定Ｑ変換の各成分を計算することができる。スペクトルカーネルは、時間カーネルの離散フーリエ変換である。時間カーネルは、次の式から得られる。
【００２１】
【数２】
2008502927.tif 000004
【００２２】
【数３】
2008502927.tif 000005
【００２３】
ウインドウｗ［ｎ、ｋ］として、次の定義に基づくハミングウインドウを用いる。
【００２４】
【数４】
2008502927.tif 000006
【００２５】
この式では、αは２５／４６に等しい。
【００２６】
Ｆ．Ｊ．ハリス（Ｈａｒｒｉｓ）、“任意スペクトルセンターおよび任意スペクトル分解能での高分解能スペクトル分析（Ｈｉｇｈ−Ｒｅｓｏｌｕｔｉｏｎ  Ｓｐｅｃｔｒａｌ  Ａｎａｌｙｓｉｓ  ｗｉｔｈ  Ａｒｂｉｔｒａｒｙ  Ｓｐｅｃｔｒａｌ  Ｃｅｎｔｅｒｓ  ａｎｄ  Ａｒｂｉｔｒａｒｙ  Ｓｐｅｃｔｒａｌ  Ｒｅｓｏｌｕｔｉｏｎｓ）”、”コンピュータ電子工学（Ｃｏｍｐｕｔ．Ｅｌｅｃｔｒ．Ｅｎｇ．）３巻”、１９７６年、１７１〜１９１頁）では、有界Ｑ値を使った変換が用いられており、やはり、音楽分析を行うことができる。ここで、まずはじめに、一番上のオクターブを除いて、周波数値をもう一度破棄するために、高速変換を計算する。次に、最終的に、前と同じ量の点でさらにＦＦＴを計算するために、これを濾波して、係数２でダウンサンプルを行うことにより、前の分解能の２倍になる。この結果、やはり２番目に高いオクターブだけを保持する。次に、最も低いオクターブになるまで、この手順を繰り返す。この方法の利点は、ＦＦＴの効率を維持していることと、可変周波数および可変時間分解能が同時に得られることなので、周波数とともに時間に対して、取得した情報を最適化することができる。
【００２７】
【非特許文献１】“定Ｑスペクトル変換の計算（Ｃａｌｃｕｌａｔｉｏｎ  ｏｆ  ａ  Ｃｏｎｓｔａｎｔ  Ｑ  Ｓｐｅｃｔｒａｌ  Ｔｒａｎｓｆｏｒｍ）”、（ジュディス．Ｃ．ブラウン（Ｊｕｄｉｔｈ．Ｃ．Ｂｒｏｗｎ）米国音響学会ジャーナル、１９９１年１月、８９（１）巻、４２５〜４３２頁）
【非特許文献２】“定Ｑ変換を計算するための効率的なアルゴリズム（Ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｔｈｅ  Ｃａｌｃｕｌａｔｉｏｎ  ｏｆ  ａ  Ｃｏｎｓｔａｎｔ  Ｑ  Ｔｒａｎｓｆｏｒｍ）”（ジュディス．Ｃ．ブラウンら、１９９２年１１月、米国音響学会ジャーナル、９２（５）巻、２６９８〜２７０１頁）
【非特許文献３】Ｆ．Ｊ．ハリス（Ｈａｒｒｉｓ）、“任意スペクトルセンターおよび任意スペクトル分解能での高分解能スペクトル分析（Ｈｉｇｈ−Ｒｅｓｏｌｕｔｉｏｎ  Ｓｐｅｃｔｒａｌ  Ａｎａｌｙｓｉｓ  ｗｉｔｈ  Ａｒｂｉｔｒａｒｙ  Ｓｐｅｃｔｒａｌ  Ｃｅｎｔｅｒｓ  ａｎｄ  Ａｒｂｉｔｒａｒｙ  Ｓｐｅｃｔｒａｌ  Ｒｅｓｏｌｕｔｉｏｎｓ）”、”コンピュータ電子工学（Ｃｏｍｐｕｔ．Ｅｌｅｃｔｒ．Ｅｎｇ．）３巻”、１９７６年、１７１〜１９１頁）
【発明の開示】
【発明が解決しようとする課題】
【００２８】
この概念の欠点は、大きな音のスペースを計算する場合は、大量のフーリエ変換を計算しなければならないことであって、フーリエ変換毎にウインドウ化（フィルタリング）を改めて行う必要があり、同時に、ダウンサンプリングを行う必要がある。このことは、最も低いオクターブには非常に多くの数の時間サンプルが必要で、一番上のオクターブにはほとんど時間サンプルを必要としないことを意味することになる。従って、完全な分析を計算したい場合は、いわゆる全ピラミッドの一番上のオクターブに対する全ての（小さい）数のサンプルを計算する必要がある。この方法では、各ＦＦＴの結果のほとんどをさらに“無駄に”して、時間“ピラミッド”において、低いオクターブに対してかなり多くの数の重複を必要とするので、実際には効率的なＦＦＴを用いるにもかかわらず、この方法は非常に集約的なものである。換言すれば、各オクターブに対してそれ自体のＦＦＴを計算して、完全なスペクトルを得る必要がある。すなわち、例えば、８ミリ秒毎または１６ミリ秒毎に時間信号を完全に分析したい場合は、例えば、６オクターブを計算する場合は、１２８ミリ秒の楽曲の抜粋に対してＦＦＴを９６（！）回も行う必要がある。
【００２９】
本発明の目的は、可変スペクトル係数を用いて、音声信号をスペクトル表現に変換するより効率的な概念を提供することである。
【課題を解決するための手段】
【００３０】
この目的は、請求項１に記載の変換装置、請求項２４に記載の変換方法、請求項２１に記載の供給装置、請求項２５に記載の生成方法、または請求項２６に記載のコンピュータプログラムにより達成される。
【発明の効果】
【００３１】
本発明は、可変スペクトル係数によりスペクトル表現に変換することについて、音楽信号と、可変スペクトル係数が存在する求められた周波数ラスタとの相関として理解可能であるという知見に基づいている。信号と周波数ラスタとの相関については、音声信号にどのくらいの割合で含まれているか求めることとして理解可能であり、可変スペクトル係数に対応付けられた周波数帯域に含まれるものである。基本関数の例として、音声信号と正弦音との相関により、基本音の周波数での音声信号の内容を生成する。従って、音声信号と基本関数との相関により、可変スペクトル表現への変換を得ることができる。各基本関数は、可変スペクトル表現内の可変スペクトル係数の時間表現である。この相関を畳み込みとして理解する場合は、この相関を基本関数毎の音声信号畳み込みとして理解できる。
【００３２】
しかしながら、本発明によれば、この計算を時間領域で行わないで、周波数領域で行う。このために、まずはじめに、音声信号自体をウインドウ化して、音声信号のウインドウ化ブロックを得る。音声信号のウインドウ化ブロックは、所定の時間長を有している。これに続いて、サンプルのウインドウ化ブロックを、スペクトル係数のセットを含むスペクトル表現に変換する。これは好ましくは、例えば、計算効率の良いＦＦＴを用いて得たような、定スペクトル係数である。音声信号のこのような１つの計算したＦＦＴスペクトルは、異なる周波数値を有する基本関数との相関による。例えば、４６．０Ｈｚおよび４８．７４Ｈｚのスペクトル係数で可変スペクトル係数を求める場合は、一方の基本関数は４６．０Ｈｚの正弦関数で、もう一方の基本関数は４８．７４Ｈｚの正弦関数である。２つの基本関数は、互いに定義済みの位相で、そして、好ましくは同じ位相で開始する。次に、帯域幅を最終的な可変スペクトル表現に含まれる可変スペクトル係数に設定することにより、基本関数を変換するウインドウ長で、２つの基本関数をウインドウ化して変換する。基本関数から得た基本関数スペクトル係数は、基本関数係数のセットとも呼ばれる。相関のための時間領域での畳み込みを、周波数領域で、ＦＦＴスペクトルに基本関数係数を単に乗算することにより行う。基本関数係数による乗算の最後には、基本関数の周波数値から与えられる、得られる可変スペクトル係数の周波数値により、基本関数の周波数での音声信号にどの程度信号エネルギーが含まれているかを示す振幅値となる。
【００３３】
すでに述べたように、基本関数係数を得るために、基本関数をウインドウ化するウインドウが、可変スペクトル係数の帯域幅を設定する。大きい可変周波数値に対して、すなわち、高い音楽音に対して、もはや帯域幅を低い音と同じにする必要はない。この理由から、短いウインドウでウインドウ化し、次に高い音に対する基本関数係数を得るために変換した基本関数から、高い音に対する基本関数係数のセットを得る。次に、基本関数係数のセットを用いて、元々のＦＦＴスペクトルの重み付けを行うことにより、この高い音に対する可変スペクトル係数を再び得る。
【００３４】
本発明によれば、高い音に対しては、周波数が高い基本関数のウインドウが、周波数が低い基本関数のウインドウ化を行うウインドウよりも短いという事実を有利に利用することができる。（第１の基本関数よりも高い音を表す）第２の基本関数をウインドウ化したウインドウの後でウインドウ化を行うことは、音声信号の時間的に後の部分に対する分析である。このために、はじめに第２の基本関数をウインドウ化したウインドウよりも時間的に後にあるウインドウで、（高い音に対する）同じ第２の基本関数のウインドウ化を行う。次に、求めた周波数での音声信号の内容を含む、すなわち、音声信号で以前に計算した領域に時間的に続き、計算した可変スペクトル係数と同じ周波数を有する可変スペクトル係数を得るために、次に、同じフーリエスペクトルを用いて、このように得られた基本関数係数の重み付けを行う。本発明によれば、このことは、基本関数をウインドウ化して変換することにより発展させる複素基本関数係数を基本関数係数として用いることにより達成される。従って、元々計算した音声信号スペクトルが好ましくは複素スペクトルである、ウインドウ内の音声信号領域を考慮に入れることができるようになる。
【００３５】
本発明の好適な実施の形態では、高い音の基本関数のウインドウ化を行うウインドウ長に対する整数の倍数に基づいて、低い周波数値に対する基本関数係数を求めるウインドウのウインドウ長を選択する。好ましくは、整数の倍数は、２の倍数である。これにより、すべての基本関数係数のセットを効率的に行列に分類することができるので、定スペクトル表現を可変スペクトル表現に変換することを、非常に効率的に行うことができる単純な行列ベクトル乗算としておこなうことができる。ここで、ベクトルが音声信号の定スペクトル変換の結果となり、行列は各行に基本関数係数のセットを含んでいる。
【００３６】
特に、この点について、理想的な場合は、すなわち求める音の周波数で、基本関数係数のセットは１つの基本関数係数しかないので、行列は非常にまばらな行列であることを指摘しておく。しかし、典型的には、基本関数のウインドウ化を行うウインドウは、可変スペクトル係数の周波数値を正確に分解するような分解能ではない。また、基本関数のウインドウ化を位相が正確になるようには行わないので、基本関数が特定の位相でウインドウに入力し、特定の位相で基本関数のウインドウ化を行うウインドウから出力するという事実に起因するスペクトルラインをさらに生成する。さらに、好ましくは、他のウインドウによる重み付けを全く行わないので、数値的に非常に効率的な矩形ウインドウ化を行うことにより、アーティファクトを生成するが、基本関数の周波数での実際のスペクトルラインの隣にさらにスペクトルラインを生成することになる。
【００３７】
実施により、基本関数係数を直接計算することができる。しかしながら、好ましくは、基本関数係数をオフラインで計算する。すなわち、基本関数ウインドウのある時間長またはあるサンプリングレートで、これを行列に保存する。次に、可変スペクトル表現を計算する際に、または定スペクトル表現を可変スペクトル表現に“変換”する際に、この重み付け行列を、プロセッサのワーキングメモリにファイル化することもできる。
【００３８】
好適な実施の形態では、基本関数係数のセットの中の基本関数係数の数は限定されている。ここで、用いる基本関数係数が基本関数のウインドウ化を行うウインドウに含まれる全エネルギーのある百分率である定スペクトルの重み付けを行う際に、多くの数の基本関数係数を用いることは好ましい。この百分率が１００％に近い高さに設定されている場合は、スペクトル分析はより正確になる。しかし、この百分率が１００％とかけ離れて設定されている場合は、重み付けを行うのに必要な基本関数係数の数が低減するので、これ自体、より効率的で高速の重み付けを示す。従って、基本関数係数の行列は本質的にまばらな行列であり、百分率をさらに１００％とかけ離れるように設定することにより、このまばらな行列をさらに“間引く”こともできるので、好ましくは、非常にまばらな行列を処理する特定のアルゴリズムを用いて、非常に効率的な計算を行うことができる。好適な値の１つは、重み付けにともに用いる基本関数係数が、基本関数のウインドウ化を行う全ウインドウに含まれるエネルギーの９０％を含む値である。
【００３９】
添付の図面を参照して、本発明の好適な実施の形態について、以下により詳細に説明する。
【発明を実施するための最良の形態】
【００４０】
図１は、可変スペクトル係数を用いて、一連のサンプルとして与えられる音声信号をスペクトル表現に変換する装置の好適な実施の形態を示す。ここで、周波数値および帯域幅は、それぞれ可変スペクトル係数に対応付けられていて、可変スペクトル係数の帯域幅は可変であって、可変スペクトル係数の周波数値の間隔は可変である。図１の本発明の装置は、時間的に所定の長さの音声信号のウインドウ化ブロックを得るために、音声ウインドウ関数を用いて音声信号のウインドウ化を行う手段１０を含んでいる。好ましくは、ウインドウによって決まる周波数分解能が大きいので、十分な分解能でスペクトル内の最も低い音が得られるように、時間に関するウインドウが十分長いという事実により、時間的に所定の長さが求められる。前述のように、音楽分析に必要な分解能は、中心周波数の６％である。従って、２つの音を分解可能にするためには、可変スペクトル表現で求めた最も低い周波数の約３％に等しい周波数分解能が得られる程度に長いウインドウ長が必要である。求めた最も低い音が４６．０Ｈｚである場合は、１．３８Ｈｚの分解能が得られる程度の長いウインドウが必要である。しかし、このように低い音は滅多に発生しないので、これらの非常に低い音に対して、ここでは、小さな分解能誤差は重大なものではなく、２５６ミリ秒の時間ウインドウ長で十分で、これは、１．９５Ｈｚの周波数分解能に対応する。
【００４１】
複素スペクトル係数のセットを有するスペクトル表現にウインドウ化ブロックを変換する手段１２に、サンプルのウインドウ化ブロックを供給する。ここで、効率性の理由から、複素定スペクトル係数のセットを供給する変換規則が好ましく、これらの定スペクトル係数の周波数値は、一定の帯域幅および／または一定の周波数間隔を有している。
【００４２】
本発明の装置はさらに、基本関数係数のセットを供給する手段１４を含む。好ましくは、行列をファイル化したルックアップテーブルとして手段１４を構成する。ここで、ルックアップテーブルの行／列位置により、行列係数を参照することができる。特に、供給手段１４を、少なくとも基本関数係数の第１のセットと、基本関数係数の第２のセットと、基本関数係数の第３のセットとを供給するように構成する。ここで、本発明による基本関数係数は、複素基本関数係数である。特に、基本関数係数の第１のセットは、第１のウインドウ化の結果および第１の基本関数の第１の変換を表す。第１の基本関数は、第１の可変スペクトル係数の第１の周波数値に対応する周波数を有している。図４を参照して後述するように、第１の基本関数を、例えば、周波数１３１Ｈｚの正弦関数とすることもできる。
【００４３】
基本関数係数の第２のセットの基本関数係数は、第２のウインドウ化の結果および第２の基本関数の第２の変換である。やはり図４を参照すると、第２の基本関数は、例えば、周波数２７７Ｈｚの正弦関数である。
【００４４】
次に、基本関数係数の第３のセットは、第３のウインドウ化の結果および第２の基本関数の変換を表す。すなわち、例えば、基本関数は周波数２７７Ｈｚの正弦信号である。
【００４５】
第２のウインドウ化と第３のウインドウ化のウインドウ長と比較して、第１のウインドウ化のウインドウ長が異なるという点で、第１のウインドウ化、第２のウインドウ化、および第３のウインドウ化は相違する。ここで、図４に示す例では、好ましくは、第１の基本関数をウインドウ化するウインドウ長は、第２の基本関数をウインドウ化するウインドウ長の２倍である。一般的に言って、第１のウインドウ化を行うウインドウは、第２のウインドウ化または第３のウインドウ化を行うウインドウよりも長い。
【００４６】
本発明によれば、第２および第３のウインドウ化を行う際のウインドウのウインドウ位置も、やはり互いに異なるので、第３のウインドウは、第２の基本関数のウインドウ化を行う第２のウインドウに比べて、第２の基本関数の時間的に後の部分を供給する。従って、図４に示す実施の形態では、時間軸４３の方向が図４で左から右の方向である場合は、右側の長方形４１が第３のウインドウとなり、左側の長方形４０が第２のウインドウとなり、第１のウインドウ４２が第２のウインドウ４０および第３のウインドウ４１と同じウインドウ長を有する。
【００４７】
図１に示すように、本発明の装置はさらに、手段１２から出力した複素スペクトル係数のセットの重み付けを行う手段１６を含んでいる。ここで、第１の可変スペクトル係数を計算するために、基本関数係数の第１のセットを用い、音声ウインドウの第１の部分に対して第２の可変スペクトル係数を得るために、基本関数係数の第２のセットを用いて複素スペクトルの重み付けを行い、元々の音声ウインドウの第２の部分に対して第２の可変スペクトル係数を計算するために、基本関数係数の第３のセットを用いて音声スペクトルの重み付けを行う。
【００４８】
音声スペクトルが好ましくは複素スペクトルであるという事実、すなわち、スペクトル値の位相情報を含むという事実と、基本関数係数が、基本関数係数を計算するウインドウ内の基本関数の位相情報を含む複素係数であるという事実とにより、本発明により、第１の可変スペクトル係数より高い時間分解能で第２の可変スペクトル係数を計算し、あるいは、まったく同じ複素音声スペクトルを用いて、最も低い可変スペクトル係数に対して第１の（低い）時間分解能を得て、同一の音声スペクトルに基づいて、第２の可変スペクトル係数に対して、時間に連続する２つの可変スペクトル係数を得る。従って、第２の時間（高い）分解能で第２の可変スペクトル係数が得られる。
【００４９】
また、第２の基本関数のウインドウ化を行う第３のウインドウと、第２の基本関数のウインドウ化を行う第２のウインドウとが短いという事実により、すなわち第１の基本関数のウインドウ化を行う第１のウインドウよりもウインドウ長が短いという事実により、第２の可変スペクトル係数の帯域幅が、時間的に早い時点と遅い時点の両方で、第１の可変スペクトル係数に対応付けられた帯域幅よりも低いので、第２および第１の可変スペクトル係数が可変ウインドウ分解能を有することになる。
【００５０】
続いて、図３を参照して、基本関数係数のセットを計算する手順について説明する。図３の一番上の図において、例えば、周波数１３１Ｈｚの正弦関数である第１の描かれていない基本関数があり、従って、図４に示す実施の形態の複数の群の音（周波数値）の第２の群の最も低い音を表す。例えば、基準点３０で位相０などのような所定の位相から開始し、図３の一番上の図のｔ軸に沿って延びている。この第１の基本関数を第１の基本関数ウインドウを用いてウインドウ化するので、ウインドウ始点３０からウインドウ終点３１まで、（位相的に正確に）第１の基本関数を抽出する。この抽出の変換に続いて、好ましくはＦＦＴ、または一般的には複素スペクトル値を供給する変換により、基本関数係数の第１のセットが得られる。
【００５１】
また、図の中程で、図３は第２の基本関数（図示せず）を示す。これは、例えば、図４に示す実施例を考える場合では、周波数２７７Ｈｚの正弦関数である。第２の基本関数はまた、好ましくは位相０、または一般的に第１の基本関数に対する所定の位相の関係にある開始点３０から開始して、任意の長さの時間軸ｔに沿って延びている。第２のウインドウ位置から開始して第３のウインドウ位置、すなわち、点３３で終わる第２の基本関数ウインドウを用いて、第２の基本関数のウインドウ化を行うことにより、２つの基本関数が第３のウインドウ位置３３を通過する位相位置を考慮に入れた、複素基本関数係数の第２のセットを供給する。第３の基本関数ウインドウは、時刻３３から開始するか、ウインドウの開始をウインドウ位置とする場合は、第３のウインドウ位置で示される。しかしながら、ウインドウ位置としては、任意の所定の点、例えば、ウインドウの中間またはウインドウの終わりに設定することもできる。好ましくは、第２の基本関数ウインドウの直後に第３の基本関数ウインドウを配置し、入力側において、ほとんど確実に０にならない位相位置で第２の基本関数を得る。ここで、第２の基本関数はさらに、ある位相で第３の基本関数ウインドウの終わり３４を通過する。複素スペクトルに変換することにより、基本関数係数の第３のセットを得る。ここで、第３の基本関数ウインドウに入／出力する第２の基本関数の位相情報は、基本関数係数の第３のセットの位相に含まれている。
【００５２】
図３に、第ｎ番目の基本関数の別の場合について下部に示す。再び図４を参照すると、例えば、第ｎ番目の基本関数を、５５４Ｈｚの基本関数とすることができる。これは、好ましくは開始点３０から開始して、第１の基本関数および第２の基本関数の開始点と協調して、位相０または所定の位相で開始して、図３の時間軸に沿って延びている。第ｋ番目の基本関数係数セットを生成するために、第１のウインドウ３５ａにより、第ｎ番目の基本関数の第１の抽出を行う。それに対応して、ウインドウ３５ｂにより基本関数の次の部分を供給し、ウインドウ３５ｃにより基本関数の次の部分を供給し、ウインドウ３５ｄにより、第ｎ番目の基本関数の次の抽出を行う。特に、図３の中程および下部に示す基本関数は、ウインドウ開始毎、またはウインドウ位置毎に改めて開始しないが、すべての基本関数でそろえられている開始位置３０で開始して、時間軸に沿って延びており、正弦関数等の関数規則により、ウインドウが終わっているか、そうでないのかという事実とは無関係であることを指摘しておく。
【００５３】
第２の基本関数ウインドウの長さと、第３の基本関数ウインドウの長さとはそれぞれ同じなので、第２の基本関数ウインドウおよび第３の基本関数ウインドウにより、第２および第３のセットの基本関数係数が供給される。これらは、同じスペクトル分解能を有しているが、基本関数係数の第１のセットの分解能よりも小さく、例えば、図３のウインドウ３５ａにより第ｎ番目の基本関数のウインドウ化を行うことにより得られる、第ｋ番目の基本関数係数のセットの分解能よりも大きい。この理由から、これらの各種の基本関数係数のセットのスペクトルの重み付けを行うことにより得られる可変スペクトル係数が、基本関数のウインドウ化を行うウインドウに対応する分解能を有している。従って、本発明によれば、分解能を、元々のＦＦＴの分解能から求めないで、基本関数ウインドウの分解能から求める。音声信号のウインドウ化ブロックを変換するＦＦＴが、最大スペクトル分解能を設定するだけである。基本関数ウインドウが音声ウインドウよりも短い場合は、基本関数ウインドウにより、周波数分解能が設定される。従って、この点について、音声ウインドウと同じあるいはそれ以下の長さのすべての基本関数ウインドウを選択することは好ましい。
【００５４】
続いて、図４を参照して、音楽分析を行う本発明の好適な実施の形態について説明する。左側の列４３に、図４に示す実施の形態により分析することができる、全体で８８の階調を示している。図４の第２の列４４に示すように、階調は可変スペクトル係数の周波数値を表し、７．３オクターブの周波数範囲をカバーし、Ｈｚで示すと、４６Ｈｚから７０４０Ｈｚの周波数範囲で表される。図４の真ん中の列４５に、基本関数ウインドウの位置／長さを示す。図３の基本関数ウインドウとは異なり、図４では第０番目の基本関数ウインドウ４６についても示している。ここで、０ミリ秒で開始するそのウインドウが、第１の基本関数ウインドウ４２のウインドウのはじめと協調しないように配置されており、第１の基本関数ウインドウは、ウインドウのはじめまたは６４ミリ秒のウインドウ位置を有している。さらに、第０番目の基本関数のウインドウの終わりが第１の基本関数ウインドウ４２のウインドウの終わりと全く同じではなく、これより６４ミリ秒長くなっている。
【００５５】
好ましくは、すべての基本関数、すなわち、４６Ｈｚから７０４０Ｈｚの周波数の正弦関数が、図４に示す実施の形態では０ミリ秒に設定されている、基本関数に対してまったく同じ基準点における位相０から開始する。しかしながら、図４に示すように、第０番目の基本関数ウインドウおよび第１の基本関数ウインドウ４２のウインドウのはじめは、全く同じではない。その代わり、第１の基本関数ウインドウ４２、第２の基本関数ウインドウ４０、第３の基本関数ウインドウ４６、第８番目の基本関数ウインドウとともに第１６番目の基本関数ウインドウ４８は、実際に同じウインドウ位置から開始しているが、第０番目の基本関数ウインドウよりも６４ミリ秒遅くなっている。このことは、すべて０ミリ秒の点の基準位相から開始する、求めるすべての可変スペクトル係数の基本関数が、任意の位相でウインドウ４２、４０、４６、４７、４８に入力するが、複素基本関数係数がこの位相をカバーし、ウインドウ化および変換により、基本関数係数となることを示している。
【００５６】
従って、好ましくは、第０番目の基本関数ウインドウが音声ウインドウと一致するので、第１の１８階調を表す４６Ｈｚ〜１２４Ｈｚの周波数に対する可変スペクトル係数が、０ミリ秒〜２５６ミリ秒の音声信号の時間領域の代理となる。１３１Ｈｚ〜２６２Ｈｚの周波数値に対する可変スペクトル係数は、６４ミリ秒〜１９２ミリ秒の音声信号の範囲を参照する。
【００５７】
第２の基本関数ウインドウ４０および第３の基本関数ウインドウ４１が、第１の基本関数ウインドウ４０の半分しかないという事実により、６４ミリ秒〜１２８ミリ秒の時間部分に対する１つの可変スペクトル係数とともに１２８ミリ秒〜１９２ミリ秒の抽出に対する第２のスペクトル係数が、周波数２７７〜５２３の各周波数となる。
【００５８】
周波数値５５４Ｈｚ〜１０４６Ｈｚの可変スペクトル係数それぞれに対して、やはりそれぞれ４つの可変スペクトル係数が生じ、例えば、周波数５５４Ｈｚに対する第１の可変スペクトル係数は、６４ミリ秒〜９６ミリ秒の間の音声信号部分を参照する。次のウインドウ４９に戻る第２の可変スペクトル係数は、元々の音声信号の９６ミリ秒〜１２８ミリ秒の間の抽出を参照する。さらに、例えば、周波数値１１０８Ｈｚに対する可変スペクトル係数は、同様に、対応する後の抽出となる。
【００５９】
例えば、２２１６Ｈｚ〜７０４０Ｈｚの周波数をカバーする一番上の２１の階調の一群では、それぞれウインドウ長８ミリ秒のウインドウを採用することが好ましいので、１６個の短いウインドウ４８が、長い第１の基本関数ウインドウ４２に対応する。
【００６０】
図４に概略で示すように、ウインドウ配列により得られる基本関数係数を、図５を参照して説明するように、好ましくは行列で保存することを指摘しておく。次に、図１の手段１６が行う重み付けは、好ましくは第０番目の基本関数ウインドウにより音声信号のウインドウ化を行うことにより得られる、複素スペクトルの単純な行列乗算となる。係数行列、すなわち、基本関数係数のセットを保存する行列における単純な行列乗算は、非常にまばらになっている。本発明によれば、音声信号を１回変換して、行列ベクトル乗算を１回行うことにより、音声信号の可変スペクトル表現が得られる。これにより、８ミリ秒の時間部分毎に、すなわち、最も短いウインドウ４８の長さ毎に、完全なスペクトル情報が供給される。従って、４６Ｈｚ〜２６２Ｈｚの最も低い２つの階調群に対する可変スペクトル係数は実際に、長さ８ミリ秒の１６個のスペクトルすべてについて全く同じになる。しかし、２２１６〜７０４０Ｈｚの周波数については、８ミリ秒毎に新規のスペクトルとなる。
【００６１】
換言すれば、別のウインドウよりも長い基本関数ウインドウに戻る可変スペクトル係数を、短い基本関数ウインドウにより得られるスペクトルに対して“再使用”する。図４を参照すると、このことは、図４の下部の行の基本関数ウインドウにより得られるスペクトルを、図４の上の行の基本関数ウインドウにより得られる（相互に異なる）すべてのスペクトルに“再使用”することを意味する。
【００６２】
しかしながら、長い基本関数ウインドウによる可変スペクトル係数のこのような“リサイクル”が、時間／周波数分解能の自然な法則に対応するのは、簡単に述べると、低周波数の信号の周期が高周波数の信号の周期よりも長いからである。
【００６３】
従って、前もって記憶した非常にまばらな行列により乗算を１回行うことだけでなく、ＦＦＴを１回行うことによっても、本発明の概念により、それぞれ長さ８ミリ秒の１６個の可変スペクトルを供給するので、これにより、長さ１２８ミリ秒の音声信号の、完全な（ギャップのない）領域を、高時間分解能および高周波数分解能で分析する。同じ例として、はじめに説明した有界Ｑ分析では、９６（！）回完全なフーリエ変換を行う必要がある。
【００６４】
基本関数ウインドウを、必ずしもすべての他の基本関数ウインドウに対して相殺する必要はないことについて指摘しておく。その代わり、第０番目の基本関数ウインドウのウインドウの始点を、第１の基本関数ウインドウのウインドウの始点等と協調させることもできる。この場合、さらに、１３１Ｈｚの音で開始する縦の列の全ウインドウ配列を反映させるのが好ましいので、第１の基本関数ウインドウ４２が、同じ長さのさらに下流の基本関数ウインドウを有することになり、同じ長さの新規の４つの基本関数ウインドウが、基本関数ウインドウ４０および４１と一致する。
【００６５】
しかしながら、元々の音声信号を連続音声ウインドウで分析しないものの、重複する音声ウインドウで分析するという点で、図４に示す下部の基本関数ウインドウの上の、中心となる上部の基本関数ウインドウの配列は好ましい。好適な重複として、５０％の重複を選択する。
【００６６】
続いて、図６を参照して、時間表現に存在する元々の基本関数から基本関数係数を生成するように供給手段が構成されている場合に、基本関数係数のセットを供給する手段の好適な実施の形態について説明する。まずはじめに、基本関数を、ウインドウにより基本関数のウインドウ化を行う手段６０に供給する。ここで、ウインドウ長／ウインドウ位置制御６１の制御により、ウインドウは定義済みのウインドウ長およびウインドウ位置を有している。これに続いて、基本関数のウインドウ化ブロックを変換手段６３に供給する。ここで、変換アルゴリズムとして、ＦＦＴアルゴリズムが好適である。前もってオフラインで計算を行って係数のセットを求めるので、図６に示す計算は必ずしも効率的である必要はないことを指摘しておく。
【００６７】
典型的には、ブロック６２の変換結果は、少ない大きな線と複数の小さな線とを有するスペクトルとなる。これらの少ない大きな線は、可変スペクトル係数の周波数値が、変換６２により得た分解能と必ずしも一致している必要がないという事実に起因するものである。また、基本関数が、必ずしも位相０でウインドウに入力したり、位相０でウインドウから出力したりする必要がないという事実により、係数もまた生成される。さらに、重要ではないが、ウインドウ化自体がアーティファクトの原因となる。また、同じウインドウ形状を音声ウインドウおよび基本関数ウインドウとして用いる場合は、アーティファクトはある程度補償される。本発明によれば、数値的に処理できる最も単純なウインドウ、すなわち、矩形ウインドウにより、最も良い結果となることがわかった。
【００６８】
所定の条件となるように、次に、基本関数係数のセットから選択を行う。このために、全エネルギーの測定値を得るために、二乗基本関数係数を加算するように、各スペクトル値、すなわち、各基本関数係数を二乗する手段６３にスペクトルを供給する。これに続いて、スペクトルを、大きさによりスペクトル係数を配置し、最大値から最小値まで加算する手段６４に供給する。ここで、百分率の所定のエネルギー閾値になるまで、この加算を続ける。従って、次に、加算したスペクトル値だけを基本関数係数として続けて用いるが、後述する係数行列をさらに間引きするために、もう加算されないスペクトル値を所定の方法で０に設定する。これに続いて、加算したスペクトル係数、すなわち、最終的に、各セットにおける基本関数係数の基本関数係数がともに同じエネルギーとなるように、加算されかつエネルギー測定値の９０％となるスペクトル係数を、加算したスペクトル係数をスケーリングする手段６５に供給する。これにより、当然、基本関数は実質的に、短いウインドウよりも長いウインドウに対してよりエネルギーを供給するという事実が相殺される。従って、アーティファクトを受けないように、基本関数係数の各セットのエネルギーを、例えば、５０％、好ましくは５％の所定の偏差閾値以内にする。
【００６９】
これに続いて、ブロック６４で行った選択工程で“残った”スケーリングした基本関数係数を、係数行列に入力させる手段６６に供給して、最後に、好ましくは手段６７により、ルックアップテーブル（ＬＵＴ）に保存する。図６では、各階調に対して（図４の実施の形態の）すべての基本関数係数の３２セットを計算するまで、ウインドウ長指標６１およびウインドウ位置指標により制御し、基本関数入力５９を介して供給した基本関数の各時間表現に対して、この手順を続ける。図５は、基本関数係数の典型的な行列を示し、基本関数係数のセットを行列の各行に入力する。音声ウインドウ化および音声変換により得た周波数と同じ数の列を有するベクトルで、行列を乗算する。出力側では、図４に示す８８階調に対する可変スペクトル係数となるが、周波数２７７Ｈｚの階調に対する２つの可変スペクトル係数がすでに存在していて、周波数５５４Ｈｚの可変スペクトル係数に対する、連続時間領域に関する４つの可変スペクトル係数がすでに存在している。
【００７０】
対応するウインドウ分割を有する図４に示す実施の形態では、５３５個の基本関数係数セットを用いる。ここで、さらに２０４８個の複素周波数値を計算し、この値を、第０番目の基本関数ウインドウの長さに設定する。そして、これに、４０９６個の実際のサンプルを供給する。図４の右側では、図６を参照して、“帯域”毎にいくつの複素係数が選択処理で“残る”かを示している。最も低い領域では、１８階調毎に約２〜３個の複素係数が残っている。第２の帯域では、１３１Ｈｚ〜２６２Ｈｚの階調それぞれに対して、約４つの複素係数がそれぞれ残っている。次の帯域では、階調毎に１４個の複素係数となっている。一番上の帯域では、２１階調に対して、１１３４個の複素係数が選択処理で残っており、階調毎に５４個の複素スペクトル係数が残っていることを意味している。このことは、図４に示すように、２１６６６〜２１６９１個の複素係数が存在することを意味している。しかし、図５に示すように、係数行列はやはり１．９８％しかない。
【００７１】
この点で、図５の×印は、係数セットについて任意の値が存在できる位置を表していることについて指摘する。従って、第０番目の基本関数ウインドウによる周波数分解能は、第１の基本関数ウインドウ４２による周波数分解能の２倍高い。この理由から、１３１Ｈｚの階調に対する列では、原則として、例えば、１２４Ｈｚの階調に対する列に対して、せいぜい行列の全ての２番目の位置が占めている。２７７Ｈｚで始まる次の帯域では、やはり、せいぜい行列の行の４番目の点が占めている。５５４で始まる次の帯域では、周波数分解能が低減しているので、せいぜい第８番目の値が占めており、以下同様である。
【００７２】
図５の×印は、とにかく任意の値が存在できるところを示していることをもう一度指摘しておく。しかしながら、選択処理により、いずれにしろ０ではない実際の値で、行列の最も数少ない可能なスポットがあるという事実につながる。従って、行列の実際の形状は、図５に示すように、上の帯域でスペクトル係数が多くなっているという事実により、行列の“可能性”群の図をだいたい逆にしたように見える。
【００７３】
本発明の概念は、８８階調の範囲に関し、具体的には、２５６ミリ秒〜８ミリ秒のウインドウサイズで４６．３Ｈｚ（Ｆ1シャープ）〜７０４０Ｈｚ（Ａ8）の範囲に関する。すでに説明したように、最も低い周波数には、システム結果に対して１２８ミリ秒の最大フレーム増加となる、時間的に５０％重複する分析ウインドウを用いる。もちろん、入力信号サンプルをギャップなしで分析する場合は、この特性により、より高い周波数にはより大きい出力値を生成する。この不整合の実際的な解決法は、低い周波数出力値に用いるサンプル＆ホールドオートマティズムで、これにより、完全な変換信号である行列表現（図５）を得ることができる。換言すれば、これは、高時間分解能の高い分解能複素スペクトルを得るための、低い周波数に対する可変スペクトル係数のリサイクルを表す。
【００７４】
特に、本発明の概念は、より集約的なハミングウインドウの代わりに、計算上より効率的な矩形ウインドウを用いるという事実に特徴がある。また、本発明の好適な実施の形態では、５０％の重複で完全な分析を行う。特に、図４および図５に基づく本発明の行列構造は好ましい。
【００７５】
本発明の概念は、ブロック化した一定のウインドウ長に特徴がある。従って、（図４の）帯域内で異なるが、基本関数係数を計算する異なるウインドウにより、帯域から帯域へ再び“再調整”する品質係数に特徴がある。特に、係数を低減する基準を適用するという事実により、行列ベクトル乗算演算を効率的にする。すなわちエネルギーが最も大きい係数だけを残し、その合計は、例えば、全係数セットのエネルギーの９０％となる。エネルギースケーリングにより、基本関数係数の各セットがほぼ同じエネルギーを有するので、基本関数係数から得られる相関が、すべての可変スペクトル係数に対して等しく効果を発揮する。
【００７６】
この点について、検査時間ウインドウ、すなわち、音声信号ウインドウが、分析する時間信号の信号部分を参照することを指摘しておく。この時間信号を、時間領域で２５６ミリ秒の幅の矩形ウインドウと乗算して、ＦＦＴにより周波数領域に変換する。次に、ＣＱＴ係数または基本関数係数を用いて、正確な分析を行う。次のＦＦＴを計算する前に、その幅毎に５０％、すなわち、１２８ミリ秒で、矩形ウインドウを移動する。従って、時間領域の各サンプルは、ＦＦＴに２回入力する。これらの周波数で求めようとする高分解能で、矩形ウインドウの幅を計算する。周波数分解能に対する要求が低くなるものの、周波数がより高くなるので、より小さなウインドウ幅でも十分である。
【００７７】
音声ウインドウ内のスペクトル部分の位置がより正確になるように、この点で、変更ＣＱＴは係数の位相情報を利用する。換言すれば、矩形ウインドウに対して、周波数範囲に関わらず、異なる数の周波数値となる。すなわち、最も低い周波数範囲に対して正確に値が１つとなる。ここで、５０％の重複で各サンプルを２回用いて、次に高い範囲に対して、やはり正確に値が１つとなる。ウインドウセンターを軸として展開するサンプルの半分しか使用しない。次に高い範囲に対して、値は正確に２つとなり、サンプルの第２または第３の四半分しか用いない等ということになる。全体的な変換結果を行列の形式で表すことは好ましい。高時間分解能に対する本発明の特徴であるが、周波数範囲によっては同じ分析部分に対して異なる数の値が存在するので、低い周波数範囲から値の繰り返しまたは“リサイクル”を行って、最も小さいウインドウ毎に完全なスペクトルを表すことができる。
【００７８】
基本関数係数の選択に関して、１行毎に、すなわち、１つの分析ビン毎に、最も大きい値から開始して、全行列または行列の行で得られる最も大きい二乗合計の９０％の閾値になるまで、商を二乗して加算することについて指摘しておく。各行の残りの商を、０に設定する。次に、残りの係数は、行の均一な重み付けを行うために、一行ごとに正規化される。
【００７９】
本発明により生成した可変スペクトル表現は、音楽分析に好ましく応用することである。特に、トランスクリプション、すなわち、音符を求めることである。または、音の認識または和音検出のため、または一般に、スペクトル係数に対する可変帯域幅を用いて周波数分析を行う場合は必ず必要になる。従って、一般的に言うと、応用分野は、情報信号の変換である。これは、ビデオ信号ばかりでなく、電気または電子パラメータの時間測定値または時間シミュレーション過程、対象とする高い時間・高周波数分解能の周波数表現である。
【００８０】
最後に、本発明の概念を、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの混合物として実施することもできることを指摘しておく。従って、コンピュータプログラムをコンピュータ上で実行する場合は、本発明はまた、本発明による方法の１つを機械読み取り可能コードを有するコンピュータプログラムに関する。
【図面の簡単な説明】
【００８１】
【図１】図１は、音声信号を変換する好適な装置のブロック回路図である。
【図２】図２は、可変スペクトル表現を定スペクトル表現と比較する表形式の表現である。
【図３】図３は、基本関数から基本関数係数の計算を行うことを説明する概略説明図である。
【図４】図４は、約４６Ｈｚ〜７０４０Ｈｚの可変スペクトル係数での可変スペクトル表現を求める好適な実施の形態の概略説明図である。
【図５】図５は、図４に示す実施の形態の好適な行列表現の一部の概略説明図である。
【図６】図６は、本発明による、各種の周波数値および各種の（連続）ウインドウに対して基本関数係数セットを計算する装置のブロック回路図である。
【図１】
2008502927.tif 000007
【図２】
2008502927.tif 000008
【図３】
2008502927.tif 000009
【図４】
2008502927.tif 000010
【図５】
2008502927.tif 000011
【図６】
2008502927.tif 000012
【国際調査報告】
2008502927.tif 000013
2008502927.tif 000014
2008502927.tif 000015
2008502927.tif 000016