(57)【特許請求の範囲】
【請求項１】
複数の楽音から構成される和音をコンピュータにより同定するための方法であって、
前記和音を構成可能な楽音別に、該楽音を表す楽音特徴情報を用いて、特定の楽音とそれ以外の楽音とを区別するための指標である超平面を計算する学習工程と、
前記超平面毎に、同定対象となる和音のパワー・スペクトラムを表す和音特徴情報を用いて該和音との距離を計算し、該計算結果を用いて該和音を構成する楽音を判定する判定工程と、
を有することを特徴とする和音同定方法。
【請求項２】
複数の楽音から構成される和音を同定する和音同定装置において、
前記和音を構成可能な楽音別に、該楽音を表す楽音特徴情報を用いて計算された、特定の楽音とそれ以外の楽音とを区別するための指標である超平面を表すパラメータである超平面情報を記憶した情報記憶手段と、
同定対象となる和音のパワー・スペクトラムを表す和音特徴情報を入力する情報入力手段と、
前記情報記憶手段に記憶されている超平面情報を用いて、前記超平面毎に、前記和音特徴情報が表す和音との距離を計算する評価手段と、
前記評価手段が前記超平面毎に計算した距離から、前記和音を構成する楽音を判定する楽音判定手段と、
を具備し、前記超平面情報は、前記楽音特徴情報を分ける各グループに対応し、該楽音特徴情報を分けるグルーピングは、同一の和音で２個以上の楽音が同じグループに属することがないようにすることを特徴とする和音同定装置。
【請求項３】
複数の楽音から構成される和音を同定するための同定用情報を学習により生成する学習装置において、
前記和音を構成可能な楽音別に、該楽音を表す楽音特徴情報を入力する情報入力手段と、
前記情報入力手段が入力した楽音特徴情報が表す楽音別に、該楽音特徴情報を用いて、特定の楽音とそれ以外の楽音とを区別するための指標である超平面を前記同定用情報として計算する超平面計算手段と、
を具備することを特徴とする学習装置。
【請求項４】
複数の楽音から構成される和音をコンピュータにより同定するための処理を該コンピュータに行わせるプログラムであって、
該コンピュータに、
前記和音を構成可能な楽音別に、該楽音を表す楽音特徴情報を用いて、特定の楽音とそれ以外の楽音とを区別するための指標である超平面を計算する学習処理と、
前記超平面毎に、同定対象となる和音のパワー・スペクトラムを表す和音特徴情報を用いて該和音との距離を計算し、該計算結果を用いて該和音を構成する楽音を判定する判定処理と、
を行なわせるプログラム。
【請求項５】
複数の楽音から構成される和音を同定する和音同定装置に使用され、
該和音同定装置に、
前記和音を構成可能な楽音別に、該楽音を表す楽音特徴情報を用いて計算された、特定の楽音とそれ以外の楽音とを区別するための指標である超平面を表すパラメータである超平面情報を記憶した情報記憶処理と、
同定対象となる和音のパワー・スペクトラムを表す和音特徴情報を入力する情報入力処理と、
前記情報記憶処理によって記憶されている超平面情報を用いて、前記超平面毎に、前記和音特徴情報が表す和音との距離を計算する評価処理と、
前記評価処理によって前記超平面毎に計算された距離から、前記和音を構成する楽音を判定する楽音判定処理と、
を行なわせ、前記超平面情報は、前記楽音特徴情報を分ける各グループに対応し、該楽音特徴情報を分けるグルーピングは、同一の和音で２個以上の楽音が同じグループに属することがないようにするプログラム。
【請求項６】
複数の楽音から構成される和音を同定するための同定用情報を学習により生成する学習装置に使用され、
該学習装置に、
前記和音を構成可能な楽音別に、該楽音を表す楽音特徴情報を入力する情報入力処理と、
前記情報入力処理によって入力された楽音特徴情報が表す楽音別に、該楽音特徴情報を用いて、特定の楽音とそれ以外の楽音とを区別するための指標である超平面を前記同定用情報として計算する超平面計算処理と、
を行なわせるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の楽音から構成される和音を同定するための技術に関する。
【背景技術】
【０００２】
図６は、従来の和音同定装置の構成を示す図である。その図６を参照して、従来の和音同定装置について具体的に説明する。その同定装置は、図６に示すように、判定対象ベクトル６００が入力されるセレクタ６０１、複数のフィルター６２１〜６２４、比較選択器６３０、レジスタ６３２、及び記憶装置６４０を備えた構成となっている。
【０００３】
判定対象ベクトル６００は、例えば和音の波形信号をサンプリングして得られた波形データである。セレクタ６０１は、その判定対象ベクトル６００と、レジスタ６３２から出力されるベクトル６３４とを入力し、そのうちの一つを各フィルター６２１〜６２４に出力する。
【０００４】
セレクタ６０１が選択するベクトルの切り換えや、ベクトル６３４の更新により、この和音同定装置はサイクル的な動作を行うようになっている。そのサイクル的な動作を通して、和音を構成する楽音（周波数）は順次、判定される。和音同定の開始時、つまり第１サイクルは、セレクタ６０１により判定対象ベクトル６００を選択させる。
【０００５】
各フィルター６２１〜６２４は、それぞれ特定の周波数Ｆ１〜Ｆ１２に対応するものである。即ち、たとえばフィルター６２１は、セレクタ６２１から入力したベクトルのうち、周波数Ｆ１、及びその高調波となる周波数（＝Ｆ１×ｋ：ただしｋは２以上の整数）に対応する信号成分のみを除去するように機能する。従ってフィルター６２１から出力される信号は、入力したベクトルから周波数Ｆ１及びその高調波となる周波数の信号成分を除去したパワー・スペクトラムとなる。フィルターとしては、図６には計４個のフィルター６２１〜６２４のみ示しているが、実際にはより多く搭載されている。
【０００６】
比較選択器６３０は、各フィルター６２１〜６２４から入力した信号（パワー・スペクトラム）のなかで最小のものを選択し、それをベクトル６３１としてレジスタ６３２に出力する。それにより、たとえば最小の信号がフィルター６２１から入力したものであった場合、ベクトル６３１としては入力ベクトル（和音同定の開始時は判定対象ベクトル６００）から周波数Ｆ１の信号成分が除去されたものが選択・出力されることになる。また、比較選択器６３０は、信号を選択したフィルター、つまり最も信号成分が大きい周波数の情報（周波数情報）を信号６３５として記憶装置６４０に出力する。それにより、記憶装置６４０はその信号６３５を保存する。以降、信号６３５は「周波数情報」と呼ぶことにする。
【０００７】
周波数情報６３５の保存により、際１サイクルの動作が終了する。次の第２サイクルでは、セレクタ６０１にベクトル６３４を選択させて、同様の処理が行われる。
【０００８】
この第２サイクルで選択されるベクトル６３４、つまりレジスタ６３２が保存しているベクトル６３１は、最大の周波数成分が除去された判定対象ベクトル６００である。このため比較選択器６３０は、最大の周波数成分に加えて、２番目に大きい周波数成分を除去した判定対象ベクトル６００をベクトル６３１としてレジスタ６３２に出力することになる。周波数情報６３５としては、２番目に信号成分の大きい周波数を示す周波数情報を出力することになる。
【０００９】
このようにして、信号成分の大きい方から順次、周波数（楽音）を判定していくことにより、和音を同定する。その判定は、比較選択器６３０が選択した信号のレベルが閾値として定めた値以下となるまで行う。そのような判定を行うことにより、和音を構成する楽音数が特定される。
【特許文献１】特開２００４−３４１０２６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
図６に示す従来の和音同定装置では、上述したように、和音を構成する楽音毎にその周波数を判定する形で和音を同定するようになっている。しかし、そのような方法では、同定の精度が低いのが実状である。その理由は、楽音には高調波が存在し、或る楽音の高調波が別の楽音の基本波と重なることがあるからである。特に和音では、それを構成する楽音が協和音程の関係になっていることが多いことから、そのような重なりが発生する場合が多い。
【００１１】
図７は、楽音を構成する周波数成分の例を説明する図である。横軸は周波数、縦軸はパワーをそれぞれ示している。７０１は基本波（基本周波数）の信号成分、７０２は二次高調波（基本周波数の２倍の周波数）の信号成分、７０３は三次高調波（基本周波数の３倍の周波数）の信号成分をそれぞれ表している。また、７１１は７０１より基本周波数が３倍高い基本波の信号成分を表している。それにより７０１の基本波が「ド」の音高であれば、７１１の基本波は「ソ」の音高に相当する。
【００１２】
図７に示すように、楽音には高調波が存在する。各高調波をそれぞれ１楽音として判定しないために、図６に示す各フィルター６２１〜６２４では高調波に相当する信号成分を併せて除去するようにしている。しかし、そのように高調波に相当する信号成分を除去する場合、図７に示す例では、基本波の信号成分７０１と共に、別の基本波の信号成分７１１も除去してしまい、別の基本波の信号成分７１１は存在しなかったことになる。その結果、判定すべき楽音を判定できなくなって、和音を同定する精度の低下をまねくことになる。図８は、従来の和音同定装置による和音の同定結果を示す図である。図中の最下部に誤判定結果を示し、その上部には櫛形フィルターによる楽音の判定結果を示している。
【００１３】
和音の同定は、それを構成する楽音を個別に判定しない形でも行うことができる。つまり学習により同定させることもできる。しかし、数個の楽音から構成される和音は音高の組み合わせ、つまり根音の音高まで考えればその数は非常に多い。このため、学習には煩雑な作業を行わなければならず、非常に長い時間が必要となっている。このことを考慮すれば、煩雑な作業を回避しつつ、和音の同定精度を向上させることが重要と考えられる。
【００１４】
本発明は、煩雑な作業を行うことなく、和音をより高精度に同定するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の和音同定方法は、複数の楽音から構成される和音をコンピュータにより同定するための方法であって、和音を構成可能な楽音別に、該楽音を表す楽音特徴情報を用いて、特定の楽音とそれ以外の楽音とを区別するための指標である超平面を計算する学習工程と、超平面毎に、同定対象となる和音のパワー・スペクトラムを表す和音特徴情報を用いて該和音との距離を計算し、該計算結果を用いて該和音を構成する楽音を判定する判定工程と、を有する。
【００１６】
ここで「和音を構成可能な楽音別」とは、同じ和音を構成する楽音が同じ超平面に２個以上、重ならないようにする、という意味である。言い換えれば、同じ和音を構成する楽音は互いに異なる超平面が対応する、という意味である。このことから、超平面に対応する楽音は複数個であっても良い。
【００１７】
本発明の和音同定装置は、複数の楽音から構成される和音を同定することを前提とし、和音を構成可能な楽音別に、該楽音を表す楽音特徴情報を用いて計算された、特定の楽音とそれ以外の楽音とを区別するための指標である超平面を表すパラメータである超平面情報を記憶した情報記憶手段と、同定対象となる和音のパワー・スペクトラムを表す和音特徴情報を入力する情報入力手段と、情報記憶手段に記憶されている超平面情報を用いて、超平面毎に、和音特徴情報が表す和音との距離を計算する評価手段と、評価手段が超平面毎に計算した距離から、和音を構成する楽音を判定する楽音判定手段と、を具備し、超平面情報は、楽音特徴情報を分ける各グループに対応し、該楽音特徴情報を分けるグルーピングは、同一の和音で２個以上の楽音が同じグループに属することがないようにする。
【００１８】
本発明の学習装置は、複数の楽音から構成される和音を同定するための同定用情報を学習により生成することを前提とし、和音を構成可能な楽音別に、該楽音を表す楽音特徴情報を入力する情報入力手段と、情報入力手段が入力した楽音特徴情報が表す楽音別に、該楽音特徴情報を用いて、特定の楽音とそれ以外の楽音とを区別するための指標である超平面を同定用情報として計算する超平面計算手段と、を具備する。
【発明の効果】
【００１９】
本発明では、和音を構成可能な楽音別に、該楽音を表す楽音特徴情報を用いて計算された超平面を和音同定に用いる。超平面毎に、同定対象となる和音を表す和音特徴情報を用いてその和音との距離を計算し、その計算結果を用いてその和音を構成する楽音を判定する。
【００２０】
楽音特徴情報を用いて計算される超平面は、特定の楽音とそれ以外の楽音とを区別するための指標となる。和音の同定では、和音を構成する楽音により、超平面との距離や向き（正負）に特有の再現性のある傾向が実験により確認された。このため、超平面を和音同定に用いることにより、その同定をより高精度に行うことができる。超平面の計算のために和音（の特徴情報）を用いる必要はないため、和音による学習を行う場合と比較して、その学習はより容易、且つ迅速に行うことができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【００２２】
図１は、本実施形態による和音同定装置の構成を示す図である。
【００２３】
その和音同定装置は、１楽音の特徴を表す学習ベクトル１００を用いて学習を行い、和音を同定するものである。図１に示すように、学習ベクトル１００を記憶するベクトル記憶装置１０１、学習ベクトル１００を分けるグループ毎に超平面を計算する超平面計算装置１０２と、グループ毎に用意された、対応する超平面を表すパラメータを記憶する記憶装置１１１〜１１４と、グループ毎に用意された、対応する超平面と判定対象ベクトル１５０との距離を評価値として計算する評価装置１２１〜１２４と、各評価装置１２１〜１２４から評価値を入力し、和音の同定を行う判定装置１３０と、を備えている。
【００２４】
上記したように本実施形態では、和音の同定に１楽音の特徴を表す学習ベクトル１００を用いる。その学習ベクトル１００は、図２に示すように、グループ別にベクトル記憶装置１０１に記憶される。そのように記憶させるために、例えば学習ベクトル１００はそれが属するグループを示すグループ情報と共にベクトル記憶装置１０１に出力される。
【００２５】
本実施形態では、和音を構成する楽音が属するグループの特定により、和音を構成する楽音を判定するようにしている。このことからグルーピングは、同一の和音で２個以上の楽音が同じグループに属することがないように行われる。言い換えれば、或る和音を構成する楽音は互いに異なるグループに属するように行われる。それにより図２中の「Ａ１」「Ｂ１」及び「Ｃ１」は互いに異なる音程（音高）の楽音（の学習ベクトル１００）を表している。グループを表す学習ベクトル１００については以降、例えば「＜Ｊ，Ａ１＞」「＜Ｊ，Ａ２＞」「＜Ｋ，Ｂ１＞」のようにグループ情報と学習ベクトル１００の種類を示す情報（楽音情報）を用いた表記法を採用する。
【００２６】
学習ベクトル１００は、判定対象ベクトル１５０と同じ多次元のベクトルである。具体的には例えば周波数別に信号成分の大きさ（パワー）を示すパワー・スペクトラムである。しかしここでは理解を容易とするために、各ベクトル１００及び１５０は２次元を想定する。２次元では、超平面は直線となる。学習ベクトル１００や判定対象ベクトル１５０の生成自体は周知の技術を用いて行われる。
【００２７】
同じグループに属する楽音数は、考えられる和音の数（種類の他に根音の音高を考慮した数）と比べて非常に少ない。例えば５個の楽音のなかから３個の楽音で構成される和音のみに着目してもその数は１０個（種類）である。このことから、学習ベクトル１００として１楽音のものを採用することにより、学習工程における手間は大幅に軽減し、必要な時間もより短くなる。
【００２８】
グループＡに対応する超平面の計算は式（１）のＤAを最大にするＰとＱを求めることによってできる。
【００２９】
【数１】
0005330720.tif 000002
【００３０】
ただし、ＡｉはグループＡに属するベクトル、ＺｉはグループＡに属さないすべてのベクトルである。またＰはＡｉと同次元のベクトル、Ｑはスカラーである。
【００３１】
他のグループでも同様に超平面が計算される。各グループに対応する超平面を表すパラメータは記憶装置１１１〜１１４のなかでそのグループに対応するものに記憶させる。記憶装置１１１〜１１４に全てパラメータを記憶させることにより、学習過程（工程）が終了する。上述したようなグルーピングにより、超平面は和音を構成可能な楽音別に計算されることになる。本実施形態による学習装置は、そのような楽音別に超平面を計算するものである。このため、例えばベクトル記憶装置１０１及び超平面計算装置１０２により実現されている。本実施形態による和音同定装置は、その学習装置を搭載したものであり、和音同定装置自体の機能は、ベクトル記憶装置１０１及び超平面計算装置１０２を除く部分により実現される。
【００３２】
図３は、学習ベクトル１００を用いて計算される超平面を説明する図である。その図３に示す超平面３００は、学習ベクトル１００がｘｙ平面で表現される２次元であった場合に計算されるものである。その場合、超平面は以下の式により表される直線となる。なお、図５中の３１１〜３１３、及び３２１〜３２３はそれぞれ、グループＪ及びＫに属する３個の学習ベクトル１００を表している。
ａｘ＋ｂｙ＋ｃ＝０    ・・・  （２）
【００３３】
式（２）のように表すことが可能な超平面では、式（２）中のａ、ｂ、及びｃがパラメータとして各記憶装置１１１〜１１４に記憶されることになる。
【００３４】
各評価装置１２１〜１２４はそれぞれ、記憶装置１１１〜１１４のなかで対応する記憶装置に保存されているパラメータを用いて、そのパラメータが表す超平面と判定対象ベクトル１５０との距離を計算し、その計算結果を評価値として出力する。その評価値は、図３に示す例では、グループＪに属する学習ベクトル３１１〜３１３では正となり、グループＫに属する学習ベクトル３２１〜３２３では負となる。それにより、評価値の正負はグループの特定に重要な意味を有している。
【００３５】
判定装置１３０は、各評価装置１１１〜１１４から評価値（ここでは計ｎ（ｎは５以上の整数）個の評価値）を入力し、その大きさ、及び正負から判定対象ベクトル１５０が表す和音を構成する楽音毎にその楽音が属するグループを判定する。和音の同定は、判定したグループ毎に、そのグループに属する楽音を判定して行う。グループに属する楽音は、信号成分が最大となる周波数、つまり根音の基本周波数から正確に特定、或いは推測することができる。
【００３６】
図４は、学習過程で計算される超平面、及びその超平面を用いた和音の同定方法を説明する図である。ここで図４を参照して、学習過程で計算される超平面を用いて行われる和音の同定方法について具体的に説明する。その図４において、直線４０１は学習ベクトル４１１〜４１３が属するグループ（ここでは図２からグループＪとする）で計算された超平面、つまりグループＪを１グループ、及びそれ以外のグループをもう一つのグループとして計算された超平面、直線４０２は学習ベクトル４２１〜４２３が属するグループ（同様に図２からグループＫとする）で計算された超平面、つまりグループＫを１グループ、及びそれ以外のグループをもう一つのグループとして計算された超平面、直線４０３は学習ベクトル４３１〜４３３が属するグループ（同様に図２からグループＬとする）で計算された超平面、つまりグループＬを１グループ、及びそれ以外のグループをもう一つのグループとして計算された超平面を示している。
【００３７】
それら３グループの超平面を示していることから、図４では楽音はＡ、Ｂ及びＣの３個のみとし、そのうちの２個の楽音から構成される和音を同定する場合を想定している。その場合、和音はＡ＋Ｂ、Ｂ＋Ｃ、及びＣ＋Ａの３種類となる。図４中の６００は、和音Ａ＋Ｂの判定対象ベクトル１５０として入力されたベクトルを表している。ｅ１〜ｅ３はそれぞれ、直線６０１〜６０３と判定対象ベクトル６００との間の距離を示している。距離ｅ１は負で絶対値が小さな距離、距離ｅ２は正で絶対値が小さな距離、距離ｅ３は負で絶対値が大きな距離となっている。絶対値での大小関係は、ｅ３＞ｅ２＞ｅ１である。
【００３８】
評価装置とグループの対応関係は１対１となっている。このことから、和音を構成する楽音の属するグループの判定は、入力した距離のなかから、絶対値が大きいほうから和音の構成音数分の距離を抽出することで行われる。それにより図４に示す例では、距離ｅ３及びｅ２が抽出される。各距離ｅ３及びｅ２はそれぞれ直線６０３及び６０２に対応していることから、判定対象ベクトル６００が表す和音を構成する２個の楽音はそれぞれグループＬ及びＫに属していると判定されることになる。
【００３９】
図５は、本実施形態による和音同定装置の和音の同定結果を示す図である。図８と同様に、図中の最下部に誤判定結果を示し、その上部には櫛形フィルターによる楽音の判定結果を示している。その図８と比較して、和音の同定はより高精度に行われていることが分かる。このことは、他の実験からも確認できている。
【００４０】
なお、本実施形態では、和音同定装置に学習装置を搭載しているが、和音同定装置、及び学習装置はそれぞれ別の装置に搭載、或いは別の装置として実現させても良い。また、それらの装置は何れも、上述したような機能を実現させるプログラムをコンピュータに実行させることで実現可能である。このことから、そのようなプログラムは可搬性のフラッシュメモリ等に記録して配布しても良く、通信ネットワークを介して受信可能としても良い。
【図面の簡単な説明】
【００４１】
【図１】本実施形態による和音同定装置の構成を示す図である。
【図２】ベクトル記憶装置に記憶される学習ベクトルを説明する図である。
【図３】学習ベクトル１００を用いて計算される超平面を説明する図である。
【図４】学習過程で計算される超平面、及びその超平面を用いた和音の同定方法を説明する図である。
【図５】本実施形態による和音同定装置の和音の同定結果を示す図である。
【図６】従来の和音同定装置の構成を示す図である。
【図７】楽音を構成する周波数成分の例を説明する図である。
【図８】従来の和音同定装置による和音の同定結果を示す図である。
【符号の説明】
【００４２】
１００、３１１〜３１３、３２１〜３２２、４１１〜４１３、４２１〜４２３、４３１〜４３３    学習ベクトル
１０１    ベクトル記憶装置
１０２    超平面計算装置
１１１〜１１４    記憶装置
１２１〜１２４    評価装置
１３０    判定装置
１５０    判定対象ベクトル
【図４】
0005330720.tif 000003
【図５】
0005330720.tif 000004
【図８】
0005330720.tif 000005
【図１】
0005330720.tif 000006
【図２】
0005330720.tif 000007
【図３】
0005330720.tif 000008
【図６】
0005330720.tif 000009
【図７】
0005330720.tif 000010