(57)【要約】  主旋律とは、人が最も大きく、最も正確であると知覚する音楽作品の部分であると、十分考慮した仮定の場合に、メロディ抽出または自動トランスクリプションをより明らかにし、より安定させ、適用可能ならば、費用があまりかからないようにする。これについて、音声信号のメロディの判定で、まずはじめに、時間／スペクトル表現に延びるメロディラインを求める。各時間区分またはフレームに対し、時間／スペクトル表現の１つのスペクトル成分または１つの周波数ビンが、正確に、一意に対応付けられている。すなわち、特別な実施の形態により、このフレームで最大強度のサウンド結果が導かれる。【選択図】図３
2008516288.tif 000002
【特許請求の範囲】
【請求項１】
音声信号（３０２）の基礎となるメロディを抽出する装置であって、
スペクトル値のシーケンスを有するスペクトル帯域を含む時間／スペクトル表現を複数のスペクトル成分それぞれに生成し、時間／スペクトル表現が各スペクトル帯域に、前記音声信号の時間区分シーケンスの各時間区分のスペクトル値を含むように構成された、前記音声信号（３０２）の時間／スペクトル表現を生成する手段（７５０）と、
前記音声信号（３０２）の前記時間／スペクトル表現に基づいて、前記時間／スペクトル表現または最大のものから導出した前記時間／スペクトル表現のバージョンについて、正確に前記１つのスペクトル成分を各時間区分に一意に対応付けることにより、前記音声信号のメロディラインを求める手段（７５４、７５８）と、
前記メロディラインに基づいて、前記音声信号の前記メロディを求める手段（７６０、７６２）とを備える装置。
【請求項２】
前記メロディラインを求める手段が、
知覚関連時間／スペクトル表現を得るために、前記人間の音量知覚を反映する等音量曲線を用いて、前記時間／スペクトル表現をスケーリングする手段（７５４；７７０、７７２、７７４）と、
前記知覚関連時間／スペクトル表現に基づいて、前記音声信号の前記メロディを求める手段（７６０、７６２）とを備える、請求項１に記載の前記装置。
【請求項３】
スケーリング手段が、
前記音圧力レベルを示すことにより、対数化時間／スペクトル表現を得るために、前記時間／スペクトル表現の前記スペクトル値の対数化を行う手段（７７０）と、
前記知覚関連時間／スペクトル表現を得るために、属するそれぞれの値および前記スペクトル成分により、前記対数化時間／スペクトル表現の前記対数化スペクトル値を知覚関連スペクトル値にマッピングする手段（７７２）とを備える、請求項２に記載の前記装置。
【請求項４】
異なる音量に対応付けられた関数で、音圧力レベルを表す各スペクトル成分に対数スペクトル値を対応付ける関数である、前記等音量曲線を表す関数（７７４）に基づいて、前記マッピングを行うために、マッピング手段（７７２）を実行する、請求項３に記載の前記装置。
【請求項５】
前記音声信号の前記メロディラインを求める手段（７５６）が、
非対数化知覚関連スペクトル値を有する非対数化知覚関連スペクトルを得るために、前記知覚関連スペクトルの前記スペクトル値の非対数化（７７６）を行い、
スペクトルサウンド値を得ることにより、時間／サウンド表現を得るために、時間区分および各スペクトル成分に対し、前記それぞれのスペクトル成分の前記非対数化知覚関連スペクトル値と、前記それぞれのスペクトル成分に対する部分音を表すこれらのスペクトル成分の前記非対数化知覚関連スペクトル値との合計（７７６）を行い、
前記対応する時間区分に対し、前記加算を行うことにより、前記最大スペクトルサウンド値となる、各時間区分に前記スペクトル成分を一意に割り当てることにより、メロディラインの生成（７８０）を行う、請求項４に記載の前記装置。
【請求項６】
前記音声信号の前記メロディラインを求める手段が、高い次数の部分音の前記非対数化知覚関連スペクトル値を小さく重み付けできるように、前記それぞれのスペクトル成分の前記非対数化知覚関連スペクトル値を、前記加算（７８０）での前記それぞれのスペクトル成分に対する部分音を表すこれらのスペクトル成分のものと異なるように重み付けを行う、請求項５に記載の前記装置。
【請求項７】
前記音声信号の前記メロディラインを求める手段が、
セグメントを得るために、前記メロディラインをセグメント化する（７８４）手段（７８２、８１６、８１８、８５０、８７６、８９８、９１２、９１４、９３８；７８２、９５０、９９２、１０１６、１０１８、１０２０、１０２２、１０２４、１０５２）を備える、請求項５または請求項６に記載の前記装置。
【請求項８】
前記一方側の前記スペクトル成分と、前記他方側の前記時間区分とにわたる行列位置のメロディ行列のバイナリ形式で表す前記メロディラインのような状態で、前記メロディラインの事前フィルタ（７８６）を行うために、セグメント化手段を実行する、請求項７に記載の前記装置。
【請求項９】
セグメント化手段が、事前フィルタ（７８６）を行う場合、各行列位置（７９２）に対し、前記エントリをこの行列位置および隣接行列位置に合計し、前記得られる情報値を閾値と比較し、前記比較結果を対応する行列位置で中間行列に入力し、次に、事前フィルタした形式の前記メロディラインを得るために、前記メロディ行列および前記中間行列の乗算を行う、請求項８に記載の前記装置。
【請求項１０】
セグメント化手段が、次の部分をセグメント化する間に、所定のスペクトル値（７９８、８００）外の前記メロディラインの一部を無視したままにする（７９６）、請求項６ないし請求項９のいずれかに記載の前記装置。
【請求項１１】
前記所定のスペクトル範囲が、５０〜２００Ｈｚから１０００〜１２００Ｈｚになるように、セグメント化手段を実行する、請求項１０に記載の前記装置。
【請求項１２】
セグメント化手段は、前記対数化時間／スペクトル表現が、前記対数化時間／スペクトル表現の所定のパーセンテージの前記最大対数化スペクトル値より小さい対数化スペクトル値を含む、次の部分の前記セグメント化で、メロディラインの一部を無視したままにする（８０４）、請求項７ないし請求項１１のいずれかに記載の前記装置。
【請求項１３】
セグメント化手段が、前記メロディラインにより、半音間隔より小さい間隔で、隣接時間区分に対応付けられた所定の数のスペクトル成分より小さい次の部分の前記セグメント化で、前記メロディラインの一部を無視したままにする（８０６）、請求項７ないし請求項１２のいずれかに記載の前記装置。
【請求項１４】
前記セグメントの数ができるだけ小さく、その間隔が所定の尺度より小さい前記メロディラインにより、セグメントの隣接時間区分がスペクトル成分に対応付けられるように、前記無視した部分だけ減少した前記メロディライン（８１２）をセグメント（８１２ａ、８１２ｂ）に分割するために、セグメント化手段を実行する、請求項１０ないし請求項１３のいずれかに記載の前記装置。
【請求項１５】
セグメント化手段は、
ギャップが第１の数の時間区分（８３０）より小さい場合、前記メロディラインで、同じ半音領域（８３８）または隣接する半音領域（８３６）にある前記隣接セグメントのスペクトル成分が、他のものに最も近い前記隣接セグメント（１２ａ、８１２ｂ）の前記時間区分に対応付けられている場合、前記隣接セグメントからセグメントを得るために、隣接セグメント（１２ａ、８１２ｂ）の間の、前記ギャップ（８３２）を埋め込み（８１６）、
前記ギャップが前記第１の数の時間区分以上であるが、前記第１の数（８３４）より大きい第２の数の時間区分より小さい場合に限って、
前記メロディラインにより、スペクトル成分が、同じ半音領域（８３８）または隣接する半音領域（８３６）にある、前記隣接セグメントのうちの別の１つに最も近い前記隣接セグメント（８１２ａ、８１２ｂ）の前記時間区分に対応付けられる場合、
所定の閾値より小さく、これらの時間区分での前記知覚関連スペクトル値が異なる（８４０）場合、
前記隣接セグメント（８１２ａ、８１２ｂ）の間の接続線（８４４）に沿った知覚関連スペクトル値すべての平均値が、前記２つの隣接セグメント（８４２）に沿った前記知覚スペクトル値の前記平均値以上の場合に、
前記ギャップ（８３６）を埋め込む、請求項１４に記載の前記装置。
【請求項１６】
セグメント化手段が、前記セグメント化の範囲で、最も頻出する前記メロディラインにより、前記時間区分に対応付けられたこれらのスペクトル成分（８２６）を求め、このスペクトル成分を基準として、前記半音領域（８２８）を順に定義する半音境界により、互いに分離している半音のセットを求める（８２４）、請求項１５に記載の前記装置。
【請求項１７】
セグメント化手段が、直線の接続線（８４４）により、前記ギャップの埋め込みを行う、請求項１５または請求項１６に記載の前記装置。
【請求項１８】
セグメント化手段が、
オクターブ、第５音および／または第３音のラインを得るために、前記スペクトル方向の間に時間区分がない前記セグメントの基準セグメント（８５２ａ）に直接隣接（８６４）する、前記セグメントの従属セグメント（８５２ｂ）を一時的に移動（８６８）し、
前記知覚関連スペクトル値の間の、前記基準セグメント（８５２ａ）に沿った最小が、前記オクターブ、第５音および／または第３音の前記ラインに沿った前記知覚関連スペクトル値の間の最小と所定の関係があるかどうかにより、前記オクターブ、第５音および／または第３音の前記ラインから、１つを選択する、あるいは何も選択（８７２）せず、
前記オクターブ、第５音および／または第３音の前記ラインを選択する場合は、前記従属セグメントを最終的に前記オクターブ、第５音および／または第３音の前記選択したラインに移動する（８７４）、請求項１４ないし請求項１７のいずれかに記載の前記装置。
【請求項１９】
セグメント化手段が、
所定のセグメント（８７８）において前記メロディラインのすべての局所的に極端な部分（８８２）を求め、
第１の所定の尺度（８８６）より小さく互いに分離しているスペクトル成分と、第２の所定の尺度（８９０）より小さく互いに分離している時間区分とで、配列されているすべての隣接する極端な部分に対し、前記求めた極端な部分の間の隣接する極端な部分のシーケンスを求め、
極端な部分の前記シーケンスの間の極端な部分の前記シーケンスの前記時間区分と、前記時間区分とが、これらの時間区分で前記メロディラインの前記スペクトル成分の前記平均値に対応付けられている（８９４）ように、前記所定のセグメント（８７８）を変更する、請求項１４ないし請求項１８のいずれかに記載の前記装置。
【請求項２０】
セグメント化手段が、前記セグメント化の範囲で、前記メロディラインにより、最も頻繁に前記時間区分に対応付けられている前記スペクトル成分（８３２）を求め、
このスペクトル成分（８３２）を基準として、前記半音領域を順に定義する半音境界で互いに分離している半音のセットを求め、
セグメント化手段が、各セグメントで各時間区分に対し、対応付けられた前記スペクトル成分を前記半音のセットの半音に変更する（９１２）、請求項１４ないし請求項１９のいずれかに記載の前記装置。
【請求項２１】
セグメント化手段が、前記半音のセットの間のこの半音が、変更する前記スペクトル成分に最も近くなるように、前記半音の変更を行う、請求項２０に記載の前記装置。
【請求項２２】
セグメント化手段は、
フィルタした音声信号（９２２）を得るために、所定のセグメントの共通半音を中心として伝送特性を含む前記音声信号をバンドパスフィルタ（９１６）でフィルタし、
前記フィルタした音声信号（９２２）の時点エンベロープ（９２４）が、候補となる開始時点を表す変曲点を含む時点で求めるために、前記フィルタした音声信号（９２２）を調べ（９１８、９２０、９２６）、
所定の候補となる最初の時点が、前記第１のセグメント（９２８、９３０）の前の所定の時間より小さいかどうかにより、前記所定の候補となる最初の時点でおおよそ終わる、延長セグメントを得るために、前記所定のセグメントを、１つまたはいくつかのさらに時間区分（９３２）だけ前に延長する、請求項２０または請求項２１に記載の前記装置。
【請求項２３】
前記所定のセグメントを延長する（９３２）場合、これにより、１つまたはいくつかの時間区分にわたる前記セグメントの重複を回避する場合は、直前のセグメントを前方に短くするために、セグメント化手段を実行する、請求項２２に記載の前記装置。
【請求項２４】
セグメント化手段が、
前記所定の候補となる最初の時点が、前記所定のセグメント（９３０）の前記第１の時間区分の前の前記第１の所定の継続時間より長いかどうかにより、前記知覚関連時間／スペクトル表現で、所定の勾配（９３６）より低下する仮想時点まで、前記候補となる最初の時点の方向に、前記所定のセグメントの延長に沿って、前記知覚関連スペクトル値をトレースし、次に、前記所定の候補となる最初の時点が、前記仮想時点の前の前記第１の所定の継続時間より長いかどうかにより、前記所定の候補となる最初の時点でおおよそ終わる、前記延長セグメントを得るために、１つまたはいくつかの別の時間区分で前記所定のセグメントを前方に延長する（９３２）、請求項２２または請求項２３に記載の前記装置。
【請求項２５】
セグメント化手段が、前記フィルタリング、前記判定および前記補足を行った後で、所定の数の時間区分より短いセグメント（９３８）を処分する、請求項２２ないし請求項２４のいずれかに記載の前記装置。
【請求項２６】
前記セグメントを音符に変換する手段（９４０）をさらに備え、各セグメントに対し、前記セグメントの前記第１の時間区分に対応している音符開始時点と、時間区分継続時間を乗算した前記セグメントの前記時間区分の数に対応している音符継続時間と、前記セグメントが通過する前記スペクトル成分の平均に対応する音ピッチとを割り当てるために、変換手段を行う、請求項１７ないし請求項２５のいずれかに記載の前記装置。
【請求項２７】
セグメント化手段が、
前記セグメントの所定の１つ（９５２）に対し、倍音セグメント（９５４ａ〜９５４ｇ）を求め、
前記倍音セグメントから、前記音声信号の前記時間／スペクトル表現が前記最大ダイナミックを含む、前記音セグメントを求め（９５８）、
前記所定の倍音セグメントに沿った、前記時間／スペクトル表現の前記経路（９６０）で、最小（９６４）を設定し（９６２）、
前記最小が所定の条件を満たすかどうか調べ（９８６）、
前記の場合ならば、所定のセグメントを、前記最小がある前記時間区分で、２つのセグメントに分離する（９８８）、請求項１４ないし請求項２６のいずれかに記載の前記装置。
【請求項２８】
セグメント化手段が、前記考察で、前記最小が所定の条件を満たすかどうか、前記最小（９６４）を前記所定の倍音セグメントに沿って、前記時間／スペクトル表現の前記経路（９６０）の隣接ローカル最大（９８０、９８２）の平均値と比較し（９８６）、前記比較により、前記所定のセグメントを前記２つのセグメントに分離（９８８）する、請求項２７に記載の前記装置。
【請求項２９】
セグメント化手段は、
前記メロディラインで同じスペクトル成分が対応付けられている、直接隣接時間区分の全グループに対し、前記隣接時間区分に直接対応付けられた数が、１から直接隣接時間区分の前記数までの異なる数となるように、所定のセグメント（９９４）に対し、前記セグメントの各時間区分（ｉ）に前記数（ｚ）を割り当て、
前記所定のセグメントの前記時間区分のうちの１つに対応付けられている各スペクトル成分に対し、前記それぞれのスペクトル成分が、時間区分その対応付けられているこれらのグループの前記数を加算し（１０００）、
前記最大加算結果に対し、平滑化スペクトル成分を前記スペクトル成分として求め（１０１２）、
前記特定の平滑化スペクトル成分によって、前記所定のセグメントの各時間区分に対応付けることにより、前記セグメントを変更する（１０１４）、請求項１４ないし請求項２８のいずれかに記載の前記装置。
【請求項３０】
セグメント化手段は、
フィルタした音声信号を得るために、所定のセグメントの共通半音を中心としたバンドパスを含むバンドパスフィルタで、前記音声信号をフィルタし（１０２６）、
前記フィルタした音声信号のエンベロープで、前記所定のセグメントに対応する時間的ウインドウ（１０３６）で最大（１０４０）をローカライズし（１０３４）、
所定の値より小さい前記最大（１０４０）の後で、前記エンベロープが最初、値をとる前記時点として、考えられるセグメントの終わりを求め（１０４２）、
前記考えられるセグメントの終わりが、（１０４６）前記所定のセグメントの実際のセグメントの終わりより時間的に前ならば、前記所定のセグメントを短くする（１０４９）、請求項１４ないし請求項２９のいずれかに記載の前記装置。
【請求項３１】
セグメント化手段が、
（１０４６）前記考えられるセグメントの終わりが前記所定のセグメントの前記実際のセグメントの終わりより時間的に後ならば、前記考えられるセグメントの終わり（１０４４）と前記実際のセグメントの終わり（１０４９）との間の前記時間間隔が、所定の閾値（１０５０）以下の場合は、前記所定のセグメントを延長する（１０５１）、請求項３０に記載の前記装置。
【請求項３２】
前記音声信号の前記メロディラインを求める手段（７５６）が、
スケーリングを行って、スペクトルサウンド値を得ることにより、時間／歪み表現を得るために、各時間区分および各スペクトル成分に対し、前記それぞれのスペクトル成分の前記スペクトル値、またはスケーリングにより、スペクトル成分から得られたスケーリングスペクトル値、および前記スペクトル値を、前記それぞれのスペクトル成分，またはスペクトル成分から得られたスケーリングスペクトル値の部分音を表すこれらのスペクトル成分に加算し（７７６）、
各時間区分に対し、前記対応する時間区分の前記加算を行うことにより前記最も高いスペクトルサウンド値を得るそのスペクトル成分を、一意に割り当てることにより、メロディラインを生成する（７８０）、請求項１ないし請求項３１のいずれかに記載の前記装置。
【請求項３３】
音声信号（３０２）の基礎となるメロディを抽出する方法であって、
スペクトル値のシーケンスを有するスペクトル帯域を含む時間／スペクトル表現を複数のスペクトル成分それぞれに生成し、時間／スペクトル表現が各スペクトル帯域に、前記音声信号の時間区分シーケンスの各時間区分のスペクトル値を含むように（７５０）前記音声信号（３０２）の時間／スペクトル表現を生成し、
前記音声信号（３０２）の前記時間／スペクトル表現に基づいて、前記時間／スペクトル表現または最大のものから導出した前記時間／スペクトル表現のバージョンについて、正確に前記１つのスペクトル成分を各時間区分に一意に対応付けることにより、前記音声信号のメロディラインを求め（７５４、７５８）、
前記メロディラインに基づいて前記音声信号の前記メロディを求める（７６０、７６２）方法。
【請求項３４】
コンピュータプログラムをコンピュータ上で動作する場合は、請求項３３に記載の方法を実行するプログラムコードを有する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号の基礎となるメロディの抽出に関する。例えば、モノフォニック音声信号またはポリフォニック音声信号の基礎となるメロディのトランスクライブイラストレーションまたは音楽表現を得るために、このような抽出を用いることもできる。これらは、アナログ形式またはデジタルサンプル形式で存在する場合もある。従って、メロディ抽出を行うことにより、例えば、歌を歌うこと、ハミング、口笛または等の、任意の音声信号から、携帯電話の着信音を生成することが可能になる。
【背景技術】
【０００２】
既に何年も前から、携帯電話の信号音は、もはや、電話がかかってきたことを知らせるだけではなくなっている。これは、モバイル装置のメロディ生成機能がますます発達しているので、娯楽的要素となり、若者の間でステータスシンボルとなっている。
【０００３】
初期の携帯電話は、特に、装置自体でモノフォニック着信音を作るための可能性を提供していた。しかしながら、これは複雑で、音楽知識のほとんどないユーザにとってはなかなか思うようにならず、満足のいく結果とならなかった。従って、この可能性または機能性が、新規の電話からは大方なくなっている。
【０００４】
ポリフォニック通知メロディまたは着信音が可能な、特に最新の電話により、このような組み合わせが豊富に提供されているので、このようなモバイル装置でメロディを別々に作ることは、もはやほとんどできない。従って、限られたやり方で着信音を別々に作るために、たかだか、既製のメロディや伴奏パターンを新規に組み合わせるくらいである。
【０００５】
既製のメロディや伴奏パターンをこのように組み合わせる可能性は、例えば、ソニーエリクソン社のＴ６１０型電話で実施されている。しかしながら、それに加えて、ユーザは、市販の、既製の着信音を購入することに依存している。
【０００６】
高い音楽教育を前提としないで、自分のポリフォニックメロディに変換するのに適した、ユーザに好適な通知メロディを生成するための、直感的に操作できるインターフェースを提供できることが望ましい。
【０００７】
用いる和音が所定のものならば、今日のキーボードの大抵のものには、いわゆる伴奏の自動装置として知られている、メロディの伴奏を自動的に行う機能性が備えられている。このようなキーボードには、インターフェースを通じて伴奏がついたメロディをコンピュータに送信して、このメロディを携帯電話の着信音として用いることができるように、適した携帯電話フォーマットに変換する可能性がないという事実を別にして、携帯電話用の自分のポリフォニック通知メロディを生成するためにキーボードを用いることは、この楽器を演奏することができないので、大抵のユーザにとって、選択肢とならない。
【０００８】
本発明の出願人と同じ出願人で、２００４年３月５日ドイツ特許商標庁に出願した、ドイツ特許第１０２００４０１０８７８．１号「信号メロディを送信する装置並びに方法」には、Ｊａｖａ（登録商標）アプレットおよびサーバソフトウェアを援用して、モノフォニック着信音およびポリフォニック着信音を生成して、モバイル装置に送信する方法が記載されている。しかしながら、提案された、この音声信号からメロディを抽出するアプローチは、エラーが非常に多く発生したり、限られたやり方でしか用いることができなかったりする。なかでも、生成したメロディに最も一致する結果として、事前に記憶したメロディの対応する特徴と比較して、事前に記憶したメロディの中から選択するために、音声信号から特色のある特徴を抽出することにより、音声信号のメロディを得ることが提案されている。しかしながら、このアプローチは本質的に、事前に記憶したメロディのセットに対するメロディ認識に限定されている。
【０００９】
ドイツ特許第１０２００４０３３８６７．１号「可聴周波信号をリズム処理する方法並びに装置」およびドイツ特許第１０２００４０３３８２９．９号「多音メロディを発生させる方法並びに装置」は、ドイツ特許商標庁の同日に出願したもので、やはり、メロディを音声信号から生成することを目的としているが、メロディにリズムおよびハーモニー依存の処理を行うとともに、メロディから伴奏を導出する次の処理よりも、実際のメロディ認識の詳細が考慮されていない。
【００１０】
Ｊ．Ｐ．ベロ（Ｂｅｌｌｏ）著、「単純なポリフォニック音楽の自動化分析に向けて：知識ベースのアプローチ」（ロンドン大学、学位論文、２００３年１月）では、例えば、メロディ認識の可能性について扱っている。時間信号のローカルエネルギーまたは周波数領域の分析のいずれかに基づいて、音符の最初の時点について、タイプが異なる認識を行うことが記載されている。これとは別に、メロディライン認識の異なる方法が記載されている。これらの手順に共通しているのは、音声信号の時間／スペクトル表現で、いくつかの軌跡それぞれの処理を行ったり、跡をたどって調べたりして、これらの軌跡から、メロディラインまたはメロディを最終的に選択するという事実により、回り道をして、最終的に得られたメロディを得るという点で、複雑な手順であることである。
【００１１】
また、Ｋ．Ｄ．マーチン（Ｍａｒｔｉｎ）著、「単純なポリフォニック音楽の自動トランスクリプションを行う黒板システム」（マサチューセッツ工科大学メディア研究所、知覚コンピューティング部門技術リポート第３８５、１９９６年）に、自動トランスクリプションの可能性が記載されている。これは、音声信号の時間／周波数表現または音声信号のスペクトルで、いくつかのハーモニートレースを評価することに基づいている。
【００１２】
Ａ．Ｐ．クラプリ（Ｋｌａｐｕｒｉ）著、「音楽の自動トランスクリプションのための信号処理方法」（タンペレ工業大学、学位論文要約、２００３年１２月）、Ａ．Ｐ．クラプリ著、「音楽の自動トランスクリプションのための信号処理方法」（タンペレ工業大学、論文、２００３年１２月）、Ａ．Ｐ．クラプリ著、「複数の高調波サウンドの混合を分解する数論手段」（ヨーロッパ信号処理会議会報、ギリシャ、ロードス、１９９８年）、Ａ．Ｐ．クラプリ著、「心理音響学知識を応用したサウンドオンセット検出」（音響、音声および信号処理会報ＩＥＥＥ国際会議、アリゾナ州フェニックス、１９９９年）、Ａ．Ｐ．クラプリ著、「スペクトル平坦性原理によるマルチピッチ推定およびサウンド分離」（音響、音声および信号処理会報ＩＥＥＥ国際会議、ユタ州ソルトレークシティ２００１年）、Ａ．Ｐ．クラプリおよびＪ．Ｔ．アストーラ（Ａｓｔｏｌａ）著、「サウンドの生理的表現の効率的な算出」（デジタル信号処理会報第１４回ＩＥＥＥ国際会議、ギリシャ、サントリーン２００２年）、Ａ．Ｐ．クラプリ著、「高調波性およびスペクトル平坦性に基づく複数の基本周波数の推定」（ＩＥＥＥスピーチおよび音声学会会報、１１（６）、８０４−８１６ページ、２００３年）、Ａ．Ｐ．クラプリ、Ａ．Ｊ．エローネン（Ｅｒｏｎｅｎ）およびＪ．Ｔ．アストーラ著、「音楽信号メータの自動推定」（タンペレ工業大学信号処理研究所、リポート１−２００４、タンペレ、フィンランド、２００４、ＩＳＳＮ：１４５９：４５９５、ＩＳＢＮ：９５２−１５−１１４９−４）に、音楽の自動トランスクリプションに関する異なる方法が記載されている。
【００１３】
ポリフォニックトランスクリプションの特殊な場合として、主旋律抽出分野の基本的な研究については、さらに、バウマン  ウー（Ｂａｕｍａｎ  Ｕ．）著：「多重音響物体を検出し分離する方法」、学位論文、人間機械通信講座、ミュンヘン工科大学（Ｔｅｃｈｎｉｓｈｅ  Ｕｎｉｖｅｒｓｉｔａｅｔ  Ｍｕｅｎｃｈｅｎ）、１９９５年に留意されたい。
【００１４】
メロディ認識または自動トランスクリプションの上述の異なるアプローチは、入力信号に特別な要件がある。例えば、ピアノ音楽だけ、または特定の数の楽器だけを受け付ける、打楽器を除外する等である。
【００１５】
現在の最新ポピュラー音楽に対して最も実用可能な従来アプローチは、ゴトーのアプローチである。例えば、次の文献に記載されている。ゴトー、Ｍ著「ＣＤ録音におけるメロディラインおよびバスラインのリアルタイム検出のためのロバスト・プレドミナントＦＯ推定方法」（音響、音声および信号処理学会ＩＥＥＥ国際会議会報、ＩＩ７５７−７６０ページ、２０００年６月）。この方法の目的は、主要なメロディラインおよびバスラインを抽出することである。すなわち、いわゆる“エージェント”を用いて、いくつかの軌跡から選択することにより、ライン検出を行う迂回をもう一度行っている。従って、方法は費用がかかる。
【００１６】
メロディ検出については、次の文献でも扱っている。Ｒ．Ｐ．パイバ（Ｐａｉｖａ）ら著「ポリフォニック音楽信号のメロディ検出を行う方法」（第１１６回ＡＥＳ会議、２００４年５月ベルリン）。時間／スペクトル表現での軌跡トレーシングの経路をとることについても、提案されている。この文献はまた、音符シーケンスに対して、軌跡の後処理を行うまでの、個別の軌跡のセグメント化に関している。
【００１７】
幅広い複数の異なる音声信号に対する、さらに安定した、確実な機能であるメロディ抽出または自動トランスクリプションの方法があることが望ましい。このような安定したシステムは、“ハミング検索”システムにおいて当然に実施し、費用を節約することになる。すなわち、システムデータベースの参照ファイルの自動トランスクリプションが可能になるので、ユーザがハミングすることによって、データベース内の曲を検索することができるシステムである。安定して機能するトランスクリプションは、フロントエンドで受信するものとして用いることもできる。さらに、自動トランスクリプションを、音声ＩＤシステムの補助装置として用いることも可能である。すなわち、例えば、フィンガープリントがないせいで、音声ＩＤシステムが認識しない場合、ファイルに含まれるフィンガープリントで、音声ファイルを認識するシステムである。入力音声ファイルを評価するために、自動トランスクリプションを選択肢として用いることもできる。
【００１８】
さらに、安定して機能する自動トランスクリプションは、例えば、“推奨エンジン”に対して、例えば、キー、ハーモニーおよびリズム等の他の音楽特徴に関連して、類似関係の生成を提供することもできる。音楽科学では、安定した自動トランスクリプションは、新規の視野を提供し、昔の音楽に対する評価を見直すことにもなる。また、音楽作品を客観的に比較して著作権を維持するために、安定して適用することができる自動トランスクリプションを用いることもできる。
【００１９】
要約すると、メロディ認識または自動トランスクリプションを適用することは、上述の携帯電話の着信音生成に限定されず、一般に、ミュージシャンや音楽に関心がある人々を支援するために用いることもできる。
【００２０】
【特許文献１】独国特許発明第１０２００４０１０８７８．１号
【特許文献２】独国特許発明第１０２００４０３３８６７．１号
【特許文献３】独国特許発明第１０２００４０３３８２９．９号
【非特許文献１】Ｋ．Ｄ．マーチン（Ｍａｒｔｉｎ）、「単純なポリフォニック音楽の自動トランスクリプションを行う黒板システム」、マサチューセッツ工科大学メディア研究所、知覚コンピューティング部門技術リポート第３８５号、１９９６年
【非特許文献２】Ｊ．Ｐ．ベロ（Ｂｅｌｌｏ）、「単純なポリフォニック音楽の自動化分析に向けて：知識ベースのアプローチ」、ロンドン大学、学位論文、２００３年１月
【非特許文献３】Ａ．Ｐ．クラプリ（Ｋｌａｐｕｒｉ）、「音楽の自動トランスクリプションのための信号処理方法」、タンペレ工業大学、学位論文要約、２００３年１２月
【非特許文献４】Ａ．Ｐ．クラプリ、「音楽の自動トランスクリプションのための信号処理方法」、タンペレ工業大学、論文、２００３年１２月
【非特許文献５】Ａ．Ｐ．クラプリ、「複数の高調波サウンドの混合を分解する数論手段」、ヨーロッパ信号処理会議会報、ギリシャ、ロードス、１９９８年
【非特許文献６】Ａ．Ｐ．クラプリ、「心理音響学知識を応用したサウンドオンセット検出」、音響、音声および信号処理会報ＩＥＥＥ国際会議、アリゾナ州フェニックス、１９９９年
【非特許文献７】Ａ．Ｐ．クラプリ、「スペクトル平坦性原理によるマルチピッチ推定およびサウンド分離」、音響、音声および信号処理会報ＩＥＥＥ国際会議、ユタ州ソルトレークシティ、２００１年
【非特許文献８】Ａ．Ｐ．クラプリおよびＪ．Ｔ．アストーラ（Ａｓｔｏｌａ）著、「サウンドの生理的表現の効率的な算出」、デジタル信号処理会報第１４回ＩＥＥＥ国際会議、ギリシャ、サントリーン、２００２年
【非特許文献９】Ａ．Ｐ．クラプリ、「高調波性およびスペクトル平坦性に基づく複数の基本周波数の推定」、ＩＥＥＥスピーチおよび音声学会会報、２００３年、１１（６）、ｐ８０４−８１６
【非特許文献１０】Ａ．Ｐ．クラプリ、Ａ．Ｊ．エローネン（Ｅｒｏｎｅｎ）およびＪ．Ｔ．アストーラ、「音楽信号メータの自動推定」、タンペレ工業大学信号処理研究所、リポート１−２００４、タンペレ、フィンランド、２００４、ＩＳＳＮ：１４５９：４５９５、ＩＳＢＮ：９５２−１５−１１４９−４
【非特許文献１１】ゴトー、Ｍ著「ＣＤ録音におけるメロディラインおよびバスラインのリアルタイム検出のためのロバスト・プレドミナントＦＯ推定方法」、音響、音声および信号処理学会ＩＥＥＥ国際会議会報、２０００年６月、ＩＩ、ｐ７５７−７６０
【非特許文献１２】Ｒ．Ｐ．パイバ（Ｐａｉｖａ）ら、「ポリフォニック音楽信号のメロディ検出を行う方法」、第１１６回ＡＥＳ会議、ベルリン、２００４年５月
【発明の開示】
【発明が解決しようとする課題】
【００２１】
本発明の目的は、メロディ認識、または幅広い複数の音声信号に対して正確に動作することに、より安定した方法を提供することである。
【課題を解決するための手段】
【００２２】
この目的は、請求項１に記載の装置、および請求項３３に記載の方法により達成される。
【００２３】
本発明の知見は、主旋律とは、人が最も大きく、最も正確であると知覚する音楽作品の部分であると、十分考慮した仮定の場合に、メロディ抽出または自動トランスクリプションをより明らかにし、より安定させ、適用可能ならば、費用があまりかからないようにする。これについて、本発明によれば、音声信号のメロディの判定で、まずはじめに、時間／スペクトル表現に延びるメロディラインが求められる。その事実により、各時間区分またはフレームに対し、時間／スペクトル表現の１つのスペクトル成分または１つの周波数ビンが、正確に、一意に対応付けられている。すなわち、特別な実施の形態により、このフレームで最大強度のサウンド結果が導かれる。
【００２４】
本発明の好適な実施の形態によれば、主旋律とは、人が最も大きく、最も正確であると知覚する音楽作品の部分であるという、上述の音楽理論について、２つの状況について考える。この実施の形態によれば、得られる知覚関連時間／スペクトル表現に基づいて、音声信号のメロディを求めるために、人間の音量知覚による等音量曲線を用いて、対象とする音声信号の時間／スペクトル表現またはスペクトルのスケーリングが行われる。より詳細には、この実施の形態によれば、対数化スペクトル値が音圧力レベルを表すように、音声信号のスペクトルが、まずはじめに、対数化される。続いて、それぞれの値と、属するスペクトル成分とにより、知覚関連スペクトル値に対し、対数化スペクトルの対数化スペクトル値のマッピングが行われる。その際に、スペクトル成分または周波数により、異なる音量に対応付けられた、等音量曲線を音圧力として表す関数が用いられる。所定のスペクトル成分に対し、フレーム毎に非対数化知覚関連スペクトル値を合計することにより、結果から時間／サウンドスペクトルを生成するために、知覚関連スペクトルがもう一度非対数化される。これらの合計は、それぞれのスペクトル成分に倍音を形成する、それぞれのスペクトル成分の非対数化知覚関連スペクトル値と、スペクトル成分の非対数化知覚関連スペクトル値とを含んでいる。従って、得られた時間／サウンドスペクトルは、導出された時間／スペクトル表現のバージョンである。
【００２５】
以下に、添付の図面を参照して、本発明の好適な実施の形態について詳細に説明する。
図１は、ポリフォニックメロディ生成装置を示すブロック図である。
図２は、図１の装置の抽出手段機能を示すフローチャートである。
図３は、ポリフォニック音声入力信号の場合の、図１の装置の抽出手段機能を示す詳細なフローチャートである。
図４は、図３の周波数分析となる、一例の音声信号の時間／スペクトル表現またはスペクトルを示す。
図５は、図３の対数化後の結果である、対数化スペクトルを示す。
図６は、図３のスペクトル評価の基礎となる、等音量曲線の図である。
図７は、対数化の基準値を得るために、図３の実際に対数化を行う前に用いる、音声信号のグラフである。
図８は、図３における図５のスペクトル評価後に得られた知覚関連スペクトルである。
図９は、図３のメロディライン判定による、図８の知覚関連スペクトルから得られる時間／スペクトル領域で示す、メロディラインまたは関数である。
図１０は、図３の一般セグメント化を説明するフローチャートである。
図１１は、時間／スペクトル領域の一例のメロディライン経路の概略図である。
図１２は、図１０の一般セグメント化でのフィルタリング動作を説明するための、図１１のメロディライン経路からの区分を示す概略図である。
図１３は、図１０の一般セグメント化での周波数範囲制限後の図１０のメロディライン経路である。
図１４は、図１０の一般セグメント化での最後から２番目のステップの動作を説明するための、メロディラインの区分を示す概略図である。
図１５は、図１０の一般セグメント化でのセグメント分類動作を説明するための、メロディラインからの区分を示す概略図である。
図１６は、図３のギャップ埋め込みを説明するフローチャートである。
図１７は、図３の可変半音ベクトルを位置決めする手順を説明するための概略図である。
図１８は、図１６のギャップ埋め込みを説明するための概略図である。
図１９は、図３のハーモニーマッピングを説明するためのフローチャートである。
図２０は、図１９によるハーモニーマッピング動作を説明するためのメロディライン経路からの区分を示す概略図である。
図２１は、図３の振動子認識および振動子バランスを説明するためのフローチャートである。
図２２は、図２１による手順を説明するためのセグメント経路の概略図である。
図２３は、図３の統計補正における手順を説明するためのメロディライン経路からの区分を示す概略図である。
図２４は、図３のオンセット認識および補正における手順を説明するためのフローチャートである。
図２５は、図２４によるオンセット認識において用いられる一例のフィルタ伝送関数を示すグラフである。
図２６は、図２４のオンセット認識および補正に用いられる、２方向整流フィルタ後の音声信号およびこの音声信号のエンベロープの概略の経路である。
図２７は、モノフォニック音声入力信号の場合の図１の抽出手段の機能を説明するためのフローチャートである。
図２８は、図２７の音分離を説明するためのフローチャートである。
図２９は、図２８による、音分離の関数を説明するためのセグメントに沿った、音声信号のスペクトルの振幅経路からの区分の概略図である。
図３０ａおよび図３０ｂは、図２８による、音分離の関数を説明するためのセグメント沿った、音声信号のスペクトルの振幅経路からの区分の概略図である。
図３１は、図２７の音の平滑化を説明するためのフローチャートである。
図３２は、図１による、音の平滑化の手順を説明するためのメロディライン経路からのセグメントを示す概略図である。
図３３は、図２７のオフセット認識および補正を説明するためのフローチャートである。
図３４は、図３３による、手順を説明するための２方向整流フィルタ後の音声信号およびその補間からの区分の概略図である。
図３５は、考えられるセグメント延長を行う場合の２方向整流フィルタ後の音声信号およびその補間からの区分を示す。
【発明を実施するための最良の形態】
【００２６】
以下に、図面の説明を参照して、音声信号からポリフォニック呼出メロディを生成するという特別な場合の適用例について、単に一例として本発明を説明することに留意されたい。しかしながら、次の点についてはっきりと留意されたい。本発明はもちろん、この場合の適用例に限定されるわけではなく、本発明のメロディ抽出または自動トランスクリプションが、例えば、データベース検索を容易にすること、単なる音楽作品の認識、音楽作品を具体的に比較することにより著作権の維持を可能にすること等や、ミュージシャンにトランスクリプション結果を示すことができるようにするために、単なる音声信号トランスクリプションにも用いることができる。
【００２７】
図１は、所望のメロディを含む音声信号から、ポリフォニックメロディを生成する装置の実施の形態を示す。換言すれば、図１は、リズムおよびハーモニー抽出を行い、メロディを表す音声信号の新規の計測を行い、適した伴奏により得られるメロディを補助する装置を示す。
【００２８】
全体を３００と表す図１の装置は、音声信号を受信するための入力３０２を含んでいる。この場合は、装置３００または入力３０２が、例えば、ＷＡＶファイル等の時間サンプリング表現での音声信号を想定している場合の例である。しかしながら、音声信号は、例えば、非圧縮または圧縮した形式、または周波数帯域表現等の別の形式で、入力３０２に存在してもよい。装置３００はさらに、任意のフォーマットでポリフォニックメロディを出力する出力３０４を含んでいる。この場合は、ＭＩＤＩフォーマットのポリフォニックメロディを出力する例が仮定される（ＭＩＤＩ＝音楽楽器デジタルインターフェース）。入力３０２と出力３０４との間に、抽出手段３０４、リズム手段３０６、キー手段３０８、ハーモニー手段３１０および合成手段３１２が、この順序で直列に接続する。さらに、手段３００は、メロディ記憶装置３１４を含む。キー手段３０８の出力は、次のハーモニー手段３１０の入力だけでなく、メロディ記憶装置３１４の入力にさらに接続している。従って、ハーモニー手段３１０の入力は、上流側に配置されているキー手段３０８の出力だけでなく、メロディ記憶装置３１４の出力にも接続している。さらに、メロディ記憶装置３１４の入力は、用意されている識別番号ＩＤを受信するために提供される。さらに、合成手段３１２の入力は、スタイル情報を受信するために導入される。スタイル情報と、用意されている識別番号との意味は、次の機能説明からわかるであろう。抽出手段３０４およびリズム手段３０６はともに、リズム表現手段３１６を構成している。
【００２９】
図１の装置３００のセットアップについて上述したが、以下に、その機能について説明する。
【００３０】
抽出手段３０４は、音声信号から音符シーケンスを得るために、入力３０２で受信した音声信号を音符抽出または認識を受けさせるために導入される。本実施の形態では、抽出手段３０４をリズム手段３０６に渡す音符シーケンス３１８は、音符ｎそれぞれに対し、例えば、音または音符の開始をそれぞれ、秒で表す音符開始時間ｔn、例えば、秒で表す音符の音符継続時間である、音または音符継続時間τn、例えば、ＭＩＤＩ音符で表すＣ、Ｆシャープ等の、量子化音符または音ピッチ、音符の音量Ｌｎ、音符シーケンスに含まれる音または音符の正確な周波数ｆnの型式で表される。ｎは、次の音符の大きさで大きくなる音符シーケンスの各音符、または音符シーケンスの各音符の位置を示すインデックスを表す。
【００３１】
音符シーケンス３１８を生成する手段３０４によって行われる、メロディ認識または音声トランスクリプションについて、図２〜図３５を参照して、より詳細に説明する。
【００３２】
音声信号３０２で表したように音符シーケンス３１８は、やはりメロディを表す。次に、音符シーケンス３１８は、リズム手段３０６に供給される。供給した音符シーケンスを分析するために、リズム手段３０６を用いる。時間長、１拍裏、すなわち、音符シーケンスの時間ラスタを求め、音符シーケンスの個別の音符を、例えば、全音符、半音符、四分音符、八分音符等の一定時間の適した時間限定長に適用し、音符の音符開始を時間ラスタに調整するためである。従って、リズム手段３０６からの音符シーケンス出力は、リズミカルに表現した音符シーケンス３２４を表す。
【００３３】
リズミカルに表現した音符シーケンス３２４で、キー手段３０８は、キー判定と、適用可能ならば、キー補正とを行う。特に、手段３０８は、音符シーケンス３２４に基づいて、例えば、歌った音楽作品のモード、すなわち長調または短調を含む、音符シーケンス３２４または音声信号３０２が表す、ユーザメロディのメインキーまたはキーを求める。その後、美しい響きのサウンドの最終的な結果となるように、すなわち、リズミカルに表現したおよびキー補正音符シーケンス７００となるように、さらに、音階に含まれない音符シーケンス１１４の音または音符を認識し、補正する。これが、ハーモニー手段３１０に送られ、ユーザが要求したメロディのキー補正形式を表す。
【００３４】
キー判定に関する手段３２４の機能は、異なるやり方で実施することもできる。例えば、キー判定は、以下に記載の方法で行ってもよい。クルムハンシル（Ｋｒｕｍｈａｎｓｌ）、Ｃａｒｏｌ  Ｌ．著、「音楽ピッチの認識の基礎」（オックスフォード大学出版、１９９０年）、または、テンパーレイ（Ｔｅｍｐｅｒｌｅｙ）、Ｄａｖｉｄ著、「基礎音楽構造の認識」ＭＩＴ出版、２００１年）。
【００３５】
ハーモニー手段３１０は、手段３０８から音符シーケンス７００を受信し、この音符シーケンス７００によって表わされるメロディの適した伴奏を検索するために導入される。このために、手段３１０は、水平方向に作用または動作する。特に、手段３１０は、各時間で発生した音符Ｔnの音または音ピッチの統計データを生成するように、リズム手段３０６が求めた時間ラスタで判定するように、小節毎に動作可能である。次に、発生する音の統計データが、キー手段３０８が求めたような、メインキーの音階の考えられる和音と比較される。手段３１０は、特に、統計データが示すように、それぞれの時間で音と一番合う音を有する考えられる和音から、その音を選択する。このように、手段３１０は、例えば、歌を歌った各時間で、音または音符の最も適した１つの和音を時間毎に求める。換言すれば、和音進行が、メロディ経路に対して作成されるように、手段３１０は、モードに基づいて、和音段階の基本キーを手段３０６によって検出された時間に対応付ける。手段３１０の出力で、ＮＬを含むリズミカルに表現したおよびキー補正音符シーケンスとは別に、さらに、時間毎の和音段階表示を合成手段３１２に出力する。
【００３６】
合成を行うために、すなわち、最終的に得られるポリフォニックメロディを人工的に生成するために、合成手段３１２は、７０２の場合で示されるように、ユーザによって入力するスタイル情報を用いる。例えば、スタイル情報により、すなわちポップ、テクノ、ラテンまたはレゲエ等の、このポリフォニックメロディを生成する４つの異なるスタイルまたは音楽指示から、ユーザは選択する。これらのスタイルそれぞれについて、１つ、またはいくつかの伴奏パターンを合成手段３１２に保存する。伴奏を生成するために、合成手段３１２は、ここで、スタイル情報７０２が示す伴奏パターンを用いる。伴奏を生成するために、合成手段３１２は、小節毎の伴奏パターンをつなぎ合わせる。手段３１０により求めた時間の和音が、伴奏パターンがすでにある和音バージョンならば、次に、合成手段３１２は、単に、伴奏のこの時間の現在のスタイルの対応する伴奏パターンを選択する。しかしながら、一定時間の間、手段３１０が求めた和音が、手段３１２に保存されている伴奏パターンではない場合は、次に、合成手段３１２が、伴奏対応する数の半音だけ、パターンの音符を移動したり、別のモードの場合は、第３音を移動したり、第６音および第５音を半音だけ変更したりする。すなわち、長調和音の場合は半音上げ、短調和音の場合はまた別に変更する。
【００３７】
さらに、合成手段３１２は、主旋律を得るために、ハーモニー手段３１０から合成手段３１２へ送った音符シーケンス７００によって表されるメロディを測定し、最終的に伴奏および主旋律をポリフォニックメロディと合成し、出力３０４に、ＭＩＤＩファイル形式で現在の例として出力する。
【００３８】
キー手段３０８は、さらに、用意されている識別番号で、メロディ記憶装置３１４に音符シーケンス７００を保存するために導入される。ユーザが、出力３０４でのポリフォニックメロディの結果に満足しなかった場合は、用意されている識別番号を新規のスタイル情報とともに図１の装置にもう一度入力する。すぐに、メロディ記憶装置３１４は、用意されている識別番号で保存されているシーケンス７００をハーモニー手段３１０に送り、次に、上述のように、和音を求める。すぐに、和音により、新規のスタイル情報を用いて、合成手段３１２が、音符シーケンス７００に基づいて、新規の伴奏および新規の主旋律を生成して、出力３０４で、これを新規のポリフォニックメロディと合成する。
【００３９】
以下では、図２〜図３５を参照して、抽出手段３０４の機能について説明する。ここで、まずはじめに、図２〜図２６を参照して、手段３０４の入力でのポリフォニック音声信号３０２のメロディ認識を行う場合の手順について説明する。
【００４０】
まずはじめに、図２は、メロディ抽出または自動トランスクリプションの大まかな手順を示している。開始点は、上述のように、ステップ７５０におけるＷＡＶファイルで表す場合もある音声ファイルを、読み込みまたは入力を行う。その後、手段３０４は、ファイルに含まれる音声信号の時間／周波数表現またはスペクトルを生成するために、ステップ７５２で、音声ファイルの周波数分析を行う。特に、ステップ７５２は、周波数帯域に音声信号を分解することを含む。ここで、音声信号は、次に、スペクトル成分のセットに対して、各時間区分または各フレームのスペクトル値を得るために、それぞれスペクトルに分解されるウインドウ化の範囲で、好ましくは時間的に重複する時間区分に分割される。スペクトル成分のセットは、周波数分析７５２の基礎となる変換を選択することに依存している。特別な実施の形態は、次の図４を参照して、このことについて説明する。
【００４１】
ステップ７５２の後、手段３０４は、ステップ７５４で、重み付き振幅スペクトルまたは知覚関連スペクトルを求める。以下に、図３〜図８を参照して、知覚関連スペクトルを求める正確な手順について、より詳細に説明する。ステップ７５４の結果は、スペクトルを人の知覚感覚に調整するために、人の知覚感覚を反映する等音量曲線を用いて、周波数分析７５２から得られたスペクトルの再スケーリングである。
【００４２】
ステップ７５４の次の処理７５６では、音符セグメントに構成されたメロディラインの形式における出力信号のメロディを最終的に得るために、ステップ７５４から得られた知覚関連スペクトルを用いる。すなわち、次のフレームのグループそれぞれが、同じ対応付けられた音ピッチを有する形式である。これらのグループは、１つまたはいくつかのフレームに対して時間的に互いに間隔が開いていて、重複していないので、モノフォニックメロディの音符セグメントに対応している。
【００４３】
図２では、処理７５６は、３つのサブステップ７５８、７６０および７６２から構成されている。第１のサブステップでは、時間／基本周波数表現を得るために、知覚関連スペクトルを用い、この時間／基本周波数表現をもう一度用いて、１つのスペクトル成分または１つの周波数ビンが、フレーム毎に、正確に一意に対応付けられているように、メロディラインをもう一度求める。まずはじめに、この周波数ビンと、それぞれの周波数ビンの倍音を表す周波数ビンとで、非対数化知覚関連スペクトル値を介して、各フレームと、各周波数ビンとに対し、加算を行うために、ステップ７５４の知覚関連スペクトルが非対数化されるという事実により、時間／基本周波数表現は、サウンドを部分音に分離することを考えている。結果は、１つのフレーム毎の１つの範囲のサウンドとなる。各フレームに対し、主音または周波数または周波数を選択することにより、この範囲のサウンドから、メロディラインの判定を行う。サウンドの範囲は、その最大である。従って、ステップ７５８の結果は、多かれ少なかれ、１つの周波数ビンを各フレームに一意に正確に対応付けるメロディライン関数である。このメロディライン関数は、一方では、考えられるスペクトル成分またはビン、他方では、考えられるフレームにわたる、時間的／周波数領域または２次元メロディ行列のメロディライン経路をもう一度定義する。
【００４４】
次のサブステップ７６０および７６２は、連続メロディラインをセグメント化して、個別の音符にするために提供される。図２で、セグメント化は、セグメント化を入力周波数分解能、すなわち周波数ビン分解能で行うのか、またはセグメント化を半音分解能、すなわち周波数を半音周波数に量子化した後で行うのかに基づいている２つのサブステップ７６０および７６２から構成されている。
【００４５】
音符シーケンスをメロディラインセグメントから生成するために、処理７５６の結果は、ステップ７６４で処理する。各音符に対し、開始音符時点、音符継続時間、量子化音ピッチ、正確な音ピッチ等が対応付けられている。
【００４６】
図１の抽出手段３０４の機能について、図２を参照して上述した後、次に、一般に、以下に図３を参照して、入力３０２の音声ファイルで表す音楽が元のポリフォニックによる場合に対して、この機能についてより詳細に説明する。ポリフォニック音声信号とモノフォニック音声信号との間の区別は、次の考えから得られる。音楽演奏能力があまりない人が、モノフォニック音声信号を生成することが多く、これには音楽的欠点が含まれているので、セグメント化を行うのに若干異なる手順が必要となる。
【００４７】
はじめに２つのステップ７５０および７５２では、図３は、図２に対応している。すなわち、まずはじめに、音声信号に７５０を入力されて、この周波数分析７５２を行う。本発明の一実施の形態によれば、ＷＡＶファイルは、たとえば、サンプリング周波数１６ｋＨｚで個別に音声サンプルをサンプリングしたフォーマットである。個別のサンプルは、ここでは、例えば、１６ビットフォーマットで存在する。さらに、以下に、音声信号がモノラルファイルとして存在する場合を例として考える。
【００４８】
次に、例えば、歪みフィルタバンクおよびＦＦＴ（高速フーリエ変換）を用いて、周波数分析７５２が行われる。特に、周波数分析７５２で、まずはじめに、音声値シーケンスが５１２サンプルのウインドウ長でウインドウ化される。１２８サンプルのホップサイズを用いる。すなわち、１２８サンプル毎にウインドウ化を繰り返す。１６ｋＨｚのサンプルレートと１６ビットの量子化分解能とを用いると、これらのパラメータは、時間および周波数分解能の両方をうまく満足させる。これらの一例の設定により、１つの時間区分または１つのフレームは、８ミリ秒の時間に対応している。
【００４９】
約１，５５０Ｈｚまでの周波数範囲に対し、特別な実施の形態による歪みフィルタバンクが用いられる。低周波数に対し十分に良好な分解能を得るために、このことが必要である。良好な半音分解能に対し、十分な周波数帯域を利用できるようにする必要がある。１００Ｈｚの周波数で、１６ｋＨｚのサンプルレートで−０．８５からのラムダ値では、約２つ〜４つの周波数帯域が１つの半音に対応している。低周波数については、各周波数帯域は、１つの半音に対応付けられている。次に８ｋＨｚまでの周波数範囲には、ＦＦＴが用いられる。ＦＦＴの周波数分解能は、約１，５５０Ｈｚからの良好な半音表現に十分である。ここで、約２つ〜６つ周波数帯域は、半音に対応している。
【００５０】
一例としての上述の実施例では、歪みフィルタバンクの遷移パフォーマンスについて留意されたい。好ましくは、このために、２つの変換を組み合わせて時間同期が行われる。例えば、出力スペクトルＦＦＴの最後の１６フレームについて考えないように、フィルタバンク出力の最初の１６フレームは廃棄される。適した解釈では、振幅レベルは、フィルタバンクおよびＦＦＴで全く同じで、調整する必要はない。
【００５１】
図４は、例として、歪みフィルタバンクおよびＦＦＴの組み合わせの直前の実施の形態から得られた、音声信号の振幅スペクトルまたは時間／周波数表現またはスペクトルを示す。図４の横軸の時間ｔを秒（ｓ）で示し、縦軸の周波数ｆはＨｚで動作する。個別のスペクトル値の高さは、グレースケールである。換言すれば、音声信号の時間／周波数表現は、１つには（縦軸）、考えられる周波数ビンまたはスペクトル成分、もう一方では（横軸）時間区分またはフレームにわたる、二次元領域である。フレームのあるタプルと周波数ビンとで、この領域の各位置に対して、スペクトル値または振幅が対応付けられている。
【００５２】
特別な実施の形態によれば、歪みフィルタバンクで算出した振幅が、次の処理に十分正確でないことがあるので、図４のスペクトルの振幅も、周波数分析７５２の範囲で後処理する。周波数帯域の中心周波数に正確になっていない周波数は、周波数帯域の中心周波数に正確に対応している周波数より低い振幅値である。また、歪みフィルタバンクの出力スペクトルでは、隣接周波数帯域へのクロストークについても、ビンまたは周波数ビンと呼ぶことになる。
【００５３】
障害となる振幅を補正するために、クロストークの作用を用いてもよい。最大で、各方向の２つの隣接周波数帯域が、これらの障害の影響を受ける。一実施の形態によれば、この理由で、図４のスペクトルでは、各フレーム内で、隣接ビンの振幅は、中心ビンの振幅値に加えられる。これは、すべてのビンに当てはまる。音楽信号で２つの音周波数が特に互いに近い場合に、誤った振幅値が算出される恐れがあり、２つの元の正弦部分より大きい値のファントム周波数を生成するので、１つの好適な実施の形態では、直接隣接するビンの振幅値だけを元の信号部分の振幅に加えられる。このことは、精度と、直接隣接するビンを加えることによる副作用の発生との両方をうまく満足させることを表す。振幅値の精度が低いにもかかわらず、３つまたは５つの周波数帯域を加算することで、算出した振幅値の変化を無視できるので、この両方をうまく満足させることは、メロディ抽出に関して許容できる。これに対して、ファントム周波数の展開は、さらに重要である。音楽作品に同時に発生するサウンドの数で、ファントム周波数の生成を増加させる。メロディラインに対する検索では、これにより、誤った結果を導くこともある。好ましくは、正確な振幅の算出が、歪みフィルタバンクとＦＦＴとの両方に行うので、続いて、振幅レベルで完全な周波数スペクトルにわたって、音楽信号が表される。
【００５４】
歪みフィルタバンクとＦＦＴとの組み合わせから信号分析を行う上記の実施の形態は、聴覚適用周波数分解能を行うことと、半音毎に十分な数の周波数ビンを存在させることとが可能になる。参照する実施例のより詳細については、次に文献に記載されている。クラース・デルボーヘン（Ｃｌａｓｓ  Ｄｅｒｂｏｖｅｎ）の論文「多音可聴周波信号から音声物体を検出する方法のための装置と研究」（イルメナウ工業大学２００３年）、およびオラフ・シュロイジング（Ｏｌａｆ  Ｓｃｈｌｅｕｓｉｎｇ）の論文「可聴周波信号からメタデータを抽出するための周波数帯変換の研究」（イルメナウ工業大学２００２年）。
【００５５】
上述のように、周波数分析７５２の分析結果は、スペクトル値の行列またはフィールドである。これらのスペクトル値は、振幅による音量を表す。しかしながら、人間の音量知覚は、対数分割である。従って、振幅スペクトルをこの分割に調整することは、賢明である。これを、次のステップ７５２の対数化７７０で行う。対数化７７０では、すべてのスペクトル値が、人の対数音量知覚に対応する音圧力レベルのレベルに対数化される。特に、スペクトルにおけるスペクトル値ｐの対数化７７０では、周波数分析７５２から得られるように、音圧力レベル値または対数化スペクトル値Ｌに対し、ｐがマッピングを行う。ｐ0は、ここでは音の基準圧力、すなわち、１，０００Ｈｚの最も小さい知覚可能な音圧力の音量レベルを表す。
2008516288.tif 000003
【００５６】
対数化７７０のうち、この基準値は、まずはじめに求める必要がある。アナログ信号分析では、基準値として、最も小さい知覚可能な音圧力ｐ0を用いられるが、この規則性を、デジタル信号処理に送信することは、簡単でないことがある。基準値を求めるには、一実施の形態によれば、図７に示すように、このためにサンプル音声信号が用いられる。図７は、時間ｔに対するサンプル音声信号７７２を示す。Ｙ方向では、示されている最も小さいデジタル単位で振幅Ａがグラフ化される。これからわかるように、サンプル音声信号または基準信号７７２は、示されている１つのＬＳＢ振幅値または最も小さいデジタル値で存在している。換言すれば、基準信号７７２の振幅は、１ビットだけで振動する。基準信号７７２の周波数は、人間の聴感閾値の最も高い感度の周波数に対応している。しかしながら、場合によっては、基準値に対する他の判定が、より利点がある場合もある。
【００５７】
図５では、図４のスペクトルの対数化７７０の結果が、例として示される。対数化スペクトルの一部分が、対数化のために負の値の範囲にある場合は、全周波数範囲にわたって正の結果を得るために、さらに処理を行う際に意味をなさない結果となることを防止するために、これらの負のスペクトルまたは振幅値は、０ｄＢに設定される。念のために、次のことに留意されたい。図５では、対数化スペクトル値を図４と同じように示している。すなわち、時間ｔおよび周波数ｆにわたる行列で配置し、値により、グレースケールで配置している。すなわち、色が濃くなるほど、それぞれのスペクトル値が高くなっている。
【００５８】
人間の音量評価は、周波数依存である。従って、人のこの周波数依存の評価の調整値を得るために、対数化７７０から得られる、対数化スペクトルを、ステップ７７２で次のように評価する。このために、等音量曲線７７４が用いられる。人間の知覚により、低周波数の振幅値の評価は、高周波数の振幅よりも低いので、特に、周波数音階にわたる音楽サウンドの異なる振幅評価を人間の知覚に対して調整するために、評価７７２が必要である。
【００５９】
現在の例として、等音量曲線７７４に対して、次の文献に記載の曲線特性を用いる。ドイツ規格化協会（Ｄｅｕｔｃｈｅｓ  Ｉｎｓｔｉｔｕｔ  ｆｕｅｒ  Ｎｏｒｍｕｎｇ）、社団法人、「音響測定の基礎、同一音位の基準曲線」（ＤＩＮ４５６３０２ページ、１９６７年）。グラフ経路が、図６に示される。図６からわかるように、等音量曲線７７４は、それぞれ、単音で示される、異なる音量レベル対応付けられている。特に、これらの曲線７７４は、それぞれの曲線に位置する任意の音圧力レベルは、それぞれの曲線の同じ音量レベルに対応するように、ｄＢの音圧力レベルを各周波数に対応付ける関数を示している。
【００６０】
好ましくは、等音量曲線７７４は、手段２０４に分析的形式で存在している。もちろん、音量レベル値を周波数ビンおよび音圧力レベル量子化値の各対に対応付けるルックアップテーブルとして備えることも考えられる。最も低い音量レベルの音量曲線には、例えば、次の式を用いることもできる。
2008516288.tif 000004
しかしながら、ドイツ工業規格に基づくこの曲線の形と聴感閾値の間には、低周波数および高周波数値の範囲で、偏差がある。調整のために、図６の上述のドイツ工業規格の最も低い音量曲線の形に対応するように、利用されていない聴感閾値の関数パラメータは、上記の式により、変更されてもよい。次に、この曲線は、１０ｄＢの間隔でより高い音量レベルの方向に縦に移動され、関数パラメータは、関数グラフ７７４のそれぞれの特性に調整される。中間値は、線形補間により、１ｄＢの幅で求められる。好ましくは、最も高い値範囲の関数が、１００ｄＢのレベルで評価する。１６ビットのワード幅が９８ｄＢのダイナミックレンジに対応しているので、これで十分である。
【００６１】
同じ音量の曲線７７４に基づいて、ステップ７７２における手段３０４は、各対数化スペクトル値、すなわち、図５のアレイにおける各値でマッピングする。周波数ｆまたは周波数ビンにより、そして音圧力レベルを表すその値により、音量レベルを表す知覚関連スペクトル値に属している。
【００６２】
図５の対数化スペクトルの場合のこの手順の結果は、図８に示される。これからわかるように、図８のスペクトルでは、低周波数はもはや特に重要ではない。より高い周波数およびそれらの倍音が、この評価によりさらに強く強調される。これも、異なる周波数の音量を評価する人間の知覚に対応している。
【００６３】
上述のステップ７７０〜７７４は、図２からのステップ７５４の考えられるサブステップを表している。
【００６４】
ステップ７７６でのスペクトルの評価７７２を行った後で、図３の方法では、基本周波数判定または音声信号の各サウンド全体的な強度の算出を続ける。このために、ステップ７７６では、各主音の強度が、対応付けられたハーモニーに加えられる。物理的視野から、サウンドは、対応付けられた部分音のうちの主音からなる。ここで、部分音は、サウンドの基本周波数の整数の倍数である。部分音または倍音について、高調波とも呼ぶ。ここで、各主音に対して、その強度と、それぞれ対応付けられたハーモニーとを加算するために、ステップ７７６において、各考えられる主音、すなわち各周波数ビンに対し、主音の整数の倍数である倍音または倍音を検索するために、ハーモニーラスタ７７８が用いられる。従って、主音としての特定の周波数ビンに対し、さらに、主音の周波数ビンの整数の倍数に対応する周波数ビンは、倍音周波数として対応付けられている。
【００６５】
ステップ７７６において、考えられる主音周波数すべてに対し、音声信号のスペクトルの強度が、それぞれの主音およびその倍音で加算される。しかしながら、これを行う際に、音楽作品でいくつかの同時に発生するサウンドにより、サウンドの主音が、低周波数の主音を有する別のサウンドの倍音でマスクされる可能性があるので、個別の強度値の重み付けが行われる。また、サウンドの倍音が別のサウンドの倍音でマスクされる場合もある。
【００６６】
いずれにしても共に属するサウンドの音を求めるために、ステップ７７６において、ゴトウマサタカのモデルの原理に基づいて、音モデルが用いられ、周波数分析７５２のスペクトル分解能を調整する。ゴトーの音モデルは、次の文献に記載されている。ゴトー、Ｍ著、「ＣＤ録音でメロディラインおよびバスラインのリアルタイム検出を行うための安定したプレドミナントＦＯ推定方法」、（音響、音声および信号処理ＩＥＥＥ国際会議会報、２０００年トルコ、イスタンブール）。
【００６７】
各周波数帯域または周波数ビンのハーモニーラスタ７７８により、サウンドの考えられる基本周波数に基づいて、それに属する倍音周波数が対応付けられている。好適な実施の形態によれば、例えば、８０Ｈｚ〜４，１００Ｈｚの１つの特定の周波数ビン範囲でだけ、基本周波数の倍音が検索され、１５次高調波についてだけ考える。これを行う際に、異なるサウンドの倍音は、いくつかの基本周波数の音モデルに対応付けられている場合もある。この作用により、検索したサウンドの振幅比率を、基本的に変更してもよい。この作用を弱めるために、部分音の振幅は、１／２ガウスフィルタで評価される。ここで、基本音は最も高い原子価を受信する。任意の次の部分音は、その次数により、より低い重み付けを受信する。例えば、小さい順のガウス形で、重み付けが小さくなる。従って、実際の倍音をマスクする別のサウンドの倍音振幅が、検索した音声の全体的な結果に特別に作用することはない。より高い次数の各倍音ではなく、より高い周波数のスペクトルの周波数分解能が低くなるので、対応する周波数があるビンが存在する。検索した倍音の周波数環境の隣接するビンに対するクロストークのために、ガウスフィルタを用いて、最も近い周波数帯域にわたり、検索した倍音の振幅について、比較的よい再生を行ってもよい。従って、同じ周波数帯域の倍音周波数または強度を、周波数ビン単位で求めるだけでなく、倍音周波数での強度値を正確に求めるために、補間を用いてもよい。
【００６８】
しかしながら、ステップ７７２の知覚関連スペクトルで強度値にわたる加算は直接行わない。そうではなく、はじめにステップ７７６において、まずはじめに、ステップ７７０からの基準値を利用して、図８の知覚関連スペクトルの非対数化を行う。結果は、非対数化知覚関連スペクトル、すなわち、周波数ビンとフレームとの各タプルの非対数化知覚関連スペクトル値のアレイとなる。この非対数化知覚関連スペクトル内で、各考えられる主音に対し、対応付けられたハーモニーのハーモニーラスタ７７８を用いて、主音のスペクトル値と、適用可能ならば、補間したスペクトル値が加算される。すべての考えられる主音周波数の周波数範囲のサウンド強度値と、８０〜４，０００Ｈｚの範囲内だけの、上述の例での各フレームに対するサウンド強度値とになる。換言すれば、ステップ７７６の結果がサウンドスペクトルである。ステップ７７６自体が、音声信号のスペクトル内のレベル加算に対応している。ステップ７７６の結果は、例えば、考えられる主音周波数の周波数範囲内の各周波数ビンに対する行と、各フレームの列とから構成される新規の行列に入力される。各行列要素、すなわち、列および行の交差のそれぞれで、対応する周波数ビンの加算結果が主音として入力される。
【００６９】
次に、ステップ７８０で、考えられるメロディラインの事前判定が行われる。メロディラインは、時間で関数、すなわち、正確に１つの周波数帯域または１つの周波数ビンを各フレームに対応付ける関数に対応している。換言すれば、ステップ７８０で求めたメロディラインが、ステップ７７６のサウンドスペクトルまたは行列の定義範囲に沿ったトレースを定義している。周波数軸に沿ったトレースは重複していないし、曖昧でもない。
【００７０】
ステップ７８０における、サウンドスペクトルの全周波数範囲の各フレームに対し、最大振幅、すなわち、最も高い加算値を求めるように、判定が行われる。結果、すなわち、メロディラインは主に、音声信号３０２の基礎となる音楽タイトルのメロディの基本経路に対応している。
【００７１】
ステップ７７２における等音量曲線のスペクトル評価と、ステップ７８０における最大強度の音の結果の検索とは、主旋律は、人が最も大きく、最も簡潔であると認知する音楽タイトルの部分であるという、音楽科学の報告をサポートするものである。
【００７２】
上述のステップ７７６〜７８０は、図２のステップ７５８の考えられるサブステップを示している。
【００７３】
ステップ７８０の考えられるメロディラインで、メロディに属していないセグメントが配置されている。メロディ休符またはメロディ音符間で、例えば、低音域経路または他の伴奏楽器からの主要なセグメントを検出してもよい。これらのメロディ休符は、図３の後のステップから除外する必要はない。これ以外は、短い個別の要素は、タイトルの任意の範囲に対応付けられていない結果となる。これらを、例えば、以下に説明するように、３×３平均値フィルタを用いて除去する。
【００７４】
ステップ７８０において、考えられるメロディラインの判定を行った後で、ステップ７８２において、まずはじめに、一般セグメント化７８２が行われる。これは、明白に、実際のメロディラインに属していない、考えられるメロディラインを除外する。図９では、例えば、ステップ７８０のメロディライン判定結果は、図８の知覚関連スペクトルの場合の例として示される。図９は、ｘ軸に沿った時間ｔまたはフレームシーケンスと、ｙ軸に沿った周波数ｆまたは周波数ビンとに対するメロディライングラフ化を示している。換言すれば、図９では、ステップ７８０のメロディラインは、バイナリ画像アレイの型式で示される。これは、以下で、メロディ行列ともよく呼ばれ、各周波数ビンの行と、各フレームの列とから構成されている。メロディラインが存在しないアレイの点すべては、０の値または白から構成され、メロディラインが存在するアレイの点は、１の値または黒で構成されている。これらの点は結果として、周波数ビンと、ステップ７８０のメロディライン関数で互いに対応付けられたフレームとのタプルで配置されている。
【００７５】
図９に参照番号７８４で示されている図９のメロディラインで、ここで、一般セグメント化のステップ７８２が行われる。図１０を参照して、考えられる実施例をより詳細に説明する。
【００７６】
一般セグメント化７８２は、周波数／時間範囲の表現で、メロディライン７８４のフィルタリングを行うステップ７８６において、開始する。図９に示すように、メロディライン７８４は、周波数ビンと、フレームとにわたるアレイのバイナリトレースとして示される。図９のピクセルアレイは、例えば、ｘ×ｙピクセルアレイである。ｘはフレームの数に対応し、ｙは周波数ビンの数に対応している。
【００７７】
ステップ７８６で、メロディラインの小さな異常値またはアーティファクトを除去するために提供される。図１１は、例として、図９による表現において、メロディライン７８４の考えられる形を概略で示している。これからわかるように、ピクセルアレイは、領域７８８を示している。この領域では、継続時間が短い時間なので実際のメロディに特に属していないと考えられるメロディライン７８４の区分に対応している別の黒ピクセル要素が配置されている。従ってこれを除外する。
【００７８】
ステップ７８６で、メロディラインをバイナリで示す図９または図１１のピクセルアレイからの理由で、はじめに、対応するピクセルおよびこのピクセルに隣接するピクセルで、バイナリ値の加算に対応する各ピクセルの値を入力することにより、第２のピクセルアレイが生成される。このために、図１２ａを参照する。そこで、図９または図１１のバイナリ画像におけるメロディライン経路の一例の区分が示される。図１２ａの一例の区分は、異なる周波数ビン１〜５に対応する５つの行と、異なる隣接フレームに対応する５つの列Ａ〜Ｅとを含む。メロディライン部分を表す対応するピクセル要素に斜線を付して、図１２でメロディラインの経路が表される。図１２ａの実施の形態によれば、メロディラインにより、周波数ビン４は、フレームＢに対応付けられ、周波数ビン３は、フレームＣに対応付けられている。また、メロディラインにより、周波数ビンは、フレームＡに対応付けられている。しかしながら、これは、図１２ａの区分の５つの周波数ビンの間にない。
【００７９】
ステップ７８６のフィルタリングで、まずはじめに、既に述べたように、各ピクセル７９０に対し、そのバイナリ値と隣接ピクセルのバイナリ値とが加算される。例えば、これを、図１２ａのピクセル７９２に例として示している。７９４で、ピクセル隣接ピクセル７９２およびピクセル７９２自体を取り囲む四角が描かれている。ピクセル７９２の周囲の領域７９４で、メロディラインに属する２つのピクセルだけが、すなわち、フレームＣおよびビン３で、ピクセル７９２自体およびピクセルＣ３が配置されているので、ピクセル７９２に対し、次に、２の合計値となる。さらに任意のピクセルに対して領域７９４を移動していくことにより、この加算が繰り返される。これにより、以下で中間行列としばしば呼ぶ、第２のピクセル画像となる。
【００８０】
次に、この第２のピクセル画像は、ピクセル毎のマッピングを行う。ピクセル画像で、０または１のすべての合計値をゼロにマッピングし、２以上のすべての合計値を１にマッピングする。このマッピングの結果が、図１２ａの例の場合の個別のピクセル７９０の“０”および“１”の数字で、図１２ａに示される。これからわかるように、３×３加算と、次の閾値２を用いた“１”および“０”マッピングの組み合わせにより、メロディラインが“不鮮明になる”。いわば、この組み合わせが、ローパスフィルタとして作用し、これは不要になる。従って、ステップ７８６の範囲で、第１のピクセル画像、すなわち、図９または図１１のもの，または図１２の斜線を付したピクセルで表したピクセル画像が、第２のピクセルアレイ、すなわち、図１２ａの０と１とで表すもので、で乗算される。この乗算は、フィルタリング７８６によるメロディラインのローパスフィルタリングを回避し、周波数ビンとフレームとの曖昧でない対応付けを加算的に確実に行う。
【００８１】
図１２ａの区分の乗算の結果は、フィルタリング７８６が、メロディラインで全く変更しないことである。この領域でメロディラインは明らかにコヒーレントで、ステップ７８６のフィルタリングは、異常値またはアーティファクト７８８を除去するために提供されるので、このことはここで所望のことである。
【００８２】
フィルタリング７８６の作用を説明するために、図１２ｂは、さらに、図９または図１１のメロディ行列からの一例の区分を示している。これからわかるように、ここで、加算および閾値マッピングの組み合わせは、中間行列を導く。これらのピクセル位置に存在するメロディラインを示す図１２ｂのハッチングからわかるように、メロディ行列は、これらのピクセル位置で１のバイナリ値で構成されているが、２つの個別のピクセルＰ４およびＲ２のバイナリ値が０を得る。従って、乗算後に、ステップ７８６のフィルタリングを行うことにより、これらのたまに発生するメロディラインの“異常値”が除去される。
【００８３】
ステップ７８６の後、一般セグメント化７８２の範囲で、次はステップ７９６である。所定の周波数範囲内にないメロディライン部分が無視されるという事実により、メロディライン７８４の部分が除去される。換言すれば、ステップ７９６において、ステップ７８０のメロディライン関数の値範囲が、所定の周波数範囲に制限される。もう一度換言すれば、ステップ７９６で、図９または図１１のメロディ行列のすべてのピクセルが０に設定される。これらは、所定の周波数範囲外にある。現在想定するようなポリフォニック分析の場合、周波数範囲は、例えば、１００〜２００から１，０００〜１，１００Ｈｚの範囲、好ましくは１５０〜１，０５０Ｈｚの範囲である。図２７以降を参照して想定するように、モノフォニック分析の場合は、周波数範囲は、例えば、５０〜１５０から１，０００〜１，１００Ｈｚの範囲、好ましくは８０から１，０５０Ｈｚの範囲である。この帯域幅に周波数範囲を制限することにより、ポピュラー音楽のメロディの大抵のものは、人間の言語のように、この周波数範囲内にある歌を歌うことで表されているという所見をサポートする。
【００８４】
ステップ７９６を説明するために、図９で、例として、１５０から１，０５０Ｈｚの範囲の周波数範囲が、下のカットオフ周波数ライン７９８と、上のカットオフ周波数ライン８００とで示される。図１３は、ステップ７８６でフィルタして、ステップ７９６で刈り込んだメロディラインを示している。これは、図１３で参照番号８０２として区別している。
【００８５】
ステップ７９６の後、ステップ８０４で、小さすぎる振幅のあるメロディライン８０２の区分の除去が実施される。抽出手段３０４は、ここで、ステップ７７０の図５の対数スペクトルに戻る。特に、抽出手段３０４は、図５の対数化スペクトルで、メロディライン８０２が送られる周波数ビンおよびフレームの各タプルの対応する対数化スペクトル値を検索して、対応する対数化スペクトル値が、図５の対数化スペクトルで、所定のパーセンテージの最大振幅または最大対数化スペクトル値よりも少ないかどうか判定する。モノフォニック分析では、このパーセンテージは好ましくは、２０から４０％の間、好ましくは３０％であるが、ポリフォニック分析の場合、このパーセンテージは、好ましくは、５０から７０％の間、好ましくは６０％である。この場合のメロディライン８０２の部分は、無視される。この手順は、メロディが通常、常に、おおよそ同じ音量となること、または急に大音量に変動することがまず予測されないという条件をサポートする。従って、換言すれば、ステップ８０４において、図９または図１７のメロディ行列のピクセルすべては、対数化スペクトル値が、最大対数化スペクトル値の所定のパーセンテージより小さくなる、ゼロに設定される。
【００８６】
ステップ８０４の後、ステップ８０６において、残りのメロディラインのこれらの区分の除去は、続いて、ある程度連続するメロディ経路をごく短く示すために、メロディラインの経路が周波数方向に不規則に変化する。このことを説明するために、Ａ〜Ｍの次のフレームにわたるメロディ行列からの区分を示す図１４を参照する。フレームは列に配列され、列方向に沿って、周波数が下から上に増加している。理解しやすいように、図１４には周波数ビン分解能が示されない。
【００８７】
ステップ８０４から得られるようなメロディラインが、例として、図１４に参照番号８０８で示される。これからわかるように、次に、フレームＤと、半音間隔ＨＴより大きいフレームＥとの間の周波数ジャンプを示すために、メロディライン８０８が、フレームＡ〜Ｄの１つの周波数ビンに常に残っている。次に、フレームＨからフレームＩまでにやはり入るために、次に、半音間隔ＨＴ以上によりフレームＥとフレームＨとの間に、メロディライン８０８が、やはり１つの周波数ビンに常に残っている。半音間隔ＨＴより大きいこのような周波数ジャンプが、フレームＪとフレームＫとの間でやはり発生している。そこから、メロディライン８０８が、フレームＪとフレームＭとの間に、１つの周波数ビンに常に残っている。
【００８８】
ステップ８０６を行うために、手段３０４は、ここで、例えば前から後ろへ、フレーム毎にメロディラインのスキャンを行う。これを行う際に、手段３０４は、フレーム毎に、このフレームと次のフレームとの間で、半音間隔ＨＴより大きい周波数ジャンプが発生しているかどうか調べる。この場合は、手段３０２は、これらのフレームに印を付ける。図１４に、この印付けの結果が、例として、対応するフレームを丸で囲んで示される。ここでは、フレームＤ、ＨおよびＪである。第２のステップで、手段３０４は、ここで、所定の数の配列フレームより少ない数の印を付けたフレームの間で調べる。この場合は、所定の数は、好ましくは３つである。これを行うことにより、同じ時間だが、４つのフレーム要素の長さより短い、すぐ次のフレームの間で、半音小さい同じジャンプで、メロディライン８０８の区分が全体的に選択される。この一例の場合、フレームＤとフレームＨとの間で、３つのフレームがある。これは、フレームＥ〜Ｈにわたり、メロディライン８０８は、せいぜい１つの半音だけジャンプすることにほかならない。しかしながら、印を付けたフレームＨとフレームＪとの間には、１つだけフレームがある。フレームＩおよびフレームＪの領域で、メロディライン８０８が、２つの半音以上、時間的に前後方向にジャンプすることにほかならない。従って、すなわちフレームＩおよびフレームＪの領域で、メロディラインの次の処理を行う間、メロディライン８０８のこの区分は無視される。現在のメロディ行列において、この理由で、フレームＩおよびフレームＪで、対応するメロディライン要素をゼロに設定する。すなわち、白になる。この除外は、２４ミリ秒に対応しているせいぜい３つの次のフレームである。しかしながら、３０ミリ秒より短い音は、今の音楽では滅多に発生しないので、ステップ８０６後の除外が、トランスクリプションの結果を悪化させることはない。
【００８９】
ステップ８０６の後、一般セグメント化７８２の範囲の処理は、ステップ８１０に進む。手段３０４は、ステップ７８０の前の考えられるメロディラインの残りの残余を、セグメントのシーケンスに分割する。セグメントに分割する際に、メロディ行列のすべての要素を、直接隣接する１つのセグメントまたは１つの軌跡に一体化する。このことを説明するために、図１５は、ステップ８０６の後の結果である、メロディライン８１２からの区分を示す。図１５に、メロディライン８１２の進行に沿って、メロディ行列からの個別の行列要素８１４だけを示す。どの行列要素８１４を１つのセグメントに一体化するか調べるために、手段３０４は例えば、次のようにこれを調べる。まずはじめに、手段３０４は、メロディ行列が、第１のフレームに対して印を付けた行列要素８１４を本当に含んでいるかどうか調べる。含んでいなければ、手段３０４は、次の行列要素に進み、対応する行列要素が存在するか、次のフレームをやはり調べる。そうでない場合は、すなわち、メロディライン８１２の一部である行列要素が存在する場合は、手段３０４は、メロディライン８１２の一部である行列要素が存在するか、次のフレームを調べる。この場合、手段３０４はさらに、この行列要素が、直前のフレームの行列要素に直接隣接するかどうか調べる。行方向に互いに直接隣接する場合、あるいは、対角線の角から角にある場合は、１つの行列要素が別のものに直接隣接する。次のフレームについても隣接関係がある場合は、次に、手段３０４は、隣接関係の存在を調べる。そうでない場合は、すなわち、隣接関係がない場合は、現在認識されているセグメントが直前のフレームで終わり、および新規のセグメントが現在のフレームで始まっている。
【００９０】
図１５に示すメロディライン８１２からの区分は、不完全なセグメントを表す。メロディラインの一部であるすべての行列要素８１４またはメロディラインが進んでいくすべての行列要素８１４は、互いに直接隣接する。
【００９１】
セグメントシーケンスとなるように、このように検出したセグメントに番号を振る。
【００９２】
一般セグメント化７８２の結果は、次に、メロディセグメントのシーケンスとなる。各メロディセグメントは、直接隣接フレームのシーケンスをカバーする。直前の実施の形態では、せいぜい１つの周波数ビンだけであるが、各セグメント内で、メロディラインは、せいぜい所定の数の周波数ビンだけ、フレームからフレームへジャンプする。
【００９３】
一般セグメント化７８２の後、手段３０４は、ステップ８１６において、メロディ抽出を続ける。ステップ８１６は、例えば、打楽器イベントのために、ステップ７８０におけるメロディライン判定ステップで、間違って他のサウンド部分が認識されて、一般セグメント化７８２でフィルタされてしまったような場合に向けて、隣接セグメント間のギャップを埋めることを行う。図１６を参照して、ギャップ埋め込み８１６は、より詳細に説明される。ギャップ埋め込み８１６は、ステップ８１８において判定した半音ベクトルに戻ることである。図１７を参照して、半音ベクトルの判定についてより詳細に説明する。
【００９４】
ギャップ埋め込み８１６ではやはり半音ベクトルを用いるので、以下に、はじめに図１７を参照して、可変半音ベクトルの判定が説明される。図１７は、メロディ行列入力した形式において、一般セグメント化７８２から得られる不完全なメロディライン８１２を示す。ステップ８１８において、半音ベクトルの判定を行う際に、手段３０４は、ここで、周波数ビンメロディライン８１２を何回送るか、または、いくつのフレームに送るか、定義する。８２０の場合で示すこの手順の結果は、各周波数ビンｆの周波数を示すヒストグラム８２２である。メロディライン８１２を何回送るか、または、メロディライン８１２の一部であるメロディ行列の行列要素をいくつ、それぞれの周波数ビンで配列するか、示している。このヒストグラム８２２から、手段３０４は、ステップ８２４において、最大周波数の周波数ビンを求める。これを、図１７の矢印８２６により示している。周波数ｆ0のこの周波数ビン８２６に基づいて、手段３０４は、次に、互いに離れた周波数、特に、半音長ＨＴの整数の倍数に対応する周波数ｆ0と離れた周波数から構成される周波数ｆiのベクトルを求める。半音ベクトルの周波数について以下では、半音周波数と呼ぶ。以下では、半音カットオフ周波数についても参照する場合もある。これらは、隣接半音周波数の間に正確に位置している。すなわち、正確に隣接半音周波数の中心となっている。音楽で通常見られるように、半音間隔を、通常の周波数ｆ0の２1/12と定義する。ステップ８１８において、半音ベクトルの判定を行うことにより、周波数ビンをグラフ化した周波数軸ｆを、半音カットオフ周波数から隣接カットオフ周波数に延びる半音領域８２８に分割する。
【００９５】
図１６を参照して以下に説明するように、ギャップ埋め込みは、周波数軸ｆを半音領域にこのように分割することに基づいている。上述で既に述べたように、メロディライン認識７８０または一般セグメント化７８２において、間違って得られたメロディライン８１２の隣接セグメントの間のギャップ埋めるように、ギャップ埋め込み８１６において試みられる。ギャップ埋め込みを、セグメントで行う。現在の基準セグメントに対し、ギャップ埋め込み８１６の範囲で、まずはじめに、ステップ８３０において、基準セグメントと従属セグメントとの間のギャップが、所定の数のｐフレームを下回るかどうか判定する。図１８は、例として、メロディライン８１２からの区分のあるメロディ行列からの区分を示している。例として考えられている場合では、メロディライン８１２は、セグメント８１２ａが上述の基準セグメントである、２つのセグメント８１２ａおよび８１２ｂの間のギャップ８３２を含んでいる。これからわかるように、図１８の一例における場合のギャップは、６つフレームである。
【００９６】
好適なサンプル周波数等で示す上記のこの一例の場合は、ｐは好ましくは４である。従って、この場合は、ギャップ８３２は、４つのフレーム以上あるので、ギャップ８３２がｑフレーム以上かどうか調べるために、処理はステップ８３４に進む。ｑは好ましくは１５である。この現在の場合、なぜ処理がステップ８３６に進むかというのは、基準セグメント８１２ａと次のセグメント８１２ｂのセグメントの終わりが、互いに向かい合っているかどうか、すなわち、セグメント８１２ａの終わりと次のセグメント８１２ｂの始まりとが、１つの半音領域または隣接する半音領域にあるがどうか調べることである。図１８では、状況を説明するために、ステップ８１８で求めたように、周波数軸ｆを半音領域に分割する。これからわかるように、図１８の場合では、互いに向き合っている、セグメント８１２ａおよび８１２ｂのセグメントの終わりが、１つの半音領域８３８にある。
【００９７】
ステップ８３６で肯定的な検証の場合ならば、ギャップ埋め込み範囲の処理は、ステップ８４０に進む。ステップ７７２の知覚関連スペクトルの振幅差が、基準セグメント８１２ａの終わりと、従属セグメント８１２ｂの始まりとの位置にあるかどうか調べる。換言すれば、手段３０４は、ステップ８４０において、ステップ７７２の知覚関連スペクトルのセグメント８１２ａの終わりとセグメント８１２ｂの始まりとの位置のそれぞれの知覚関連スペクトル値を検索し、２つのスペクトル値の差の絶対値を求める。さらに、手段３０４は、ステップ８４０で、差が所定の閾値ｒより大きいかどうか判定する。好ましくは２０〜４０％、さらに好ましくは、基準セグメント８１２ａの終わりの知覚関連スペクトル値の３０％である。
【００９８】
ステップ８４０における判定は、肯定的な結果となれば、ギャップ埋め込みはステップ８４２に進む。そこで、手段３０４は、基準セグメント８１２ａの終わりと従属セグメント８１２ｂの始まりとを直接つなぐメロディ行列のギャップ埋め込みライン８４４を求める。図１８に示すように、ギャップ埋め込みラインは好ましくは直線である。特に、接続線８４４は、ギャップ８３２が延びる、フレームにわたる関数である。関数は、１つの周波数ビンをこれらのフレームそれぞれに対応付けるので、メロディ行列で、所望の接続線８４４となる。
【００９９】
この接続線に沿って、手段３０４は、次に、知覚関連スペクトルのギャップ埋め込みライン８４４の周波数ビンとフレームとのそれぞれのタプルで検索することにより、ステップ７７２の知覚関連スペクトルから対応する知覚関連スペクトル値を求める。ギャップ埋め込みラインに沿ったこれらの知覚関連スペクトル値を介して、手段３０４は、平均値を求め、ステップ８４２の範囲で、基準要素８１２ａおよび従属セグメント８１２ｂに沿った、知覚関連スペクトル値の対応する平均値と比較する。比較の結果、ギャップ埋め込みラインの平均値が、基準セグメント８１２ａまたは次のセグメント８１２ｂの平均値以上であれば、次に、ステップ８４６においてギャップ８３２を埋め込む。すなわち、メロディ行列のギャップ埋め込みライン８４４を入力したり、その対応する行列要素を１に設定したりすることにより、行う。同時に、ステップ８４６において、セグメント８１２ａおよび８１２ｂを１つの共通セグメントに一体化するために、セグメントのリストが変更される。すぐに、基準セグメントおよび従属セグメントのギャップ埋め込みを完了する。
【０１００】
ステップ８３０において、ギャップ８３２の長さが４フレームを下回る場合は、やはり、ギャップ埋め込みライン８４４に沿ったギャップ埋め込みとなる。この場合、ステップ８４８において、ギャップ８３２は埋め込まれる。すなわち、ステップ８４６の場合のように、セグメント８１２ａ、８１２ｂの向かい合う終わりをつなぐ、直接の、好ましくは直線のギャップ埋め込みライン８４４に沿って、埋め込む。すぐに、２つのセグメントのギャップ埋め込みを完了し、もしあれば、従属セグメントに進む。これは図１６に示していないが、ステップ８３６に対応するある条件により、ギャップ埋め込みステップ８４８をさらに行う。すなわち、２つの向かい合うセグメントの終わりが、同じ半音領域または隣接半音領域にあるという事実によるものである。
【０１０１】
ステップ８３４、８３６、８４０または８４２にうちの１つにより、負の検証結果となった場合は、基準セグメント８１２ａのギャップ埋め込みを完了して、従属セグメント８１２ｂに対しもう一度行う。
【０１０２】
従って、ギャップ埋め込み８１６の結果はおそらく、適用可能ならば、メロディ行列の同じ場所のギャップ埋め込みラインを含む、セグメントまたはメロディラインの短くなったリストとなる。前の説明から得られるように、４フレームを下回るギャップでは、同じ半音領域または隣接する半音領域の隣接セグメント間の接続が常に得られる。
【０１０３】
考えられるメロディラインの判定７８０で間違って、誤った主音またはサウンドの主音が判定されたという事実により得られたメロディラインにおけるエラーを除外するために、ギャップ埋め込み８１６の次に、ハーモニーマッピング８５０が行われる。特に、オクターブ、第５音または長調第３音により、ギャップ埋め込み８１６を行って得られるメロディラインの個別のセグメントを移動するために、ハーモニーマッピング８５０がセグメント毎に行われる。以下に、より詳細に説明する。次の説明で示すように、間違って周波数でセグメントを誤って移動しないように、この条件は厳格である。図１９および図２０を参照して、ハーモニーマッピング８５０は、以下に、より詳細に説明される。
【０１０４】
既に述べたように、ハーモニーマッピング８５０は、セグメントで行われる。図２０は、例として、ギャップ埋め込み８１６を行った後で得られる、メロディライン区分を示す。このメロディラインは、図２０に参照番号８５２で示される。図２０の区分では、メロディライン８５２の３つのセグメントがわかる。すなわち、セグメント８５２ａ〜ｃである。メロディラインの図を、やはりメロディ行列におけるトレースとして表される。しかしながら、メロディライン８５２は、周波数ビンを、全部ではなく、個別のフレームに一意に対応付ける関数なので、図２０に示すトレースとなることに、やはり留意されたい。
【０１０５】
セグメント８５２ａおよび８５２ｃから得られるように、セグメント８５２ａと８５２ｃとの間のセグメント８５２ｂは、メロディライン経路が切り取られたように見える。特に、この場合は、セグメント８５２ｂは、例として、破線８５４に示すように、フレームギャップなしに基準要素８５２ａに接続している。同じように、例として、破線８５６で示すように、セグメント８５２がカバーする時間領域は、セグメント８５２ｃがカバーする時間領域に直接隣接する必要がある。
【０１０６】
図２０に、ここで、メロディ行列または時間的／周波数表現で、それぞれ、さらに破線、一点鎖線および二点鎖線ラインを示しているが、周波数軸ｆに沿った、セグメント８５２ｂの平行移動から得られたものである。特に、４つの半音、すなわち長調第３音で、より高い周波数に向かうセグメント８５２ｂに対して、一点鎖線８５８をずらしている。破線８５８ｂは、周波数方向ｆから下に、１２の半音で、すなわち、１オクターブでずらされる。このラインに対し、第３音８５８ｃのラインを一点鎖線で示し、第５音８５８ｄのラインを二点鎖線、すなわち、ライン８５８ｂを基準として、より高い周波数に向かう７つの半音でずらしたラインで示している。
【０１０７】
図２０からわかるように、１オクターブだけ下にずらした場合に、隣接セグメント８５２ａおよび８５２ｃの間にあまり不規則でなく挿入しているので、セグメント８５２ｂは、メロディライン判定７８０の範囲で、誤って判定したように見える。従って、ハーモニーマッピング８５０の役目は、このような周波数ジャンプがメロディであまり発生しないように、このような“異常値”をずらすかどうか、調べることである。
【０１０８】
ハーモニーマッピング８５０は、ステップ８６０において、平均値フィルタを用いたメロディセンターラインの判定から開始する。特に、ステップ８６０は、時間ｔの方向のセグメントにわたる特定の数のフレームが、あるメロディ経路８５２のすべり平均値の算出を含む。上記の例で述べたように、ウインドウ長は、例えば、８０〜１２０、好ましくは８ミリ秒のフレーム長の１００フレーム、従って、すなわち、別のフレーム長の異なる数のフレームである。メロディ中心ラインの判定について、より詳細に説明する。１００フレーム長のウインドウが、フレームの時間軸ｔに沿って移動する。これを行う際に、メロディライン８５２により、フィルタウインドウ内のフレームに対応付けられたすべての周波数ビンを平均され、フレームのこの平均値は、フィルタウインドウの中央に入力することにより、図２０の場合の次のフレームに繰り返した後で、メロディ中心ライン８６２は、周波数を個別のフレームに一意に対応付ける関数となる。メロディ中心ライン８６２は、音声信号の全時間領域に渡り延びる場合もある。この場合、それに対応して、始まりと終わりだけで、または、フィルタウインドウ幅の半分によって、音声部分の始まりと終わりで間隔を開けた領域にわたって、フィルタウインドウを“狭くする”必要がある。
【０１０９】
次に、ステップ８６４において、手段３０４は、基準セグメント８５２ａが、時間軸ｔに沿って、従属セグメント８５２ｂに直接隣接しているかどうか調べる。そうでない場合は、従属セグメントを基準セグメントとして用いて、もう一度処理を行う（８６６）。
【０１１０】
しかしながら、図２０のこの場合は、ステップ８６４の検証により、肯定的な結果となったら、すぐに、処理はステップ８６８に進む。ステップ８６８において、オクターブ、第５音および／または第３音８５８ａ〜ｄのラインを得るために、従属セグメント８５２ｂは、仮想的に移動する。長調、第３音、第５音およびオクターブの選択を行うことは、ここでは主に長調和音だけが用いられるので、ポップ音楽で利点がある。和音の最も高いおよび最も低い音の間隔は、長調第３音プラス短調第３音、すなわち、第５音である。あるいは、もちろん、上記の手順を短調キーに適用することもできる。短調第３音の和音、次に、長調第３音の和音が発生する。
【０１１１】
ステップ８７０において、手段３０４は、次に、基準セグメント８５２ａと、オクターブ、第５音および／または第３音８５８ａ〜ｄのラインとに沿ったそれぞれの最小知覚関連スペクトル値を得るために、ステップ７７２の等音量曲線または知覚関連スペクトルで評価したスペクトルを検索する。図２０の一例の場合、その結果として、５つの最小値が得られる。
【０１１２】
オクターブ、第５音および／または第３音のそれぞれのラインに対して求めた最小値が、基準セグメントの最小値に対する所定の関係を含んでいるかどうかに基づいて、オクターブ、第５音および／または第３音８５８ａ〜ｄの移動ラインから１つ選ぶ、あるいは選ばないようにするために、これらの最小値が、次のステップ８７２において用いられる。特に、最小値が、３０％ほど基準セグメント８５２ａの最小値より小さい場合に、オクターブライン８５８ｂは、ライン８５８ａ〜ｄから選択される。求めた最小値が基準セグメント８５２ａの最小値より２．５％ほど小さい場合に、第５音８５８ｄのラインが選択される。このラインの対応する最小値が、基準セグメント８５２ａの最小値より少なくとも１０％大きい場合に、第３音８５８ｃのラインのうちの１つが用いられる。
【０１１３】
ポップ音楽の音楽作品に良好な結果が得られるならば、ライン８５８ａ〜８５８ｂから選択するための基準として用いられた上述の値は、もちろん変更することもできる。また、基準セグメントまたは個別のライン８５８ａ〜ｄの最小値を求めるのに必ずしも必要ではないが、例えば、個別の平均値を用いることもできる。個別のラインに対する基準の違いの利点は、これにより、メロディライン判定７８０において、誤ってオクターブ、第５音または第３音のジャンプが発生した可能性、または、このようなホップが、メロディで実際に所望のものであるという可能性を考えることもできる。
【０１１４】
次のステップ８７４において、従属セグメント８５２ｂから見て、メロディ中心ライン８６２の方向の移動点とすれば、このようなライン１つが、ステップ８７２で選択された場合に限って、手段３０４は、セグメント８５２ｂを選択したライン８５８ａ〜８５８ｄに移動する。図２０の一例の場合では、第３音８５８ａのラインをステップ８７２において選択しない限り、後者の条件が満たされる。
【０１１５】
ハーモニーマッピング８５０の後、ステップ８７６において、ビブラート認識およびビブラートバランスまたは等化が行われる。その機能は、図２１および図２７を参照して、より詳細に説明される。
【０１１６】
ハーモニーマッピング８５０で得られるように、ステップ８７６は、メロディラインにおける各セグメント８７８に対しセグメントで実行される。図２２で、一例のセグメント８７８が、拡大して示される。すなわち、直前の図面の場合のように、横軸が、時間軸に対応していて、縦軸が、周波数軸に対応している図である。第１のステップ８８０で、ここでビブラート認識８７６の範囲で、まずはじめに、局所的に極端な部分について、基準セグメント８７８が調べられる。これを行う際に、セグメント８８８を生成するために、やはりメロディライン関数を示すので、セグメントにわたるフレームを周波数ビンに一意にマッピングする。このセグメント関数が、局所的に極端な部分について調べられる。換言すれば、ステップ８８０において、基準セグメント８７８は、周波数方向に対して局所的に極端な部分を含むこれらの位置に対して、すなわち、メロディライン関数の勾配がゼロになる位置に対して、調べる。これらの位置は、例として図２２に縦線８８２で示される。
【０１１７】
次のステップ８８４において、隣接する局所的に極端な部分８８２が、時間方向において、所定の数のビン、すなわち、例えば、１５〜２５ビンであるが、好ましくは、図４を参照して説明した周波数分析で行った２２ビン、または、約２〜６の半音領域毎の多数のビンより大きい、または小さい、または同じ数の周波数分離からなる周波数ビンで配列されているというように、極端な部分８８２が、配列しているかどうか調べる。図２２で、２２の周波数ビンの長さが、例として双方向矢印８８６で示される。これからわかるように、極端な部分８８２は、基準８８４を満たす。
【０１１８】
次のステップ８８８において、手段３０４は、隣接する極端な部分８８２の間で、時間間隔が、常に、所定の数の時間フレーム以下であるかどうか調べる。所定の数は、例えば、２１である。
【０１１９】
２１フレーム長に対応している、双方向矢印８９０で示す図２２の例の場合のように、ステップ８８８の考察が肯定ならば、ステップ８９２において、極端な部分８８２の数が、所定の数以上であるかどうか調べる。この場合は、好ましくは５である。これは、図２２の例に示されている。従って、ステップ８９２における検証がやはり肯定ならば、次のステップ８９４において、基準セグメント８７８または認識されているビブラートは、その平均値と置き換えられる。ステップ８９４の結果は、８９６で図２２において示される。しかしながら、基準セグメント８７８が、置き換えた基準セグメント８７８が延びている周波数ビンの平均値に対応する一定の周波数ビンに沿って延びているので、特に、ステップ８９４において、基準セグメント８７８は、現在のメロディラインから除いて、同じフレームを介して延長する基準セグメント８９６によって置き換える。検証８８４、８８８および８９２のうちの１つの結果が否定的ならば、次に、それぞれの基準セグメントに対して、ビブラート認識行う、またはバランスは、終わる。
【０１２０】
換言すれば、図２１によるビブラート認識およびビブラートバランスは、段階的に特徴抽出を行うことによって、ビブラート認識を行う。変調の許容周波数ビンの数に対する制限と、極端な部分の時間間隔に対する制限とにより、局所的に極端な部分、すなわちローカル最小および最大を検索する。ビブラートとして、１群の少なくとも５極端な部分についてだけ考える。次に認識されているビブラートが、メロディ行列においてその平均値によって置き換えられる。
【０１２１】
ステップ８７６におけるビブラート認識の後、ステップ８９８において、統計的補正が行われる。このことは、短い極端な部分のメロディにおいて、音ピッチ変動が予測されないという所見について考慮している。８９８による統計的補正は、図２３を参照してより詳細に説明される。図２３に例として、ビブラート認識８７６の後の結果として、メロディライン区分９００を示す。やはり、周波数軸ｆおよび時間軸ｔにわたるメロディラインの経路９００が、メロディ行列に入力したものが示されている。統計的補正８９８では、まずはじめに、ハーモニーマッピングにおけるステップ８６０と同様に、メロディライン９００のメロディ中心ラインが求められる。ステップ８６０の場合のように、判定を行うために、ウインドウ９０２内でメロディライン９００によって通過された、フレーム毎に周波数ビンの平均値を算出するために、所定の時間長、例えば１００フレーム長のウインドウ９０２が、時間軸ｔに沿ってフレーム毎に移動される。平均値は、周波数ビンとしてウインドウ９０２の中央に、フレームに対応付けられている。そして、求めるメロディ中心ラインの点９０４となる。従って、得られるメロディ中心ラインは、図２３に参照番号９０６によって示される。
【０１２２】
その後、図２３に図示しない第２のウインドウは、例えば１７０フレームのウインドウ長からなるフレームにおいて、時間軸ｔに沿って移動される。ここで、フレーム毎に、メロディ中心ライン９０６に対するメロディライン９００の標準偏差が求められる。各フレームの得られる標準偏差に２を乗算し、１ビンを補足する。上下の標準偏差ライン９０８ａおよび９０８ｂを得るために、この値は、次に、各フレームについて、このフレームでメロディ中心ライン９０２を通過するそれぞれの周波数ビンに加算して、そして、同様に減算する。２つの標準偏差ライン９０８ａおよび９０８ｂが、これらの間の受け入れ領域９１０を定義する。統計的補正８９８の範囲内で、ここで、受け入れ９１０の領域から完全に外れたところにあるメロディライン９００のすべてのセグメントが除外される。統計的補正８９８の結果は、したがって、セグメントの数が減る。
【０１２３】
ステップ８９８の後、次に、半音マッピング９１２が、実行される。半音マッピングフレーム毎に行われる。これに対し、半音周波数を定義するのに、ステップ８１８の半音ベクトルが用いられる。半音マッピング９１２は、次のように作用する。ステップ８９８から得られたメロディラインが存在する各フレームについて調べる。半音領域のうちのどの１つに周波数ビンが存在するか、メロディラインが、それぞれのフレームのどれを通過するか、または、どの周波数ビンに対し、メロディライン関数が、それぞれのフレームをマッピングするかについて調べる。次に、それぞれのフレームにおいて、メロディラインは、通過した周波数ビンが存在する配列の半音の半音周波数に対応する周波数値に変更するように、メロディラインが変更される。
【０１２４】
フレーム毎の半音マッピングまたは量子化を行う代わりに、例えば、セグメント毎の周波数平均値だけが、半音領域のうちの１つに対応付けられているという事実により、上述のように、対応する半音領域周波数に対してセグメント毎の半音量子化を行って、次に、周波数として、対応するセグメントの全時間長に対し用いられる。
【０１２５】
ステップ７８２、８１６、８１８、８５０、８７６、８９８および９１２は結果として、図２でステップ７６０に対応している。
【０１２６】
半音マッピング９１２の後、各セグメントに対して行うオンセット認識および補正が、ステップ９１４において行われる。図２４〜図２６を参照してより詳細に説明される。
【０１２７】
オンセット認識および補正９１４の目的は、半音マッピング９１２により得られるメロディラインの個別のセグメントを補正する、あるいは指定することで、開始時点についてより詳細に説明する。セグメントは、検索したメロディの個別の音符にますます対応するようになっている。このために、やはり、入力音声信号３０２またはステップ７５０で生成したものを用いる。以下により詳細に説明する。
【０１２８】
ステップ９１６、まずはじめに、ステップ９１２により、それぞれの基準セグメントを量子化した半音周波数に対応するバンドパスフィルタ、または、間にそれぞれのセグメントの量子化半音周波数が存在するカットオフ周波数を含むバンドパスフィルタで、音声信号３０２がフィルタされる。好ましくは、バンドパスフィルタが、対象のセグメントがある半音領域の半音カットオフ周波数ｆuおよびｆ0に対応するカットオフ周波数を含むフィルタとして用いられる。やはり好ましくは、バンドパスフィルタとして、フィルタカットオフ周波数、またはその伝送関数が、図２５に示すものであるバターワースバンドパスフィルタとして、それぞれの半音領域に対応付けられたカットオフ周波数ｆuおよびｆ0で、ＩＩＲバンドパスフィルタが用いられる。
【０１２９】
続いて、ステップ９１８において、ステップ９１６においてフィルタした音声信号の２方向整流が行われる。そして、ステップ９２０において、ステップ９１８において得られた時間信号を補間し、補間した時間信号をハミングフィルタで包み込まれることにより、２方向整流またはフィルタした音声信号のエンベロープが求められる。
【０１３０】
ステップ９１６〜９２０が、図２６を参照して、再度、説明される。図２６は、ステップ９１８の後で得られる参照番号９２２の２方向整流音声信号を示す。すなわち、横に仮想単位で時間ｔをグラフ化し、縦に仮想単位で音声信号の振幅Ａをグラフ化したグラフである。さらに、グラフには、ステップ９２０において得られるエンベロープ９２４が示される。
【０１３１】
ステップ９１６〜９２０は、エンベロープ９２４を生成する可能性を表すことに限られ、もちろん変更することもできる。いずれにしても、音声信号のエンベロープ９２４が、これらの半音周波数または半音領域すべてに生成される。現在のメロディラインのセグメントまたは音符セグメントが配置される。次に、このようなエンベロープ９２４それぞれに対し、図２４の次のステップが行われる。
【０１３２】
まずはじめに、ステップ９２６において、考えられる開始時点が、エンベロープ９２４が大きくなるローカル最大位置として求められる。換言すれば、エンベロープ９２４の変曲点をステップ９２６で求める。変曲点の時点は、図２６の場合において縦線９２８で示される。
【０１３３】
求めた考えられる開始時点または考えられる傾きの次の評価を行うために、適用可能ならば、図２４に図示しないステップ９２６の範囲で、前処理の時間分解能に対するダウンサンプリングが行われる。ステップ９２６で、考えられる開始時点のすべて、または変曲点のすべてを求める必要はないことに留意されたい。さらに、求めた、または設定した考えられる開始時点すべてを、必ずしも次の処理に供給する必要はない。これらの変曲点だけを考えられる開始時点として設定し、またはさらに処理することも考えられる。これらは、エンベロープ９２４の判定の基礎となる半音領域に配列しているメロディラインのセグメントのうちの１つに対応する時間領域の前、または時間領域内の時間的に近接して配置されている。
【０１３４】
ステップ９２８において、ここで、対応するセグメントが始まるセグメントの前にある考えられる最初の時点に対し、真であるかどうか調べる。この場合、処理は、ステップ９３０に進む。そうでない場合は、すなわち、考えられる最初の時点が既存のセグメントの始まりの後ろにある場合は、ステップ９２８が、次の考えられる最初の時点に繰り返されるか、別の半音領域を求めた次のエンベロープにステップ９２６を行うか、セグメント毎に行ったオンセット認識および補正を従属セグメントに行う。
【０１３５】
ステップ９３０において、考えられる最初の時点が、対応するセグメントの始まりの前のｘフレームより大きいかどうか調べる。他のフレーム長の値が、それに対応して変化する必要がある、８ミリ秒のフレーム長の、ｘは、例えば、８から１２の間、好ましくは１０である。そうでない場合は、すなわち、考えられる最初の時点、または求めた最初の時点が、対象とするセグメントの前の１０フレームまでならば、ステップ９３２において、考えられる最初の時点と、前のセグメントの始まりとの間のギャップを埋め込むか、前のセグメントの始まりを、考えられる最初の時点に補正する。このために、適用可能ならば、前のセグメントをそれに対応して短くするか、そのセグメントの終わりを、考えられる最初の時点の前のフレームに変更する。換言すれば、ステップ９３２は、２つのセグメントの重複を避けるために、考えられる最初の時点まで前方方向に基準セグメントを延長することと、その終わりで前のセグメントの長さを短縮可能にすることとを含んでいる。
【０１３６】
しかしながら、ステップ９３０の考察は、考えられる最初の時点が対応するセグメントの始まりの前のｘフレームより近いことを示している場合は、次に、ステップ９３４で、この考えられる最初の時点に第１の時間でステップ９３４を行っているかどうかを調べる。そうでない場合は、この考えられる最初の時点のおよび対応するセグメントに対する処理をここで終了し、オンセット認識処理はステップ９２８に進み、さらに考えられる最初の時点を処理するか、ステップ９２６に進んでさらにエンベロープの処理を行う。
【０１３７】
しかしながら、そうでない場合は、ステップ９３６において、対象とするセグメントの前のセグメントの始まりが、仮想的に前方に移動される。このために、セグメントの仮想的に移動した開始時点にある知覚関連スペクトル値は、知覚関連スペクトルにおいて検索される。知覚関連スペクトルにおけるこれらの知覚関連スペクトル値の低下が、特定の値を越えている場合は、次に、この超過が発生したフレームを、基準セグメントのセグメントの始まりとして一時的に用いて、ステップ９３０がもう一度繰り返される。次に、考えられる最初の時点が、対応するセグメントのステップ９３６で求めた始まりの前のｘフレームを越えていない場合は、上述のように、ステップ９３２における、ギャップが埋め込まれる。
【０１３８】
オンセット認識および補正９１４の作用は結果として、時間延長について、現在のメロディラインで個別のセグメントを変更するという事実を含んでいる。すなわち、前が長くなるか、後ろが短くなるかである。
【０１３９】
ステップ９１４の後、次に、長さのセグメント化９３８を行う。長さのセグメント化９３８では、半音マッピング９１２により、半音周波数にあるメロディ行列の横線に発生しているメロディラインのセグメントすべてをスキャンして、所定の長さより短いこれらのセグメントをメロディラインから除く。例えば、１０〜１４フレームを下回るもの、好ましくは１２フレームを下回るもの、８ミリ秒のフレーム長を考えたり、またはフレーム数の対応する調整値を下回るセグメントを除外する。８ミリ秒の時間分解能またはフレーム長の１２フレームは、９６ミリ秒に対応していて、約１／６４音符を下回っている。
【０１４０】
ステップ９１４および９３８は、結果として、図２のステップ７６２に対応している。
【０１４１】
ステップ９３８で得たメロディラインは、次に、特定の数の次のフレームにわたる、正確に同じ半音周波数を含む、若干数が少なくなったセグメントから構成されている。これらのセグメントは、音符セグメントに一意に対応付けられている場合もある。次に、図２の上述のステップ７６４に対応しているステップ９４０において、このメロディラインが、音符表現またはｍｉｄｉファイルに変換される。特に、それぞれのセグメントにおいて、第１のフレームを検出するために、長さのセグメント化９３８を行った後のメロディラインにやはり配置されている各セグメントが調べられる。次に、このフレームが、このセグメントに対応する音符の、音符の最初の時点を求める。音符に対し、次に、対応するセグメントが延びるフレームの数から音符長を求める。ステップ９１２により、各セグメントで一定の半音周波数から、音符の量子化ピッチが得られる。
【０１４２】
次に、リズム手段３０６が上述の動作を行うことに基づいて、手段３０４からのｍｉｄｉ出力９１４が音符シーケンスとなる。
【０１４３】
図３〜図２６で行った直前の説明は、ポリフォニック音声部分３０２の場合の手段３０４におけるメロディ認識に関するものであった。しかしながら、上述のように、例えば、着信音を生成するハミングまたは口笛の場合のように、音声信号３０２がモノフォニックタイプであると赤っている場合は、元の音声信号３０２の音楽的欠点による図３の手順となるエラーを防止する場合に限って、図３の手順と比較して若干変更した手順が好適である場合もある。
【０１４４】
図２７は、図３の手順と比較してモノフォニック音声信号に好適な手段３０４の別の機能を示す。しかしながら、基本的にポリフォニック音声信号にも適用可能である。
【０１４５】
ステップ７８２まで、図２７に基づく手順は図３に対応している。これが、これらのステップで、図３の場合と同じ参照番号を用いている理由である。
【０１４６】
図３に基づく手順と対照的に、ステップ７８２の後、図２７に基づく手順では、ステップ９５０において音分離が行われる。ステップ９５０で音分離を行う理由が、図２８を参照してより詳細に説明される。これについて、図２９を参照する。この図は、音声信号のスペクトルの周波数／時間間隔区分のスペクトルの形式で示している。周波数分析７５２を行った後、主音およびその倍音に対し一般セグメント化７８２を行った後で、メロディラインの所定のセグメント９５２が得られる。換言すれば、図２９で、倍音ラインを求めるために、それぞれの周波数の整数の倍数で周波数方向ｆに沿って、一例のセグメント９５２を移動したものである。ここで図２９は、基準セグメント９５２および対応する倍音ライン９５４ａ〜９５４ｇの一部だけを示している。ステップ７５２のスペクトルは、超過する一例の値を越えるスペクトル値を含んでいる。
【０１４７】
これからわかるように、一般セグメント化７８２から得られた基準セグメント９５２の主音の振幅は、連続して一例の値を上回っている。上に並んでいる倍音だけは、セグメントのほぼ中央において中断がある。おそらくセグメント９５２のほぼ中央で、音符境界またはインターフェースが存在しているが、そのセグメントによる主音の連続性は、一般セグメント化７８２で２つの音符に分割されなかった。この種のエラーは、モノフォニック音楽で支配的に発生する。これが、図２７の場合に音分離が行われる理由である。
【０１４８】
次に、音分離９５０が、図２２、図２９および図３０ａ、３０ｂを参照してここでより詳細に説明される。音分離は、倍音またはこれらの倍音ライン９５４ａ〜９５４ｇを検索して、ステップ７８２で得られたメロディラインに基づいて、ステップ９５８で開始する。周波数分析７５２から得られたスペクトルは、ダイナミックが一番大きい振幅経路を含んでいる。図３０ａは、例として、振幅経路９６０等の倍音ライン９５４ａ〜９５４ｇのうちの１つに対し、ｘ軸が、時間軸ｔに対応し、ｙ軸が、スペクトルの振幅または値に対応しているグラフを示している。振幅経路９６０のダイナミックは、経路９６０の最大スペクトル値と、経路９６０内の最小値との間の差から求められる。図３０ａは、一例として、倍音ライン４５０ａ〜４５０ｇに沿ったスペクトルの振幅経路を示している。これは、これらの振幅経路すべてのうちの最大ダイナミックを含んでいる。ステップ９５８では、好ましくは、次数４〜１５の倍音だけを考える。
【０１４９】
次にステップ９６２で、最大ダイナミックのある振幅経路上で、これらの位置が、ローカル振幅最小が所定の閾値を下回る考えられる分離位置として特定される。これを図２０ｂに示す。図３０ａまたは３０ｂの一例の場合では、もちろんローカル最小と示されている絶対最小９６４だけが、閾値を下回る。これは、破線９６６を用いて、例として図３０ｂにおいて示される。図３０ｂでは、結果として、考えられる分離位置が１つだけ、すなわち、最小９６４が配置される時点またはフレームが１つだけある。
【０１５０】
ステップ９６８では、次に、考えられるいくつかの分離位置の間で、セグメントの始まり９７２周囲の境界領域９７０内、またはセグメントの終わり９７６周囲の境界領域９７４内にあるものが分類される。残りの考えられる分離位置について、ステップ９７８で、最小９６４の振幅最小と、最小９６４に隣接するローカル最大９８０または９８２の振幅の平均値との間の差が、振幅経路９６０において生成される。差は、双方向矢印９８４によって図３０ｂにおいて示される。
【０１５１】
次にステップ９８６で、差９８４が所定の閾値より大きいかどうかを調べる。そうでない場合は、この考えられる分離位置と、適用可能ならば、対象のセグメント９６０の音分離とを終了する。そうでない場合は、ステップ９８８において、考えられる分離位置または最小９６４で基準セグメントは、２つのセグメントに分離される。一方が、セグメントの始まり９７２から最小９６４のフレームに延び、もう一方が、最小９６４のフレームまたは次のフレームと、セグメントの終わり９７６との間に延びる。それに対応して、セグメントのリストが拡張される。分離９８８の異なる可能性は、２つの新規に生成したセグメントの間にギャップを生成することである。例えば、振幅経路９６０が、閾値を下回る領域、図３０ｂで例えば、時間領域９９０にわたる領域である。
【０１５２】
モノフォニック音楽で主に発生する別の問題は、個別の音符が周波数変動の影響を受けやすく、次のセグメント化がさらに難しくなってしまうことである。これにより、ステップ９９２において音分離９５０を行った後、音の平滑化を行う。これについて、図３１および図３２を参照してより詳細に説明する。
【０１５３】
図３２は、音分離９５０から得られたメロディラインがある、大きく拡大した１つのセグメント９９４を概略で示している。図３２の図は、周波数ビンと、セグメント９９４が通過するフレームとの各タプルを示し、図３２は、対応するタプルの数字を提供する。数字の割り当ては、以下に、図３１を参照してより詳細に説明される。これからわかるように、図３２の一例の場合のセグメント９９４は、４つの周波数ビンにわたって変動し、２７フレームにわたって延びている。
【０１５４】
音の平滑化の目的は、セグメント９９４が変動する周波数ビンから、すべてのフレームに対し、セグメント９９４が、常に対応付けられたものを１つ選択することである。
【０１５５】
音の平滑化は、カウンタ変数ｉを１に初期化するステップ９９６において開始する。次のステップ９９８において、カウンタ値ｚが１に初期化される。このカウンタ変数ｉは、図３２の左から右へ、セグメント９９４のフレームに番号を振る意味がある。カウンタ変数ｚは、１つの周波数ビンに次のフレームセグメント９９４がいくつあるか計数を行うカウンタの意味である。図３２で、次のステップが理解しやすいように、ｚの値が、図３２のセグメント９９４の経路を図面に個別のフレームの形式ですでに示される。
【０１５６】
ステップ１０００で、カウンタ値ｚは、ここで、セグメントのｉ番目のフレームの周波数ビンの合計に累積される。セグメント９９４が、前後に変動する各周波数ビンに対し、合計値または累積値が存在する。ここで、例えば、係数ｆ（ｉ）で、実施の形態を変更することにより、カウンタ値に重みを付けてもよい。例えば、遷移処理と音符の始まりとに比較して、音声がすでに音によく同化しているので、セグメントの終わりで合計する部分にもっと強く重みを付けるために、ｆ（ｉ）は、ｉで連続して増加する関数である。図３２の角括弧の横の時間軸の下に、ｆ（ｉ）のこのような関数を例として示す。図３２で、ｉは、時間で増加し、隣接セグメントのフレームの間でどの位置に特定のフレームをとるかを示し、図示の例としての次の部分の関数をとる次の値が、時間軸に沿った小さな縦線で示しており、これらの角括弧に数字で示している。これからわかるように、一例の重み関数は、１から２．２にｉで増加する。
【０１５７】
ステップ１００２において、ｉ番目のフレームが、セグメント９９４の最後のフレームかどうか調べる。そうでない場合は、次に、ステップ１００４において、カウンタ変数ｉをインクリメントする。すなわち、次のフレームへスキップが実行される。次のステップ１００６において、現在のフレームのセグメント９９４が、すなわち、ｉ番目のフレームが、（ｉ−１）番目のフレームにあるかどうかというように、同じ周波数ビンにあるかどうかを調べる。この場合、ステップ１００８において、カウンタ変数ｚは、インクリメントされ、処理は、ステップ１０００に続く。しかしながら、ｉ番目のフレームと（ｉ−１）番目のフレームとのセグメント９９４が同じ周波数ビンになければ、処理は、カウンタ変数ｚを１に初期化するステップ９９８に続く。
【０１５８】
ステップ１００２において、ｉ番目のフレームがセグメント９９４の最後のフレームであると最終的に求めた場合は、次に、セグメント９９４がある各周波数ビンに対し、図３２の１０１０に示すように、合計が出る。
【０１５９】
ステップ１００２において、最後のフレームを判定し、ステップ１０１２において、累積合計１０１０が最も大きい周波数ビンが１つ選択される。図３２の一例の場合、これは、セグメント９９４が、ある４つの周波数ビンのうちの第２に最も低い周波数ビンである。ステップ１０１４において、次に、セグメント９９４が位置していた各フレームに、選択した周波数ビンが対応付けられているセグメントと交換することにより、基準セグメント９９４が平滑化される。すべてのセグメントに、図３１の音の平滑化がセグメント毎に繰り返される。
【０１６０】
換言すれば、音の平滑化は結果として、歌の歌い始めと、低いまたはより高い周波数から始まる音で歌を歌い始めることとを補償するように働き、定常状態の音の周波数に対応している音の時間経路にわたって値を求めることにより、これを容易にする。発振信号から周波数値を判定するために、周波数帯域のすべての要素が数え上げられ、音符シーケンスにある周波数帯域の数え上げたすべての要素が加算される。次に、音符シーケンスの時間に対して、合計が最も高い周波数帯域で、音をグラフ化する。
【０１６１】
音の平滑化９９２の後、続いて統計的補正９１６が行われる。統計的補正のパフォーマンスは、図３のものに対応している。すなわち、特にステップ８９８に対応している。統計的補正１０１６の後、半音マッピング１０１８を行う。これは、図３の半音マッピング９１２に対応し、図３の８１８に対応する半音ベクトル判定１０２０で求めた半音ベクトルを用いる。
【０１６２】
ステップ９５０、９９２、１０１６、１０１８および１０２０は結果として、図２のステップ７６０に対応している。
【０１６３】
半音マッピング１０１８の後、オンセット認識１０２２が行われる。これは、基本的に、図３の１つ、すなわちステップ９１４に対応している。好ましくは、ステップ９３２で、ギャップをもう一度埋め込んだり、音分離９５０を行ったセグメントをもう一度埋め込んだりしないようにする。
【０１６４】
オンセット認識１０２２の後、オフセット認識および補正１０２４が行われる。これについて、図３２〜図３５を参照してより詳細に説明される。オンセット認識と対照的に、オフセット認識および補正は、音符が終わる時点を補正するものである。オフセット認識１０２４は、モノフォニックの音楽作品のエコーを防止するものである。
【０１６５】
ステップ９１６と同様なステップ１０２６において、まずはじめに、基準セグメントの半音周波数に対応するバンドパスフィルタで、音声信号をフィルタする。ステップ９１８に対応するステップ１０２８において、フィルタした音声信号に２方向整流が行われる。さらに、ステップ１０２８において、整流時間信号の解釈が再び実行される。およそのエンベロープを求めるために、オフセット認識および補正の場合でこの手順は十分なので、オンセット認識の複雑なステップ９２０を省略することもできる。
【０１６６】
図３４は、ｘ軸に沿って時間ｔが仮想単位でグラフ化され、ｙ軸に沿って振幅Ａが仮想単位でグラフ化されているグラフを示している。例えば、参照番号１０３０の補間した時間信号を、ステップ９２０におけるオンセット認識において求めたような、参照番号１０３２のエンベロープと比較している。
【０１６７】
ステップ１０３４において、ここで、基準セグメントに対応する時間区分１０３６で、補間した時間信号１０３０の最大を求める。すなわち、特に、最大１０４０の補間した時間信号１０３０の値が求められる。ステップ１０４２において、整流音声信号が、最大１０４０の所定のパーセンテージの値に対する最大１０４０より時間的に後になる時点として、考えられる音符が終わる時点を求める。ステップ１０４２におけるパーセンテージは好ましくは１５％である。考えられる音符の終わりが、図３４に破線１０４４で示される。
【０１６８】
次のステップ１０４６において、次に、考えられる音符の終わり１０４４が、時間的にセグメントの終わり１０４８の後になるかどうかを調べる。そうでない場合は、例として図３４に示すように、次に、考えられる音符の終わり１０４４で終了させるために、時間領域１０３６の基準セグメントを短くする。しかしながら、音符の終わりが、時間的にセグメントの終わりより前ならば、例としての図３５に示すように、次に、ステップ１０５０で、考えられる音符の終わり１０４４とセグメントの終わり１０４８との間の時間間隔が、所定のパーセンテージの現在のセグメント長ａを下回るかどうか、調べる。所定のパーセンテージステップ１０５０は、好ましくは２５％である。考察１０５０の結果が肯定ならば、考えられる音符の終わり１０４４で終了させるために、長さで基準セグメントの延長１０５１が行われる。しかしながら、次のセグメントとの重複を避けるために、ステップ１０５１は、重複の危険性に基づいて、この場合は行わなかったり、特定の間隔で適用可能ならば、従属セグメントの始まりまで、行わなかったりすることもある。
【０１６９】
しかしながら、ステップ１０５０における考察が否定的ならば、オフセット補正を行わずに、ステップ１０３４および次のステップを同じ半音周波数の別の基準セグメントに繰り返すか、または、ステップ１０２６に進んで他の半音周波数について行われる。
【０１７０】
オフセット認識１０２４の後、ステップ１０５２において、図３のステップ９３８に対応する長さのセグメント化１０５２が行われる。図３のステップ９４０に対応するＭＩＤＩ出力１０５４が、これに続く。ステップ１０２２、１０２４および１０５２は、図２のステップ７６２に対応している。
【０１７１】
図３〜図３５の前の説明を参照して、次のことに留意されたい。ここに示すメロディ抽出のための２つの別の手順は、メロディ抽出の演算手順に同時に含まなくてもよい、異なる面を含んでいる。まずはじめに、以下のことに留意されたい。基本的に、ルックアップテーブルで知覚関連スペクトル値の探索を１回だけ行って、周波数分析７５２のスペクトルのスペクトル値を変換することにより、ステップ７７０〜７７４を組み合わせることもできる。
【０１７２】
もちろん基本的に、ステップ７７０〜７７４を省略したり、またはステップ７７２および７７４だけを省略したりすることも考えられるが、しかしながら、こうすると、ステップ７８０におけるメロディライン判定が低下するので、メロディ抽出方法の全体的な結果も低下することになる。
【０１７３】
基本周波数判定７７６において、ゴトーの音モデルが用いられた。他の音モデルまたは他の倍音部分の重み付けについても考えられるが、例えば、着信音生成の実施の形態で、ユーザがハミングを求めた場合というように、それがわかっている限り、例えば、元の音声信号、または音声信号の音源に調整することもできる。
【０１７４】
ステップ７８０において考えられるメロディラインの判定について、音楽科学の上述の説明により、各フレームに対し、最も大きいサウンド部分の基本周波数だけが選択されたが、さらに考えられることは、各フレームに対し、一番大きい部分を一意に選択ことに限定しないことに留意されたい。例えば、パイバに記載されている場合のように、考えられるメロディライン７８０の判定が、いくつかの周波数ビンを１つのフレームに対応付けることを含んでもよい。続いて、いくつかの軌跡の検出を実行してもよい。このことは、各フレームに対し、いくつかの基本周波数またはいくつかのサウンドを選択することが可能になる。次に、次のセグメント化が、もちろん部分的に異なるように行うことができ、特に、いくつかの軌跡またはセグメントを考えて、検出する必要があるので、次のセグメント化は、いくらか費用がかかる。逆に、この場合、上述のステップまたはサブステップのいくつかを、セグメント化に引き継いで、時間的に重複する軌跡を判定することもできる。特に、一般セグメント化のステップ７８６、７９６および８０４は、この場合に簡単に移行することもできる。軌跡を特定した後で、このステップを行う場合は、ステップ８０６は、メロディラインが時間的に重複する軌跡から構成される場合に移行することができる。軌跡の特定は、ステップ８１０と同様に行うことができるが、時間的に重複するいくつかの軌跡をトレースできるように、変更を行う。また、時間ギャップがないこのような軌跡に対し、ギャップ埋め込みを同様に行うこともできる。また、時間的に直接続く２つの軌跡の間で、ハーモニーマッピングを行うこともできる。上述の非重複メロディラインセグメントのように、ビブラート認識またはビブラート補償を、１つの軌跡に簡単に適用することもできる。また、オンセット認識および補正についても、軌跡に適用することができる。音分離および音の平滑化とともに、オフセット認識および補正、統計的補正および長さのセグメント化についても同じことが当てはまる。しかしながら、判定ステップ７８０の判定を行う際のメロディラインの時間重複する軌跡の受け入れには、少なくとも、実際の音符シーケンス出力の前に、時間重複する軌跡を同時に除去する必要がある。図３および図２７を参照して上述したように、考えられるメロディラインの判定を行う利点は、一般セグメント化を行う前に調べるセグメントの数を、前もって最も重要な点に制限することと、ステップ７８０のメロディライン判定自体が非常に簡単で、良好なメロディ抽出または音符シーケンス生成またはトランスクリプションになることとである。
【０１７５】
上述の一般セグメント化を行うのに、サブステップ７８６、７９６、８０４および８０６をすべて含む必要はないが、これらのサブステップから選択したものを含んでよい。
【０１７６】
ギャップ埋め込みでは、ステップ８４０および８４２において、知覚関連スペクトルが用いられた。しかしながら、基本的に、これらのステップで周波数分析から直接得られた対数化スペクトルまたはスペクトルを用いることができる。しかしながら、これらのステップにおいて知覚関連スペクトルを用いると、メロディ抽出について最も良い結果となる。ハーモニーマッピングのステップ８７０についても、同じことが当てはまる。
【０１７７】
ハーモニーマッピングに関して、従属セグメントを移動する（８６８）場合は、メロディ中心ラインの方向だけに移動を行うので、ステップ８７４における第２の条件を省略してもよいことに留意されたい。ステップ８７２を参照すると、優先順位リストをこれらで生成するという事実により、オクターブ、第５音および／または第３音の異なるラインから選択する際の明確さが得られることに留意されたい。例えば、第３音のラインの前の、第５音のラインの前のオクターブライン、同じラインタイプのライン（オクターブ、第５音または第３音のライン）のうちの、従属セグメントの元の位置に近いもの等である。
【０１７８】
オンセット認識およびオフセット認識に関して、オフセット認識の代わりに用いたエンベロープまたは補間した時間信号の判定を、異なるように行うこともできることに留意されたい。ただ基本的なことは、オンセットおよびオフセット認識において、このように生成したフィルタ信号のエンベロープから音符の最初の時点を認識したり、エンベロープの低下により音符の時間の終点を認識したりするために、それぞれの半音周波数の中心に伝送特性を持つバンドパスフィルタでフィルタした音声信号を用いることである。
【０１７９】
図８〜図４１のフローチャートに関して、これらの図にはメロディ抽出手段３０４の動作が示されていて、このフローチャートにブロックで示されている各ステップが、手段３０４の対応する部分的な手段で実施されてもよいことに留意されたい。個別のステップを実行するには、ＡＳＩＣ回路部としてのハードウェア、またはサブルーチンとしてのソフトウェアとして実施することもできる。特に、これらの図面では、ブロック間の矢印は、手段３０４の動作のステップの順序を示しているが、それぞれのブロックに対応している、それぞれのステップを処理するブロックの説明を大まかに示している。
【０１８０】
特に、条件によるが、本発明の方法は、ソフトウェアで実施することもできることに留意されたい。対応する方法を行うプログラム可能なコンピュータシステムに組み込まれる、電子的に読み取り可能な制御信号を有するデジタル記憶装置媒体、特に、フロッピー（登録商標）ディスクまたはＣＤと協働して、実施することができる。従って、本発明は、一般に、コンピュータプログラム製品をコンピュータ上で、実行する場合は、本発明の方法を実行する機械読み取り可能キャリアに、プログラムコードを記憶したコンピュータプログラム製品から構成される。換言すれば、本発明は、従って、コンピュータプログラムをコンピュータ上で実行する場合は、この方法を行うプログラムコードを有するコンピュータプログラムとして実施することができる。
【図面の簡単な説明】
【０１８１】
【図１】ポリフォニックメロディ生成装置を示すブロック図である。
【図２】図１の装置の抽出手段機能を示すフローチャートである。
【図３】ポリフォニック音声入力信号の場合の、図１の装置の抽出手段機能を示す詳細なフローチャートである。
【図４】図３の周波数分析となる、一例の音声信号の時間／スペクトル表現またはスペクトルを示す。
【図５】図３の対数化後の結果である、対数化スペクトルを示す。
【図６】図３のスペクトル評価の基礎となる、等音量曲線の図である。
【図７】対数化の基準値を得るために、図３の実際に対数化を行う前に用いる、音声信号のグラフである。
【図８】図３における図５のスペクトル評価後に得られた知覚関連スペクトルである。
【図９】図３のメロディライン判定による、図８の知覚関連スペクトルから得られる時間／スペクトル領域で示す、メロディラインまたは関数である。
【図１０】図３の一般セグメント化を説明するフローチャートである。
【図１１】時間／スペクトル領域の一例のメロディライン経路の概略図である。
【図１２】図１０の一般セグメント化でのフィルタリング動作を説明するための、図１１のメロディライン経路からの区分を示す概略図である。
【図１３】図１０の一般セグメント化での周波数範囲制限後の図１０のメロディライン経路である。
【図１４】図１０の一般セグメント化での最後から２番目のステップの動作を説明するための、メロディラインの区分を示す概略図である。
【図１５】図１０の一般セグメント化でのセグメント分類動作を説明するための、メロディラインからの区分を示す概略図である。
【図１６】図３のギャップ埋め込みを説明するフローチャートである。
【図１７】図３の可変半音ベクトルを位置決めする手順を説明するための概略図である。
【図１８】図１６のギャップ埋め込みを説明するための概略図である。
【図１９】図３のハーモニーマッピングを説明するためのフローチャートである。
【図２０】図１９によるハーモニーマッピング動作を説明するためのメロディライン経路からの区分を示す概略図である。
【図２１】図３の振動子認識および振動子バランスを説明するためのフローチャートである。
【図２２】図２１による手順を説明するためのセグメント経路の概略図である。
【図２３】図３の統計補正における手順を説明するためのメロディライン経路からの区分を示す概略図である。
【図２４】図３のオンセット認識および補正における手順を説明するためのフローチャートである。
【図２５】図２４によるオンセット認識において用いられる一例のフィルタ伝送関数を示すグラフである。
【図２６】図２４のオンセット認識および補正に用いられる、２方向整流フィルタ後の音声信号およびこの音声信号のエンベロープの概略の経路である。
【図２７】モノフォニック音声入力信号の場合の図１の抽出手段の機能を説明するためのフローチャートである。
【図２８】図２７の音分離を説明するためのフローチャートである。
【図２９】図２８による、音分離の関数を説明するためのセグメントに沿った、音声信号のスペクトルの振幅経路からの区分の概略図である。
【図３０ａ】図２８による、音分離の関数を説明するためのセグメント沿った、音声信号のスペクトルの振幅経路からの区分の概略図である。
【図３０ｂ】図２８による、音分離の関数を説明するためのセグメント沿った、音声信号のスペクトルの振幅経路からの区分の概略図である。
【図３１】図２７の音の平滑化を説明するためのフローチャートである。
【図３２】図１による、音の平滑化の手順を説明するためのメロディライン経路からのセグメントを示す概略図である。
【図３３】図２７のオフセット認識および補正を説明するためのフローチャートである。
【図３４】図３３による、手順を説明するための２方向整流フィルタ後の音声信号およびその補間からの区分の概略図である。
【図３５】考えられるセグメント延長を行う場合の２方向整流フィルタ後の音声信号およびその補間からの区分を示す。
【図１】
2008516288.tif 000005
【図２】
2008516288.tif 000006
【図３】
2008516288.tif 000007
【図４】
2008516288.tif 000008
【図５】
2008516288.tif 000009
【図６】
2008516288.tif 000010
【図７】
2008516288.tif 000011
【図８】
2008516288.tif 000012
【図９】
2008516288.tif 000013
【図１０】
2008516288.tif 000014
【図１１】
2008516288.tif 000015
【図１２】
2008516288.tif 000016
【図１３】
2008516288.tif 000017
【図１４】
2008516288.tif 000018
【図１５】
2008516288.tif 000019
【図１６】
2008516288.tif 000020
【図１７】
2008516288.tif 000021
【図１８】
2008516288.tif 000022
【図１９】
2008516288.tif 000023
【図２０】
2008516288.tif 000024
【図２１】
2008516288.tif 000025
【図２２】
2008516288.tif 000026
【図２３】
2008516288.tif 000027
【図２４】
2008516288.tif 000028
【図２５】
2008516288.tif 000029
【図２６】
2008516288.tif 000030
【図２７】
2008516288.tif 000031
【図２８】
2008516288.tif 000032
【図２９】
2008516288.tif 000033
【図３０ａ】
2008516288.tif 000034
【図３０ｂ】
2008516288.tif 000035
【図３１】
2008516288.tif 000036
【図３２】
2008516288.tif 000037
【図３３】
2008516288.tif 000038
【図３４】
2008516288.tif 000039
【図３５】
2008516288.tif 000040
【国際調査報告】
2008516288.tif 000041
2008516288.tif 000042
2008516288.tif 000043
2008516288.tif 000044
2008516288.tif 000045