(57)【要約】【課題】複数の音程の認識精度を向上させること。【解決手段】本発明に係る楽器音認識装置１０は、楽器の音である楽器音を認識する楽器音認識装置であって、楽器音を録音した録音データについて、１２音階に含まれる各音程の周波数毎に周波数解析を行う周波数解析部１３と、録音データを、所定の周波数よりも高い周波数成分を低減させる低域通過フィルタによって処理し、該処理後の信号である低減信号の基本周波数である音程を推定するＦ０推定部１４と、各音程の周波数毎の周波数解析結果と、基本周波数である音程の推定結果とに基づき、録音データに係る複数の音程を識別する多重音解析部１５と、多重音解析部１５によって識別された複数の音程を示す識別結果を出力する出力部１６と、を備える。【選択図】図１
2018141899.tif 000002
【特許請求の範囲】
【請求項１】
楽器の音である楽器音を認識する楽器音認識装置であって、
前記楽器音を録音した録音データについて、所定の音階に含まれる各音程の周波数毎に周波数解析を行う解析部と、
前記録音データを、所定の周波数よりも高い周波数成分を低減させる低域通過フィルタによって処理し、該処理後の信号である低減信号の基本周波数である音程を推定する推定部と、
前記解析部による、前記各音程の周波数毎の周波数解析結果と、前記推定部による、前記基本周波数である音程の推定結果とに基づき、前記録音データに係る複数の音程を識別する識別部と、
前記識別部によって識別された前記複数の音程を示す識別結果を出力する出力部と、を備える楽器音認識装置。
【請求項２】
前記解析部は、１２音階に含まれる各音程の周波数に応じた正弦波及び余弦波によって、前記録音データの信号を積分することにより、前記各音程の周波数毎に振幅強度を導出し、該振幅強度を前記各音程の特徴量とし、
前記識別部は、前記各音程の前記特徴量を、前記各音程の周波数毎の周波数解析結果として、前記録音データに係る複数の音程を識別する、請求項１記載の楽器音認識装置。
【請求項３】
前記推定部は、前記低減信号について、自己相関法を用いて、前記１２音階に含まれる各音程が前記基本周波数である尤もらしさを示す第１尤度を前記各音程毎に導出し、前記各音程の前記第１尤度に基づき、前記基本周波数である音程を推定する、請求項２記載の楽器音認識装置。
【請求項４】
前記識別部は、前記各音程の前記特徴量に基づく第１の特徴量、及び、前記各音程の前記第１尤度に基づく第２の特徴量を入力として、前記録音データに係る複数の音程の尤もらしさを示す第２尤度を出力とするニューラルネットワークを用いて、前記録音データに係る複数の音程を識別する、請求項３記載の楽器音認識装置。
【請求項５】
コンピュータを、
楽器の音である楽器音を録音した録音データについて、所定の音階に含まれる各音程の周波数毎に周波数解析を行う解析部と、
前記録音データを、所定の周波数よりも高い周波数成分を低減させる低域通過フィルタによって処理し、該処理後の信号である低減信号の基本周波数である音程を推定する推定部と、
前記解析部による、前記各音程の周波数毎の周波数解析結果と、前記推定部による、前記基本周波数である音程の推定結果とに基づき、前記録音データに係る複数の音程を識別する識別部と、
前記識別部によって識別された前記複数の音程を示す識別結果を出力する出力部と、
として機能させる楽器音認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽器音認識装置及び楽器音認識プログラムに関する。
【背景技術】
【０００２】
近年、機械学習の発展により、音楽の分野等における楽音認識技術の発展が目覚ましい。歌声又は演奏音等の音程認識において、単音については、自己相関法等の、基本周波数（Ｆ０）抽出を行う技術により容易に認識することができる。一方で、例えば、ピアノ又はギター等の多重音を演奏できる楽器により奏でられる、複数の音程が混ざった演奏音等については、上述したＦ０推定を行った場合、複数の音程のうち一部の音程しか認識できないこと、又は、誤った音程を認識することが起こり得る。
【０００３】
従来、複数の音程が混ざった演奏音等を認識する手法として、フーリエ変換等の周波数解析が用いられている。例えば、特許文献１には、ピアノからの楽音をピックアップして音響信号（録音データ）に変換し、音響信号に高速フーリエ変換を施すことによって和音を認識する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１６３７６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
フーリエ変換による周波数解析では、直交周波数による周波数解析を行うため、ある程度の時間フレーム長を確保し、周波数分解能を高める必要がある。特に低音域においては、微小の周波数の変化で音程が変わるため、隣接する音程の周波数の差よりも細かい周波数分解能でのフーリエ変換が必要になり、時間フレーム長を十分に確保する必要がある。このため、フーリエ変換による周波数解析では、速いメロディを分析して複数の音程を認識することが困難な場合がある。また、例えば和音を構成する各音程については、転回形を考慮する必要があるところ、上述した従来の周波数解析を行うのみによっては、転回形を考慮して各音程を認識することが困難である。すなわち、従来の周波数解析を行うのみによっては、音程の組み合わせが同一で且つ最低音であるベースが異なる、いわゆる転回形を区別して認識することが困難である。このように、従来の手法では、速いメロディの音程を認識することができないこと、及び、転回形を考慮して各音程を認識することができないこと等を理由として、複数の音程を十分に認識することができていない。
【０００６】
本発明は上記実情に鑑みてなされたものであり、複数の音程の認識精度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る楽器音認識装置は、楽器の音である楽器音を認識する楽器音認識装置であって、楽器音を録音した録音データについて、所定の音階に含まれる各音程の周波数毎に周波数解析を行う解析部と、録音データを、所定の周波数よりも高い周波数成分を低減させる低域通過フィルタによって処理し、該処理後の信号である低減信号の基本周波数である音程を推定する推定部と、解析部による、各音程の周波数毎の周波数解析結果と、推定部による、基本周波数である音程の推定結果とに基づき、録音データに係る複数の音程を識別する識別部と、識別部によって識別された複数の音程を示す識別結果を出力する出力部と、を備える。
【０００８】
本発明の一態様に係る楽器音認識プログラムは、コンピュータを、楽器の音である楽器音を録音した録音データについて、所定の音階に含まれる各音程の周波数毎に周波数解析を行う解析部と、録音データを、所定の周波数よりも高い周波数成分を低減させる低域通過フィルタによって処理し、該処理後の信号である低減信号の基本周波数である音程を推定する推定部と、解析部による、各音程の周波数毎の周波数解析結果と、推定部による、基本周波数である音程の推定結果とに基づき、録音データに係る複数の音程を識別する識別部と、識別部によって識別された複数の音程を示す識別結果を出力する出力部と、として機能させる。
【０００９】
本発明に係る楽器音認識装置及び楽器音認識プログラムでは、楽器音を録音した録音データについて、所定の音階に含まれる各音程に応じた周波数毎に周波数解析が行われ、複数の音程が識別される。従来のようにフーリエ変換により周波数解析を行う場合には、周波数分解能を高めるべくある程度の時間フレーム長を確保する必要がある。これに対して、本発明に係る楽器音認識装置は、各音程に応じた周波数毎に周波数解析を行うため、時間フレーム長の制限が無く、任意の時間フレーム長で音程を解析することができる。これにより、例えば速いメロディについては短い時間で解析することが可能になり、速いメロディについても適切に識別することができる。また、本発明に係る楽器音認識装置では、録音データが低域通過フィルタによって処理され、処理後の低減信号の基本周波数となる音程が推定され、当該推定の結果が考慮されて複数の音程が識別される。基本周波数となる音程の推定結果を考慮することにより、録音データに係る複数の音程のうち最も低い音程が定まるため、音程の組み合わせが同一で且つ最低音であるベースが異なる、いわゆる転回形についても区別して、複数の音程を認識することができる。なお、例えば複数の音程が混ざった録音データについて単に基本周波数の推定を行おうとした場合には、複数の音程のうち一部の音程しか認識できない等の不具合が発生し得る。この点、本発明に係る楽器音認識装置では、低域通過フィルタによって所定の周波数よりも高い周波数成分を低減させた後の低減信号について基本周波数となる音程を推定しているので、録音データに含まれる複数の音程のうちベース以外の音程を低減した状態で、すなわち、複数の音程の混在を抑制した状態で、基本周波数となる音程を推定することができ、基本周波数の推定精度を向上させることができる。これにより、転回形についても区別して、複数の音程を適切に認識することができる。以上より、本発明に係る楽器音認識装置によれば、速いメロディの音程を認識することができると共に、転回形を考慮して各音程を認識することができ、複数の音程の認識精度を向上させることができる。
【発明の効果】
【００１０】
本発明によれば、複数の音程の認識精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】楽器音認識装置の機能構成を示すブロック図である。
【図２】図１に示される楽器音認識装置のハードウェア構成を示す図である。
【図３】図１に示される周波数解析部による周波数解析を説明するための図であり、１２音階に含まれる各音程の振幅強度を示す図である。
【図４】図１に示される周波数解析部による周波数解析を説明するための図であり、１２音階に含まれる各音程の音階ベクトル導出を説明するための図である。
【図５】図１に示される多重音解析部が備えるニューラルネットワークの構成例を示す図である。
【図６】図１に示される楽器音認識装置が行う楽器音認識方法の一連の処理を示すフローチャートである。
【図７】従来の周波数解析を説明するための図である。
【図８】楽器音認識プログラムのモジュール構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。図面の説明において、同一又は同等の要素には同一符号を用い、重複する説明を省略する。
【００１３】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１４】
図１は、楽器音認識装置の機能構成を示すブロック図である。図１に示される楽器音認識装置１０は、楽器によって演奏された音である楽器音を認識する装置である。楽器音認識装置１０は、楽器音に含まれる複数の音程を認識する。本実施形態では、楽器音認識装置１０が、楽器音に含まれる複数の音程の一例として和音構成を認識するとして説明するが、楽器音に含まれる複数の音程は、和音を構成しない複数の音程の組み合わせであってもよい。楽器音は、例えばギター又はピアノ等の、多重音を演奏できる楽器により奏でられる演奏音である。和音は、音程（周波数）が異なる複数の音が合成された音であり、特定の音程の組み合わせである。和音は、コードとも呼ばれる。
【００１５】
楽器音認識装置１０は、機能的には、録音部１１と、録音データ格納部１２と、周波数解析部１３（解析部）と、Ｆ０推定部１４（推定部）と、多重音解析部１５（識別部）と、出力部１６と、を備えている。楽器音認識装置１０は、例えば、図２に示されるハードウェアによって構成されている。
【００１６】
図２は、楽器音認識装置１０のハードウェア構成を示す図である。図２に示されるように、楽器音認識装置１０は、物理的には、１又は複数のプロセッサ１００１、主記憶装置であるメモリ１００２、ハードディスク又は半導体メモリ等のストレージ１００３、ネットワークカード等のデータ送受信デバイスである通信装置１００４、入力装置１００５、及びディスプレイ等の出力装置１００６等を含むコンピュータシステムとして構成されている。図１に示される各機能は、図２に示されるメモリ１００２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、プロセッサ１００１の制御のもとで入力装置１００５、出力装置１００６、及び通信装置１００４を動作させるとともに、メモリ１００２及びストレージ１００３におけるデータの読み出し及び書き込みを行うことで実現される。
【００１７】
再び図１を参照して、楽器音認識装置１０の各機能の詳細を説明する。
【００１８】
録音部１１は、楽器音を所定の時間単位で録音し、録音データとして取得する。録音部１１は、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次録音する。サンプリング周波数は、例えば１６０００Ｈｚ又は４４１００Ｈｚ等である。サンプリングされた楽器音は、サンプル（音響信号）といい、時系列に配列された所定数（ｎ個；ｎは１以上の整数）のサンプルをまとめて録音データ（フレーム）という。各サンプルは、当該サンプルが取得された時点での楽器音の振幅値（音量）であって、例えば、１６ビットで表される。
【００１９】
録音部１１は、各サンプルを時系列に（サンプリングされた順に）配列し、所定数のサンプルごとに録音データとする。１つの録音データに含まれるサンプルの数ｎは、例えば、２５６である。サンプリング周波数が１６０００Ｈｚである場合、録音データは、０．０１６秒程度の楽器音に相当する。録音部１１は、楽器音を繰り返しサンプリングし続け、録音データを取得し続ける。録音部１１は、各録音データを録音データ格納部１２に順次出力する。
【００２０】
録音データ格納部１２は、録音部１１から録音データを順次受け取り、録音部１１によって取得された録音データを格納する。録音データ格納部１２は、例えば、ＦＩＦＯ（First  In  First  Out）バッファで構成される。この場合、録音データ格納部１２に格納可能な数の録音データが格納されると、録音データ格納部１２は、録音データ格納部１２に格納されている録音データのうち最も古い（最初に格納された）録音データを破棄し、新しい録音データを格納する。つまり、録音データ格納部１２は、複数の録音データを一時的に格納（バッファリング）する。録音データ格納部１２は、格納されている録音データを、周波数解析部１３及びＦ０推定部１４に出力する。
【００２１】
周波数解析部１３は、録音データについて、所定の音階に含まれる各音程の周波数毎に周波数解析を行う。所定の音階は、例えば１２音階である。本実施形態では、所定の音階が１２音階であるとして説明する。所定の音階が１２音階である場合、１オクターブに含まれる音程は、例えば低い音から順に、「Ａ」「Ｂ♭」「Ｂ」「Ｃ」「Ｃ♯」「Ｄ」「Ｅ♭」「Ｅ」「Ｆ」「Ｆ♯」「Ｇ」「Ａ♭」の１２個であり、それぞれ個別の周波数とされている。ある音程の周波数を約１．０５９２倍した値が、１つ上の音程の周波数となる。例えば、最も低い「Ａ」の周波数が５５．００Ｈｚであるとすると、１つ上の音程（「Ｂ♭」）の周波数は、５５．００×１．０５９２≒５８．２５Ｈｚとなる。また、ある音程の周波数を２倍した値が、１オクターブ高い、同じ音程の周波数となる。例えば、あるオクターブの「Ａ」の周波数が５５．００Ｈｚであるとすると、１オクターブ高い「Ａ」の周波数は５５．００×２＝１１０．００Ｈｚとなる。どの周波数帯（オクターブ）で周波数解析を行うかについては、予め把握された、楽器が奏でる周波数に応じて決定される。
【００２２】
周波数解析部１３は、１２音階に含まれる各音程の周波数に応じた正弦波及び余弦波によって録音データの信号を積分することにより、各音程の周波数毎に振幅強度を導出し、該振幅強度を各音程の特徴量とする。より詳細には、周波数解析部１３は、各音程の周波数に応じた正弦波及び余弦波によって録音データの波形を積分し、該積分結果の二乗を足し合わせたものを、各音程の振幅強度とする。具体的には、周波数解析部１３は、下記（１）式に基づいて、各音程の周波数毎に振幅強度を導出する。
【数１】
2018141899.tif 000003
上記（１）式において、ｆは周波数（１２音階に含まれるいずれかの音程の周波数）、nは録音データに含まれるサンプリング数、x(k)はk番目のサンプルの振幅値、Sampling Rateはサンプリング周波数、Power(f)は周波数がfである音程（１２音階に含まれるいずれかの音程）の振幅強度を示している。
【００２３】
周波数解析部１３は、上記（１）式に基づいて、例えば最も低い「Ａ」の周波数である５５Ｈｚから順に、１．０５９２倍の周波数毎に振幅強度を導出する。すなわち、図３に示されるように、周波数解析部１３は、最も低い「Ａ」の周波数である５５Ｈｚから５５×１．０５９２mＨｚまで、ｍ＋１個の周波数分だけ、振幅強度を導出する。なお、ｍ＋１は少なくとも１２音階を構成する音程の個数（１２）よりも大きい。すなわち、ｍは１１以上の整数である。周波数解析部１３は、例えば、３オクターブ分（１２×３＝３６個）の音程の周波数について、振幅強度を導出する。
【００２４】
周波数解析部１３は、オクターブが異なる同じ音程の振幅強度については、足し合わせる処理を行い、最終的に互いに異なる１２個の音程の振幅強度を、各音程の特徴量である音階ベクトル（クロマベクトル）として導出する。図４に示される例では、５５Ｈｚ〜１０４Ｈｚのオクターブ、１１０Ｈｚ〜２０８Ｈｚのオクターブ、及び２２０Ｈｚ〜４１６Ｈｚのオクターブ、の３つのオクターブの同じ音程の振幅強度が合算されて、各音程の特徴量である音階ベクトル（クロマベクトル）が導出されている。周波数解析部１３は、各音程の特徴量である音階ベクトルの値を０〜１の値に正規化した値（各音程の特徴量に基づく第１の特徴量）を、多重音解析部１５に出力する。各音程の正規化は、例えば、各音程の音階ベクトルを、最も音階ベクトルが大きい音程の音階ベクトルで除算することにより導出される。
【００２５】
Ｆ０推定部１４は、録音データに係る基本周波数（Ｆ０）である音程を推定する。基本周波数とは、信号に含まれる最も低い周波数成分の周波数である。Ｆ０推定部１４は、録音データを、所定の周波数よりも高い周波数成分を低減させる低域通過フィルタによって処理し、該処理後の信号である低減信号の基本周波数である音程を推定する。例えば、もっとも低いオクターブの周波数帯（５５Ｈｚ〜１１０Ｈｚ）までの音はＦ０推定部で音程を解析する等が考えられる。この場合、１１０Ｈｚ以下の音だけを通過させる低域通過フィルタを用いる。
【００２６】
Ｆ０推定部１４による処理を行う目的について説明する。上述したように、周波数解析部１３は、１２種類の音程毎に振幅強度を導出している。後述する多重音解析部１５は、振幅強度の大きい音程の組み合わせに基づいて、和音（コード）を推定する（詳細は後述）。ここで、和音は、音程の組み合わせから一意に特定することができない場合がある。すなわち、音程の組み合わせが同じであったとしても、例えばＣ（ルートを最低音であるベースとする）と、その第１転回形であるＣ／Ｅ（３度を最低音であるベースとする）と、その第２転回形であるＣ／Ｇ（５度を最低音であるベースとする）とが存在するため、単に音程毎の振幅強度を導出しただけでは、和音を正確に推定できない場合がある。これに対して、最も低いオクターブの周波数帯だけＦ０抽出部で最も強い音階を抽出することで、ベース音を判定しやすくなる。ベース音は最も低いオクターブの周波数帯では単一の音になっている場合が多く、自己相関法でも判定しやすいという特徴がある。低域通過フィルタによって所定の周波数よりも高い周波数成分を低減させて、和音に含まれるベース以外の音程の周波数成分を低減させた低減信号を用いることにより、最低音であるベースの周波数（基本周波数）を推定し易くなり、転回形を考慮した場合であっても、後述する多重音解析部１５による和音の推定が可能となる。
【００２７】
Ｆ０推定部１４は、上述した低域通過フィルタによって処理された後の信号である低減信号について、例えば自己相関法を用いて、１２音階に含まれる各音程が基本周波数である尤もらしさを示す第１尤度を、各音程毎に導出する。自己相関法は、基本周波数を導出するに際して一般的に行われる手法であり、複数のサンプルが含まれた２つの同じデータを準備し、ｋサンプルずらした状態でのデータ間の相関値（自己相関値）を導出し、該自己相関値から基本周波数を導出する手法である。自己相関値は、サンプルをずらした状態において、２つのデータ間の対応するサンプル同士を掛け合わせた値を、全サンプル分足し合わせることにより導出される。当該足し合わせた値に応じてデータ間の相関（自己相関値）が判断される。例えば、ｋサンプルずらした場合の自己相関値は、「サンプリング周波数」／「ｋ」（Ｈｚ）が基本周波数である尤度とされる。本実施形態では、１２音階を構成する音程毎に周波数が決まっているため、「サンプリング周波数」／「１２音階を構成する各音程の周波数」（サンプル）ずらした自己相関値が導出されることにより、１２音階に含まれる各音程が基本周波数である尤もらしさを示す第１尤度が導出される。Ｆ０推定部１４は、自己相関値が高い音程ほど、第１尤度を高くする。このように、Ｆ０推定部１４は、各音程の第１尤度を導出することによって基本周波数である音程を推定する。Ｆ０推定部１４は、各音程の第１尤度を０〜１の値に正規化した値（各音程の第１尤度に基づく第２の特徴量）を、多重音解析部１５に出力する。各音程の正規化は、例えば、各音程の第一尤度を、最も第１尤度が大きい音程の第１尤度で除算することにより導出される。
【００２８】
多重音解析部１５は、周波数解析部１３による、各音程の周波数毎の周波数解析結果と、Ｆ０推定部１４による、基本周波数である音程の推定結果とに基づき、録音データに係る和音を識別する。多重音解析部１５には、上述したとおり、各音程の周波数毎の周波数解析結果として、各音程の特徴量である音階ベクトル（クロマベクトル）を正規化した値である第１の特徴量が入力されると共に、基本周波数である音程の推定結果として、各音程が基本周波数である尤もらしさを示す第１尤度を正規化した値である第２の特徴量が入力される。
【００２９】
多重音解析部１５は、図５に示されるニューラルネットワークＮ１を有している。多重音解析部１５は、ニューラルネットワークＮ１を用いて、録音データに係る和音の識別及び学習を行う。ニューラルネットワークＮ１は、各音程の特徴量である音階ベクトル（クロマベクトル）に基づく第１の特徴量、及び、各音程が基本周波数である尤もらしさを示す第１尤度に基づく第２の特徴量を入力として、録音データに係る和音の尤もらしさを示す第２尤度を出力する。第２尤度は、例えばシグモイド関数値であり、０〜１の値をとりうる。第２尤度が大きいほど、録音データに係る（含まれる）和音である可能性が高いことを意味する。多重音解析部１５は、例えば、第２尤度が最も大きい和音を、録音データに係る和音であると識別し、該和音を特定する情報を出力部１６に出力する。
【００３０】
ニューラルネットワークＮ１は、各音程の第１の特徴量に対応した複数の入力ノード３１１を含む入力層３１と、各音程の第２の特徴量に対応した複数の入力ノード３２１を含む入力層３２と、複数の中間ノード３３１を含む中間層３３と、出力ノード３４１を含む出力層３４と、を備えている。入力ノード３１１は、周波数解析部１３から受け取った１２個の各音程の第１の特徴量それぞれに対応して設けられており、１２個の入力ノード３１１それぞれには、いずれかの音程の第１の特徴量が入力される。入力ノード３２１は、Ｆ０推定部１４から受け取った１２個の各音程の第２の特徴量それぞれに対応して設けられており、１２個の入力ノード３２１それぞれには、いずれかの音程の第２の特徴量が入力される。中間ノード３３１は、１以上の入力ノード３１１に入力された第１の特徴量と、１以上の入力ノード３２１に入力された第２の特徴量とを用いて所定の計算を行い、計算結果を出力ノード３４１に出力する。出力ノード３４１は、推定対象の和音の数だけ設けられており、各出力ノード３４１は、いずれかの和音の第２尤度を出力する。出力ノード３４１は、中間ノード３３１から受け取った計算結果を用いて、和音の第２尤度を計算し、該第２尤度を出力する。
【００３１】
出力部１６は、多重音解析部１５によって識別された和音を示す識別結果を出力する。出力部１６は、多重音解析部１５から入力された和音を特定する情報を識別結果として、楽器音認識装置１０の外部に出力する。
【００３２】
次に、図６を参照して、楽器音認識装置１０における楽器音認識方法の一連の処理を説明する。図６は、楽器音認識装置１０が行う楽器音認識方法の一連の処理を示すフローチャートである。
【００３３】
まず、録音部１１が、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次取得する（ステップＳ１）。そして、録音部１１は、各サンプルを時系列に配列して、所定数のサンプル毎に録音データとして録音データ格納部１２に順次出力する。
【００３４】
続いて、録音データ格納部１２は、録音部１１から録音データを順次受け取り、録音部１１によって取得された録音データを格納する（ステップＳ２）。録音データ格納部１２は、格納されている録音データを、周波数解析部１３及びＦ０推定部１４に出力する。
【００３５】
続いて、周波数解析部１３は、録音データについて、１２音階に含まれる各音程の周波数毎に周波数解析を行う（ステップＳ３）。周波数解析部１３は、１２音階に含まれる各音程の周波数に応じた正弦波及び余弦波によって録音データの信号を積分することにより、各音程の周波数毎に振幅強度を導出し、該振幅強度を各音程の特徴量とする。周波数解析部１３は、各音程の特徴量である音階ベクトルの値を０〜１の値に正規化した値（各音程の特徴量に基づく第１の特徴量）を、多重音解析部１５に出力する。
【００３６】
続いて、Ｆ０推定部１４は、録音データに係る基本周波数（Ｆ０）である音程を推定する（ステップＳ４）。Ｆ０推定部１４は、録音データを、所定の周波数よりも高い周波数成分を低減させる低域通過フィルタによって処理し、該処理後の信号である低減信号の基本周波数である音程を推定する。Ｆ０推定部１４は、上述した低域通過フィルタによって処理された後の信号である低減信号について、例えば自己相関法を用いて、１２音階に含まれる各音程が基本周波数である尤もらしさを示す第１尤度を、各音程毎に導出する。Ｆ０推定部１４は、各音程の第１尤度を０〜１の値に正規化した値（各音程の第１尤度に基づく第２の特徴量）を、多重音解析部１５に出力する。
【００３７】
続いて、多重音解析部１５は、周波数解析部１３による、各音程の周波数毎の周波数解析結果と、Ｆ０推定部１４による、基本周波数である音程の推定結果とに基づき、録音データに係る和音を識別する（ステップＳ５）。多重音解析部１５は、ニューラルネットワークＮ１を用いて、録音データに係る和音を識別する。ニューラルネットワークＮ１は、各音程の特徴量である音階ベクトル（クロマベクトル）に基づく第１の特徴量、及び、各音程が基本周波数である尤もらしさを示す第１尤度に基づく第２の特徴量を入力として、録音データに係る和音の尤もらしさを示す第２尤度を出力する。多重音解析部１５は、例えば、第２尤度が最も大きい和音を、録音データに係る和音であると識別し、該和音を特定する情報を出力部１６に出力する。
【００３８】
そして、出力部１６は、多重音解析部１５によって識別された和音を示す識別結果を、楽器音認識装置１０の外部に出力する（ステップＳ６）。以上が、楽器音認識装置１０が行う楽器音認識方法の一連の処理の一例である。
【００３９】
続いて、図８を参照して、コンピュータを楽器音認識装置１０として機能させるための楽器音認識プログラムＰについて説明する。
【００４０】
楽器音認識プログラムＰは、メインモジュールＰ１０、録音モジュールＰ１１、録音データ格納モジュールＰ１２、周波数解析モジュールＰ１３、Ｆ０推定モジュールＰ１４、多重音解析モジュールＰ１５、及び出力モジュールＰ１６を備える。メインモジュールＰ１０は、楽器音認識装置１０としての処理を統括的に制御する部分である。録音モジュールＰ１１、録音データ格納モジュールＰ１２、周波数解析モジュールＰ１３、Ｆ０推定モジュールＰ１４、多重音解析モジュールＰ１５、及び出力モジュールＰ１６を実行することにより表現される機能は、それぞれ、録音部１１、録音データ格納部１２、周波数解析部１３、Ｆ０推定部１４、多重音解析部１５、及び出力部１６の機能と同様である。
【００４１】
楽器音認識プログラムＰは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ若しくはＲＯＭ等の記録媒体又は半導体メモリによって提供される。また、楽器音認識プログラムＰは、搬送波に重畳されたコンピュータデータ信号としてネットワークを介して提供されてもよい。
【００４２】
次に、本実施形態に係る楽器音認識装置１０の作用効果について、従来の楽器音認識技術と対比しながら説明する。
【００４３】
従来の楽器音認識技術においては、和音を認識するに際し、フーリエ変換による周波数解析を行うことが一般的である。フーリエ変換による周波数解析では、直交周波数による周波数解析を行っており、図７に示されるように、時間フレーム長をＴとすると、基底周波数は１／Ｔ、２／Ｔ、…ｎ／Ｔとなり（サンプル数がｎの場合）、周波数間隔は１／Ｔとなる。このため、例えば、低音域のラの音（５５Ｈｚ）まで解析できるようにするためには、１つ上の音程のシ♭の音（５８Ｈｚ）との差が３Ｈｚなので、１／Ｔが３Ｈｚより小さくなるような周波数分解能が必要となる。したがって、時間フレーム長Ｔは３３３ミリ秒以上必要となり、３３３ミリ秒より速い時間で音程が変わるメロディを解析することが困難である（以下、「第１の課題」と記載する場合がある）。
【００４４】
また、和音には、音程の組み合わせが同じであったとしても、例えばＣ（ルートを最低音であるベースとする）と、その第１転回形であるＣ／Ｅ（３度を最低音であるベースとする）と、その第２転回形であるＣ／Ｇ（５度を最低音であるベースとする）とが存在するため、単に音程の組み合わせを認識しただけでは、和音を正確に推定できない場合がある（以下、「第２の課題」と記載する場合がある）。このように、従来の楽器音認識技術には、上述した第１の課題及び第２の課題が存在し、和音の認識精度を十分に担保できているとは言い難かった。
【００４５】
これに対して、本実施形態に係る楽器音認識装置１０では、上記第１の課題を解消すべく、楽器音を録音した録音データについて、１２音階に含まれる各音程に応じた周波数毎に周波数解析を行い、複数の音程を識別する。すなわち、楽器音認識装置１０では、従来の楽器音認識技術における離散フーリエ変換の基底周波数を１２音階に含まれる各音程に応じた周波数に変更し、直交周波数を用いずに周波数解析を行っている。このような構成においては、周波数間隔が時間フレーム長と無関係に決まるため、周波数解析において時間フレーム長の制限が無く、任意の時間フレーム長で音程を解析することができる。これにより、例えば速いメロディについては短い時間で解析することが可能になり、速いメロディについても適切に識別することができる。また、遅いメロディについては長い時間で解析することも可能となる。図３に示されるように、１２音階の各音程の周波数は、高音域になるほど、周波数の間隔が離れていくため、フーリエ変換のように細かく周波数解析しなくても、音程の認識が可能になる。したがって、安価な装置でも計算量的に実装が可能になるというメリットもある。
【００４６】
本実施形態に係る楽器音認識装置１０では、上記第２の課題を解決すべく、録音データが低域通過フィルタによって処理され、処理後の低減信号の基本周波数となる音程が推定され、当該推定の結果が考慮されて複数の音程が識別される。基本周波数となる音程の推定結果を考慮することにより、録音データに係る複数の音程のうち最も低い音程が定まるため、音程の組み合わせが同一で且つ最低音であるベースが異なる、いわゆる転回形についても区別して、複雑な分数和音も認識することができる。なお、例えば複数の音程が混ざった録音データについて単に基本周波数の推定を行おうとした場合には、複数の音程のうち一部の音程しか認識できない等の不具合が発生し得る。この点、本実施形態に係る楽器音認識装置１０では、低域通過フィルタによって所定の周波数よりも高い周波数成分を低減させた後の低減信号について基本周波数となる音程を推定しているので、録音データに含まれる複数の音程のうちベース以外の音程を低減した状態で、すなわち、複数の音程の混在を抑制した状態で、基本周波数となる音程を推定することができ、基本周波数の推定精度を向上させることができる。これにより、転回形についても区別して、複数の音程を適切に認識することができる。
【００４７】
以上より、本実施形態に係る楽器音認識装置１０によれば、速いメロディの音程を認識することができると共に、転回形を考慮して各音程を認識することができ、複数の音程の認識精度を向上させることができる。
【００４８】
周波数解析部１３は、１２音階に含まれる各音程の周波数に応じた正弦波及び余弦波によって、録音データの信号を積分することにより、各音程の周波数毎に振幅強度を導出し、該振幅強度を各音程の特徴量とし、多重音解析部１５は、各音程の特徴量を、各音程の周波数毎の周波数解析結果として、録音データに係る和音を識別する。これにより、１２音階に含まれる各音程の周波数毎に周波数解析を適切に行うことができ、１２音階に含まれる各音程の認識精度を向上させることができる。
【００４９】
Ｆ０推定部は、上述した低域信号について、自己相関法を用いて、１２音階に含まれる各音程が基本周波数である尤もらしさを示す第１尤度を各音程毎に導出し、各音程の第１尤度に基づき、基本周波数である音程を推定する。これにより、基本周波数である音程を高精度に推定することができる。
【００５０】
多重音解析部１５は、各音程の特徴量に基づく第１の特徴量、及び、各音程の第１尤度に基づく第２の特徴量を入力として、録音データに係る複数の音程の尤もらしさを示す第２尤度を出力とするニューラルネットワークＮ１を用いて、録音データに係る和音を識別する。これにより、各音程の周波数毎の周波数解析結果に応じた第１の特徴量、及び、各音程が基本周波数である尤もらしさを示す第１尤度に基づく第２の特徴量の双方を考慮して、和音を適切に推定することができる。
【００５１】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック（構成部）は、ハードウェア及び／又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び／又は論理的に結合した１つの装置により実現されてもよいし、物理的及び／又は論理的に分離した２つ以上の装置を直接的及び／又は間接的に（例えば、有線及び／又は無線で）接続し、これら複数の装置により実現されてもよい。
【００５２】
例えば、上記実施形態における楽器音認識装置１０などは、上記実施形態の楽器音認識装置１０の処理を行うコンピュータとして機能してもよい。図２は、本実施形態に係る楽器音認識装置１０のハードウェア構成の一例を示す図である。上述の楽器音認識装置１０は、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、及びバス１００７などを含むコンピュータ装置として構成されてもよい。
【００５３】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。楽器音認識装置１０のハードウェア構成は、図２に示された各装置を１つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００５４】
楽器音認識装置１０における各機能は、プロセッサ１００１、メモリ１００２などのハードウェア上に所定のソフトウェア（プログラム）を読み込ませることで、プロセッサ１００１が演算を行い、通信装置１００４による通信、メモリ１００２及びストレージ１００３におけるデータの読み出し及び／又は書き込みを制御することで実現される。
【００５５】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：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）」は、排他的論理和ではないことが意図される。
【００７９】
本明細書において、文脈又は技術的に明らかに１つのみしか存在しない装置であることが示されていなければ、複数の装置をも含むものとする。
【符号の説明】
【００８０】
１０…楽器音認識装置、１３…周波数解析部（解析部）、１４…Ｆ０推定部（推定部）、１５…多重音解析部（識別部）、１６…出力部、Ｎ１…ニューラルネットワーク、Ｐ…楽器音認識プログラム。
【図１】
2018141899.tif 000004
【図２】
2018141899.tif 000005
【図３】
2018141899.tif 000006
【図４】
2018141899.tif 000007
【図５】
2018141899.tif 000008
【図６】
2018141899.tif 000009
【図７】
2018141899.tif 000010
【図８】
2018141899.tif 000011