(57)【要約】【課題】音高を高精度に推定する。【解決手段】音高推定部１０は、高調波構造を示す複数の音モデルＭ[F]の混合分布として対象音をモデル化したときの各音モデルＭ[f]の重み値ω[F]を示す基本周波数の確率密度関数Ｐから対象音の基本周波数Ｆ0を推定する。指標算定部５０は、対象音を構成する音数に応じた音数指標値Ｎを算定する。制御部６０は、音高推定部１０による処理を音数指標値Ｎに基づいて制御する。例えば、重み値ω[F]を更新する単位処理の反復によって音高推定部１０が確率密度関数Ｐを推定する構成において、制御部６０は、単位処理の反復回数ｍを音数指標値Ｎに応じて制御する。また、確率密度関数において閾値Ｐthを上回るピークの周波数を音高推定部１０が対象音の基本周波数Ｆ0として推定する構成において、制御部６０は、音数指標値Ｎに基づいて閾値Ｐthを制御する。【選択図】図１
2010286857.tif 000002
【特許請求の範囲】
【請求項１】
相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号をモデル化したときの各音モデルの重み値を更新する単位処理を反復する最尤推定アルゴリズムで前記入力音響信号の基本周波数の確率密度関数を推定する関数推定手段と、
前記関数推定手段が推定した前記基本周波数の確率密度関数から前記入力音響信号の基本周波数を特定する音高特定手段と、
前記入力音響信号を構成する音数に応じた音数指標値を算定する指標算定手段と、
前記関数推定手段による前記単位処理の反復回数を前記音数指標値に応じて可変に制御する制御手段と
を具備する音高推定装置。
【請求項２】
相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号をモデル化したときの各音モデルの重み値を更新する単位処理を反復する最尤推定アルゴリズムで前記入力音響信号の基本周波数の確率密度関数を推定する一方、
前記推定した前記基本周波数の確率密度関数から前記入力音響信号の基本周波数を特定し、
前記入力音響信号を構成する音数に応じた音数指標値を算定し、
前記単位処理の反復回数を前記音数指標値に応じて可変に制御する
音高推定方法。
【請求項３】
相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号をモデル化したときの各音モデルの重み値を更新する単位処理を反復する最尤推定アルゴリズムで前記入力音響信号の基本周波数の確率密度関数を推定する関数推定処理と、
前記関数推定処理で推定した前記基本周波数の確率密度関数から前記入力音響信号の基本周波数を特定する音高特定処理と、
前記入力音響信号を構成する音数に応じた音数指標値を算定する指標算定処理と、
前記関数推定処理における前記単位処理の反復回数を前記音数指標値に応じて可変に制御する制御処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音高（基本周波数）を推定する技術に関する。
【背景技術】
【０００２】
特許文献１には、複数の音の混合音など様々な音（以下「対象音」という）を構成するひとつの音の基本周波数を推定する技術が開示されている。この技術においては、対象音の振幅スペクトルを複数の音モデル（高調波構造をモデル化した確率密度関数）の混合分布でモデル化したときの各音モデルの重み値を基本周波数の確率密度関数として算定し、確率密度関数において優勢なピークを所望の音の基本周波数として推定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３４１３６３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、例えばＣＤなど市販の記録媒体に収録された対象音は非常に多様であり、例えば対象音を構成する音の総数（以下「音数」という）は区々である。特許文献１の構成においては、対象音を構成する音数とは無関係に基本周波数の確率密度関数の推定や対象音の基本周波数の特定など各種の処理が実行されるから、対象音を構成する音数によっては、基本周波数を高精度に推定できない場合もある。このような事情に鑑みて、本発明は、対象音の基本周波数を推定する精度を向上するという課題の解決を目的としている。
【課題を解決するための手段】
【０００５】
以上の課題を解決するために、本発明に係る音高推定装置は、高調波構造を示す複数の音モデルの混合分布として対象音をモデル化したときの各音モデルの重み値を示す基本周波数の確率密度関数から対象音の基本周波数を推定する音高推定手段と、対象音を構成する音数に応じた音数指標値を算定する指標算定手段と、音高推定手段による処理を音数指標値に基づいて制御する制御手段とを具備する。
【０００６】
以上の構成においては、対象音を構成する音数に応じた音数指標値に基づいて音高推定手段による処理が制御される。したがって、多様な音数の対象音が基本周波数の推定の対象とされ得る場合に、対象音を構成する音数に拘わらず音高推定手段が共通の処理を実行する場合と比較して、対象音の基本周波数を高精度に推定することが可能となる。
【０００７】
本発明のひとつの態様において、音高推定手段は、重み値を更新する単位処理の反復によって確率密度関数を推定し、制御手段は、単位処理の反復の回数を音数指標値に応じて制御する。本態様においては、単位処理の反復の回数が音数指標値に応じて制御されるから、対象音を構成する音数に応じた基本周波数の確率密度関数を推定することが可能となる。
なお、音数が多い対象音から高精度に基本周波数を推定するためには、各音モデルの重み値の尤度を充分に高める必要がある。一方、対象音を構成する音数が少ない場合には重み値の尤度が余り高くなくても対象音の基本周波数を高精度に推定できる場合がある。各音モデルの重み値の尤度は単位処理の反復の回数が多いほど増加するから、本発明の好適な態様における制御手段は、対象音を構成する音数が多いほど単位処理の反復の回数を増加させる。本態様によれば、対象音を構成する音数が少ない場合には単位処理の回数の削減によって音高推定手段による処理の負荷が軽減され、対象音を構成する音数が多い場合には単位処理の回数の増加によって基本周波数が高精度に推定される。
【０００８】
本発明の好適な態様において、音高推定手段は、確率密度関数において閾値を上回るピークの周波数を対象音の基本周波数として推定し、制御手段は、音数指標値に応じて閾値を制御する。本態様によれば、確率密度関数においてピークが現れる周波数のうち対象音の基本周波数として特定される周波数が対象音を構成する音数に応じて制御されるから、実際の対象音の特性（音数）に応じて高精度に基本周波数を推定することが可能となる。
なお、対象音を構成する音数が多い場合、基本周波数の確率密度関数には各々のピーク値が比較的に小さい多数のピークが現れる。これに対し、対象音を構成する音数が少ない場合、基本周波数の確率密度関数には他のピークよりも顕著な少数のピークが現れる。したがって、本発明の好適な態様に係る制御手段は、対象音を構成する音数が多い場合ほど閾値が低下する（対象音を構成する音数が少ない場合ほど閾値が上昇する）ように閾値を制御する。本態様によれば、対象音を構成する音数が多い場合には確率密度関数から多数の基本周波数を特定し、対象音を構成する音数が少ない場合には少数の基本周波数を特定することが可能となる。
【０００９】
本発明の別の態様に係る音高推定装置は、複数の音モデルを各々が含む２以上のモデル列を記憶する記憶手段を具備し、音高推定手段は、２以上のモデル列のなかから選択したひとつのモデル列の複数の音モデルに基づいて確率密度関数を推定し、制御手段は、音高推定手段が選択するモデル列を音数指標値に応じて制御する。本態様においては、モデル列が音数指標値に応じて制御されるから、対象音を構成する音数に応じた基本周波数の確率密度関数を推定することが可能となる。なお、本態様の具体例は第２実施形態として後述される。
例えば、対象音を構成する音数が多いほど、豊富な倍音成分を広範な帯域にわたって含む高調波構造のモデル列が選択されるように（換言すると、対象音を構成する音数が少ないほど、倍音成分が狭い帯域に存在する高調波構造のモデル列が選択されるように）音高推定手段を制御する。
【００１０】
音高推定手段は、音モデルが対象音の高調波構造を支持する程度を示す当該音モデルの推定形状を対象音の振幅スペクトルと当該音モデルと当該音モデルの重み値とに基づいて音モデルごとに特定する推定形状特定処理と、推定形状特定処理で各音モデルについて特定した推定形状に基づいて当該音モデルの重み値を算定する重み値算定処理との反復によって確率密度関数を推定する関数推定手段と、各音モデルと推定形状特定処理で当該音モデルから特定された推定形状との類否を示す類否指標値を算定する類否解析手段と、重み値修正処理で算定された複数の重み値のうち類否解析手段の算定した類否指標値が閾値を越えて非類似の範囲内にある音モデルの重み値を低下させる重み値修正手段とを含み、制御手段は、音数指標値に応じて閾値を制御する。本態様によれば、重み値算定処理で算定された複数の重み値のうち音モデルと推定形状とが非類似である基本周波数の重み値が抑制されるから、対象音の高調波構造から乖離した音モデルの影響で確率密度関数にピーク（偽ピーク）が発生する可能性は低減される。したがって、対象音の基本周波数を高精度に特定することが可能となる。なお、態様の具体例は第３実施形態として後述される。
【００１１】
本発明のひとつの態様において、音高推定手段は、対象音を示す音響信号のうち特定の通過帯域に属する成分を選択的に通過させるフィルタを含み、フィルタを通過した音響信号について基本周波数を推定し、制御手段は、フィルタの通過帯域を音数指標値に応じて制御する。本態様においては、確率密度関数を推定するための基礎となる音響信号の帯域幅が音数指標値に応じて制御されるから、対象音を構成する音数に応じた基本周波数の確率密度関数を推定して高精度に対象音の基本周波数を特定することが可能となる。
対象音を構成する音数が多い場合には各々の基本周波数が広範な周波数帯域にわたる可能性が高い。したがって、制御手段は、例えば、対象音を構成する音数が多いほどフィルタの通過帯域が広くなるように音高推定手段を制御する。
【００１２】
本発明において指標算定手段が音数指標値を算定する方法は任意であるが、例えば基本周波数の確率密度関数に基づいて音数指標値を算定する構成が好適に採用される。例えば、確率密度関数の複数のピーク値の分散や確率密度関数が示す曲線の線長（例えば図８参照）に応じて音数指標値が算定される。ただし、例えば対象音の時間波形を示す信号（音響信号）や振幅スペクトルに応じて音数指標値が算定される構成も採用される。
【００１３】
本発明は、音響信号の基本周波数を推定する方法としても特定される。本発明の音高推定方法は、高調波構造を示す複数の音モデルの混合分布として対象音をモデル化したときの各音モデルの重み値を示す基本周波数の確率密度関数から対象音の基本周波数を推定する推定処理を実行する一方、対象音を構成する音数に応じた音数指標値を算定し、推定処理を音数指標値に基づいて制御する。以上の方法によれば、本発明の音高推定装置と同様の作用および効果が奏される。
【００１４】
本発明に係る音高推定装置は、各処理に専用されるＤＳＰ（Digital Signal Processor）などのハードウェア（電子回路）によって実現されるほか、ＣＰＵ（Central Processing Unit）などの汎用の演算処理装置とプログラムとの協働によっても実現される。本発明に係るプログラムは、高調波構造を示す複数の音モデルの混合分布として対象音をモデル化したときの各音モデルの重み値を示す基本周波数の確率密度関数から対象音の基本周波数を推定する推定処理と、対象音を構成する音数に応じた音数指標値を算定する指標算定処理と、推定処理を音数指標値に基づいて制御する制御処理とをコンピュータに実行させる内容である。以上のプログラムによっても、本発明に係る音高推定装置と同様の作用および効果が奏される。なお、本発明のプログラムは、ＣＤ−ＲＯＭなど可搬型の記録媒体に格納された形態で利用者に提供されてコンピュータにインストールされるほか、ネットワークを介した配信の形態でサーバ装置から提供されてコンピュータにインストールされる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係る音高推定装置の機能的な構成を示すブロック図である。
【図２】単位処理の内容を説明するための概念図である。
【図３】確率密度関数の各ピーク値の分散と対象音の音数との関係を示す概念図である。
【図４】確率密度関数と閾値との関係を示す概念図である。
【図５】第２実施形態に係る音高推定装置の構成を示すブロック図である。
【図６】第３実施形態に係る関数推定部の構成を示すブロック図である。
【図７】偽ピーク抑制部の動作を説明するための概念図である。
【図８】確率密度関数が示す曲線の線長と対象音の音数との関係を示す概念図である。
【発明を実施するための形態】
【００１６】
＜Ａ：第１実施形態＞
図１は、本発明の第１実施形態に係る音高推定装置の機能的な構成を示すブロック図である。図１に示すように、音高推定装置Ｄは、音高推定部１０と記憶部３０と指標算定部５０と制御部６０とを含む。音高推定部１０と指標算定部５０と制御部６０とは、例えばＣＰＵなどの演算処理装置がプログラムを実行することで実現されてもよいし、基本周波数の推定に専用されるＤＳＰなどのハードウェアによって実現されてもよい。
【００１７】
音高推定部１０は、対象音を構成するひとつまたは複数の音の基本周波数（音高）を推定する手段であり、周波数分析部１２とＢＰＦ（Band Pass Filter）１４と関数推定部２０と音高特定部４０とを含む。周波数分析部１２には、対象音の時間波形を示す音響信号Ｖが入力される。本実施形態の音響信号Ｖが示す対象音は、各々の音高や音源が相違する複数の音の混合音である。周波数分析部１２は、所定の窓関数を利用して音響信号Ｖを多数のフレームに分割したうえで、ＦＦＴ（Fast Fourier Transform）処理を含む周波数分析を各フレームの音響信号Ｖについて実行することで対象音の振幅スペクトルを特定する。各フレームは時間軸上で相互に重なり合うように設定される。
【００１８】
ＢＰＦ１４は、周波数分析部１２がフレームごとに特定した振幅スペクトルのうち特定の周波数帯域に属する成分を選択的に通過させる。ＢＰＦ１４の通過帯域は、対象音を構成する複数の音のうち音高を推定すべき各音の基本周波数成分や高調波成分の多くが通過し、かつ、他の音の基本周波数成分や高調波成分が所望の音よりも優勢となる周波数帯域が遮断されるように制御される。ＢＰＦ１４を通過した振幅スペクトルＳは関数推定部２０に出力される。
【００１９】
図２は、関数推定部２０による処理の概要を説明するための概念図である。同図の部分(a)に破線で示すように、振幅スペクトルＳは実際には周波数ｘの軸線に沿って連続的に分布する。しかし、同図においては説明の便宜のために、ピークの各周波数ｘに対応して配列された複数の直線（ピークの強度Ａに対応する長さの線分）として振幅スペクトルＳが図示されている。図２の部分(b)から部分(e)の表記（部分(b)の音モデルＭ[F]・部分(c)のスペクトル分配比Ｑ[F]・部分(d)の推定形状Ｃ[F]・部分(e)の重み値ω[F]）についても同様である。また、図２の部分(a)においては、基本周波数Ｆ0が200Hzである対象音（すなわち倍音の周波数が400Hz，600Hz，800Hzである対象音）の振幅スペクトルＳが便宜的に図示されているが、実際には複数の音を混合したものが対象音とされる。
【００２０】
記憶部３０は、音高推定部１０による処理に使用される各種の情報を記憶する手段（磁気記憶装置や半導体記憶装置）である。記憶部３０は、例えば、関数推定部２０で使用される多数の音モデルＭ[F]をテンプレートとして記憶する。図２の部分(b)に示すように、音モデルＭ[F]は、対象音に含まれる各音の基本周波数Ｆ0の候補となる基本周波数Ｆごとに用意される。ただし、図２の部分(b)には、100Hzの基本周波数Ｆに対応する音モデルＭ[100]と200Hzの基本周波数Ｆに対応する音モデルＭ[200]とが便宜的に図示されている。音モデルＭ[F]は、基本周波数Ｆに対応した高調波構造（基音成分および倍音成分の周波数軸上における分布・配置やスペクトル形状）を周波数ｘに沿ってモデル化する関数（確率密度関数）である。例えば、図２の部分(b)に例示するように、音モデルＭ[100]においては、基本周波数Ｆに対応した周波数ｘ（ｘ＝100Hz）とその倍音に相当する周波数ｘ（ｘ＝200Hz，300Hz，400Hz）とにピークが現れる。
【００２１】
図１の関数推定部２０は、振幅スペクトルＳについて基本周波数の確率密度関数Ｐを推定する。確率密度関数Ｐは、振幅スペクトルＳを多数の音モデルＭ[F]の混合分布（複数の音モデルＭ[F]の重み付き和）としてモデル化したときの各音モデルＭ[F]の重み値ω[F]の分布を表現する関数である。
【００２２】
本実施形態の関数推定部２０は、最尤推定アルゴリズムのひとつであるＥＭ（Expectation-Maximization）アルゴリズムに基づいて所定の処理（以下「単位処理」という）を反復することで確率密度関数Ｐを推定する。各単位処理は、前回の単位処理で算定された重み値ω[F]（第１回目の単位処理においては重み値ω[F]の初期値）に基づいて新たな重み値ω[F]を算定する処理である。重み値ω[F]は、単位処理のたびに、複数の音モデルＭ[F]の混合分布によって振幅スペクトルＳがモデル化されるときの重み値ω[F]（尤度が高い数値）に近づいていく。単位処理がｍ回（ｍは自然数）にわたって反復された時点の重み値ω[F]が確率密度関数Ｐとして記憶部３０に記憶される。
【００２３】
図２に示すように、単位処理は、各音モデルＭ[F]（各基本周波数Ｆ）について図２の部分(d)の推定形状Ｃ[F]を生成する推定形状特定処理ＰA（ＰA1・ＰA2）と、推定形状Ｃ[F]に基づいて重み値ω[F]を算定する重み値算定処理ＰBとを含む。推定形状特定処理ＰAは、図２の部分(c)のスペクトル分配比Ｑ[F]を生成する処理ＰA1と、推定形状Ｃ[F]を生成する処理ＰA2とから構成される。
【００２４】
処理ＰA1は、記憶部３０から読み出された音モデルＭ[F]と重み値算定処理ＰBで算定された重み値ω[F]とを各基本周波数Ｆについて乗算し、さらに乗算後の各音モデルＭ[F]について同じ周波数ｘの数値の総和が「１」となるように正規化することでスペクトル分配比Ｑ[F]を生成する処理である。処理ＰA2は、各基本周波数Ｆのスペクトル分配比Ｑ[F]と振幅スペクトルＳとの乗算によって当該基本周波数Ｆの推定形状Ｃ[F]を生成する処理である。以上の手順から理解されるように、推定形状Ｃ[F]は、音響信号Ｖの高調波構造が音モデルＭ[F]によって支持される程度の分布を周波数ｘに沿って示す。したがって、振幅スペクトルＳの形状（基音成分や倍音成分）を優勢に支持する音モデルＭ[F]（すなわち振幅スペクトルＳの高調波構造に近い分布を持つ音モデルＭ[F]）から生成された推定形状Ｃ[F]ほど多数かつ高強度のピークを含む。
【００２５】
重み値算定処理ＰBは、推定形状特定処理ＰAで算定された各推定形状Ｃ[F]から各基本周波数Ｆの重み値ω[F]を算定する手段である。すなわち、図２に示すように、重み値算定処理ＰBにおいては、第１に、基本周波数Ｆごとの推定形状Ｃ[F]の関数値を各周波数ｘについて積算した数値ｋ[F]（周波数ｘに関する推定形状Ｃ[F]の積分値）が算定され、第２に、基本周波数Ｆの全範囲にわたる重み値ω[F]の積分値が「１」となるように数値ｋ[F]を正規化することで各基本周波数Ｆの重み値ω[F]が生成される。すなわち、基本周波数Ｆの全範囲にわたる数値ｋ[F]の総和をＫとすれば、重み値ω[F]は「ｋ[F]／Ｋ」と表記される。
【００２６】
以上の説明から理解されるように、特定の基本周波数Ｆに対応する重み値ω[F]は、基本周波数Ｆに対応する音モデルＭ[F]が振幅スペクトルＳの高調波構造をどのくらい優勢に支持するかを示す。したがって、確率密度関数Ｐのうち優勢なピークが現れる基本周波数Ｆは、対象音に含まれる各音の基本周波数Ｆ0（音高）である可能性が高い。
【００２７】
ただし、確率密度関数Ｐには、実際には対象音に含まれない音の基本周波数Ｆにもピークが現れ得る。例えば、基本周波数100Hzの音の振幅スペクトルには、基本周波数200Hzの音の振幅スペクトルと同様の周波数（200Hz，400Hz，600Hz，800Hz，……）にピークが現れるから、図２の部分(a)のように基本周波数200Hzの音が対象音に含まれる場合には、基本周波数100Hzの音が実際には対象音に含まれない場合であっても、図２の部分(e)に示すように、基本周波数の確率密度関数Ｐには200Hzに加えて100Hzにもピーク（ω[100]）が現れる。重み値ω[F]に現れる多数のピークのうち実際には対象音に含まれない音に対応したピークを以下では「偽ピーク」と表記し、対象音に現実に含まれる音に対応したピーク（以下「真ピーク」という）と区別する場合がある。
【００２８】
音高特定部４０は、記憶部３０に格納された確率密度関数Ｐに優勢なピークが現れるひとつまたは複数の基本周波数Ｆを対象音の各音の基本周波数（音高）Ｆ0として特定および出力する手段である。本実施形態の音高特定部４０は、確率密度関数Ｐに現れる複数のピークのうち閾値Ｐthを上回るひとつまたは複数のピークを真ピークとして抽出し、確率密度関数Ｐにてこれらのピークが現れる基本周波数Ｆを対象音の各音の基本周波数Ｆ0として出力する。
【００２９】
図１に示す指標算定部５０は、関数推定部２０が推定した確率密度関数Ｐに基づいて音数指標値Ｎを算定する。音数指標値Ｎは、対象音を構成する音数の指標となる数値である。本実施形態の指標算定部５０は、確率密度関数Ｐに現れる複数のピークのなかから選択した所定数の優勢なピークの各ピーク値の分散を音数指標値Ｎとして算定する。すなわち、音数指標値Ｎは、確率密度関数Ｐから選択した所定数のピークのピーク値の平均値と各ピーク値との差分（偏差）の２乗を平均した数値である。
【００３０】
図３は、確率密度関数Ｐのピークを示す概念図である。同図の部分(a)は対象音を構成する音数が多い場合を示し、同図の部分(b)は音数が少ない場合を示す。なお、図３においては確率密度関数Ｐの各ピークが便宜的に線分として図示されているが、実際の確率密度関数Ｐは例えば図８に例示されるように連続に分布する（後掲の図４においても同様である）。
【００３１】
図３の部分(a)のように対象音を構成する音数が多い場合、各ピークのピーク値は相互に近い数値となる（すなわち各ピーク値が狭い範囲に集中する）。したがって、音数指標値Ｎは小さい数値となる。これに対し、図３の部分(b)のように対象音を構成する音数が少ない場合には、少数の真ピークのピーク値が他のピークと比較して顕著に大きい数値となる（すなわち各ピーク値が広い範囲に分散する）。したがって、音数指標値Ｎは大きい数値となる。以上のように音数指標値Ｎは、対象音を構成する音数を反映した数値となる。
【００３２】
図１の制御部６０は、指標算定部５０が算定した音数指標値Ｎに基づいて音高推定部１０の動作（より詳細には音高推定部１０の動作に関するパラメータ）を制御する手段である。本実施形態の制御部６０は、関数推定部２０が単位処理を反復する回数（以下「反復回数」という）ｍと、音高特定部４０が基本周波数Ｆ0を特定するときの基準となる閾値Ｐthとを、音数指標値Ｎに基づいて制御する。各パラメータを制御する具体的な方法は以下の通りである。
【００３３】
（１）反復回数ｍ  
音数が多い対象音から高精度に基本周波数Ｆ0を推定するためには、各音モデルＭ[F]の重み値ω[F]の尤度を充分に高める必要がある。これに対し、対象音を構成する音数が少ない場合には、真ピークと偽ピークとでピーク値の相違が顕著となり易いから、重み値ω[F]の尤度が余り高くなくても対象音の基本周波数Ｆ0を推定できる場合がある。また、重み値ω[F]は、単位処理のたびに最適値（尤度が高い数値）に接近していく。そこで、本実施形態の制御部６０は、対象音を構成する音数が多い（すなわち音数指標値Ｎが小さい）ほど単位処理の反復回数ｍが増加するように、音数指標値Ｎに基づいて関数推定部２０を制御する。以上の構成によれば、対象音を構成する音数が少ない場合には、単位処理の反復回数ｍが削減されることで関数推定部２０による処理の負荷が軽減され、対象音を構成する音数が多い場合には反復回数ｍの増加によって多数の音の基本周波数Ｆ0を高精度に推定することが可能となる。
【００３４】
（２）閾値Ｐth  
図４は、確率密度関数Ｐの各ピークと閾値Ｐthとの関係を示す概念図である。同図の部分(a)は対象音を構成する音数が多い場合を示し、部分(b)は音数が少ない場合を示す。基本周波数Ｆの全範囲にわたる確率密度関数Ｐの積分値は「１」となるから、図４の部分(a)のように対象音を構成する音数が多い場合には、各々のピーク値が比較的に小さい多数のピークが確率密度関数Ｐに現れる。これに対し、図４の部分(b)のように対象音を構成する音数が少ない場合には、少数の真ピークのピーク値が他のピーク（偽ピーク）と比較して充分に大きい数値（ＰMAX）となる。
【００３５】
いま、図４の部分(b)における多数の偽ピークを上回るように設定された閾値Ｐth2が、対象音を構成する音数に拘わらず音高特定部４０による判定に適用されるとすれば、図４の部分(a)のように対象音を構成する音数が多い場合に、閾値Ｐth2を上回るピークの個数が少なくなる。したがって、対象音に含まれる多数の音の基本周波数Ｆ0を高精度に特定できない場合がある。一方、図４の部分(a)の場合に多数のピークが真ピークと判定されるように設定された閾値Ｐth1（Ｐth1＜Ｐth2）が対象音を構成する音数に拘わらず適用されるとすれば、図４の部分(b)のように音数が少ない場合に、偽ピークが閾値Ｐth1を上回る可能性が高まるから、対象音に実際に含まれる音の基本周波数Ｆ0のみを検出する精度は低下する。
【００３６】
そこで、本実施形態の制御部６０は、対象音を構成する音数が多いほど閾値Ｐthが低下するように、音数指標値Ｎに基づいて音高特定部４０を制御する。例えば、対象音を構成する音数が多い場合、制御部６０は、図４の部分(a)の閾値Ｐth1を音高特定部４０に指定する。確率密度関数Ｐの多数の真ピークは閾値Ｐth1を上回るから、対象音を構成する多数の音の基本周波数Ｆ0が高精度に特定される。また、対象音を構成する音数が少ない場合、制御部６０は、図４の部分(b)の閾値Ｐth2を音高特定部４０に指定する。確率密度関数Ｐの多数の偽ピークは閾値Ｐth2を下回るから、対象音に実際に含まれる音の基本周波数Ｆ0のみが高精度に特定される。
【００３７】
以上に説明したように、本実施形態においては、音高推定部１０による処理に関するパラメータが音数指標値Ｎに応じて制御されるから、対象音を構成する音数に関わらず音高推定部１０が共通の処理を実行する構成と比較して、対象音を構成する各音の基本周波数Ｆ0を高精度に推定することが可能となる。
【００３８】
＜Ｂ：第２実施形態＞
次に、本発明の第２実施形態について説明する。なお、以下に例示する各形態において第１実施形態と共通する要素には、以上と同じ符号を付して、各々に関する詳細な説明を適宜に省略する。
【００３９】
図５は、本実施形態に係る音高推定装置Ｄの構成を示すブロック図である。同図に示すように、記憶部３０は複数のモデル列Ｇを記憶する。ひとつのモデル列Ｇは、図２の部分(b)に例示したように、各々が別個の基本周波数Ｆに対応した複数の音モデルＭ[F]を含む。各音モデルＭ[F]がモデル化する高調波構造の態様はモデル列Ｇごとに相違する。例えば、各音モデルＭ[F]によってモデル化される倍音成分の総数や各々が分布する帯域幅はモデル列Ｇごとに相違する。音高推定部１０の関数推定部２０は、複数のモデル列Ｇのうちのひとつを選択して記憶部３０から読み出し、当該モデル列Ｇに属する複数の音モデルＭ[F]を単位処理（図２の処理ＰA1）に利用することで確率密度関数Ｐを推定する。
【００４０】
図５の制御部６０は、記憶部３０に記憶された複数のモデル列Ｇのうち対象音を構成する音数に対応したモデル列Ｇが選択されるように、指標算定部５０が算定する音数指標値Ｎに基づいて関数推定部２０を制御する。例えば、制御部６０は、対象音を構成する音数が多いほど、広範な帯域にわたって多数の倍音成分を含む各音モデルＭ[F]のモデル列Ｇが選択されるように、関数推定部２０を制御する。換言すると、対象音を構成する音数が少ない場合には、少数の倍音成分からなる高調波構造をモデル化する音モデルＭ[F]のモデル列Ｇが関数推定部２０によって選択される。
【００４１】
以上のように、本実施形態においては、確率密度関数Ｐの推定に利用されるモデル列Ｇが音数指標値Ｎに応じて選択されるから、確率密度関数Ｐは対象音を構成する音数に応じた態様となる。したがって、対象音を構成する音数に拘わらず、各音の基本周波数Ｆ0を高精度に推定することが可能となる。
【００４２】
＜Ｃ：第３実施形態＞
次に、本発明の第３実施形態について説明する。図６は、本実施形態に係る関数推定部２０の具体的な構成を示すブロック図である。図６に示すように、関数推定部２０は、推定形状特定部２１と重み値算定部２３と処理選定部２５と偽ピーク抑制部２７とを含む。
【００４３】
推定形状特定部２１は、図２の推定形状特定処理ＰA（ＰA1，ＰA2）によって推定形状Ｃ[F]を特定する。重み値算定部２３は、図２の重み値算定処理ＰBによって推定形状Ｃ[F]から重み値ω[F]を算定する。偽ピーク抑制部２７は、重み値ω[F]に現れる偽ピークを抑制する手段である。
【００４４】
処理選定部２５は、重み値算定部２３が算定した重み値ω[F]を推定形状特定部２１および偽ピーク抑制部２７の何れかに選択的に出力する。処理選定部２５が推定形状特定部２１を選択した場合、重み値算定部２３が算定した重み値ω[F]はそのまま次回の単位処理に使用され、処理選定部２５が偽ピーク抑制部２７を選択した場合、偽ピーク抑制部２７による修正を経た重み値ω[F]が次回の単位処理に使用される。なお、処理選定部２５が偽ピーク抑制部２７を選択するタイミングや回数は任意である。
【００４５】
次に、偽ピーク抑制部２７の動作の概要を説明する。振幅スペクトルＳの高調波構造を優勢に支持する音モデルＭ[F]は振幅スペクトルＳと同様の周波数ｘにピークを含むから、音モデルＭ[F]から生成されるスペクトル分配比Ｑ[F]と振幅スペクトルＳとの乗算に基づいて特定される推定形状Ｃ[F]には音モデルＭ[F]と同じ周波数ｘにピークが現れる。したがって、図２の部分(b)の音モデルＭ[200]と同図の部分(d)の推定形状Ｃ[200]とから把握されるように、音モデルＭ[F]と推定形状Ｃ[F]との態様（ピークの周波数やピークの振幅）は類似する。これに対し、振幅スペクトルＳの高調波構造から乖離した音モデルＭ[F]は振幅スペクトルＳとは相違する周波数ｘにピークを含むから、推定形状Ｃ[F]は音モデルＭ[F]の幾つかのピークが低減された形状となる。したがって、図２の部分(b)の音モデルＭ[100]と同図の部分(d)の推定形状Ｃ[100]とから把握されるように、音モデルＭ[F]と推定形状Ｃ[F]とは態様が大きく相違する。以上の特性を考慮して、本実施形態においては、音モデルＭ[F]と推定形状Ｃ[F]との類似度が低い基本周波数Ｆの重み値ω[F]を偽ピークと認識して強制的に低減する。
【００４６】
図６に示すように、偽ピーク抑制部２７は、類否解析部２７１と重み値修正部２７３と正規化部２７５とを含む。類否解析部２７１は、同じ基本周波数Ｆに対応した音モデルＭ[F]と推定形状Ｃ[F]との類否を示す数値（以下「類否指標値」という）Ｒ[F]を各基本周波数Ｆについて算定する手段である。本実施形態の類否指標値Ｒ[F]はＫＬ（Kullbuck-Leibler）情報量である。したがって、音モデルＭ[F]と推定形状Ｃ[F]とが類似するほど類否指標値Ｒ[F]はゼロに近づいていく（両者の相違が大きいほど類否指標値Ｒ[F]は増加する）。
【００４７】
図７は、偽ピーク抑制部２７による処理の内容を説明するための概念図である。同図の部分(a)は、記憶部３０に記憶された音モデルＭ[F]を示し、部分(b)は、推定形状特定部２１が特定した推定形状Ｃ[F]を示す。また、図７の部分(c)は、類否解析部２７１が算定した類否指標値Ｒ[F]を示す。図７に示すように、基本周波数Ｆaに対応する音モデルＭ[Fa]と推定形状Ｃ[Fa]とは相違が大きい（音モデルＭ[Fa]が振幅スペクトルＳの高調波構造から乖離している）から類否指標値Ｒ[Fa]は大きい数値となる。一方、基本周波数Ｆbに対応する音モデルＭ[Fb]と推定形状Ｃ[Fb]とは類似度が高い（音モデルＭ[Fb]が振幅スペクトルＳの高調波構造を優勢に支持している）から類否指標値Ｒ[Fb]は小さい数値となる。
【００４８】
重み値修正部２７３は、類否指標値Ｒ[F]が閾値Ｒthを下回る場合には重み値算定部２３が算定した重み値ω[F]を維持し、類否指標値Ｒ[F]が閾値Ｒthを上回る場合（音モデルＭ[F]と推定形状Ｃ[F]とが非類似である場合）には、重み値算定部２３が算定した数値に拘わらず重み値ω[F]を強制的にゼロに変更する。図７の部分(d)は、重み値算定部２３が算定した重み値ω[F]を示し、図７の部分(e)は、重み値修正部２７３による修正後の重み値ω[F]を示す。同図に示すように、基本周波数Ｆbの類否指標値Ｒ[Fb]は閾値Ｒthを下回るから、基本周波数Ｆbの近傍に分布する重み値ω[F]のピークは維持される。これに対し、基本周波数Ｆaの類否指標値Ｒ[Fa]は閾値Ｒthを上回るから、基本周波数Ｆaの近傍に分布する重み値ω[F]のピークは除去される。
【００４９】
以上のように重み値ω[F]を修正すると、総ての基本周波数Ｆにわたる重み値ω[F]の総和が「１」とならない場合があり得る。そこで、図６の正規化部２７５は、偽ピーク抑制部２７から推定形状特定部２１に出力される重み値ω[F]について総ての基本周波数Ｆにわたる総和（積分値）が「１」となるように、重み値修正部２７３による修正後の重み値ω[F]を正規化して推定形状特定部２１に出力する。
【００５０】
本実施形態の制御部６０は、対象音を構成する音数に応じて閾値Ｒthが変化するように、音数指標値Ｎに基づいて偽ピーク抑制部２７を制御する。本実施形態の制御部６０は、対象音を構成する音数が多いほど閾値Ｒthが低下するように偽ピーク抑制部２７を制御する。図４に例示したように、対象音を構成する音数が多い場合にはピーク値が比較的に近い多数のピークが重み値ω[F]（確率密度関数Ｐ）に現れるから、真ピークと偽ピークとの区別が特に困難である。本実施形態によれば、対象音を構成する音数が多い場合には閾値Ｒthを低下させることで偽ピーク抑制部２７が多くのピーク（偽ピーク）を抑制するから、確率密度関数Ｐから真ピークを高精度に抽出することが可能となる。一方、対象音を構成する音数が多い場合には真ピークと偽ピークとの相違が顕著となり易いから、偽ピークを余り抑制しなくても、確率密度関数Ｐから高い精度で基本周波数Ｆ0を特定できる。本実施形態によれば対象音を構成する音数が少ない場合に閾値Ｒthが高目に設定されることで重み値ω[F]の修正の箇所が削減されるから、基本周波数Ｆ0の推定の精度を不当に低下させることなく、重み値修正部２７３による処理の負荷を低減できるという利点がある。
【００５１】
なお、以上の形態では重み値ω[F]がゼロに変更される構成を例示したが、重み値ω[F]の修正の方法はこれに限定されない。すなわち、類否指標値Ｒ[F]が閾値Ｒthを上回る基本周波数Ｆの重み値ω[F]が、重み値算定部２３の算定した重み値ω[F]よりも小さい数値に抑制されればよい。また、以上においては偽ピークに対応した重み値ω[F]が抑制される構成を例示したが、これとは逆に、偽ピークが現れない基本周波数Ｆの重み値ω[F]を、重み値算定部２３が算定した重み値ω[F]よりも大きい数値に増加させる構成も採用される。
【００５２】
また、ＫＬ情報量は類否指標値Ｒ[F]の例示に過ぎない。例えば、音モデルＭ[F]と推定形状Ｃ[F]とのＲＭＳ（Root Mean Square）誤差（平均自乗誤差）を類否指標値Ｒ[F]として算定してもよい。また、以上においては音モデルＭ[F]と推定形状Ｃ[F]との類似度が高いほど類否指標値Ｒ[F]がゼロに近づく場合を例示したが、音モデルＭ[F]と推定形状Ｃ[F]との類似度が低いほどゼロに近づくような数値を類否指標値Ｒ[F]として算定してもよい。すなわち、音モデルＭ[F]と推定形状Ｃ[F]との類似度が低い基本周波数Ｆの重み値ω[F]が低減される構成であれば足りる。
【００５３】
＜Ｄ：第４実施形態＞
次に、本発明の第４実施形態について説明する。第１実施形態においては、確率密度関数Ｐの各ピーク値の分散が音数指標値Ｎとして算定される構成を例示した。これに対し、本実施形態においては、確率密度関数Ｐで表現される曲線の線長が音数指標値Ｎとして算定される。
【００５４】
本実施形態の指標算定部５０は、関数推定部２０が推定した確率密度関数Ｐの関数値を、ピーク値の最大値が「１」となるように正規化する。図８は、正規化後の確率密度関数Ｐによって表現される曲線を示す概念図である。同図の部分(a)は対象音を構成する音数が多い場合を示し、同図の部分(b)は音数が少ない場合を示す。指標算定部５０は、正規化後の確率密度関数Ｐで表現される曲線のうち所定の帯域幅ＢFに属する部分の線長を音数指標値Ｎとして算定する。図８の部分(b)のように対象音を構成する音数が少ない場合には、僅かな真ピークを除いた殆どのピーク（偽ピーク）のピーク値は小さい。これに対し、図８の部分(a)のように対象音を構成する音数が多い場合、各ピークのピーク値は図８の部分(b)における真ピークと比較して小さいものの、ピークの個数は部分(b)の場合よりも多い。したがって、対象音を構成する音数が多い場合に確率密度関数Ｐが示す曲線は音数が少ない場合よりも長くなる。すなわち、本実施形態の音数指標値Ｎは対象音を構成する音数が多いほど増加する。
【００５５】
以上の方法で算定された音数指標値Ｎに基づいて以上の各形態と同様の制御が実行される。ただし、本実施形態における対象音の音数と音数指標値Ｎとの関係（音数が多いほど音数指標値Ｎが増加）は、各ピーク値の分散として算定された音数指標値Ｎと対象音の音数との関係（音数が多いほど音数指標値Ｎは減少）と反対になるから、本実施形態において制御の対象となるパラメータの大小と音数指標値Ｎとの関係は以上の各形態における両者の関係から逆転する。すなわち、例えば、制御部６０は、音数指標値Ｎが大きい（すなわち対象音を構成する音数が多い）ほど、単位処理の反復回数ｍが増加するとともに閾値Ｒthが低下するように音高特定部４０を制御する。以上の形態によっても各形態と同様の効果が奏される。
【００５６】
なお、第１実施形態のように確率密度関数Ｐの各ピーク値の分散が音数指標値Ｎとして算定される構成においては、確率密度関数Ｐから複数のピークを検出する必要がある。これに対し、本実施形態においては確率密度関数Ｐの曲線の線長が音数指標値Ｎとして算定されるから、確率密度関数Ｐのピークやその周波数を検出する必要はない。したがって、本実施形態によれば指標算定部５０の処理の負荷が第１実施形態よりも低減されるという利点がある。
【００５７】
＜Ｅ：変形例＞
以上の各形態には様々な変形を加えることができる。具体的な変形の態様を例示すれば以下の通りである。なお、以下の各態様を適宜に組み合わせてもよい。
【００５８】
（１）変形例１  
音数指標値Ｎに応じて制御される対象（パラメータ）は以上の例示に限定されない。例えば、ＢＰＦ１４の通過帯域が音数指標値Ｎに応じて可変に制御される構成としてもよい。対象音を構成する音数が多い場合には各音の基本周波数Ｆ0が広範な帯域幅にわたる可能性が高いから、制御部６０は、対象音を構成する音数が多いほどＢＰＦ１４の通過帯域が広くなるように、音数指標値Ｎに基づいてＢＰＦ１４を制御する。また、例えば音響信号Ｖを区分するフレームの時間長を音数指標値Ｎに基づいて制御する構成も採用される。以上のように、本発明の好適な態様においては、音高推定部１０による処理が音数指標値Ｎに基づいて制御される構成であれば足り、音数指標値Ｎと各パラメータとの関係や制御の対象となるパラメータは適宜に変更される。
【００５９】
（２）変形例２  
以上の各形態においては確率密度関数Ｐから音数指標値Ｎが算定される構成を例示したが、音数指標値Ｎを算定する方法は適宜に変更される。例えば、音響信号Ｖやその振幅スペクトル（周波数分析部１２から出力される振幅スペクトルまたはＢＰＦ１４から出力される振幅スペクトルＳ）に基づいて音数指標値Ｎを選定する構成も採用される。例えば、振幅スペクトルＳに現れる多数のピークのうち所定の帯域幅に属するピークの個数（ピークの密度）を音数指標値Ｎとして算定してもよい。また、第２実施形態においては正規化後の確率密度関数Ｐが表わす曲線の線長から音数指標値Ｎが算定される構成を例示したが、基本周波数Ｆの所定の範囲にわたる確率密度関数Ｐの積分値（確率密度関数Ｐの曲線と基本周波数Ｆの軸線とで包囲された領域の面積）に基づいて音数指標値Ｎが算定される構成も採用される。さらに、正規化後の確率密度関数Ｐの表わす曲線が、所定の関数値に対応した直線（例えば図８の縦軸の数値が「0.5」となる直線）と交差する回数に基づいて音数指標値Ｎを算定してもよい。
【００６０】
また、以上の各形態においては確率密度関数Ｐのピーク値の分散や曲線の線長が音数指標値Ｎとされる構成を例示したが、これらの数値を引数とした所定の演算によって音数指標値Ｎが算定される構成としてもよい。すなわち、音数指標値Ｎは、対象音を構成する音数に応じた数値（すなわち、対象音を構成する音数が多い場合と少ない場合とで変化する数値）であれば足りる。
【００６１】
（３）変形例３  
確率密度関数Ｐから基本周波数Ｆ0を推定する方法は適宜に変更される。例えば、確率密度関数Ｐのうち重み値ω[F]が高い順番に計数して所定数のピークの周波数を対象音の基本周波数Ｆ0として特定してもよい。また、以上の各形態においては複数の基本周波数Ｆ0が推定される構成を例示したが、ひとつの基本周波数Ｆ0（例えば確率密度関数Ｐにおいて最大のピークが現れる周波数）を推定する構成としてもよい。
【００６２】
また、複数のフレームにわたる確率密度関数Ｐの時間的な変動を監視することで基本周波数Ｆ0を推定する構成としてもよい。確率密度関数Ｐの監視にはマルチエージェントモデルが好適に利用される。すなわち、音高特定部４０は、複数の自律的なエージェントの各々に確率密度関数Ｐの別個のピークを割り当てたうえで各ピークの経時的な変動を追跡させ、複数のエージェントのうち信頼度が高いエージェントの各ピークを基本周波数Ｆ0として出力する。各エージェントの具体的な挙動については特許文献１に詳述されている。マルチエージェントモデルを採用した構成においては、音数指標値Ｎに応じて例えば各エージェントの挙動が制御される。
【符号の説明】
【００６３】
Ｄ……音高推定装置、１０……音高推定部、１２……周波数分析部、１４……ＢＰＦ、２０……関数推定部、２１……推定形状特定部、２３……重み値算定部、２５……処理選定部、２７……偽ピーク抑制部、２７１……類否解析部、２７３……重み値修正部、２７５……正規化部、３０……記憶部、４０……音高特定部、５０……指標算定部、６０……制御部、Ｎ……音数指標値、Ｖ……音響信号、Ｓ……振幅スペクトル、Ｐ……基本周波数の確率密度関数、Ｍ[F]……音モデル、Ｃ[F]……推定形状、ω[F]……重み値、Ｆ0……対象音を構成する各音の基本周波数、Ｐth……確率密度関数のピーク値と対比される閾値、Ｒth……類否指標値と対比される閾値。
【図１】
2010286857.tif 000003
【図２】
2010286857.tif 000004
【図３】
2010286857.tif 000005
【図４】
2010286857.tif 000006
【図５】
2010286857.tif 000007
【図６】
2010286857.tif 000008
【図７】
2010286857.tif 000009
【図８】
2010286857.tif 000010