(57)【要約】【課題】  ＥＭアルゴリズムにより、入力音響信号から、鳴っている音の基本周波数を求める際に、楽器固有の事前知識を利用して、精度良く基本周波数を推定する。【解決手段】  フォーム推定４１３では、ＥステップおよびＭステップ４１１により各種の基本周波数に対応した重み値を逐次更新される過程において、音源構造データ４１３Ｆにより定義された制約条件を満たすように、重み値のピークの中から、発音されている可能性が高いと推定される音のものを選択する。事前分布付与４１４では、この選択したピークが強調されるように、各音モデルに対する重み値に事前分布を与える。【選択図】図１
2008058755.tif 000002
【特許請求の範囲】
【請求項１】
各々音源の音の高調波構造に対応した構造を有し、各種の基本周波数に対応した確率密度関数である複数の音モデルを重み付け加算した混合分布が、入力音響信号の周波数成分の分布となるように、各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化し、最適化された各音モデルの重み値を前記音源の音の基本周波数の確率密度関数として推定する確率密度推定手段であって、
（ａ）前記音源が同時に発音可能な１または複数の音に関する制約条件を定義する音源構造データを記憶する記憶手段と、
（ｂ）前記各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化する過程において、前記音源構造データにより定義された制約条件を満たすように、重み値がピークとなる各基本周波数の中から、発音されている可能性が高いと推定される１または複数の音の基本周波数を選択し、選択した基本周波数を示すフォームデータを作成するフォーム推定手段と、
（ｃ）前記フォーム推定手段により作成されたフォームデータが示す基本周波数に対応した重み値が強調されるように、前記各種の基本周波数に対応した各音モデルに対する重み値に事前分布を与える事前分布付与手段とを具備する確率密度推定手段と、
前記確率密度推定手段により推定された基本周波数の確率密度関数に基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段と
を具備することを特徴とする音分析装置。
【請求項２】
各々音源の音の高調波構造に対応した構造を有し、各種の基本周波数に対応した確率密度関数である複数の音モデルを重み付け加算した混合分布が、入力音響信号の周波数成分の分布となるように、各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化し、最適化された各音モデルの重み値を前記音源の音の基本周波数の確率密度関数として推定する確率密度関数推定手段と、
前記確率密度推定手段により推定される確率密度関数に基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段であって、
（ａ）前記音源が同時に発音可能な１または複数の音に関する制約条件を定義した音源構造データを記憶する記憶手段と、
（ｂ）前記音源構造データにより定義された制約条件を満たすように、前記確率密度関数推定手段により推定された確率密度関数において重み値がピークとなる各基本周波数の中から、発音されている可能性が高いと推定される１または複数の音の基本周波数を選択し、選択した基本周波数を示すフォームデータを作成するフォーム推定手段とを具備し、前記フォームデータに基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段と
を具備することを特徴とする音分析装置。
【請求項３】
各々音源の音の高調波構造に対応した構造を有し、各種の基本周波数に対応した確率密度関数である複数の音モデルを重み付け加算した混合分布が、入力音響信号の周波数成分の分布となるように、各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化し、最適化された各音モデルの重み値を前記音源の音の基本周波数の確率密度関数として推定する確率密度推定手段であって、
（ａ）前記音源が同時に発音可能な１または複数の音に関する制約条件を定義する音源構造データを記憶する記憶手段と、
（ｂ）前記入力音響信号の周波数成分に基づいて、前記各種の基本周波数に対応した各音モデルに対する重み値を所定回数更新する第１の更新手段と、
（ｃ）前記第１の更新手段の処理を経た前記各種の基本周波数に対応した各音モデルに対する重み値に基づき、重み値がピークとなる各基本周波数を求め、前記音源構造データにより定義された制約条件を満たすように、前記重み値がピークとなる各基本周波数の中から、発音されている可能性が高いと推定される１または複数の音の基本周波数を選択する基本周波数選択手段と、
（ｄ）前記基本周波数選択手段により選択された基本周波数に対応した重み値が強調されるように、前記各種の基本周波数に対応した各音モデルに対する重み値に事前分布を付与し、前記入力音響信号の周波数成分に基づいて、前記各種の基本周波数に対応した各音モデルに対する重み値を所定回数更新する第２の更新手段とを具備する確率密度推定手段と、
前記確率密度推定手段により推定された基本周波数の確率密度関数に基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段と
を具備することを特徴とする音分析装置。
【請求項４】
前記確率密度推定手段は、前記事前分布の付与を行うことなく、前記第２の更新手段の処理を経た前記各種の基本周波数に対応した各音モデルに対する重み値を前記入力音響信号の周波数成分に基づいて所定回数更新する第３の更新手段を具備することを特徴とする請求項３に記載の音分析装置。
【請求項５】
前記基本周波数確定手段は、前記フォームデータが示す各基本周波数に対応した確率密度の各ピーク値の中の最大値に応じた閾値を算出し、前記フォームデータが示す各基本周波数の中から確率密度のピーク値が前記閾値を越えるものを選択し、前記音源の音の基本周波数として確定させる手段を具備することを特徴とする請求項１〜４のいずれか１の請求項に記載の音分析装置。
【請求項６】
前記フォーム推定手段は、前記フォームデータが示す各基本周波数を選択し、この選択した基本周波数に対応した重み値を０として、各種の基本周波数に対応した各音モデルに対する重み値を更新する処理を１回実行し、この結果、各種の基本周波数に対応した各音モデルに対する重み値に大きな変化がない場合に、発音されている可能性が高いと推定される音の基本周波数の中から当該基本周波数を除外する手段を含むことを特徴とする請求項１〜５のいずれか１の請求項に記載の音分析装置。
【請求項７】
コンピュータを、
各々音源の音の高調波構造に対応した構造を有し、各種の基本周波数に対応した確率密度関数である複数の音モデルを重み付け加算した混合分布が、入力音響信号の周波数成分の分布となるように、各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化し、最適化された各音モデルの重み値を前記音源の音の基本周波数の確率密度関数として推定する確率密度推定手段であって、
（ａ）前記音源が同時に発音可能な１または複数の音に関する制約条件を定義する音源構造データを記憶する記憶手段と、
（ｂ）前記各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化する過程において、前記音源構造データにより定義された制約条件を満たすように、重み値がピークとなる各基本周波数の中から、発音されている可能性が高いと推定される１または複数の音の基本周波数を選択し、選択した基本周波数を示すフォームデータを作成するフォーム推定手段と、
（ｃ）前記フォーム推定手段により作成されたフォームデータが示す基本周波数に対応した重み値が強調されるように、前記各種の基本周波数に対応した各音モデルに対する重み値に事前分布を与える事前分布付与手段とを具備する確率密度推定手段と、
前記確率密度推定手段により推定された基本周波数の確率密度関数に基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段として機能させることを特徴とするコンピュータプログラム。
【請求項８】
コンピュータを、
各々音源の音の高調波構造に対応した構造を有し、各種の基本周波数に対応した確率密度関数である複数の音モデルを重み付け加算した混合分布が、入力音響信号の周波数成分の分布となるように、各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化し、最適化された各音モデルの重み値を前記音源の音の基本周波数の確率密度関数として推定する確率密度関数推定手段と、
前記確率密度推定手段により推定される確率密度関数に基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段であって、
（ａ）前記音源が同時に発音可能な１または複数の音に関する制約条件を定義した音源構造データを記憶する記憶手段と、
（ｂ）前記音源構造データにより定義された制約条件を満たすように、前記確率密度関数推定手段により推定された確率密度関数において重み値がピークとなる各基本周波数の中から、発音されている可能性が高いと推定される１または複数の音の基本周波数を選択し、選択した基本周波数を示すフォームデータを作成するフォーム推定手段とを具備し、前記フォームデータに基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段として機能させることを特徴とするコンピュータプログラム。
【請求項９】
コンピュータを、
各々音源の音の高調波構造に対応した構造を有し、各種の基本周波数に対応した確率密度関数である複数の音モデルを重み付け加算した混合分布が、入力音響信号の周波数成分の分布となるように、各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化し、最適化された各音モデルの重み値を前記音源の音の基本周波数の確率密度関数として推定する確率密度推定手段であって、
（ａ）前記音源が同時に発音可能な１または複数の音に関する制約条件を定義する音源構造データを記憶する記憶手段と、
（ｂ）前記入力音響信号の周波数成分に基づいて、前記各種の基本周波数に対応した各音モデルに対する重み値を所定回数更新する第１の更新手段と、
（ｃ）前記第１の更新手段の処理を経た前記各種の基本周波数に対応した各音モデルに対する重み値に基づき、重み値がピークとなる各基本周波数を求め、前記音源構造データにより定義された制約条件を満たすように、前記重み値がピークとなる各基本周波数の中から、発音されている可能性が高いと推定される１または複数の音の基本周波数を選択する基本周波数選択手段と、
（ｄ）前記基本周波数選択手段により選択された基本周波数に対応した重み値が強調されるように、前記各種の基本周波数に対応した各音モデルに対する重み値に事前分布を付与し、前記入力音響信号の周波数成分に基づいて、前記各種の基本周波数に対応した各音モデルに対する重み値を所定回数更新する第２の更新手段とを具備する確率密度推定手段と、
前記確率密度推定手段により推定された基本周波数の確率密度関数に基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、市販のＣＤ（ｃｏｍｐａｃｔ  ｄｉｓｃ）などに収録されている、歌声や複数種類の楽器音を同時に含む音楽音響信号を対象に、メロディ音やベース音の音高（本明細書では基本周波数の意味で用いる）を推定する音分析装置およびプログラムに関する。
【背景技術】
【０００２】
多数の音源の音が混ざり合ったモノラルの音響信号中から、ある特定の音源の音高を推定することは、非常に困難である。混合音に対して音高推定することが難しい本質的な理由の１つに、時間周波数領域において、ある音の周波数成分が同時に鳴っている他の音の周波数成分と重複することが挙げられる。例えば、歌声、鍵盤楽器（ピアノ等）、ギター、ベースギター、ドラムス等で演奏される典型的なポピュラー音楽では、メロディを担う歌声の高調波構造の一部（特に基本周波数成分）は、鍵盤楽器、ギターの高調波成分やベースギターの高次の高調波成分、スネアドラム等の音に含まれるノイズ成分などと頻繁に重複する。そのため、各周波数成分を局所的に追跡するような手法は、複雑な混合音に対しては安定して機能しない。基本周波数成分が存在することを前提に高調波構造を推定する手法もあるが、そのような手法は、ミッシングファンダメンタル（ｍｉｓｓｉｎｇ  ｆｕｎｄａｍｅｎｔａｌ）現象を扱えないという大きな欠点を持つ。さらに、同時に鳴っている他の音の周波数成分が基本周波数成分と重複すると、有効に機能しない。
【０００３】
以上のような理由により、従来、単一音のみか、非周期的な雑音を伴った単一音を収録した音響信号を対象とした音高の推定技術はあったが、市販のＣＤに記録された音響信号のように複数の音が混ざり合ったものについて音高を推定する技術はなかった。
【０００４】
しかしながら、近年、統計的手法を利用することにより、混合音に含まれる各音の音高を適切に推定する技術が提案されるに至った。特許文献１の技術である。
【０００５】
この特許文献１の技術では、メロディ音のものと考えられる帯域に属する周波数成分と、ベース音のものと考えられる帯域に属する周波数成分とを入力音響信号からＢＰＦにより別々に取り出し、それらの各帯域の周波数成分に基づき、メロディ音およびベース音の各々の基本周波数の推定を行う。
【０００６】
さらに詳述すると、特許文献１の技術では、音の高調波構造に対応した確率密度分布を持った音モデルを用意し、メロディ音の帯域の各周波数成分、ベース音の帯域の各周波数成分が、様々な基本周波数に対応した各音モデルを重み付け加算した混合分布であると考える。そして、各音モデルの重みの値をＥＭ（Ｅｘｐｅｃｔａｔｉｏｎ−Ｍａｘｉｍｉｚａｔｉｏｎ）アルゴリズムを用いて推定する。
【０００７】
このＥＭアルゴリズムは、隠れ変数を含む確率モデルに対して最尤推定を行うための反復アルゴリズムであり、局所最適解を求めることができる。ここで、最も大きな重みの値を持つ確率密度分布は、その時点で最も優勢な高調波構造であるとみなすことができるため、あとはその優勢な高調波構造における基本周波数を音高として求めればよい。この手法は基本周波数成分の存在に依存しないため、ミッシングファンダメンタル現象も適切に扱うことができ、基本周波数成分の存在に依存せずに、最も優勢な高調波構造を求めることができる。
【０００８】
ところで、基本周波数の確率密度関数において、同時に鳴っている音の基本周波数に対応する複数のピークが拮抗すると、それらのピークが確率密度関数の最大値として次々に選ばれてしまうことがあるため、このように単純に求めた結果は安定しないことがある。そこで、特許文献１の技術では、大局的な観点から基本周波数を推定するために、基本周波数の確率密度関数の時間変化において複数のピークの軌跡を継時的に追跡し、その中で最も優勢で安定した基本周波数の軌跡を選択している。このような追跡処理を動的で柔軟に制御するために、マルチエージェントモデルを導入している。
【０００９】
マルチエージェントモデルは、１つの特徴検出器と複数のエージェントにより構成される。特徴検出器は、基本周波数の確率密度関数の中で目立つピークを拾い上げる。エージェントは基本的に、それらのピークに駆動されて軌跡を追跡していく。つまり、マルチエージェントモデルは、入力中で目立つ特徴を時間的に追跡する汎用の枠組みである。
【特許文献１】特許第３４１３６３４号
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、上述した特許文献１に開示の技術では、ＢＰＦの通過帯域内のあらゆる周波数が基本周波数として推定される可能性を有しており、例えば入力音響信号が特定の楽器の演奏によるものである場合に、その楽器の演奏では発生し得ないような音の基本周波数が基本周波数として誤って推定される可能性を排除することができないという問題があった。
【００１１】
この発明は、以上説明した事情に鑑みてなされたものであり、ＥＭアルゴリズムにより入力音響信号の基本周波数の確率密度関数を推定して、発音されている音の基本周波数を求める際に、楽器固有の事前知識を活用して、発音されている音の基本周波数を精度良く推定することができる音分析装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１２】
ある態様において、この発明は、各々音源の音の高調波構造に対応した構造を有し、各種の基本周波数に対応した確率密度関数である複数の音モデルを重み付け加算した混合分布が、入力音響信号の周波数成分の分布となるように、各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化し、最適化された各音モデルの重み値を前記音源の音の基本周波数の確率密度関数として推定する確率密度推定手段であって、（ａ）前記音源が同時に発音可能な１または複数の音に関する制約条件を定義する音源構造データを記憶する記憶手段と、（ｂ）前記各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化する過程において、前記音源構造データにより定義された制約条件を満たすように、重み値がピークとなる各基本周波数の中から、発音されている可能性が高いと推定される１または複数の音の基本周波数を選択し、選択した基本周波数を示すフォームデータを作成するフォーム推定手段と、（ｃ）前記フォーム推定手段により作成されたフォームデータが示す基本周波数に対応した重み値が強調されるように、前記各種の基本周波数に対応した各音モデルに対する重み値に事前分布を与える事前分布付与手段とを具備する確率密度推定手段と、前記確率密度推定手段により推定された基本周波数の確率密度関数に基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段とを具備することを特徴とする音分析装置並びにコンピュータを該音分析装置として機能させるコンピュータプログラムである音分析プログラムを提供する。
【００１３】
他の態様において、この発明は、各々音源の音の高調波構造に対応した構造を有し、各種の基本周波数に対応した確率密度関数である複数の音モデルを重み付け加算した混合分布が、入力音響信号の周波数成分の分布となるように、各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化し、最適化された各音モデルの重み値を前記音源の音の基本周波数の確率密度関数として推定する確率密度関数推定手段と、前記確率密度推定手段により推定される確率密度関数に基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段であって、（ａ）前記音源が同時に発音可能な１または複数の音に関する制約条件を定義した音源構造データを記憶する記憶手段と、（ｂ）前記音源構造データにより定義された制約条件を満たすように、前記確率密度関数推定手段により推定された確率密度関数において重み値がピークとなる各基本周波数の中から、発音されている可能性が高いと推定される１または複数の音の基本周波数を選択し、選択した基本周波数を示すフォームデータを作成するフォーム推定手段とを具備し、前記フォームデータに基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段とを具備することを特徴とする音分析装置並びにコンピュータを該音分析装置として機能させるコンピュータプログラムである音分析プログラムを提供する。
【００１４】
さらに他の態様において、この発明は、各々音源の音の高調波構造に対応した構造を有し、各種の基本周波数に対応した確率密度関数である複数の音モデルを重み付け加算した混合分布が、入力音響信号の周波数成分の分布となるように、各種の基本周波数に対応した各音モデルに対する重み値を逐次更新して最適化し、最適化された各音モデルの重み値を前記音源の音の基本周波数の確率密度関数として推定する確率密度推定手段であって、（ａ）前記音源が同時に発音可能な１または複数の音に関する制約条件を定義する音源構造データを記憶する記憶手段と、（ｂ）前記入力音響信号の周波数成分に基づいて、前記各種の基本周波数に対応した各音モデルに対する重み値を所定回数更新する第１の更新手段と、（ｃ）前記第１の更新手段の処理を経た前記各種の基本周波数に対応した各音モデルに対する重み値に基づき、重み値がピークとなる各基本周波数を求め、前記音源構造データにより定義された制約条件を満たすように、前記重み値がピークとなる各基本周波数の中から、発音されている可能性が高いと推定される１または複数の音の基本周波数を選択する基本周波数選択手段と、（ｄ）前記基本周波数選択手段により選択された基本周波数に対応した重み値が強調されるように、前記各種の基本周波数に対応した各音モデルに対する重み値に事前分布を付与し、前記入力音響信号の周波数成分に基づいて、前記各種の基本周波数に対応した各音モデルに対する重み値を所定回数更新する第２の更新手段とを具備する確率密度推定手段と、前記確率密度推定手段により推定された基本周波数の確率密度関数に基づいて前記音源の音の基本周波数を確定させる基本周波数確定手段と
を具備することを特徴とする音分析装置並びにコンピュータを該音分析装置として機能させるコンピュータプログラムである音分析プログラムを提供する。
【００１５】
これらの音分析装置および音分析プログラムによれば、音源が同時に発音可能な１または複数の音に関する制約条件を定義する音源構造データに基づき、各種の基本周波数に対応した各音モデルに対する重み値のうち、発音されている可能性の高い音に対応した重み値を強調し、発音されている音の基本周波数を精度良く推定することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照し、この発明の実施の形態を説明する。
【００１７】
＜第１実施形態＞
＜＜全体構成＞＞
図１は、この発明の第１実施形態による音分析プログラムの処理内容を示す図である。この音分析プログラムは、自然界から音響信号を取得する収音機能、ＣＤ等の記録媒体から音楽の音響信号を再生する再生機能またはネットワークを介して音楽の音響信号を取得する通信機能等の音響信号取得機能を備えたパーソナルコンピュータ等のコンピュータにインストールされて実行される。本実施形態による音分析プログラムを実行するコンピュータは、本実施形態による音分析装置として機能する。
【００１８】
本実施形態による音分析プログラムは、音響信号取得機能を介して取得されたモノラルの音楽音響信号に対し、その中のある音源の音高を推定する。その最も重要な例として、ここではメロディラインとベースラインを推定する。メロディは他よりも際立って聞こえる音の系列、ベースはアンサンブル中で最も低い音の系列であり、その時間的な変化の軌跡をそれぞれメロディラインＤｍ（ｔ）、ベースラインＤｂ（ｔ）と呼ぶ。時刻tにおける基本周波数Ｆ０をＦｉ（ｔ）（ｉ＝ｍ，ｂ）、振幅をＡｉ（ｔ）とすると、これらは以下のように表される。
【数１】
2008058755.tif 000003
【数２】
2008058755.tif 000004
【００１９】
このメロディラインＤｍ（ｔ）およびベースラインＤｂ（ｔ）を入力音響信号から得るための手段として、音分析プログラムは、瞬時周波数の算出１、周波数成分の候補の抽出２、周波数帯域の制限３、メロディラインの推定４ａおよびベースラインの推定４ｂの各処理を含む。また、メロディラインの推定４ａおよびベースラインの推定４ｂの各処理は、基本周波数の確率密度関数の推定４１および基本周波数の確定４２を各々含む。本実施形態において、瞬時周波数の算出１、周波数成分の候補の抽出２、周波数帯域の制限３の処理内容は、前掲特許文献１に開示されたものと基本的に同様である。本実施形態の特徴は、音分析プログラムの各処理のうち、メロディラインの推定４ａおよびベースラインの推定４ｂの処理内容、具体的には、これらの各処理４ａおよび４ｂにおいて、特許文献１が採用していたマルチエージェントモデルによる基本周波数の継時的な追跡を省略し、その代わりに基本周波数の確率密度関数の推定４１および基本周波数の確定４２の処理内容に改良を加えた点にある。以下、本実施形態による音分析プログラムを構成する各処理の内容を説明する。
【００２０】
＜＜瞬時周波数の算出１＞＞
この処理では、入力音響信号を複数のＢＰＦからなるフィルタバンクに与え、フィルタバンクの各ＢＰＦの出力信号について、位相の時間微分である瞬時周波数（Flanagan, J.L. and Golden, R.M.: Phase Vocoder, The BellSystem
Technical J., Vol.45, pp.1493-1509 (1966)参照）を計算する。ここでは、上記Flanaganの手法を用い、短時間フーリエ変換(STFT)の出力をフィルタバンク出力と解釈して、効率良く瞬時周波数を計算する。入力音響信号ｘ(ｔ)に対する窓関数ｈ(ｔ)を用いたＳＴＦＴが式（３）および（４）により与えられるとき、瞬時周波数λ（ω，ｔ）は式（５）により求めることができる。
【００２１】
【数３】
2008058755.tif 000005
【数４】
2008058755.tif 000006
【数５】
2008058755.tif 000007
【００２２】
ここで、ｈ(ｔ)は時間周波数の局所化を与える窓関数である（例えば、最適な時間周波数の局所化を与えるガウス関数に２階のカーディナルＢ−スプライン関数を畳み込んで作成した時間窓など)。
【００２３】
この瞬時周波数を計算するのに、ウェーブレット変換を用いても良い。ここでは、計算量を減らすためにＳＴＦＴを用いるが、単一のＳＴＦＴのみを用いたのでは、ある周波数帯域における時間分解能や周波数分解能が悪くなってしまう。そこで、マルチレートフィルタバンク（Vetterli, M.: A Theory of Multirate Filter Banks, IEEE Trans. on
ASSP, Vol.ASSP-35, No.3, pp. 356-372 (1987)、参照）を構成し、リアルタイムに実行可能という制約のもとで、ある程度妥当な時間周波数分解能を得る。
【００２４】
＜＜周波数成分の候補の抽出２＞＞
この処理では、フィルタの中心周波数からその瞬時周波数への写像に基づいて、周波数成分の候補を抽出する（Charpentier, F.J.: Pitch detection using the short-termphase
spectrum, Proc. of ICASSP 86, pp.113-116 (1986)参照）。あるＳＴＦＴフィルタの中心周波数ωからその出力の瞬時周波数λ（ω，ｔ）への写像を考える。すると、もし周波数ψの周波数成分があるときには、ψがこの写像の不動点に位置し、その周辺の瞬時周波数の値はほぼ一定となる。つまり、全周波数成分の瞬時周波数Ψf(t)は、次式によって抽出することができる。
【００２５】
【数６】
2008058755.tif 000008
これらの周波数成分のパワーは、Ψf(t)の各周波数におけるＳＴＦＴパワースペクトルの値として得られるため、周波数成分のパワー分布関数Ψp(t)(ω)を次のように定義することができる。
【数７】
2008058755.tif 000009
【００２６】
＜＜周波数帯域の制限３＞＞
この処理では、抽出した周波数成分に重み付けすることで、周波数帯域を制限する。ここでは、メロディラインとベースライン用に、２種類のＢＰＦを用意する。メロディライン用ＢＰＦは、典型的なメロディラインの主要な基本波成分および高調波成分の多くを通過させることができ、かつ、基本周波数付近の重複が頻繁に起きる周波数帯域をある程度遮断する。一方、ベースライン用ＢＰＦは、典型的なベースラインの主要な基本周波数成分および高調波成分の多くを通過させることができ、かつ、他の演奏パートがベースラインよりも優勢になるような周波数帯域をある程度遮断する。
【００２７】
本実施形態では、以下、対数スケールの周波数をcentの単位(本来は音高差(音程)を表す尺度)で表し、Ｈｚで表された周波数ｆＨｚを、次のようにcentで表された周波数ｆｃｅｎｔに変換する。
【数８】
2008058755.tif 000010
【数９】
2008058755.tif 000011
平均律の半音は１００ｃｅｎｔに、１オクターブは１２００ｃｅｎｔに相当する。
【００２８】
周波数ｘ ｃｅｎｔでのＢＰＦの周波数応答をＢＰＦｉ（ｘ）（ｉ＝ｍ，ｂ）とし、周波数成分のパワー分布関数をΨ’ｐ（ｔ）（ｘ）とすると、ＢＰＦを通過した周波数成分はＢＰＦｉ（ｘ）Ψ’ｐ（ｔ）（ｘ）と表すことができる。ただし、Ψ’ｐ（ｔ）（ｘ）は、周波数軸がｃｅｎｔで表されていることを除けばΨｐ（ｔ）（ω）と同じ関数である。ここで、次の段階の準備として、ＢＰＦを通過した周波数成分の確率密度関数ｐΨ（ｔ）（ｘ）を定義する。
【数１０】
2008058755.tif 000012
【００２９】
ここで、Ｐｏｗ（ｔ）は次式に示すようにＢＰＦを通過した周波数成分のパワーの合計である。
【数１１】
2008058755.tif 000013
【００３０】
＜＜基本周波数の確率密度関数の推定４１＞＞
この処理では、ＢＰＦを通過した周波数成分の候補に対し、各高調波構造が相対的にどれくらい優勢かを表す基本周波数の確率密度関数を求める。そのために、本実施形態では、周波数成分の確率密度関数ｐΨ（ｔ）（ｘ）が、高調波構造を持つ音をモデル化した確率分布（音モデル）の混合分布モデル（重み付き和のモデル）から生成されたと考える。基本周波数がＦの音モデルの確率密度関数をｐ（ｘ｜Ｆ）とすると、その混合分布モデルｐ（ｘ；θ（ｔ））は、次式により定義することができる。
【数１２】
2008058755.tif 000014
【数１３】
2008058755.tif 000015
【００３１】
ここで、ＦｈｉとＦｌｉは、許容される基本周波数の上限と下限であり、ＢＰＦの通過帯域により決定される。また、ｗ（ｔ）（Ｆ）は、次式を満たすような、音モデルｐ（ｘ｜Ｆ）の重みである。
【数１４】
2008058755.tif 000016
【００３２】
ＣＤ等による実世界の音響信号に対して事前に音源数を仮定することは不可能なため、このように、あらゆる基本周波数の可能性を同時に考慮してモデル化することが重要となる。もし、観測した周波数成分ｐΨ（ｔ）（ｘ）がモデルｐ（ｘ；θ（ｔ））から生成されたかのようにモデルパラメータθ（ｔ）を推定できれば、ｐΨ（ｔ）（ｘ）は個々の音モデルへと分解されたとみなすことができ、次式に示すように、各基本周波数Ｆの音モデルに対する重みｗ（ｔ）（Ｆ）を、基本周波数Ｆの確率密度関数ｐＦＯ（ｔ）（Ｆ）と解釈することができる。
【数１５】
2008058755.tif 000017
【００３３】
つまり、混合分布中において、ある音モデルｐ（ｘ｜Ｆ）が優勢になればなるほど（すなわち、ｗ（ｔ）（Ｆ）が大きくなるほど）、ｐＦＯ（ｔ）（Ｆ）において、そのモデルの基本周波数Ｆの確率が高くなる。
【００３４】
以上から、確率密度関数ｐΨ（ｔ）（ｘ）を観測したときに、そのモデルｐ（ｘ；θ（ｔ））のパラメータθ（ｔ）を推定する問題を解けばよいことがわかる。θ（ｔ）の最尤推定量は、次式で定義される平均対数尤度を最大化することで得られる。
【数１６】
2008058755.tif 000018
【００３５】
この最大化問題は解析的に解くことが困難なため、前述のＥＭ（Ｅｘｐｅｃｔａｔｉｏｎ−Ｍａｘｉｍｉｚａｔｉｏｎ）アルゴリズムを用いてθ（ｔ）を推定する。ＥＭアルゴリズムは、Ｅステップ（ｅｘｐｅｃｔａｔｉｏｎ  ｓｔｅｐ）とＭステップ（ｍａｘｉｍｉｚａｔｉｏｎ  ｓｔｅｐ）を交互に繰返し適用することで、不完全な観測データ（この場合、ｐΨ（ｔ）（ｘ））から最尤推定をおこなうための反復アルゴリズムである。本実施形態では、ＥＭアルゴリズムを繰り返すことにより、ＢＰＦを通過した周波数成分の確率密度関数ｐΨ（ｔ）（ｘ）を、各種の基本周波数Ｆに対応した複数の音モデルｐ（ｘ｜Ｆ）を重み付け加算した混合分布と考える場合において、最も尤もらしい重みのパラメータθ（ｔ）（＝｛ｗ（ｔ）（Ｆ）｜Ｆｌｉ≦Ｆ≦Ｆｈｉ｝を求める。ここで、ＥＭアルゴリズムの各繰り返しでは、パラメータθ（ｔ）（＝｛ｗ（ｔ）（Ｆ）｜Ｆｌｉ≦Ｆ≦Ｆｈｉ｝）に関して、古いパラメータ推定値θold（ｔ）（＝｛ｗold（ｔ）（Ｆ）｜Ｆｌｉ≦Ｆ≦Ｆｈｉ｝）を更新して新しい（より尤もらしい）パラメータ推定値θｎｅｗ（ｔ）（＝｛ｗnew（ｔ）（Ｆ）｜Ｆｌｉ≦Ｆ≦Ｆｈｉ｝）を求めていく。θold（ｔ）の初期値には、１つ前の時刻ｔ−１における最終的な推定値を用いる。この古いパラメータ推定値θold（ｔ）から新しいパラメータ推定値θｎｅｗ（ｔ）を求める漸化式は、次のようになる。なお、この漸化式の導出過程は特許文献１に詳細に説明されているので、そちらを参照されたい。
【数１７】
2008058755.tif 000019
【００３６】
図２は、本実施形態において音モデルｐ（ｘ｜Ｆ）に対する重みのパラメータθ（ｔ）（＝｛ｗ（ｔ）（Ｆ）｜Ｆｌｉ≦Ｆ≦Ｆｈｉ｝がＥＭアルゴリズムにより更新される過程を例示したものである。なお、図２では、図示を簡素化するために、周波数成分の数が４個である音モデルを使用した場合の例が示されている。
【００３７】
本実施形態におけるＥＭアリゴリズムでは、各基本周波数Ｆに対応した音モデルｐ（ｘ｜Ｆ）と現状における各音モデルに対する重み値ｗold（ｔ）（Ｆ）とに基づき、次式に従い、周波数ｘ毎に各音モデルに対応したスペクトル分配比を求める。
【数１８】
2008058755.tif 000020
【００３８】
上記式（１８）に示すように、ある周波数ｘにおける各音モデルｐ（ｘ｜Ｆ）に対応したスペクトル分配比（ｘ｜Ｆ）は、重み値ｗold（ｔ）（Ｆ）の乗算された各音モデルｐ（ｘ｜Ｆ）の周波数ｘにおける各振幅値ｗold（ｔ）（Ｆ）ｐ（ｘ｜Ｆ）の総和（式（１８）における分母の積分値に相当）を求め、その総和により各振幅値ｗold（ｔ）（Ｆ）ｐ（ｘ｜Ｆ）を除算することにより得られる。式（１８）から明らかなように、各周波数ｘにおいて、各音モデルｐ（ｘ｜Ｆ）に対応した各スペクトル分配比（ｘ｜Ｆ）は、総和が１となるように正規化されたものとなる。
【００３９】
そして、本実施形態では、各周波数ｘにおいて、その周波数ｘにおける確率密度関数ｐΨ（ｔ）（ｘ）の関数値をその周波数ｘにおける各音モデルｐ（ｘ｜Ｆ）のスペクトル分配比により分配し、音モデルｐ（ｘ｜Ｆ）毎に、このようにして分配された確率密度関数ｐΨ（ｔ）（ｘ）の関数値を総計して、各音モデルｐ（ｘ｜Ｆ）の取り分とする。そして、全音モデルの取り分を合計し、その合計値によって各音モデルの取り分を除算し、総和が１となるように正規化された各音モデルｐ（ｘ｜Ｆ）の取り分を新たな重みパラメータｗｎｅｗ（ｔ）（Ｆ）とするのである。以上の処理が繰り返されることにより、基本周波数Ｆの異なった各音モデルｐ（ｘ｜Ｆ）のうち混合音の周波数成分の確率密度関数ｐΨ（ｔ）（ｘ）によって支持されている確率の高いものに対する重みパラメータｗ（ｔ）（Ｆ）が次第に強調されてゆく。この結果、重みパラメータｗ（ｔ）（Ｆ）は、ＢＰＦを通過した混合音における基本周波数の確率密度関数を示すに至る。
【００４０】
＜＜基本周波数の確定４２＞＞
最も優勢な基本周波数Ｆｉ（ｔ）を決定するには、次式に示すように、基本周波数の確率密度関数ｐＦ０（ｔ）（Ｆ）（式（１５）より、式（１７）を反復計算した最終的な推定値として得られる）を最大にする周波数を求めればよい。
【数１９】
2008058755.tif 000021
こうして得られた周波数を音高とする。
【００４１】
＜＜特許文献１の技術に対する本実施形態の改良点＞＞
上述した基本周波数の確率密度関数の推定４１において、ＥＭアルゴリズムにより得られる基本周波数の確率密度関数は、複数のピークを持ったものとなる。これらのピークの中には、実際に鳴っている音の基本周波数に対応したピークもあるが、実際には音が鳴っていないにも拘わらず誤って確率密度が高められた結果生じたピークもある。なお、以下では、このように誤って発生したピークをゴーストという。
【００４２】
特許文献１の技術では、このようなゴーストが発生する状況下において、ＥＭアルゴリスムにより逐次得られる確率密度関数において確率密度がピークとなる各基本周波数の中から実際に鳴っている音の基本周波数を求めるために、マルチエージェントモデルによる基本周波数の継時的な追跡を行った。
【００４３】
これに対し、本実施形態では、マルチエージェントモデルによる基本周波数の継時的な追跡は行わない。その代わりに、本実施形態では、入力音響信号の発生元である音源に関する事前知識を音分析プログラムに与える。そして、音分析プログラムでは、図２に示すように、ＥＭアルゴリズムのＥステップおよびＭステップの実行により得られた基本周波数の確率密度関数を用いてさらにＥステップおよびＭステップを繰り返す際に、この事前知識を利用して、確率密度関数を操作する。そして、この確率密度関数の操作を繰り返すことにより、ＥステップおよびＭステップの実行により得られる確率密度関数を、実際に鳴っている可能性の高い音の基本周波数に対応した確率密度のピークのみが強調された確率密度関数に変化させてゆく。
【００４４】
さらに詳述すると、本実施形態による音分析プログラムでは、図１に示すように、基本周波数の確率密度関数の推定４１において、ＥＭアルゴリズムのＥステップおよびＭステップ４１１と、収束判定４１２と、上述した“事前知識”を利用した処理であるフォーム推定４１３と、事前分布付与４１４とを繰り返す。
【００４５】
まず、ＥステップおよびＭステップ４１１では、前掲式（１７）の漸化式に従い、基本周波数の確率密度関数、すなわち、各種の基本周波数Ｆに対応した音モデルの重み値θ＝θｎｅｗ（ｔ）（＝｛ｗnew（ｔ）（Ｆ）｜Ｆｌｉ≦Ｆ≦Ｆｈｉ｝）を求める。
【００４６】
次に収束判定４１２では、今回のＥステップおよびＭステップ４１１において得られた各種の基本周波数Ｆに対応した音モデルの重み値θ＝θｎｅｗ（ｔ）とその前の重み値θ＝θold（ｔ）とを比較し、重み値θの変化分が許容範囲内に収まったか否かを判定する。そして、重み値θの変化分が許容範囲内に収まったと判定した場合には、基本周波数の確率密度関数の推定４１の処理を終了し、基本周波数の確定４２へと進む。一方、重み値θの変化分が許容範囲内に収まっていないと判定した場合には、フォーム推定４１３へと進む。
【００４７】
フォーム推定４１３では、ＥステップおよびＭステップ４１１において得られた確率密度関数において、確率密度がピークとなる各基本周波数Ｆの中から、実際に鳴っている可能性が高いと推定される音の基本周波数Ｆを求める。このフォーム推定４１３を行うに当たり、本実施形態では、音分析装置のメモリに予め記憶された音源構造データ４１３Ｆを参照する。この音源構造データ４１３Ｆは、入力音響信号の発生元である音源の構造に関するデータであり、音源が発音可能な音を定義するデータおよび音源が同時に発音可能な音に関する制約条件を定義するデータを含む。この例では、音源は６本の弦を有するギターである。このため、音源構造データ４１３Ｆは、例えば次のような内容になっている。
【００４８】
＜＜＜音源構造データ４１３Ｆの内容＞＞＞
（１）音源が発音可能な音を定義するデータ
音源がギターである場合、弦を弾くことにより発生される音は、その弦の番号と、指板上において押さえられているその弦のフレット位置とにより決定される。弦の番号ｋｓを１〜６、フレット番号ｋｆを０〜Ｎ（ただし、ｋｆ＝０はフレットを指で押さえない開放弦の状態に相当）とした場合、ギターでは弦番号ｋｓとフレット番号ｋｆの組み合わせに対応した６×（Ｎ＋１）種類の音（この中には基本周波数が互いに同じであるものも含まれている）を発生可能である。音源構造データは、弦番号ｋｓとフレット番号ｋｆの各組み合わせに対応付けて、その組み合わせにおいて弦から発生される音の基本周波数を定義するデータを含んでいる。
（２）音源が同時に発音可能な音に関する制約条件を定義するデータ
制約条件ａ．同時に発音可能な音の個数
弦の本数が６本であるため、発音可能な音の数は最大６個である。
制約条件ｂ．押さえることが可能なフレット位置の組み合わせに関する制約
人間の手指の長さによる制約があるため、ある限度を越えてフレット番号のかけ離れた２つのフレットを同時に指で押さえることはできない。音源構造データ４１３Ｆには、同時に押さえることができる複数のフレットのうち最も大きなフレット番号と最も小さなフレット番号の差分の上限値が定義されている。
制約条件ｃ．弦１本当たりの発音可能数
１本の弦は、同時に発音することができる音は１個である。
【００４９】
図３は、フォーム推定４１３の処理内容を示している。図示のように、フォーム推定４１３は、第１フェーズ（フォーム当てはめフェーズ）と第２フェーズ（フォーム選択フェーズ）とからなる。
【００５０】
第１フェーズでは、音源構造データ４１３Ｆにおける「音源が発音可能な音を定義するデータ」を参照する。そして、音源であるギターの指板上において、ＥステップおよびＭステップ４１１により得られた確率密度関数において確率密度がピークとなる各基本周波数Ｆ＝Ｆ１、Ｆ２、…の音を発生するために指をおくべき指位置Ｐ１、Ｐ２、…を求める。そして、このようにして求めた指位置毎に、その元となった基本周波数Ｆ、確率密度関数におけるその基本周波数Ｆに対応した確率密度（重み値θ）、指位置を特定する弦番号ｋｓおよびフレット番号ｋｆからなるフォームデータを作成し、フォームバッファに蓄積する。ここで、同一基本周波数Ｆの音を発生可能な指位置が複数組存在する場合もある。その場合には、それらの全ての指位置について、各々基本周波数Ｆ、重み値θ、弦番号ｋｓおよびフレット番号ｋｆからなる複数のフォームデータを作成し、フォームバッファに蓄積する。
【００５１】
フォーム推定４１３の第２フェーズでは、フォームバッファに蓄積された各フォームデータの中から、互いに異なる基本周波数Ｆに対応したフォームデータを上記制約条件ａに反しない範囲でなるべく多数選択する。フォームデータの選択に当たっては、選択される各フォームデータが選択される他のフォームデータとの関係で上記制約条件ｂおよびｃに反しないようにする。
【００５２】
図３に示す例では、指位置Ｐ１と指位置Ｐ２は同一弦上にあるため、これらの両指位置に対応したフォームデータの両方を残すことは制約条件ｃに反する。従って、これらのうちの一方（例えば指位置Ｐ１）に対応したフォームデータを選択する。このように制約条件ｃの下で、排他的な関係に立つ複数のフォームデータがある場合にいずれを選択するかに関しては各種の方法が考えられる。ある好ましい態様では、より低い基本周波数Ｆに対応したフォームデータを選択し、他のフォームデータを排除する。他の好ましい態様では、より高い重み値θを含んだフォームデータを選択し、他のフォームデータを排除する。
【００５３】
また、図３に示す例では、指位置は、フレット番号ｋｆ＝１〜１０のフレット位置の範囲に分布しており、フレット番号ｋｆ＝１のフレットとフレット番号ｋｆ＝１０のフレットとの間が開きすぎているため、制約条件ｂが満たされていない。そして、この例では、フレット番号の若い指位置（Ｐ１〜Ｐ４等）が多数派であり、フレット番号ｋｆが１０である指位置Ｐ１０は少数派である。従って、第２フェーズでは、指位置Ｐ１０に対応したフォームデータを排除する。
【００５４】
このように第２フェーズでは、フォームバッファ内のフォームデータのうち制約条件ｂおよびｃを満足させる上での障害となるフォームデータを排除してゆく。この排除の結果、６個以下のフォームデータが残った場合には、それらのフォームデータを実際に鳴っている可能性が高い音に対応したフォームデータとして決定する。また、残ったフォームデータが７個以上あり、制約条件ａが満たされない場合には、例えば重み値θの低いフォームデータを排除する、といった方法により、６個以内のフォームデータを選択し、実際に鳴っている可能性が高い音に対応したフォームデータとして決定する。
【００５５】
事前分布付与４１４では、フォーム推定４１３により得られた実際に鳴っている可能性が高い音に対応したフォームデータを用いて、ＥステップおよびＭステップ４１１により得られた基本周波数Ｆの確率密度関数の操作を行う。図４は、この事前分布付与４１４の処理内容を例示するものである。この図に示すように、事前分布付与４１４では、ＥステップおよびＭステップ４１１により得られた基本周波数Ｆの確率密度関数における確率密度のピークのうち、実際に鳴っている可能性が高い音に対応したフォームデータが示す基本周波数Ｆ（図示の例ではＦ１、Ｆ３）に対応した確率密度（重み値θ）のピークを増大させ、それ以外のピーク（図示の例ではＦ２、Ｆ４、Ｆｍ）を低下させる。そして、このようにして事前分布の付与された基本周波数Ｆの確率密度関数を次回のＥステップおよびＭステップ４１１に引き渡す。
【００５６】
以上のような処理が繰り返される結果、ＥステップおよびＭステップ４１１の実行により得られる確率密度関数は、実際に鳴っている可能性の高い音の基本周波数に対応した確率密度のピークのみが強調された確率密度関数に変化してゆく。そして、ＥステップおよびＭステップ４１１の実行前後における確率密度（＝重み値θ）の変化分が許容範囲内に収まったとき、収束判定４１２では、ＥステップおよびＭステップ４１１の繰り返しを終了させ、基本周波数の確率密度関数を基本周波数の確定４２に引き渡す。
【００５７】
本実施形態における基本周波数の確定４２では、まず、フォーム推定４１３により得られた各フォームデータが示す各基本周波数に対応した確率密度のピーク値を基本周波数の確率密度関数の推定４１により得られた確率密度関数から求める。次に、それらの確率密度のピーク値の中から最大値を求め、この最大値に所定の係数ｐｒｉｏｒ＿ｔｈｒｅｓを乗じて閾値ＴＨを求める。そして、各フォームデータが示す各基音周波数のうち確率密度のピーク値が閾値ＴＨより大きいものを選択し、鳴っている音の基本周波数として確定させるのである。このような処理により鳴っている音の基本周波数を選択する理由は次の通りである。
【００５８】
まず、確率密度関数は全周波数範囲についての積分値が１になるものである。従って、実際に鳴っている音の数が少ないときには、確率密度のピーク値の最大値は高くなり、一方、実際に鳴っている音の数が多ければ、確率密度のピーク値の最大値は低くなる。そこで、本実施形態では、確率密度関数に現れる各ピークが実際に鳴っている音のものであるか否かを判定する際に、確率密度の各ピーク値との比較に用いる閾値ＴＨを確率密度のピーク値の最大値に連動させ、実際に鳴っている音の基本周波数を選択が適切に行われるようにしているのである。
【００５９】
図５（ａ）および（ｂ）は、本実施形態における基本周波数の確定４２の実行例を示すものである。まず、図５（ａ）に示す例では、鳴っている音の数が多い。このため、基本周波数の確率密度のピーク値は、平均的に低く、かつ、分散は小さめである。この場合、ピーク値の最大値も低くなるため、閾値ＴＨも低くなる。従って、フォーム推定により選択された全ての基本周波数におけるピーク値（図示の６個のピーク値）が閾値ＴＨを越え、これらの基本周波数が鳴っている音の基本周波数として確定される。一方、図５（ｂ）に示す例では、鳴っている音の数が少ない。このため、確率密度関数に現れる確率密度の各ピーク値は、実際に鳴っている音のものは大きく、そうでないもののピーク値は小さくなり、両者の間には顕著な差が生じる。この場合、ピーク値の最大値に基づいて閾値ＴＨが決定されると、フォーム推定により選択された各基本周波数におけるピーク値のうち比較的少数のピーク値（図示の例では１個のピーク値）のみが閾値ＴＨを越え、この基本周波数が鳴っている音の基本周波数として確定される。
以上が本実施形態の詳細である。
【００６０】
以上のように、本実施形態によれば、ＥＭアルゴリズムにより入力音響信号の基本周波数の確率密度関数を推定して、鳴っている音の基本周波数を求める際に、楽器固有の事前知識を活用して、発音されている音の基本周波数を精度良く推定することができる。
【００６１】
＜第２実施形態＞
図６は、この発明の第２実施形態による音分析プログラムの処理内容を示す図である。上記第１実施形態では、基本周波数の確率密度関数の推定４１において、ＥステップおよびＭステップ４１１が繰り返される毎に、フォーム推定４１３および事前分布付与４１４を行った。これに対し、本実施形態において基本周波数の確率密度関数の推定４１では、ＥステップおよびＭステップ４１１と収束判定４１２のみを繰り返す。そして、本実施形態では、基本周波数の確定４２ａにおいて、基本周波数を確定させるのに先立つ前処理として、上記第１実施形態におけるフォーム推定４１３と同じ内容の処理を基本周波数Ｆの確率密度関数に対して施し、鳴っている可能性のある音の基本周波数を求める。次いで上記第１実施形態における基本周波数の確定４２と同じ内容の処理を実行し、鳴っている可能性のある音の基本周波数の中から１または複数の基本周波数を選択し、鳴っている音の基本周波数として確定させる。
【００６２】
本実施形態においても上記第１実施形態と同様な効果が得られる。また、本実施形態によれば、上記第１実施形態よりも、フォーム推定４１３の実行回数が少なくなり、かつ、事前分布付与４１４を実行しないので、第１実施形態よりも演算量を減らすことができる。
【００６３】
＜第３実施形態＞
図７は、この発明の第３実施形態による音分析プログラムのうち上記第１実施形態における基本周波数の確率密度関数の推定４１および基本周波数の確定４２に相当する部分の処理内容を示すフローチャートである。本実施形態では、１フレーム分の混合音の確率密度関数ｐΨ（ｔ）（ｘ）が得られる毎に、図７に示す各処理を実行する。
【００６４】
（１）まず、第１の更新手段としての処理を実行する。すなわち、事前分布を与えることなく、確率密度関数ｐΨ（ｔ）（ｘ）に基づき、上記第１実施形態におけるＥステップおよびＭステップをＭ１回（Ｍ１は２以上の整数）繰り返し、各基本周波数Ｆに対応した音モデルに対する重み値θ＝ｗ（ｔ）（Ｆ）を更新する（ステップＳ１０およびＳ１１）。
【００６５】
（２）次に基本周波数選択手段としての処理を実行する。すなわち、上記第１実施形態におけるフォーム推定４１３に相当するピーク選択処理（ステップＳ１２）を実行し、鳴っている可能性のある１または複数の音の基本周波数をメモリに格納する。
【００６６】
（３）次に第２の更新手段としての処理を実行する。すなわち、メモリに記憶された１または複数の基本周波数における確率密度を強調する事前分布付与を確率密度関数に対して施す処理（ステップＳ１３）と、ＥステップおよびＭステップを実行して各基本周波数Ｆに対応した音モデルに対する重み値θ＝ｗ（ｔ）（Ｆ）を更新する処理（ステップＳ１４）とをＭ２回（Ｍ２は２以上の整数）に亙って繰り返す（ステップＳ１５）。
【００６７】
（４）次に第３の更新手段としての処理を実行する。すなわち、事前分布付与を行うことなく、ＥステップおよびＭステップをＭ３回（Ｍ３は２以上の整数）繰り返し、各基本周波数Ｆに対応した音モデルに対する重み値θ＝ｗ（ｔ）（Ｆ）を更新する（ステップＳ１６およびＳ１７）。このステップＳ１６およびＳ１７の処理を実行するのは、ステップＳ１３〜Ｓ１５の繰り返しにより強調された確率密度のピークの中に実際に鳴っていない音の基本周波数の確率密度のピークが含まれている場合に、そのようなピークを減衰させるためである。なお、上記第２の更新手段としての処理において、実際に鳴っていない音の基本周波数の確率密度のピークが強調される可能性が低い場合には、この第３の更新手段としての処理を省略してもよい。
【００６８】
（５）次に基本周波数の確定のための処理を実行する。すなわち、メモリに記憶された各基本周波数に対応した確率密度のピーク値について、上記第１実施形態と同様な方法により、閾値ＴＨの算出（ステップＳ１８）および閾値ＴＨを用いることによる基本周波数の確定（ステップＳ１９）を行い、実際に鳴っている音の基本周波数を確定させる。
【００６９】
本実施形態では、フォーム推定４１３に相当するステップＳ１２の処理を、基本周波数の確率密度関数の推定と、基本周波数の確定の両方で共有することができ、１回だけで済ませることができる。また、本実施形態では、フォーム推定（ステップＳ１２）の結果を利用した事前分布付与を伴う所定回数のＥＭ推定（ステップＳ１３〜Ｓ１５）を行った後、さらに事前分布付与を行わない所定回数のＥＭ推定（ステップＳ１６〜Ｓ１７）を行うので、例えば鳴っている音の数が少ないにも拘わらずステップＳ１３〜Ｓ１５の処理により発音可能数の最大値である６個の基本周波数における確率密度が強調されてしまったとしても、誤って強調された確率密度がその後のＥＭ推定（ステップＳ１６〜Ｓ１７）によって正解に収束していくことが期待される。従って、本実施形態によれば、上記第１実施形態および第２実施形態よりもさらに精度良く鳴っている音の基本周波数を確定させることができる。
【００７０】
＜他の実施形態＞
以上、この発明の第１〜第３実施形態について説明したが、この発明には他にも実施形態があり得る。例えば次の通りである。
【００７１】
（１）上記各実施形態におけるフォーム推定４１３において、実際に鳴っている可能性の高い音のフォームデータの絞り込みをさらに強化するために次の操作を追加してもよい。すなわち、制約条件に基づいて選択された各フォームデータについて、確率密度関数における当該フォームデータが示す基本周波数Ｆに対応した重み値θを強制的に０とし、ＥステップおよびＭステップ４１１を１回実行する。この実行前後において確率密度関数に大きな変化がない場合、当該基本周波数Ｆにおいて生じている重み値θのピークはゴーストである可能性が高い。従って、そのような基本周波数Ｆに対応したフォームデータは、実際に鳴っている可能性の高い音のフォームデータの中から排除する。この処理を制約条件に基づいて選択された各フォームデータについて実行することにより、実際に鳴っている可能性の高い音のフォームデータの絞り込みをさらに強化し、ゴーストに対応したものが除外されたフォームデータを得ることができる。
【００７２】
（２）上記第１実施形態において、ある瞬時についての基本周波数の確率密度の推定４１が開始されて間もなく、基本周波数の確率密度関数の変動が大きい段階では、フォーム推定４１３の第２フェーズ（フォーム選択フェーズ）を実行する際に、制約条件ａを課さないで、なるべく多くの音に対応したフォームデータを残し、基本周波数の確率密度関数の変動がある程度収束した段階で、フォーム推定４１３の第２フェーズ（フォーム選択フェーズ）の実行の際に制約条件ａを課すようにしてもよい。
【図面の簡単な説明】
【００７３】
【図１】この発明の第１実施形態である音分析プログラムの処理内容を示す図である。
【図２】同実施形態において音モデルに対する重みのパラメータがＥＭアルゴリズムにより更新される過程を例示した図である。
【図３】同実施形態において行われるフォーム推定の処理内容を例示する図である。
【図４】同実施形態において行われる事前分布付与の処理内容を例示する図である。
【図５】同実施形態において行われる基本周波数の確定の実行例を示す図である。
【図６】この発明の第２実施形態である音分析プログラムの処理内容を示す図である。
【図７】この発明の第３実施形態である音分析プログラムの処理内容のうち基本周波数の確率密度関数の推定および基本周波数の確定に相当する部分の処理内容を示すフローチャートである。
【符号の説明】
【００７４】
１……瞬時周波数の算出、２……周波数成分の候補の算出、３……周波数帯域の制限、４ａ……メロディラインの推定、４ｂ……ベースラインの推定、４１……基本周波数の確率密度関数の推定、４２，４２ａ……基本周波数の確定、４１１……ＥステップおよびＭステップ、４１２……収束判定、４１３……フォーム推定、４１４……事前分布付与。
【図１】
2008058755.tif 000022
【図２】
2008058755.tif 000023
【図３】
2008058755.tif 000024
【図４】
2008058755.tif 000025
【図５】
2008058755.tif 000026
【図６】
2008058755.tif 000027
【図７】
2008058755.tif 000028