JP2008181294A - Information processing apparatus, method and program - Google Patents
Information processing apparatus, method and program Download PDFInfo
- Publication number
- JP2008181294A JP2008181294A JP2007013830A JP2007013830A JP2008181294A JP 2008181294 A JP2008181294 A JP 2008181294A JP 2007013830 A JP2007013830 A JP 2007013830A JP 2007013830 A JP2007013830 A JP 2007013830A JP 2008181294 A JP2008181294 A JP 2008181294A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- filter
- data
- preprocessing
- evaluation
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は情報処理装置および方法、並びにプログラムに関し、特に、データから所望する特徴をより確実に抽出することができるようにした情報処理装置および方法、並びにプログラムに関する。 The present invention relates to an information processing device and method, and a program, and more particularly, to an information processing device and method, and a program that can extract a desired feature from data more reliably.
従来、入力されたデータから、所定の特徴を抽出する信号処理装置が知られている(例えば、特許文献1参照)。このような信号処理装置がデータから特徴を抽出するためのアルゴリズムは、専用の装置または人間によって構築されている。 Conventionally, a signal processing device that extracts a predetermined feature from input data is known (see, for example, Patent Document 1). An algorithm for such a signal processing device to extract features from data is constructed by a dedicated device or a human.
特に、特徴を抽出するアルゴリズムが人間によって構築される場合、人間は、先見知識、つまりこれまでに得た経験を生かすことができるため、教師データを用いて抽出の精度を向上させる最適化が可能なアルゴリズムを構築したり、精度は低くても効率的に特徴を抽出することのできるアルゴリズムを構築したりすることができる。ここで、教師データとは、信号処理装置に入力される特徴抽出の対象となるデータや、そのデータから抽出される特徴など、アルゴリズムを構築するために必要なデータをいう。 In particular, when algorithms for extracting features are constructed by humans, humans can make use of foresight knowledge, that is, experience gained so far, so optimization can be performed using teacher data to improve extraction accuracy. It is possible to construct a simple algorithm, or to construct an algorithm that can extract features efficiently even if accuracy is low. Here, the teacher data refers to data necessary for constructing an algorithm, such as data to be extracted from features input to the signal processing apparatus and features extracted from the data.
例えば、教師データを用いて精度を向上させる方法として、GA(Genetic Algorithm)を利用することによって、特徴を抽出するためのアルゴリズムにおいて用いられるパラメータの最適化を行う方法が知られている。 For example, as a method of improving accuracy using teacher data, a method of optimizing parameters used in an algorithm for extracting features by using GA (Genetic Algorithm) is known.
しかしながら、上述した技術においては、データから所望する特徴を確実に抽出することは容易ではなかった。例えば、人間により特徴抽出のアルゴリズムが構築される場合、そのアルゴリズムによる特徴抽出の精度は、アルゴリズムを構築する人のセンスに大きく依存し、精度を向上させるための作業は試行錯誤の繰り返しであるため、アルゴリズムの構築には多くの労力が必要であった。 However, in the above-described technique, it is not easy to reliably extract a desired feature from data. For example, when a feature extraction algorithm is constructed by a human, the accuracy of feature extraction by the algorithm depends greatly on the sense of the person who constructs the algorithm, and the work to improve the accuracy is a trial and error process. The construction of the algorithm required a lot of effort.
また、GAにより特徴抽出のアルゴリズムにおいて用いられるパラメータの最適化を行うこともできるが、パラメータの最適化にも限界があるため、充分に精度を向上させることはできなかった。 Further, although the parameters used in the feature extraction algorithm can be optimized by GA, there is a limit to the parameter optimization, and thus the accuracy cannot be sufficiently improved.
さらに、専用の装置によりアルゴリズムが構築される場合、装置が人間の先見知識を利用することができないなどの理由により、特徴抽出に複雑な処理が必要なときには、アルゴリズムの構築に膨大な量の教師データが必要であったり、多くの教師データを用いても装置がアルゴリズムを構築できなかったりすることがあった。 Furthermore, when an algorithm is constructed by a dedicated device, a huge amount of teachers are required to construct the algorithm when complicated processing is required for feature extraction because the device cannot use human foresight knowledge. In some cases, data is required, or even if a large amount of teacher data is used, the device cannot construct an algorithm.
本発明は、このような状況に鑑みてなされたものであり、データから所望する特徴をより確実に抽出することができるようにするものである。 The present invention has been made in view of such a situation, and makes it possible to extract a desired feature from data more reliably.
本発明の一側面の情報処理装置は、データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタを生成するフィルタ生成手段と、前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施す前処理手段と、前記前処理が施された前記教師データから、前記特徴を抽出する抽出手段と、前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する評価手段とを備える。 An information processing apparatus according to an aspect of the present invention is a candidate for a preprocessing filter used for preprocessing applied to the data, which is a target of feature extraction, when a predetermined feature is extracted from data. From the filter generation means for generating a candidate filter, the preprocessing means for performing the preprocessing on the teacher data used for the evaluation of the candidate filter using the candidate filter, and the teacher data subjected to the preprocessing An evaluation means for extracting the feature, and an evaluation value of the candidate filter indicating an evaluation of the extraction of the feature when the feature is extracted from the teacher data that has been preprocessed using the candidate filter. And an evaluation means for calculating on the basis of the feature extracted by the extraction means and a feature to be extracted from the teacher data obtained in advance.
前記フィルタ生成手段には、複数の前記候補フィルタの前記評価値のそれぞれに基づいて、前記候補フィルタのうちのいくつかを用いて、複数の新たな候補フィルタをさらに生成させ、前記評価手段には、前記新たな候補フィルタの評価値のそれぞれを計算させることができる。 The filter generation means further generates a plurality of new candidate filters using some of the candidate filters based on each of the evaluation values of the plurality of candidate filters, and the evaluation means Each of the evaluation values of the new candidate filter can be calculated.
前記評価手段には、最後に計算された前記評価値のうちの評価の最も高い評価値が所定の条件を満たす場合、前記最も高い評価値の候補フィルタを、前記前処理に用いる前処理用フィルタとして出力させることができる。 In the evaluation means, when the highest evaluation value among the evaluation values calculated at the end satisfies a predetermined condition, the candidate filter having the highest evaluation value is used as a preprocessing filter for the preprocessing. Can be output as
前記フィルタ生成手段には、最後に計算された前記評価値のうちの評価の最も高い評価値が前記条件を満たさない場合、最後に計算された前記評価値に基づいて、最後に生成された前記候補フィルタのうちのいくつかを用いて、複数の新たな候補フィルタをさらに生成させることができる。 When the highest evaluation value among the evaluation values calculated last does not satisfy the condition, the filter generation means, based on the evaluation value calculated last, the last generated Several of the candidate filters can be used to further generate a plurality of new candidate filters.
前記前処理用フィルタは、前記データの形式を保ったまま処理を施すフィルタとすることができる。 The preprocessing filter may be a filter that performs processing while maintaining the data format.
情報処理装置には、前記候補フィルタが用いられて前記前処理が施された教師データと、予め求められている前記教師データから抽出されるべき特徴とを基に、前記候補フィルタが用いられて前記前処理が施された前記データから前記特徴を抽出するための判別機を機械学習により作成する判別機作成手段をさらに設けることができる。 The information processing apparatus uses the candidate filter based on the teacher data that has been subjected to the preprocessing using the candidate filter and the characteristics that should be extracted from the teacher data that has been obtained in advance. The discriminator creating means for creating a discriminator for extracting the feature from the preprocessed data by machine learning can be further provided.
本発明の一側面の情報処理方法またはプログラムは、データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタを生成し、前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施し、前記前処理が施された前記教師データから、抽出手段により前記特徴を抽出し、前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算するステップを含む。 An information processing method or program according to one aspect of the present invention provides a candidate for a preprocessing filter that is used for preprocessing performed on the data that is a target of extraction of a feature when a predetermined feature is extracted from the data. The candidate filter is generated, the preprocessing is performed on the teacher data used for the evaluation of the candidate filter using the candidate filter, and the feature is extracted by the extraction unit from the teacher data subjected to the preprocessing. When the feature is extracted from the teacher data that has been preprocessed using the candidate filter, the extraction means extracts the evaluation value of the candidate filter that indicates the evaluation of the feature extraction And calculating based on the obtained feature and the feature to be extracted from the teacher data obtained in advance.
本発明の一側面においては、データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタが生成され、前記候補フィルタが用いられて、前記候補フィルタの評価に用いられる教師データに、前記前処理が施され、前記前処理が施された前記教師データから、抽出手段により前記特徴が抽出され、前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値が、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算される。 In one aspect of the present invention, when a predetermined feature is extracted from data, a candidate filter that is a candidate for a preprocessing filter used for preprocessing applied to the data to be extracted of the feature is provided. The candidate filter is generated, the preprocessing is performed on the teacher data used for the evaluation of the candidate filter, and the feature is extracted from the teacher data subjected to the preprocessing by the extraction unit In the case where the feature is extracted from the teacher data that has been preprocessed using the candidate filter, the evaluation value of the candidate filter indicating the evaluation of the extraction of the feature is extracted by the extraction unit The calculation is performed based on the characteristics and the characteristics to be extracted from the teacher data obtained in advance.
本発明の一側面によれば、特徴を抽出するための前処理に用いる前処理用フィルタを生成することができる。特に、本発明の一側面によれば、データから所望する特徴をより確実に抽出することができる。 According to one aspect of the present invention, a preprocessing filter used for preprocessing for extracting features can be generated. In particular, according to one aspect of the present invention, a desired feature can be more reliably extracted from data.
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。 Embodiments of the present invention will be described below. Correspondences between the constituent elements of the present invention and the embodiments described in the specification or the drawings are exemplified as follows. This description is intended to confirm that the embodiments supporting the present invention are described in the specification or the drawings. Therefore, even if there is an embodiment which is described in the specification or the drawings but is not described here as an embodiment corresponding to the constituent elements of the present invention, that is not the case. It does not mean that the form does not correspond to the constituent requirements. Conversely, even if an embodiment is described here as corresponding to a configuration requirement, that means that the embodiment does not correspond to a configuration requirement other than the configuration requirement. It's not something to do.
本発明の一側面の情報処理装置は、データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタを生成するフィルタ生成手段(例えば、図10の初期世代生成部121および次世代生成部123)と、前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施す前処理手段(例えば、図10の前処理部143)と、前記前処理が施された前記教師データから、前記特徴を抽出する抽出手段(例えば、図10のコード判別部146)と、前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する評価手段(例えば、図10の評価部147)とを備える。
An information processing apparatus according to an aspect of the present invention is a candidate for a preprocessing filter used for preprocessing applied to the data, which is a target of feature extraction, when a predetermined feature is extracted from data. Using the filter generation means (for example, the initial
前記フィルタ生成手段には、複数の前記候補フィルタの前記評価値のそれぞれに基づいて、前記候補フィルタのうちのいくつかを用いて、複数の新たな候補フィルタをさらに生成させ(例えば、図13のステップS44の処理乃至ステップS47の処理)、前記評価手段には、前記新たな候補フィルタの評価値のそれぞれを計算させる(例えば、図14のステップS97の処理)ことができる。 The filter generation means further generates a plurality of new candidate filters using some of the candidate filters based on each of the evaluation values of the plurality of candidate filters (for example, FIG. 13 The process of step S44 to the process of step S47) can cause the evaluation means to calculate each evaluation value of the new candidate filter (for example, the process of step S97 in FIG. 14).
前記評価手段には、最後に計算された前記評価値のうちの評価の最も高い評価値が所定の条件を満たす場合、前記最も高い評価値の候補フィルタを、前記前処理に用いる前処理用フィルタとして出力させる(例えば、図13のステップS48の処理)ことができる。 In the evaluation means, when the highest evaluation value among the evaluation values calculated at the end satisfies a predetermined condition, the candidate filter having the highest evaluation value is used as a preprocessing filter for the preprocessing. (For example, the process in step S48 in FIG. 13).
前記フィルタ生成手段には、最後に計算された前記評価値のうちの評価の最も高い評価値が前記条件を満たさない場合、最後に計算された前記評価値に基づいて、最後に生成された前記候補フィルタのうちのいくつかを用いて、複数の新たな候補フィルタをさらに生成させる(例えば、図13のステップS44の処理乃至ステップS47の処理)ことができる。 When the highest evaluation value among the evaluation values calculated last does not satisfy the condition, the filter generation means, based on the evaluation value calculated last, the last generated A plurality of new candidate filters can be further generated by using some of the candidate filters (for example, the processing from step S44 to step S47 in FIG. 13).
情報処理装置には、前記候補フィルタが用いられて前記前処理が施された教師データと、予め求められている前記教師データから抽出されるべき特徴とを基に、前記候補フィルタが用いられて前記前処理が施された前記データから前記特徴を抽出するための判別機を機械学習により作成する判別機作成手段(例えば、図10のコード判別機学習部145)をさらに設けることができる。
The information processing apparatus uses the candidate filter based on the teacher data that has been subjected to the preprocessing using the candidate filter and the characteristics that should be extracted from the teacher data that has been obtained in advance. A discriminator creating means (for example, a code
本発明の一側面の情報処理方法またはプログラムは、データから所定の特徴が抽出される場合に、前記特徴の抽出の対象となる前記データに施される前処理に用いられる前処理用フィルタの候補である候補フィルタを生成し(例えば、図13のステップS41)、前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施し(例えば、図14のステップS82)、前記前処理が施された前記教師データから、抽出手段により前記特徴を抽出し(例えば、図14のステップS90およびステップS91)、前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する(例えば、図14のステップS97)ステップを含む。 An information processing method or program according to one aspect of the present invention provides a candidate for a preprocessing filter that is used for preprocessing performed on the data that is a target of extraction of a feature when a predetermined feature is extracted from the data. Is generated (for example, step S41 in FIG. 13), and the preprocessing is performed on the teacher data used for evaluation of the candidate filter by using the candidate filter (for example, step S82 in FIG. 14). The feature is extracted from the teacher data that has been subjected to the pre-processing by an extraction means (for example, step S90 and step S91 in FIG. 14), and the teacher data that has been pre-processed using the candidate filter In the case where the feature is extracted from, the evaluation value of the candidate filter indicating the evaluation of the feature extraction is extracted before the extraction unit extracts the evaluation value. Including features and is calculated based on the feature to be extracted from the teacher data obtained in advance (e.g., step S97 of FIG. 14) the step.
以下、図面を参照して、本発明を適用した実施の形態について説明する。 Embodiments to which the present invention is applied will be described below with reference to the drawings.
本発明を適用した一実施の形態の特徴抽出システムにおいては、図1に示すように、構築されたアルゴリズムにしたがって、入力されたデータから所定の特徴が抽出されて出力される。この特徴抽出システムは、例えば図2に示すように構成される。 In the feature extraction system according to an embodiment to which the present invention is applied, as shown in FIG. 1, predetermined features are extracted from input data and output according to a constructed algorithm. This feature extraction system is configured, for example, as shown in FIG.
図2に示す特徴抽出システムは、フィルタ生成装置11および信号処理装置12から構成され、信号処理装置12には、前処理部21および特徴抽出処理部22が設けられている。
The feature extraction system shown in FIG. 2 includes a
フィルタ生成装置11は、例えば、積分処理を施すフィルタや、ハイパスフィルタ等の所定の処理を施すフィルタ(以下、適宜、単位フィルタとも称する)の組み合わせからなる前処理用フィルタを生成し、信号処理装置12の前処理部21に供給する。ここで、前処理用フィルタは、入力されたデータの形式を保ったまま処理を施すフィルタとされる。したがって、所定のデータに前処理用フィルタを用いたフィルタ処理である前処理が施されると、前処理を施す前と同じ形式のデータが得られる。
The
また、フィルタ生成装置11は、データから所望する特徴を抽出するための処理に用いられるデータである判別機を生成し、信号処理装置12の特徴抽出処理部22に供給する。
Further, the
前処理部21は、フィルタ生成装置11から供給された前処理用フィルタを用いて、入力されたデータに前処理を施して特徴抽出処理部22に供給する。特徴抽出処理部22は、フィルタ生成装置11から供給された判別機を用いて、前処理部21から供給されたデータから所定の特徴を抽出して出力する。
The
このように、入力されたデータに前処理を施すことにより、入力されたデータのうちの、特徴抽出に有用な成分をより強調したり、不要な成分、例えば特徴抽出に悪影響を及ぼす成分だけを除去したりすることができるため、入力されたデータから、より確実に所望する特徴を抽出することができる。 In this way, by applying pre-processing to the input data, components that are useful for feature extraction in the input data are further emphasized, or only unnecessary components, for example, components that adversely affect feature extraction are included. Therefore, it is possible to more reliably extract a desired feature from input data.
より具体的には、例えば、特徴抽出システムにおいて、音楽の楽曲などの波形を時間と音程毎のエネルギの2軸に解析することによって得られるデータ、すなわち楽曲などを再生させるための音声データに、波形を時間と音程毎のエネルギに解析する処理が施されて得られる時間‐音程データを、入力されるデータとし、抽出される特徴を音楽のコード、つまり和音とすることができる。なお、以下、波形を時間と音程毎のエネルギに解析する処理を12音解析処理と称する。 More specifically, for example, in the feature extraction system, the data obtained by analyzing the waveform of music, etc., into two axes of energy for each time and pitch, that is, voice data for reproducing the music, Time-pitch data obtained by performing processing for analyzing the waveform into energy for each time and pitch can be input data, and extracted features can be music chords, that is, chords. Hereinafter, processing for analyzing a waveform into energy for each time and pitch will be referred to as twelve sound analysis processing.
特徴抽出システムにおいて、入力されるデータを時間‐音程データとし、抽出される特徴を音楽のコードとする場合、特徴抽出システムは、図3に示すように構成される。 In the feature extraction system, when the input data is time-pitch data and the extracted feature is a music code, the feature extraction system is configured as shown in FIG.
図3に示す特徴抽出システムは、フィルタ生成装置51および信号処理装置52から構成され、信号処理装置52は、前処理部61およびコード抽出部62を備えている。ここで、図3のフィルタ生成装置51は、図2のフィルタ生成装置11に対応し、図3の信号処理装置52は、図2の信号処理装置12に対応している。また、図3の前処理部61およびコード抽出部62は、図2の前処理部21および特徴抽出処理部22に対応している。
The feature extraction system shown in FIG. 3 includes a
フィルタ処理装置51は、単位フィルタを組み合わせて前処理用フィルタを生成し、信号処理装置52の前処理部61に供給する。また、フィルタ生成装置51は、前処理が施された時間‐音程データから、コードを抽出するために用いられるコード判別機を生成し、生成したコード判別機を信号処理装置52のコード抽出部62に供給する。
The
信号処理装置52の前処理部61は、フィルタ処理装置51から供給された前処理用フィルタを用いて、入力された時間‐音程データに対して前処理を施し、コード抽出部62に供給する。コード抽出部62は、フィルタ処理装置51から供給されたコード判別機を用いて、前処理部61から供給された時間‐音程データから楽曲のコードを抽出して出力する。
The preprocessing
このように、特徴抽出システムにおいては、時間‐音程データの入力に対し、出力される特徴として楽曲のコード進行を得ることができる。 Thus, in the feature extraction system, the chord progression of the music can be obtained as the output feature in response to the time-pitch data input.
図4は、図3のコード抽出部62のより詳細な構成例を示すブロック図である。
FIG. 4 is a block diagram showing a more detailed configuration example of the
コード抽出部62は、ビート検出部91、ビート毎特徴量抽出部92、およびコード判別部93から構成される。
The
ビート検出部91は、前処理部61から供給された時間‐音程データからビートを検出する。ここで、ビートとは、打点または拍のことであり、楽曲において基本の単位として聞こえる基準をいう。ビートは、一般に複数の意味で使われるが、以下、楽曲における基本的な時間の単位の始まりである時刻の意味で用いる。楽曲における基本的な時間の単位の始まりである時刻を、拍の位置と称し、楽曲における基本的な時間の単位の範囲を、拍の範囲と称する。なお、拍の長さは、いわゆるテンポである。
The
すなわち、ビート検出部91は、楽曲の音声データから得られた時間‐音程データから、時間‐音程データにおける拍の位置を検出する。そして、ビート検出部91は、時間‐音程データにおける拍のそれぞれの位置を示すビート情報と、入力された時間‐音程データとをビート毎特徴量抽出部92に供給する。
That is, the
なお、時間‐音程データにおける拍の位置から次の拍の位置までが、拍の範囲なので、時間‐音程データにおける拍の位置がわかれば、拍の範囲がわかる。 Since the range of beats from the position of the beat in the time-pitch data to the next beat position is the range of beats, the range of beats can be known if the position of the beat in the time-pitch data is known.
ビート毎特徴量抽出部92は、ビート検出部91から供給された時間‐音程データから、所定の範囲の音声の特徴量、例えばビート毎の音声の特徴量(以下、ビート毎のコード判別用特徴量と称する)を抽出する。すなわち、ビート毎特徴量抽出部92は、ビート情報を基に、時間‐音程データの拍のそれぞれの範囲における、12平均率の音程のそれぞれの高さの音のそれぞれの特徴を示す特徴量を抽出する。ビート毎特徴量抽出部92は、抽出したビート毎のコード判別用特徴量を、コード判別部93に供給する。
The beat feature
コード判別部93は、フィルタ生成装置51から供給されたコード判別機を用いて、ビート毎特徴量抽出部92から供給されたビート毎のコード判別用特徴量から、ビート毎のコードを判別して出力する。すなわち、コード判別部93は、ビート毎のコード判別用特徴量から拍の範囲の和音を判別する。なお、後述するように、コード判別機は、特徴量による学習によって予め作成され、前処理用フィルタが変更されるたびにフィルタ生成装置51からコード判別部93に新たなコード判別機が供給される。
The
このように、信号処理装置52は、楽曲の時間‐音程データから、その楽曲のビート毎のコードを判別する。例えば、図5に示されるように、信号処理装置52は、楽曲の時間‐音程データから、Cであるコード、Eマイナーであるコード、Aマイナーであるコード、Cであるコード、Fであるコード、Eマイナーであるコード、Dマイナーであるコード、およびGであるコードなどをビート毎に判別する。そして、例えば信号処理装置52は、ビート毎のコードのコード名を出力する。
Thus, the
次に、図6のフローチャートを参照して、信号処理装置52が、入力された時間‐音程データからビート毎のコードを抽出して出力する処理であるコード判別処理について説明する。このコード判別処理は、信号処理装置52に時間‐音程データが入力されると開始される。
Next, with reference to the flowchart of FIG. 6, a chord determination process, which is a process in which the
ステップS11において、前処理部61は、フィルタ生成装置51から供給された前処理用フィルタを用いて、入力された時間‐音程データに前処理を施し、前処理が施された時間‐音程データをビート検出部91に供給する。
In step S11, the
ここで、前処理部61に入力される時間‐音程データは、例えば図7に示すように、各時刻における各音のエネルギを示すデータとされる。なお、図7において、縦方向は音程を示し、横方向は時間を示している。また、濃度はエネルギの強さを示している。
Here, the time-pitch data input to the
図7では、複数のオクターブの成分、つまりオクターブ1乃至オクターブ7のそれぞれにおける12平均率のそれぞれの高さの12の音のエネルギが時間‐音程データとして示されている。
In FIG. 7, twelve sound energies having a height of 12 average rates in each of a plurality of octave components, that is,
前処理部61は、図7に示した時間‐音程データに対して、例えば図8Aまたは図8Bに示す前処理用フィルタを用いた前処理を施す。
The preprocessing
図8Aに示す前処理用フィルタにおいて、A11の部分、すなわち文字“Sqr”は、時間‐音程データの各時刻における各音のエネルギを2乗することを表しており、A12の部分、すなわち文字“Time#LPF,0.5”は、A11の部分により2乗された時間‐音程データの時間方向に、つまり時間‐音程データの所定のオクターブにおける所定の音の各時刻のエネルギに対して、係数が0.5であるローパスフィルタを用いたフィルタ処理を施すことを表している。また、A13部分、すなわち文字“Freq#HPF,0.3”は、A12の部分によりフィルタ処理が施された時間‐音程データの周波数方向に、つまり時間‐音程データの所定の時刻の各音のエネルギに対して、係数が0.3であるハイパスフィルタを用いたフィルタ処理を施すことを表している。 In the preprocessing filter shown in FIG. 8A, the portion of A11, that is, the character “Sqr” represents that the energy of each sound at each time of the time-pitch data is squared, and the portion of A12, that is, the character “ Time # LPF, 0.5 "has a coefficient of 0.5 in the time direction of the time-pitch data squared by the portion of A11, that is, for the energy at each time of a predetermined sound in a predetermined octave of the time-pitch data. It represents that the filter processing using the low-pass filter is. Further, the A13 portion, that is, the characters “Freq # HPF, 0.3” is in the frequency direction of the time-pitch data filtered by the A12 portion, that is, in the energy of each sound at a predetermined time of the time-pitch data. On the other hand, filter processing using a high-pass filter having a coefficient of 0.3 is performed.
これらのA11乃至A13の部分は、前処理用フィルタを構成する各単位フィルタを示しており、時間‐音程データに対して、A11の部分により示される単位フィルタによるフィルタ処理乃至A13の部分により示される単位フィルタによるフィルタ処理が順番に施される。 These A11 to A13 portions indicate the respective unit filters constituting the preprocessing filter. The time-pitch data is indicated by the filter processing by the unit filter indicated by the A11 portion to the A13 portion. Filter processing by the unit filter is performed in order.
したがって、図8Aに示す前処理用フィルタを用いた前処理として、時間‐音程データに対し、各エネルギを示す値を2乗する演算処理、ローパスフィルタを用いたフィルタ処理、およびハイパスフィルタを用いたフィルタ処理が順番に施される。 Therefore, as preprocessing using the preprocessing filter shown in FIG. 8A, arithmetic processing for squaring a value indicating each energy, filter processing using a low-pass filter, and high-pass filter are used for time-pitch data. Filter processing is performed in order.
また、図8Bに示す前処理用フィルタにおいて、A21の部分、すなわち文字“Time#Differential”は、時間‐音程データの時間方向に、つまり時間‐音程データの所定のオクターブにおける所定の音の各時刻のエネルギに対して、微分処理を施すことを表しており、A22の部分、すなわち文字“Abs”は、時間‐音程データの各時刻における各音のエネルギの絶対値を求めることを表している。さらに、A23の部分、すなわち文字“Freq#Order”は、時間‐音程データの周波数方向に、つまり時間‐音程データの所定の時刻の各音のエネルギを、その値が小さいものから順序付けを行うことを表しており、A24の部分、すなわち文字“Time#LPF,0.4”は、時間‐音程データの時間方向に、つまり時間‐音程データの所定のオクターブにおける所定の音の各時刻のエネルギに対して、係数が0.4であるローパスフィルタを用いたフィルタ処理を施すことを表している。 In the preprocessing filter shown in FIG. 8B, the portion A21, that is, the character “Time # Differential” is in the time direction of the time-pitch data, that is, each time of a predetermined sound in a predetermined octave of the time-pitch data. The A22 part, that is, the character “Abs” represents that the absolute value of the energy of each sound at each time of the time-pitch data is obtained. Further, the part A23, that is, the character “Freq # Order” is used to order the energy of each sound at a predetermined time in the time-pitch data, that is, at a predetermined time in the time-pitch data from the smallest value. A24, that is, the characters “Time # LPF, 0.4” are in the time direction of the time-pitch data, that is, with respect to the energy at each time of a predetermined sound in a predetermined octave of the time-pitch data. , The filter processing using a low-pass filter having a coefficient of 0.4 is performed.
これらのA21乃至A24の部分は、前処理用フィルタを構成する各単位フィルタを示しており、時間‐音程データに対して、A21の部分により示される単位フィルタによるフィルタ処理乃至A24の部分により示される単位フィルタによるフィルタ処理が順番に施される。 These A21 to A24 portions indicate the respective unit filters constituting the preprocessing filter. The time-pitch data is indicated by the filter processing by the unit filter indicated by the A21 portion to the A24 portion. Filter processing by the unit filter is performed in order.
したがって、図8Bに示す前処理用フィルタを用いた前処理として、時間‐音程データに対し、時間方向に対する微分処理、絶対値を求める演算処理、順序付けを行う処理、およびローパスフィルタを用いたフィルタ処理が順番に施される。 Therefore, as preprocessing using the preprocessing filter shown in FIG. 8B, time-pitch data differential processing in the time direction, calculation processing for obtaining absolute values, processing for ordering, and filter processing using a low-pass filter Are applied in order.
また、その他、前処理用フィルタを構成する単位フィルタとして、絶対値での正規化を行うためのフィルタ、時間方向または周波数方向に対して正規化を行うためのフィルタ、時間方向または周波数方向に対して、平均値が所定の値となるように正規化を行うためのフィルタ、時間方向または周波数方向に対して、平均値および分散が所定の値となるように正規化を行うためのフィルタなどを用いることができる。 In addition, as a unit filter constituting the preprocessing filter, a filter for normalizing with an absolute value, a filter for normalizing in the time direction or the frequency direction, with respect to the time direction or the frequency direction A filter for performing normalization so that the average value becomes a predetermined value, a filter for performing normalization so that the average value and variance become predetermined values in the time direction or the frequency direction, etc. Can be used.
さらに、前処理用フィルタを構成する単位フィルタとして、対数関数、指数関数などを用いた演算処理を施すフィルタ、べき乗を求める演算処理を施すフィルタ、加算、減算、乗算、除算、微分、積分などの演算処理を施すフィルタ、絶対値、2乗、平方根などを求める演算処理を施すフィルタ、バンドパスフィルタ、直流成分を除去するフィルタ、順序付けやピーク値の検出を行うための処理を施すフィルタ等を用いることができる。 Furthermore, as a unit filter constituting the preprocessing filter, a filter that performs arithmetic processing using a logarithmic function, an exponential function, etc., a filter that performs arithmetic processing for calculating a power, addition, subtraction, multiplication, division, differentiation, integration, etc. A filter that performs arithmetic processing, a filter that performs arithmetic processing to obtain an absolute value, a square, a square root, or the like, a bandpass filter, a filter that removes a DC component, a filter that performs processing for ordering or peak value detection, or the like is used. be able to.
なお、前処理用フィルタを用いた前処理においては、その処理前と処理後とで、処理されるデータ、すなわち時間‐音程データの形式が保たれたままとされる。つまり、前処理が施された時間‐音程データも、処理前の時間‐音程データと同様に、各時刻における各音のエネルギを示すデータとされる。 In the preprocessing using the preprocessing filter, the format of the data to be processed, that is, the time-pitch data is maintained before and after the processing. That is, the pre-processed time-pitch data is also data indicating the energy of each sound at each time, similarly to the pre-process time-pitch data.
図6のフローチャートの説明に戻り、時間‐音程データに前処理が施されると、ステップS12において、ビート検出部91は、前処理部61から供給された時間‐音程データからビートを検出する。すなわち、ビート検出部91は、時間‐音程データから、時間‐音程データにおける拍の位置を検出して、時間‐音程データにおける拍のそれぞれの位置を示すビート情報と時間‐音程データとをビート毎特徴量抽出部92に供給する。
Returning to the description of the flowchart of FIG. 6, when pre-processing is performed on the time-pitch data, the
例えば、ビート検出部91は、時間‐音程データにより示される各オクターブにおける12平均率のそれぞれの高さの12の音のエネルギの変化として、エネルギの時間方向の差分を求め、各時刻における音のエネルギの変化を、複数のオクターブのそれぞれの12の音について積算し、その結果をアタック情報とする。ここで、アタック情報とは、人間にビートを感じさせる音量の変化を時間に沿ってデータ化したものをいう。
For example, the
そして、ビート検出部91は、コードの検出の対象となっている楽曲において、最も基本となっている音の長さを検出する。すなわち、例えばビート検出部91は、時系列の情報であるアタック情報を通常の波形と見立てて、アタック情報にショートタイムフーリエ変換などの処理を施し、アタック情報から基本ピッチ(音程)抽出を行うことで最も基本となる音の長さを求める。例えば、楽曲において最も基本となっている音は、4分音符、8分音符、または16分音符で表される音である。なお、以下、楽曲において、最も基本となる音の長さを基本ビート周期と称する。
The
さらに、ビート検出部91は、時間‐音程データにより示される各オクターブにおけるそれぞれの12の音のデータに所定の信号処理を適用することにより、音程方向のエネルギの分散や単位時間当たりのピークの数などの楽曲特徴量を抽出し、楽曲特徴量とテンポとによる学習によって予め求められたデータに基づいて、抽出した楽曲特徴量からテンポを推定する。そして、ビート検出部91は、推定されたテンポと基本ビート周期とを用いて最終的なテンポを決定し、決定されたテンポ、すなわち拍の位置を示すビート情報と時間‐音程データとをビート毎特徴量抽出部92に供給する。
Furthermore, the
ステップS13において、ビート毎特徴量抽出部92は、ビート検出部91から供給された拍の位置を示すビート情報を基に、時間‐音程データの拍の範囲のそれぞれからコード判別用特徴量を抽出し、コード判別部93に供給する。
In step S <b> 13, the beat feature
例えば、ビート毎特徴量抽出部92は、時間‐音程データから、ビート情報で示される拍の位置を基に、所定の拍の位置から次の拍の位置までの拍の範囲のデータのみを切り出して、切り出された拍の範囲のデータで示されるエネルギを、時間で平均する。これにより、それぞれのオクターブにおける12平均率のそれぞれの高さの12の音毎のエネルギが求められる。
For example, the
さらに、ビート毎特徴量抽出部92は、例えば、7オクターブの、それぞれのオクターブにおける12平均率のそれぞれの高さの12の音毎のエネルギに重み付けし、7オクターブのそれぞれのオクターブの同じ音名の音のエネルギを加算して、音名で特定される12の音のそれぞれのエネルギを求める。ビート毎特徴量抽出部92は、12の音のそれぞれのエネルギを音名の音階の順に配置して、音階の順の音のエネルギを示すコード判別用特徴量を生成する。すなわち、例えば、ビート毎特徴量抽出部92は、重み付けされたエネルギのうち、各オクターブのCである音名の音のエネルギを加算して、Cである音名の音のエネルギを求める。
Further, the beat-by-beat feature
なお、ビート毎特徴量抽出部92は、時間‐音程データの拍の範囲からのビート毎のコード判別用特徴量として、ルートを判別するために用いられる特徴量(以下、ルート判別用特徴量と称する)とメジャーの和音であるかマイナーの和音であるかを判別するために用いられる特徴量(以下、メジャーマイナー判別用特徴量と称する)とを生成する。また、ルート判別用特徴量を生成する場合に用いられる、音のエネルギに重み付けするための重みと、メジャーマイナー判別用特徴量を生成する場合に用いられる、音のエネルギに重み付けするための重みとは、異なっている。
The beat feature
ビート毎にコード判別用特徴量が抽出されると、ステップS14において、コード判別部93は、フィルタ生成装置51から供給されたコード判別機により、ビート毎特徴量抽出部92から供給されたコード判別用特徴量からビート毎のコードを判別する。
When the chord discrimination feature value is extracted for each beat, the
例えば、コード判別部93は、図9に示すように、コード判別機を用いて、コード判別用特徴量としてのルート判別用特徴量およびメジャーマイナー判別用特徴量から、Cのメジャーコード、Cのマイナーコード、C#のメジャーコード、C#のマイナーコード、Dのメジャーコード、Dのマイナーコード、D#のメジャーコード、D#のマイナーコード、Eのメジャーコード、Eのマイナーコード、Fのメジャーコード、Fのマイナーコード、F#のメジャーコード、F#のマイナーコード、Gのメジャーコード、Gのマイナーコード、G#のメジャーコード、G#のマイナーコード、Aのメジャーコード、Aのマイナーコード、A#のメジャーコード、A#のマイナーコード、Bのメジャーコード、およびBのマイナーコードのうちの、拍の範囲の正しい和音を示すコードを、ビート(拍の範囲)毎に判別する。
For example, as shown in FIG. 9, the
ステップS15において、コード判別部93は、判別により得られたコードをビート毎のコードとして出力し、コード判別処理は終了する。なお、より詳細には、コード判別部93は、ビート毎のコードとして、そのコードのコード名を出力する。
In step S15, the
このようにして、信号処理装置52は、入力された時間‐音程データに前処理を施し、前処理が施された時間‐音程データから、ビート毎のコードを抽出して出力する。
In this way, the
このように、入力された時間‐音程データに前処理を施すことによって、時間‐音程データのうちの特徴の抽出に有用な成分をより強調し、特徴の抽出の妨げとなる成分を除去することができる。これにより、前処理の施された時間‐音程データから、より確実に所望する特徴を抽出することができる。 In this way, by applying pre-processing to the input time-pitch data, components useful for feature extraction in the time-pitch data are more emphasized, and components that hinder feature extraction are removed. Can do. This makes it possible to extract a desired feature more reliably from the pre-processed time-pitch data.
次に、前処理用フィルタおよびコード判別機の作成について説明する。図3に示した特徴抽出システムにおいては、時間‐音程データから特徴としての楽曲のコードを抽出するアルゴリズムは人間により構築されるが、そのアルゴリズムの一部、例えば前処理などはフィルタ生成装置51によって、GP(Genetic Programming)などにより構築される。
Next, creation of a preprocessing filter and a code discriminator will be described. In the feature extraction system shown in FIG. 3, an algorithm for extracting a song code as a feature from time-pitch data is constructed by a human, but a part of the algorithm, for example, pre-processing is performed by a
例えば、前処理に用いられる前処理用フィルタは、GPによって、単位フィルタの組み合わせを遺伝的に進化させることにより生成され、その前処理用フィルタに対応するコード判別機は、機械学習により生成される。 For example, a preprocessing filter used for preprocessing is generated by genetically evolving a combination of unit filters by GP, and a code discriminator corresponding to the preprocessing filter is generated by machine learning. .
図10は、前処理用フィルタおよびコード判別機を作成するフィルタ生成装置51の構成例を示すブロック図である。
FIG. 10 is a block diagram illustrating a configuration example of a
フィルタ生成装置51は、初期世代生成部121、遺伝子評価部122、および次世代生成部123から構成される。
The
初期世代生成部121は、信号処理装置52の前処理部61に供給される前処理用フィルタの候補であるいくつかの前処理用フィルタを生成する。なお、以下の説明において、前処理部61に供給される前処理用フィルタの候補である1つの前処理用フィルタを遺伝子と称し、特に、初期世代生成部121により生成された遺伝子を、初期世代の遺伝子と称する。初期世代生成部121は、単位フィルタを組み合わせて、いくつかの初期世代の遺伝子を生成し、遺伝子評価部122に供給する。
The initial
遺伝子評価部122は、初期世代生成部121から供給された遺伝子を評価し、その評価の結果を次世代生成部123に供給する。また、遺伝子評価部122は、次世代生成部123から供給された次世代の遺伝子、つまり最後に評価が行われた世代の遺伝子の次の世代の遺伝子を評価し、その評価の結果を次世代生成部123に供給する。そして、遺伝子評価部122は、繰り返し何世代かの遺伝子の評価を行って最終的な前処理用フィルタを選択し、選択した前処理用フィルタと、その前処理用フィルタに対応するコード判別機とを信号処理装置52に供給する。
The gene evaluation unit 122 evaluates the gene supplied from the initial
ここで、次世代の遺伝子とは、遺伝子評価部122において評価の対象とされている遺伝子を基準として、それらの基準となる遺伝子が用いられて生成された遺伝子をいう。したがって、例えば、初期世代に対する次世代の遺伝子、つまり初期世代の次の世代の遺伝子は、初期世代の遺伝子が用いられて生成された、初期世代の遺伝子の次に評価の対象となる遺伝子とされる。 Here, the next-generation gene refers to a gene that is generated using the genes that are the targets of evaluation in the gene evaluation unit 122 as a reference. Therefore, for example, the next generation gene for the early generation, that is, the gene of the next generation of the early generation, is the gene to be evaluated next to the gene of the early generation generated using the gene of the early generation. The
遺伝子評価部122は、教師データ保持部141、解析部142、前処理部143、教師データ分割部144、コード判別機学習部145、コード判別部146、および評価部147から構成される。
The gene evaluation unit 122 includes a teacher data holding unit 141, an
教師データ保持部141は、コード判別機の作成および遺伝子の評価に用いられる楽曲の音声データを教師データとして保持している。教師データ保持部141は、保持している教師データを、解析部142および教師データ分割部144に供給する。
The teacher data holding unit 141 holds, as teacher data, voice data of music used to create a code discriminator and evaluate genes. The teacher data holding unit 141 supplies the held teacher data to the analyzing
解析部142は、教師データ保持部141から供給された教師データに12音解析処理を施し、その結果得られた時間‐音程データを前処理部143に供給する。前処理部143は、初期世代生成部121または次世代生成部123から供給された各遺伝子について、遺伝子である前処理用フィルタを用いて、解析部142から供給された時間‐音程データのそれぞれに前処理を施して、コード判別機学習部145およびコード判別部146に供給する。したがって、例えば前処理部143に、遺伝子G11および遺伝子G12が供給された場合、前処理部143は、解析部142から供給された全ての時間‐音程データのそれぞれに、遺伝子G11を用いて前処理を施して、コード判別機学習部145およびコード判別部146に供給するとともに、解析部142から供給された全ての時間‐音程データのそれぞれに、遺伝子G12を用いて前処理を施して、コード判別機学習部145およびコード判別部146に供給する。
The
教師データ分割部144は、教師データ保持部141から供給された教師データを、コード判別機の学習に用いられる教師データである学習用データと、遺伝子の評価に用いられる教師データである評価用データとに無作為に分割する。そして、教師データ分割部144は、学習用データとされた教師データをコード判別機学習部145に供給し、評価用データとされた教師データを、評価部147に供給する。
The teacher
コード判別機学習部145は、前処理部143から供給された時間‐音程データと、教師データ分割部144から供給された学習用データとから機械学習により、遺伝子ごとに、その遺伝子に対応するコード判別機を作成し、コード判別部146および評価部147に供給する。
The code
コード判別部146は、コード判別機学習部145から供給されたコード判別機を用いて、前処理部143から供給された時間‐音程データからビート毎のコードを判別し、その判別結果を評価部147に供給する。すなわち、コード判別部146は、前処理部143から供給された時間‐音程データのうち、所定の遺伝子が用いられて前処理が施された時間‐音程データについては、その遺伝子により前処理が施された時間‐音程データが用いられて作成されたコード判別機を用いてコードを判別する。
The
評価部147は、教師データ分割部144から供給された評価用データと、コード判別部146から供給されたコードの判別結果とを用いて、コードの判別の精度を求めて各遺伝子を評価し、その評価結果を次世代生成部123に供給する。すなわち、教師データとされる楽曲の音声データについては、その楽曲のビート毎の正しいコードのコード名である正解コード名が予め知られているので、評価部147は、コード判別機により判別されたコードのうちの評価用データに対応する音声データのコードと、予め知らされている正解コード名とを比較することにより遺伝子の評価を行う。
The
また、評価部147は、繰り返して何世代かの遺伝子を評価し、最後に評価した世代の遺伝子の評価の結果を示す評価値のうちの最も高い評価値、つまり最も評価の高い遺伝子の評価値が、例えば予め定められた閾値以上であるなどの所定の条件を満たす場合、その最も高い評価値の遺伝子、およびその遺伝子に対応するコード判別機を、信号処理装置52の前処理部61およびコード判別部93に供給する。
The
次世代生成部123は、評価の対象となっている遺伝子、すなわち初期世代生成部121から供給された初期世代の遺伝子、または次世代生成部123が生成した遺伝子を用いて、評価部147から供給されたそれらの遺伝子の評価の結果に基づいて、次世代の遺伝子を生成して前処理部143および評価部147に供給する。
The next
次世代生成部123は、選択部151、突然変異処理部152、交差処理部153、およびランダム生成部154を備えている。
The next
次世代生成部123の選択部151は、評価部147により最後に評価された世代の遺伝子の評価の結果に基づいて、最後に評価された世代の遺伝子のうち、評価の高かったいくつかの遺伝子を選択し、選択した遺伝子を次世代の遺伝子とする。
The
突然変異処理部152は、評価部147により最後に評価された世代の遺伝子の評価の結果に基づいて、評価の高かったいくつかの遺伝子に突然変異処理を施して次世代の遺伝子を生成する。すなわち、突然変異処理部152は、評価の高かったいくつかの遺伝子のそれぞれについて、遺伝子の一部、つまり遺伝子を構成する単位フィルタのうちのいくつかを、無作為に選択した他の単位フィルタに変更することによって新たな遺伝子を生成し、生成された遺伝子を次世代の遺伝子とする。
The
交差処理部153は、評価部147により最後に評価された世代の遺伝子の評価の結果に基づいて、評価の高かったいくつかの遺伝子に交差処理を施して次世代の遺伝子を生成する。すなわち、交差処理部153は、評価の高かったいくつかの遺伝子のそれぞれについて、遺伝子の一部、つまり遺伝子を構成する単位フィルタのうちのいくつかを、同じ世代の他の遺伝子を構成する単位フィルタに変更することによって新たな遺伝子を生成し、生成された遺伝子を次世代の遺伝子とする。
Based on the result of the evaluation of the gene of the last generation evaluated by the
ランダム生成部154は、無作為に選択した単位フィルタを組み合わせることによって、新たな遺伝子(前処理用フィルタ)を生成し、生成した遺伝子を次世代の遺伝子とする。次世代生成部123は、このようにして選択部151乃至ランダム生成部154により生成された次世代の遺伝子を、評価部147および前処理部143に供給する。
The
図11は、図10のコード判別機学習部145のより詳細な構成例を示すブロック図である。コード判別機学習部145は、ビート毎特徴量抽出部181、追加部182、シフト処理部183、およびコード判別機生成部184から構成される。
FIG. 11 is a block diagram illustrating a more detailed configuration example of the code
ビート毎特徴量抽出部181は、前処理部143から供給された時間‐音程データから、ビートを検出してビート毎の音声のコード判別用特徴量を抽出し、追加部182に供給する。追加部182は、教師データ分割部144から供給された学習用データである教師データに、予め知られている正解コード名と、ビート毎特徴量抽出部181から供給されたコード判別用特徴量とを追加して、シフト処理部183に供給する。
The beat feature
シフト処理部183は、追加部182から供給された教師データに追加(付加)されたコード判別用特徴量と正解コード名とを1音分ずつシフトさせて教師データに追加して、コード判別機生成部184に供給する。コード判別機生成部184は、シフト処理部183から供給された学習用データとしての教師データから、機械学習により各遺伝子に対応するコード判別機を作成(生成)し、コード判別部146および評価部147に供給する。
The
図12は、図10のコード判別部146のより詳細な構成例を示すブロック図である。コード判別部146は、ビート毎特徴量抽出部211および判別部212から構成される。
FIG. 12 is a block diagram illustrating a more detailed configuration example of the
ビート毎特徴量抽出部211は、前処理部143から供給された時間‐音程データから、ビートを検出してビート毎の音声のコード判別用特徴量を抽出し、判別部212に供給する。判別部212は、コード判別機学習部145のコード判別機生成部184から供給されたコード判別機を用いて、ビート毎特徴量抽出部211から供給されたコード判別用特徴量から、音声データのビート毎のコードを判別し、評価部147に供給する。ここで、判別部212は、供給されたコード判別用特徴量のうち、所定の遺伝子が用いられて前処理が施された時間‐音程データから抽出されたコード判別用特徴量と、その遺伝子に対応するコード判別機とからコードを判別する。
The beat feature
次に、図13のフローチャートを参照して、フィルタ生成装置51が前処理用フィルタを生成する処理である、前処理用フィルタ生成処理について説明する。
Next, a preprocessing filter generation process, which is a process in which the
ステップS41において、初期世代生成部121は、初期世代の遺伝子を生成して、前処理部143および次世代生成部123に供給する。すなわち、初期世代生成部121は、1または複数の単位フィルタを組み合わせて遺伝子としての前処理用フィルタの候補をいくつか生成し、生成された遺伝子のそれぞれを初期世代の遺伝子とする。
In step S <b> 41, the initial
ステップS42において、フィルタ生成装置51は、評価の対象となる遺伝子のそれぞれに対して評価処理を行う。なお、評価処理の詳細については後述するが、この評価処理において、評価の対象となっている世代の遺伝子のそれぞれについて、それらの遺伝子を前処理用フィルタとして用いた場合のコードの判別精度を示す評価値が求められる。
In step S42, the
評価処理が行われて、各遺伝子の評価値が求められると、ステップS43において、評価部147は、評価値が変化しなくなったか否かを判定する。例えば、評価部147は、遺伝子の評価値のうちの最も高い評価値と、前回求めた評価値、すなわち前の世代の遺伝子の評価値のうちの最も高い評価値との差を求め、今回求めた評価値の差、前回求められた評価値の差、および前々回求められた評価値の差のそれぞれが、予め定められた閾値以下である場合、つまり評価値が殆ど変化しなくなった場合、評価値が変化しなくなったと判定する。
When the evaluation process is performed and the evaluation value of each gene is obtained, in step S43, the
また、例えば、遺伝子の評価値のうち最も高い評価値が、予め定められた閾値以上である場合に、充分な精度でコードを抽出するための遺伝子が得られたとして、評価値が変化しなくなったと判定されるようにしてもよい。 In addition, for example, when the highest evaluation value among gene evaluation values is equal to or higher than a predetermined threshold, the evaluation value does not change as a gene for extracting a code with sufficient accuracy is obtained. It may be determined that
ステップS43において、評価値が変化したと判定された場合、すなわち、まだ充分な精度でコードを抽出するための遺伝子が得られていないと判定された場合、次世代の遺伝子を生成するので、評価部147は、各遺伝子の評価結果である評価値を次世代生成部123に供給し、処理はステップS44に進む。
If it is determined in step S43 that the evaluation value has changed, that is, if it has been determined that a gene for extracting a code with sufficient accuracy has not yet been obtained, a next-generation gene is generated. The
ステップS44において、次世代生成部123の選択部151は、評価部147から供給された遺伝子の評価値に基づいて、評価された遺伝子のうち、評価値の高いいくつかの遺伝子を選択し、選択した遺伝子を次世代の遺伝子とする。
In step S44, the
例えば、最後に評価された遺伝子が、初期世代の遺伝子である場合、選択部151は、初期世代生成部121から供給された初期世代の遺伝子のうち、評価値の高いいくつかの遺伝子を選択して次世代の遺伝子とする。また、例えば、最後に評価された遺伝子が、初期世代の遺伝子でない場合、つまり次世代生成部123により生成された遺伝子である場合、選択部151は、前回、選択部151乃至ランダム生成部154により生成された遺伝子のうち、評価値の高いいくつかの遺伝子を選択して次世代の遺伝子とする。
For example, when the last evaluated gene is an initial generation gene, the
ステップS45において、突然変異処理部152は、評価部147から供給された遺伝子の評価値に基づいて、評価値の高かったいくつかの遺伝子に突然変異処理を施して次世代の遺伝子を生成する。すなわち、突然変異処理部152は、評価値の高かったいくつかの遺伝子のそれぞれについて、遺伝子を構成する単位フィルタのうちのいくつかを、無作為に選択した他の単位フィルタに変更することによって新たな遺伝子を生成し、次世代の遺伝子とする。
In step S45, based on the gene evaluation values supplied from the
ステップS46において、交差処理部153は、評価部147から供給された遺伝子の評価値に基づいて、評価値の高かったいくつかの遺伝子に交差処理を施して次世代の遺伝子を生成する。すなわち、交差処理部153は、評価値の高かったいくつかの遺伝子のそれぞれについて、遺伝子を構成する単位フィルタのうちのいくつかを、同じ世代の他の遺伝子を構成する単位フィルタに変更することによって新たな遺伝子を生成し、次世代の遺伝子とする。
In step S46, based on the gene evaluation values supplied from the
ステップS47において、ランダム生成部154は、無作為に選択した単位フィルタを組み合わせることによって新たな遺伝子(前処理用フィルタの候補)を生成し、次世代の遺伝子とする。
In step S47, the
なお、ステップS45の処理およびステップS46の処理においても、ステップS44の処理における場合と同様に、最後に評価された遺伝子が、初期世代の遺伝子である場合、初期世代生成部121から供給された初期世代の遺伝子が用いられて次世代の遺伝子が生成され、最後に評価された遺伝子が、次世代生成部123、すなわち選択部151乃至ランダム生成部154により生成された遺伝子である場合、それらの次世代生成部123により生成された遺伝子が用いられて次世代の遺伝子が生成される。
In the process of step S45 and the process of step S46, as in the case of the process of step S44, when the last evaluated gene is an early generation gene, the initial stage supplied from the initial
次世代生成部123は、このようにして選択部151乃至ランダム生成部154により次世代の遺伝子が生成されると、生成された次世代の遺伝子を評価部147および前処理部143に供給する。そして、次世代の遺伝子が評価部147および前処理部143に供給されると、処理はステップS42に戻り、新たに生成された次世代の遺伝子のそれぞれの評価が行われる。
When the next generation gene is generated by the
また、ステップS43において、遺伝子の評価値が変化しなくなったと判定された場合、すなわち充分な精度でコードを抽出するための遺伝子が得られた場合、ステップS48において、評価部147は、最後に評価された遺伝子のうち、最も評価値の高い遺伝子を選択し、選択された遺伝子、つまり前処理用フィルタと、その前処理用フィルタに対応するコード判別機とを出力する。
If it is determined in step S43 that the evaluation value of the gene has ceased to change, that is, if a gene for extracting a code with sufficient accuracy is obtained, the
すなわち、評価部147は、次世代生成部123から供給された、最後に評価の対象となった世代の遺伝子のうちの、選択された最も評価値の高い遺伝子(前処理用フィルタ)を前処理部61に供給するとともに、コード判別機学習部145から供給された、最後に評価の対象となった世代の遺伝子に対応するコード判別機のうちの、選択された遺伝子を用いて前処理が行われた時間‐音程データからコードを判別するためのコード判別機、つまり選択された遺伝子が用いられて前処理が施された時間‐音程データから作成されたコード判別機を、コード抽出部62に供給する。選択された前処理用フィルタとコード判別機とが出力されると、前処理用フィルタ生成処理は終了する。
That is, the
このようにして、フィルタ生成装置51は、前処理用フィルタおよびコード判別機を作成する。このように、時間‐音程データから楽曲のコードを抽出するアルゴリズムを人間により構築し、そのアルゴリズムにおいて用いられる前処理フィルタと、コード判別機とをフィルタ生成装置51により生成することで、精度よく楽曲のコードを抽出することのできるアルゴリズムを生成することができる。
In this way, the
すなわち、前処理用フィルタの候補を遺伝子として、繰り返し次の世代の遺伝子を生成して評価を行って評価値の高い遺伝子を前処理用フィルタとすることで、より精度よく楽曲のコードを抽出することができる前処理用フィルタおよびコード判別機を生成することができる。そして、生成した前処理用フィルタおよびコード判別機を、人間の先見知識を生かして、少ない教師データから構築されたアルゴリズムにおいて用いることで、アルゴリズムによるコードの抽出の精度を向上させることができ、その結果、より確実に特徴を抽出することができるアルゴリズムを簡単に得ることができる。 In other words, the pre-processing filter candidate is used as a gene, the next generation gene is repeatedly generated and evaluated, and a gene with a high evaluation value is used as the pre-processing filter, so that the music code can be extracted more accurately. Preprocessing filters and code discriminators that can be generated can be generated. And, by using the generated preprocessing filter and code discriminator in an algorithm constructed from a small amount of teacher data by utilizing human foresight knowledge, the accuracy of code extraction by the algorithm can be improved. As a result, an algorithm that can extract features more reliably can be easily obtained.
特徴抽出システムにおいては、人間により構築されたアルゴリズムにおいて用いられる前処理用フィルタ、およびコード判別機がフィルタ生成装置51により生成されるので、フィルタ生成装置51により、精度の高いアルゴリズムが半自動的に構築されるということができる。
In the feature extraction system, a pre-processing filter and a code discriminator used in an algorithm constructed by a human are generated by the
次に、図14のフローチャートを参照して、図13のステップS42の処理に対応する評価処理について説明する。この評価処理は、評価の対象となる遺伝子ごとに行われる。すなわち、各遺伝子のそれぞれに対して評価処理が行われる。 Next, an evaluation process corresponding to the process of step S42 of FIG. 13 will be described with reference to the flowchart of FIG. This evaluation process is performed for each gene to be evaluated. That is, an evaluation process is performed for each gene.
ステップS81において、解析部142は、教師データ保持部141から供給された教師データである音声データに12音解析処理を施し、その結果得られた時間‐音程データを前処理部143に供給する。すなわち、解析部142は、音声データによる音声を複数のオクターブの成分に分けて、さらにそれぞれのオクターブにおける12平均率のそれぞれの高さの12の音のエネルギを求めることで、オクターブ毎の12の音のそれぞれのエネルギを示す時間‐音程データを求める。
In step S <b> 81, the
ステップS82において、前処理部143は、初期世代生成部121または次世代生成部123から供給された遺伝子を用いて、解析部142から供給された時間‐音程データに前処理を施す。そして、前処理部143は、前処理が施された時間‐音程データを、コード判別機学習部145のビート毎特徴量抽出部181、およびコード判別部146のビート毎特徴量抽出部211に供給する。
In step S <b> 82, the
例えば、初期世代の遺伝子の評価が行われる場合、初期世代生成部121から前処理部143には初期世代の遺伝子が供給されるので、前処理部143は、初期世代生成部121から供給された初期世代の遺伝子を用いて前処理を行う。また、初期世代より後の世代の遺伝子、つまり次世代生成部123により生成された遺伝子の評価が行われる場合、次世代生成部123から前処理部143には、評価の対象となる新たな世代の遺伝子が供給されるので、前処理部143は、次世代生成部123から供給された遺伝子を用いて前処理を行う。
For example, when an initial generation gene is evaluated, since the initial generation gene is supplied from the initial
より詳細には、前処理部143は、解析部142から供給された全ての時間‐音程データについて、時間‐音程データに各遺伝子のそれぞれを用いて前処理を施す。従って、例えば、前処理部143に遺伝子G41および遺伝子G42が供給された場合、前処理部143は、全ての時間‐音程データについて、遺伝子G41を用いた前処理を施すとともに、遺伝子G42を用いた前処理を施す。これにより、1つの時間‐音程データに対して、遺伝子G41が用いられて前処理が施された時間‐音程データと、遺伝子G42が用いられて前処理が施された時間‐音程データとが得られる。
More specifically, the
ステップS83において、教師データ分割部144は、教師データ保持部141から供給された教師データを、学習用データと評価用データとに分割する。すなわち、教師データ分割部144は、教師データ保持部141から供給された教師データのそれぞれについて、学習用データとするか、または評価用データとするかを無作為に選択していくことで、教師データを学習用データと評価用データとに分割する。
In step S83, the teacher
そして、教師データ分割部144は、分割の結果、学習用データとされた教師データを、コード判別機学習部145の追加部182に供給するとともに、評価用データとされた教師データを評価部147に供給する。
Then, the teacher
ステップS84において、コード判別機学習部145のビート毎特徴量抽出部181は、前処理部143から供給された時間‐音程データから、コード判別用特徴量を抽出し、追加部182に供給する。
In step S <b> 84, the beat-by-beat feature
例えば、ビート毎特徴量抽出部181は、ビート検出部91と同様の処理を行って、基本ビート周期を求めることにより時間‐音程データから拍の位置を検出し、さらにビート毎特徴量抽出部92と同様の処理を行い、時間‐音程データの拍の範囲のそれぞれについて、それぞれのオクターブの12平均率のそれぞれの高さの12の音毎のエネルギに重み付けし、それぞれのオクターブにおける同じ音名の音のエネルギを加算して、音名で特定される12の音のそれぞれのエネルギを求めることにより、ルート判別用特徴量とメジャーマイナー判別用特徴量とを生成し、これらの特徴量をコード判別用特徴量とする。
For example, the beat-by-beat feature
ステップS85において、追加部182は、ビート毎特徴量抽出部181から供給されたコード判別用特徴量と、学習用データについて予め知られているビート毎の正解コード名とを、学習用データとしての教師データに追加する。
In step S85, the adding
例えば、追加部182には、図15に示すように、教師データとしての音声データにより再生される楽曲について、予めその楽曲のコード進行が知らされている。図15には、教師データとしての音声データにより再生される楽曲としての楽曲1乃至楽曲3と、それらの楽曲のコード進行とが示されている。なお、図中、より左側に位置するコード名が、その楽曲の開始位置により近い拍の範囲の正解コード名とされている。
For example, as shown in FIG. 15, the adding
楽曲1のコード進行は、楽曲1の最初の拍の範囲のコード名がCであり、その後順番にEマイナーであるコード、Aマイナーであるコード、Cであるコード、Fであるコード、Eマイナーであるコード、Dマイナーであるコード、およびGであるコードとされている。
The chord progression of the
また、楽曲2のコード進行は、楽曲2の最初の拍の範囲のコード名がDマイナーであり、その後順番にB♭(フラット)であるコード、Cであるコード、Aマイナーであるコード、B♭であるコード、Fであるコード、Gであるコード、およびCであるコードとされている。さらに、楽曲3のコード進行は、楽曲3の最初の拍の範囲のコード名がGであり、その後順番にDであるコード、Fであるコード、Cであるコード、Dであるコード、Gであるコード、Dであるコード、Fであるコード、C♯であるコード、およびE♭であるコードとされている。
The chord progression of the
さらに、また、追加部182には、各楽曲について、楽曲におけるコードの開始時刻および終了時刻、すなわち各拍の範囲の開始時刻および終了時刻も予め知らされている。したがって、例えば、追加部182には、楽曲1の最初のコード(コード名がCであるコード)の開始時刻が楽曲1の開始時刻であり、終了時刻が開始時刻から13秒後の時刻であることなどが予め知らされている。
Furthermore, the adding
追加部182は、供給された学習用データとしての教師データに対して、ビート毎特徴量抽出部181から供給されたその教師データのコード判別用特徴量と、予め知らされている教師データの正解コード名とを追加する。ここで、追加部182は、学習用データとしての教師データから抽出されたコード判別用特徴量ごとに、教師データに対してコード判別用特徴量と正解コード名とを追加する処理を行う。なお、追加部182には、評価用データとされた教師データは供給されないので、追加部182に供給されたコード判別用特徴量のうち、評価用データとしての教師データから抽出されたコード判別用特徴量については、コード判別用特徴量の教師データへの追加は行われない。
For the teacher data as the supplied learning data, the adding
例えば、追加部182に学習用データとしての教師データD1および教師データD2が供給されるとともに、遺伝子G41が用いられて前処理された教師データD1(より詳細には、教師データD1から得られた時間‐音程データ)から抽出されたコード判別用特徴量F11、遺伝子G41が用いられて前処理された教師データD2から抽出されたコード判別用特徴量F12、遺伝子G42が用いられて前処理された教師データD1から抽出されたコード判別用特徴量F21、および遺伝子G42が用いられて前処理された教師データD2から抽出されたコード判別用特徴量F22が供給されたとする。
For example, the teacher data D1 and the teacher data D2 as learning data are supplied to the adding
この場合、追加部182は、コード判別用特徴量F11と正解コード名とが追加された教師データD1、コード判別用特徴量F12と正解コード名とが追加された教師データD2、コード判別用特徴量F21と正解コード名とが追加された教師データD1、およびコード判別用特徴量F22と正解コード名とが追加された教師データD2を、シフト処理部183に供給する。
In this case, the adding
図14のフローチャートの説明に戻り、学習用データにコード判別用特徴量と正解コード名とが追加されると、ステップS86において、シフト処理部183は、追加部182から供給された各教師データについて、教師データのビート毎のコード判別用特徴量と正解コード名とを1音分シフトする。
Returning to the description of the flowchart of FIG. 14, when the code determination feature amount and the correct code name are added to the learning data, the
ステップS87において、シフト処理部183は、1音分シフトされたコード判別用特徴量と正解コード名とを教師データに追加する。
In step S87, the
ステップS88において、シフト処理部183は、ステップS86およびステップS87において行われる処理、つまりビート毎のコード判別用特徴量と正解コード名とを1音分シフトして教師データに追加する処理を11回繰り返したか否かを判定する。
In step S88, the
例えば、図16で示されるように、ビート毎のコード判別用特徴量に対応するビート毎のコードによって示される正しいコードの名前である正解コード名がDである場合、C,C#,D,D#,E,F,F#,G,G#,A,A#、およびBのそれぞれの音名の音のエネルギを示すデータが順に配置されているルート判別用特徴量およびメジャーマイナー判別用特徴量が、追加部182によって、Dである正解コード名とともに教師データに追加される。
For example, as shown in FIG. 16, when the correct code name that is the name of the correct code indicated by the code for each beat corresponding to the chord discrimination feature value for each beat is D, C, C #, D, D #, E, F, F #, G, G #, A, A #, and B data for indicating the energy of each of the pitch names are arranged in order. The feature amount is added to the teacher data by the adding
そして、シフト処理部183は、C#,D,D#,E,F,F#,G,G#,A,A#,B、およびCのそれぞれの音名の音のエネルギを示すデータが順に配置されるように、ルート判別用特徴量およびメジャーマイナー判別用特徴量における音のエネルギを示すデータの配置をシフトし、正解コード名をC#にシフトする。シフト処理部183は、C#,D,D#,E,F,F#,G,G#,A,A#,B、およびCのそれぞれの音名の音のエネルギを示すデータが順に配置されているルート判別用特徴量およびメジャーマイナー判別用特徴量を、C#である正解コード名とともに、教師データに追加する。
The
さらに、シフト処理部183は、D,D#,E,F,F#,G,G#,A,A#,B,C、およびC#のそれぞれの音名の音のエネルギを示すデータが順に配置されるように、ルート判別用特徴量およびメジャーマイナー判別用特徴量における音のエネルギを示すデータの配置をさらにシフトし、正解コード名をDにシフトする。シフト処理部183は、D,D#,E,F,F#,G,G#,A,A#,B,C、およびC#のそれぞれの音名の音のエネルギを示すデータが順に配置されているルート判別用特徴量およびメジャーマイナー判別用特徴量を、Dである正解コード名とともに、教師データに追加する。
Further, the
このように、ルート判別用特徴量およびメジャーマイナー判別用特徴量における、音のエネルギを示すデータの配置のシフトが11回繰り返されて、1つのルート判別用特徴量から、12のデータが教師データに追加され、1つのメジャーマイナー判別用特徴量から、12のデータが教師データに追加されることになる。 As described above, the shift of the arrangement of the data indicating the sound energy in the route distinguishing feature amount and the major / minor distinguishing feature amount is repeated 11 times, so that 12 pieces of data from one route distinguishing feature amount are teacher data. 12 data are added to the teacher data from one major / minor discrimination feature quantity.
追加部182およびシフト処理部183は、供給された全ての学習データの全ての拍の範囲について、コード判別用特徴量と正解コード名とを学習データとしての教師データに追加する処理を行う。
The adding
図14のフローチャートの説明に戻り、ステップS88において、11回繰り返していないと判定された場合、処理はステップS86に戻り、11回繰り返したと判定されるまで、上述した処理が繰り返される。 Returning to the description of the flowchart of FIG. 14, if it is determined in step S88 that the process has not been repeated 11 times, the process returns to step S86, and the above-described process is repeated until it is determined that the process has been repeated 11 times.
これに対して、ステップS88において、11回繰り返したと判定された場合、シフト処理部183は、コード判別用特徴量と正解コード名とが追加された教師データをコード判別機生成部184に供給し、処理はステップS89に進む。
On the other hand, if it is determined in step S88 that the repetition has been performed 11 times, the
ステップS89において、コード判別機生成部184は、各遺伝子について、シフト処理部183から供給された教師データを用いて、機械学習によりコード判別機を生成(作成)し、生成したコード判別機をコード判別部146の判別部212、および評価部147に供給する。
In step S89, the code
すなわち、コード判別機生成部184は、供給された教師データのうち、同じ遺伝子が用いられて前処理された時間‐音程データから抽出されたコード判別用特徴量が付加されている教師データを用いて、その遺伝子に対応するコード判別機、つまりその遺伝子が用いられて前処理が施された時間‐音程データから、正しいコードを抽出するためのコード判別機を生成する。
That is, the chord
例えば、コード判別機生成部184は、kNN(k-Nearest Neighbor)、SVM(Support Vector Machine)、Naive Bayes、最も距離が近いコードを正解とするマハラノビス距離、または最も確率が高いコードを正解とするGMM(Gaussian Mixture Model)などにより、コード判別機を機械学習で生成(作成)する。
For example, the
ステップS90において、コード判別部146のビート毎特徴量抽出部211は、前処理部143から供給された時間‐音程データからコード判別用特徴量を抽出し、判別部212に供給する。
In step S 90, the beat feature
例えば、ビート毎特徴量抽出部211は、ビート毎特徴量抽出部181と同様の処理を行って、基本ビート周期を求めることにより時間‐音程データから拍の位置を検出し、さらに時間‐音程データの拍の範囲のそれぞれについて、それぞれのオクターブにおける12平均率のそれぞれの高さの12の音毎のエネルギに重み付けし、それぞれのオクターブの同じ音名の音のエネルギを加算して、音名で特定される12の音のそれぞれのエネルギを求めることにより、ルート判別用特徴量とメジャーマイナー判別用特徴量とを生成し、これらの特徴量をコード判別用特徴量とする。
For example, the beat-by-beat feature
ステップS91において、判別部212は、コード判別機生成部184から供給されたコード判別機を用いて、ビート毎特徴量抽出部211から供給されたコード判別用特徴量からビート毎のコードを判別する。
In step S91, the
例えば、判別部212は、所定の遺伝子が用いられて前処理が施された時間‐音程データから抽出されたコード判別用特徴量に対しては、その所定の遺伝子に対応するコード判別機を用いてビート毎のコードを判別する。
For example, the discriminating
ステップS92において、ビート毎特徴量抽出部211は、前処理部143から供給された全ての時間‐音程データについて、コードの判別が行われたか否かを判定する。
In step S92, the beat-by-beat feature
ステップS92において、まだ全ての時間‐音程データについてコードの判別が行われていないと判定された場合、処理はステップS90に戻り、上述した処理が繰り返される。 If it is determined in step S92 that chord determination has not been performed for all time-pitch data, the process returns to step S90 and the above-described process is repeated.
これに対して、ステップS92において、全ての時間‐音程データについてコードの判別が行われたと判定された場合、判別部212は、判別により得られたビート毎のコード名を評価部147に供給し、処理はステップS93に進む。
On the other hand, if it is determined in step S92 that chord discrimination has been performed for all time-pitch data, the
ステップS93において、評価部147は、判別部212から供給されたコード名を1つ選択し、そのコード名が正しく判別されたか否かを判定する。
In step S93, the
すなわち、判別部212から評価部147には、学習用データとされた教師データから抽出されたコード名と、評価用データとされた教師データから抽出されたコード名とが供給される。評価部147は、判別部212から供給されたコード名のうち、評価用データとされた教師データから抽出されたコード名を用いて、各遺伝子の評価を行う。
That is, the code name extracted from the teacher data set as learning data and the code name extracted from the teacher data set as evaluation data are supplied from the
例えば、評価部147は、供給されたコード名のうち、評価の対象となっている所定の遺伝子が用いられて前処理が施された時間‐音程データから抽出されたコード名を用いて、その評価の対象である所定の遺伝子の評価を行う。評価部147には、予め評価用データである教師データの楽曲の正解コードが知らされているので、評価部147は、判別部212から供給されたコード名であって、所定の遺伝子を評価するために用いられるコード名から1つのコード名を選択し、その選択されたコード名と、対応する正解コード名とを比較して、コードが正しく判別されたか否かを判定する。
For example, the
ステップS93において、正しく判別されたと判定された場合、ステップS94において、評価部147は、保持しているコードの判別の正解数を1インクリメントする。
If it is determined in step S93 that the determination is correct, in step S94, the
例えば、評価部147は、各遺伝子について、判別部212から供給されたコード名であって、その遺伝子を評価するために用いられるコード名のうち、コード名が正しく判別された数を示す正解数と、コード名が正しく判別されなかった数を示す不正解数とを保持している。ステップS93において、選択された1つのコード名が正しく判別されたと判定された場合、評価部147は、保持している正解数をインクリメントする。
For example, for each gene, the
これに対して、ステップS93において、正しく判別されなかったと判定された場合、ステップS95において、評価部147は、保持している不正解数を1インクリメントする。
On the other hand, if it is determined in step S93 that it has not been correctly determined, in step S95, the
ステップS94において正解数がインクリメントされるか、ステップS95において不正解数がインクリメントされると、ステップS96において、評価部147は、現在評価の対象となっている遺伝子を評価するために用いられる全てのコード名について、評価を行ったか否か、つまり遺伝子の評価に用いられる全ての評価用データについて、コード名が正しく判別されたか否かの評価を行ったかを判定する。
When the number of correct answers is incremented in step S94 or the number of incorrect answers is incremented in step S95, in step S96, the
ステップS96において、全てのコード名について評価を行っていないと判定された場合、処理はステップS93に戻り、判別部212から供給された次の1つのコード名が選択されて評価が行われる。なお、ステップS93乃至ステップS95の処理は、評価の対象となる全ての遺伝子について行われる。
If it is determined in step S96 that all code names have not been evaluated, the process returns to step S93, and the next one code name supplied from the
これに対して、ステップS96において、全てのコード名について評価を行ったと判定された場合、ステップS97において、評価部147は、各遺伝子についての正解数と、不正解数とに基づいて、各遺伝子の評価値を計算し、処理は図13のステップS43に進む。例えば、評価部147は、1つの遺伝子についての正解数と不正解数とに基づいて、コードの判別の正解率を、その遺伝子の評価値として算出する。
On the other hand, if it is determined in step S96 that all the code names have been evaluated, in step S97, the
このようにして、フィルタ生成装置51は、生成された遺伝子のそれぞれの評価を行う。このように、生成された遺伝子の評価を行うことによって、評価の高い遺伝子を用いて次世代の遺伝子を生成することができるので、遺伝子の世代が進むにしたがって、より確実に楽曲のコードを抽出するための前処理用フィルタおよびコード判別機を生成することができる。
In this way, the
換言すれば、遺伝子の世代が進むにしたがって、音声データのうちの、特徴抽出に有用な成分をより強調し、不要な成分を除去することができる前処理用フィルタを得ることができる。 In other words, as the gene generation progresses, it is possible to obtain a preprocessing filter that can emphasize components useful for feature extraction in audio data and remove unnecessary components.
なお、以上においては、前処理用フィルタを用いた前処理は、その処理前と処理後とで、処理されるデータ、すなわち時間‐音程データの形式が保たれたままとされる処理であると説明したが、処理前と処理後とで、データの形式が変化する処理を前処理とするようにしてもよい。そのような場合、フィルタ生成装置51において、データの形式が変化した、前処理が施された時間‐音程データから楽曲のコードを抽出するためのコード判別機が生成される。
In the above, the preprocessing using the preprocessing filter is processing in which the format of the data to be processed, that is, the time-pitch data is maintained before and after the processing. As described above, the process in which the data format changes before and after the process may be set as the preprocess. In such a case, the
また、以上においては、楽曲の時間‐音程データからコードを抽出する例について説明したが、その他、静止画像、動画像、テキスト(文字列)などが入力データとして信号処理装置12に入力され、信号処理装置12において、入力データから所望する特徴が抽出されるようにすることもできる。そのような場合、フィルタ生成装置11は、入力データから特徴を抽出するための前処理用フィルタと、判別機とを生成する。
In the above description, the example of extracting the chord from the time-pitch data of the music has been described. In addition, still images, moving images, texts (character strings), and the like are input to the
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。 The series of processes described above can be executed by hardware or can be executed by software. When a series of processing is executed by software, a program constituting the software executes various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a program recording medium in a general-purpose personal computer or the like.
図17は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記録部308に記録されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが適宜記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
FIG. 17 is a block diagram illustrating an example of the configuration of a personal computer that executes the above-described series of processing using a program. A CPU (Central Processing Unit) 301 executes various processes according to a program recorded in a ROM (Read Only Memory) 302 or a
CPU301にはまた、バス304を介して入出力インターフェース305が接続されている。入出力インターフェース305には、キーボード、マウス、マイクロホンなどよりなる入力部306、ディスプレイ、スピーカなどよりなる出力部307が接続されている。CPU301は、入力部306から入力される指令に対応して各種の処理を実行する。そして、CPU301は、処理の結果を出力部307に出力する。
An input /
入出力インターフェース305に接続されている記録部308は、例えばハードディスクからなり、CPU301が実行するプログラムや各種のデータを記録する。通信部309は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
The
また、通信部309を介してプログラムを取得し、記録部308に記録してもよい。
Alternatively, the program may be acquired via the
入出力インターフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア331が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部308に転送され、記録される。
The
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図17に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア331、または、プログラムが一時的もしくは永続的に格納されるROM302や、記録部308を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部309を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
As shown in FIG. 17, a program recording medium that stores a program that is installed in a computer and is ready to be executed by the computer includes a magnetic disk (including a flexible disk), an optical disk (CD-ROM (Compact Disc-Read Only). Memory, DVD (Digital Versatile Disc), a magneto-optical disk, a
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In the present specification, the step of describing the program stored in the program recording medium is not limited to the processing performed in time series in the described order, but is not necessarily performed in time series. Or the process performed separately is also included.
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。 The embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
11 フィルタ生成装置, 12 信号処理装置, 21 前処理部, 22 特徴抽出処理部, 51 フィルタ生成装置, 52 信号処理装置, 61 前処理部, 62 コード抽出部, 92 ビート毎特徴量抽出部, 93 コード判別部, 121 初期世代生成部, 122 遺伝子評価部, 123 次世代生成部, 141 教師データ保持部, 143 前処理部, 145 コード判別機学習部, 146 コード判別部, 147 評価部, 151 選択部, 152 突然変異処理部, 153 交差処理部, 154 ランダム生成部, 181 ビート毎特徴量抽出部, 182 追加部, 183 シフト処理部, 184 コード判別機生成部, 211 ビート毎特徴量抽出部, 212 判別部
DESCRIPTION OF
Claims (8)
前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施す前処理手段と、
前記前処理が施された前記教師データから、前記特徴を抽出する抽出手段と、
前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する評価手段と
を備える情報処理装置。 A filter generating means for generating a candidate filter that is a candidate for a preprocessing filter used for preprocessing applied to the data to be extracted from the data when a predetermined feature is extracted from the data;
Using the candidate filter, pre-processing means for performing the pre-processing on teacher data used for evaluation of the candidate filter;
Extraction means for extracting the features from the pre-processed teacher data;
When the feature is extracted from the teacher data that has been pre-processed using the candidate filter, the feature extracted by the extraction unit is an evaluation value of the candidate filter that indicates an evaluation of the feature extraction And an evaluation means for calculating based on the characteristics to be extracted from the teacher data obtained in advance.
前記評価手段は、前記新たな候補フィルタの評価値のそれぞれを計算する
請求項1に記載の情報処理装置。 The filter generation means further generates a plurality of new candidate filters using some of the candidate filters based on each of the evaluation values of the plurality of candidate filters,
The information processing apparatus according to claim 1, wherein the evaluation unit calculates each evaluation value of the new candidate filter.
請求項2に記載の情報処理装置。 When the highest evaluation value among the evaluation values calculated at the end satisfies a predetermined condition, the evaluation unit uses the candidate filter having the highest evaluation value as a preprocessing filter used for the preprocessing. The information processing apparatus according to claim 2.
請求項3に記載の情報処理装置。 If the highest evaluation value among the evaluation values calculated last does not satisfy the condition, the filter generation means may generate the candidate generated last based on the evaluation value calculated last. The information processing apparatus according to claim 3, further generating a plurality of new candidate filters by using some of the filters.
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the preprocessing filter is a filter that performs processing while maintaining a format of the data.
請求項1に記載の情報処理装置。 Based on the teacher data that has been subjected to the preprocessing using the candidate filter and the characteristics to be extracted from the teacher data that have been obtained in advance, the candidate filter is used to perform the preprocessing. The information processing apparatus according to claim 1, further comprising: a discriminator creating unit that creates a discriminator for extracting the feature from the data by machine learning.
前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施し、
前記前処理が施された前記教師データから、抽出手段により前記特徴を抽出し、
前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する
ステップを含む情報処理方法。 When a predetermined feature is extracted from data, a candidate filter that is a candidate for a preprocessing filter used for preprocessing applied to the data to be extracted is generated.
Using the candidate filter, the preprocessing is performed on the teacher data used for the evaluation of the candidate filter,
The feature is extracted from the teacher data subjected to the preprocessing by an extraction unit,
When the feature is extracted from the teacher data that has been pre-processed using the candidate filter, the feature extracted by the extraction unit is an evaluation value of the candidate filter that indicates an evaluation of the feature extraction And an information processing method including a step of calculating based on the characteristics to be extracted from the teacher data obtained in advance.
前記候補フィルタを用いて、前記候補フィルタの評価に用いられる教師データに、前記前処理を施し、
前記前処理が施された前記教師データから、抽出手段により前記特徴を抽出し、
前記候補フィルタが用いられて前処理が施された前記教師データから前記特徴を抽出した場合における、前記特徴の抽出の評価を示す前記候補フィルタの評価値を、前記抽出手段により抽出された前記特徴と、予め求められている前記教師データから抽出されるべき特徴とを基に計算する
ステップを含む処理をコンピュータに実行させるプログラム。 When a predetermined feature is extracted from data, a candidate filter that is a candidate for a preprocessing filter used for preprocessing applied to the data to be extracted is generated.
Using the candidate filter, the preprocessing is performed on the teacher data used for the evaluation of the candidate filter,
The feature is extracted from the teacher data subjected to the preprocessing by an extraction unit,
When the feature is extracted from the teacher data that has been pre-processed using the candidate filter, the feature extracted by the extraction unit is an evaluation value of the candidate filter that indicates an evaluation of the feature extraction And a program for causing a computer to execute a process including a step of calculating based on the characteristics to be extracted from the teacher data obtained in advance.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007013830A JP2008181294A (en) | 2007-01-24 | 2007-01-24 | Information processing apparatus, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007013830A JP2008181294A (en) | 2007-01-24 | 2007-01-24 | Information processing apparatus, method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008181294A true JP2008181294A (en) | 2008-08-07 |
Family
ID=39725157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007013830A Pending JP2008181294A (en) | 2007-01-24 | 2007-01-24 | Information processing apparatus, method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008181294A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018180197A1 (en) * | 2017-03-28 | 2018-10-04 | 日本電気株式会社 | Data analysis device, data analysis method and data analysis program |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10307805A (en) * | 1997-05-09 | 1998-11-17 | Mitsubishi Heavy Ind Ltd | Autonomous evolution type system |
JP2002300091A (en) * | 2001-03-30 | 2002-10-11 | National Institute Of Advanced Industrial & Technology | Adjustment method for equalizing filter circuit for digital communication, and equalizing filter circuit for digital communication used for execution of the adjustment method |
WO2006013514A1 (en) * | 2004-07-26 | 2006-02-09 | Koninklijke Philips Electronics N.V. | System and method for automated suspicious object boundary determination |
JP2007102458A (en) * | 2005-10-04 | 2007-04-19 | Yamaguchi Univ | Method for automatically drawing notice portion by image processing, device therefor and recording medium recording program |
JP2007213480A (en) * | 2006-02-13 | 2007-08-23 | Yokohama National Univ | Automatic evolutional image classification device, filter structure generation method and program |
-
2007
- 2007-01-24 JP JP2007013830A patent/JP2008181294A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10307805A (en) * | 1997-05-09 | 1998-11-17 | Mitsubishi Heavy Ind Ltd | Autonomous evolution type system |
JP2002300091A (en) * | 2001-03-30 | 2002-10-11 | National Institute Of Advanced Industrial & Technology | Adjustment method for equalizing filter circuit for digital communication, and equalizing filter circuit for digital communication used for execution of the adjustment method |
WO2006013514A1 (en) * | 2004-07-26 | 2006-02-09 | Koninklijke Philips Electronics N.V. | System and method for automated suspicious object boundary determination |
JP2007102458A (en) * | 2005-10-04 | 2007-04-19 | Yamaguchi Univ | Method for automatically drawing notice portion by image processing, device therefor and recording medium recording program |
JP2007213480A (en) * | 2006-02-13 | 2007-08-23 | Yokohama National Univ | Automatic evolutional image classification device, filter structure generation method and program |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018180197A1 (en) * | 2017-03-28 | 2018-10-04 | 日本電気株式会社 | Data analysis device, data analysis method and data analysis program |
JPWO2018180197A1 (en) * | 2017-03-28 | 2020-01-23 | 日本電気株式会社 | Data analysis device, data analysis method and data analysis program |
US11593299B2 (en) | 2017-03-28 | 2023-02-28 | Nec Corporation | Data analysis device, data analysis method and data analysis program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4465626B2 (en) | Information processing apparatus and method, and program | |
US7649137B2 (en) | Signal processing apparatus and method, program, and recording medium | |
KR101193265B1 (en) | Information processing device, information processing method, and computer readable recording medium | |
US7601907B2 (en) | Signal processing apparatus and method, program, and recording medium | |
US9040805B2 (en) | Information processing apparatus, sound material capturing method, and program | |
TWI426501B (en) | A method and apparatus for melody recognition | |
JP2007121457A (en) | Information processor, information processing method, and program | |
JP2002116754A (en) | Tempo extraction device, tempo extraction method, tempo extraction program and recording medium | |
Ganguli et al. | Data-driven exploration of melodic structure in Hindustani music | |
Jensen et al. | Real-time beat estimationusing feature extraction | |
Zhang et al. | Melody extraction from polyphonic music using particle filter and dynamic programming | |
Salamon et al. | Statistical Characterisation of Melodic Pitch Contours and its Application for Melody Extraction. | |
JP2007121456A (en) | Information processor, information processing method, and program | |
Maruo et al. | A feedback framework for improved chord recognition based on NMF-based approximate note transcription | |
Schramm et al. | Automatic Solfège Assessment. | |
JP2007122186A (en) | Information processor, information processing method and program | |
Ramirez et al. | Performance-based interpreter identification in saxophone audio recordings | |
JP2008181294A (en) | Information processing apparatus, method and program | |
CN113192471B (en) | Musical main melody track recognition method based on neural network | |
Yang et al. | A Multi-stage Automatic Evaluation System for Sight-singing | |
JP2009110212A (en) | Information processor, information processing method, and program | |
Rolland | Chord detection using chromagram optimized by extracting additional features | |
Giraldo et al. | Optimizing melodic extraction algorithm for jazz guitar recordings using genetic algorithms | |
KR101140737B1 (en) | Apparatus for extracting fundamental frequency, apparatus and method for extracting vocal melody | |
JP5262875B2 (en) | Follow-up evaluation system, karaoke system and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120531 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120925 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121025 |