以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。図面の説明において、同一又は同等の要素には同一符号を用い、重複する説明を省略する。
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1は、楽器音認識装置の機能構成を示すブロック図である。図1に示される楽器音認識装置10は、楽器によって演奏された音である楽器音を認識する装置である。楽器音認識装置10は、楽器音に含まれる複数の音程を認識する。本実施形態では、楽器音認識装置10が、楽器音に含まれる複数の音程の一例として和音構成を認識するとして説明するが、楽器音に含まれる複数の音程は、和音を構成しない複数の音程の組み合わせであってもよい。楽器音は、例えばギター又はピアノ等の、多重音を演奏できる楽器により奏でられる演奏音である。和音は、音程(周波数)が異なる複数の音が合成された音であり、特定の音程の組み合わせである。和音は、コードとも呼ばれる。
楽器音認識装置10は、機能的には、録音部11と、録音データ格納部12と、周波数解析部13(解析部)と、F0推定部14(推定部)と、多重音解析部15(識別部)と、出力部16と、を備えている。楽器音認識装置10は、例えば、図2に示されるハードウェアによって構成されている。
図2は、楽器音認識装置10のハードウェア構成を示す図である。図2に示されるように、楽器音認識装置10は、物理的には、1又は複数のプロセッサ1001、主記憶装置であるメモリ1002、ハードディスク又は半導体メモリ等のストレージ1003、ネットワークカード等のデータ送受信デバイスである通信装置1004、入力装置1005、及びディスプレイ等の出力装置1006等を含むコンピュータシステムとして構成されている。図1に示される各機能は、図2に示されるメモリ1002等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、プロセッサ1001の制御のもとで入力装置1005、出力装置1006、及び通信装置1004を動作させるとともに、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みを行うことで実現される。
再び図1を参照して、楽器音認識装置10の各機能の詳細を説明する。
録音部11は、楽器音を所定の時間単位で録音し、録音データとして取得する。録音部11は、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次録音する。サンプリング周波数は、例えば16000Hz又は44100Hz等である。サンプリングされた楽器音は、サンプル(音響信号)といい、時系列に配列された所定数(n個;nは1以上の整数)のサンプルをまとめて録音データ(フレーム)という。各サンプルは、当該サンプルが取得された時点での楽器音の振幅値(音量)であって、例えば、16ビットで表される。
録音部11は、各サンプルを時系列に(サンプリングされた順に)配列し、所定数のサンプルごとに録音データとする。1つの録音データに含まれるサンプルの数nは、例えば、256である。サンプリング周波数が16000Hzである場合、録音データは、0.016秒程度の楽器音に相当する。録音部11は、楽器音を繰り返しサンプリングし続け、録音データを取得し続ける。録音部11は、各録音データを録音データ格納部12に順次出力する。
録音データ格納部12は、録音部11から録音データを順次受け取り、録音部11によって取得された録音データを格納する。録音データ格納部12は、例えば、FIFO(First In First Out)バッファで構成される。この場合、録音データ格納部12に格納可能な数の録音データが格納されると、録音データ格納部12は、録音データ格納部12に格納されている録音データのうち最も古い(最初に格納された)録音データを破棄し、新しい録音データを格納する。つまり、録音データ格納部12は、複数の録音データを一時的に格納(バッファリング)する。録音データ格納部12は、格納されている録音データを、周波数解析部13及びF0推定部14に出力する。
周波数解析部13は、録音データについて、所定の音階に含まれる各音程の周波数毎に周波数解析を行う。所定の音階は、例えば12音階である。本実施形態では、所定の音階が12音階であるとして説明する。所定の音階が12音階である場合、1オクターブに含まれる音程は、例えば低い音から順に、「A」「B♭」「B」「C」「C♯」「D」「E♭」「E」「F」「F♯」「G」「A♭」の12個であり、それぞれ個別の周波数とされている。ある音程の周波数を約1.0592倍した値が、1つ上の音程の周波数となる。例えば、最も低い「A」の周波数が55.00Hzであるとすると、1つ上の音程(「B♭」)の周波数は、55.00×1.0592≒58.25Hzとなる。また、ある音程の周波数を2倍した値が、1オクターブ高い、同じ音程の周波数となる。例えば、あるオクターブの「A」の周波数が55.00Hzであるとすると、1オクターブ高い「A」の周波数は55.00×2=110.00Hzとなる。どの周波数帯(オクターブ)で周波数解析を行うかについては、予め把握された、楽器が奏でる周波数に応じて決定される。
周波数解析部13は、12音階に含まれる各音程の周波数に応じた正弦波及び余弦波によって録音データの信号を積分することにより、各音程の周波数毎に振幅強度を導出し、該振幅強度を各音程の特徴量とする。より詳細には、周波数解析部13は、各音程の周波数に応じた正弦波及び余弦波によって録音データの波形を積分し、該積分結果の二乗を足し合わせたものを、各音程の振幅強度とする。具体的には、周波数解析部13は、下記(1)式に基づいて、各音程の周波数毎に振幅強度を導出する。
上記(1)式において、fは周波数(12音階に含まれるいずれかの音程の周波数)、nは録音データに含まれるサンプリング数、x(k)はk番目のサンプルの振幅値、Sampling Rateはサンプリング周波数、Power(f)は周波数がfである音程(12音階に含まれるいずれかの音程)の振幅強度を示している。
周波数解析部13は、上記(1)式に基づいて、例えば最も低い「A」の周波数である55Hzから順に、1.0592倍の周波数毎に振幅強度を導出する。すなわち、図3に示されるように、周波数解析部13は、最も低い「A」の周波数である55Hzから55×1.0592mHzまで、m+1個の周波数分だけ、振幅強度を導出する。なお、m+1は少なくとも12音階を構成する音程の個数(12)よりも大きい。すなわち、mは11以上の整数である。周波数解析部13は、例えば、3オクターブ分(12×3=36個)の音程の周波数について、振幅強度を導出する。
周波数解析部13は、オクターブが異なる同じ音程の振幅強度については、足し合わせる処理を行い、最終的に互いに異なる12個の音程の振幅強度を、各音程の特徴量である音階ベクトル(クロマベクトル)として導出する。図4に示される例では、55Hz〜104Hzのオクターブ、110Hz〜208Hzのオクターブ、及び220Hz〜416Hzのオクターブ、の3つのオクターブの同じ音程の振幅強度が合算されて、各音程の特徴量である音階ベクトル(クロマベクトル)が導出されている。周波数解析部13は、各音程の特徴量である音階ベクトルの値を0〜1の値に正規化した値(各音程の特徴量に基づく第1の特徴量)を、多重音解析部15に出力する。各音程の正規化は、例えば、各音程の音階ベクトルを、最も音階ベクトルが大きい音程の音階ベクトルで除算することにより導出される。
F0推定部14は、録音データに係る基本周波数(F0)である音程を推定する。基本周波数とは、信号に含まれる最も低い周波数成分の周波数である。F0推定部14は、録音データを、所定の周波数よりも高い周波数成分を低減させる低域通過フィルタによって処理し、該処理後の信号である低減信号の基本周波数である音程を推定する。例えば、もっとも低いオクターブの周波数帯(55Hz〜110Hz)までの音はF0推定部で音程を解析する等が考えられる。この場合、110Hz以下の音だけを通過させる低域通過フィルタを用いる。
F0推定部14による処理を行う目的について説明する。上述したように、周波数解析部13は、12種類の音程毎に振幅強度を導出している。後述する多重音解析部15は、振幅強度の大きい音程の組み合わせに基づいて、和音(コード)を推定する(詳細は後述)。ここで、和音は、音程の組み合わせから一意に特定することができない場合がある。すなわち、音程の組み合わせが同じであったとしても、例えばC(ルートを最低音であるベースとする)と、その第1転回形であるC/E(3度を最低音であるベースとする)と、その第2転回形であるC/G(5度を最低音であるベースとする)とが存在するため、単に音程毎の振幅強度を導出しただけでは、和音を正確に推定できない場合がある。これに対して、最も低いオクターブの周波数帯だけF0抽出部で最も強い音階を抽出することで、ベース音を判定しやすくなる。ベース音は最も低いオクターブの周波数帯では単一の音になっている場合が多く、自己相関法でも判定しやすいという特徴がある。低域通過フィルタによって所定の周波数よりも高い周波数成分を低減させて、和音に含まれるベース以外の音程の周波数成分を低減させた低減信号を用いることにより、最低音であるベースの周波数(基本周波数)を推定し易くなり、転回形を考慮した場合であっても、後述する多重音解析部15による和音の推定が可能となる。
F0推定部14は、上述した低域通過フィルタによって処理された後の信号である低減信号について、例えば自己相関法を用いて、12音階に含まれる各音程が基本周波数である尤もらしさを示す第1尤度を、各音程毎に導出する。自己相関法は、基本周波数を導出するに際して一般的に行われる手法であり、複数のサンプルが含まれた2つの同じデータを準備し、kサンプルずらした状態でのデータ間の相関値(自己相関値)を導出し、該自己相関値から基本周波数を導出する手法である。自己相関値は、サンプルをずらした状態において、2つのデータ間の対応するサンプル同士を掛け合わせた値を、全サンプル分足し合わせることにより導出される。当該足し合わせた値に応じてデータ間の相関(自己相関値)が判断される。例えば、kサンプルずらした場合の自己相関値は、「サンプリング周波数」/「k」(Hz)が基本周波数である尤度とされる。本実施形態では、12音階を構成する音程毎に周波数が決まっているため、「サンプリング周波数」/「12音階を構成する各音程の周波数」(サンプル)ずらした自己相関値が導出されることにより、12音階に含まれる各音程が基本周波数である尤もらしさを示す第1尤度が導出される。F0推定部14は、自己相関値が高い音程ほど、第1尤度を高くする。このように、F0推定部14は、各音程の第1尤度を導出することによって基本周波数である音程を推定する。F0推定部14は、各音程の第1尤度を0〜1の値に正規化した値(各音程の第1尤度に基づく第2の特徴量)を、多重音解析部15に出力する。各音程の正規化は、例えば、各音程の第一尤度を、最も第1尤度が大きい音程の第1尤度で除算することにより導出される。
多重音解析部15は、周波数解析部13による、各音程の周波数毎の周波数解析結果と、F0推定部14による、基本周波数である音程の推定結果とに基づき、録音データに係る和音を識別する。多重音解析部15には、上述したとおり、各音程の周波数毎の周波数解析結果として、各音程の特徴量である音階ベクトル(クロマベクトル)を正規化した値である第1の特徴量が入力されると共に、基本周波数である音程の推定結果として、各音程が基本周波数である尤もらしさを示す第1尤度を正規化した値である第2の特徴量が入力される。
多重音解析部15は、図5に示されるニューラルネットワークN1を有している。多重音解析部15は、ニューラルネットワークN1を用いて、録音データに係る和音の識別及び学習を行う。ニューラルネットワークN1は、各音程の特徴量である音階ベクトル(クロマベクトル)に基づく第1の特徴量、及び、各音程が基本周波数である尤もらしさを示す第1尤度に基づく第2の特徴量を入力として、録音データに係る和音の尤もらしさを示す第2尤度を出力する。第2尤度は、例えばシグモイド関数値であり、0〜1の値をとりうる。第2尤度が大きいほど、録音データに係る(含まれる)和音である可能性が高いことを意味する。多重音解析部15は、例えば、第2尤度が最も大きい和音を、録音データに係る和音であると識別し、該和音を特定する情報を出力部16に出力する。
ニューラルネットワークN1は、各音程の第1の特徴量に対応した複数の入力ノード311を含む入力層31と、各音程の第2の特徴量に対応した複数の入力ノード321を含む入力層32と、複数の中間ノード331を含む中間層33と、出力ノード341を含む出力層34と、を備えている。入力ノード311は、周波数解析部13から受け取った12個の各音程の第1の特徴量それぞれに対応して設けられており、12個の入力ノード311それぞれには、いずれかの音程の第1の特徴量が入力される。入力ノード321は、F0推定部14から受け取った12個の各音程の第2の特徴量それぞれに対応して設けられており、12個の入力ノード321それぞれには、いずれかの音程の第2の特徴量が入力される。中間ノード331は、1以上の入力ノード311に入力された第1の特徴量と、1以上の入力ノード321に入力された第2の特徴量とを用いて所定の計算を行い、計算結果を出力ノード341に出力する。出力ノード341は、推定対象の和音の数だけ設けられており、各出力ノード341は、いずれかの和音の第2尤度を出力する。出力ノード341は、中間ノード331から受け取った計算結果を用いて、和音の第2尤度を計算し、該第2尤度を出力する。
出力部16は、多重音解析部15によって識別された和音を示す識別結果を出力する。出力部16は、多重音解析部15から入力された和音を特定する情報を識別結果として、楽器音認識装置10の外部に出力する。
次に、図6を参照して、楽器音認識装置10における楽器音認識方法の一連の処理を説明する。図6は、楽器音認識装置10が行う楽器音認識方法の一連の処理を示すフローチャートである。
まず、録音部11が、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次取得する(ステップS1)。そして、録音部11は、各サンプルを時系列に配列して、所定数のサンプル毎に録音データとして録音データ格納部12に順次出力する。
続いて、録音データ格納部12は、録音部11から録音データを順次受け取り、録音部11によって取得された録音データを格納する(ステップS2)。録音データ格納部12は、格納されている録音データを、周波数解析部13及びF0推定部14に出力する。
続いて、周波数解析部13は、録音データについて、12音階に含まれる各音程の周波数毎に周波数解析を行う(ステップS3)。周波数解析部13は、12音階に含まれる各音程の周波数に応じた正弦波及び余弦波によって録音データの信号を積分することにより、各音程の周波数毎に振幅強度を導出し、該振幅強度を各音程の特徴量とする。周波数解析部13は、各音程の特徴量である音階ベクトルの値を0〜1の値に正規化した値(各音程の特徴量に基づく第1の特徴量)を、多重音解析部15に出力する。
続いて、F0推定部14は、録音データに係る基本周波数(F0)である音程を推定する(ステップS4)。F0推定部14は、録音データを、所定の周波数よりも高い周波数成分を低減させる低域通過フィルタによって処理し、該処理後の信号である低減信号の基本周波数である音程を推定する。F0推定部14は、上述した低域通過フィルタによって処理された後の信号である低減信号について、例えば自己相関法を用いて、12音階に含まれる各音程が基本周波数である尤もらしさを示す第1尤度を、各音程毎に導出する。F0推定部14は、各音程の第1尤度を0〜1の値に正規化した値(各音程の第1尤度に基づく第2の特徴量)を、多重音解析部15に出力する。
続いて、多重音解析部15は、周波数解析部13による、各音程の周波数毎の周波数解析結果と、F0推定部14による、基本周波数である音程の推定結果とに基づき、録音データに係る和音を識別する(ステップS5)。多重音解析部15は、ニューラルネットワークN1を用いて、録音データに係る和音を識別する。ニューラルネットワークN1は、各音程の特徴量である音階ベクトル(クロマベクトル)に基づく第1の特徴量、及び、各音程が基本周波数である尤もらしさを示す第1尤度に基づく第2の特徴量を入力として、録音データに係る和音の尤もらしさを示す第2尤度を出力する。多重音解析部15は、例えば、第2尤度が最も大きい和音を、録音データに係る和音であると識別し、該和音を特定する情報を出力部16に出力する。
そして、出力部16は、多重音解析部15によって識別された和音を示す識別結果を、楽器音認識装置10の外部に出力する(ステップS6)。以上が、楽器音認識装置10が行う楽器音認識方法の一連の処理の一例である。
続いて、図8を参照して、コンピュータを楽器音認識装置10として機能させるための楽器音認識プログラムPについて説明する。
楽器音認識プログラムPは、メインモジュールP10、録音モジュールP11、録音データ格納モジュールP12、周波数解析モジュールP13、F0推定モジュールP14、多重音解析モジュールP15、及び出力モジュールP16を備える。メインモジュールP10は、楽器音認識装置10としての処理を統括的に制御する部分である。録音モジュールP11、録音データ格納モジュールP12、周波数解析モジュールP13、F0推定モジュールP14、多重音解析モジュールP15、及び出力モジュールP16を実行することにより表現される機能は、それぞれ、録音部11、録音データ格納部12、周波数解析部13、F0推定部14、多重音解析部15、及び出力部16の機能と同様である。
楽器音認識プログラムPは、例えば、CD−ROM、DVD若しくはROM等の記録媒体又は半導体メモリによって提供される。また、楽器音認識プログラムPは、搬送波に重畳されたコンピュータデータ信号としてネットワークを介して提供されてもよい。
次に、本実施形態に係る楽器音認識装置10の作用効果について、従来の楽器音認識技術と対比しながら説明する。
従来の楽器音認識技術においては、和音を認識するに際し、フーリエ変換による周波数解析を行うことが一般的である。フーリエ変換による周波数解析では、直交周波数による周波数解析を行っており、図7に示されるように、時間フレーム長をTとすると、基底周波数は1/T、2/T、…n/Tとなり(サンプル数がnの場合)、周波数間隔は1/Tとなる。このため、例えば、低音域のラの音(55Hz)まで解析できるようにするためには、1つ上の音程のシ♭の音(58Hz)との差が3Hzなので、1/Tが3Hzより小さくなるような周波数分解能が必要となる。したがって、時間フレーム長Tは333ミリ秒以上必要となり、333ミリ秒より速い時間で音程が変わるメロディを解析することが困難である(以下、「第1の課題」と記載する場合がある)。
また、和音には、音程の組み合わせが同じであったとしても、例えばC(ルートを最低音であるベースとする)と、その第1転回形であるC/E(3度を最低音であるベースとする)と、その第2転回形であるC/G(5度を最低音であるベースとする)とが存在するため、単に音程の組み合わせを認識しただけでは、和音を正確に推定できない場合がある(以下、「第2の課題」と記載する場合がある)。このように、従来の楽器音認識技術には、上述した第1の課題及び第2の課題が存在し、和音の認識精度を十分に担保できているとは言い難かった。
これに対して、本実施形態に係る楽器音認識装置10では、上記第1の課題を解消すべく、楽器音を録音した録音データについて、12音階に含まれる各音程に応じた周波数毎に周波数解析を行い、複数の音程を識別する。すなわち、楽器音認識装置10では、従来の楽器音認識技術における離散フーリエ変換の基底周波数を12音階に含まれる各音程に応じた周波数に変更し、直交周波数を用いずに周波数解析を行っている。このような構成においては、周波数間隔が時間フレーム長と無関係に決まるため、周波数解析において時間フレーム長の制限が無く、任意の時間フレーム長で音程を解析することができる。これにより、例えば速いメロディについては短い時間で解析することが可能になり、速いメロディについても適切に識別することができる。また、遅いメロディについては長い時間で解析することも可能となる。図3に示されるように、12音階の各音程の周波数は、高音域になるほど、周波数の間隔が離れていくため、フーリエ変換のように細かく周波数解析しなくても、音程の認識が可能になる。したがって、安価な装置でも計算量的に実装が可能になるというメリットもある。
本実施形態に係る楽器音認識装置10では、上記第2の課題を解決すべく、録音データが低域通過フィルタによって処理され、処理後の低減信号の基本周波数となる音程が推定され、当該推定の結果が考慮されて複数の音程が識別される。基本周波数となる音程の推定結果を考慮することにより、録音データに係る複数の音程のうち最も低い音程が定まるため、音程の組み合わせが同一で且つ最低音であるベースが異なる、いわゆる転回形についても区別して、複雑な分数和音も認識することができる。なお、例えば複数の音程が混ざった録音データについて単に基本周波数の推定を行おうとした場合には、複数の音程のうち一部の音程しか認識できない等の不具合が発生し得る。この点、本実施形態に係る楽器音認識装置10では、低域通過フィルタによって所定の周波数よりも高い周波数成分を低減させた後の低減信号について基本周波数となる音程を推定しているので、録音データに含まれる複数の音程のうちベース以外の音程を低減した状態で、すなわち、複数の音程の混在を抑制した状態で、基本周波数となる音程を推定することができ、基本周波数の推定精度を向上させることができる。これにより、転回形についても区別して、複数の音程を適切に認識することができる。
以上より、本実施形態に係る楽器音認識装置10によれば、速いメロディの音程を認識することができると共に、転回形を考慮して各音程を認識することができ、複数の音程の認識精度を向上させることができる。
周波数解析部13は、12音階に含まれる各音程の周波数に応じた正弦波及び余弦波によって、録音データの信号を積分することにより、各音程の周波数毎に振幅強度を導出し、該振幅強度を各音程の特徴量とし、多重音解析部15は、各音程の特徴量を、各音程の周波数毎の周波数解析結果として、録音データに係る和音を識別する。これにより、12音階に含まれる各音程の周波数毎に周波数解析を適切に行うことができ、12音階に含まれる各音程の認識精度を向上させることができる。
F0推定部は、上述した低域信号について、自己相関法を用いて、12音階に含まれる各音程が基本周波数である尤もらしさを示す第1尤度を各音程毎に導出し、各音程の第1尤度に基づき、基本周波数である音程を推定する。これにより、基本周波数である音程を高精度に推定することができる。
多重音解析部15は、各音程の特徴量に基づく第1の特徴量、及び、各音程の第1尤度に基づく第2の特徴量を入力として、録音データに係る複数の音程の尤もらしさを示す第2尤度を出力とするニューラルネットワークN1を用いて、録音データに係る和音を識別する。これにより、各音程の周波数毎の周波数解析結果に応じた第1の特徴量、及び、各音程が基本周波数である尤もらしさを示す第1尤度に基づく第2の特徴量の双方を考慮して、和音を適切に推定することができる。
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線で)接続し、これら複数の装置により実現されてもよい。
例えば、上記実施形態における楽器音認識装置10などは、上記実施形態の楽器音認識装置10の処理を行うコンピュータとして機能してもよい。図2は、本実施形態に係る楽器音認識装置10のハードウェア構成の一例を示す図である。上述の楽器音認識装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、及びバス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。楽器音認識装置10のハードウェア構成は、図2に示された各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
楽器音認識装置10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、及び/又はデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、楽器音認識装置10の周波数解析部13は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、上記実施形態に係る楽器音認識方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバ、その他の適切な媒体であってもよい。
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001及びメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、楽器音認識装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更された態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いられてもよいし、組み合わせて用いられてもよいし、実行に伴って切り替えて用いられてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)によって行われてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報及び信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
本明細書で使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
上述したパラメータに使用される名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及び/又はプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」又は「結合」されると考えることができる。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」との両方を意味する。
本明細書で使用する「第1」、「第2」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみがそこで採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
「含む(including)」、「含んでいる(comprising)」、及びそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
本明細書において、文脈又は技術的に明らかに1つのみしか存在しない装置であることが示されていなければ、複数の装置をも含むものとする。