説明

周期信号成分検出方法および周期信号成分検出システム

【課題】
多和音や打楽器音を含む楽音に対して、周期信号成分の累積値の特性から信号成分の有無を判断することにより、楽音の音高を推定する周期信号成分検出方法および周期信号成分検出システム、および周期信号成分検出プログラムを提供することである。
【解決手段】
多和音や打楽器音を含む楽音の音高を推定するため、並列接続共振型くし形フィルタで各音高成分の累積値を求めて音高の有無を判断する。累積値の大きさではなく、規格化された累積値の変化の直線性に注目することで、信号成分の振幅に影響されずに音高を推定する。直線性の度合いから信号の有無が判断困難な場合は、その成分をノッチ型くし形フィルタで消去する処理をした後、共振型くし形フィルタでその累積値を求め、その直線性の度合い(直線性からの偏差の総和)が以前より増加していれば、その信号成分は入力に含まれていると判断する。以上により対象楽音の音高を精度良く推定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、基本周波数とそれ以外の複数の周波数成分から構成されている周期信号、あるいは雑音成分を含む周期信号から特定の周期信号成分を検出する方法と、前述の周期信号成分検出方法を特徴とする周期信号成分検出システムおよび計算機プログラムに関するものである。
【背景技術】
【0002】
音楽信号を楽譜に書き起こす処理のことを採譜と呼ぶ。従来の採譜は、音楽に関する知識や経験を持つ専門家にしか行えないものであった。この作業を計算機によって自動的に行う技術が自動採譜である。自動採譜システムを実現するためには、楽音の高さ(以下、音高と呼ぶ。)を推定する処理が必要となる。一般に音楽信号は、基本周波数成分と多数の高調波成分から構成されており、音高推定とは主に基本周波数(ピッチ)を推定する処理のことを指す。
【0003】
従来技術には、マイクなどの入力装置、あるいは音楽用CD(Compact Disc)の再生などによって入力された音響信号を楽譜に直す採譜システム、例えば、ヤマハ社のXGワークスV2.0、USAワイルドキャットキャニオン社のオートスコアなどがある。これらは主に独唱や単独の楽器によって演奏される単音を対象にしたシステムである。このように、従来技術は単音に関する技術(例えば、特許文献1乃至特許文献4を参照。)であり、周波数特性の異なる複数の音源によって構成された和音や調波構造を持たない打楽器音が含まれる楽音を扱うことが可能なものは、いまだ実用化されていない。
【0004】
また、これまでに開示された和音を対象とした音高推定および自動採譜技術として、特許文献では、特開平04−278544号公報、特開平05−1006602号公報、特開平05−173557号公報、特開2005−202354A号公報がある。しかし、これらに開示されている技術では、10和音などの多和音や打楽器音を含む楽音に対応することは難しい。
【0005】
さらに非特許文献1では、楽音のすべての成分を消去することができるくし形フィルタを使用し、1オクターブにある12音の各音に対応する12個のノッチ型くし形フィルタを用いることで、何和音でもその各音の音高を推定する方法が提案されている。しかし、使用されている楽音はMIDI音源(電子楽器)に対する多和音の音高推定手法に関するものである。この手法を実楽器音源データ(RWC音楽データベースに収録、非特許文献3を参照。)に使用した場合、実楽器のもつ非定常性のため、くし形フィルタ出力の振幅に注目した音高推定は困難になる。また、雑音環境下での音高推定も困難である。
【0006】
最後に、非特許文献2では、非特許文献1で明らかになった実楽器の非定常性に対応するための音高推定法が提案されている。並列構成ノッチ型くし形フィルタの入出力振幅比を基本にして音高を推定する方法である。しかしながら、和音の数だけのくし形フィルタが接続されることになり、和音数の増加とともに音高を推定する能力は低下する。その問題解決のため、特許文献、特願2006−227773号公報では、くし形フィルタの入出力振幅比だけでなく入出力周波数の変化に注目した技術を提案している。しかし、この提案技術では打楽器音などを含む楽音には対応できていなかった。本発明では、打楽器音への対応を含む周期信号成分検出の課題が解決される。
【特許文献1】特開平05−108062号公報
【特許文献2】特開平05−127668号公報
【特許文献3】特開平05−165464号公報
【特許文献4】特開平09−072779号公報
【非特許文献1】三輪、田所、斉藤、「くし形フィルタを利用した採譜のための異楽器音中のピッチ推定」、信学論、Vol.J81−D−II、No.9、pp.1965−1974、1998
【非特許文献2】森田、山口、田所、「並列構成くし形フィルタの出力値に注目した採譜のための音高推定法」、信学論、Vol.J87D−II、No.12、pp.2271−2279、2004
【非特許文献3】後藤、橋口、西村、「RWC研究用音楽データベース:音楽ジャンルデータベースと楽器音データベース」、情処研報、2002−MUS−45、pp.19−26、2002
【発明の開示】
【発明が解決しようとする課題】
【0007】
具体的な周期信号成分の検出として、楽音の音高推定を取り上げて説明する。楽音は、基本周波数とその倍音成分から構成され、さらに隣接する音の基本周波数の比が21/12であるため、和音の信号成分は非常に複雑な関係になり、信号処理の一般的手法である離散フーリエ変換を基本にしたアルゴリズムでは、一般に高精度の音高推定は3和音程度までである。しかし、実際の演奏では4和音以上の多和音、つまり基本周波数と複数の周波数成分からなる周期信号も多く存在し、さらに和音以外の成分を含む打楽器音、つまり調波構造を持たない周期信号も含まれる場合も多い。
【0008】
そこで、本発明で解決する課題は、多和音や打楽器音を含む楽音に対して、周期信号成分の累積値の特性から信号成分の有無を判断することにより、楽音の音高を推定する周期信号成分検出方法および周期信号成分検出システム、および周期信号成分検出プログラムを提供することである。
【課題を解決するための手段】
【0009】
雑音環境下で周期信号成分の検出の基本技術として、並列接続した共振型くし形フィルタを使用する。このフィルタを用いる際、信号成分の累積値であるフィルタ出力の大きさではなく、その累積値の特性から信号成分の有無を判断することを可能としたことが本発明のポイントである。周期Nサンプルの周期信号であれば、N/2サンプル周期ごとに同期加減算処理をする共振型くし形フィルタによる累積値は直線的に変化していく。
【0010】
一方、並列接続した共振型くし形フィルタを用いた場合、他の周期信号、例えば、周期N’サンプルの周期信号が含まれる場合は、周期N/2の共振型くし形フィルタ出力の累積値は、ビート的に増減を繰り返す変化をする。また、周期信号でない雑音成分に対しては、その累積値は不規則な変化をする。
【0011】
以上から、フィルタ出力の累積値の特性、つまり累積値の直線的な変化の度合いから、その周期信号成分の有無を判断できる。フィルタ出力である累積値の大きさに基づく信号成分検出では、他の信号成分の振幅に比較して対象周期信号成分の振幅が小さいときは信号成分検出が不可能になるが、累積値の変化の直線性の度合いに注目し、フィルタ出力の累積値を最終の値で規格化することで、対象周期信号成分の振幅に影響されずに信号成分検出が可能になる。
【0012】
さらに、他の信号成分が多く存在する場合、つまり多和音を含む周期信号成分検出の場合でも、対象周期信号成分以外の信号成分は雑音成分と見なし、その上、検出の処理を並列で行うことができるので、他の信号成分の数に影響されずに対象周期信号成分を効率よく検出できる。
【0013】
なお、フィルタ出力の累積値の特性、つまり累積値の変化の直線性の度合いに基づいた信号成分の有無の判断が、1回の処理で困難な場合は、入力信号から対象信号成分のみを消去する処理をした後に、再び周期信号成分の累積値を求める処理を行い、その累積値の特性、つまり直線性の度合いを求める。そして、累積値の変化の直線性の度合いが、入力信号から対象信号成分のみを消去する処理をしなかった場合より劣化しているときは、対象としている信号成分が存在すると判断できる。なぜなら、周期信号成分の有無を判断することを困難にしている信号成分を消去すれば、対象としている周期信号の累積値は、直線的な特性変化を示さないためである。
【発明の効果】
【0014】
雑音環境下で信号成分の振幅や他の信号成分の数に影響されずに、本発明は並列処理であるため信号成分に対して独立に処理でき、周期信号成分検出を効率のよい処理で実現できる。また、最終累積値でフィルタ出力の累積値を規格化することで信号振幅に影響されないので、周期信号成分検出が可能となる。さらに、フィルタ出力の累積値の特性の変化を抽出する処理は、サンプル周期と同期して加算あるいは減算、または加減算で実現でき、演算量の削減および処理系の簡単化を図ることができる。
【発明を実施するための最良の形態】
【0015】
本発明に係る周期信号成分検出(音高推定)システムのブロック図を図1に、そのアルゴリズムを図2に示す。
【0016】
対象音域の各音高に対応する共振型くし形フィルタからなる図1中の並列接続共振型くし形フィルタ部へ複数の信号成分を含む周期信号を入力する。
【0017】
図1中の規格化累積値計算部では、並列接続共振型くし形フィルタ部で出力された基本周波数を元に、サンプリング周期と同期して加算あるいは減算、または加減算を行い、各フィルタの出力(累積値)を求め、最終の累積値(サンプル数rでの累積値)で規格化した値で表現して出力する。
【0018】
規格化された累積値の特性、つまり直線性を判別するために、図1中の偏差値総和計算部を用いる。偏差値総和計算部は、規格化累積値計算部の出力から、データサンプルの両端である、2点(0,0)、(r,1)を結ぶ直線からの偏差の総和を求めて出力する。
【0019】
図1中の周期信号判別部では、同図中の偏差値総和計算部からの出力に基づき、対象とする信号成分が含まれるかどうかを判断する。まず、処理が1回目であるかどうか判定し、1回目であれば、偏差値総和について判定する。偏差値総和がしきい値レベルA以下であれば音高があると判断する。これに対し、しきい値レベルA以下でなければ、しきい値レベルB以上であれば信号なし、つまり音高がなしと判断する。また、偏差値総和がレベルA以下でなく、かつレベルB以上でない場合は、音高推定が困難であるとして、対象信号成分をノッチ型くし形フィルタ(つまり図1中の対象信号除去部)で消去した後、図1中のスイッチ切替部により切り替え、対象信号が消去された周期信号を再び入力として2回目の処理を遂行する。
【0020】
一方、処理が1回目でなければ、偏差値総和が1回目の処理での値から増大していれば信号あり、すなわち音高があると判断する。これに対し、偏差値総和が1回目の処理での値から増大していなければ、信号なしと判断する。以上の判断結果は、図1中の出力部へ伝えられ、周期信号成分の検出結果が出力される。
【0021】
検出したい周期信号成分の数だけ共振型くし形フィルタを並列接続した並列接続共振型くし形フィルタについて説明する。図3は1オクターブにある12音の音高を検出するシステムを示している。基本周波数f(周期Nサンプル数)を検出する共振型くし形フィルタの周波数特性は図4のようになる。図4中、横軸は周波数を表し、縦軸はフィルタ出力を表している。基本周波数fが抽出される特性になっている。なお、このフィルタは基本周波数fの奇数倍の周波数成分も抽出する特性になっているが、検出する音高が1オクターブ(基本周波数fの2倍)内にあれば、検出において問題ない。もし、周波数fと3f等が同時に存在する場合は、基本周波数fの共振型くし形フィルタの累積値から周波数3fの共振型くし形フィルタの累積値を差し引くことで、基本周波数f独自の累積値を求めることができる。一方、周波数3fの累積値には基本周波数fの累積値は含まれない。
【0022】
次に、共振型くし形フィルタによる周期信号(音高)推定の基本原理を1オクターブ内12音の音高推定について説明する。音高pの基本周波数をfとした場合、音楽信号は基本周波数成分と、その整数倍の高調波成分から構成される。ここで、p=1(C),2(C#),・・・,12(B)である。この音楽信号を抽出する共振型くし形フィルタの伝達関数Hpr(z)は、数1で表され、
【0023】
【数1】

【0024】
その出力ypr(n)は、数2に示す反復計算になり、サンプル毎に加算と減算を繰り返す処理で実現される。
【0025】
【数2】

【0026】
また、任意の信号成分を除去するために、ノッチ型くし形フィルタを用いる。同フィルタの伝達関数Hpn(z)は、数3で表され、
【0027】
【数3】

【0028】
その出力ypn(n)は数4に示す減算で実現される。
【0029】
【数4】

【0030】
ここで、Nは遅延数であり、サンプリング周波数をfとすると、遅延数Nは数5で求められる。
【0031】
【数5】

ここで、記号[ ]は、最も近い整数値への丸めをとることを表す。
【0032】
以上の共振型くし形フィルタの特性を利用して、他の信号成分や雑音がある環境下で対象周期信号を抽出する。

【実施例1】
【0033】
楽音を解析し楽譜として出力する自動採譜システムの実現のための調波構造を持たない打楽器音を含む雑音環境下での楽音の音高推定に関する実施例を示す。ピアノ(PF)のオクターブ4のF音(F4)と打楽器のスネアドラム(SD)音の合成波(楽音)からF4の音高を検出する場合を示す。図5がピアノF4の時間波形(横軸:サンプル数(時間)、縦軸:振幅値)、図6がスネアドラムの時間波形(横軸:サンプル数(時間)、縦軸:振幅値)、図7がピアノ(図5)とスネアドラム(図6)の合成入力波形(横軸:サンプル数(時間)、縦軸:振幅値)で、この時間波形からピアノのF4音高を推定する。最大振幅値での振幅比は、打楽器音(SD)/楽器音(PF)=2/1になっている。図7の各音の時間波形が周期信号成分検出(音高推定)システムの入力である(横軸:サンプル数(時間)、縦軸:振幅値)。
【0034】
図8は、並列接続共振型くし形フィルタの各フィルタ(図3)の出力(累積値)の変化を示すグラフである(横軸:サンプル数(時間)、縦軸:累積値)。図8では、500サンプル毎に各フィルタの最大値を求めてプロットしている。この場合は、各フィルタの累積値の大小によってもF4音が検出できる。図9は、図8の最終累積値、すなわち図8では5000サンプルでの値で図8の累積値を規格化したグラフである(横軸:サンプル数(時間)、縦軸:規格化累積値)。F音を抽出するフィルタの累積値は、ほぼ直線的に増大していることが分かる。図10は、図9の直線性の度合いを測定するため、2点(0,0)、(5000,1)より求まる直線からの各累積値の偏差の総和を求めたグラフ(横軸:信号成分(音高)、縦軸:総和偏差値)で、F音が他に比較して偏差値が小さく一番直線性が優れている。以上から、入力音にはF音が含まれていると判断される。
【実施例2】
【0035】
二つ目の例として、図7の入力信号中のピアノ音成分の信号振幅が1/10に減少した場合の音高推定を示す。このときの最大振幅比は、打楽器音/楽音=20/1となる。
【0036】
図11が入力の時間波形のグラフであり(横軸:サンプル数(時間)、縦軸:振幅値)、図12は図3の並列接続共振型くし形フィルタ部の各フィルタの累積値の変化を示すグラフである(横軸:サンプル数(時間)、縦軸:累積値)。この場合では、F音を抽出するフィルタの累積値は、いくつかの他の信号成分(音高)のフィルタの累積値より小さい。したがって、累積値の大きさからでは、F音は検出できないことが分かる。図13は、図12の最終累積値、すなわち図12では5000サンプルでの値で図13の累積値を規格化したグラフである(横軸:サンプル数(時間)、縦軸:規格化累積値)。図14が図13の直線性の度合いを、2点(0,0)、(5000,1)より求まる直線からの各累積値の偏差の総和として測定した結果のグラフであり(横軸:信号成分(音高)、縦軸:偏差値総和)、この偏差が最小となるもの、つまり直線性が良いものとしてF音が検出される。
【実施例3】
【0037】
楽音を解析し楽譜として出力する自動採譜システムの実現のための多和音を含む環境下での楽音の音高推定に関する実施例を示す。入力は、ピアノ音の6和音(オクターブ4:C+D+E+F#+G#+A#)である。
【0038】
図15が多和音の入力時間波形のグラフであり(横軸:サンプル数(時間)、縦軸:振幅値)、図16は図3の並列接続共振型くし形フィルタ部の各フィルタの累積値の変化を示すグラフである(横軸:サンプル数(時間)、縦軸:累積値)。図17は、図16の最終累積値、すなわち図16では5000サンプルでの値で図16の累積値を規格化したグラフである(横軸:サンプル数(時間)、縦軸:規格化累積値)。図18が図17の直線性の度合いを、2点(0,0)、(5000,1)より求まる直線からの各累積値の偏差の総和のグラフを示している(横軸:信号成分(音高)、縦軸:偏差値総和)。これらの総和値は大きく二つに分類でき、総和値3をしきい値として、しきい値以下を選択することで、入力信号に含まれる6和音の音高が推定される。
【実施例4】
【0039】
四つ目の実施例として、1回の多和音の音高推定処理では、音高の有無の判断が困難な場合を示す。入力がピアノ音の12和音(オクターブ4の全音)場合である。
【0040】
図19が多和音の入力時間波形のグラフであり(横軸:サンプル数(時間)、縦軸:振幅値)、図20は図3の並列接続共振型くし形フィルタ部の各フィルタの累積値の変化を示すグラフである(横軸:サンプル数(時間)、縦軸:累積値)。図21は、図20の最終累積値、すなわち図20では5000サンプルでの値で図20の累積値を規格化したグラフである(横軸:サンプル数(時間)、縦軸:規格化累積値)。図22が図21の直線性の度合いを、2点(0,0)、(5000,1)より求まる直線からの各累積値の偏差の総和のグラフを示している(横軸:信号成分(音高)、縦軸:偏差値総和)。この場合、図22の偏差値総和において、C#音は値が3に近く、音高の有無の判断が困難である。したがって、図3の対象信号除去部(ノッチ型くし形フィルタ)でC#音を消去する処理をして、音高の有無を判断する必要がある。
【0041】
図23が図19の12和音からC#音を除いた入力の時間波形である(横軸:サンプル数(時間)、縦軸:振幅値)。図24は図3の並列接続共振型くし形フィルタ部の各フィルタの累積値の変化を示すグラフである(横軸:サンプル数(時間)、縦軸:累積値)。図25は、図24の最終累積値、すなわち図24では5000サンプルでの値で図24の累積値を規格化したグラフである(横軸:サンプル数(時間)、縦軸:規格化累積値)。図26が図25の直線性の度合いを、2点(0,0)、(5000,1)より求まる直線からの各累積値の偏差の総和のグラフを示している(横軸:信号成分(音高)、縦軸:偏差値総和)。このときのC#音の偏差値総和は、図26に示すように値が7.5と、図22の2倍以上に増加している。以上により、入力にはC#音が含まれていると判断される。なお、図26のC#の両隣のCとD音のレベルが増加しているが、これはC#を除去するノッチ型くし形フィルタ(図1中の対象信号除去部)によって、CとD音の振幅がかなり減少させられたため、相対的に直線性が劣化したからである。
【産業上の利用可能性】
【0042】
本発明により、打楽器音を含む雑音環境下での楽音や4和音以上の多和音の楽音の各音高を精度良く推定することができ、本格的な採譜システムを実現できる。これにより、音楽配信ビジネス、カラオケ産業での楽曲検索、民族音楽の記録の効率化、即興音楽の記録化、作曲作業の能率化および音楽教育への利用など、その応用範囲は多岐にわたる。音楽配信ビジネス(通信カラオケ、携帯電話やPHSの着信メロディ)では、新曲をいち早く楽譜化することが必要であり、これを人手ではなく計算機による自動採譜システムで行なうことが熱望されている。この自動採譜システムとして打楽器音を含む楽音や多和音の楽音の精度良い音高推定が可能な本格的な採譜システムが実現されれば、この業界に多大な貢献をすることが可能である。
【0043】
また、楽音のリアルタイム認識によるセッションシステム(相手の演奏の理解に基づいた演奏応答システム)のようなインタラクティブ音楽コンテンツの実現、さらには和音の組み合わせの多さを利用した個人認証システム(例えば、特許文献5を参照。)への応用などが考えられる。携帯電話の音源を利用した個人認証システムでは、採譜システムによる音高推定能力により、その秘話性に関する性能が決定され、本発明による本格的な採譜システムは、そのための有望な技術になり、これに関係する産業界、IT社会での本発明の使用が期待される。
【特許文献5】特開2001−318894号公報
【図面の簡単な説明】
【0044】
【図1】本発明に係る周期信号成分検出(音高推定)システムのブロック図である。
【図2】本発明に係る周期信号成分検出(音高推定)アルゴリズムのフロー図である。
【図3】図1の並列接続共振型くし形フィルタ部の並列接続共振型くし形フィルタの構成図である。
【図4】図3の共振型くし形フィルタH(z)=1/(1+z−Np/2)の周波数特性のグラフである。
【図5】ピアノ音F4の時間波形のグラフである。
【図6】スネアドラム(SD)音の時間波形のグラフである。
【図7】図5のピアノ音の波形と図6のスネアドラム音の波形の合成波形を示すグラフである。
【図8】図7に対する図3の並列接続共振型くし形フィルタの各フィルタ出力の累積値のグラフである。
【図9】図8の累積値が規格化されたグラフである。
【図10】図9のグラフから得られた直線性を評価するための偏差値総和のグラフである。
【図11】図5のピアノ音の波形の振幅を1/10にした場合の合成楽音(ピアノ音+スネアドラム音)の時間波形のグラフである。
【図12】図11に対する図3の並列接続共振型くし形フィルタの各フィルタ出力の累積値のグラフである。
【図13】図12の累積値が規格化されたグラフである。
【図14】図13のグラフから得られた直線性を評価するための偏差値総和のグラフである。
【図15】ピアノ音の多和音(C+D+E+F#+G#+A#)の時間波形のグラフである。
【図16】図15に対する図3の並列接続共振型くし形フィルタの各フィルタ出力の累積値のグラフである。
【図17】図16の累積値が規格化されたグラフである。
【図18】図17のグラフから得られた直線性を評価するための偏差値総和のグラフである。
【図19】ピアノ音の多和音(オクターブ4の12音)の時間波形のグラフである。
【図20】図19に対する図3の並列接続共振型くし形フィルタの各フィルタ出力の累積値のグラフである。
【図21】図20の累積値が規格化されたグラフである。
【図22】図21のグラフから得られた直線性を評価するための偏差値総和のグラフである。
【図23】図1の対象信号除去部(ノッチ型くし形フィルタ)で図19のピアノ音の入力からC#4の信号(音高)を除いた後の時間波形のグラフである。
【図24】図23に対する図3の並列接続共振型くし形フィルタの各フィルタ出力の累積値のグラフである。
【図25】図24の累積値が規格化されたグラフである。
【図26】図25のグラフから得られた直線性を評価するための偏差値総和のグラフである。
【符号の説明】
【0045】
1 H(z)=1/(1+z−Np/2)の伝達関数の共振型くし形フィルタ
2 共振型くし形フィルタを12個並列接続構成にした並列接続共振型くし形フィルタ部


【特許請求の範囲】
【請求項1】
複数の信号成分を含む周期信号を対象として、信号成分を消去する手段と、基本周期を検出する手段と、検出した基本周期を基準として特定のサンプル周期で同期して演算を実施する手段と、前記の手段の演算から累積値を求める手段と、得られる累積値の特性を抽出する手段と、前記の手段の累積値の特性から信号成分の有無を判断する手段を特徴とする周期信号成分検出方法。
【請求項2】
請求項1に記述された周期信号成分検出方法を特徴とする周期信号成分検出システム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate