(57)【特許請求の範囲】
【請求項１】
音を入力する入力手段と、
前記入力手段によって入力された音の音域ごとの成分を算出する算出手段と、
音域ごとの成分に基づいて和音を識別する機械学習により、前記算出手段の算出結果を用いて前記入力手段によって入力された音に含まれる和音を識別する識別手段と、
を備え、
前記識別手段は、
音域ごとの成分に基づいて所定の音を識別する第１の機械学習により、前記算出手段の算出結果を用いて、前記入力手段によって入力された音に含まれる第１の音を識別する第１の識別処理を実行し、
前記第１の識別処理を実行した後、音域ごとの成分および前記第１の音に基づいて所定の音を識別する第２の機械学習により、前記算出手段の算出結果および前記第１の識別処理による識別結果を用いて、前記入力手段によって入力された音に含まれる前記第１の音以外の第２の音を識別して、前記入力手段によって入力された音に含まれる和音を識別する第２の識別処理を実行する、識別装置。
【請求項２】
前記算出手段は、音域の高さに応じて予め定められた順序に各音域の成分を並べて構成されるデータ列を生成し、生成したデータ列を前記成分として算出し、
前記識別手段は、
前記データ列を用いて、前記第１の識別処理を実行し、
前記第１の識別処理の識別結果に応じて前記データ列の順序を変更し、順序を変更したデータ列を用いて、前記第２の識別処理を実行する、
請求項１に記載の識別装置。
【請求項３】
前記算出手段は、前記入力手段によって入力された音の音域ごとの振幅および位相を前記成分として算出する、
請求項１又は２に記載の識別装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、和音の識別装置に関する。
【背景技術】
【０００２】
特許文献１は、音源の種別を判定する装置を開示する。この装置によると、音のスペクトル分布がいくつかの周波数帯域にサブバンド化され、サブバンド化されたスペクトル分布がニューラルネットワークに入力され音源の種別が判定されるので、正確に音響の音源種別を識別することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３３３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ギターなどの楽器を使用すると、和音が発生する。楽器では、和音はコードとして識別される。コードには、基本となるトライアドコードとともに用いられる（トライアドコードに付加される）テンションコードや７ｔｈコードといった複雑なコードがある。テンションコードや７ｔｈコードを用いたコード同士は、互いに識別することが難しいこともある。たとえばギターを弾いたときにそのような複雑なコードに対応する和音がきちんと発生したかどうかを、ギターの演奏者が確認したい場合がある。しかしながら、音に関する識別に係る技術として、上述した特許文献１に示されるような音源種別を識別する技術は提案されているものの、和音を識別する技術は提案されていない。したがって、和音を精度よく識別することができる技術が要望されている。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、和音を精度良く識別することが可能な識別装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る識別装置は、音を入力する入力手段と、入力手段によって入力された音の音域ごとの成分を算出する算出手段と、音域ごとの成分に基づいて和音を識別する機械学習により、算出手段の算出結果を用いて入力手段によって入力された音に含まれる和音を識別する識別手段と、を備える。
【０００７】
上記の識別装置では、音域ごとの成分に基づいて和音を識別する機械学習により、入力された音の音域ごとの成分の算出結果を用いて入力された音に含まれる和音が識別される。このように機械学習により和音を識別することで、和音を精度良く識別することができる。
【０００８】
識別手段は、音域ごとの成分に基づいて所定の音を識別する第１の機械学習により、算出手段の算出結果を用いて、入力手段によって入力された音に含まれる第１の音を識別する第１の識別処理を実行し、第１の識別処理を実行した後、音域ごとの成分および第１の音に基づいて所定の音を識別する第２の機械学習により、算出手段の算出結果および第１の識別処理による識別結果を用いて、入力手段によって入力された音に含まれる第１の音以外の第２の音を識別して、入力手段によって入力された音に含まれる和音を識別する第２の識別処理を実行する。
【０００９】
たとえば、第１の音をトライアドコードの音に設定し、第２の音をトライアドコードとともに用いられるテンションコードや７ｔｈコードの音に設定しておくことが考えられる。その場合、第１の機械学習をトライアドコードの識別に特化した機械学習とすることができるので、第１の機械学習による第１の識別処理の精度を高めることができる。また、第２の機械学習をテンションコードや７ｔｈコードの識別に特化した機械学習とすることができるので、第２の機械学習による第２の識別処理の精度を高めることができる。そして、第２の識別処理によってテンションコードや７ｔｈコードが識別されれば、第１の処理によって識別されたトライアドコードと併せて、その音に含まれる和音を識別することができる。このように高い識別精度を有する第１および第２の２段階の識別処理を実行することによって、和音の識別精度をさらに向上させることができる。
【００１０】
その場合、算出手段は、音域の高さに応じて予め定められた順序に各音域の成分を並べて構成されるデータ列を生成し、生成したデータ列を上述の成分として算出し、識別手段は、データ列を用いて、第１の識別処理を実行し、第１の識別処理の識別結果に応じてデータ列の順序を変更し、順序を変更したデータ列を用いて、第２の識別処理を実行してもよい。このように順序を変更したデータ列を用いて第２の識別処理を実行することによって、データ列の順序を変更することなく第２の識別処理を実行する場合よりも、たとえば上述のようなテンションコードや７ｔｈコードの識別精度をさらに向上させることができる。
【００１１】
算出手段は、入力手段によって入力された音の音域ごとの振幅および位相を成分として算出してもよい。これにより、音域ごとの振幅のみを成分として算出しその算出結果から和音を識別する場合よりも、識別精度を向上させることができる。
【発明の効果】
【００１２】
本発明によれば、和音を精度良く識別することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】識別装置の概要を説明するための図である。
【図２】識別装置の概略構成を示す図である。
【図３】算出部による音の音域ごとの成分の算出の例を示す図である。
【図４】トライアドコード識別部およびテンションコード識別部の機械学習に用いられるニューラルネットワークの構成例を示す図である。
【図５】識別装置のハードウェア構成の例を示す図である。
【図６】識別装置において実行される処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照しながら説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
【００１５】
図１は、実施形態に係る識別装置の概要を説明するための図である。識別装置１０は、ギター１などの楽器で発生した音を識別する。ギター１で発生する音には、コードとして識別することができる和音が含まれる。識別装置１０はギター１で発生した音に含まれる和音を識別する。なお、ギター１などの楽器ではなく、オーディオ機器２で発生する音が、識別装置１０によって識別されてもよい。
【００１６】
図２は、識別装置１０の概略構成を示す図である。識別装置１０は、その機能ブロックとして、入力部１１と、算出部１２と、トライアドコード識別部１３と、テンションコード識別部１４と、出力部１５とを含む。
【００１７】
入力部１１は、識別装置１０において、音を入力する部分（入力手段）である。入力部１１は、たとえばマイクを含んで構成され、ギター１やオーディオ機器２など（図１）で発生した音を、電気信号などの信号に変換して取得する。信号の例は、音圧の時間変化を表す信号である。以下、入力部１１によって取得された信号を、単に「音」という場合もある。
【００１８】
算出部１２は、入力部１１によって入力された音の音域ごとの成分を算出する部分（算出手段）である。たとえば、算出部１２は、入力部１１によって入力された音の音域ごとの成分を算出する。算出の対象は、予め定められた期間における音の音域ごとの成分であってよい。予め定められた期間は、たとえばギター１が演奏された際に一つの和音が発生している期間（０．５秒程度）である。入力部１１による音の入力期間は予め定められた期間よりも長くてよく（たとえば１フレーズの演奏時間）、その場合、算出部１２は、入力部１１による音の入力期間を上述の予め定められた期間で区切り、区切った各期間における音の音域ごとの成分を算出してもよい。音域は周波数帯域で表すことができ、各音域は、予め定められた周波数範囲内において予め設定された異なる複数の周波数帯域に対応している。予め定められた周波数範囲は、ギター１で発生する和音に含まれ得るすべての音の周波数を含む周波数範囲である。この周波数範囲は、１オクターブ分の音だけでなく、２〜３オクターブ分あるいはそれよりも多いオクターブ分の音の周波数を含む周波数範囲であってよい。予め設定された異なる複数の周波数帯域は、予め定められた周波数範囲をたとえば１２分割した場合のそれぞれの周波数帯域である。それぞれの周波数帯域の帯域幅は同じであってもよいし異なっていてもよい。分割は１２分割に限られず、２４分割または３６分割あるいはそれ以外の数での分割であってもよい。
【００１９】
算出部１２は、音域の高さに応じて予め定められた順序に各音域の成分を並べて構成されるデータ列を、音の音域ごとの成分として算出する。予め定められた順序は、周波数の昇順または降順（音が高くなって行く順または低くなって行く順）である。なお、周波数の昇順（音が高くなっていく順）に並べられたデータ列であって、その成分がパワー（その音域での音のエネルギーでありたとえば振幅の大きさから求められる）で表されるものは、クロマベクトルとも称される。上述のように、音域は周波数帯域に対応するので、音の音域ごとの成分は、フーリエ変換処理を用いて算出することができる。これについて、図３を用いて具体的に、説明する。
【００２０】
図３は、算出部１２による音の音域ごとの成分の算出の例を示す図である。算出部１２は、まず、入力部１１によって入力された音に対して、フーリエ変換処理を実行する。このフーリエ変換処理により、図３の（ａ）の左側に示されるように、周波数とパワーとの関係を示すデータが得られる。次に、算出部１２は、図３の（ａ）の左側に示されるような周波数とパワーとの関係を示すデータについて、各音域に対応する周波数帯域ごとの値を集計する。集計値は、たとえば、その音域に対応する周波数帯域における中心周波数でのパワーの値であってもよいし、その音域に対応する周波数帯域における各周波数でのパワーの平均値であってもよい。算出部１２は、集計した音域ごとのパワーを音の高い順または低い順に並べて構成されるデータ列を生成する。これにより、図３の（ａ）の右側に示されるような音域とパワーとの関係を示すデータ列が得られる。この例では、データ列は、１２個の音域と、各音域のパワーとの関係を示している。ここで、音が高くなっていく順に各音域が並んでいる場合には、データ列はクロマベクトルとなる。
【００２１】
また、フーリエ変換処理により、図３の（ｂ）の左側に示されるような周波数と位相との関係を示すデータも得られる。算出部１２は、図３の（ｂ）の左側に示されるような周波数と位相との関係を示すデータについても、各音域に対応する周波数帯域ごとの値（音域ごとの位相の値）を集計する。集計の手法は、上述のパワーの場合と同様であってよい。算出部１２は、パワーの場合と同様に並べて構成されるデータ列を、集計した音域ごとの位相についても生成する。これにより、図３の（ｂ）の右側に示されるような音域と位相との関係を示すデータ列も得られる。
【００２２】
再び図２に戻り、次に、トライアドコード識別部１３およびテンションコード識別部１４について説明する。トライアドコード識別部１３およびテンションコード識別部１４は、算出部１２の算出結果を用いて入力部１１によって入力された音に含まれる和音を識別する部分（識別手段）である。トライアドコード識別部１３およびテンションコード識別部１４は、音域ごとの成分に基づいて和音を識別するための機械学習を行うように構成されている。本実施形態では、トライアドコード識別部１３と、テンションコード識別部１４とは、それぞれ異なる機械学習を行う。以下、トライアドコード識別部１３およびテンションコード識別部１４のそれぞれについて説明する。
【００２３】
トライアドコード識別部１３は、音域ごとの成分に基づいて入力部１１により入力された音に含まれる所定の音（第１の音）を識別する第１の機械学習を行う。第１の音は、予め設定されており、たとえばトライアドコードを構成する複数の音のうちのいずれかの音である。トライアドコード識別部１３は、第１の機械学習により、算出部１２の算出結果を用いて、入力部１１によって入力された音に含まれる音のうちトライアドコードの音を識別する処理（第１の識別処理）を実行する。
【００２４】
第１の識別処理および第１の機械学習を行うために、トライアドコード識別部１３は、ニューラルネットワークを有している。トライアドコード識別部１３が有するニューラルネットワークの構成例が、図４の（ａ）に示される。
【００２５】
図４の（ａ）に示されるように、第１の識別処理では、ニューラルネットワーク１３ａの入力は、音域ごとのパワーＰ１〜Ｐ１２および位相θ１〜θ１２である。この例では、パワーＰ１および位相θ１の音域が最も低い音域であり、パワーＰ１２および位相θ１２の音域が最も高い音域である。つまり、１２個の音域を音が高くなって行く順に並べて構成されるデータ列が、ニューラルネットワーク１３ａに入力されることになる。なお、パワーＰ１〜Ｐ１２と位相θ１〜θ１２のうち、パワーのＰ１〜Ｐ１２のみがニューラルネットワーク１３ａに入力されてもよい。ニューラルネットワーク１３ａの出力は、コードＣ、ＣｍおよびＢｍなどの各トライアドコードのそれぞれについての数値であってよい。この数値は、そのトライアドコードの音（３つの音）が、入力部１１によって入力された音に含まれているか否かの確度を示す。たとえば、ニューラルネットワーク１３ａの出力において最も確度の大きいトライアドコードが、入力部１１によって入力された音のトライアドコードとして識別される。すなわち、第１の識別処理では、入力部１１によって入力された音に、予め設定された複数の第１の音の組み合わせが含まれているか否かが識別される。なお、ニューラルネットワーク１３ａの出力においてすべてのトライアドコードの確度が予め設定されたしきい値を下回る場合には、入力部１１によって入力された音には、トライアドコードの音が含まれていないと判定されてもよく、その場合には、後述のテンションコード識別部１４による判定は行われなくてもよい。
【００２６】
以上説明した第１の識別処理を行うために、ニューラルネットワーク１３ａは、予め第１の機械学習を行っている。第１の機械学習では、いずれのトライアドコードの音を含んでいるのかということが予め分かっている音の音域ごとの成分を上述のデータ列としたものと、各トライアドコードの確度とを組み合わせたサンプルデータ（第１のサンプルデータ）を準備する。サンプルデータにおけるトライアドコードの確度は、たとえばトライアドコードがコードＣの場合には、コードＣの確度を最大値（たとえば１）とし、それ以外のトライアドコードの確度を最小値（たとえば０）としたものである。第１の機械学習では、さまざまなトライアドコードについての第１のサンプルデータをニューラルネットワーク１３ａに与えることによって、ニューラルネットワーク１３ａを学習させる。このような第１の機械学習を行ったニューラルネットワーク１３ａを用いて第１の識別処理を行うことによって、トライアドコード識別部１３は、トライアドコードの音を精度良く識別することができる。
【００２７】
再び図２に戻り、テンションコード識別部１４は、音域ごとの成分および第１の音（トライアドコードの音）に基づいて、第１の音以外の所定の音（第２の音）を識別する第２の機械学習を行う。第２の音は、予め設定されており、たとえばトライアドコードに付加されるテンションコードや７ｔｈコードの音である。テンションコード識別部１４は、第２の機械学習により、算出部１２の算出結果およびトライアドコード識別部１３の第１の識別処理による識別結果を用いて、入力部１１によって入力された音に含まれる第２の音を識別して、入力部１１によって入力された音に含まれる和音を識別する処理（第２の識別処理）を実行する。
【００２８】
第２の識別処理および第２の機械学習を行うために、テンションコード識別部１４も、トライアドコード識別部１３と同様にニューラルネットワークを有している。テンションコード識別部１４が有するニューラルネットワークの構成例が、図４の（ｂ）に示される。
【００２９】
図４の（ｂ）に示されるように、第２の識別処理では、ニューラルネットワーク１４ａの入力も、１２個の音域ごとのパワーおよび位相である。ただし、位相の入力は必須ではない。ここで、第２の処理においてニューラルネットワーク１４ａに入力されるデータ列の順序は、先に図４の（ａ）を参照して説明した第１の識別処理においてニューラルネットワーク１３ａに入力されるデータ列の順序と異なっていてもよい。これは、テンションコード識別部１４が、トライアドコード識別部１３の識別結果に応じて、算出部１２によって算出されたデータ列の順序を変更した後に、ニューラルネットワーク１４ａに入力するためである。
【００３０】
データ列の順序の変更（並べ替え）の手法としては次のような手法がある。たとえば、トライアドコード識別部１３による識別結果が、トライアドコードがＧであるという結果の場合、テンションコード識別部１４は、トライアドコードＧにおける最も低い音（いわゆるルート音であり、この場合はいわゆる１２音階で言う「ソ」に相当）の音域の成分が、データ列の最初の音域に位置するように、データ列をシフトさせる。シフト前のデータ列においてルート音よりも低い音の音域の成分は、それらの音域の並びを維持したまま、シフト前のデータ列における最後の音域以降に移動させる。たとえば、シフト前のデータ列では、図４の（ａ）に示されるように、パワーＰ１および位相θ１がデータ列の最初の音域に位置しており、パワーＰ１２および位相θ１２がデータ列の最後の音域に位置している。これに対し、シフト後のデータ列では、図４の（ｂ）に示されるように、パワーＰ６および位相θ６がデータ列の最初の音域に位置しており、シフト前のデータ列においてパワーＰ６および位相θ６よりも低い音の音域のパワーＰ１〜Ｐ５および位相θ１〜θ５は、それらの音域の並びを維持したまま、シフト前のデータ列における最後の音域であったパワーＰ１２および位相θ１２以降に移動している。このようにデータ列をシフトさせると、トライアドコードに付加されるテンションコードや７ｔｈコードが識別しやすくなる。この理由は、テンションコード識別部１４によって識別されるテンションコード等は、基準となるルート音から所定の音域だけ離れた音が含まれているものであり、どのトライアドコードでも共通のため、共通の識別器を利用できるためである。ニューラルネットワーク１４ａの出力は、Ｍ７ｔｈ、ｍ７ｔｈ、９ｔｈ、ｓｕｓ４といったテンションコードや７ｔｈコードのそれぞれについての数値であってよい。この数値は、そのテンションコードまたは７ｔｈコードの音（第２の音）が、入力部１１によって入力された音に含まれているか否かの確度を示す。たとえば、ニューラルネットワーク１４ａの出力において最も確度の大きいテンションコードまたは７ｔｈコードが、入力部１１によって入力された音のテンションコードまたは７ｔｈコードとして識別される。なお、ニューラルネットワーク１４ａの出力においてすべてのテンションコードまたは７ｔｈコードの確度が予め設定されたしきい値を下回る場合には、入力部１１によって入力された音には、テンションコードまたは７ｔｈコードの音が含まれていないと判定されてもよい。
【００３１】
以上説明した第２の識別処理を行うために、ニューラルネットワーク１４ａは、予め第２の機械学習を行っている。第２の機械学習では、いずれのトライアドコードと、テンションコードまたは７ｔｈコードで識別できる音を含んでいるのかということが予め分かっている音の音域ごとの成分を上述のデータ列としさらにそのトライアドコードに応じてデータ列の順序を変更したものと、各テンションコードまたは７ｔｈコードとを組み合わせたサンプルデータ（第２のサンプルデータ）を準備する。テンションコードまたは７ｔｈコードの確度は、たとえばコードＭ７ｔｈの場合には、コードＭ７ｔｈの確度を最大値（たとえば１）とし、それ以外のテンションコードおよび７ｔｈコードの確度を最小値（たとえば０）としたものである。第２の機械学習では、さまざまなテンションコードおよび７ｔｈコードについての第２のサンプルデータをニューラルネットワーク１４ａに与えることによって、ニューラルネットワーク１４ａを学習させる。このような第２の機械学習を行ったニューラルネットワーク１４ａを用いて第２の識別処理を行うことによって、テンションコード識別部１４は、トライアドコードだけでなくさらにテンションコードや７ｔｈコードを用いることによってはじめて識別できる音を精度良く識別することができる。そして、すでにトライアドコード識別部１３の第１の処理によってトライアドコードが分かっているので、テンションコード識別部１４は、トライアドコードおよびそのトライアドコードに付加されるテンションコードや７ｔｈコードを用いて、入力部１１によって入力された音に含まれる和音を識別することができる。これは、トライアドコードと、そのトライアドコードに付加されるテンションコードや７ｔｈコードとの組合せから、和音が一義的に特定されるためである。
【００３２】
再び図２に戻り、出力部１５は、テンションコード識別部１４の識別結果を出力する部分である。たとえば、入力部１１によって入力された音に含まれる和音を識別するためのコード（トライアドコード、および、テンションコードや７ｔｈコード）を示す情報が、文字や画像などを用いて表示される。あるいは、コードを示す情報が、識別装置１０において実行可能なアプリケーションで利用される。アプリケーションの例は、ギター１（図１）などの楽器で発生した音を識別するためのアプリケーションであり、より具体的には、ギター１の演奏者が意図していたコードを正しく弾けた場合にスコアを付与するといったゲームなどが考えられる。なお、テンションコード識別部１４がテンションコードや７ｔｈコードの音が入力部１１によって入力された音に含まれていないと判定した場合には、トライアドコード識別部１３によって識別されたトライアドコードのみが出力部１５によって出力される。トライアドコード識別部１３がトライアドコードの音が入力部１１によって入力された音に含まれていないと判定され、テンションコード識別部１４による第２の識別処理が実行されなかった場合には、入力部１１によって入力された音には和音は含まれていないことを示す情報が出力部１５によって出力されてもよい。
【００３３】
図５は、識別装置１０のハードウェア構成を示す。図５に示されるように、識別装置１０は、１つ以上のＣＰＵ（Central  Processing  Unit）１０１、主記憶装置であるＲＡＭ（Random  Access  Memory）１０２およびＲＯＭ（Read  Only  Memory）１０３、操作モジュール１０４、マイク１０５、通信モジュール１０６、ディスプレイ１０８等のハードウェアにより構成されている。通信モジュール１０６が無線通信を行う場合には、アンテナ１０７がさらに追加される。これらの構成要素がプログラム等により動作することで、先に図２を参照して説明した識別装置１０の各機能が発揮される。また、通信モジュール１０６が識別装置１０の外部のサーバと通信を行うことによって、識別装置１０の機能の一部を外部のサーバに実行させることもできる。この場合、識別装置１０と外部のサーバとの協働によって、本発明に係る識別装置が実現される。
【００３４】
図６は、識別装置１０において実行される処理の一例を示すフローチャートである。この処理は、たとえば、識別装置１０において、上述のアプリケーションが実行されたことに応じて開始される。
【００３５】
ステップＳ１において、識別装置１０では、音が入力される。たとえば、ギター１の演奏者が、トライアドコードの音およびそのトライアドコードに付加されるテンションコードの音を含む和音を発生させようとして、ギター１を演奏する。そして、識別装置１０の入力部１１が、ギター１で発生した音を取得する。
【００３６】
ステップＳ２において、フーリエ変換処理が実行される。具体的に、算出部１２が、先のステップＳ１で取得された音に対してフーリエ変換処理を実行する。フーリエ変換処理の対象となるのは、先に説明した一つの和音が発生している期間（たとえば０．５秒）の音である。
【００３７】
ステップＳ３において、音域ごとの成分が生成される。具体的に、算出部１２が、先のステップＳ２で実行されたフーリエ変換処理の結果を用いて、たとえば先に図３を参照して説明したような各音域の成分を算出する（データ列を生成する）。
【００３８】
ステップＳ４において、トライアドコードが識別される。具体的に、トライアドコード識別部１３が、先のステップＳ３で生成されたデータ列をニューラルネットワーク１３ａに入力する。そして、ニューラルネットワーク１３ａの出力から、先のステップＳ１で入力された音のトライアドコードを識別する。
【００３９】
ステップＳ５において、テンションコード等が識別される。具体的に、テンションコード識別部１４が、まず、先のステップＳ４でのトライアドコードの識別結果に応じて、先のステップＳ３で生成されたデータ列の順序を変更し、ニューラルネットワーク１４ａに入力する。そして、ニューラルネットワーク１４ａの出力から、先のステップＳ１で入力された音のテンションコードまたは７ｔｈコードを識別する。最後に、先のステップＳ４で識別されたトライアドコードと、ここで識別したテンションコードや７ｔｈコードとから、先のステップＳ１で入力された音の和音を識別する。
【００４０】
ステップＳ６において、識別結果が出力される。具体的に、出力部１５が、先のステップＳ４で識別されたコード（トライアドコード）および先のステップＳ５で識別されたコード（テンションコードや７ｔｈコード）を示す情報を表示する。これにより、ギター１の演奏者は、ギター１で発生した和音を確認することができる。コードを示す情報が、上述のようなアプリケーションのゲームに利用されてもよい。
【００４１】
以上説明した識別装置１０によれば、先に図４を参照して説明したような音域ごとの成分に基づいて和音を識別する機械学習により、入力された音の音域ごとの成分の算出結果を用いて入力された音に含まれる和音が識別される（ステップＳ４、Ｓ５）。このように機械学習により和音を識別することで、和音を精度良く識別することができる。たとえばコードＥＭ７は、１２音階におけるミ、ソ、シ、レという４つの音を示し、コードＧ７はファ、ソ、シ、レという４つの音を示す。この場合、コードＥｍ７とコードＧ７との相違は、ミおよびファという半音違いの音であるため識別しにくいが、識別装置１０によれば、各コードを精度良く識別できる。その他に、コードＣとコードＡｍ７とを識別したり、コードＣｍ７とコードＥｍとを識別したりすることもできる。
【００４２】
より具体的には、第１の機械学習はトライアドコードの識別に特化した機械学習であるので、トライアドコード識別部１３によってトライアドコードが精度良く識別される。また、第２の機械学習はテンションコードや７ｔｈコードの識別に特化した機械学習であるので、テンションコード識別部１４によってテンションコードや７ｔｈコードが精度良く識別される。このように、識別精度の高められた第１および第２の２段階の識別処理によって、和音の識別精度をさらに向上させることができる。たとえば上述のコードＥＭ７およびコードＧ７の場合のように構成音が似たコードを１段階の識別処理を用いて識別してもよいが、それよりも、３つの音を示すトライアドコードを高い精度で識別できるように機械学習された（チューニングされた）第１の識別処理と、トライアドコードが決定したこと（換言すれば、ルート音が決定したこと）を前提に４つ目の音を高い精度で識別できるように機械学習された（チューニングされた）第２の識別処理との２段階の識別処理を用いることによって、識別精度をさらに向上させることができる。ただし、本発明に係る識別装置は、２段階の識別処理を用いる構成に限定されるものではない。１段階の識別処理を用いた場合でも、機械学習を深めて行くこと等によって和音の識別精度をさらに向上させることもできる。
【００４３】
また、算出部１２は、算出した音域ごとの成分を、音域の高さに応じて音の高い順または低い順に並べ替えて構成されるデータ列を生成する（ステップＳ３）。そして、トライアドコード識別部１３は、生成されたデータ列を用いて第１の識別処理を実行する（ステップＳ４）。テンションコード識別部１４は、トライアドコード識別部１３の識別結果に応じて算出部１２によって生成されたデータ列の順序を変更し、変更したデータ列を用いて第２の識別処理を実行する（ステップＳ５）。このように順序を変更したデータ列を用いて第２の識別処理を実行することによって、データ列の順序を変更することなく第２の識別処理を実行する場合よりも、たとえば上述のようなテンションコードや７ｔｈコードの識別精度をさらに向上させることができる。なお、上述のようなデータ列の順序の変更に限らず、テンションコードや７ｔｈコードの識別精度を向上させることが可能なデータ列の変更の手法があれば、その手法が採用されてもよい。
【００４４】
算出部１２は、入力手段によって入力された音の音域ごとの振幅および位相を成分として算出してもよい（ステップＳ３）。これにより、音域ごとの振幅のみを成分として算出しその算出結果から和音を識別する場合よりも、識別精度を向上させることができる。
【符号の説明】
【００４５】
１…ギター、２…オーディオ機器、１０…識別装置、１１…入力部（入力手段）、１２…算出部（算出手段）、１３…トライアドコード識別部（識別手段）、１４…テンションコード識別部（識別手段）、１５…出力部。
【図１】
0006671245.tif 000002
【図２】
0006671245.tif 000003
【図３】
0006671245.tif 000004
【図４】
0006671245.tif 000005
【図５】
0006671245.tif 000006
【図６】
0006671245.tif 000007