(57)【要約】【課題】データから所望する特徴をより確実に抽出する。【解決手段】次世代生成部１２３は、データから所定の特徴を抽出するときに、特徴抽出の対象となるデータに施される前処理に用いる前処理用フィルタの候補をいくつか生成する。遺伝子評価部１２２は、前処理用フィルタの候補の評価を行い、次世代生成部１２３は、最も評価の高い候補の評価値が所定の条件を満たすまで、最後に評価の対象となった候補のいくつかを用いて新たな候補を生成する。遺伝子評価部１２２は、最も評価の高い候補の評価値が所定の条件を満たした場合、その候補を前処理用フィルタとして出力する。本発明は、情報処理装置に適用することができる。【選択図】図１０
2008181294.tif 000002
【特許請求の範囲】
【請求項１】
データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタを生成するフィルタ生成手段と、
前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施す前処理手段と、
前記前処理が施された前記教師データから、前記特徴を抽出する抽出手段と、
前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する評価手段と
を備える情報処理装置。
【請求項２】
前記フィルタ生成手段は、複数の前記候補フィルタの前記評価値のそれぞれに基づいて、前記候補フィルタのうちのいくつかを用いて、複数の新たな候補フィルタをさらに生成し、
前記評価手段は、前記新たな候補フィルタの評価値のそれぞれを計算する
請求項１に記載の情報処理装置。
【請求項３】
前記評価手段は、最後に計算された前記評価値のうちの評価の最も高い評価値が所定の条件を満たす場合、前記最も高い評価値の候補フィルタを、前記前処理に用いる前処理用フィルタとして出力する
請求項２に記載の情報処理装置。
【請求項４】
前記フィルタ生成手段は、最後に計算された前記評価値のうちの評価の最も高い評価値が前記条件を満たさない場合、最後に計算された前記評価値に基づいて、最後に生成された前記候補フィルタのうちのいくつかを用いて、複数の新たな候補フィルタをさらに生成する
請求項３に記載の情報処理装置。
【請求項５】
前記前処理用フィルタは、前記データの形式を保ったまま処理を施すフィルタとされる
請求項１に記載の情報処理装置。
【請求項６】
前記候補フィルタが用いられて前記前処理が施された教師データと、予め求められている前記教師データから抽出されるべき特徴とを基に、前記候補フィルタが用いられて前記前処理が施された前記データから前記特徴を抽出するための判別機を機械学習により作成する判別機作成手段をさらに備える
請求項１に記載の情報処理装置。
【請求項７】
データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタを生成し、
前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施し、
前記前処理が施された前記教師データから、抽出手段により前記特徴を抽出し、
前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する
ステップを含む情報処理方法。
【請求項８】
データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタを生成し、
前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施し、
前記前処理が施された前記教師データから、抽出手段により前記特徴を抽出し、
前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、データから所望する特徴をより確実に抽出することができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、入力されたデータから、所定の特徴を抽出する信号処理装置が知られている（例えば、特許文献１参照）。このような信号処理装置がデータから特徴を抽出するためのアルゴリズムは、専用の装置または人間によって構築されている。
【０００３】
特に、特徴を抽出するアルゴリズムが人間によって構築される場合、人間は、先見知識、つまりこれまでに得た経験を生かすことができるため、教師データを用いて抽出の精度を向上させる最適化が可能なアルゴリズムを構築したり、精度は低くても効率的に特徴を抽出することのできるアルゴリズムを構築したりすることができる。ここで、教師データとは、信号処理装置に入力される特徴抽出の対象となるデータや、そのデータから抽出される特徴など、アルゴリズムを構築するために必要なデータをいう。
【０００４】
例えば、教師データを用いて精度を向上させる方法として、ＧＡ（Genetic Algorithm）を利用することによって、特徴を抽出するためのアルゴリズムにおいて用いられるパラメータの最適化を行う方法が知られている。
【０００５】
【特許文献１】米国特許出願公開第２００４／０１８１４０１ Ａ１号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した技術においては、データから所望する特徴を確実に抽出することは容易ではなかった。例えば、人間により特徴抽出のアルゴリズムが構築される場合、そのアルゴリズムによる特徴抽出の精度は、アルゴリズムを構築する人のセンスに大きく依存し、精度を向上させるための作業は試行錯誤の繰り返しであるため、アルゴリズムの構築には多くの労力が必要であった。
【０００７】
また、ＧＡにより特徴抽出のアルゴリズムにおいて用いられるパラメータの最適化を行うこともできるが、パラメータの最適化にも限界があるため、充分に精度を向上させることはできなかった。
【０００８】
さらに、専用の装置によりアルゴリズムが構築される場合、装置が人間の先見知識を利用することができないなどの理由により、特徴抽出に複雑な処理が必要なときには、アルゴリズムの構築に膨大な量の教師データが必要であったり、多くの教師データを用いても装置がアルゴリズムを構築できなかったりすることがあった。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、データから所望する特徴をより確実に抽出することができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の一側面の情報処理装置は、データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタを生成するフィルタ生成手段と、前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施す前処理手段と、前記前処理が施された前記教師データから、前記特徴を抽出する抽出手段と、前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する評価手段とを備える。
【００１１】
前記フィルタ生成手段には、複数の前記候補フィルタの前記評価値のそれぞれに基づいて、前記候補フィルタのうちのいくつかを用いて、複数の新たな候補フィルタをさらに生成させ、前記評価手段には、前記新たな候補フィルタの評価値のそれぞれを計算させることができる。
【００１２】
前記評価手段には、最後に計算された前記評価値のうちの評価の最も高い評価値が所定の条件を満たす場合、前記最も高い評価値の候補フィルタを、前記前処理に用いる前処理用フィルタとして出力させることができる。
【００１３】
前記フィルタ生成手段には、最後に計算された前記評価値のうちの評価の最も高い評価値が前記条件を満たさない場合、最後に計算された前記評価値に基づいて、最後に生成された前記候補フィルタのうちのいくつかを用いて、複数の新たな候補フィルタをさらに生成させることができる。
【００１４】
前記前処理用フィルタは、前記データの形式を保ったまま処理を施すフィルタとすることができる。
【００１５】
情報処理装置には、前記候補フィルタが用いられて前記前処理が施された教師データと、予め求められている前記教師データから抽出されるべき特徴とを基に、前記候補フィルタが用いられて前記前処理が施された前記データから前記特徴を抽出するための判別機を機械学習により作成する判別機作成手段をさらに設けることができる。
【００１６】
本発明の一側面の情報処理方法またはプログラムは、データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタを生成し、前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施し、前記前処理が施された前記教師データから、抽出手段により前記特徴を抽出し、前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算するステップを含む。
【００１７】
本発明の一側面においては、データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタが生成され、前記候補フィルタが用いられて、前記候補フィルタの評価に用いられる教師データに、前記前処理が施され、前記前処理が施された前記教師データから、抽出手段により前記特徴が抽出され、前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値が、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算される。
【発明の効果】
【００１８】
本発明の一側面によれば、特徴を抽出するための前処理に用いる前処理用フィルタを生成することができる。特に、本発明の一側面によれば、データから所望する特徴をより確実に抽出することができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２０】
本発明の一側面の情報処理装置は、データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタを生成するフィルタ生成手段（例えば、図１０の初期世代生成部１２１および次世代生成部１２３）と、前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施す前処理手段（例えば、図１０の前処理部１４３）と、前記前処理が施された前記教師データから、前記特徴を抽出する抽出手段（例えば、図１０のコード判別部１４６）と、前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する評価手段（例えば、図１０の評価部１４７）とを備える。
【００２１】
前記フィルタ生成手段には、複数の前記候補フィルタの前記評価値のそれぞれに基づいて、前記候補フィルタのうちのいくつかを用いて、複数の新たな候補フィルタをさらに生成させ（例えば、図１３のステップＳ４４の処理乃至ステップＳ４７の処理）、前記評価手段には、前記新たな候補フィルタの評価値のそれぞれを計算させる（例えば、図１４のステップＳ９７の処理）ことができる。
【００２２】
前記評価手段には、最後に計算された前記評価値のうちの評価の最も高い評価値が所定の条件を満たす場合、前記最も高い評価値の候補フィルタを、前記前処理に用いる前処理用フィルタとして出力させる（例えば、図１３のステップＳ４８の処理）ことができる。
【００２３】
前記フィルタ生成手段には、最後に計算された前記評価値のうちの評価の最も高い評価値が前記条件を満たさない場合、最後に計算された前記評価値に基づいて、最後に生成された前記候補フィルタのうちのいくつかを用いて、複数の新たな候補フィルタをさらに生成させる（例えば、図１３のステップＳ４４の処理乃至ステップＳ４７の処理）ことができる。
【００２４】
情報処理装置には、前記候補フィルタが用いられて前記前処理が施された教師データと、予め求められている前記教師データから抽出されるべき特徴とを基に、前記候補フィルタが用いられて前記前処理が施された前記データから前記特徴を抽出するための判別機を機械学習により作成する判別機作成手段（例えば、図１０のコード判別機学習部１４５）をさらに設けることができる。
【００２５】
本発明の一側面の情報処理方法またはプログラムは、データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタを生成し（例えば、図１３のステップＳ４１）、前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施し（例えば、図１４のステップＳ８２）、前記前処理が施された前記教師データから、抽出手段により前記特徴を抽出し（例えば、図１４のステップＳ９０およびステップＳ９１）、前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する（例えば、図１４のステップＳ９７）ステップを含む。
【００２６】
以下、図面を参照して、本発明を適用した実施の形態について説明する。
【００２７】
本発明を適用した一実施の形態の特徴抽出システムにおいては、図１に示すように、構築されたアルゴリズムにしたがって、入力されたデータから所定の特徴が抽出されて出力される。この特徴抽出システムは、例えば図２に示すように構成される。
【００２８】
図２に示す特徴抽出システムは、フィルタ生成装置１１および信号処理装置１２から構成され、信号処理装置１２には、前処理部２１および特徴抽出処理部２２が設けられている。
【００２９】
フィルタ生成装置１１は、例えば、積分処理を施すフィルタや、ハイパスフィルタ等の所定の処理を施すフィルタ（以下、適宜、単位フィルタとも称する）の組み合わせからなる前処理用フィルタを生成し、信号処理装置１２の前処理部２１に供給する。ここで、前処理用フィルタは、入力されたデータの形式を保ったまま処理を施すフィルタとされる。したがって、所定のデータに前処理用フィルタを用いたフィルタ処理である前処理が施されると、前処理を施す前と同じ形式のデータが得られる。
【００３０】
また、フィルタ生成装置１１は、データから所望する特徴を抽出するための処理に用いられるデータである判別機を生成し、信号処理装置１２の特徴抽出処理部２２に供給する。
【００３１】
前処理部２１は、フィルタ生成装置１１から供給された前処理用フィルタを用いて、入力されたデータに前処理を施して特徴抽出処理部２２に供給する。特徴抽出処理部２２は、フィルタ生成装置１１から供給された判別機を用いて、前処理部２１から供給されたデータから所定の特徴を抽出して出力する。
【００３２】
このように、入力されたデータに前処理を施すことにより、入力されたデータのうちの、特徴抽出に有用な成分をより強調したり、不要な成分、例えば特徴抽出に悪影響を及ぼす成分だけを除去したりすることができるため、入力されたデータから、より確実に所望する特徴を抽出することができる。
【００３３】
より具体的には、例えば、特徴抽出システムにおいて、音楽の楽曲などの波形を時間と音程毎のエネルギの２軸に解析することによって得られるデータ、すなわち楽曲などを再生させるための音声データに、波形を時間と音程毎のエネルギに解析する処理が施されて得られる時間‐音程データを、入力されるデータとし、抽出される特徴を音楽のコード、つまり和音とすることができる。なお、以下、波形を時間と音程毎のエネルギに解析する処理を１２音解析処理と称する。
【００３４】
特徴抽出システムにおいて、入力されるデータを時間‐音程データとし、抽出される特徴を音楽のコードとする場合、特徴抽出システムは、図３に示すように構成される。
【００３５】
図３に示す特徴抽出システムは、フィルタ生成装置５１および信号処理装置５２から構成され、信号処理装置５２は、前処理部６１およびコード抽出部６２を備えている。ここで、図３のフィルタ生成装置５１は、図２のフィルタ生成装置１１に対応し、図３の信号処理装置５２は、図２の信号処理装置１２に対応している。また、図３の前処理部６１およびコード抽出部６２は、図２の前処理部２１および特徴抽出処理部２２に対応している。
【００３６】
フィルタ処理装置５１は、単位フィルタを組み合わせて前処理用フィルタを生成し、信号処理装置５２の前処理部６１に供給する。また、フィルタ生成装置５１は、前処理が施された時間‐音程データから、コードを抽出するために用いられるコード判別機を生成し、生成したコード判別機を信号処理装置５２のコード抽出部６２に供給する。
【００３７】
信号処理装置５２の前処理部６１は、フィルタ処理装置５１から供給された前処理用フィルタを用いて、入力された時間‐音程データに対して前処理を施し、コード抽出部６２に供給する。コード抽出部６２は、フィルタ処理装置５１から供給されたコード判別機を用いて、前処理部６１から供給された時間‐音程データから楽曲のコードを抽出して出力する。
【００３８】
このように、特徴抽出システムにおいては、時間‐音程データの入力に対し、出力される特徴として楽曲のコード進行を得ることができる。
【００３９】
図４は、図３のコード抽出部６２のより詳細な構成例を示すブロック図である。
【００４０】
コード抽出部６２は、ビート検出部９１、ビート毎特徴量抽出部９２、およびコード判別部９３から構成される。
【００４１】
ビート検出部９１は、前処理部６１から供給された時間‐音程データからビートを検出する。ここで、ビートとは、打点または拍のことであり、楽曲において基本の単位として聞こえる基準をいう。ビートは、一般に複数の意味で使われるが、以下、楽曲における基本的な時間の単位の始まりである時刻の意味で用いる。楽曲における基本的な時間の単位の始まりである時刻を、拍の位置と称し、楽曲における基本的な時間の単位の範囲を、拍の範囲と称する。なお、拍の長さは、いわゆるテンポである。
【００４２】
すなわち、ビート検出部９１は、楽曲の音声データから得られた時間‐音程データから、時間‐音程データにおける拍の位置を検出する。そして、ビート検出部９１は、時間‐音程データにおける拍のそれぞれの位置を示すビート情報と、入力された時間‐音程データとをビート毎特徴量抽出部９２に供給する。
【００４３】
なお、時間‐音程データにおける拍の位置から次の拍の位置までが、拍の範囲なので、時間‐音程データにおける拍の位置がわかれば、拍の範囲がわかる。
【００４４】
ビート毎特徴量抽出部９２は、ビート検出部９１から供給された時間‐音程データから、所定の範囲の音声の特徴量、例えばビート毎の音声の特徴量（以下、ビート毎のコード判別用特徴量と称する）を抽出する。すなわち、ビート毎特徴量抽出部９２は、ビート情報を基に、時間‐音程データの拍のそれぞれの範囲における、１２平均率の音程のそれぞれの高さの音のそれぞれの特徴を示す特徴量を抽出する。ビート毎特徴量抽出部９２は、抽出したビート毎のコード判別用特徴量を、コード判別部９３に供給する。
【００４５】
コード判別部９３は、フィルタ生成装置５１から供給されたコード判別機を用いて、ビート毎特徴量抽出部９２から供給されたビート毎のコード判別用特徴量から、ビート毎のコードを判別して出力する。すなわち、コード判別部９３は、ビート毎のコード判別用特徴量から拍の範囲の和音を判別する。なお、後述するように、コード判別機は、特徴量による学習によって予め作成され、前処理用フィルタが変更されるたびにフィルタ生成装置５１からコード判別部９３に新たなコード判別機が供給される。
【００４６】
このように、信号処理装置５２は、楽曲の時間‐音程データから、その楽曲のビート毎のコードを判別する。例えば、図５に示されるように、信号処理装置５２は、楽曲の時間‐音程データから、Ｃであるコード、Ｅマイナーであるコード、Ａマイナーであるコード、Ｃであるコード、Ｆであるコード、Ｅマイナーであるコード、Ｄマイナーであるコード、およびＧであるコードなどをビート毎に判別する。そして、例えば信号処理装置５２は、ビート毎のコードのコード名を出力する。
【００４７】
次に、図６のフローチャートを参照して、信号処理装置５２が、入力された時間‐音程データからビート毎のコードを抽出して出力する処理であるコード判別処理について説明する。このコード判別処理は、信号処理装置５２に時間‐音程データが入力されると開始される。
【００４８】
ステップＳ１１において、前処理部６１は、フィルタ生成装置５１から供給された前処理用フィルタを用いて、入力された時間‐音程データに前処理を施し、前処理が施された時間‐音程データをビート検出部９１に供給する。
【００４９】
ここで、前処理部６１に入力される時間‐音程データは、例えば図７に示すように、各時刻における各音のエネルギを示すデータとされる。なお、図７において、縦方向は音程を示し、横方向は時間を示している。また、濃度はエネルギの強さを示している。
【００５０】
図７では、複数のオクターブの成分、つまりオクターブ１乃至オクターブ７のそれぞれにおける１２平均率のそれぞれの高さの１２の音のエネルギが時間‐音程データとして示されている。
【００５１】
前処理部６１は、図７に示した時間‐音程データに対して、例えば図８Ａまたは図８Ｂに示す前処理用フィルタを用いた前処理を施す。
【００５２】
図８Ａに示す前処理用フィルタにおいて、Ａ１１の部分、すなわち文字“Sqr”は、時間‐音程データの各時刻における各音のエネルギを２乗することを表しており、Ａ１２の部分、すなわち文字“Time＃LPF，0.5”は、Ａ１１の部分により２乗された時間‐音程データの時間方向に、つまり時間‐音程データの所定のオクターブにおける所定の音の各時刻のエネルギに対して、係数が0.5であるローパスフィルタを用いたフィルタ処理を施すことを表している。また、Ａ１３部分、すなわち文字“Freq＃HPF，0.3”は、Ａ１２の部分によりフィルタ処理が施された時間‐音程データの周波数方向に、つまり時間‐音程データの所定の時刻の各音のエネルギに対して、係数が0.3であるハイパスフィルタを用いたフィルタ処理を施すことを表している。
【００５３】
これらのＡ１１乃至Ａ１３の部分は、前処理用フィルタを構成する各単位フィルタを示しており、時間‐音程データに対して、Ａ１１の部分により示される単位フィルタによるフィルタ処理乃至Ａ１３の部分により示される単位フィルタによるフィルタ処理が順番に施される。
【００５４】
したがって、図８Ａに示す前処理用フィルタを用いた前処理として、時間‐音程データに対し、各エネルギを示す値を２乗する演算処理、ローパスフィルタを用いたフィルタ処理、およびハイパスフィルタを用いたフィルタ処理が順番に施される。
【００５５】
また、図８Ｂに示す前処理用フィルタにおいて、Ａ２１の部分、すなわち文字“Time＃Differential”は、時間‐音程データの時間方向に、つまり時間‐音程データの所定のオクターブにおける所定の音の各時刻のエネルギに対して、微分処理を施すことを表しており、Ａ２２の部分、すなわち文字“Abs”は、時間‐音程データの各時刻における各音のエネルギの絶対値を求めることを表している。さらに、Ａ２３の部分、すなわち文字“Freq＃Order”は、時間‐音程データの周波数方向に、つまり時間‐音程データの所定の時刻の各音のエネルギを、その値が小さいものから順序付けを行うことを表しており、Ａ２４の部分、すなわち文字“Time＃LPF，0.4”は、時間‐音程データの時間方向に、つまり時間‐音程データの所定のオクターブにおける所定の音の各時刻のエネルギに対して、係数が0.4であるローパスフィルタを用いたフィルタ処理を施すことを表している。
【００５６】
これらのＡ２１乃至Ａ２４の部分は、前処理用フィルタを構成する各単位フィルタを示しており、時間‐音程データに対して、Ａ２１の部分により示される単位フィルタによるフィルタ処理乃至Ａ２４の部分により示される単位フィルタによるフィルタ処理が順番に施される。
【００５７】
したがって、図８Ｂに示す前処理用フィルタを用いた前処理として、時間‐音程データに対し、時間方向に対する微分処理、絶対値を求める演算処理、順序付けを行う処理、およびローパスフィルタを用いたフィルタ処理が順番に施される。
【００５８】
また、その他、前処理用フィルタを構成する単位フィルタとして、絶対値での正規化を行うためのフィルタ、時間方向または周波数方向に対して正規化を行うためのフィルタ、時間方向または周波数方向に対して、平均値が所定の値となるように正規化を行うためのフィルタ、時間方向または周波数方向に対して、平均値および分散が所定の値となるように正規化を行うためのフィルタなどを用いることができる。
【００５９】
さらに、前処理用フィルタを構成する単位フィルタとして、対数関数、指数関数などを用いた演算処理を施すフィルタ、べき乗を求める演算処理を施すフィルタ、加算、減算、乗算、除算、微分、積分などの演算処理を施すフィルタ、絶対値、２乗、平方根などを求める演算処理を施すフィルタ、バンドパスフィルタ、直流成分を除去するフィルタ、順序付けやピーク値の検出を行うための処理を施すフィルタ等を用いることができる。
【００６０】
なお、前処理用フィルタを用いた前処理においては、その処理前と処理後とで、処理されるデータ、すなわち時間‐音程データの形式が保たれたままとされる。つまり、前処理が施された時間‐音程データも、処理前の時間‐音程データと同様に、各時刻における各音のエネルギを示すデータとされる。
【００６１】
図６のフローチャートの説明に戻り、時間‐音程データに前処理が施されると、ステップＳ１２において、ビート検出部９１は、前処理部６１から供給された時間‐音程データからビートを検出する。すなわち、ビート検出部９１は、時間‐音程データから、時間‐音程データにおける拍の位置を検出して、時間‐音程データにおける拍のそれぞれの位置を示すビート情報と時間‐音程データとをビート毎特徴量抽出部９２に供給する。
【００６２】
例えば、ビート検出部９１は、時間‐音程データにより示される各オクターブにおける１２平均率のそれぞれの高さの１２の音のエネルギの変化として、エネルギの時間方向の差分を求め、各時刻における音のエネルギの変化を、複数のオクターブのそれぞれの１２の音について積算し、その結果をアタック情報とする。ここで、アタック情報とは、人間にビートを感じさせる音量の変化を時間に沿ってデータ化したものをいう。
【００６３】
そして、ビート検出部９１は、コードの検出の対象となっている楽曲において、最も基本となっている音の長さを検出する。すなわち、例えばビート検出部９１は、時系列の情報であるアタック情報を通常の波形と見立てて、アタック情報にショートタイムフーリエ変換などの処理を施し、アタック情報から基本ピッチ（音程）抽出を行うことで最も基本となる音の長さを求める。例えば、楽曲において最も基本となっている音は、４分音符、８分音符、または１６分音符で表される音である。なお、以下、楽曲において、最も基本となる音の長さを基本ビート周期と称する。
【００６４】
さらに、ビート検出部９１は、時間‐音程データにより示される各オクターブにおけるそれぞれの１２の音のデータに所定の信号処理を適用することにより、音程方向のエネルギの分散や単位時間当たりのピークの数などの楽曲特徴量を抽出し、楽曲特徴量とテンポとによる学習によって予め求められたデータに基づいて、抽出した楽曲特徴量からテンポを推定する。そして、ビート検出部９１は、推定されたテンポと基本ビート周期とを用いて最終的なテンポを決定し、決定されたテンポ、すなわち拍の位置を示すビート情報と時間‐音程データとをビート毎特徴量抽出部９２に供給する。
【００６５】
ステップＳ１３において、ビート毎特徴量抽出部９２は、ビート検出部９１から供給された拍の位置を示すビート情報を基に、時間‐音程データの拍の範囲のそれぞれからコード判別用特徴量を抽出し、コード判別部９３に供給する。
【００６６】
例えば、ビート毎特徴量抽出部９２は、時間‐音程データから、ビート情報で示される拍の位置を基に、所定の拍の位置から次の拍の位置までの拍の範囲のデータのみを切り出して、切り出された拍の範囲のデータで示されるエネルギを、時間で平均する。これにより、それぞれのオクターブにおける１２平均率のそれぞれの高さの１２の音毎のエネルギが求められる。
【００６７】
さらに、ビート毎特徴量抽出部９２は、例えば、７オクターブの、それぞれのオクターブにおける１２平均率のそれぞれの高さの１２の音毎のエネルギに重み付けし、７オクターブのそれぞれのオクターブの同じ音名の音のエネルギを加算して、音名で特定される１２の音のそれぞれのエネルギを求める。ビート毎特徴量抽出部９２は、１２の音のそれぞれのエネルギを音名の音階の順に配置して、音階の順の音のエネルギを示すコード判別用特徴量を生成する。すなわち、例えば、ビート毎特徴量抽出部９２は、重み付けされたエネルギのうち、各オクターブのＣである音名の音のエネルギを加算して、Ｃである音名の音のエネルギを求める。
【００６８】
なお、ビート毎特徴量抽出部９２は、時間‐音程データの拍の範囲からのビート毎のコード判別用特徴量として、ルートを判別するために用いられる特徴量（以下、ルート判別用特徴量と称する）とメジャーの和音であるかマイナーの和音であるかを判別するために用いられる特徴量（以下、メジャーマイナー判別用特徴量と称する）とを生成する。また、ルート判別用特徴量を生成する場合に用いられる、音のエネルギに重み付けするための重みと、メジャーマイナー判別用特徴量を生成する場合に用いられる、音のエネルギに重み付けするための重みとは、異なっている。
【００６９】
ビート毎にコード判別用特徴量が抽出されると、ステップＳ１４において、コード判別部９３は、フィルタ生成装置５１から供給されたコード判別機により、ビート毎特徴量抽出部９２から供給されたコード判別用特徴量からビート毎のコードを判別する。
【００７０】
例えば、コード判別部９３は、図９に示すように、コード判別機を用いて、コード判別用特徴量としてのルート判別用特徴量およびメジャーマイナー判別用特徴量から、Ｃのメジャーコード、Ｃのマイナーコード、Ｃ＃のメジャーコード、Ｃ＃のマイナーコード、Ｄのメジャーコード、Ｄのマイナーコード、Ｄ＃のメジャーコード、Ｄ＃のマイナーコード、Ｅのメジャーコード、Ｅのマイナーコード、Ｆのメジャーコード、Ｆのマイナーコード、Ｆ＃のメジャーコード、Ｆ＃のマイナーコード、Ｇのメジャーコード、Ｇのマイナーコード、Ｇ＃のメジャーコード、Ｇ＃のマイナーコード、Ａのメジャーコード、Ａのマイナーコード、Ａ＃のメジャーコード、Ａ＃のマイナーコード、Ｂのメジャーコード、およびＢのマイナーコードのうちの、拍の範囲の正しい和音を示すコードを、ビート（拍の範囲）毎に判別する。
【００７１】
ステップＳ１５において、コード判別部９３は、判別により得られたコードをビート毎のコードとして出力し、コード判別処理は終了する。なお、より詳細には、コード判別部９３は、ビート毎のコードとして、そのコードのコード名を出力する。
【００７２】
このようにして、信号処理装置５２は、入力された時間‐音程データに前処理を施し、前処理が施された時間‐音程データから、ビート毎のコードを抽出して出力する。
【００７３】
このように、入力された時間‐音程データに前処理を施すことによって、時間‐音程データのうちの特徴の抽出に有用な成分をより強調し、特徴の抽出の妨げとなる成分を除去することができる。これにより、前処理の施された時間‐音程データから、より確実に所望する特徴を抽出することができる。
【００７４】
次に、前処理用フィルタおよびコード判別機の作成について説明する。図３に示した特徴抽出システムにおいては、時間‐音程データから特徴としての楽曲のコードを抽出するアルゴリズムは人間により構築されるが、そのアルゴリズムの一部、例えば前処理などはフィルタ生成装置５１によって、ＧＰ（Genetic Programming）などにより構築される。
【００７５】
例えば、前処理に用いられる前処理用フィルタは、ＧＰによって、単位フィルタの組み合わせを遺伝的に進化させることにより生成され、その前処理用フィルタに対応するコード判別機は、機械学習により生成される。
【００７６】
図１０は、前処理用フィルタおよびコード判別機を作成するフィルタ生成装置５１の構成例を示すブロック図である。
【００７７】
フィルタ生成装置５１は、初期世代生成部１２１、遺伝子評価部１２２、および次世代生成部１２３から構成される。
【００７８】
初期世代生成部１２１は、信号処理装置５２の前処理部６１に供給される前処理用フィルタの候補であるいくつかの前処理用フィルタを生成する。なお、以下の説明において、前処理部６１に供給される前処理用フィルタの候補である１つの前処理用フィルタを遺伝子と称し、特に、初期世代生成部１２１により生成された遺伝子を、初期世代の遺伝子と称する。初期世代生成部１２１は、単位フィルタを組み合わせて、いくつかの初期世代の遺伝子を生成し、遺伝子評価部１２２に供給する。
【００７９】
遺伝子評価部１２２は、初期世代生成部１２１から供給された遺伝子を評価し、その評価の結果を次世代生成部１２３に供給する。また、遺伝子評価部１２２は、次世代生成部１２３から供給された次世代の遺伝子、つまり最後に評価が行われた世代の遺伝子の次の世代の遺伝子を評価し、その評価の結果を次世代生成部１２３に供給する。そして、遺伝子評価部１２２は、繰り返し何世代かの遺伝子の評価を行って最終的な前処理用フィルタを選択し、選択した前処理用フィルタと、その前処理用フィルタに対応するコード判別機とを信号処理装置５２に供給する。
【００８０】
ここで、次世代の遺伝子とは、遺伝子評価部１２２において評価の対象とされている遺伝子を基準として、それらの基準となる遺伝子が用いられて生成された遺伝子をいう。したがって、例えば、初期世代に対する次世代の遺伝子、つまり初期世代の次の世代の遺伝子は、初期世代の遺伝子が用いられて生成された、初期世代の遺伝子の次に評価の対象となる遺伝子とされる。
【００８１】
遺伝子評価部１２２は、教師データ保持部１４１、解析部１４２、前処理部１４３、教師データ分割部１４４、コード判別機学習部１４５、コード判別部１４６、および評価部１４７から構成される。
【００８２】
教師データ保持部１４１は、コード判別機の作成および遺伝子の評価に用いられる楽曲の音声データを教師データとして保持している。教師データ保持部１４１は、保持している教師データを、解析部１４２および教師データ分割部１４４に供給する。
【００８３】
解析部１４２は、教師データ保持部１４１から供給された教師データに１２音解析処理を施し、その結果得られた時間‐音程データを前処理部１４３に供給する。前処理部１４３は、初期世代生成部１２１または次世代生成部１２３から供給された各遺伝子について、遺伝子である前処理用フィルタを用いて、解析部１４２から供給された時間‐音程データのそれぞれに前処理を施して、コード判別機学習部１４５およびコード判別部１４６に供給する。したがって、例えば前処理部１４３に、遺伝子Ｇ１１および遺伝子Ｇ１２が供給された場合、前処理部１４３は、解析部１４２から供給された全ての時間‐音程データのそれぞれに、遺伝子Ｇ１１を用いて前処理を施して、コード判別機学習部１４５およびコード判別部１４６に供給するとともに、解析部１４２から供給された全ての時間‐音程データのそれぞれに、遺伝子Ｇ１２を用いて前処理を施して、コード判別機学習部１４５およびコード判別部１４６に供給する。
【００８４】
教師データ分割部１４４は、教師データ保持部１４１から供給された教師データを、コード判別機の学習に用いられる教師データである学習用データと、遺伝子の評価に用いられる教師データである評価用データとに無作為に分割する。そして、教師データ分割部１４４は、学習用データとされた教師データをコード判別機学習部１４５に供給し、評価用データとされた教師データを、評価部１４７に供給する。
【００８５】
コード判別機学習部１４５は、前処理部１４３から供給された時間‐音程データと、教師データ分割部１４４から供給された学習用データとから機械学習により、遺伝子ごとに、その遺伝子に対応するコード判別機を作成し、コード判別部１４６および評価部１４７に供給する。
【００８６】
コード判別部１４６は、コード判別機学習部１４５から供給されたコード判別機を用いて、前処理部１４３から供給された時間‐音程データからビート毎のコードを判別し、その判別結果を評価部１４７に供給する。すなわち、コード判別部１４６は、前処理部１４３から供給された時間‐音程データのうち、所定の遺伝子が用いられて前処理が施された時間‐音程データについては、その遺伝子により前処理が施された時間‐音程データが用いられて作成されたコード判別機を用いてコードを判別する。
【００８７】
評価部１４７は、教師データ分割部１４４から供給された評価用データと、コード判別部１４６から供給されたコードの判別結果とを用いて、コードの判別の精度を求めて各遺伝子を評価し、その評価結果を次世代生成部１２３に供給する。すなわち、教師データとされる楽曲の音声データについては、その楽曲のビート毎の正しいコードのコード名である正解コード名が予め知られているので、評価部１４７は、コード判別機により判別されたコードのうちの評価用データに対応する音声データのコードと、予め知らされている正解コード名とを比較することにより遺伝子の評価を行う。
【００８８】
また、評価部１４７は、繰り返して何世代かの遺伝子を評価し、最後に評価した世代の遺伝子の評価の結果を示す評価値のうちの最も高い評価値、つまり最も評価の高い遺伝子の評価値が、例えば予め定められた閾値以上であるなどの所定の条件を満たす場合、その最も高い評価値の遺伝子、およびその遺伝子に対応するコード判別機を、信号処理装置５２の前処理部６１およびコード判別部９３に供給する。
【００８９】
次世代生成部１２３は、評価の対象となっている遺伝子、すなわち初期世代生成部１２１から供給された初期世代の遺伝子、または次世代生成部１２３が生成した遺伝子を用いて、評価部１４７から供給されたそれらの遺伝子の評価の結果に基づいて、次世代の遺伝子を生成して前処理部１４３および評価部１４７に供給する。
【００９０】
次世代生成部１２３は、選択部１５１、突然変異処理部１５２、交差処理部１５３、およびランダム生成部１５４を備えている。
【００９１】
次世代生成部１２３の選択部１５１は、評価部１４７により最後に評価された世代の遺伝子の評価の結果に基づいて、最後に評価された世代の遺伝子のうち、評価の高かったいくつかの遺伝子を選択し、選択した遺伝子を次世代の遺伝子とする。
【００９２】
突然変異処理部１５２は、評価部１４７により最後に評価された世代の遺伝子の評価の結果に基づいて、評価の高かったいくつかの遺伝子に突然変異処理を施して次世代の遺伝子を生成する。すなわち、突然変異処理部１５２は、評価の高かったいくつかの遺伝子のそれぞれについて、遺伝子の一部、つまり遺伝子を構成する単位フィルタのうちのいくつかを、無作為に選択した他の単位フィルタに変更することによって新たな遺伝子を生成し、生成された遺伝子を次世代の遺伝子とする。
【００９３】
交差処理部１５３は、評価部１４７により最後に評価された世代の遺伝子の評価の結果に基づいて、評価の高かったいくつかの遺伝子に交差処理を施して次世代の遺伝子を生成する。すなわち、交差処理部１５３は、評価の高かったいくつかの遺伝子のそれぞれについて、遺伝子の一部、つまり遺伝子を構成する単位フィルタのうちのいくつかを、同じ世代の他の遺伝子を構成する単位フィルタに変更することによって新たな遺伝子を生成し、生成された遺伝子を次世代の遺伝子とする。
【００９４】
ランダム生成部１５４は、無作為に選択した単位フィルタを組み合わせることによって、新たな遺伝子（前処理用フィルタ）を生成し、生成した遺伝子を次世代の遺伝子とする。次世代生成部１２３は、このようにして選択部１５１乃至ランダム生成部１５４により生成された次世代の遺伝子を、評価部１４７および前処理部１４３に供給する。
【００９５】
図１１は、図１０のコード判別機学習部１４５のより詳細な構成例を示すブロック図である。コード判別機学習部１４５は、ビート毎特徴量抽出部１８１、追加部１８２、シフト処理部１８３、およびコード判別機生成部１８４から構成される。
【００９６】
ビート毎特徴量抽出部１８１は、前処理部１４３から供給された時間‐音程データから、ビートを検出してビート毎の音声のコード判別用特徴量を抽出し、追加部１８２に供給する。追加部１８２は、教師データ分割部１４４から供給された学習用データである教師データに、予め知られている正解コード名と、ビート毎特徴量抽出部１８１から供給されたコード判別用特徴量とを追加して、シフト処理部１８３に供給する。
【００９７】
シフト処理部１８３は、追加部１８２から供給された教師データに追加（付加）されたコード判別用特徴量と正解コード名とを１音分ずつシフトさせて教師データに追加して、コード判別機生成部１８４に供給する。コード判別機生成部１８４は、シフト処理部１８３から供給された学習用データとしての教師データから、機械学習により各遺伝子に対応するコード判別機を作成（生成）し、コード判別部１４６および評価部１４７に供給する。
【００９８】
図１２は、図１０のコード判別部１４６のより詳細な構成例を示すブロック図である。コード判別部１４６は、ビート毎特徴量抽出部２１１および判別部２１２から構成される。
【００９９】
ビート毎特徴量抽出部２１１は、前処理部１４３から供給された時間‐音程データから、ビートを検出してビート毎の音声のコード判別用特徴量を抽出し、判別部２１２に供給する。判別部２１２は、コード判別機学習部１４５のコード判別機生成部１８４から供給されたコード判別機を用いて、ビート毎特徴量抽出部２１１から供給されたコード判別用特徴量から、音声データのビート毎のコードを判別し、評価部１４７に供給する。ここで、判別部２１２は、供給されたコード判別用特徴量のうち、所定の遺伝子が用いられて前処理が施された時間‐音程データから抽出されたコード判別用特徴量と、その遺伝子に対応するコード判別機とからコードを判別する。
【０１００】
次に、図１３のフローチャートを参照して、フィルタ生成装置５１が前処理用フィルタを生成する処理である、前処理用フィルタ生成処理について説明する。
【０１０１】
ステップＳ４１において、初期世代生成部１２１は、初期世代の遺伝子を生成して、前処理部１４３および次世代生成部１２３に供給する。すなわち、初期世代生成部１２１は、１または複数の単位フィルタを組み合わせて遺伝子としての前処理用フィルタの候補をいくつか生成し、生成された遺伝子のそれぞれを初期世代の遺伝子とする。
【０１０２】
ステップＳ４２において、フィルタ生成装置５１は、評価の対象となる遺伝子のそれぞれに対して評価処理を行う。なお、評価処理の詳細については後述するが、この評価処理において、評価の対象となっている世代の遺伝子のそれぞれについて、それらの遺伝子を前処理用フィルタとして用いた場合のコードの判別精度を示す評価値が求められる。
【０１０３】
評価処理が行われて、各遺伝子の評価値が求められると、ステップＳ４３において、評価部１４７は、評価値が変化しなくなったか否かを判定する。例えば、評価部１４７は、遺伝子の評価値のうちの最も高い評価値と、前回求めた評価値、すなわち前の世代の遺伝子の評価値のうちの最も高い評価値との差を求め、今回求めた評価値の差、前回求められた評価値の差、および前々回求められた評価値の差のそれぞれが、予め定められた閾値以下である場合、つまり評価値が殆ど変化しなくなった場合、評価値が変化しなくなったと判定する。
【０１０４】
また、例えば、遺伝子の評価値のうち最も高い評価値が、予め定められた閾値以上である場合に、充分な精度でコードを抽出するための遺伝子が得られたとして、評価値が変化しなくなったと判定されるようにしてもよい。
【０１０５】
ステップＳ４３において、評価値が変化したと判定された場合、すなわち、まだ充分な精度でコードを抽出するための遺伝子が得られていないと判定された場合、次世代の遺伝子を生成するので、評価部１４７は、各遺伝子の評価結果である評価値を次世代生成部１２３に供給し、処理はステップＳ４４に進む。
【０１０６】
ステップＳ４４において、次世代生成部１２３の選択部１５１は、評価部１４７から供給された遺伝子の評価値に基づいて、評価された遺伝子のうち、評価値の高いいくつかの遺伝子を選択し、選択した遺伝子を次世代の遺伝子とする。
【０１０７】
例えば、最後に評価された遺伝子が、初期世代の遺伝子である場合、選択部１５１は、初期世代生成部１２１から供給された初期世代の遺伝子のうち、評価値の高いいくつかの遺伝子を選択して次世代の遺伝子とする。また、例えば、最後に評価された遺伝子が、初期世代の遺伝子でない場合、つまり次世代生成部１２３により生成された遺伝子である場合、選択部１５１は、前回、選択部１５１乃至ランダム生成部１５４により生成された遺伝子のうち、評価値の高いいくつかの遺伝子を選択して次世代の遺伝子とする。
【０１０８】
ステップＳ４５において、突然変異処理部１５２は、評価部１４７から供給された遺伝子の評価値に基づいて、評価値の高かったいくつかの遺伝子に突然変異処理を施して次世代の遺伝子を生成する。すなわち、突然変異処理部１５２は、評価値の高かったいくつかの遺伝子のそれぞれについて、遺伝子を構成する単位フィルタのうちのいくつかを、無作為に選択した他の単位フィルタに変更することによって新たな遺伝子を生成し、次世代の遺伝子とする。
【０１０９】
ステップＳ４６において、交差処理部１５３は、評価部１４７から供給された遺伝子の評価値に基づいて、評価値の高かったいくつかの遺伝子に交差処理を施して次世代の遺伝子を生成する。すなわち、交差処理部１５３は、評価値の高かったいくつかの遺伝子のそれぞれについて、遺伝子を構成する単位フィルタのうちのいくつかを、同じ世代の他の遺伝子を構成する単位フィルタに変更することによって新たな遺伝子を生成し、次世代の遺伝子とする。
【０１１０】
ステップＳ４７において、ランダム生成部１５４は、無作為に選択した単位フィルタを組み合わせることによって新たな遺伝子（前処理用フィルタの候補）を生成し、次世代の遺伝子とする。
【０１１１】
なお、ステップＳ４５の処理およびステップＳ４６の処理においても、ステップＳ４４の処理における場合と同様に、最後に評価された遺伝子が、初期世代の遺伝子である場合、初期世代生成部１２１から供給された初期世代の遺伝子が用いられて次世代の遺伝子が生成され、最後に評価された遺伝子が、次世代生成部１２３、すなわち選択部１５１乃至ランダム生成部１５４により生成された遺伝子である場合、それらの次世代生成部１２３により生成された遺伝子が用いられて次世代の遺伝子が生成される。
【０１１２】
次世代生成部１２３は、このようにして選択部１５１乃至ランダム生成部１５４により次世代の遺伝子が生成されると、生成された次世代の遺伝子を評価部１４７および前処理部１４３に供給する。そして、次世代の遺伝子が評価部１４７および前処理部１４３に供給されると、処理はステップＳ４２に戻り、新たに生成された次世代の遺伝子のそれぞれの評価が行われる。
【０１１３】
また、ステップＳ４３において、遺伝子の評価値が変化しなくなったと判定された場合、すなわち充分な精度でコードを抽出するための遺伝子が得られた場合、ステップＳ４８において、評価部１４７は、最後に評価された遺伝子のうち、最も評価値の高い遺伝子を選択し、選択された遺伝子、つまり前処理用フィルタと、その前処理用フィルタに対応するコード判別機とを出力する。
【０１１４】
すなわち、評価部１４７は、次世代生成部１２３から供給された、最後に評価の対象となった世代の遺伝子のうちの、選択された最も評価値の高い遺伝子（前処理用フィルタ）を前処理部６１に供給するとともに、コード判別機学習部１４５から供給された、最後に評価の対象となった世代の遺伝子に対応するコード判別機のうちの、選択された遺伝子を用いて前処理が行われた時間‐音程データからコードを判別するためのコード判別機、つまり選択された遺伝子が用いられて前処理が施された時間‐音程データから作成されたコード判別機を、コード抽出部６２に供給する。選択された前処理用フィルタとコード判別機とが出力されると、前処理用フィルタ生成処理は終了する。
【０１１５】
このようにして、フィルタ生成装置５１は、前処理用フィルタおよびコード判別機を作成する。このように、時間‐音程データから楽曲のコードを抽出するアルゴリズムを人間により構築し、そのアルゴリズムにおいて用いられる前処理フィルタと、コード判別機とをフィルタ生成装置５１により生成することで、精度よく楽曲のコードを抽出することのできるアルゴリズムを生成することができる。
【０１１６】
すなわち、前処理用フィルタの候補を遺伝子として、繰り返し次の世代の遺伝子を生成して評価を行って評価値の高い遺伝子を前処理用フィルタとすることで、より精度よく楽曲のコードを抽出することができる前処理用フィルタおよびコード判別機を生成することができる。そして、生成した前処理用フィルタおよびコード判別機を、人間の先見知識を生かして、少ない教師データから構築されたアルゴリズムにおいて用いることで、アルゴリズムによるコードの抽出の精度を向上させることができ、その結果、より確実に特徴を抽出することができるアルゴリズムを簡単に得ることができる。
【０１１７】
特徴抽出システムにおいては、人間により構築されたアルゴリズムにおいて用いられる前処理用フィルタ、およびコード判別機がフィルタ生成装置５１により生成されるので、フィルタ生成装置５１により、精度の高いアルゴリズムが半自動的に構築されるということができる。
【０１１８】
次に、図１４のフローチャートを参照して、図１３のステップＳ４２の処理に対応する評価処理について説明する。この評価処理は、評価の対象となる遺伝子ごとに行われる。すなわち、各遺伝子のそれぞれに対して評価処理が行われる。
【０１１９】
ステップＳ８１において、解析部１４２は、教師データ保持部１４１から供給された教師データである音声データに１２音解析処理を施し、その結果得られた時間‐音程データを前処理部１４３に供給する。すなわち、解析部１４２は、音声データによる音声を複数のオクターブの成分に分けて、さらにそれぞれのオクターブにおける１２平均率のそれぞれの高さの１２の音のエネルギを求めることで、オクターブ毎の１２の音のそれぞれのエネルギを示す時間‐音程データを求める。
【０１２０】
ステップＳ８２において、前処理部１４３は、初期世代生成部１２１または次世代生成部１２３から供給された遺伝子を用いて、解析部１４２から供給された時間‐音程データに前処理を施す。そして、前処理部１４３は、前処理が施された時間‐音程データを、コード判別機学習部１４５のビート毎特徴量抽出部１８１、およびコード判別部１４６のビート毎特徴量抽出部２１１に供給する。
【０１２１】
例えば、初期世代の遺伝子の評価が行われる場合、初期世代生成部１２１から前処理部１４３には初期世代の遺伝子が供給されるので、前処理部１４３は、初期世代生成部１２１から供給された初期世代の遺伝子を用いて前処理を行う。また、初期世代より後の世代の遺伝子、つまり次世代生成部１２３により生成された遺伝子の評価が行われる場合、次世代生成部１２３から前処理部１４３には、評価の対象となる新たな世代の遺伝子が供給されるので、前処理部１４３は、次世代生成部１２３から供給された遺伝子を用いて前処理を行う。
【０１２２】
より詳細には、前処理部１４３は、解析部１４２から供給された全ての時間‐音程データについて、時間‐音程データに各遺伝子のそれぞれを用いて前処理を施す。従って、例えば、前処理部１４３に遺伝子Ｇ４１および遺伝子Ｇ４２が供給された場合、前処理部１４３は、全ての時間‐音程データについて、遺伝子Ｇ４１を用いた前処理を施すとともに、遺伝子Ｇ４２を用いた前処理を施す。これにより、１つの時間‐音程データに対して、遺伝子Ｇ４１が用いられて前処理が施された時間‐音程データと、遺伝子Ｇ４２が用いられて前処理が施された時間‐音程データとが得られる。
【０１２３】
ステップＳ８３において、教師データ分割部１４４は、教師データ保持部１４１から供給された教師データを、学習用データと評価用データとに分割する。すなわち、教師データ分割部１４４は、教師データ保持部１４１から供給された教師データのそれぞれについて、学習用データとするか、または評価用データとするかを無作為に選択していくことで、教師データを学習用データと評価用データとに分割する。
【０１２４】
そして、教師データ分割部１４４は、分割の結果、学習用データとされた教師データを、コード判別機学習部１４５の追加部１８２に供給するとともに、評価用データとされた教師データを評価部１４７に供給する。
【０１２５】
ステップＳ８４において、コード判別機学習部１４５のビート毎特徴量抽出部１８１は、前処理部１４３から供給された時間‐音程データから、コード判別用特徴量を抽出し、追加部１８２に供給する。
【０１２６】
例えば、ビート毎特徴量抽出部１８１は、ビート検出部９１と同様の処理を行って、基本ビート周期を求めることにより時間‐音程データから拍の位置を検出し、さらにビート毎特徴量抽出部９２と同様の処理を行い、時間‐音程データの拍の範囲のそれぞれについて、それぞれのオクターブの１２平均率のそれぞれの高さの１２の音毎のエネルギに重み付けし、それぞれのオクターブにおける同じ音名の音のエネルギを加算して、音名で特定される１２の音のそれぞれのエネルギを求めることにより、ルート判別用特徴量とメジャーマイナー判別用特徴量とを生成し、これらの特徴量をコード判別用特徴量とする。
【０１２７】
ステップＳ８５において、追加部１８２は、ビート毎特徴量抽出部１８１から供給されたコード判別用特徴量と、学習用データについて予め知られているビート毎の正解コード名とを、学習用データとしての教師データに追加する。
【０１２８】
例えば、追加部１８２には、図１５に示すように、教師データとしての音声データにより再生される楽曲について、予めその楽曲のコード進行が知らされている。図１５には、教師データとしての音声データにより再生される楽曲としての楽曲１乃至楽曲３と、それらの楽曲のコード進行とが示されている。なお、図中、より左側に位置するコード名が、その楽曲の開始位置により近い拍の範囲の正解コード名とされている。
【０１２９】
楽曲１のコード進行は、楽曲１の最初の拍の範囲のコード名がＣであり、その後順番にＥマイナーであるコード、Ａマイナーであるコード、Ｃであるコード、Ｆであるコード、Ｅマイナーであるコード、Ｄマイナーであるコード、およびＧであるコードとされている。
【０１３０】
また、楽曲２のコード進行は、楽曲２の最初の拍の範囲のコード名がＤマイナーであり、その後順番にＢ♭（フラット）であるコード、Ｃであるコード、Ａマイナーであるコード、Ｂ♭であるコード、Ｆであるコード、Ｇであるコード、およびＣであるコードとされている。さらに、楽曲３のコード進行は、楽曲３の最初の拍の範囲のコード名がＧであり、その後順番にＤであるコード、Ｆであるコード、Ｃであるコード、Ｄであるコード、Ｇであるコード、Ｄであるコード、Ｆであるコード、Ｃ♯であるコード、およびＥ♭であるコードとされている。
【０１３１】
さらに、また、追加部１８２には、各楽曲について、楽曲におけるコードの開始時刻および終了時刻、すなわち各拍の範囲の開始時刻および終了時刻も予め知らされている。したがって、例えば、追加部１８２には、楽曲１の最初のコード（コード名がＣであるコード）の開始時刻が楽曲１の開始時刻であり、終了時刻が開始時刻から１３秒後の時刻であることなどが予め知らされている。
【０１３２】
追加部１８２は、供給された学習用データとしての教師データに対して、ビート毎特徴量抽出部１８１から供給されたその教師データのコード判別用特徴量と、予め知らされている教師データの正解コード名とを追加する。ここで、追加部１８２は、学習用データとしての教師データから抽出されたコード判別用特徴量ごとに、教師データに対してコード判別用特徴量と正解コード名とを追加する処理を行う。なお、追加部１８２には、評価用データとされた教師データは供給されないので、追加部１８２に供給されたコード判別用特徴量のうち、評価用データとしての教師データから抽出されたコード判別用特徴量については、コード判別用特徴量の教師データへの追加は行われない。
【０１３３】
例えば、追加部１８２に学習用データとしての教師データＤ１および教師データＤ２が供給されるとともに、遺伝子Ｇ４１が用いられて前処理された教師データＤ１（より詳細には、教師データＤ１から得られた時間‐音程データ）から抽出されたコード判別用特徴量Ｆ１１、遺伝子Ｇ４１が用いられて前処理された教師データＤ２から抽出されたコード判別用特徴量Ｆ１２、遺伝子Ｇ４２が用いられて前処理された教師データＤ１から抽出されたコード判別用特徴量Ｆ２１、および遺伝子Ｇ４２が用いられて前処理された教師データＤ２から抽出されたコード判別用特徴量Ｆ２２が供給されたとする。
【０１３４】
この場合、追加部１８２は、コード判別用特徴量Ｆ１１と正解コード名とが追加された教師データＤ１、コード判別用特徴量Ｆ１２と正解コード名とが追加された教師データＤ２、コード判別用特徴量Ｆ２１と正解コード名とが追加された教師データＤ１、およびコード判別用特徴量Ｆ２２と正解コード名とが追加された教師データＤ２を、シフト処理部１８３に供給する。
【０１３５】
図１４のフローチャートの説明に戻り、学習用データにコード判別用特徴量と正解コード名とが追加されると、ステップＳ８６において、シフト処理部１８３は、追加部１８２から供給された各教師データについて、教師データのビート毎のコード判別用特徴量と正解コード名とを１音分シフトする。
【０１３６】
ステップＳ８７において、シフト処理部１８３は、１音分シフトされたコード判別用特徴量と正解コード名とを教師データに追加する。
【０１３７】
ステップＳ８８において、シフト処理部１８３は、ステップＳ８６およびステップＳ８７において行われる処理、つまりビート毎のコード判別用特徴量と正解コード名とを１音分シフトして教師データに追加する処理を１１回繰り返したか否かを判定する。
【０１３８】
例えば、図１６で示されるように、ビート毎のコード判別用特徴量に対応するビート毎のコードによって示される正しいコードの名前である正解コード名がＤである場合、Ｃ，Ｃ＃，Ｄ，Ｄ＃，Ｅ，Ｆ，Ｆ＃，Ｇ，Ｇ＃，Ａ，Ａ＃、およびＢのそれぞれの音名の音のエネルギを示すデータが順に配置されているルート判別用特徴量およびメジャーマイナー判別用特徴量が、追加部１８２によって、Ｄである正解コード名とともに教師データに追加される。
【０１３９】
そして、シフト処理部１８３は、Ｃ＃，Ｄ，Ｄ＃，Ｅ，Ｆ，Ｆ＃，Ｇ，Ｇ＃，Ａ，Ａ＃，Ｂ、およびＣのそれぞれの音名の音のエネルギを示すデータが順に配置されるように、ルート判別用特徴量およびメジャーマイナー判別用特徴量における音のエネルギを示すデータの配置をシフトし、正解コード名をＣ＃にシフトする。シフト処理部１８３は、Ｃ＃，Ｄ，Ｄ＃，Ｅ，Ｆ，Ｆ＃，Ｇ，Ｇ＃，Ａ，Ａ＃，Ｂ、およびＣのそれぞれの音名の音のエネルギを示すデータが順に配置されているルート判別用特徴量およびメジャーマイナー判別用特徴量を、Ｃ＃である正解コード名とともに、教師データに追加する。
【０１４０】
さらに、シフト処理部１８３は、Ｄ，Ｄ＃，Ｅ，Ｆ，Ｆ＃，Ｇ，Ｇ＃，Ａ，Ａ＃，Ｂ，Ｃ、およびＣ＃のそれぞれの音名の音のエネルギを示すデータが順に配置されるように、ルート判別用特徴量およびメジャーマイナー判別用特徴量における音のエネルギを示すデータの配置をさらにシフトし、正解コード名をＤにシフトする。シフト処理部１８３は、Ｄ，Ｄ＃，Ｅ，Ｆ，Ｆ＃，Ｇ，Ｇ＃，Ａ，Ａ＃，Ｂ，Ｃ、およびＣ＃のそれぞれの音名の音のエネルギを示すデータが順に配置されているルート判別用特徴量およびメジャーマイナー判別用特徴量を、Ｄである正解コード名とともに、教師データに追加する。
【０１４１】
このように、ルート判別用特徴量およびメジャーマイナー判別用特徴量における、音のエネルギを示すデータの配置のシフトが１１回繰り返されて、１つのルート判別用特徴量から、１２のデータが教師データに追加され、１つのメジャーマイナー判別用特徴量から、１２のデータが教師データに追加されることになる。
【０１４２】
追加部１８２およびシフト処理部１８３は、供給された全ての学習データの全ての拍の範囲について、コード判別用特徴量と正解コード名とを学習データとしての教師データに追加する処理を行う。
【０１４３】
図１４のフローチャートの説明に戻り、ステップＳ８８において、１１回繰り返していないと判定された場合、処理はステップＳ８６に戻り、１１回繰り返したと判定されるまで、上述した処理が繰り返される。
【０１４４】
これに対して、ステップＳ８８において、１１回繰り返したと判定された場合、シフト処理部１８３は、コード判別用特徴量と正解コード名とが追加された教師データをコード判別機生成部１８４に供給し、処理はステップＳ８９に進む。
【０１４５】
ステップＳ８９において、コード判別機生成部１８４は、各遺伝子について、シフト処理部１８３から供給された教師データを用いて、機械学習によりコード判別機を生成（作成）し、生成したコード判別機をコード判別部１４６の判別部２１２、および評価部１４７に供給する。
【０１４６】
すなわち、コード判別機生成部１８４は、供給された教師データのうち、同じ遺伝子が用いられて前処理された時間‐音程データから抽出されたコード判別用特徴量が付加されている教師データを用いて、その遺伝子に対応するコード判別機、つまりその遺伝子が用いられて前処理が施された時間‐音程データから、正しいコードを抽出するためのコード判別機を生成する。
【０１４７】
例えば、コード判別機生成部１８４は、kNN（k-Nearest Neighbor）、SVM（Support Vector Machine）、Naive Bayes、最も距離が近いコードを正解とするマハラノビス距離、または最も確率が高いコードを正解とするGMM（Gaussian Mixture Model）などにより、コード判別機を機械学習で生成（作成）する。
【０１４８】
ステップＳ９０において、コード判別部１４６のビート毎特徴量抽出部２１１は、前処理部１４３から供給された時間‐音程データからコード判別用特徴量を抽出し、判別部２１２に供給する。
【０１４９】
例えば、ビート毎特徴量抽出部２１１は、ビート毎特徴量抽出部１８１と同様の処理を行って、基本ビート周期を求めることにより時間‐音程データから拍の位置を検出し、さらに時間‐音程データの拍の範囲のそれぞれについて、それぞれのオクターブにおける１２平均率のそれぞれの高さの１２の音毎のエネルギに重み付けし、それぞれのオクターブの同じ音名の音のエネルギを加算して、音名で特定される１２の音のそれぞれのエネルギを求めることにより、ルート判別用特徴量とメジャーマイナー判別用特徴量とを生成し、これらの特徴量をコード判別用特徴量とする。
【０１５０】
ステップＳ９１において、判別部２１２は、コード判別機生成部１８４から供給されたコード判別機を用いて、ビート毎特徴量抽出部２１１から供給されたコード判別用特徴量からビート毎のコードを判別する。
【０１５１】
例えば、判別部２１２は、所定の遺伝子が用いられて前処理が施された時間‐音程データから抽出されたコード判別用特徴量に対しては、その所定の遺伝子に対応するコード判別機を用いてビート毎のコードを判別する。
【０１５２】
ステップＳ９２において、ビート毎特徴量抽出部２１１は、前処理部１４３から供給された全ての時間‐音程データについて、コードの判別が行われたか否かを判定する。
【０１５３】
ステップＳ９２において、まだ全ての時間‐音程データについてコードの判別が行われていないと判定された場合、処理はステップＳ９０に戻り、上述した処理が繰り返される。
【０１５４】
これに対して、ステップＳ９２において、全ての時間‐音程データについてコードの判別が行われたと判定された場合、判別部２１２は、判別により得られたビート毎のコード名を評価部１４７に供給し、処理はステップＳ９３に進む。
【０１５５】
ステップＳ９３において、評価部１４７は、判別部２１２から供給されたコード名を１つ選択し、そのコード名が正しく判別されたか否かを判定する。
【０１５６】
すなわち、判別部２１２から評価部１４７には、学習用データとされた教師データから抽出されたコード名と、評価用データとされた教師データから抽出されたコード名とが供給される。評価部１４７は、判別部２１２から供給されたコード名のうち、評価用データとされた教師データから抽出されたコード名を用いて、各遺伝子の評価を行う。
【０１５７】
例えば、評価部１４７は、供給されたコード名のうち、評価の対象となっている所定の遺伝子が用いられて前処理が施された時間‐音程データから抽出されたコード名を用いて、その評価の対象である所定の遺伝子の評価を行う。評価部１４７には、予め評価用データである教師データの楽曲の正解コードが知らされているので、評価部１４７は、判別部２１２から供給されたコード名であって、所定の遺伝子を評価するために用いられるコード名から１つのコード名を選択し、その選択されたコード名と、対応する正解コード名とを比較して、コードが正しく判別されたか否かを判定する。
【０１５８】
ステップＳ９３において、正しく判別されたと判定された場合、ステップＳ９４において、評価部１４７は、保持しているコードの判別の正解数を１インクリメントする。
【０１５９】
例えば、評価部１４７は、各遺伝子について、判別部２１２から供給されたコード名であって、その遺伝子を評価するために用いられるコード名のうち、コード名が正しく判別された数を示す正解数と、コード名が正しく判別されなかった数を示す不正解数とを保持している。ステップＳ９３において、選択された１つのコード名が正しく判別されたと判定された場合、評価部１４７は、保持している正解数をインクリメントする。
【０１６０】
これに対して、ステップＳ９３において、正しく判別されなかったと判定された場合、ステップＳ９５において、評価部１４７は、保持している不正解数を１インクリメントする。
【０１６１】
ステップＳ９４において正解数がインクリメントされるか、ステップＳ９５において不正解数がインクリメントされると、ステップＳ９６において、評価部１４７は、現在評価の対象となっている遺伝子を評価するために用いられる全てのコード名について、評価を行ったか否か、つまり遺伝子の評価に用いられる全ての評価用データについて、コード名が正しく判別されたか否かの評価を行ったかを判定する。
【０１６２】
ステップＳ９６において、全てのコード名について評価を行っていないと判定された場合、処理はステップＳ９３に戻り、判別部２１２から供給された次の１つのコード名が選択されて評価が行われる。なお、ステップＳ９３乃至ステップＳ９５の処理は、評価の対象となる全ての遺伝子について行われる。
【０１６３】
これに対して、ステップＳ９６において、全てのコード名について評価を行ったと判定された場合、ステップＳ９７において、評価部１４７は、各遺伝子についての正解数と、不正解数とに基づいて、各遺伝子の評価値を計算し、処理は図１３のステップＳ４３に進む。例えば、評価部１４７は、１つの遺伝子についての正解数と不正解数とに基づいて、コードの判別の正解率を、その遺伝子の評価値として算出する。
【０１６４】
このようにして、フィルタ生成装置５１は、生成された遺伝子のそれぞれの評価を行う。このように、生成された遺伝子の評価を行うことによって、評価の高い遺伝子を用いて次世代の遺伝子を生成することができるので、遺伝子の世代が進むにしたがって、より確実に楽曲のコードを抽出するための前処理用フィルタおよびコード判別機を生成することができる。
【０１６５】
換言すれば、遺伝子の世代が進むにしたがって、音声データのうちの、特徴抽出に有用な成分をより強調し、不要な成分を除去することができる前処理用フィルタを得ることができる。
【０１６６】
なお、以上においては、前処理用フィルタを用いた前処理は、その処理前と処理後とで、処理されるデータ、すなわち時間‐音程データの形式が保たれたままとされる処理であると説明したが、処理前と処理後とで、データの形式が変化する処理を前処理とするようにしてもよい。そのような場合、フィルタ生成装置５１において、データの形式が変化した、前処理が施された時間‐音程データから楽曲のコードを抽出するためのコード判別機が生成される。
【０１６７】
また、以上においては、楽曲の時間‐音程データからコードを抽出する例について説明したが、その他、静止画像、動画像、テキスト（文字列）などが入力データとして信号処理装置１２に入力され、信号処理装置１２において、入力データから所望する特徴が抽出されるようにすることもできる。そのような場合、フィルタ生成装置１１は、入力データから特徴を抽出するための前処理用フィルタと、判別機とを生成する。
【０１６８】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１６９】
図１７は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU（Central Processing Unit）３０１は、ROM（Read Only Memory）３０２、または記録部３０８に記録されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）３０３には、CPU３０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU３０１、ROM３０２、およびRAM３０３は、バス３０４により相互に接続されている。
【０１７０】
CPU３０１にはまた、バス３０４を介して入出力インターフェース３０５が接続されている。入出力インターフェース３０５には、キーボード、マウス、マイクロホンなどよりなる入力部３０６、ディスプレイ、スピーカなどよりなる出力部３０７が接続されている。CPU３０１は、入力部３０６から入力される指令に対応して各種の処理を実行する。そして、CPU３０１は、処理の結果を出力部３０７に出力する。
【０１７１】
入出力インターフェース３０５に接続されている記録部３０８は、例えばハードディスクからなり、CPU３０１が実行するプログラムや各種のデータを記録する。通信部３０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１７２】
また、通信部３０９を介してプログラムを取得し、記録部３０８に記録してもよい。
【０１７３】
入出力インターフェース３０５に接続されているドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア３３１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部３０８に転送され、記録される。
【０１７４】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図１７に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア３３１、または、プログラムが一時的もしくは永続的に格納されるROM３０２や、記録部３０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部３０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１７５】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１７６】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１７７】
【図１】本発明の一実施の形態の特徴抽出システムについて説明する図である。
【図２】本発明の一実施の形態の特徴抽出システムの構成を示すブロック図である。
【図３】本発明の一実施の形態の特徴抽出システムの構成を示すブロック図である。
【図４】コード抽出部の構成例を示すブロック図である。
【図５】時間‐音程データから抽出されるビート毎のコード名を説明する図である。
【図６】コード判別処理を説明するフローチャートである。
【図７】時間‐音程データを説明する図である。
【図８】前処理用フィルタを説明する図である。
【図９】コード判別機を用いたコードの判別を説明する図である。
【図１０】フィルタ生成装置の構成を示すブロック図である。
【図１１】コード判別機学習部の構成を示すブロック図である。
【図１２】コード判別部の構成を示すブロック図である。
【図１３】前処理用フィルタ生成処理を説明するフローチャートである。
【図１４】評価処理を説明するフローチャートである。
【図１５】楽曲のコード進行を説明する図である。
【図１６】コード判別用特徴量および正解コードのシフトを説明する図である。
【図１７】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
【０１７８】
１１  フィルタ生成装置，  １２  信号処理装置，  ２１  前処理部，  ２２  特徴抽出処理部，  ５１  フィルタ生成装置，  ５２  信号処理装置，  ６１  前処理部，  ６２  コード抽出部，  ９２  ビート毎特徴量抽出部，  ９３  コード判別部，  １２１  初期世代生成部，  １２２  遺伝子評価部，  １２３  次世代生成部，  １４１  教師データ保持部，  １４３  前処理部，  １４５  コード判別機学習部，  １４６  コード判別部，  １４７  評価部，  １５１  選択部，  １５２  突然変異処理部，  １５３  交差処理部，  １５４  ランダム生成部，  １８１  ビート毎特徴量抽出部，  １８２  追加部，  １８３  シフト処理部，  １８４  コード判別機生成部，  ２１１  ビート毎特徴量抽出部，  ２１２  判別部
【図１】
2008181294.tif 000003
【図２】
2008181294.tif 000004
【図３】
2008181294.tif 000005
【図４】
2008181294.tif 000006
【図５】
2008181294.tif 000007
【図６】
2008181294.tif 000008
【図７】
2008181294.tif 000009
【図８】
2008181294.tif 000010
【図９】
2008181294.tif 000011
【図１０】
2008181294.tif 000012
【図１１】
2008181294.tif 000013
【図１２】
2008181294.tif 000014
【図１３】
2008181294.tif 000015
【図１４】
2008181294.tif 000016
【図１５】
2008181294.tif 000017
【図１６】
2008181294.tif 000018
【図１７】
2008181294.tif 000019