(57)【要約】【課題】和音の識別精度を向上させること。【解決手段】楽器音認識装置１０は、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次取得する取得部１１と、取得部１１によって取得された録音データを格納する録音データ格納部１２と、録音データ格納部１２に格納されている録音データの音量を示すボリューム値に基づいて、和音の開始タイミングを判定する判定部１３と、判定部１３によって判定された開始タイミングから所定の時間範囲の録音データを識別対象データとして抽出する抽出部１４と、識別対象データを周波数解析し、周波数解析によって得られたスペクトルデータに基づいて和音を識別する識別部１５と、識別部１５によって識別された和音を示す識別結果を出力する出力部１６と、を備える。【選択図】図１
2018025613.tif 000002
【特許請求の範囲】
【請求項１】
楽器の音である楽器音を認識する楽器音認識装置であって、
前記楽器音を所定の時間単位でサンプリングし、サンプリングした前記楽器音を録音データとして順次取得する取得部と、
前記取得部によって取得された前記録音データを格納する格納部と、
前記格納部に格納されている前記録音データの音量を示すボリューム値に基づいて、和音の開始タイミングを判定する判定部と、
前記判定部によって判定された前記開始タイミングから所定の時間範囲の録音データを識別対象データとして抽出する抽出部と、
前記識別対象データを周波数解析し、周波数解析によって得られたスペクトルデータに基づいて和音を識別する識別部と、
前記識別部によって識別された前記和音を示す識別結果を出力する出力部と、
を備える楽器音認識装置。
【請求項２】
前記判定部は、前記格納部に格納されている前記録音データを時系列に配列した場合の所定の位置の前記録音データを判定対象データとし、前記判定対象データと、前記判定対象データよりも時間的に古い１以上の前記録音データと、を用いて、前記判定対象データに前記開始タイミングが含まれるか否かを判定する、請求項１に記載の楽器音認識装置。
【請求項３】
前記判定部は、前記ボリューム値を入力し、前記判定対象データに開始タイミングが含まれていることの尤もらしさを示す第１尤度を出力する第１ニューラルネットワークを備え、
前記判定部は、前記第１尤度に基づいて、前記判定対象データに前記開始タイミングが含まれるか否かを判定する、請求項２に記載の楽器音認識装置。
【請求項４】
前記識別部は、前記スペクトルデータから各音階のパワー値を計算し、前記パワー値に基づいて、前記和音を識別する、請求項１〜請求項３のいずれか一項に記載の楽器音認識装置。
【請求項５】
前記識別部は、第２ニューラルネットワークを備え、
前記第２ニューラルネットワークは、各音階に対応した複数の入力ノードと、各和音に対応した複数の出力ノードと、を備え、
前記複数の入力ノードのそれぞれは、当該入力ノードに対応した音階の前記パワー値を入力し、
前記複数の出力ノードのそれぞれは、当該出力ノードに対応した和音の尤もらしさを示す第２尤度を出力し、
前記識別部は、前記第２尤度に基づいて、前記和音を識別する、請求項４に記載の楽器音認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽器音認識装置に関する。
【背景技術】
【０００２】
近年、音楽の分野において、機械学習を用いて楽器音を認識する技術等が発展してきている。例えば、特許文献１には、ピアノからの楽音をピックアップして音響信号（録音データ）に変換し、音響信号に高速フーリエ変換（Fast  Fourier  Transform：ＦＦＴ）を施すことによって和音を判定する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１６３７６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
和音を識別するためには、ある程度の時間区間の録音データを周波数解析する必要がある。しかしながら、例えば、ギターの演奏音では、ピッキングするごとに和音（コード）が変わる。このため、解析対象となる時間区間を適切に選択しなければ、複数の和音を含む録音データを解析することとなり、和音の識別精度が低下するおそれがある。
【０００５】
本発明は、和音の識別精度を向上可能な楽器音認識装置を提供する。
【課題を解決するための手段】
【０００６】
本発明の一側面に係る楽器音認識装置は、楽器の音である楽器音を認識する装置である。この楽器音認識装置は、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次取得する取得部と、取得部によって取得された録音データを格納する格納部と、格納部に格納されている録音データの音量を示すボリューム値に基づいて、和音の開始タイミングを判定する判定部と、判定部によって判定された開始タイミングから所定の時間範囲の録音データを識別対象データとして抽出する抽出部と、識別対象データを周波数解析し、周波数解析によって得られたスペクトルデータに基づいて和音を識別する識別部と、識別部によって識別された和音を示す識別結果を出力する出力部と、を備える。
【０００７】
この楽器音認識装置では、楽器音を所定の時間単位でサンプリングして得られた録音データのボリューム値に基づいて、和音の開始タイミングが判定される。和音が切り替わるときに、音量が急激に増える傾向がある。このため、録音データのボリューム値を用いることで、和音の開始タイミングを判定することができる。また、この開始タイミングから所定の時間範囲の録音データを識別対象データとして、識別対象データの周波数解析が行われ、周波数解析によって得られたスペクトルデータに基づいて和音の識別が行われる。例えば、ギターの演奏音では、ピッキングするごとに和音が変わる。このように、和音の開始タイミングから所定の時間範囲の録音データには、識別対象となる和音以外の別の和音が含まれる可能性が低い。このため、和音の開始タイミングから所定の時間範囲の録音データを用いて和音の識別を行うことによって、和音の識別精度を向上させることが可能となる。
【発明の効果】
【０００８】
本発明によれば、和音の識別精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】楽器音認識装置の機能構成を示すブロック図である。
【図２】図１に示される楽器音認識装置のハードウェア構成を示す図である。
【図３】図１に示される録音データ格納部の構成例を示す図である。
【図４】図１に示される判定部が備えるニューラルネットワークの構成例を示す図である。
【図５】図１に示される識別部の処理を説明するための図である。
【図６】図１に示される識別部が備えるニューラルネットワークの構成例を示す図である。
【図７】図１に示される楽器音認識装置が行う楽器音認識方法の一連の処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１１】
図１は、楽器音認識装置の機能構成を示すブロック図である。図１に示される楽器音認識装置１０は、楽器によって演奏された音である楽器音の和音構成を認識するための装置である。例えば、楽器音としてギターの演奏音が用いられる。和音は、コードとも呼ばれる。
【００１２】
楽器音認識装置１０は、機能的には、取得部１１と、録音データ格納部１２（格納部）と、判定部１３と、抽出部１４と、識別部１５と、出力部１６と、を備えている。楽器音認識装置１０は、例えば、図２に示されるハードウェアによって構成されている。
【００１３】
図２は、楽器音認識装置１０のハードウェア構成を示す図である。図２に示されるように、楽器音認識装置１０は、物理的には、１又は複数のプロセッサ１００１、主記憶装置であるメモリ１００２、ハードディスク又は半導体メモリ等のストレージ１００３、ネットワークカード等のデータ送受信デバイスである通信装置１００４、入力装置１００５、及びディスプレイ等の出力装置１００６等を含むコンピュータシステムとして構成されている。図１に示される各機能は、図２に示されるメモリ１００２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、プロセッサ１００１の制御のもとで入力装置１００５、出力装置１００６、及び通信装置１００４を動作させるとともに、メモリ１００２及びストレージ１００３におけるデータの読み出し及び書き込みを行うことで実現される。
【００１４】
再び図１を参照して、楽器音認識装置１０の各機能の詳細を説明する。
【００１５】
取得部１１は、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次取得（録音）する。サンプリング周波数は、例えば、１６０００Ｈｚである。サンプリングされた楽器音は、サンプル（音響信号）といい、時系列に配列された所定数（ｍ個；ｍは１以上の整数）のサンプルをまとめて録音データ（フレーム）という。各サンプルは、当該サンプルが取得された時点での楽器音の振幅値（音量）であって、例えば、１６ビットで表される。
【００１６】
取得部１１は、各サンプルを時系列に（サンプリングされた順に）配列し、所定数のサンプルごとに録音データとする。１つの録音データに含まれるサンプルの数ｍは、例えば、２５６である。サンプリング周波数が１６０００Ｈｚである場合、録音データは、０．０１６秒程度の楽器音に相当する。取得部１１は、楽器音を繰り返しサンプリングし続け、録音データを取得し続ける。取得部１１は、各録音データを録音データ格納部１２に順次出力する。
【００１７】
録音データ格納部１２は、取得部１１から録音データを順次受け取り、取得部１１によって取得された録音データを格納する。図３に示されるように、録音データ格納部１２は、例えば、ＦＩＦＯ（First  In  First  Out）バッファで構成される。この場合、録音データ格納部１２に格納可能な数の録音データが格納されると、録音データ格納部１２は、録音データ格納部１２に格納されている録音データのうち最も古い（最初に格納された）録音データを破棄し、新しい録音データを格納する。つまり、録音データ格納部１２は、複数の録音データを一時的に格納（バッファリング）する。
【００１８】
録音データ格納部１２は、格納されている録音データのうち、判定対象データを含む所定数（ｎ個；ｎは１以上の整数）の録音データを判定部１３に出力する。判定対象データは、判定部１３によって和音の開始タイミングが含まれるか否かの判定の対象となる録音データである。録音データ格納部１２に格納されている録音データを時系列に配列した場合の所定の位置の録音データが判定対象データとされる。判定部１３に出力されるｎ個の録音データには、判定対象データと、判定対象データよりも時間的に古い１以上の録音データと、が含まれる。
【００１９】
録音データ格納部１２は、判定対象データと、判定対象データよりも時間的に新しい１以上の録音データと、判定対象データよりも時間的に古い１以上の録音データと、を判定部１３に出力してもよい。録音データ格納部１２は、格納されている全ての録音データを判定部１３に出力してもよい。録音データ格納部１２は、新しい録音データを格納するたびに、ｎ個の録音データを判定部１３に出力する。図３の例では、録音データ格納部１２に格納されている録音データＦ１〜Ｆｎのうち、２番目に新しい録音データＦ２が判定対象データであり、録音データ格納部１２に格納されている全ての録音データが判定部１３に出力される。
【００２０】
判定部１３は、録音データ格納部１２から受け取ったｎ個の録音データに基づいて、和音の開始タイミングを判定する。和音の開始タイミングとは、一連の楽器音において、各和音が開始するタイミングである。判定部１３は、判定対象データに和音の開始タイミングが含まれているか否かを判定する。例えば、ギターの演奏では、ピッキングが行われるごとに和音が開始される。この場合、判定部１３は、例えば、判定対象データにおいてピッキングが行われたか否かを判定することによって、当該判定対象データが和音の開始タイミングを含むか否かを判定する。判定対象データは、ｎ個の録音データを時系列に配列した場合の所定の位置の録音データである。例えば、２番目に新しい録音データが、判定対象データとされる。
【００２１】
具体的には、判定部１３は、録音データ格納部１２から受け取った各録音データについて、ボリューム値を計算し、各録音データのボリューム値に基づいて、開始タイミングを判定する。ボリューム値は、音量を示す値である。つまり、判定部１３は、録音データ格納部１２に格納されている各録音データのボリューム値に基づいて、和音の開始タイミングを判定する。録音データには所定数（ｍ個）のサンプルが含まれるので、判定部１３は、録音データに含まれる全てのサンプルのボリューム値の平均値を計算し、平均値を当該録音データのボリューム値とする。なお、サンプルのボリューム値は、サンプルが示す振幅値の絶対値である。判定部１３は、判定対象データに開始タイミングが含まれるか否かを示す判定結果を抽出部１４に出力する。
【００２２】
判定部１３は、図４に示されるように、ニューラルネットワークＮ１（第１ニューラルネットワーク）を備えてもよい。この例では、判定部１３は、ニューラルネットワークＮ１を用いて、判定対象データに開始タイミングが含まれるか否かを判定する。ニューラルネットワークＮ１は、各録音データのボリューム値Ｖ１〜Ｖｎを入力し、尤度Ｌ１（第１尤度）を出力する。尤度Ｌ１は、判定対象データ（この例では、録音データＦ２）に開始タイミングが含まれていることの尤もらしさを示す値である。尤度Ｌ１は、例えば、シグモイド関数値であり、０〜１の値を取り得る。尤度Ｌ１が大きいほど、判定対象データに開始タイミングが含まれている可能性が高いことを意味する。
【００２３】
ニューラルネットワークＮ１は、各録音データに対応した複数の入力ノード３１１を含む入力層３１と、複数の中間ノード３２１を含む中間層３２と、出力ノード３３１を含む出力層３３と、を備えている。入力ノード３１１は、録音データ格納部１２から受け取ったｎ個の録音データのそれぞれに対応して設けられており、複数の入力ノード３１１のそれぞれは、当該入力ノード３１１に対応した録音データのボリューム値Ｖ１〜Ｖｎを入力する。中間ノード３２１は、１以上の入力ノード３１１に入力されたボリューム値を用いて所定の計算を行い、計算結果を出力ノード３３１に出力する。出力ノード３３１の数は１つであり、出力ノード３３１は中間ノード３２１から受け取った計算結果を用いて尤度Ｌ１を計算し、尤度Ｌ１を出力する。
【００２４】
ニューラルネットワークＮ１は、判定対象データに開始タイミングが含まれる（例えば、ピッキングが行われた）場合に、出力層３３から尤度Ｌ１として１が出力され、判定対象データに開始タイミングが含まれない（例えば、ピッキングが行われていない）場合に、出力層３３から尤度Ｌ１として０が出力されるように、学習されている。なお、中間層３２の層数は、１つに限られず、２以上であってもよい。中間層３２に含まれる中間ノード３２１の数は、適宜変更され得る。
【００２５】
判定部１３は、尤度Ｌ１に基づいて、判定対象データに開始タイミングが含まれるか否かを判定する。判定部１３は、例えば、尤度Ｌ１が所定の閾値以上である場合に、判定対象データに開始タイミングが含まれると判定する。判定部１３は、尤度Ｌ１が所定の閾値未満である場合に、判定対象データに開始タイミングが含まれないと判定する。閾値は、例えば、０．８程度に設定される。
【００２６】
抽出部１４は、判定部１３によって判定された開始タイミングから所定の時間範囲の録音データを識別対象データとして抽出する。具体的には、抽出部１４は、開始タイミングが含まれることを示す判定結果を判定部１３から受け取ると、その判定結果に対応する判定対象データから、当該判定対象データよりも時間的に新しい所定数（ｋ個；ｋは１以上の整数）の録音データを識別対象データとして抽出する。所定の時間範囲は、識別部１５による和音の識別に必要な数のサンプルが得られる時間以上である。例えば、開始タイミングが含まれると判定された録音データと、当該録音データの後にサンプリングされたサンプルとを合わせて２０４８サンプル（８個の録音データ）が識別対象データとされる。抽出部１４は、抽出した識別対象データを識別部１５に出力する。
【００２７】
識別部１５は、識別対象データを周波数解析し、周波数解析によって得られた周波数スペクトル（スペクトルデータ）に基づいて和音を識別する。具体的に説明すると、識別部１５は、識別対象データを高速フーリエ変換することによって、識別対象データの周波数解析を行う。識別部１５は、周波数解析の結果、周波数スペクトルを得る。図５の（ａ）は、得られた周波数スペクトルの一例である。図５の（ａ）では、横軸は周波数を示し、縦軸は振幅強度を示す。
【００２８】
識別部１５は、周波数スペクトルから各音階のパワー値を計算し、パワー値に基づいて和音を識別する。具体的には、識別部１５は、周波数スペクトルを各音階に対応する周波数範囲で区切り、各周波数範囲の振幅強度の平均値を計算する。そして、識別部１５は、各音階について全てのオクターブの振幅強度の平均値を足し合わせ、その計算結果を当該音階のパワー値とする。
【００２９】
図５の（ｂ）は、各音階のパワー値を示す図である。図５の（ｂ）では、横軸は音階を示し、縦軸は各音階のパワー値を示す。音階には、「Ａ」、「Ａ＃」、「Ｂ」、「Ｃ」、「Ｃ＃」、「Ｄ」、「Ｄ＃」、「Ｅ」、「Ｆ」、「Ｆ＃」、「Ｇ」、及び「Ｇ＃」の１２種類がある。識別部１５は、各音階のパワー値を所定の順番で配列したクロマベクトルを生成する。
【００３０】
識別部１５は、図６に示されるように、ニューラルネットワークＮ２（第２ニューラルネットワーク）を備えてもよい。この例では、識別部１５は、ニューラルネットワークＮ２を用いて、識別対象データの和音を識別する。ニューラルネットワークＮ２は、各音階の音階のパワー値Ｐを入力し、各和音の尤もらしさを示す尤度Ｌ２（第２尤度）を出力する。ニューラルネットワークＮ２は、各音階に対応した複数の入力ノード５１１を含む入力層５１と、複数の中間ノード５２１を含む中間層５２と、各和音（コード）に対応した複数の出力ノード５３１を含む出力層５３と、を備えている。
【００３１】
入力ノード５１１は、音階の種類ごとに設けられており、複数の入力ノード５１１のそれぞれは、当該入力ノード５１１に対応した音階のパワー値Ｐを入力する。パワー値Ｐは、音階「Ａ」のパワー値Ｐａ、音階「Ａ＃」のパワー値Ｐａｓ、音階「Ｂ」のパワー値Ｐｂ、音階「Ｃ」のパワー値Ｐｃ、音階「Ｃ＃」のパワー値Ｐｃｓ、音階「Ｄ」のパワー値Ｐｄ、音階「Ｄ＃」のパワー値Ｐｄｓ、音階「Ｅ」のパワー値Ｐｅ、音階「Ｆ」のパワー値Ｐｆ、音階「Ｆ＃」のパワー値Ｐｆｓ、音階「Ｇ」のパワー値Ｐｇ、及び音階「Ｇ＃」のパワー値Ｐｇｓを含む。
【００３２】
中間ノード５２１は、１以上の入力ノード５１１に入力されたパワー値Ｐを用いて所定の計算を行い、計算結果を１以上の出力ノード５３１に出力する。
【００３３】
出力ノード５３１は、和音の種類ごとに設けられており、複数の出力ノード５３１のそれぞれは、中間ノード５２１から受け取った計算結果を用いて当該出力ノード５３１に対応した尤度Ｌ２を計算し、尤度Ｌ２を出力する。尤度Ｌ２は、識別対象データの和音が、当該出力ノード５３１に対応した和音であることの尤もらしさを示す値である。尤度Ｌ２は、和音「Ｃ」の尤度Ｌ２ｃ、和音「Ｃｍ」の尤度Ｌ２ｃｍ、及び和音「Ｂｍ」の尤度Ｌ２ｂｍを含む。尤度Ｌ２は、例えば、シグモイド関数値であり、０〜１の値を取り得る。尤度Ｌ２が大きいほど、当該和音である可能性が高いことを意味する。
【００３４】
ニューラルネットワークＮ２は、予め学習されており、入力ノード５１１に入力された値に応じて、各出力ノード５３１から当該和音の尤度Ｌ２を出力する。なお、中間層５２の層数は、１つに限られず、２以上であってもよい。
【００３５】
識別部１５は、クロマベクトルに含まれる各音階のパワー値を正規化し、正規化したパワー値を当該パワー値に対応する音階の入力ノードに入力してもよい。例えば、識別部１５は、クロマベクトルに含まれる最大のパワー値を１とし、最小のパワー値を０とし、その他のパワー値を０〜１の値に換算することによって、正規化を行う。
【００３６】
識別部１５は、各出力ノードから出力された尤度Ｌ２に基づいて、和音を識別する。識別部１５は、例えば、最も大きい尤度Ｌ２を出力した出力ノードに対応付けられた和音を、識別対象データの和音として識別する。識別部１５は、識別した和音を示す識別結果を出力部１６に出力する。
【００３７】
出力部１６は、識別部１５によって識別された和音を示す識別結果を出力する。出力部１６は、例えば、識別部１５から受け取った識別結果を楽器音認識装置１０の外部に出力する。
【００３８】
次に、図７を参照して、楽器音認識装置１０における楽器音認識方法の一連の処理を説明する。図７は、楽器音認識装置１０が行う楽器音認識方法の一連の処理を示すフローチャートである。図７に示される一連の処理は、例えば、ユーザによって楽器音認識モードが設定されることによって開始されてもよく、一連の処理が終了するごとに再開されてもよい。
【００３９】
まず、取得部１１が、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次取得する（ステップＳ１１）。そして、取得部１１は、各サンプルを時系列に配列して、所定数（ｍ個）のサンプルごとに録音データとして録音データ格納部１２に順次出力する。
【００４０】
続いて、録音データ格納部１２は、取得部１１から録音データを順次受け取り、取得部１１によって取得された録音データを格納する（ステップＳ１２）。このとき、録音データ格納部１２に格納可能な数の録音データが格納されていると、録音データ格納部１２は、録音データ格納部１２に格納されている録音データのうち最も古い録音データを破棄し、新しい録音データを格納する。そして、録音データ格納部１２は、格納されている録音データのうち、判定部１３による判定対象データを含む所定数（ｎ個）の録音データを判定部１３に出力する。なお、図示されていないが、ステップＳ１２において、録音データ格納部１２にｎ個の録音データが格納されていない場合には、ｎ個の録音データが録音データ格納部１２に格納されるまでステップＳ１１，Ｓ１２を繰り返す。
【００４１】
続いて、判定部１３は、録音データ格納部１２から受け取ったｎ個の録音データに基づいて、判定対象データに開始タイミングが含まれるか否かを判定する（ステップＳ１３）。具体的には、判定部１３は、各録音データに含まれる全てのサンプルのボリューム値の平均値を計算し、平均値を当該録音データのボリューム値とする。そして、判定部１３は、各録音データのボリューム値に基づいて、判定対象データに開始タイミングが含まれるか否かを判定する。
【００４２】
判定対象データに開始タイミングが含まれないと判定された場合（ステップＳ１３；Ｎｏ）、ステップＳ１１〜Ｓ１３が繰り返される。一方、ステップＳ１３において、判定対象データに開始タイミングが含まれると判定された場合（ステップＳ１３；Ｙｅｓ）、判定部１３は、判定対象データに開始タイミングが含まれることを示す判定結果を抽出部１４に出力する。
【００４３】
続いて、抽出部１４は、判定部１３によって判定された開始タイミングから所定の時間範囲の録音データを識別対象データとして抽出する（ステップＳ１４）。具体的には、抽出部１４は、開始タイミングが含まれることを示す判定結果を判定部１３から受け取ると、その判定結果に対応する判定対象データから、当該判定対象データよりも時間的に新しい所定の時間範囲分の録音データを識別対象データとして抽出する。そして、抽出部１４は、抽出した識別対象データを識別部１５に出力する。
【００４４】
続いて、識別部１５は、抽出部１４から受け取った識別対象データを周波数解析し、周波数解析によって得られた周波数スペクトルから和音を識別する（ステップＳ１５）。ステップＳ１５の処理を具体的に説明する。まず、識別部１５は、識別対象データを高速フーリエ変換することによって、周波数スペクトルを得る。そして、識別部１５は、周波数スペクトルを各音階に対応する周波数範囲で区切り、各周波数範囲の振幅強度の平均値を計算する。そして、識別部１５は、各音階について全てのオクターブの振幅強度の平均値を足し合わせ、その計算結果を当該音階のパワー値とする。そして、識別部１５は、各音階のパワー値を所定の順番で配列したクロマベクトルを生成する。
【００４５】
続いて、識別部１５は、クロマベクトルに含まれる各音階のパワー値に基づいて、和音を識別する。例えば、識別部１５は、図６に示されるニューラルネットワークＮ２を用いて、和音を識別してもよい。そして、識別部１５は、識別した和音を示す識別結果を出力部１６に出力する。
【００４６】
そして、出力部１６は、識別部１５から受け取った識別結果を楽器音認識装置１０の外部に出力する（ステップＳ１６）。このようにして、楽器音認識方法の一連の処理が終了する。
【００４７】
以上のように、和音の開始タイミングから所定の時間範囲の録音データ（サンプル）を用いて、和音が識別される。
【００４８】
以上説明した楽器音認識装置１０では、楽器音を所定の時間単位でサンプリングして得られた録音データのボリューム値に基づいて、和音の開始タイミングが判定される。和音が切り替わるときに、音量が急激に増える傾向がある。このため、録音データのボリューム値を用いることで、和音の開始タイミングを判定することができる。また、この開始タイミングから所定の時間範囲の録音データを識別対象データとして、識別対象データの周波数解析が行われ、周波数解析によって得られた周波数スペクトルに基づいて和音の識別が行われる。例えば、ギターの演奏音では、ピッキングするごとに和音が変わる。このように、和音の開始タイミングから所定の時間範囲の録音データには、識別対象となる和音以外の別の和音が含まれる可能性が低い。このため、和音の開始タイミングから所定の時間範囲の録音データを用いて和音の識別を行うことによって、和音の識別精度を向上させることが可能となる。
【００４９】
楽器音認識装置１０において、楽器音としてギターの演奏音を認識する場合には、例えば、開始タイミングとしてピッキングが行われたタイミングが判定され、ピッキングが行われたタイミングから所定の時間範囲の録音データを識別対象データとして用いて和音が識別される。このため、識別対象データに別の和音が混じる可能性を低減させることができ、和音の識別精度を向上させることが可能となる。
【００５０】
録音データ格納部１２に格納されている録音データを時系列に配列した場合の所定の位置の録音データが判定対象データとされる。判定部１３は、判定対象データと、判定対象データよりも時間的に古い１以上の録音データと、を少なくとも用いて、判定対象データに開始タイミングが含まれるか否かを判定する。上述のように、和音が切り替わるときに、音量が急激に増える傾向がある。このため、判定対象データのボリューム値と判定対象データよりも古い録音データのボリューム値とを用いることによって、判定対象データにおいて音量が急激に増えたか否かを判定することができる。これにより、判定対象データに開始タイミングが含まれるか否かの判定精度を向上させることが可能となる。
【００５１】
判定部１３では、ニューラルネットワークＮ１を用いることによって、各ボリューム値の相互関係に基づいて判定対象データに開始タイミングが含まれるか否かが判定される。ニューラルネットワークＮ１を学習させることによって、開始タイミングの判定精度を向上させることが可能となる。
【００５２】
識別部１５は、周波数スペクトルから各音階のパワー値を計算し、パワー値に基づいて、和音を識別する。各音階のパワー値が大きいほどその音階が和音に含まれている可能性が高いので、各音階のパワー値を用いることによって、和音の識別精度を向上させることができる。
【００５３】
識別部１５では、ニューラルネットワークＮ２を用いることによって、各音階のパワー値の相互関係に基づいて和音が識別される。ニューラルネットワークＮ２に学習を行わせることによって、和音の識別精度の更なる向上が可能となる。
【００５４】
識別部１５は、クロマベクトルに含まれる各音階のパワー値を正規化し、正規化したパワー値を当該パワー値に対応する音階の入力ノードに入力してもよい。この場合、ニューラルネットワークＮ２の入力層５１に入力される入力値の範囲が固定化される。このため、ニューラルネットワークＮ２の計算精度を向上させることができ、和音の識別精度の更なる向上が可能となる。
【００５５】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック（構成部）は、ハードウェア及び／又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び／又は論理的に結合した１つの装置により実現されてもよいし、物理的及び／又は論理的に分離した２つ以上の装置を直接的及び／又は間接的に（例えば、有線及び／又は無線で）接続し、これら複数の装置により実現されてもよい。
【００５６】
例えば、上記実施形態における楽器音認識装置１０などは、上記実施形態の楽器音認識装置１０の処理を行うコンピュータとして機能してもよい。図２は、本実施形態に係る楽器音認識装置１０のハードウェア構成の一例を示す図である。上述の楽器音認識装置１０は、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、及びバス１００７などを含むコンピュータ装置として構成されてもよい。
【００５７】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。楽器音認識装置１０のハードウェア構成は、図２に示された各装置を１つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００５８】
楽器音認識装置１０における各機能は、プロセッサ１００１、メモリ１００２などのハードウェア上に所定のソフトウェア（プログラム）を読み込ませることで、プロセッサ１００１が演算を行い、通信装置１００４による通信、メモリ１００２及びストレージ１００３におけるデータの読み出し及び／又は書き込みを制御することで実現される。
【００５９】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central  Processing  Unit）で構成されてもよい。
【００６０】
また、プロセッサ１００１は、プログラム（プログラムコード）、ソフトウェアモジュール、及び／又はデータを、ストレージ１００３及び／又は通信装置１００４からメモリ１００２に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、楽器音認識装置１０の判定部１３は、メモリ１００２に格納され、プロセッサ１００１で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、１つのプロセッサ１００１で実行される旨を説明してきたが、２以上のプロセッサ１００１により同時又は逐次に実行されてもよい。プロセッサ１００１は、１以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
【００６１】
メモリ１００２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read  Only  Memory）、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  ＲＯＭ）、ＲＡＭ（Random  Access  Memory）などの少なくとも１つで構成されてもよい。メモリ１００２は、レジスタ、キャッシュ、メインメモリ（主記憶装置）などと呼ばれてもよい。メモリ１００２は、上記実施形態に係る楽器音認識方法を実施するために実行可能なプログラム（プログラムコード）、ソフトウェアモジュールなどを保存することができる。
【００６２】
ストレージ１００３は、コンピュータ読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact  Disc  ＲＯＭ）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク（例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク）、スマートカード、フラッシュメモリ（例えば、カード、スティック、キードライブ）、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも１つで構成されてもよい。ストレージ１００３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１００２及び／又はストレージ１００３を含むデータベース、サーバ、その他の適切な媒体であってもよい。
【００６３】
通信装置１００４は、有線及び／又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【００６４】
入力装置１００５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１００６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカー、ＬＥＤランプなど）である。なお、入力装置１００５及び出力装置１００６は、一体となった構成（例えば、タッチパネル）であってもよい。
【００６５】
また、プロセッサ１００１及びメモリ１００２などの各装置は、情報を通信するためのバス１００７で接続される。バス１００７は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【００６６】
また、楽器音認識装置１０は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、ＦＰＧＡ（Field  Programmable  Gate  Array）などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１００１は、これらのハードウェアの少なくとも１つで実装されてもよい。
【００６７】
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更された態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
【００６８】
本明細書で説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【００６９】
入出力された情報等は特定の場所（例えば、メモリ）に保存されてもよいし、管理テーブルで管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【００７０】
判定は、１ビットで表される値（０か１か）によって行われてもよいし、真偽値（Boolean：true又はfalse）によって行われてもよいし、数値の比較（例えば、所定の値との比較）によって行われてもよい。
【００７１】
本明細書で説明した各態様／実施形態は単独で用いられてもよいし、組み合わせて用いられてもよいし、実行に伴って切り替えて用いられてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）によって行われてもよい。
【００７２】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【００７３】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線（ＤＳＬ）などの有線技術及び／又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び／又は無線技術は、伝送媒体の定義内に含まれる。
【００７４】
本明細書で説明した情報及び信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【００７５】
なお、本明細書で説明した用語及び／又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【００７６】
本明細書で使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
【００７７】
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
【００７８】
上述したパラメータに使用される名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。
【００７９】
「接続された（connected）」、「結合された（coupled）」という用語、又はこれらのあらゆる変形は、２又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された２つの要素間に１又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、２つの要素は、１又はそれ以上の電線、ケーブル及び／又はプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光（可視及び不可視の両方）領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」又は「結合」されると考えることができる。
【００８０】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」との両方を意味する。
【００８１】
本明細書で使用する「第１の」、「第２の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定するものではない。これらの呼称は、２つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第１及び第２の要素への参照は、２つの要素のみがそこで採用され得ること、又は何らかの形で第１の要素が第２の要素に先行しなければならないことを意味しない。
【００８２】
「含む（including）」、「含んでいる（comprising）」、及びそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「又は（or）」は、排他的論理和ではないことが意図される。
【００８３】
本明細書において、文脈又は技術的に明らかに１つのみしか存在しない装置であることが示されていなければ、複数の装置をも含むものとする。
【００８４】
また、判定部１３は、ニューラルネットワークＮ１を用いることなく、各録音データのボリューム値に基づいて、開始タイミングを判定してもよい。上述のように、和音が切り替わるときに、音量が急激に増える傾向があるので、例えば、判定部１３は、判定対象データのボリューム値と、判定対象データよりも時間的に１つ古い録音データのボリューム値と、を比較することによって、判定対象データに開始タイミングが含まれるか否かを判定してもよい。具体的には、判定部１３は、判定対象データのボリューム値が、判定対象データよりも時間的に１つ古い録音データのボリューム値の所定の倍率（１よりも大きい）以上である場合に判定対象データに開始タイミングが含まれると判定し、所定の倍率未満である場合に判定対象データに開始タイミングが含まれないと判定してもよい。
【００８５】
また、識別部１５は、ニューラルネットワークＮ２を用いることなく、識別対象データの周波数解析によって得られた周波数スペクトルに基づいて和音を識別してもよい。識別部１５は、クロマベクトルの大きい方から所定数の音階を抽出し、抽出した音階の組み合わせに基づいて、和音を識別してもよい。識別部１５は、各和音を構成する音階の組み合わせを示す和音テーブルを有し、抽出した音階の組み合わせを、和音テーブルとマッチングさせることにより、和音を識別してもよい。和音テーブルは、識別部１５に予め設定されている。
【符号の説明】
【００８６】
１０…楽器音認識装置、１１…取得部、１２…録音データ格納部（格納部）、１３…判定部、１４…抽出部、１５…識別部、１６…出力部、Ｎ１…ニューラルネットワーク（第１ニューラルネットワーク）、Ｎ２…ニューラルネットワーク（第２ニューラルネットワーク）。
【図１】
2018025613.tif 000003
【図２】
2018025613.tif 000004
【図３】
2018025613.tif 000005
【図４】
2018025613.tif 000006
【図５】
2018025613.tif 000007
【図６】
2018025613.tif 000008
【図７】
2018025613.tif 000009