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

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

Info

Publication number
JP4710037B2
JP4710037B2 JP2010188624A JP2010188624A JP4710037B2 JP 4710037 B2 JP4710037 B2 JP 4710037B2 JP 2010188624 A JP2010188624 A JP 2010188624A JP 2010188624 A JP2010188624 A JP 2010188624A JP 4710037 B2 JP4710037 B2 JP 4710037B2
Authority
JP
Japan
Prior art keywords
sound
fundamental frequency
unit
probability density
value
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
JP2010188624A
Other languages
English (en)
Other versions
JP2010286857A (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 JP2010188624A priority Critical patent/JP4710037B2/ja
Publication of JP2010286857A publication Critical patent/JP2010286857A/ja
Application granted granted Critical
Publication of JP4710037B2 publication Critical patent/JP4710037B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、音高(基本周波数)を推定する技術に関する。
特許文献1には、複数の音の混合音など様々な音(以下「対象音」という)を構成するひとつの音の基本周波数を推定する技術が開示されている。この技術においては、対象音の振幅スペクトルを複数の音モデル(高調波構造をモデル化した確率密度関数)の混合分布でモデル化したときの各音モデルの重み値を基本周波数の確率密度関数として算定し、確率密度関数において優勢なピークを所望の音の基本周波数として推定する。
特許第3413634号公報
ところで、例えばCDなど市販の記録媒体に収録された対象音は非常に多様であり、例えば対象音を構成する音の総数(以下「音数」という)は区々である。特許文献1の構成においては、対象音を構成する音数とは無関係に基本周波数の確率密度関数の推定や対象音の基本周波数の特定など各種の処理が実行されるから、対象音を構成する音数によっては、基本周波数を高精度に推定できない場合もある。このような事情に鑑みて、本発明は、対象音の基本周波数を推定する精度を向上するという課題の解決を目的としている。
以上の課題を解決するために、本発明に係る音高推定装置は、高調波構造を示す複数の音モデルの混合分布として対象音をモデル化したときの各音モデルの重み値を示す基本周波数の確率密度関数から対象音の基本周波数を推定する音高推定手段と、対象音を構成する音数に応じた音数指標値を算定する指標算定手段と、音高推定手段による処理を音数指標値に基づいて制御する制御手段とを具備する。
以上の構成においては、対象音を構成する音数に応じた音数指標値に基づいて音高推定手段による処理が制御される。したがって、多様な音数の対象音が基本周波数の推定の対象とされ得る場合に、対象音を構成する音数に拘わらず音高推定手段が共通の処理を実行する場合と比較して、対象音の基本周波数を高精度に推定することが可能となる。
本発明のひとつの態様において、音高推定手段は、重み値を更新する単位処理の反復によって確率密度関数を推定し、制御手段は、単位処理の反復の回数を音数指標値に応じて制御する。本態様においては、単位処理の反復の回数が音数指標値に応じて制御されるから、対象音を構成する音数に応じた基本周波数の確率密度関数を推定することが可能となる。
なお、音数が多い対象音から高精度に基本周波数を推定するためには、各音モデルの重み値の尤度を充分に高める必要がある。一方、対象音を構成する音数が少ない場合には重み値の尤度が余り高くなくても対象音の基本周波数を高精度に推定できる場合がある。各音モデルの重み値の尤度は単位処理の反復の回数が多いほど増加するから、本発明の好適な態様における制御手段は、対象音を構成する音数が多いほど単位処理の反復の回数を増加させる。本態様によれば、対象音を構成する音数が少ない場合には単位処理の回数の削減によって音高推定手段による処理の負荷が軽減され、対象音を構成する音数が多い場合には単位処理の回数の増加によって基本周波数が高精度に推定される。
本発明の好適な態様において、音高推定手段は、確率密度関数において閾値を上回るピークの周波数を対象音の基本周波数として推定し、制御手段は、音数指標値に応じて閾値を制御する。本態様によれば、確率密度関数においてピークが現れる周波数のうち対象音の基本周波数として特定される周波数が対象音を構成する音数に応じて制御されるから、実際の対象音の特性(音数)に応じて高精度に基本周波数を推定することが可能となる。
なお、対象音を構成する音数が多い場合、基本周波数の確率密度関数には各々のピーク値が比較的に小さい多数のピークが現れる。これに対し、対象音を構成する音数が少ない場合、基本周波数の確率密度関数には他のピークよりも顕著な少数のピークが現れる。したがって、本発明の好適な態様に係る制御手段は、対象音を構成する音数が多い場合ほど閾値が低下する(対象音を構成する音数が少ない場合ほど閾値が上昇する)ように閾値を制御する。本態様によれば、対象音を構成する音数が多い場合には確率密度関数から多数の基本周波数を特定し、対象音を構成する音数が少ない場合には少数の基本周波数を特定することが可能となる。
本発明の別の態様に係る音高推定装置は、複数の音モデルを各々が含む2以上のモデル列を記憶する記憶手段を具備し、音高推定手段は、2以上のモデル列のなかから選択したひとつのモデル列の複数の音モデルに基づいて確率密度関数を推定し、制御手段は、音高推定手段が選択するモデル列を音数指標値に応じて制御する。本態様においては、モデル列が音数指標値に応じて制御されるから、対象音を構成する音数に応じた基本周波数の確率密度関数を推定することが可能となる。なお、本態様の具体例は第2実施形態として後述される。
例えば、対象音を構成する音数が多いほど、豊富な倍音成分を広範な帯域にわたって含む高調波構造のモデル列が選択されるように(換言すると、対象音を構成する音数が少ないほど、倍音成分が狭い帯域に存在する高調波構造のモデル列が選択されるように)音高推定手段を制御する。
音高推定手段は、音モデルが対象音の高調波構造を支持する程度を示す当該音モデルの推定形状を対象音の振幅スペクトルと当該音モデルと当該音モデルの重み値とに基づいて音モデルごとに特定する推定形状特定処理と、推定形状特定処理で各音モデルについて特定した推定形状に基づいて当該音モデルの重み値を算定する重み値算定処理との反復によって確率密度関数を推定する関数推定手段と、各音モデルと推定形状特定処理で当該音モデルから特定された推定形状との類否を示す類否指標値を算定する類否解析手段と、重み値修正処理で算定された複数の重み値のうち類否解析手段の算定した類否指標値が閾値を越えて非類似の範囲内にある音モデルの重み値を低下させる重み値修正手段とを含み、制御手段は、音数指標値に応じて閾値を制御する。本態様によれば、重み値算定処理で算定された複数の重み値のうち音モデルと推定形状とが非類似である基本周波数の重み値が抑制されるから、対象音の高調波構造から乖離した音モデルの影響で確率密度関数にピーク(偽ピーク)が発生する可能性は低減される。したがって、対象音の基本周波数を高精度に特定することが可能となる。なお、態様の具体例は第3実施形態として後述される。
本発明のひとつの態様において、音高推定手段は、対象音を示す音響信号のうち特定の通過帯域に属する成分を選択的に通過させるフィルタを含み、フィルタを通過した音響信号について基本周波数を推定し、制御手段は、フィルタの通過帯域を音数指標値に応じて制御する。本態様においては、確率密度関数を推定するための基礎となる音響信号の帯域幅が音数指標値に応じて制御されるから、対象音を構成する音数に応じた基本周波数の確率密度関数を推定して高精度に対象音の基本周波数を特定することが可能となる。
対象音を構成する音数が多い場合には各々の基本周波数が広範な周波数帯域にわたる可能性が高い。したがって、制御手段は、例えば、対象音を構成する音数が多いほどフィルタの通過帯域が広くなるように音高推定手段を制御する。
本発明において指標算定手段が音数指標値を算定する方法は任意であるが、例えば基本周波数の確率密度関数に基づいて音数指標値を算定する構成が好適に採用される。例えば、確率密度関数の複数のピーク値の分散や確率密度関数が示す曲線の線長(例えば図8参照)に応じて音数指標値が算定される。ただし、例えば対象音の時間波形を示す信号(音響信号)や振幅スペクトルに応じて音数指標値が算定される構成も採用される。
本発明は、音響信号の基本周波数を推定する方法としても特定される。本発明の音高推定方法は、高調波構造を示す複数の音モデルの混合分布として対象音をモデル化したときの各音モデルの重み値を示す基本周波数の確率密度関数から対象音の基本周波数を推定する推定処理を実行する一方、対象音を構成する音数に応じた音数指標値を算定し、推定処理を音数指標値に基づいて制御する。以上の方法によれば、本発明の音高推定装置と同様の作用および効果が奏される。
本発明に係る音高推定装置は、各処理に専用されるDSP(Digital Signal Processor)などのハードウェア(電子回路)によって実現されるほか、CPU(Central Processing Unit)などの汎用の演算処理装置とプログラムとの協働によっても実現される。本発明に係るプログラムは、高調波構造を示す複数の音モデルの混合分布として対象音をモデル化したときの各音モデルの重み値を示す基本周波数の確率密度関数から対象音の基本周波数を推定する推定処理と、対象音を構成する音数に応じた音数指標値を算定する指標算定処理と、推定処理を音数指標値に基づいて制御する制御処理とをコンピュータに実行させる内容である。以上のプログラムによっても、本発明に係る音高推定装置と同様の作用および効果が奏される。なお、本発明のプログラムは、CD−ROMなど可搬型の記録媒体に格納された形態で利用者に提供されてコンピュータにインストールされるほか、ネットワークを介した配信の形態でサーバ装置から提供されてコンピュータにインストールされる。
第1実施形態に係る音高推定装置の機能的な構成を示すブロック図である。 単位処理の内容を説明するための概念図である。 確率密度関数の各ピーク値の分散と対象音の音数との関係を示す概念図である。 確率密度関数と閾値との関係を示す概念図である。 第2実施形態に係る音高推定装置の構成を示すブロック図である。 第3実施形態に係る関数推定部の構成を示すブロック図である。 偽ピーク抑制部の動作を説明するための概念図である。 確率密度関数が示す曲線の線長と対象音の音数との関係を示す概念図である。
<A:第1実施形態>
図1は、本発明の第1実施形態に係る音高推定装置の機能的な構成を示すブロック図である。図1に示すように、音高推定装置Dは、音高推定部10と記憶部30と指標算定部50と制御部60とを含む。音高推定部10と指標算定部50と制御部60とは、例えばCPUなどの演算処理装置がプログラムを実行することで実現されてもよいし、基本周波数の推定に専用されるDSPなどのハードウェアによって実現されてもよい。
音高推定部10は、対象音を構成するひとつまたは複数の音の基本周波数(音高)を推定する手段であり、周波数分析部12とBPF(Band Pass Filter)14と関数推定部20と音高特定部40とを含む。周波数分析部12には、対象音の時間波形を示す音響信号Vが入力される。本実施形態の音響信号Vが示す対象音は、各々の音高や音源が相違する複数の音の混合音である。周波数分析部12は、所定の窓関数を利用して音響信号Vを多数のフレームに分割したうえで、FFT(Fast Fourier Transform)処理を含む周波数分析を各フレームの音響信号Vについて実行することで対象音の振幅スペクトルを特定する。各フレームは時間軸上で相互に重なり合うように設定される。
BPF14は、周波数分析部12がフレームごとに特定した振幅スペクトルのうち特定の周波数帯域に属する成分を選択的に通過させる。BPF14の通過帯域は、対象音を構成する複数の音のうち音高を推定すべき各音の基本周波数成分や高調波成分の多くが通過し、かつ、他の音の基本周波数成分や高調波成分が所望の音よりも優勢となる周波数帯域が遮断されるように制御される。BPF14を通過した振幅スペクトルSは関数推定部20に出力される。
図2は、関数推定部20による処理の概要を説明するための概念図である。同図の部分(a)に破線で示すように、振幅スペクトルSは実際には周波数xの軸線に沿って連続的に分布する。しかし、同図においては説明の便宜のために、ピークの各周波数xに対応して配列された複数の直線(ピークの強度Aに対応する長さの線分)として振幅スペクトルSが図示されている。図2の部分(b)から部分(e)の表記(部分(b)の音モデルM[F]・部分(c)のスペクトル分配比Q[F]・部分(d)の推定形状C[F]・部分(e)の重み値ω[F])についても同様である。また、図2の部分(a)においては、基本周波数F0が200Hzである対象音(すなわち倍音の周波数が400Hz,600Hz,800Hzである対象音)の振幅スペクトルSが便宜的に図示されているが、実際には複数の音を混合したものが対象音とされる。
記憶部30は、音高推定部10による処理に使用される各種の情報を記憶する手段(磁気記憶装置や半導体記憶装置)である。記憶部30は、例えば、関数推定部20で使用される多数の音モデルM[F]をテンプレートとして記憶する。図2の部分(b)に示すように、音モデルM[F]は、対象音に含まれる各音の基本周波数F0の候補となる基本周波数Fごとに用意される。ただし、図2の部分(b)には、100Hzの基本周波数Fに対応する音モデルM[100]と200Hzの基本周波数Fに対応する音モデルM[200]とが便宜的に図示されている。音モデルM[F]は、基本周波数Fに対応した高調波構造(基音成分および倍音成分の周波数軸上における分布・配置やスペクトル形状)を周波数xに沿ってモデル化する関数(確率密度関数)である。例えば、図2の部分(b)に例示するように、音モデルM[100]においては、基本周波数Fに対応した周波数x(x=100Hz)とその倍音に相当する周波数x(x=200Hz,300Hz,400Hz)とにピークが現れる。
図1の関数推定部20は、振幅スペクトルSについて基本周波数の確率密度関数Pを推定する。確率密度関数Pは、振幅スペクトルSを多数の音モデルM[F]の混合分布(複数の音モデルM[F]の重み付き和)としてモデル化したときの各音モデルM[F]の重み値ω[F]の分布を表現する関数である。
本実施形態の関数推定部20は、最尤推定アルゴリズムのひとつであるEM(Expectation-Maximization)アルゴリズムに基づいて所定の処理(以下「単位処理」という)を反復することで確率密度関数Pを推定する。各単位処理は、前回の単位処理で算定された重み値ω[F](第1回目の単位処理においては重み値ω[F]の初期値)に基づいて新たな重み値ω[F]を算定する処理である。重み値ω[F]は、単位処理のたびに、複数の音モデルM[F]の混合分布によって振幅スペクトルSがモデル化されるときの重み値ω[F](尤度が高い数値)に近づいていく。単位処理がm回(mは自然数)にわたって反復された時点の重み値ω[F]が確率密度関数Pとして記憶部30に記憶される。
図2に示すように、単位処理は、各音モデルM[F](各基本周波数F)について図2の部分(d)の推定形状C[F]を生成する推定形状特定処理PA(PA1・PA2)と、推定形状C[F]に基づいて重み値ω[F]を算定する重み値算定処理PBとを含む。推定形状特定処理PAは、図2の部分(c)のスペクトル分配比Q[F]を生成する処理PA1と、推定形状C[F]を生成する処理PA2とから構成される。
処理PA1は、記憶部30から読み出された音モデルM[F]と重み値算定処理PBで算定された重み値ω[F]とを各基本周波数Fについて乗算し、さらに乗算後の各音モデルM[F]について同じ周波数xの数値の総和が「1」となるように正規化することでスペクトル分配比Q[F]を生成する処理である。処理PA2は、各基本周波数Fのスペクトル分配比Q[F]と振幅スペクトルSとの乗算によって当該基本周波数Fの推定形状C[F]を生成する処理である。以上の手順から理解されるように、推定形状C[F]は、音響信号Vの高調波構造が音モデルM[F]によって支持される程度の分布を周波数xに沿って示す。したがって、振幅スペクトルSの形状(基音成分や倍音成分)を優勢に支持する音モデルM[F](すなわち振幅スペクトルSの高調波構造に近い分布を持つ音モデルM[F])から生成された推定形状C[F]ほど多数かつ高強度のピークを含む。
重み値算定処理PBは、推定形状特定処理PAで算定された各推定形状C[F]から各基本周波数Fの重み値ω[F]を算定する手段である。すなわち、図2に示すように、重み値算定処理PBにおいては、第1に、基本周波数Fごとの推定形状C[F]の関数値を各周波数xについて積算した数値k[F](周波数xに関する推定形状C[F]の積分値)が算定され、第2に、基本周波数Fの全範囲にわたる重み値ω[F]の積分値が「1」となるように数値k[F]を正規化することで各基本周波数Fの重み値ω[F]が生成される。すなわち、基本周波数Fの全範囲にわたる数値k[F]の総和をKとすれば、重み値ω[F]は「k[F]/K」と表記される。
以上の説明から理解されるように、特定の基本周波数Fに対応する重み値ω[F]は、基本周波数Fに対応する音モデルM[F]が振幅スペクトルSの高調波構造をどのくらい優勢に支持するかを示す。したがって、確率密度関数Pのうち優勢なピークが現れる基本周波数Fは、対象音に含まれる各音の基本周波数F0(音高)である可能性が高い。
ただし、確率密度関数Pには、実際には対象音に含まれない音の基本周波数Fにもピークが現れ得る。例えば、基本周波数100Hzの音の振幅スペクトルには、基本周波数200Hzの音の振幅スペクトルと同様の周波数(200Hz,400Hz,600Hz,800Hz,……)にピークが現れるから、図2の部分(a)のように基本周波数200Hzの音が対象音に含まれる場合には、基本周波数100Hzの音が実際には対象音に含まれない場合であっても、図2の部分(e)に示すように、基本周波数の確率密度関数Pには200Hzに加えて100Hzにもピーク(ω[100])が現れる。重み値ω[F]に現れる多数のピークのうち実際には対象音に含まれない音に対応したピークを以下では「偽ピーク」と表記し、対象音に現実に含まれる音に対応したピーク(以下「真ピーク」という)と区別する場合がある。
音高特定部40は、記憶部30に格納された確率密度関数Pに優勢なピークが現れるひとつまたは複数の基本周波数Fを対象音の各音の基本周波数(音高)F0として特定および出力する手段である。本実施形態の音高特定部40は、確率密度関数Pに現れる複数のピークのうち閾値Pthを上回るひとつまたは複数のピークを真ピークとして抽出し、確率密度関数Pにてこれらのピークが現れる基本周波数Fを対象音の各音の基本周波数F0として出力する。
図1に示す指標算定部50は、関数推定部20が推定した確率密度関数Pに基づいて音数指標値Nを算定する。音数指標値Nは、対象音を構成する音数の指標となる数値である。本実施形態の指標算定部50は、確率密度関数Pに現れる複数のピークのなかから選択した所定数の優勢なピークの各ピーク値の分散を音数指標値Nとして算定する。すなわち、音数指標値Nは、確率密度関数Pから選択した所定数のピークのピーク値の平均値と各ピーク値との差分(偏差)の2乗を平均した数値である。
図3は、確率密度関数Pのピークを示す概念図である。同図の部分(a)は対象音を構成する音数が多い場合を示し、同図の部分(b)は音数が少ない場合を示す。なお、図3においては確率密度関数Pの各ピークが便宜的に線分として図示されているが、実際の確率密度関数Pは例えば図8に例示されるように連続に分布する(後掲の図4においても同様である)。
図3の部分(a)のように対象音を構成する音数が多い場合、各ピークのピーク値は相互に近い数値となる(すなわち各ピーク値が狭い範囲に集中する)。したがって、音数指標値Nは小さい数値となる。これに対し、図3の部分(b)のように対象音を構成する音数が少ない場合には、少数の真ピークのピーク値が他のピークと比較して顕著に大きい数値となる(すなわち各ピーク値が広い範囲に分散する)。したがって、音数指標値Nは大きい数値となる。以上のように音数指標値Nは、対象音を構成する音数を反映した数値となる。
図1の制御部60は、指標算定部50が算定した音数指標値Nに基づいて音高推定部10の動作(より詳細には音高推定部10の動作に関するパラメータ)を制御する手段である。本実施形態の制御部60は、関数推定部20が単位処理を反復する回数(以下「反復回数」という)mと、音高特定部40が基本周波数F0を特定するときの基準となる閾値Pthとを、音数指標値Nに基づいて制御する。各パラメータを制御する具体的な方法は以下の通りである。
(1)反復回数m
音数が多い対象音から高精度に基本周波数F0を推定するためには、各音モデルM[F]の重み値ω[F]の尤度を充分に高める必要がある。これに対し、対象音を構成する音数が少ない場合には、真ピークと偽ピークとでピーク値の相違が顕著となり易いから、重み値ω[F]の尤度が余り高くなくても対象音の基本周波数F0を推定できる場合がある。また、重み値ω[F]は、単位処理のたびに最適値(尤度が高い数値)に接近していく。そこで、本実施形態の制御部60は、対象音を構成する音数が多い(すなわち音数指標値Nが小さい)ほど単位処理の反復回数mが増加するように、音数指標値Nに基づいて関数推定部20を制御する。以上の構成によれば、対象音を構成する音数が少ない場合には、単位処理の反復回数mが削減されることで関数推定部20による処理の負荷が軽減され、対象音を構成する音数が多い場合には反復回数mの増加によって多数の音の基本周波数F0を高精度に推定することが可能となる。
(2)閾値Pth
図4は、確率密度関数Pの各ピークと閾値Pthとの関係を示す概念図である。同図の部分(a)は対象音を構成する音数が多い場合を示し、部分(b)は音数が少ない場合を示す。基本周波数Fの全範囲にわたる確率密度関数Pの積分値は「1」となるから、図4の部分(a)のように対象音を構成する音数が多い場合には、各々のピーク値が比較的に小さい多数のピークが確率密度関数Pに現れる。これに対し、図4の部分(b)のように対象音を構成する音数が少ない場合には、少数の真ピークのピーク値が他のピーク(偽ピーク)と比較して充分に大きい数値(PMAX)となる。
いま、図4の部分(b)における多数の偽ピークを上回るように設定された閾値Pth2が、対象音を構成する音数に拘わらず音高特定部40による判定に適用されるとすれば、図4の部分(a)のように対象音を構成する音数が多い場合に、閾値Pth2を上回るピークの個数が少なくなる。したがって、対象音に含まれる多数の音の基本周波数F0を高精度に特定できない場合がある。一方、図4の部分(a)の場合に多数のピークが真ピークと判定されるように設定された閾値Pth1(Pth1<Pth2)が対象音を構成する音数に拘わらず適用されるとすれば、図4の部分(b)のように音数が少ない場合に、偽ピークが閾値Pth1を上回る可能性が高まるから、対象音に実際に含まれる音の基本周波数F0のみを検出する精度は低下する。
そこで、本実施形態の制御部60は、対象音を構成する音数が多いほど閾値Pthが低下するように、音数指標値Nに基づいて音高特定部40を制御する。例えば、対象音を構成する音数が多い場合、制御部60は、図4の部分(a)の閾値Pth1を音高特定部40に指定する。確率密度関数Pの多数の真ピークは閾値Pth1を上回るから、対象音を構成する多数の音の基本周波数F0が高精度に特定される。また、対象音を構成する音数が少ない場合、制御部60は、図4の部分(b)の閾値Pth2を音高特定部40に指定する。確率密度関数Pの多数の偽ピークは閾値Pth2を下回るから、対象音に実際に含まれる音の基本周波数F0のみが高精度に特定される。
以上に説明したように、本実施形態においては、音高推定部10による処理に関するパラメータが音数指標値Nに応じて制御されるから、対象音を構成する音数に関わらず音高推定部10が共通の処理を実行する構成と比較して、対象音を構成する各音の基本周波数F0を高精度に推定することが可能となる。
<B:第2実施形態>
次に、本発明の第2実施形態について説明する。なお、以下に例示する各形態において第1実施形態と共通する要素には、以上と同じ符号を付して、各々に関する詳細な説明を適宜に省略する。
図5は、本実施形態に係る音高推定装置Dの構成を示すブロック図である。同図に示すように、記憶部30は複数のモデル列Gを記憶する。ひとつのモデル列Gは、図2の部分(b)に例示したように、各々が別個の基本周波数Fに対応した複数の音モデルM[F]を含む。各音モデルM[F]がモデル化する高調波構造の態様はモデル列Gごとに相違する。例えば、各音モデルM[F]によってモデル化される倍音成分の総数や各々が分布する帯域幅はモデル列Gごとに相違する。音高推定部10の関数推定部20は、複数のモデル列Gのうちのひとつを選択して記憶部30から読み出し、当該モデル列Gに属する複数の音モデルM[F]を単位処理(図2の処理PA1)に利用することで確率密度関数Pを推定する。
図5の制御部60は、記憶部30に記憶された複数のモデル列Gのうち対象音を構成する音数に対応したモデル列Gが選択されるように、指標算定部50が算定する音数指標値Nに基づいて関数推定部20を制御する。例えば、制御部60は、対象音を構成する音数が多いほど、広範な帯域にわたって多数の倍音成分を含む各音モデルM[F]のモデル列Gが選択されるように、関数推定部20を制御する。換言すると、対象音を構成する音数が少ない場合には、少数の倍音成分からなる高調波構造をモデル化する音モデルM[F]のモデル列Gが関数推定部20によって選択される。
以上のように、本実施形態においては、確率密度関数Pの推定に利用されるモデル列Gが音数指標値Nに応じて選択されるから、確率密度関数Pは対象音を構成する音数に応じた態様となる。したがって、対象音を構成する音数に拘わらず、各音の基本周波数F0を高精度に推定することが可能となる。
<C:第3実施形態>
次に、本発明の第3実施形態について説明する。図6は、本実施形態に係る関数推定部20の具体的な構成を示すブロック図である。図6に示すように、関数推定部20は、推定形状特定部21と重み値算定部23と処理選定部25と偽ピーク抑制部27とを含む。
推定形状特定部21は、図2の推定形状特定処理PA(PA1,PA2)によって推定形状C[F]を特定する。重み値算定部23は、図2の重み値算定処理PBによって推定形状C[F]から重み値ω[F]を算定する。偽ピーク抑制部27は、重み値ω[F]に現れる偽ピークを抑制する手段である。
処理選定部25は、重み値算定部23が算定した重み値ω[F]を推定形状特定部21および偽ピーク抑制部27の何れかに選択的に出力する。処理選定部25が推定形状特定部21を選択した場合、重み値算定部23が算定した重み値ω[F]はそのまま次回の単位処理に使用され、処理選定部25が偽ピーク抑制部27を選択した場合、偽ピーク抑制部27による修正を経た重み値ω[F]が次回の単位処理に使用される。なお、処理選定部25が偽ピーク抑制部27を選択するタイミングや回数は任意である。
次に、偽ピーク抑制部27の動作の概要を説明する。振幅スペクトルSの高調波構造を優勢に支持する音モデルM[F]は振幅スペクトルSと同様の周波数xにピークを含むから、音モデルM[F]から生成されるスペクトル分配比Q[F]と振幅スペクトルSとの乗算に基づいて特定される推定形状C[F]には音モデルM[F]と同じ周波数xにピークが現れる。したがって、図2の部分(b)の音モデルM[200]と同図の部分(d)の推定形状C[200]とから把握されるように、音モデルM[F]と推定形状C[F]との態様(ピークの周波数やピークの振幅)は類似する。これに対し、振幅スペクトルSの高調波構造から乖離した音モデルM[F]は振幅スペクトルSとは相違する周波数xにピークを含むから、推定形状C[F]は音モデルM[F]の幾つかのピークが低減された形状となる。したがって、図2の部分(b)の音モデルM[100]と同図の部分(d)の推定形状C[100]とから把握されるように、音モデルM[F]と推定形状C[F]とは態様が大きく相違する。以上の特性を考慮して、本実施形態においては、音モデルM[F]と推定形状C[F]との類似度が低い基本周波数Fの重み値ω[F]を偽ピークと認識して強制的に低減する。
図6に示すように、偽ピーク抑制部27は、類否解析部271と重み値修正部273と正規化部275とを含む。類否解析部271は、同じ基本周波数Fに対応した音モデルM[F]と推定形状C[F]との類否を示す数値(以下「類否指標値」という)R[F]を各基本周波数Fについて算定する手段である。本実施形態の類否指標値R[F]はKL(Kullbuck-Leibler)情報量である。したがって、音モデルM[F]と推定形状C[F]とが類似するほど類否指標値R[F]はゼロに近づいていく(両者の相違が大きいほど類否指標値R[F]は増加する)。
図7は、偽ピーク抑制部27による処理の内容を説明するための概念図である。同図の部分(a)は、記憶部30に記憶された音モデルM[F]を示し、部分(b)は、推定形状特定部21が特定した推定形状C[F]を示す。また、図7の部分(c)は、類否解析部271が算定した類否指標値R[F]を示す。図7に示すように、基本周波数Faに対応する音モデルM[Fa]と推定形状C[Fa]とは相違が大きい(音モデルM[Fa]が振幅スペクトルSの高調波構造から乖離している)から類否指標値R[Fa]は大きい数値となる。一方、基本周波数Fbに対応する音モデルM[Fb]と推定形状C[Fb]とは類似度が高い(音モデルM[Fb]が振幅スペクトルSの高調波構造を優勢に支持している)から類否指標値R[Fb]は小さい数値となる。
重み値修正部273は、類否指標値R[F]が閾値Rthを下回る場合には重み値算定部23が算定した重み値ω[F]を維持し、類否指標値R[F]が閾値Rthを上回る場合(音モデルM[F]と推定形状C[F]とが非類似である場合)には、重み値算定部23が算定した数値に拘わらず重み値ω[F]を強制的にゼロに変更する。図7の部分(d)は、重み値算定部23が算定した重み値ω[F]を示し、図7の部分(e)は、重み値修正部273による修正後の重み値ω[F]を示す。同図に示すように、基本周波数Fbの類否指標値R[Fb]は閾値Rthを下回るから、基本周波数Fbの近傍に分布する重み値ω[F]のピークは維持される。これに対し、基本周波数Faの類否指標値R[Fa]は閾値Rthを上回るから、基本周波数Faの近傍に分布する重み値ω[F]のピークは除去される。
以上のように重み値ω[F]を修正すると、総ての基本周波数Fにわたる重み値ω[F]の総和が「1」とならない場合があり得る。そこで、図6の正規化部275は、偽ピーク抑制部27から推定形状特定部21に出力される重み値ω[F]について総ての基本周波数Fにわたる総和(積分値)が「1」となるように、重み値修正部273による修正後の重み値ω[F]を正規化して推定形状特定部21に出力する。
本実施形態の制御部60は、対象音を構成する音数に応じて閾値Rthが変化するように、音数指標値Nに基づいて偽ピーク抑制部27を制御する。本実施形態の制御部60は、対象音を構成する音数が多いほど閾値Rthが低下するように偽ピーク抑制部27を制御する。図4に例示したように、対象音を構成する音数が多い場合にはピーク値が比較的に近い多数のピークが重み値ω[F](確率密度関数P)に現れるから、真ピークと偽ピークとの区別が特に困難である。本実施形態によれば、対象音を構成する音数が多い場合には閾値Rthを低下させることで偽ピーク抑制部27が多くのピーク(偽ピーク)を抑制するから、確率密度関数Pから真ピークを高精度に抽出することが可能となる。一方、対象音を構成する音数が多い場合には真ピークと偽ピークとの相違が顕著となり易いから、偽ピークを余り抑制しなくても、確率密度関数Pから高い精度で基本周波数F0を特定できる。本実施形態によれば対象音を構成する音数が少ない場合に閾値Rthが高目に設定されることで重み値ω[F]の修正の箇所が削減されるから、基本周波数F0の推定の精度を不当に低下させることなく、重み値修正部273による処理の負荷を低減できるという利点がある。
なお、以上の形態では重み値ω[F]がゼロに変更される構成を例示したが、重み値ω[F]の修正の方法はこれに限定されない。すなわち、類否指標値R[F]が閾値Rthを上回る基本周波数Fの重み値ω[F]が、重み値算定部23の算定した重み値ω[F]よりも小さい数値に抑制されればよい。また、以上においては偽ピークに対応した重み値ω[F]が抑制される構成を例示したが、これとは逆に、偽ピークが現れない基本周波数Fの重み値ω[F]を、重み値算定部23が算定した重み値ω[F]よりも大きい数値に増加させる構成も採用される。
また、KL情報量は類否指標値R[F]の例示に過ぎない。例えば、音モデルM[F]と推定形状C[F]とのRMS(Root Mean Square)誤差(平均自乗誤差)を類否指標値R[F]として算定してもよい。また、以上においては音モデルM[F]と推定形状C[F]との類似度が高いほど類否指標値R[F]がゼロに近づく場合を例示したが、音モデルM[F]と推定形状C[F]との類似度が低いほどゼロに近づくような数値を類否指標値R[F]として算定してもよい。すなわち、音モデルM[F]と推定形状C[F]との類似度が低い基本周波数Fの重み値ω[F]が低減される構成であれば足りる。
<D:第4実施形態>
次に、本発明の第4実施形態について説明する。第1実施形態においては、確率密度関数Pの各ピーク値の分散が音数指標値Nとして算定される構成を例示した。これに対し、本実施形態においては、確率密度関数Pで表現される曲線の線長が音数指標値Nとして算定される。
本実施形態の指標算定部50は、関数推定部20が推定した確率密度関数Pの関数値を、ピーク値の最大値が「1」となるように正規化する。図8は、正規化後の確率密度関数Pによって表現される曲線を示す概念図である。同図の部分(a)は対象音を構成する音数が多い場合を示し、同図の部分(b)は音数が少ない場合を示す。指標算定部50は、正規化後の確率密度関数Pで表現される曲線のうち所定の帯域幅BFに属する部分の線長を音数指標値Nとして算定する。図8の部分(b)のように対象音を構成する音数が少ない場合には、僅かな真ピークを除いた殆どのピーク(偽ピーク)のピーク値は小さい。これに対し、図8の部分(a)のように対象音を構成する音数が多い場合、各ピークのピーク値は図8の部分(b)における真ピークと比較して小さいものの、ピークの個数は部分(b)の場合よりも多い。したがって、対象音を構成する音数が多い場合に確率密度関数Pが示す曲線は音数が少ない場合よりも長くなる。すなわち、本実施形態の音数指標値Nは対象音を構成する音数が多いほど増加する。
以上の方法で算定された音数指標値Nに基づいて以上の各形態と同様の制御が実行される。ただし、本実施形態における対象音の音数と音数指標値Nとの関係(音数が多いほど音数指標値Nが増加)は、各ピーク値の分散として算定された音数指標値Nと対象音の音数との関係(音数が多いほど音数指標値Nは減少)と反対になるから、本実施形態において制御の対象となるパラメータの大小と音数指標値Nとの関係は以上の各形態における両者の関係から逆転する。すなわち、例えば、制御部60は、音数指標値Nが大きい(すなわち対象音を構成する音数が多い)ほど、単位処理の反復回数mが増加するとともに閾値Rthが低下するように音高特定部40を制御する。以上の形態によっても各形態と同様の効果が奏される。
なお、第1実施形態のように確率密度関数Pの各ピーク値の分散が音数指標値Nとして算定される構成においては、確率密度関数Pから複数のピークを検出する必要がある。これに対し、本実施形態においては確率密度関数Pの曲線の線長が音数指標値Nとして算定されるから、確率密度関数Pのピークやその周波数を検出する必要はない。したがって、本実施形態によれば指標算定部50の処理の負荷が第1実施形態よりも低減されるという利点がある。
<E:変形例>
以上の各形態には様々な変形を加えることができる。具体的な変形の態様を例示すれば以下の通りである。なお、以下の各態様を適宜に組み合わせてもよい。
(1)変形例1
音数指標値Nに応じて制御される対象(パラメータ)は以上の例示に限定されない。例えば、BPF14の通過帯域が音数指標値Nに応じて可変に制御される構成としてもよい。対象音を構成する音数が多い場合には各音の基本周波数F0が広範な帯域幅にわたる可能性が高いから、制御部60は、対象音を構成する音数が多いほどBPF14の通過帯域が広くなるように、音数指標値Nに基づいてBPF14を制御する。また、例えば音響信号Vを区分するフレームの時間長を音数指標値Nに基づいて制御する構成も採用される。以上のように、本発明の好適な態様においては、音高推定部10による処理が音数指標値Nに基づいて制御される構成であれば足り、音数指標値Nと各パラメータとの関係や制御の対象となるパラメータは適宜に変更される。
(2)変形例2
以上の各形態においては確率密度関数Pから音数指標値Nが算定される構成を例示したが、音数指標値Nを算定する方法は適宜に変更される。例えば、音響信号Vやその振幅スペクトル(周波数分析部12から出力される振幅スペクトルまたはBPF14から出力される振幅スペクトルS)に基づいて音数指標値Nを選定する構成も採用される。例えば、振幅スペクトルSに現れる多数のピークのうち所定の帯域幅に属するピークの個数(ピークの密度)を音数指標値Nとして算定してもよい。また、第2実施形態においては正規化後の確率密度関数Pが表わす曲線の線長から音数指標値Nが算定される構成を例示したが、基本周波数Fの所定の範囲にわたる確率密度関数Pの積分値(確率密度関数Pの曲線と基本周波数Fの軸線とで包囲された領域の面積)に基づいて音数指標値Nが算定される構成も採用される。さらに、正規化後の確率密度関数Pの表わす曲線が、所定の関数値に対応した直線(例えば図8の縦軸の数値が「0.5」となる直線)と交差する回数に基づいて音数指標値Nを算定してもよい。
また、以上の各形態においては確率密度関数Pのピーク値の分散や曲線の線長が音数指標値Nとされる構成を例示したが、これらの数値を引数とした所定の演算によって音数指標値Nが算定される構成としてもよい。すなわち、音数指標値Nは、対象音を構成する音数に応じた数値(すなわち、対象音を構成する音数が多い場合と少ない場合とで変化する数値)であれば足りる。
(3)変形例3
確率密度関数Pから基本周波数F0を推定する方法は適宜に変更される。例えば、確率密度関数Pのうち重み値ω[F]が高い順番に計数して所定数のピークの周波数を対象音の基本周波数F0として特定してもよい。また、以上の各形態においては複数の基本周波数F0が推定される構成を例示したが、ひとつの基本周波数F0(例えば確率密度関数Pにおいて最大のピークが現れる周波数)を推定する構成としてもよい。
また、複数のフレームにわたる確率密度関数Pの時間的な変動を監視することで基本周波数F0を推定する構成としてもよい。確率密度関数Pの監視にはマルチエージェントモデルが好適に利用される。すなわち、音高特定部40は、複数の自律的なエージェントの各々に確率密度関数Pの別個のピークを割り当てたうえで各ピークの経時的な変動を追跡させ、複数のエージェントのうち信頼度が高いエージェントの各ピークを基本周波数F0として出力する。各エージェントの具体的な挙動については特許文献1に詳述されている。マルチエージェントモデルを採用した構成においては、音数指標値Nに応じて例えば各エージェントの挙動が制御される。
D……音高推定装置、10……音高推定部、12……周波数分析部、14……BPF、20……関数推定部、21……推定形状特定部、23……重み値算定部、25……処理選定部、27……偽ピーク抑制部、271……類否解析部、273……重み値修正部、275……正規化部、30……記憶部、40……音高特定部、50……指標算定部、60……制御部、N……音数指標値、V……音響信号、S……振幅スペクトル、P……基本周波数の確率密度関数、M[F]……音モデル、C[F]……推定形状、ω[F]……重み値、F0……対象音を構成する各音の基本周波数、Pth……確率密度関数のピーク値と対比される閾値、Rth……類否指標値と対比される閾値。

Claims (3)

  1. 相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号モデル化されるように各音モデルの重み値を更新する単位処理を最尤推定アルゴリズムに基づいて反復し、前記単位処理の反復後の各音モデルの重み値を前記入力音響信号の基本周波数の確率密度関数として推定する関数推定手段と、
    前記関数推定手段が推定した前記基本周波数の確率密度関数から前記入力音響信号の基本周波数を特定する音高特定手段と、
    前記入力音響信号を構成する音数に応じた音数指標値を算定する指標算定手段と、
    前記関数推定手段による前記単位処理の反復回数を前記音数指標値に応じて可変に制御する制御手段と
    を具備する音高推定装置。
  2. 相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号モデル化されるように各音モデルの重み値を更新する単位処理を最尤推定アルゴリズムに基づいて反復し、前記単位処理の反復後の各音モデルの重み値を前記入力音響信号の基本周波数の確率密度関数として推定する一方、
    前記推定した前記基本周波数の確率密度関数から前記入力音響信号の基本周波数を特定し、
    前記入力音響信号を構成する音数に応じた音数指標値を算定し、
    前記単位処理の反復回数を前記音数指標値に応じて可変に制御する
    音高推定方法。
  3. 相異なる基本周波数の高調波構造を示す複数の音モデルの混合分布として入力音響信号モデル化されるように各音モデルの重み値を更新する単位処理を最尤推定アルゴリズムに基づいて反復し、前記単位処理の反復後の各音モデルの重み値を前記入力音響信号の基本周波数の確率密度関数として推定する関数推定処理と、
    前記関数推定処理で推定した前記基本周波数の確率密度関数から前記入力音響信号の基本周波数を特定する音高特定処理と、
    前記入力音響信号を構成する音数に応じた音数指標値を算定する指標算定処理と、
    前記関数推定処理における前記単位処理の反復回数を前記音数指標値に応じて可変に制御する制御処理と
    をコンピュータに実行させるプログラム。
JP2010188624A 2010-08-25 2010-08-25 音高推定装置、音高推定方法およびプログラム Expired - Fee Related JP4710037B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010188624A JP4710037B2 (ja) 2010-08-25 2010-08-25 音高推定装置、音高推定方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010188624A JP4710037B2 (ja) 2010-08-25 2010-08-25 音高推定装置、音高推定方法およびプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007045012A Division JP4630981B2 (ja) 2007-02-26 2007-02-26 音高推定装置、音高推定方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2010286857A JP2010286857A (ja) 2010-12-24
JP4710037B2 true JP4710037B2 (ja) 2011-06-29

Family

ID=43542547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010188624A Expired - Fee Related JP4710037B2 (ja) 2010-08-25 2010-08-25 音高推定装置、音高推定方法およびプログラム

Country Status (1)

Country Link
JP (1) JP4710037B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005066927A1 (ja) * 2004-01-09 2005-07-21 Toudai Tlo, Ltd. 多重音信号解析方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3413634B2 (ja) * 1999-10-27 2003-06-03 独立行政法人産業技術総合研究所 音高推定方法及び装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005066927A1 (ja) * 2004-01-09 2005-07-21 Toudai Tlo, Ltd. 多重音信号解析方法

Also Published As

Publication number Publication date
JP2010286857A (ja) 2010-12-24

Similar Documents

Publication Publication Date Title
JP4630980B2 (ja) 音高推定装置、音高推定方法およびプログラム
KR102132500B1 (ko) 조화성 기반 단일 채널 음성 품질 추정 기법
JP2011145372A (ja) 雑音抑圧装置
JP4630981B2 (ja) 音高推定装置、音高推定方法およびプログラム
JP5152799B2 (ja) 雑音抑圧装置およびプログラム
JP5157837B2 (ja) ピッチ検出装置およびプログラム
JP4953068B2 (ja) 和音判別装置、和音判別方法およびプログラム
JP4710037B2 (ja) 音高推定装置、音高推定方法およびプログラム
JP5609157B2 (ja) 係数設定装置および雑音抑圧装置
JP5728903B2 (ja) 音響処理装置およびプログラム
JP5152800B2 (ja) 雑音抑圧評価装置およびプログラム
JP4630983B2 (ja) 音高推定装置、音高推定方法およびプログラム
JP4630982B2 (ja) 音高推定装置、音高推定方法およびプログラム
JP4630979B2 (ja) 音高推定装置、音高推定方法およびプログラム
JP2007298607A (ja) 音響信号分析装置、音響信号分析方法、及び音響信号分析用プログラム
JP2013250356A (ja) 係数設定装置および雑音抑圧装置
WO2020039598A1 (ja) 信号処理装置、信号処理方法および信号処理プログラム
JP5131172B2 (ja) 周期特定装置およびプログラム
JP2009150920A (ja) エコーキャンセル装置、カラオケ装置、エコーキャンセル方法およびプログラム
JP6036141B2 (ja) 音響処理装置
JP7041911B2 (ja) 呼吸音処理装置、呼吸音処理方法、及び、コンピュータプログラム
JPWO2017130417A1 (ja) 生体音解析装置及び生体音解析方法、並びにコンピュータプログラム及び記録媒体
JP5327375B2 (ja) ピッチ検出装置およびプログラム
Barmatz Algorithms for Automatic Segmentation of Trill Vocalizations in Birds
JP6064561B2 (ja) 拍情報推定装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110127

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110225

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

LAPS Cancellation because of no payment of annual fees