JP2018025613A - 楽器音認識装置 - Google Patents
楽器音認識装置 Download PDFInfo
- Publication number
- JP2018025613A JP2018025613A JP2016155873A JP2016155873A JP2018025613A JP 2018025613 A JP2018025613 A JP 2018025613A JP 2016155873 A JP2016155873 A JP 2016155873A JP 2016155873 A JP2016155873 A JP 2016155873A JP 2018025613 A JP2018025613 A JP 2018025613A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- recording data
- identification
- chord
- target data
- 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
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
【課題】和音の識別精度を向上させること。【解決手段】楽器音認識装置10は、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次取得する取得部11と、取得部11によって取得された録音データを格納する録音データ格納部12と、録音データ格納部12に格納されている録音データの音量を示すボリューム値に基づいて、和音の開始タイミングを判定する判定部13と、判定部13によって判定された開始タイミングから所定の時間範囲の録音データを識別対象データとして抽出する抽出部14と、識別対象データを周波数解析し、周波数解析によって得られたスペクトルデータに基づいて和音を識別する識別部15と、識別部15によって識別された和音を示す識別結果を出力する出力部16と、を備える。【選択図】図1
Description
本発明は、楽器音認識装置に関する。
近年、音楽の分野において、機械学習を用いて楽器音を認識する技術等が発展してきている。例えば、特許文献1には、ピアノからの楽音をピックアップして音響信号(録音データ)に変換し、音響信号に高速フーリエ変換(Fast Fourier Transform:FFT)を施すことによって和音を判定する技術が記載されている。
和音を識別するためには、ある程度の時間区間の録音データを周波数解析する必要がある。しかしながら、例えば、ギターの演奏音では、ピッキングするごとに和音(コード)が変わる。このため、解析対象となる時間区間を適切に選択しなければ、複数の和音を含む録音データを解析することとなり、和音の識別精度が低下するおそれがある。
本発明は、和音の識別精度を向上可能な楽器音認識装置を提供する。
本発明の一側面に係る楽器音認識装置は、楽器の音である楽器音を認識する装置である。この楽器音認識装置は、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次取得する取得部と、取得部によって取得された録音データを格納する格納部と、格納部に格納されている録音データの音量を示すボリューム値に基づいて、和音の開始タイミングを判定する判定部と、判定部によって判定された開始タイミングから所定の時間範囲の録音データを識別対象データとして抽出する抽出部と、識別対象データを周波数解析し、周波数解析によって得られたスペクトルデータに基づいて和音を識別する識別部と、識別部によって識別された和音を示す識別結果を出力する出力部と、を備える。
この楽器音認識装置では、楽器音を所定の時間単位でサンプリングして得られた録音データのボリューム値に基づいて、和音の開始タイミングが判定される。和音が切り替わるときに、音量が急激に増える傾向がある。このため、録音データのボリューム値を用いることで、和音の開始タイミングを判定することができる。また、この開始タイミングから所定の時間範囲の録音データを識別対象データとして、識別対象データの周波数解析が行われ、周波数解析によって得られたスペクトルデータに基づいて和音の識別が行われる。例えば、ギターの演奏音では、ピッキングするごとに和音が変わる。このように、和音の開始タイミングから所定の時間範囲の録音データには、識別対象となる和音以外の別の和音が含まれる可能性が低い。このため、和音の開始タイミングから所定の時間範囲の録音データを用いて和音の識別を行うことによって、和音の識別精度を向上させることが可能となる。
本発明によれば、和音の識別精度を向上させることができる。
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1は、楽器音認識装置の機能構成を示すブロック図である。図1に示される楽器音認識装置10は、楽器によって演奏された音である楽器音の和音構成を認識するための装置である。例えば、楽器音としてギターの演奏音が用いられる。和音は、コードとも呼ばれる。
楽器音認識装置10は、機能的には、取得部11と、録音データ格納部12(格納部)と、判定部13と、抽出部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は、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次取得(録音)する。サンプリング周波数は、例えば、16000Hzである。サンプリングされた楽器音は、サンプル(音響信号)といい、時系列に配列された所定数(m個;mは1以上の整数)のサンプルをまとめて録音データ(フレーム)という。各サンプルは、当該サンプルが取得された時点での楽器音の振幅値(音量)であって、例えば、16ビットで表される。
取得部11は、各サンプルを時系列に(サンプリングされた順に)配列し、所定数のサンプルごとに録音データとする。1つの録音データに含まれるサンプルの数mは、例えば、256である。サンプリング周波数が16000Hzである場合、録音データは、0.016秒程度の楽器音に相当する。取得部11は、楽器音を繰り返しサンプリングし続け、録音データを取得し続ける。取得部11は、各録音データを録音データ格納部12に順次出力する。
録音データ格納部12は、取得部11から録音データを順次受け取り、取得部11によって取得された録音データを格納する。図3に示されるように、録音データ格納部12は、例えば、FIFO(First In First Out)バッファで構成される。この場合、録音データ格納部12に格納可能な数の録音データが格納されると、録音データ格納部12は、録音データ格納部12に格納されている録音データのうち最も古い(最初に格納された)録音データを破棄し、新しい録音データを格納する。つまり、録音データ格納部12は、複数の録音データを一時的に格納(バッファリング)する。
録音データ格納部12は、格納されている録音データのうち、判定対象データを含む所定数(n個;nは1以上の整数)の録音データを判定部13に出力する。判定対象データは、判定部13によって和音の開始タイミングが含まれるか否かの判定の対象となる録音データである。録音データ格納部12に格納されている録音データを時系列に配列した場合の所定の位置の録音データが判定対象データとされる。判定部13に出力されるn個の録音データには、判定対象データと、判定対象データよりも時間的に古い1以上の録音データと、が含まれる。
録音データ格納部12は、判定対象データと、判定対象データよりも時間的に新しい1以上の録音データと、判定対象データよりも時間的に古い1以上の録音データと、を判定部13に出力してもよい。録音データ格納部12は、格納されている全ての録音データを判定部13に出力してもよい。録音データ格納部12は、新しい録音データを格納するたびに、n個の録音データを判定部13に出力する。図3の例では、録音データ格納部12に格納されている録音データF1〜Fnのうち、2番目に新しい録音データF2が判定対象データであり、録音データ格納部12に格納されている全ての録音データが判定部13に出力される。
判定部13は、録音データ格納部12から受け取ったn個の録音データに基づいて、和音の開始タイミングを判定する。和音の開始タイミングとは、一連の楽器音において、各和音が開始するタイミングである。判定部13は、判定対象データに和音の開始タイミングが含まれているか否かを判定する。例えば、ギターの演奏では、ピッキングが行われるごとに和音が開始される。この場合、判定部13は、例えば、判定対象データにおいてピッキングが行われたか否かを判定することによって、当該判定対象データが和音の開始タイミングを含むか否かを判定する。判定対象データは、n個の録音データを時系列に配列した場合の所定の位置の録音データである。例えば、2番目に新しい録音データが、判定対象データとされる。
具体的には、判定部13は、録音データ格納部12から受け取った各録音データについて、ボリューム値を計算し、各録音データのボリューム値に基づいて、開始タイミングを判定する。ボリューム値は、音量を示す値である。つまり、判定部13は、録音データ格納部12に格納されている各録音データのボリューム値に基づいて、和音の開始タイミングを判定する。録音データには所定数(m個)のサンプルが含まれるので、判定部13は、録音データに含まれる全てのサンプルのボリューム値の平均値を計算し、平均値を当該録音データのボリューム値とする。なお、サンプルのボリューム値は、サンプルが示す振幅値の絶対値である。判定部13は、判定対象データに開始タイミングが含まれるか否かを示す判定結果を抽出部14に出力する。
判定部13は、図4に示されるように、ニューラルネットワークN1(第1ニューラルネットワーク)を備えてもよい。この例では、判定部13は、ニューラルネットワークN1を用いて、判定対象データに開始タイミングが含まれるか否かを判定する。ニューラルネットワークN1は、各録音データのボリューム値V1〜Vnを入力し、尤度L1(第1尤度)を出力する。尤度L1は、判定対象データ(この例では、録音データF2)に開始タイミングが含まれていることの尤もらしさを示す値である。尤度L1は、例えば、シグモイド関数値であり、0〜1の値を取り得る。尤度L1が大きいほど、判定対象データに開始タイミングが含まれている可能性が高いことを意味する。
ニューラルネットワークN1は、各録音データに対応した複数の入力ノード311を含む入力層31と、複数の中間ノード321を含む中間層32と、出力ノード331を含む出力層33と、を備えている。入力ノード311は、録音データ格納部12から受け取ったn個の録音データのそれぞれに対応して設けられており、複数の入力ノード311のそれぞれは、当該入力ノード311に対応した録音データのボリューム値V1〜Vnを入力する。中間ノード321は、1以上の入力ノード311に入力されたボリューム値を用いて所定の計算を行い、計算結果を出力ノード331に出力する。出力ノード331の数は1つであり、出力ノード331は中間ノード321から受け取った計算結果を用いて尤度L1を計算し、尤度L1を出力する。
ニューラルネットワークN1は、判定対象データに開始タイミングが含まれる(例えば、ピッキングが行われた)場合に、出力層33から尤度L1として1が出力され、判定対象データに開始タイミングが含まれない(例えば、ピッキングが行われていない)場合に、出力層33から尤度L1として0が出力されるように、学習されている。なお、中間層32の層数は、1つに限られず、2以上であってもよい。中間層32に含まれる中間ノード321の数は、適宜変更され得る。
判定部13は、尤度L1に基づいて、判定対象データに開始タイミングが含まれるか否かを判定する。判定部13は、例えば、尤度L1が所定の閾値以上である場合に、判定対象データに開始タイミングが含まれると判定する。判定部13は、尤度L1が所定の閾値未満である場合に、判定対象データに開始タイミングが含まれないと判定する。閾値は、例えば、0.8程度に設定される。
抽出部14は、判定部13によって判定された開始タイミングから所定の時間範囲の録音データを識別対象データとして抽出する。具体的には、抽出部14は、開始タイミングが含まれることを示す判定結果を判定部13から受け取ると、その判定結果に対応する判定対象データから、当該判定対象データよりも時間的に新しい所定数(k個;kは1以上の整数)の録音データを識別対象データとして抽出する。所定の時間範囲は、識別部15による和音の識別に必要な数のサンプルが得られる時間以上である。例えば、開始タイミングが含まれると判定された録音データと、当該録音データの後にサンプリングされたサンプルとを合わせて2048サンプル(8個の録音データ)が識別対象データとされる。抽出部14は、抽出した識別対象データを識別部15に出力する。
識別部15は、識別対象データを周波数解析し、周波数解析によって得られた周波数スペクトル(スペクトルデータ)に基づいて和音を識別する。具体的に説明すると、識別部15は、識別対象データを高速フーリエ変換することによって、識別対象データの周波数解析を行う。識別部15は、周波数解析の結果、周波数スペクトルを得る。図5の(a)は、得られた周波数スペクトルの一例である。図5の(a)では、横軸は周波数を示し、縦軸は振幅強度を示す。
識別部15は、周波数スペクトルから各音階のパワー値を計算し、パワー値に基づいて和音を識別する。具体的には、識別部15は、周波数スペクトルを各音階に対応する周波数範囲で区切り、各周波数範囲の振幅強度の平均値を計算する。そして、識別部15は、各音階について全てのオクターブの振幅強度の平均値を足し合わせ、その計算結果を当該音階のパワー値とする。
図5の(b)は、各音階のパワー値を示す図である。図5の(b)では、横軸は音階を示し、縦軸は各音階のパワー値を示す。音階には、「A」、「A#」、「B」、「C」、「C#」、「D」、「D#」、「E」、「F」、「F#」、「G」、及び「G#」の12種類がある。識別部15は、各音階のパワー値を所定の順番で配列したクロマベクトルを生成する。
識別部15は、図6に示されるように、ニューラルネットワークN2(第2ニューラルネットワーク)を備えてもよい。この例では、識別部15は、ニューラルネットワークN2を用いて、識別対象データの和音を識別する。ニューラルネットワークN2は、各音階の音階のパワー値Pを入力し、各和音の尤もらしさを示す尤度L2(第2尤度)を出力する。ニューラルネットワークN2は、各音階に対応した複数の入力ノード511を含む入力層51と、複数の中間ノード521を含む中間層52と、各和音(コード)に対応した複数の出力ノード531を含む出力層53と、を備えている。
入力ノード511は、音階の種類ごとに設けられており、複数の入力ノード511のそれぞれは、当該入力ノード511に対応した音階のパワー値Pを入力する。パワー値Pは、音階「A」のパワー値Pa、音階「A#」のパワー値Pas、音階「B」のパワー値Pb、音階「C」のパワー値Pc、音階「C#」のパワー値Pcs、音階「D」のパワー値Pd、音階「D#」のパワー値Pds、音階「E」のパワー値Pe、音階「F」のパワー値Pf、音階「F#」のパワー値Pfs、音階「G」のパワー値Pg、及び音階「G#」のパワー値Pgsを含む。
中間ノード521は、1以上の入力ノード511に入力されたパワー値Pを用いて所定の計算を行い、計算結果を1以上の出力ノード531に出力する。
出力ノード531は、和音の種類ごとに設けられており、複数の出力ノード531のそれぞれは、中間ノード521から受け取った計算結果を用いて当該出力ノード531に対応した尤度L2を計算し、尤度L2を出力する。尤度L2は、識別対象データの和音が、当該出力ノード531に対応した和音であることの尤もらしさを示す値である。尤度L2は、和音「C」の尤度L2c、和音「Cm」の尤度L2cm、及び和音「Bm」の尤度L2bmを含む。尤度L2は、例えば、シグモイド関数値であり、0〜1の値を取り得る。尤度L2が大きいほど、当該和音である可能性が高いことを意味する。
ニューラルネットワークN2は、予め学習されており、入力ノード511に入力された値に応じて、各出力ノード531から当該和音の尤度L2を出力する。なお、中間層52の層数は、1つに限られず、2以上であってもよい。
識別部15は、クロマベクトルに含まれる各音階のパワー値を正規化し、正規化したパワー値を当該パワー値に対応する音階の入力ノードに入力してもよい。例えば、識別部15は、クロマベクトルに含まれる最大のパワー値を1とし、最小のパワー値を0とし、その他のパワー値を0〜1の値に換算することによって、正規化を行う。
識別部15は、各出力ノードから出力された尤度L2に基づいて、和音を識別する。識別部15は、例えば、最も大きい尤度L2を出力した出力ノードに対応付けられた和音を、識別対象データの和音として識別する。識別部15は、識別した和音を示す識別結果を出力部16に出力する。
出力部16は、識別部15によって識別された和音を示す識別結果を出力する。出力部16は、例えば、識別部15から受け取った識別結果を楽器音認識装置10の外部に出力する。
次に、図7を参照して、楽器音認識装置10における楽器音認識方法の一連の処理を説明する。図7は、楽器音認識装置10が行う楽器音認識方法の一連の処理を示すフローチャートである。図7に示される一連の処理は、例えば、ユーザによって楽器音認識モードが設定されることによって開始されてもよく、一連の処理が終了するごとに再開されてもよい。
まず、取得部11が、楽器音を所定の時間単位でサンプリングし、サンプリングした楽器音を録音データとして順次取得する(ステップS11)。そして、取得部11は、各サンプルを時系列に配列して、所定数(m個)のサンプルごとに録音データとして録音データ格納部12に順次出力する。
続いて、録音データ格納部12は、取得部11から録音データを順次受け取り、取得部11によって取得された録音データを格納する(ステップS12)。このとき、録音データ格納部12に格納可能な数の録音データが格納されていると、録音データ格納部12は、録音データ格納部12に格納されている録音データのうち最も古い録音データを破棄し、新しい録音データを格納する。そして、録音データ格納部12は、格納されている録音データのうち、判定部13による判定対象データを含む所定数(n個)の録音データを判定部13に出力する。なお、図示されていないが、ステップS12において、録音データ格納部12にn個の録音データが格納されていない場合には、n個の録音データが録音データ格納部12に格納されるまでステップS11,S12を繰り返す。
続いて、判定部13は、録音データ格納部12から受け取ったn個の録音データに基づいて、判定対象データに開始タイミングが含まれるか否かを判定する(ステップS13)。具体的には、判定部13は、各録音データに含まれる全てのサンプルのボリューム値の平均値を計算し、平均値を当該録音データのボリューム値とする。そして、判定部13は、各録音データのボリューム値に基づいて、判定対象データに開始タイミングが含まれるか否かを判定する。
判定対象データに開始タイミングが含まれないと判定された場合(ステップS13;No)、ステップS11〜S13が繰り返される。一方、ステップS13において、判定対象データに開始タイミングが含まれると判定された場合(ステップS13;Yes)、判定部13は、判定対象データに開始タイミングが含まれることを示す判定結果を抽出部14に出力する。
続いて、抽出部14は、判定部13によって判定された開始タイミングから所定の時間範囲の録音データを識別対象データとして抽出する(ステップS14)。具体的には、抽出部14は、開始タイミングが含まれることを示す判定結果を判定部13から受け取ると、その判定結果に対応する判定対象データから、当該判定対象データよりも時間的に新しい所定の時間範囲分の録音データを識別対象データとして抽出する。そして、抽出部14は、抽出した識別対象データを識別部15に出力する。
続いて、識別部15は、抽出部14から受け取った識別対象データを周波数解析し、周波数解析によって得られた周波数スペクトルから和音を識別する(ステップS15)。ステップS15の処理を具体的に説明する。まず、識別部15は、識別対象データを高速フーリエ変換することによって、周波数スペクトルを得る。そして、識別部15は、周波数スペクトルを各音階に対応する周波数範囲で区切り、各周波数範囲の振幅強度の平均値を計算する。そして、識別部15は、各音階について全てのオクターブの振幅強度の平均値を足し合わせ、その計算結果を当該音階のパワー値とする。そして、識別部15は、各音階のパワー値を所定の順番で配列したクロマベクトルを生成する。
続いて、識別部15は、クロマベクトルに含まれる各音階のパワー値に基づいて、和音を識別する。例えば、識別部15は、図6に示されるニューラルネットワークN2を用いて、和音を識別してもよい。そして、識別部15は、識別した和音を示す識別結果を出力部16に出力する。
そして、出力部16は、識別部15から受け取った識別結果を楽器音認識装置10の外部に出力する(ステップS16)。このようにして、楽器音認識方法の一連の処理が終了する。
以上のように、和音の開始タイミングから所定の時間範囲の録音データ(サンプル)を用いて、和音が識別される。
以上説明した楽器音認識装置10では、楽器音を所定の時間単位でサンプリングして得られた録音データのボリューム値に基づいて、和音の開始タイミングが判定される。和音が切り替わるときに、音量が急激に増える傾向がある。このため、録音データのボリューム値を用いることで、和音の開始タイミングを判定することができる。また、この開始タイミングから所定の時間範囲の録音データを識別対象データとして、識別対象データの周波数解析が行われ、周波数解析によって得られた周波数スペクトルに基づいて和音の識別が行われる。例えば、ギターの演奏音では、ピッキングするごとに和音が変わる。このように、和音の開始タイミングから所定の時間範囲の録音データには、識別対象となる和音以外の別の和音が含まれる可能性が低い。このため、和音の開始タイミングから所定の時間範囲の録音データを用いて和音の識別を行うことによって、和音の識別精度を向上させることが可能となる。
楽器音認識装置10において、楽器音としてギターの演奏音を認識する場合には、例えば、開始タイミングとしてピッキングが行われたタイミングが判定され、ピッキングが行われたタイミングから所定の時間範囲の録音データを識別対象データとして用いて和音が識別される。このため、識別対象データに別の和音が混じる可能性を低減させることができ、和音の識別精度を向上させることが可能となる。
録音データ格納部12に格納されている録音データを時系列に配列した場合の所定の位置の録音データが判定対象データとされる。判定部13は、判定対象データと、判定対象データよりも時間的に古い1以上の録音データと、を少なくとも用いて、判定対象データに開始タイミングが含まれるか否かを判定する。上述のように、和音が切り替わるときに、音量が急激に増える傾向がある。このため、判定対象データのボリューム値と判定対象データよりも古い録音データのボリューム値とを用いることによって、判定対象データにおいて音量が急激に増えたか否かを判定することができる。これにより、判定対象データに開始タイミングが含まれるか否かの判定精度を向上させることが可能となる。
判定部13では、ニューラルネットワークN1を用いることによって、各ボリューム値の相互関係に基づいて判定対象データに開始タイミングが含まれるか否かが判定される。ニューラルネットワークN1を学習させることによって、開始タイミングの判定精度を向上させることが可能となる。
識別部15は、周波数スペクトルから各音階のパワー値を計算し、パワー値に基づいて、和音を識別する。各音階のパワー値が大きいほどその音階が和音に含まれている可能性が高いので、各音階のパワー値を用いることによって、和音の識別精度を向上させることができる。
識別部15では、ニューラルネットワークN2を用いることによって、各音階のパワー値の相互関係に基づいて和音が識別される。ニューラルネットワークN2に学習を行わせることによって、和音の識別精度の更なる向上が可能となる。
識別部15は、クロマベクトルに含まれる各音階のパワー値を正規化し、正規化したパワー値を当該パワー値に対応する音階の入力ノードに入力してもよい。この場合、ニューラルネットワークN2の入力層51に入力される入力値の範囲が固定化される。このため、ニューラルネットワークN2の計算精度を向上させることができ、和音の識別精度の更なる向上が可能となる。
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した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つのみしか存在しない装置であることが示されていなければ、複数の装置をも含むものとする。
また、判定部13は、ニューラルネットワークN1を用いることなく、各録音データのボリューム値に基づいて、開始タイミングを判定してもよい。上述のように、和音が切り替わるときに、音量が急激に増える傾向があるので、例えば、判定部13は、判定対象データのボリューム値と、判定対象データよりも時間的に1つ古い録音データのボリューム値と、を比較することによって、判定対象データに開始タイミングが含まれるか否かを判定してもよい。具体的には、判定部13は、判定対象データのボリューム値が、判定対象データよりも時間的に1つ古い録音データのボリューム値の所定の倍率(1よりも大きい)以上である場合に判定対象データに開始タイミングが含まれると判定し、所定の倍率未満である場合に判定対象データに開始タイミングが含まれないと判定してもよい。
また、識別部15は、ニューラルネットワークN2を用いることなく、識別対象データの周波数解析によって得られた周波数スペクトルに基づいて和音を識別してもよい。識別部15は、クロマベクトルの大きい方から所定数の音階を抽出し、抽出した音階の組み合わせに基づいて、和音を識別してもよい。識別部15は、各和音を構成する音階の組み合わせを示す和音テーブルを有し、抽出した音階の組み合わせを、和音テーブルとマッチングさせることにより、和音を識別してもよい。和音テーブルは、識別部15に予め設定されている。
10…楽器音認識装置、11…取得部、12…録音データ格納部(格納部)、13…判定部、14…抽出部、15…識別部、16…出力部、N1…ニューラルネットワーク(第1ニューラルネットワーク)、N2…ニューラルネットワーク(第2ニューラルネットワーク)。
Claims (5)
- 楽器の音である楽器音を認識する楽器音認識装置であって、
前記楽器音を所定の時間単位でサンプリングし、サンプリングした前記楽器音を録音データとして順次取得する取得部と、
前記取得部によって取得された前記録音データを格納する格納部と、
前記格納部に格納されている前記録音データの音量を示すボリューム値に基づいて、和音の開始タイミングを判定する判定部と、
前記判定部によって判定された前記開始タイミングから所定の時間範囲の録音データを識別対象データとして抽出する抽出部と、
前記識別対象データを周波数解析し、周波数解析によって得られたスペクトルデータに基づいて和音を識別する識別部と、
前記識別部によって識別された前記和音を示す識別結果を出力する出力部と、
を備える楽器音認識装置。 - 前記判定部は、前記格納部に格納されている前記録音データを時系列に配列した場合の所定の位置の前記録音データを判定対象データとし、前記判定対象データと、前記判定対象データよりも時間的に古い1以上の前記録音データと、を用いて、前記判定対象データに前記開始タイミングが含まれるか否かを判定する、請求項1に記載の楽器音認識装置。
- 前記判定部は、前記ボリューム値を入力し、前記判定対象データに開始タイミングが含まれていることの尤もらしさを示す第1尤度を出力する第1ニューラルネットワークを備え、
前記判定部は、前記第1尤度に基づいて、前記判定対象データに前記開始タイミングが含まれるか否かを判定する、請求項2に記載の楽器音認識装置。 - 前記識別部は、前記スペクトルデータから各音階のパワー値を計算し、前記パワー値に基づいて、前記和音を識別する、請求項1〜請求項3のいずれか一項に記載の楽器音認識装置。
- 前記識別部は、第2ニューラルネットワークを備え、
前記第2ニューラルネットワークは、各音階に対応した複数の入力ノードと、各和音に対応した複数の出力ノードと、を備え、
前記複数の入力ノードのそれぞれは、当該入力ノードに対応した音階の前記パワー値を入力し、
前記複数の出力ノードのそれぞれは、当該出力ノードに対応した和音の尤もらしさを示す第2尤度を出力し、
前記識別部は、前記第2尤度に基づいて、前記和音を識別する、請求項4に記載の楽器音認識装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016155873A JP2018025613A (ja) | 2016-08-08 | 2016-08-08 | 楽器音認識装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016155873A JP2018025613A (ja) | 2016-08-08 | 2016-08-08 | 楽器音認識装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2018025613A true JP2018025613A (ja) | 2018-02-15 |
Family
ID=61194569
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016155873A Pending JP2018025613A (ja) | 2016-08-08 | 2016-08-08 | 楽器音認識装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2018025613A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020038328A (ja) * | 2018-09-05 | 2020-03-12 | 国立大学法人秋田大学 | コード認識方法、コード認識プログラム、及びコード認識システム |
| CN111370023A (zh) * | 2020-02-17 | 2020-07-03 | 厦门快商通科技股份有限公司 | 一种基于gru的乐器识别方法及系统 |
-
2016
- 2016-08-08 JP JP2016155873A patent/JP2018025613A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020038328A (ja) * | 2018-09-05 | 2020-03-12 | 国立大学法人秋田大学 | コード認識方法、コード認識プログラム、及びコード認識システム |
| JP7224013B2 (ja) | 2018-09-05 | 2023-02-17 | 国立大学法人秋田大学 | コード認識方法、コード認識プログラム、及びコード認識システム |
| CN111370023A (zh) * | 2020-02-17 | 2020-07-03 | 厦门快商通科技股份有限公司 | 一种基于gru的乐器识别方法及系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110808039B (zh) | 信息处理装置、信息处理方法以及记录介质 | |
| CN110503961B (zh) | 音频识别方法、装置、存储介质及电子设备 | |
| US20180114537A1 (en) | Real-time adaptive audio source separation | |
| CN111508480B (zh) | 音频识别模型的训练方法、音频识别方法、装置及设备 | |
| US20160247520A1 (en) | Electronic apparatus, method, and program | |
| CN110797031A (zh) | 语音变音检测方法、系统、移动终端及存储介质 | |
| CN114663718A (zh) | 训练装置、方法、设备以及计算机可读介质 | |
| KR20150059932A (ko) | 사운드 출력 방법 및 장치 | |
| CN110097895B (zh) | 一种纯音乐检测方法、装置及存储介质 | |
| WO2020082224A1 (zh) | 基于fpga的重测序分析方法和装置 | |
| JP7724205B2 (ja) | 分割装置 | |
| CN110363121B (zh) | 指纹图像处理方法及装置、存储介质和电子设备 | |
| JP2018025613A (ja) | 楽器音認識装置 | |
| WO2019193796A1 (ja) | 対話サーバ | |
| JP6812273B2 (ja) | 楽器音認識装置及び楽器音認識プログラム | |
| WO2021215352A1 (ja) | 音声データ作成装置 | |
| JPWO2018079379A1 (ja) | 通信端末装置、プログラム及び情報処理方法 | |
| CN113312619A (zh) | 基于小样本学习的恶意进程检测方法、装置、电子设备及存储介质 | |
| CN112992175B (zh) | 一种语音区分方法及其语音记录装置 | |
| US20210034824A1 (en) | Machine translation control device | |
| US11862167B2 (en) | Voice dialogue system, model generation device, barge-in speech determination model, and voice dialogue program | |
| CN113658581B (zh) | 声学模型的训练、语音处理方法、装置、设备及存储介质 | |
| WO2020166125A1 (ja) | 翻訳用データ生成システム | |
| WO2019167373A1 (ja) | 機能実行指示システム | |
| CN110136677B (zh) | 乐音控制方法及相关产品 |