JP4630979B2 - 音高推定装置、音高推定方法およびプログラム - Google Patents

音高推定装置、音高推定方法およびプログラム Download PDF

Info

Publication number
JP4630979B2
JP4630979B2 JP2006238777A JP2006238777A JP4630979B2 JP 4630979 B2 JP4630979 B2 JP 4630979B2 JP 2006238777 A JP2006238777 A JP 2006238777A JP 2006238777 A JP2006238777 A JP 2006238777A JP 4630979 B2 JP4630979 B2 JP 4630979B2
Authority
JP
Japan
Prior art keywords
unit
weight value
fundamental frequency
value
peak
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006238777A
Other languages
English (en)
Other versions
JP2008058885A (ja
Inventor
真孝 後藤
琢哉 藤島
慶太 有元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Yamaha Corp
National Institute of Advanced Industrial Science and Technology AIST
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp, National Institute of Advanced Industrial Science and Technology AIST filed Critical Yamaha Corp
Priority to JP2006238777A priority Critical patent/JP4630979B2/ja
Publication of JP2008058885A publication Critical patent/JP2008058885A/ja
Application granted granted Critical
Publication of JP4630979B2 publication Critical patent/JP4630979B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

本発明は、音高(基本周波数)を推定する技術に関する。
特許文献1には、複数の音の混合音など様々な音(以下「対象音」という)を構成するひとつの音の基本周波数を推定する技術が開示されている。この技術においては、対象音の振幅スペクトルを複数の音モデル(高調波構造をモデル化した確率密度関数)の混合分布でモデル化したときの各音モデルの重み値を基本周波数の確率密度関数として算定し、確率密度関数において優勢なピークを所望の音の基本周波数として推定する。
特許第3413634号公報
しかし、基本周波数の確率密度関数には、対象音に含まれる音の基本周波数だけでなく、対象音に実際には含まれない音の基本周波数にもピークが現れる。例えば、基本周波数100Hzの音の振幅スペクトルには、基本周波数200Hzの音の振幅スペクトルと同様の周波数(200Hz,400Hz,600Hz,800Hz,……)にピークが現れる。したがって、基本周波数200Hzの音が対象音に含まれる場合には、基本周波数100Hzの音が実際には対象音に含まれない場合であっても、基本周波数の確率密度関数には200Hzに加えて100Hzにもピークが現れる。以上のように多数のピークが存在する確率密度関数から所望の音の基本周波数のみを高精度に選択することは困難である。このような事情に鑑みて、本発明は、対象音(特に複数の音の混合音)の基本周波数を高精度に推定するという課題の解決を目的としている。
以上の課題を解決するために、本発明に係る音高推定装置は、相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号をモデル化したときの各音モデルの重み値更新する単位処理(例えば図2のステップS10・S14・S16)を反復する最尤推定アルゴリズムによって入力音響信号の基本周波数の確率密度関数を推定する関数推定手段と、単位処理で算定された重み値に現れる複数のピークのピーク値を増加させた修正値を、次回の単位処理で使用される更新前の重み値として生成する重み値修正手段と、関数推定手段が推定した基本周波数の確率密度関数のピークに対応した基本周波数を特定する音高特定手段とを具備する。
以上の構成においては、単位処理で算定された重み値に現れる複数のピークのピーク値を増加させた修正値が、次回の単位処理で使用される更新前の重み値として生成される(すなわち、事前分布が付与される)から、基本周波数の確率密度関数のうち入力音響信号に実際に含まれる音に対応するピークと実際には含まれない音に対応するピークとのピーク値の差異が拡大される。したがって、対象音の基本周波数を高精度に推定することが可能となる。
本発明の好適な態様において、関数推定手段は、重み値修正手段による修正値の生成前に、当該重み値修正手段による重み値の修正を経ずに複数回の単位処理(例えば図2のステップS10)を実行する。以上の態様によれば、毎回の単位処理に際して修正値が生成される構成と比較して処理の負荷を抑制しながら、単位処理の回数を充分に確保することで重み値を最適値(尤度の高い数値)に近づけることが可能となる。
別の態様において、関数推定手段は、重み値修正手段が生成した修正値を使用した単位処理の実行後に、当該重み値修正手段による重み値の修正を経ずに複数回の単位処理(例えば図2のステップS16)を実行する。以上の態様によれば、毎回の単位処理に際して修正値が生成される構成と比較して処理の負荷を抑制しながら、単位処理の回数を充分に確保することで重み値を最適値(尤度の高い数値)に近づけることが可能となる。さらに、重み値の修正を伴なう単位処理の実行後に、重み値の修正を経ない単位処理を反復することで、基本周波数の確率密度関数のうち入力音響信号に実際に含まれる音に対応するピークと実際には含まれない音に対応するピークとのピーク値の差異がいっそう拡大する。したがって、対象音の基本周波数の推定の精度を向上することが可能となる。
本発明の好適な態様において、重み値修正手段が修正値を生成する処理(例えば図2のステップS13)と、当該修正値を更新前の重み値として関数推定手段が実行する単位処理(例えば図2のステップS14)とは、複数回にわたって反復される。以上の態様によれば、基本周波数の確率密度関数のうち入力音響信号に含まれる音に対応したピークと実際には含まれない音に対応したピークとのピーク値の差異がいっそう拡大するから、対象音の基本周波数の推定の精度を向上することが可能となる。
さらに好適な態様に係る音高推定装置は、単位処理で算定された重み値の総てのピークのうち所定の範囲内の基本周波数に対応する複数のピークを選択する選択手段(例えば図2のステップS12)を具備し、重み値修正手段は、選択手段が選択した複数のピークのみについてピーク値を増加させて修正値を生成し、音高特定手段は、選択手段が選択した複数のピークに対応した基本周波数のなかから入力音響信号の基本周波数を特定する。以上の態様によれば、選択手段が選択しなかったピークは、重み値修正手段や音高特定手段による処理の対象から除外されるから、重み値修正手段や音高特定手段による処理の負荷が軽減される。
本発明の好適な態様において、音高特定手段は、基本周波数の確率密度関数におけるピーク値(特にピーク値の最大値)と所定の係数との乗算によって閾値を算定する閾値算定手段と、基本周波数の確率密度関数の複数のピークのうち閾値算定手段が算定した閾値との比較に応じて選択したひとつまたは複数のピークに対応する基本周波数を特定するピーク抽出手段とを含む。以上の態様によれば、対象音に含まれる音数に応じて閾値が制御されるから、対象音に現実に含まれる音の基本周波数を、対象音の音数の多少に関わらず高精度に特定することが可能となる。
なお、複数の音で構成される入力音響信号を処理の対象とする場合、実際には入力音響信号に含まれない基本周波数に確率密度関数のピークがある場合であっても、例えば重み値が最大となるピークのみを探索すれば、所望のひとつの音の基本周波数を推定できる可能性は高い。しかし、複数の音の基本周波数を入力音響信号から推定する場合には、重み値の最大値を探索する方法を利用できないから、確率密度関数のピークが、実際に入力音響信号に含まれる基本周波数に対応したピークであるか否かを高精度に選別することは困難となる。本発明によれば、確率密度関数のうち実際には入力音響信号に含まれない基本周波数のピークが、実際に入力音響信号に含まれる基本周波数のピークに対して相対的に抑制されるから、複数の音の基本周波数を確率密度関数から高精度に推定することが可能となる。すなわち、本発明は、基本周波数の確率密度関数のピークに対応した複数の基本周波数を音高特定手段が特定する構成に特に好適に採用される。
本発明は、入力音響信号の基本周波数を推定する方法としても特定される。本発明の音高推定方法は、相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号をモデル化したときの各音モデルの重み値更新する単位処理を反復する最尤推定アルゴリズムによって入力音響信号の基本周波数の確率密度関数を推定する一方、単位処理で算定された重み値に現れる複数のピークのピーク値を増加させた修正値を、次回の単位処理で使用される更新前の重み値として生成し、推定した基本周波数の確率密度関数のピークに対応した基本周波数を特定する。以上の方法によれば、本発明の音高推定装置と同様の作用および効果が奏される。
本発明に係る音高推定装置は、各処理に専用されるDSP(Digital Signal Processor)などのハードウェア(電子回路)によって実現されるほか、CPU(Central Processing Unit)などの汎用の演算処理装置とプログラムとの協働によっても実現される。本発明に係るプログラムは、相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号をモデル化したときの各音モデルの重み値更新する単位処理を反復する最尤推定アルゴリズムによって入力音響信号の基本周波数の確率密度関数を推定する関数推定処理と、単位処理で算定された重み値に現れる複数のピークのピーク値を増加させた修正値を、次回の単位処理で使用される更新前の重み値として生成する重み値修正処理と、関数推定処理で推定した基本周波数の確率密度関数のピークに対応した基本周波数を特定する音高特定処理とをコンピュータに実行させる内容である。以上のプログラムによっても、本発明に係る音高推定装置と同様の作用および効果が奏される。なお、本発明のプログラムは、CD−ROMなど可搬型の記録媒体に格納された形態で利用者に提供されてコンピュータにインストールされるほか、ネットワークを介した配信の形態でサーバ装置から提供されてコンピュータにインストールされる。
<A:音高推定装置の構成>
図1は、本発明のひとつの形態に係る音高推定装置の機能的な構成を示すブロック図である。音高推定装置Dは、対象音を構成する各音の基本周波数(音高)を推定する装置であり、図1に示すように、周波数分析部12とBPF(Band Pass Filter)14と関数推定部20と記憶部30と音高特定部40とを含む。図1に図示された各部は、例えばCPUなどの演算処理装置がプログラムを実行することで実現されてもよいし、基本周波数の推定に専用されるDSPなどのハードウェアによって実現されてもよい。
周波数分析部12には、対象音の時間波形を示す音響信号Vが入力される。本実施形態の音響信号Vが示す対象音は、各々の音高や音源が相違する複数の音の混合音である。周波数分析部12は、所定の窓関数を利用して音響信号Vを多数のフレームに分割したうえで、FFT(Fast Fourier Transform)処理を含む周波数分析を各フレームの音響信号Vについて実行することで対象音の振幅スペクトルを特定する。各フレームは時間軸上で相互に重なり合うように設定される。
BPF14は、周波数分析部12がフレームごとに特定した振幅スペクトルのうち特定の周波数帯域に属する成分を選択的に通過させる。BPF14の通過帯域は、対象音を構成する複数の音のうち音高を推定すべき各音の基本周波数成分や高調波成分の多くが通過し、かつ、他の音の基本周波数成分や高調波成分が所望の音よりも優勢となる周波数帯域が遮断されるように、統計的または実験的に予め選定される。BPF14を通過した振幅スペクトルSは関数推定部20に出力される。
関数推定部20は、振幅スペクトルSについて基本周波数の確率密度関数Pを推定する。基本周波数の確率密度関数Pは、振幅スペクトルSを多数の音モデルの混合分布(複数の音モデルの重み付き和)としてモデル化したときの各音モデルの重み値ω[F]の分布を表現する関数である。音モデルは、各基本周波数Fに対応した高調波構造(基本周波数成分および高調波成分の配置やスペクトル形状)をモデル化する関数(確率密度関数)である。したがって、特定の基本周波数Faに対応する重み値ω[Fa]は、基本周波数Faに対応した音モデル(すなわち基本周波数Faの基音成分とその整数倍の周波数の倍音成分との周波数軸上における分布をモデル化する関数)が振幅スペクトルSの高調波構造をどのくらい優勢に支持するかを示す。以上の定義から理解されるように、確率密度関数Pのうち優勢なピークが現れる基本周波数Fは、対象音に含まれる各音の基本周波数F0(音高)である可能性が高い。
関数推定部20は、最尤推定アルゴリズムのひとつであるEM(Expectation-Maximization)アルゴリズムに基づいて重み値ω[F]を反復的に更新することで基本周波数の確率密度関数Pを特定する。すなわち、関数推定部20は、E(Expectation)ステップとM(Maximization)ステップとから構成される処理(以下「単位処理」という)を複数回にわたって反復する。各単位処理は、前回の単位処理で算定された重み値ω[F](第1回目の単位処理においては重み値ω[F]の初期値)に基づいて新たな重み値ω[F]を算定する処理である。重み値ω[F]は、単位処理のたびに、複数の音モデルの混合分布によって振幅スペクトルSがモデル化されるときの重み値ω[F](尤度が高い数値)に近づいていく。単位処理が所定の回数にわたって実行された段階で算定されている重み値ω[F]が基本周波数の確率密度関数Pとして音高特定部40に出力される。
重み値ω[F](基本周波数の確率密度関数P)には、対象音に含まれる音の基本周波数Fだけでなく、実際には対象音に含まれない音の基本周波数Fにもピークが現れる。例えば、基本周波数100Hzの音の振幅スペクトルには、基本周波数200Hzの音の振幅スペクトルと同様の周波数(200Hz,400Hz,600Hz,800Hz,……)にピークが現れるから、基本周波数200Hzの音が対象音に含まれる場合には、基本周波数100Hzの音が実際には対象音に含まれない場合であっても、基本周波数の確率密度関数Pには200Hzに加えて100Hzにもピークが現れる。重み値ω[F]に現れる多数のピークのうち実際には対象音に含まれない音に対応したピークを以下では「偽ピーク」と表記し、対象音に現実に含まれる音に対応したピーク(以下「真ピーク」という)と区別する場合がある。
図1に示すように、本実施形態の関数推定部20は重み値修正部22を含む。重み値修正部22は、単位処理で算定された重み値ω[F]を修正した数値(以下「修正値」という)ωa[F]を、次回の単位処理で使用される重み値ω[F]として生成する。重み値修正部22が実行する修正は、重み値ω[F]の真ピークと偽ピークとのピーク値の差異を拡大する(真ピークを偽ピークよりも拡大し、または偽ピークを真ピークよりも抑制する)ための処理である。重み値修正部22による処理は、確率密度関数たる重み値ω[F]に事前分布を付与する処理としても把握される。なお、重み値修正部22による具体的な処理の内容については後述する。
記憶部30は、基本周波数の確率密度関数Pの推定に使用される各種の情報を記憶する手段(磁気記憶装置や半導体記憶装置)である。例えば各回の単位処理で算定された重み値ω[F]やその算定に使用される音モデルが記憶部30に記憶される。
音高特定部40は、関数推定部20が推定した基本周波数の確率密度関数Pに優勢なピークが現れる基本周波数Fを対象音の各音の基本周波数F0(音高)として特定する手段である。本実施形態の音高特定部40は閾値算定部42とピーク抽出部44とを含む。閾値算定部42は、確率密度関数Pに応じた閾値THを算定する。ピーク抽出部44は、確率密度関数Pのうち閾値THを上回るひとつまたは複数のピークに対応した基本周波数F0を出力する。
<B:音高推定装置Dの動作>
図2は、関数推定部20および音高特定部40による具体的な処理を示すフローチャートであり、図3は、図2の各処理を説明するための概念図である。重み値ω[F]を更新する単位処理は、図2のステップS10とステップS14とステップS16とで実行される。
図2に示すように、関数推定部20は、ステップS10の単位処理をM1回(M1は1以上の整数)にわたって反復する(ステップS10・ステップS11)。各回の単位処理において、関数推定部20は、前回の単位処理で算定した重み値ω[F](すなわち記憶部30に格納された最新の重み値ω[F])を変数とした所定の演算によって、当該重み値ω[F]よりも尤度が高い新たな重み値ω[F]を算定し、その時点で記憶部30に記憶されている重み値ω[F]を新たな重み値ω[F]に更新する。単位処理の回数がM1回に到達すると(ステップS11:YES)、関数推定部20はステップS12に処理を移行する。
ところで、単位処理で算定される重み値ω[F]にてピークが現れる基本周波数Fのなかには、予め定められた条件に基づいて、対象音の基本周波数F0の候補から確定的に除外できる偽ピークもある。ステップS12において、関数推定部20は、記憶部30に記憶された重み値ω[F]の複数のピークのうち所定の条件を満たすピーク(実際には各ピークの基本周波数F)のみを選択する。ピークの選択の条件は、例えば以下のように設定される。
楽器の演奏音の音高には当該楽器に特有の上限値と下限値とが存在するから、特定の楽器の演奏音の基本周波数F0はその楽器に特有な周波数帯域(以下「可能帯域」という)内の数値となる。しかし、単位処理で算定される重み値ω[F]には、実際には対象音に含まれない音の基本周波数に対応した偽ピークが可能帯域の外側に現れる場合がある。したがって、対象音が特定の楽器の演奏音であることが予め認定されれば、重み値ω[F]に現れる複数のピークのうち当該楽器の可能帯域の外側の偽ピークについては、対象音の基本周波数F0である可能性を予め排除することができる。
そこで、本実施形態の関数推定部20は、ステップS12において、直前の単位処理(ステップS10)で算定された重み値ω[F]に現れるピークのうち予め設定された可能帯域内のピークのみを選択する(可能帯域外のピークは選択しない)。図3の部分(a)は、ステップS12の直前に記憶部30に格納されている重み値ω[F]の態様を示す。同図においては、可能帯域Bの外側の基本周波数F(FN1,FN2)に重み値ω[F]のピーク(偽ピーク)が現れる場合を想定している。この場合、関数推定部20は、可能帯域B内の基本周波数F(FT1〜FT4,FF1〜FF3)を選択し、基本周波数FN1およびFN2は選択しない。
ステップS12にて設定される可能帯域Bは、例えば操作子(図示略)に対する操作によって利用者が指定した楽器に応じて予め設定される。対象音が例えば音高推定装置Dの仕様から特定の楽器の演奏音に制限される場合には、当該楽器の可能帯域BがステップS12の選択に固定的に適用されてもよい。なお、可能帯域B内にも偽ピークは存在するから、ステップS12における選択の対象には真ピークだけでなく偽ピークも含まれ得る。例えば、図3の部分(a)においては、基本周波数FT1〜FT4の真ピークのほかに基本周波数FF1〜FF3の偽ピークが選択された場合を想定している。
次いで、関数推定部20の重み値修正部22は、図2に示すように、前回の単位処理で算定された重み値ω[F]を修正して修正値ωa[F]を生成し、この生成した修正値ωa[F]を新たな重み値ω[F]として記憶部30に格納する(ステップS13)。さらに、関数推定部20は、ステップS13で生成された重み値ω[F](修正値ωa[F])についてステップS10と同様の単位処理を実行することで新たな重み値ω[F]を算定して記憶部30に格納する(ステップS14)。ステップS13の修正とステップS14の単位処理とがM2回(M2は1以上の整数)にわたって反復されると、関数推定部20はステップS16に処理を移行する(ステップS15:YES)。以上のように、図2の処理が開始されてから最初のステップS13においては直前のステップS10で算定された重み値ω[F]が修正の対象となり、第2回目以降のステップS13においては直前のステップS14で算定された重み値ω[F]が修正の対象となる。
次に、図3を参照して、重み値修正部22による処理の詳細について説明する。図3の部分(c)は、同図の部分(a)の重み値ω[F]からステップS13で生成された修正値ωa[F]を示す。図3の部分(c)には、部分(a)の重み値ω[F]のうちステップS12で選択されたピークが破線で併記されている。図3の部分(c)に矢印で示すように、重み値修正部22は、記憶部30に記憶された重み値ω[F]に現れる複数のピークのうちステップS12にて選択した各ピークのピーク値を増加させることで修正値ωa[F]を生成する。
さらに詳述すると、重み値修正部22は、ステップS12にて選択した各ピーク(図3の部分(a))と図3の部分(b)の正規分布N[F]とを所定の比率(内分比)で各基本周波数Fについて加算することで修正値ωa[F]を生成する。図3の部分(b)に示すように、各正規分布N[F]の中央値(平均)は、ステップS12で選択された各ピークの中心周波数(基本周波数FT1〜FT4やFF1〜FF3)と合致するように選定される。また、各正規分布N[F]の分散は予め所定値に設定される。ステップS12で選択されたひとつのピークに対応する修正値ωa[F]は以下の式で表現される。
ωa[F]=α・ω[F]+β・N[F]
係数αと係数βとは所定の相対比(例えばα:β=5:1)となるように選定される。なお、ステップS12で選択されなかったピークについて正規分布N[F]は加算されない。
図3の部分(d)は、ステップS13の修正とステップS14の単位処理とをM2回にわたって反復した段階(ステップS16の直前)の重み値ω[F]を示す。同図に示すように、重み値ω[F]の修正(事前分布の付与)を実行しながら単位処理を反復すると、重み値ω[F]を修正せずにM2回の単位処理を実行した場合と比較して、真ピーク(基本周波数FT1〜FT4)のピーク値が増大するとともに偽ピーク(基本周波数FF1〜FF3)のピーク値が減少する。すなわち、真ピークと偽ピークとのピーク値の相違が拡大する。
以上のようにステップS13とステップS14とをM2回にわたって反復すると、関数推定部20は、ステップS10と同様の単位処理を、ステップS13のような重み値ω[F]の修正を実行することなくM3回(M3は1以上の整数)にわたって反復する(ステップS16・ステップS17)。単位処理の回数がM3回に到達すると(ステップS17:YES)、関数推定部20はステップS18に処理を移行する。ステップS18に移行した段階で記憶部30に記憶されている重み値ω[F]が基本周波数の確率密度関数Pとして確定される。
音高特定部40の閾値算定部42は、確率密度関数Pのピーク値の最大値PMAXを特定し、最大値PMAXと所定の係数C(0<C<1)との乗算値を閾値THとして算定する(ステップS18)。さらに、ピーク抽出部44は、ステップS12で関数推定部20が選択した各ピークの基本周波数Fのうちピーク値が閾値THを上回る基本周波数Fを確率密度関数Pから探索し、ここで探索した各基本周波数Fを、対象音を構成する各音の基本周波数F0として出力する(ステップS19)。ステップS12で選択されなかったピークはステップS19における処理の対象から除外されるから、例えば図3における基本周波数FN1やFN2が基本周波数F0として出力されることはない。
図4は、確率密度関数Pの各ピークと閾値THとの関係を示す概念図である。同図の部分(a)は対象音を構成する音数が多い場合を示し、部分(b)は音数が少ない場合を示す。なお、同図においては確率密度関数Pの各ピークが便宜的に線分として図示されているが、実際の確率密度関数Pは基本周波数Fの所定の範囲にわたって連続的に分布する。
基本周波数Fの全範囲にわたる確率密度関数Pの積分値は1となるから、図4の部分(a)のように対象音を構成する音数が多い場合には、各々のピーク値が比較的に小さい多数のピーク(真ピーク)が確率密度関数Pに表れる。これに対し、図4の部分(b)のように対象音を構成する音数が少ない場合には、少数の真ピークのピーク値が他のピーク(偽ピーク)と比較して充分に大きい数値(PMAX)となる。対象音の音数に関わらず係数Cは共通であるから、音数が多い場合にステップS18で算定される閾値TH1は、音数が少ない場合の閾値TH2よりも小さい。
いま、対象音に含まれる音数に拘わらず、図4の部分(b)の閾値TH2がステップS19にて固定的に適用されるとすれば、図4の部分(a)のように対象音の音数が多い場合(すなわち各ピークのピーク値が小さい場合)に、閾値TH2を上回るピークの個数が少なくなる。したがって、対象音に含まれる多数の音を高精度に検出できないという問題がある。一方、図4の部分(a)の閾値TH1がステップS19にて固定的に適用されるとすれば、図4の部分(b)のように対象音の音数が少ない場合に、偽ピークが閾値TH1を上回る可能性が高まるから、対象音に実際に含まれる音の基本周波数F0のみを検出する精度は低下する。以上のように、閾値THを固定値とした場合には、基本周波数F0の高精度な推定が制約される場合がある。
本実施形態における閾値THは対象音の音数に応じて変化する。すなわち、対象音の音数が多い場合には閾値THを低下させることで多数の音の基本周波数F0が検出され、対象音の音数が少ない場合には閾値THを上昇させることで偽ピークの検出の可能性が低減される。つまり、閾値THを固定値とした場合と比較して、基本周波数F0の推定の精度を向上させることが可能である。もっとも、閾値THの固定による精度の低下が問題とならないのであれば、確率密度関数Pに依存しない固定値を閾値THとした構成も採用される。
以上に説明したように、本実施形態においては、重み値ω[F]の修正(ステップS13)の結果として確率密度関数Pにおける真ピークと偽ピークとのピーク値の差異が拡大するから、閾値THを基準として両者が明確に区別される。したがって、対象音を構成する音の基本周波数F0を高精度に検出することができる。
ところで、重み値ω[F]は単位処理のたびに最適値に接近していく(真ピークが増大して偽ピークが縮小する)から、基本周波数F0の検出の精度を向上するという観点からすると、単位処理の回数は多いことが望ましい。しかしながら、毎回の単位処理に際してステップS13の重み値ω[F]の修正を実行するとすれば、関数推定部20による処理が増大し、確率密度関数Pの確定までに長時間が必要となるという問題がある。本実施形態においては、図2の処理のうち重み値ω[F]の修正を伴なう単位処理は中間のM2回に限られ、最初のM1回と最後のM3回については重み値ω[F]の修正を経ずに単位処理が反復される。したがって、重み値ω[F]を修正する負荷の増大を抑制しながら、単位処理の総回数(M1+M2+M3)を充分に確保して基本周波数F0の検出の精度を高水準に維持することが可能である。
また、重み値ω[F]の修正を伴なう単位処理(ステップS14)の実行後に、重み値ω[F]の修正を経ない単位処理(ステップS16およびステップS17)を実行することで、重み値ω[F]における真ピークと偽ピークとのピーク値の差異はいっそう拡大する(すなわち、真ピークが増大して偽ピークが抑制される)。したがって、本実施形態によれば、ステップS15の直後にステップS18およびステップS19の処理が開始される構成と比較して、基本周波数F0を高精度に推定できるという利点がある。
さらに、本実施形態においては偽ピークであることが明白なピークがステップS12にて予め排除されるから、重み値ω[F]に現れる総てのピークが基本周波数F0の推定の候補とされる構成(例えば可能帯域Bの外側のピークも基本周波数F0の推定の候補とされる構成)と比較して、基本周波数F0を高精度に推定できる。また、ステップS12にて選択されなかったピークについてはステップS13における修正(正規分布N[F]の加算)の対象からも除外されるから、基本周波数Fの全範囲にわたって重み値ω[F]が修正される構成と比較して、ステップS13の処理の負荷が軽減されるという利点もある。
<C:変形例>
以上の各形態には様々な変形を加えることができる。具体的な変形の態様を例示すれば以下の通りである。なお、以下の各態様を適宜に組み合わせてもよい。
(1)変形例1
ステップS13の開始前には少なくとも1回の単位処理で重み値ω[F](ステップS13にて修正の対象となる重み値ω[F])が算定されていれば足り(M1=1)、ステップS10が複数回にわたって反復される必要は必ずしもない。また、以上の形態においては、重み値ω[F]の修正を伴なう単位処理(ステップS14)の反復後に重み値ω[F]の修正を経ない単位処理(ステップS16)が反復される構成を例示したが、ステップS16の単位処理は適宜に省略される(M3=0)。さらに、重み値ω[F]の修正を伴なう単位処理(ステップS14)が複数回にわたって反復される必要はなく、ステップS13とステップS14とが1回だけ実行される構成(M2=1)としてもよい。
(2)変形例2
以上の形態においては基本周波数の確率密度関数Pのうち閾値THを上回る各ピークの基本周波数Fが対象音の基本周波数F0として抽出される構成を例示したが、確率密度関数Pから基本周波数F0を推定する方法は適宜に変更される。例えば、基本周波数の確率密度関数Pのうち重み値ω[F]が高い順番に計数して所定数のピークの基本周波数Fを対象音の基本周波数F0として特定してもよい。このように確率密度関数Pと閾値THとの比較が不要である構成においては、閾値算定部42による閾値THの算定が省略される。また、以上の形態においては複数の基本周波数F0が推定される構成を例示したが、ひとつの基本周波数F0(例えば確率密度関数Pにおいて最大のピークが現れる基本周波数F)を推定する構成としてもよい。
(3)変形例3
以上の形態においてはひとつのフレームの振幅スペクトルSから推定された確率密度関数Pから対象音の基本周波数F0が逐次に推定される構成を例示したが、複数のフレームにわたる基本周波数の確率密度関数Pの時間的な変動を監視することで基本周波数F0を推定する構成としてもよい。確率密度関数Pの監視にはマルチエージェントモデルが好適に利用される。すなわち、音高特定部40は、複数の自律的なエージェントの各々に確率密度関数Pの別個のピークを割り当てたうえで各ピークの経時的な変動を追跡させ、複数のエージェントのうち信頼度が高いエージェントの各ピークを基本周波数F0として出力する。各エージェントの具体的な挙動については特許文献1に詳述されている。もっとも、以上の形態においては、重み値ω[F]の修正(ステップS12)によって真ピークと偽ピークとの相違が拡大するから、マルチエージェントモデルを敢えて採用しなくても対象音の基本周波数F0を高精度に推定することが可能である。すなわち、以上の形態によれば、マルチエージェントモデルを省略することが可能であり、この場合には処理の負荷が軽減されるという利点がある。
(4)変形例4
以上の形態においてはステップS13で正規分布N[F]が重み値ω[F]に加算される構成を例示したが、重み値ω[F]の修正の方法は任意である。例えば、重み値ω[F]の各ピークとひとつの数値(所定値)との加算や乗算によって修正値ωa[F]が生成される構成としてもよい。もっとも、重み値ω[F]の修正後の単位処理で真ピークと偽ピークとのピーク値の相違を有効に拡大させるためには、重み値ω[F]のピーク値を増加させることで修正値ωa[F]を生成する処理が好適に採用される。
本発明のひとつの形態に係る音高推定装置の機能的な構成を示すブロック図である。 関数推定部および音高特定部による処理の内容を示すフローチャートである。 重み値修正部による処理の内容を説明するための概念図である。 音高特定部による処理の内容を説明するための概念図である。
符号の説明
D……音高推定装置、12……周波数分析部、14……BPF、20……関数推定部、22……重み値修正部、30……記憶部、40……音高特定部、42……閾値算定部、44……ピーク抽出部、V……音響信号、S……振幅スペクトル、P……基本周波数の確率密度関数、TH……閾値、F0……対象音を構成する音の基本周波数、ω[F]……重み値、ωa[F]……修正値。

Claims (8)

  1. 相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号をモデル化したときの各音モデルの重み値更新する単位処理を反復する最尤推定アルゴリズムによって前記入力音響信号の基本周波数の確率密度関数を推定する関数推定手段と、
    前記単位処理で算定された重み値に現れる複数のピークのピーク値を増加させた修正値を、次回の単位処理で使用される更新前の重み値として生成する重み値修正手段と、
    前記関数推定手段が推定した前記基本周波数の確率密度関数のピークに対応した基本周波数を特定する音高特定手段と
    を具備する音高推定装置。
  2. 前記関数推定手段は、前記重み値修正手段による修正値の生成前に、当該重み値修正手段による重み値の修正を経ずに複数回の単位処理を実行する
    請求項1に記載の音高推定装置。
  3. 前記関数推定手段は、前記重み値修正手段が生成した修正値を使用した単位処理の実行後に、当該重み値修正手段による重み値の修正を経ずに複数回の単位処理を実行する
    請求項1または請求項2に記載の音高推定装置。
  4. 前記重み値修正手段が修正値を生成する処理と、当該修正値を更新前の重み値として前記関数推定手段が実行する単位処理とは、複数回にわたって反復される
    請求項1から請求項3の何れかに記載の音高推定装置。
  5. 前記単位処理で算定された重み値の総てのピークのうち所定の範囲内の基本周波数に対応する複数のピークを選択する選択手段を具備し、
    前記重み値修正手段は、前記選択手段が選択した複数のピークのみについてピーク値を増加させて修正値を生成し、
    前記音高特定手段は、前記選択手段が選択した複数のピークに対応した基本周波数のなかから前記入力音響信号の基本周波数を特定する
    請求項1から請求項4の何れかに記載の音高推定装置。
  6. 前記音高特定手段は、
    前記基本周波数の確率密度関数におけるピーク値と所定の係数との乗算によって閾値を算定する閾値算定手段と、
    前記基本周波数の確率密度関数の複数のピークのうち前記閾値算定手段が算定した閾値との比較に応じて選択したひとつまたは複数のピークに対応する基本周波数を特定するピーク抽出手段と
    を含む請求項1から請求項5の何れかに記載の音高推定装置。
  7. 相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号をモデル化したときの各音モデルの重み値更新する単位処理を反復する最尤推定アルゴリズムによって前記入力音響信号の基本周波数の確率密度関数を推定する一方、
    前記単位処理で算定された重み値に現れる複数のピークのピーク値を増加させた修正値を、次回の単位処理で使用される更新前の重み値として生成し、
    前記推定した前記基本周波数の確率密度関数のピークに対応した基本周波数を特定する
    音高推定方法。
  8. 相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号をモデル化したときの各音モデルの重み値更新する単位処理を反復する最尤推定アルゴリズムによって前記入力音響信号の基本周波数の確率密度関数を推定する関数推定処理と、
    前記単位処理で算定された重み値に現れる複数のピークのピーク値を増加させた修正値を、次回の単位処理で使用される更新前の重み値として生成する重み値修正処理と、
    前記関数推定処理で推定した前記基本周波数の確率密度関数のピークに対応した基本周波数を特定する音高特定処理と
    をコンピュータに実行させるプログラム。
JP2006238777A 2006-09-04 2006-09-04 音高推定装置、音高推定方法およびプログラム Expired - Fee Related JP4630979B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006238777A JP4630979B2 (ja) 2006-09-04 2006-09-04 音高推定装置、音高推定方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006238777A JP4630979B2 (ja) 2006-09-04 2006-09-04 音高推定装置、音高推定方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2008058885A JP2008058885A (ja) 2008-03-13
JP4630979B2 true JP4630979B2 (ja) 2011-02-09

Family

ID=39241638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006238777A Expired - Fee Related JP4630979B2 (ja) 2006-09-04 2006-09-04 音高推定装置、音高推定方法およびプログラム

Country Status (1)

Country Link
JP (1) JP4630979B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4630980B2 (ja) * 2006-09-04 2011-02-09 独立行政法人産業技術総合研究所 音高推定装置、音高推定方法およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3413634B2 (ja) * 1999-10-27 2003-06-03 独立行政法人産業技術総合研究所 音高推定方法及び装置
JP2006285052A (ja) * 2005-04-01 2006-10-19 National Institute Of Advanced Industrial & Technology 音高推定方法及び装置並びに音高推定用プラグラム
JP2007041234A (ja) * 2005-08-02 2007-02-15 Univ Of Tokyo 音楽音響信号の調推定方法および調推定装置
JP2008058886A (ja) * 2006-09-04 2008-03-13 National Institute Of Advanced Industrial & Technology 音高推定装置、音高推定方法およびプログラム
JP2008058753A (ja) * 2006-09-01 2008-03-13 National Institute Of Advanced Industrial & Technology 音分析装置およびプログラム
JP2008058755A (ja) * 2006-09-01 2008-03-13 National Institute Of Advanced Industrial & Technology 音分析装置およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3413634B2 (ja) * 1999-10-27 2003-06-03 独立行政法人産業技術総合研究所 音高推定方法及び装置
JP2006285052A (ja) * 2005-04-01 2006-10-19 National Institute Of Advanced Industrial & Technology 音高推定方法及び装置並びに音高推定用プラグラム
JP2007041234A (ja) * 2005-08-02 2007-02-15 Univ Of Tokyo 音楽音響信号の調推定方法および調推定装置
JP2008058753A (ja) * 2006-09-01 2008-03-13 National Institute Of Advanced Industrial & Technology 音分析装置およびプログラム
JP2008058755A (ja) * 2006-09-01 2008-03-13 National Institute Of Advanced Industrial & Technology 音分析装置およびプログラム
JP2008058886A (ja) * 2006-09-04 2008-03-13 National Institute Of Advanced Industrial & Technology 音高推定装置、音高推定方法およびプログラム

Also Published As

Publication number Publication date
JP2008058885A (ja) 2008-03-13

Similar Documents

Publication Publication Date Title
JP4630980B2 (ja) 音高推定装置、音高推定方法およびプログラム
US11715446B2 (en) Music classification method and beat point detection method, storage device and computer device
JP4660739B2 (ja) 音分析装置およびプログラム
JP5187666B2 (ja) 雑音抑圧装置およびプログラム
JP5152799B2 (ja) 雑音抑圧装置およびプログラム
JP4953068B2 (ja) 和音判別装置、和音判別方法およびプログラム
JP4630979B2 (ja) 音高推定装置、音高推定方法およびプログラム
JP5728903B2 (ja) 音響処理装置およびプログラム
JP5609157B2 (ja) 係数設定装置および雑音抑圧装置
JP5152800B2 (ja) 雑音抑圧評価装置およびプログラム
JP4630982B2 (ja) 音高推定装置、音高推定方法およびプログラム
JP4630983B2 (ja) 音高推定装置、音高推定方法およびプログラム
JP2013250356A (ja) 係数設定装置および雑音抑圧装置
JP2008209546A (ja) 音高推定装置、音高推定方法およびプログラム
JPH10319985A (ja) ノイズレベル検出方法、システム及び記録媒体
JP2011215357A (ja) 信号処理装置、信号処理方法及びプログラム
JP4710037B2 (ja) 音高推定装置、音高推定方法およびプログラム
JP5513074B2 (ja) グリッド検出装置及びプログラム
JP6716933B2 (ja) 雑音推定装置、プログラム及び方法、並びに、音声処理装置
JP5131172B2 (ja) 周期特定装置およびプログラム
JP2009150920A (ja) エコーキャンセル装置、カラオケ装置、エコーキャンセル方法およびプログラム
JP4625935B2 (ja) 音分析装置およびプログラム
JP2010039215A (ja) 信号処理装置、信号処理方法、信号処理プログラムおよび記録媒体
JPH0667654A (ja) 自動採譜装置
JP2008209549A (ja) 音モデル生成装置、音モデル生成方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20100816

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101012

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees