JP7224013B2 - コード認識方法、コード認識プログラム、及びコード認識システム - Google Patents

コード認識方法、コード認識プログラム、及びコード認識システム Download PDF

Info

Publication number
JP7224013B2
JP7224013B2 JP2018166343A JP2018166343A JP7224013B2 JP 7224013 B2 JP7224013 B2 JP 7224013B2 JP 2018166343 A JP2018166343 A JP 2018166343A JP 2018166343 A JP2018166343 A JP 2018166343A JP 7224013 B2 JP7224013 B2 JP 7224013B2
Authority
JP
Japan
Prior art keywords
chord
peak
processing
analysis frame
candidate
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.)
Active
Application number
JP2018166343A
Other languages
English (en)
Other versions
JP2020038328A (ja
Inventor
元志 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Akita University NUC
Original Assignee
Akita University NUC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Akita University NUC filed Critical Akita University NUC
Priority to JP2018166343A priority Critical patent/JP7224013B2/ja
Publication of JP2020038328A publication Critical patent/JP2020038328A/ja
Application granted granted Critical
Publication of JP7224013B2 publication Critical patent/JP7224013B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

本願はコード認識方法、コード認識プログラム、及びコード認識システムを開示するものである。
音楽から楽譜を作成(採譜)するには、音楽的知識が必要である。また、専門家であったとしても、膨大な時間を要する。楽音(音楽の音響信号)から採譜するためには、発音されている音の音高(基本周波数)と音符長(発音継続時間)を検出する必要がある。単音の楽音については、基本周波数や音符長を認識できる技術がこれまでに実用されている。しかしながら、和音(コード)を含む楽音を認識することは困難であった。和音の場合は、ある音高の倍音(高調波)の周波数が他の音高や他の音高の倍音と近い値となり、発音されている音を単に振幅とその周波数とから推定するだけでは、いずれの音が発音されているのかを認識することが困難になる場合があるためである。例えば、単音C2(ド、131Hz)が発音された場合、第3倍音がG3(ソ、392Hz)、第5倍音がE4(ミ、654Hz)に近い値となり、これらの音が同時に発音された場合と、それぞれを別々に認識することが非常に困難であった。
これまでに開示されている音高認識に関する技術としては、例えば、音高ごとにスペクトルのテンプレートを利用するもの、倍音のパワーの総和で比較するもの(例えば、特許文献1)、倍音を除去して処理を行うもの(例えば、特許文献2)など多くの技術が提案されている。
特開2007-33479号公報 特開2000-293188号公報 特開2011-22489号公報
しかしながら、これまでに提案されている技術は和音の構成音数が多い場合には適さなかった。
一方で、本発明者は以前に音の倍音構造に着目し、それぞれの音高が持つ倍音をそのまま比較する音高認識方法を特許文献3で開示しているが、和音の認識率についてはまだまだ改善の余地があった。
そこで、本願ではコード(和音)の認識性の高いコード認識方法、コード認識プログラム、およびコード認識システムを提供することを課題とする。
本発明者は、鋭意検討の結果、楽音の周波数スペクトルに現れるピークを所定の条件で抽出し、該ピークを音階番号に変換して正規化することにより正規化番号を得て、該正規化番号とコード情報を記憶しているデータベースとを比較することで、高いコード認識率を奏することを見出し、本発明を完成させた。
すなわち、本願は上記課題を解決する第1の手段として、コードを演奏することが可能な楽器の楽音のデジタル信号からコードを認識することが可能な方法であって、前記デジタル信号を所定の長さに切り出し、周波数スペクトルに変換した解析フレームを作成する解析フレーム作成工程、前記解析フレームから音階番号に変換可能な音高に対応するピークを抽出するピーク抽出工程、前記ピーク抽出工程において抽出された前記ピークに対応する音高を音階番号に変換する音階番号変換工程、前記音階番号のうち最も小さい音階番号を1として前記音階番号を正規化することにより、前記音階番号を正規化番号に変換する正規化工程、及び、前記正規化番号と前記楽器のコード情報を記憶しているデータベースとを比較して、一致度が最も高いコード情報に基づいてコード候補を決定するコード候補決定工程を有し、前記解析フレーム作成工程、前記ピーク抽出工程、前記音階番号変換工程、前記正規化工程、及び前記コード候補決定工程を順に行うことを複数回繰り返して複数の前記コード候補を得る、コード候補群決定工程と、コード候補群決定工程により得られる複数の前記コード候補からコードを決定するコード決定工程と、を備え、前記コード候補群決定工程の前記解析フレーム作成工程は、前記解析フレーム作成工程が行われるたびに所定のフレーム周期ずつずらして解析フレームを作成する、コード認識方法を開示する。
前記コード認識方法において、ピーク抽出工程は、前記解析フレームにおける最も低周波数側のピークを検出するピーク検出工程、前記検出したピークに対応する音高の倍音に対応するピークが前記解析フレーム中に連続して所定数以上あるかを判定する倍音判定工程、及び、前記検出したピークに対応する音高の倍音が前記解析フレーム中に連続して所定数以上あると前記倍音判定工程において判定された場合、前記検出したピークに対応する音高を音高候補として決定する音高候補決定工程、を有し、前記ピーク抽出工程は前記ピーク検出工程、前記倍音判定工程、及び前記音高候補決定工程を順に行うことを複数回繰り返すことが好ましい。
また、前記コード認識方法において、前記正規化工程は前記音階番号のうち最も小さい値をnとしたとき、n以上n+28以下又はn以上n+32以下の前記音階番号を抽出し、抽出された前記音階番号を用いて正規化を行うことが好ましい。
さらに、前記コード認識方法において、前記コード決定工程はコード候補群決定工程により得られる複数の前記コード候補を多数決処理することによって前記コードを決定することが好ましい。
前記コード認識方法は、前記コード決定工程によって決定された前記コードの発音継続時間を検出する発音継続時間検出工程と、前記発音継続時間検出工程によって検出された前記発音継続時間を用いてコード決定工程によって決定された前記コードの音符長を決定する音符長決定工程と、を備えることが好ましい。また、前記コード認識方法は前記コード決定工程により決定された前記コードと、前記音符長決定工程により決定された前記コードの前記音符長と、を用いてコード譜を作成するコード譜作成工程を備えることが好ましい。さらに、前記コード認識方法における前記楽器はギターであることが好ましい。
また、本願は上記課題を解決する第2の手段として、演算装置によって処理を実行する、コードを演奏することが可能な楽器の楽音のデジタル信号からコードを認識することが可能なプログラムであって、前記デジタル信号を所定の長さに切り出し、周波数スペクトルに変換した解析フレームを作成する解析フレーム作成処理、前記解析フレームから音階番号に変換可能な音高に対応するピークを抽出するピーク抽出処理、前記ピーク抽出処理において抽出された前記ピークに対応する音高を音階番号に変換する音階番号変換処理、前記音階番号のうち最も小さい音階番号を1として前記音階番号を正規化することにより、前記音階番号を正規化番号に変換する正規化処理、及び、前記正規化番号と前記楽器のコード情報を記憶しているデータベースとを比較して、一致度が最も高いコード情報に基づいてコード候補を決定するコード候補決定処理を有し、前記解析フレーム作成処理、前記ピーク抽出処理、前記音階番号変換処理、前記正規化処理、及び前記コード候補決定処理を順に行うことを複数回繰り返して複数の前記コード候補を得る、コード候補群決定処理と、コード候補群決定処理により得られる複数の前記コード候補からコードを決定するコード決定処理と、を備え、前記コード候補群決定処理の前記解析フレーム作成処理は、前記解析フレーム作成処理が行われるたびに所定のフレーム周期ずつずらして解析フレームを作成する、コード認識プログラムを開示する。
前記コード認識プログラムにおいて、前記ピーク抽出処理は、前記解析フレームにおける最も低周波数側のピークを検出するピーク検出処理、前記検出したピークに対応する音高の倍音に対応するピークが前記解析フレーム中に連続して所定数以上あるかを判定する倍音判定処理、及び、前記検出したピークに対応する音高の倍音が前記解析フレーム中に連続して所定数以上あると前記倍音判定処理において判定された場合、前記検出したピークに対応する音高を音高候補として決定する音高候補決定処理、を有し、前記ピーク抽出処理は前記ピーク検出処理、前記倍音判定処理、及び前記音高候補決定処理を順に行うことを複数回繰り返すことが好ましい
また、前記コード認識プログラムにおいて、前記正規化処理は前記音階番号のうち最も小さい値をnとしたとき、n以上n+28以下又はn以上n+32以下の前記音階番号を抽出し、抽出された前記音階番号を用いて正規化を行うことが好ましい。
さらに、前記コード認識プログラムにおいて、前記コード決定処理はコード候補群決定処理により得られる複数の前記コード候補を多数決処理することによって前記コードを決定することが好ましい。
前記コード認識プログラムは前記コード決定処理によって決定された前記コードの発音継続時間を検出する発音継続時間検出処理と、前記発音継続時間検出処理によって検出された前記発音継続時間を用いてコード決定処理によって決定された前記コードの音符長を決定する音符長決定処理と、を備えることが好ましい。また、前記コード認識プログラムは前記コード決定処理により決定された前記コードと、前記音符長決定処理により決定された前記コードの前記音符長と、を用いてコード譜を作成するコード譜作成処理を備えることが好ましい。さらに前記コード認識プログラムにおいて、前記楽器はギターである、ことが好ましい。
さらに、本願は上記課題を解決する第3の手段として、音楽のデジタル信号を入力できる入力部と、前記コード認識プログラムを実行する処理部と、前記処理部での処理結果を表示できる表示部と、を備える、コード認識システムを開示する。
本開示によれば、高いコード認識率を有する。
コード認識方法1のフローチャートである。 コード候補群決定工程S1のフローチャートである。 時間-周波数解析の流れを示す図である。(a)は原信号からコード認識を経て、コード(コード候補)を出力するまでの概略図である。(b)は解析フレームと時間軸との関係を示す概略図である。 ピーク抽出工程S12のフローチャートである。 倍音を説明する概略図である。 (a)ギターの押弦位置の1つの例である。(b)(a)の押弦位置から得られるコード構成音情報(データベース)である。(c)ある解析フレームにおける演奏音情報である。 コード認識システム10を説明するブロック図である。
以下において、数値A及びBについて「A~B」という表記は「A以上B以下」を意味するものとする。かかる表記において数値Bのみに単位を付した場合には、当該単位が数値Aにも適用されるものとする。
本願はコードを演奏することが可能な楽器の楽音のデジタル信号からコードを認識することが可能なコード認識方法、コード認識プログラム、及びコード認識システムを開示するものである。
好ましい楽器として、鍵盤楽器(ピアノなど)、ギターなどを挙げることができる。楽音の振幅の立ち上がりが比較的早いためである。より好ましくはギターである。なお、一般的なギターはMIDI機能を持たないため、演奏情報の取得が難しく、そのためギターのコード認識の方法及びその装置の開発が求められている。
以下においては、本開示の1つの実施形態であるコード認識方法1、該コード認識方法1を行うコード認識プログラム、及び該コード認識プログラムを備えるコード認識システム10について説明する。
1.コード認識方法1
図1はコード認識方法1のフローチャートである。図1に記載されているとおり、コード認識方法1はコード候補群決定工程S1とコード決定工程S2とを備える。これにより、楽音のデジタル信号からコードを認識することができる。
また、図1に記載されているとおり、コード認識方法1は発音継続時間検出工程S3と音符長決定工程S4とを備えることが好ましい。これにより、コード決定工程S2により決定されたコードの音符長を決定することができる。
さらに、図1に記載されているとおり、コード認識方法1はコード譜作成工程S5を備えることが好ましい。これによりコード譜を自動的に作成することができる。
以下、各工程についてさらに説明する。
1.1.コード候補群決定工程S1
コード候補群決定工程S1は図2に示すように、解析フレーム作成工程S11、ピーク抽出工程S12、音階番号変換工程S13、正規化工程S14、及び、コード候補決定工程S15を有し、工程S11~工程S15を順に行うことを複数回繰り返す。これにより、複数のコード候補(コード候補群)を時系列で得ることができる。工程S11~工程S15を順に行うことを繰り返す回数は特に限定されないが、楽音の最初の解析フレームから最後の解析フレームまで処理するまで繰り返すことが好ましい。つまり、解析フレームの個数が繰り返し回数となる。
1.1.1.解析フレーム作成工程S11
解析フレーム作成工程S11では、演奏された楽音のデジタル信号を所定の長さに切り出し、周波数スペクトルに変換した解析フレームを作成する。
解析フレーム作成工程S11は、コード候補群決定工程S1において複数回行われるので、解析フレーム作成工程S11が行われるたびに所定のフレーム周期ずつずらして解析フレームを作成する。例えば、2回目の解析フレーム作成工程S11は1回目の解析フレーム作成工程S11で作成した解析フレームから所定のフレーム周期をずらした解析フレームを作成する。3回目以降も同様である。
楽音のデジタル信号への変換は,任意のサンプリング周波数と量子化bit数に設定したA/D変換によって行われる(ディジタルオーディオレコーダやPCで取り込む)。例えば、サンプリング周波数44.1kHz、量子化bit数が16bit程度に設定する。
その後、デジタル信号を所定の長さに切り出し、周波数スペクトルに変換した解析フレームを作成する。周波数スペクトルへの変換は,離散時間フーリエ変換(FFTなど)によって行われる。デジタル信号を切り出す長さ(フレーム長)も特に限定されないが、フレーム長を長くした場合は周波数分解能が良くなるが時間分解能が悪くなり、短くした場合は時間分解能が良くなるが周波数分解能が悪くなるため、最適なフレーム長は対象となる楽音の最低音高、テンポ、および最小音符長に応じて、適宜決定することが好ましい。例えば、ハニング窓を使用しフレーム長を50~500ms、好ましくは50~300ms、より好ましくは100~200msとすることが良い。また、フレーム周期の長さも特に限定されないが1~50ms、好ましくは5~30ms、より好ましくは5~15msである。最低検索周波数E1(82.4Hz)と最低検索周波数E1(82.4Hz)から25Hz程度の周波数差の音高が同時に発音されたときに区別できるように(一般的な音楽では、十分な分解能であると考えられる。)、また最大テンポを150(1分間に4分音符を150拍)とした場合に16分音符を検出できるようにする観点からは、フレーム長を100~200ms、フレーム周期の長さを5~15msに設定するとよく、フレーム長を150ms、フレーム周期の長さを10msに設定することが好ましい。短時間フーリエ変換のその他の条件は適宜設定することができる。
図3はデジタル信号の周波数スペクトルへの変換(時間-周波数解析)について説明する図である。図3(a)は原信号からコード認識を経て、コード(コード候補)を出力するまでの概略図である。図3(b)は解析フレームと時間軸との関係を表しており、所定のフレーム周期ずつずれた解析フレームが作成されることを表している。
図3(a)、(b)に示されているように、工程S11は所定のフレーム周期ずつずらした解析フレームを作成していることがわかる。
1.1.2.ピーク抽出工程S12
ピーク抽出工程S12では、解析フレーム作成工程S11により作成された解析フレームから音階番号に変換可能な音高に対応するピークを抽出する。ここで「音階番号」は、低い音高から順につけた番号であれば特に限定されないが、代表的な「音階番号」であるMIDIノートナンバーを用いることが好ましい。
ピーク抽出工程S12は図4に示したとおり、解析フレームにおける最も低周波数側のピークを検出するピーク検出工程S121、検出したピークに対応する音高の倍音に対応するピークが解析フレーム中に連続して所定数以上あるかを判定する倍音判定工程S122、及び、ピーク検出工程S121で検出したピークに対応する音高の倍音に対応するピークが解析フレーム中に連続して所定数以上あると倍音判定工程S122において判定された場合、ピーク検出工程S121で検出したピークに対応する音高を音高候補として決定する音高候補決定工程S123を有する。そして、ピーク抽出工程S12はピーク検出工程S121、倍音判定工程S122、及び音高候補決定工程S123を順に行うことを複数回繰り返す。これにより、音階番号に変換可能な音高に対応するピークを複数抽出することができる。
なお、ピーク検出工程S121、倍音判定工程S122、及び音高候補決定工程S123を順に行うことを複数回繰り返す際は、ピーク検出工程S121において音高候補として決定されたピークは再度検出されず、当該決定されたピークよりも高周波数であり、かつ、最も低周波数側にある音階番号に変換可能な音高に対応するピークを検出する。音階番号に変換可能な音高に対応するピークを低周波数側から順次検出するためである。例えば、後述の式(1)を用いる場合、ピーク検出工程S121を繰り返すごとにnがインクリメントされた周波数の範囲においてピークを検索する。
ピーク検出工程S121、倍音判定工程S122、及び音高候補決定工程S123を順に行うことを繰り返す回数は特に限定されないが、ピーク検出工程S121において検出するピークが対象とする楽器の最高音高(例えばギターの場合、音高E5)の周波数を超えるまで行うことが好ましい。言い換えると、ピーク検出工程S121において検出されるピークが対象とする楽器の最高音高の周波数を超えた時点でピーク抽出工程S2を終了させることが好ましい。或いは、正規化工程S14の好ましい形態を考慮して、最も小さい音高候補の音階番号をnとしたとき、n+28(又はn+32)の音階番号の音高の周波数を超えるまで行うことが好ましい。
以下、ピーク検出工程S121、倍音判定工程S122、及び音高候補決定工程S123について説明する。
1.1.2.1.ピーク検出工程S121
ピーク検出工程S121では、解析フレームにおける最も低周波数側のピークを検出する。検出するピークの条件は特に限定されないが、次の条件を用いることが好ましい。
まず、ピーク抽出工程S12では音階番号に変換可能な音高に対応するピークを抽出することを目的としているため、音階番号に変更できないピークは検出しないほうが良い。音階番号に変換可能な音高に対応するピークとは、例えば平均律(12平均律)を用いて次の式(1)を満たす周波数fを有するピークである。nは音階番号(MIDIノートナンバー)である。ギターの場合はnが41以上88以下である。
Figure 0007224013000001
また、解析フレーム内には検出すべきピークの他に、ノイズも含まれている。そのため、ノイズを除外するため、振幅に適当な閾値を設け、当該閾値を超えるピークのみを検出することが良い。閾値の設定は当業者であれば適宜設定することができる。好ましくは、最大のピークレベルから-20dB程度に閾値を設定する。図5に示す例の場合では、10~30dB、好ましくは15~25dBの範囲内の閾値を設定する。
よって、ピーク検出工程S121で検出するピークの条件は、式(1)を満たす周波数を有し、かつ、設定された閾値以上の振幅を有するピークであることが好ましい。
1.1.2.2.倍音判定工程S122
倍音判定工程S122では、ピーク検出工程S121で検出したピークに対応する音高の倍音に対応するピークが解析フレーム中に連続して所定数以上あるかを判定する。倍音に対応するピークの条件は特に限定されないが、上記ピーク検出工程S121に記載した条件を用いることが好ましい。ピーク検出工程S121で検出したピークに対応する音高の倍音に対応するピークが解析フレーム中に連続して所定数以上ない場合は、再度ピーク検出工程S121を行う。当然その際は、前回検出したピークは再度検出しない。
ここで、「倍音」とはある音高の周波数の整数倍の周波数を有する音高である。「倍音が連続して所定数以上ある」とは、ピーク検出工程S121において検出されたピークの周波数を基本周波数として、その基本周波数の2次、3次、…の高調波のピークが連続して存在している、すなわち、ピーク検出工程S121において検出されたピークに対応する音高の2倍音、3倍音・・・が連続して存在していることを意味する。所定数以上とは例えば3個以上である。
具体的には図5に示すように、ピーク検出工程S121において検出したピークに対応する音高がC2であるとき、その倍音であるC3、G3などに対応するピークの存在を確認する。図5は、横軸を周波数(Hz)とし、縦軸を振幅(dB)とした解析フレームの一例を概略的に示す図である。図5に示した例では、2倍音C3、3倍音G3、4倍音C4、5倍音E4、及び6倍音G4に対応するピークを確認することができる。
1.1.2.3.音高候補決定工程S123
音高候補決定工程S123では、ピーク検出工程S121で検出したピークに対応する音高の倍音に対応するピークが解析フレーム中に連続して所定数以上あると倍音判定工程S122において判定された場合、ピーク検出工程S121で検出したピークに対応する音高を音高候補として決定する。
1.1.3.音階番号変換工程S13
音階番号変換工程S13では、ピーク抽出工程S12において抽出されたピークに対応する音高を音階番号に変換する。音階番号は上記式(1)の音階番号nを用いることが好ましい。
1.1.4.正規化工程S14
正規化工程S14では音階番号変換工程S13により変換された音階番号のうち最も小さい音階番号を1として上記音階番号を正規化することにより、音階番号を正規化番号に変換する。
正規化する理由は、例えばギターコードの場合は押弦位置がある程度決まっており、いくつかの「形」に分けられ、データベースにおいて同じ形で基音が異なるコードを共通化することができるためである。
正規化工程S14は、音階番号のうち最も小さい値をnとしたとき、n以上n+28以下又はn以上n+32以下の音階番号を抽出し、抽出された音階番号を用いて正規化を行うことである。コード認識率を向上させる観点から、n以上n+32以下の音階番号を抽出することが好ましい。
例えばギターコードの場合、最低音高と最高音高との差はほとんど28以下であること、経験的にも片手でフレットを押さえられる範囲も29音階程度であること、及び第7倍音が2つの音高のほぼ中間の周波数になるため判別が難しく、その影響を含めないようにすること、の3つの理由から抽出する音階を上記の範囲とした。
下記の表1にギターのCコードを演奏した場合の1つの例を示した。
Figure 0007224013000002
1.1.5.コード候補決定工程S15
コード候補決定工程S15では、正規化工程S14で変換された正規化番号と対象とする楽器のコード情報を記憶しているデータベースとを比較して、一致度が最も高いコード情報に基づいてコード候補を決定する。
コード情報は目的とする楽器のコードの構成音と、該構成音の音高及びその倍音の音高の音階番号を正規化した正規化番号と、を少なくとも含むことが好ましい。データベースの正規化番号は、正規化工程S14の好ましい形態を考慮して、1以上29以下(又は1以上33以下)であることが好ましい。コードの構成音はギターの押弦位置の形から求めることができる。例えば図6にギターのメジャーコードの押弦位置の形のうち、1つの例を示した。「○」は弦を押さえることを意味し、「×」は弦を押さえないことを意味する。この形の押弦位置から得られるコードの構成音はX、R1、M3、P5、R、M3であり、この構成音及び倍音から正規化番号を得ることができる。なお、X:演奏(発音)しない、R1(R):根音,M3:長三度,P5:完全五度を意味する。
データベースの作成方法は特に限定されないが、コードの構成音に基づいて作成することができる。構成音からその倍音の音高も決定できるためである。
一致度の算出方法は特に限定されないが、例えば正規化工程S14で得られた正規化番号とデータベースにある1つのコードのコード情報とを比較して、正規化番号が一致している数をM、上記でデータベースにある1つのコードのコード情報に含まれる基音及び倍音の正規化番号の数をNとしたとき、A=M/N×100(%)で算出することができる。
より具体的には、下記表2を参照して説明する。
Figure 0007224013000003
表2によれば、正規化番号が一致している数Mは8であり、データベースの比較対象であるコードの正規化番号の数Nは9である。よって一致度A=8/9×100≒88.9%となる。
このように、コード候補決定工程S15では音階そのものの一致度を利用することが考えらえる。ただし、これに限定されず、音階そのものの一致度に加え、音階差の一致度も考慮してもよい。
コード候補決定工程S15は上記コード情報との一致度に加え、さらにコードの根音情報を考慮してコード候補を決定する。
すなわち、「一致度の最も高いコード情報に基づいてコード候補を決定する」とは、一致度の最も高いコード情報から、コードの形(押弦位置の形)及び種類を決定し、そしてコードの根音と音階番号変換工程S13で決定された音階番号とからコード候補を決定することである。なお、データベースのコード情報から根音を決定することが可能である。コードの種類とは、メジャーコード、マイナーコード、セブンスコード等のことを言う。
ここで、コードの根音と音階番号変換工程S13で決定された音階番号とからコード候補を決定する具体的な方法を図6(b)、(c)を用いて説明する。図6(c)はある解析フレームの演奏音情報であり、図6(b)のコード情報が最も一致度が高いものであるとする。この場合、図6(b)から根音がR1(正規化番号1)であることが分かる。上記したようにXは発音しないためである。そして、図6(c)の正規化番号1に対応する音階番号48の音高はC2であり、これが根音である。これによりコード候補がCコードであることが決定される。
1.2.コード決定工程S2
コード決定工程S2では、コード候補群決定工程S1により得られる複数のコード候補からコードを決定する。
コード決定工程S2において決定されるコードの数は特に限定されず、1つでも良く、複数も良い。楽音のテンポ、発音の継続時間等により、1つのコードを決定するのに使用するコード候補の数が異なってくるためである。例えば、テンポ120の楽音において、音成分が16分音符(継続時間125ms程度)である場合、フレーム長150ms、フレーム周期10msのとき,その音成分は連続する27フレームに及ぶ可能性があるが、演奏形態や、音の性質によってその全てのフレームにその成分が含まれるとは限らない。その音の成分が解析フレーム内に多く含まれる、連続する10~20フレームから得られる10~20個のコード候補から1つのコードを決定することが好ましい。
このように、1つのコードを決定するために必要なコード候補の数は一義的に設定することができず、楽音のテンポ、発音の継続時間等に応じて適宜設定される。ただし、コード候補の数が少なすぎるとコード認識率が低下する虞があるため、連続する3個以上のコード候補から1つのコードを決定することが良い。
好ましいコードの決定方法は、コード候補群決定工程S1により得られる複数のコード候補を多数決処理することである。詳しくは、連続する複数の解析フレームから得られるコード候補から、連続性を考慮して、コードを決定する。これによりコードの認識率が向上する。例えば、連続する4つの解析フレームから得られたコード候補がC7、C7、C、C7である場合は、C7をコードとして決定する。なお、決定されたコードの継続時間(コード決定工程S2で用いた解析フレームの個数から算出することができる。)が後述の音符長を求めるときのデータにもなり得る。
1.3.発音継続時間検出工程S3
発音継続時間検出工程S3では、コード決定工程S2によって決定されたコードの発音継続時間を検出する。発音継続時間を検出する方法は公知の方法を採用することができる。例えば、特許文献3に記載の方法を利用する。
1.4.音符長決定工程S4
音符長決定工程S4では発音継続時間検出工程S3によって検出された発音継続時間を用いて、コード決定工程S2によって決定されたコードの音符長を決定する。音符長の決定方法は公知の方法で行う。例えば、特許文献3に記載の方法が挙げられる。なお、音符長決定工程S4において、利用者が最小の音符長を入力してもよく、その場合は入力された音符長と上記の発音継続時間に基づいてコードの音符長を決定する。
1.5.コード譜作成工程S5
コード譜作成工程S5では、コード決定工程S3により決定されたコードと、音符長決定工程S4により決定された上記コードの音符長と、を用いてコード譜を作成する。これにより、自動でコード譜を作成することができる。なお、利用者は作成されたコード譜を適宜修正しても良い。
以上より、コード認識方法1よれば、コードの基音とその倍音とを含めて正規化し、データベースのコード情報と比較しているため、高いコード認識率を奏することができる。
2.コード認識プログラム
本開示のコード認識プログラムの1つの実施形態は上記したコード認識方法1を実行するためのプログラムである。コード認識プログラムはROM、CD-ROM、DVD-ROM、ハードディスク、SSD等の記録媒体に格納することができる。例えば、これらの記録媒体からコード認識プログラムをコード認識システムの演算装置(例えば、コンピュータ)に読み込ませて実行することで、または、通信手段を介してコード認識プログラムをダウンロードしてコード認識システムのコンピュータに実行させる。
コード認識プログラムによって実行させる処理はコード候補群決定処理とコード決定処理とである。また、コード認識プログラムは発音継続時間検出処理と音符長決定処理とを備えることが好ましい。さらに、コード認識プログラムはコード譜作成処理を備えることが好ましい。
コード候補群決定処理は解析フレーム作成処理、ピーク抽出処理、音階番号変換処理、正規化処理、及び、コード候補決定処理を有し、これらの処理を順に行うことを複数回繰り返すことが好ましい。ピーク抽出処理はピーク検出処理、倍音判定処理、及び音高候補決定処理を有し、これらの処理を順に行うことを複数回繰り返すことが好ましい。
ここで、コード候補群決定処理はコード候補群決定工程S1を実行する処理であり、コード決定処理はコード決定工程S2を実行する処理であり、発音継続時間検出処理は発音継続時間検出工程S3を実行する処理であり、音符長決定処理は音符長決定工程S4を実行する処理であり、コード譜作成処理はコード譜作成工程S5を実行する処理である。また、解析フレーム作成処理は解析フレーム作成工程S11を実行する処理であり、ピーク抽出処理はピーク抽出工程S12を実行する処理であり、音階番号変換処理は音階番号変換工程S13を実行する処理であり、正規化処理は正規化工程S14を実行する処理であり、コード候補決定処理はコード候補決定工程S15を実行する処理である。さらに、ピーク検出処理はピーク検出工程S121を実行する処理であり、倍音判定処理は倍音判定工程S122を実行する処理であり、音高候補決定処理は音高候補決定工程S123を実行する処理である。これら各工程の説明は上述のとおりである。また、これらの各工程は演算装置によって実行させることができる。
従って、本開示のコード認識プログラムによれば、コードの基音とその倍音とを含めて正規化し、データベースのコード情報と比較しているため、高いコード認識率を奏することができる。
3.コード認識システム10
図7は本開示のコード認識システムの1つの実施形態であるコード認識システム10の構成を概略的に示すブロック図である。コード認識システム10は、音楽入力部11と、処理部12と、表示部13とを備えている。音楽入力部11は、音楽の音響信号を処理部12に入力できる手段であれば特に限定されないが、例えば、楽器、マイク、サウンドボード、オーディオインターフェースなどによって構成することができる。これにより、音響信号をデジタル化することができる。また、処理部12は、上記のコード認識プログラムを読み込んで実行することができるものであれば特に限定されず、公知の演算装置(例えば、コンピュータ)によって構成することができる。なお、コード情報を記憶したデータベースの格納場所は特に限定されないが、処理部を構成する演算装置に含まれる記憶部に格納されていることが好ましい。表示部13は、処理部12による処理結果を表示できるものであれば特に限定されず、例えばディスプレイによって構成することができる。
従って、本開示のコード認識システムによれば、コードの基音とその倍音とを含めて正規化し、データベースのコード情報と比較しているため、高いコード認識率を奏することができる。
以下の条件で、上記コード候補群決定工程S1及びコード決定工程S2に倣って行った実験の結果を表3に示す。表3において、実際に演奏された各コードとコード決定工程S2で決定されたコードとが一致した確率をコードの種類ごとに算出した値を認識率とした。なお、表3の上段は5種類のコード毎のコード認識率であり、下段はメジャーコード、マイナーコード、セブンスコードの3グループに分けたときの、グループ毎のコード認識率である。下段の評価方法についてさらに説明すると、例えば、E7のコードを演奏したときに、コード決定工程S2で決定されたコードがEであった場合、長7度(4音目)の音高を検出できていないが、メジャーコードとしては正しいため、メジャーコードを認識しているとしてメジャーコードグループの認識率を算出している。
・データベースのコード情報:X、X7、Xm、Xm7、X7(Xは基音A~Gを表す。)のコード情報。
・演奏音:504音(12音階×(コード4種類×形3+コード1種類(X7)×形2)×3回)。
・エレキギター使用、サンプリング周波数44.1kHz、16bit量子化。
・時間-周波数解析:フレーム長150ms(ハニング窓)、フレーム周期10ms。
・コード判定方法:連続する11解析フレームから得られるコード候補を多数決処理。
Figure 0007224013000004
表3より、本開示のコード認識方法は何れのコードに対しても、高いコード認識率を有することがわかった。

Claims (13)

  1. コードを演奏することが可能な楽器の楽音のデジタル信号からコードを認識することが可能な方法であって、
    前記デジタル信号を所定の長さに切り出し、周波数スペクトルに変換した解析フレームを作成する解析フレーム作成工程、
    前記解析フレームから音階番号に変換可能な音高に対応するピークを抽出するピーク抽出工程、
    前記ピーク抽出工程において抽出された前記ピークに対応する音高を音階番号に変換する音階番号変換工程、
    前記音階番号のうち最も小さい音階番号を1として前記音階番号を正規化することにより、前記音階番号を正規化番号に変換する正規化工程、及び、
    前記正規化番号と前記楽器のコード情報を記憶しているデータベースとを比較して、一致度が最も高いコード情報に基づいてコード候補を決定するコード候補決定工程を有し、
    前記解析フレーム作成工程、前記ピーク抽出工程、前記音階番号変換工程、前記正規化工程、及び前記コード候補決定工程を順に行うことを複数回繰り返して複数の前記コード候補を得る、コード候補群決定工程と、
    コード候補群決定工程により得られる複数の前記コード候補からコードを決定するコード決定工程と、を備え、
    前記コード候補群決定工程の前記解析フレーム作成工程は、前記解析フレーム作成工程が行われるたびに所定のフレーム周期ずつずらして解析フレームを作成
    前記コード候補群決定工程の前記ピーク抽出工程は、前記解析フレームにおける最も低周波数側のピークを検出するピーク検出工程、
    前記検出したピークに対応する音高の倍音に対応するピークが前記解析フレーム中に連続して所定数以上あるかを判定する倍音判定工程、及び、
    前記検出したピークに対応する音高の倍音が前記解析フレーム中に連続して所定数以上あると前記倍音判定工程において判定された場合、前記検出したピークに対応する音高を音高候補として決定する音高候補決定工程、を有し、
    前記ピーク抽出工程は前記ピーク検出工程、前記倍音判定工程、及び前記音高候補決定工程を順に行うことを複数回繰り返すことにより、音階番号に変換可能な音高に対応する前記ピークを複数抽出し、
    前記コード候補群決定工程のコード候補決定工程において使用される前記データベースが記憶している前記コード情報は、前記楽器のコードの構成音と、該構成音の音高及びその倍音の音高の音階番号を正規化した正規化番号と、を少なくとも含む、
    コード認識方法。
  2. 前記正規化工程は前記音階番号のうち最も小さい値をnとしたとき、n以上n+28以下又はn以上n+32以下の前記音階番号を抽出し、抽出された前記音階番号を用いて正規化を行う、請求項に記載の方法。
  3. 前記コード決定工程はコード候補群決定工程により得られる複数の前記コード候補を多数決処理することによって前記コードを決定する、請求項1又は2に記載の方法。
  4. 前記コード決定工程によって決定された前記コードの発音継続時間を検出する発音継続時間検出工程と、
    前記発音継続時間検出工程によって検出された前記発音継続時間を用いてコード決定工程によって決定された前記コードの音符長を決定する音符長決定工程と、を備える、
    請求項1~のいずれか1項に記載の方法。
  5. 前記コード決定工程により決定された前記コードと、前記音符長決定工程により決定された前記コードの前記音符長と、を用いてコード譜を作成するコード譜作成工程を備える、請求項に記載の方法。
  6. 前記楽器はギターである、請求項1~のいずれか1項に記載の方法。
  7. 演算装置に、コードを演奏することが可能な楽器の楽音のデジタル信号からコードを認識させるためのプログラムであって、
    前記デジタル信号を所定の長さに切り出し、周波数スペクトルに変換した解析フレームを作成する解析フレーム作成処理、
    前記解析フレームから音階番号に変換可能な音高に対応するピークを抽出するピーク抽出処理、
    前記ピーク抽出処理において抽出された前記ピークに対応する音高を音階番号に変換する音階番号変換処理、
    前記音階番号のうち最も小さい音階番号を1として前記音階番号を正規化することにより、前記音階番号を正規化番号に変換する正規化処理、及び、
    前記正規化番号と前記楽器のコード情報を記憶しているデータベースとを比較して、一致度が最も高いコード情報に基づいてコード候補を決定するコード候補決定処理を有し、
    前記解析フレーム作成処理、前記ピーク抽出処理、前記音階番号変換処理、前記正規化処理、及び前記コード候補決定処理を順に行うことを複数回繰り返して複数の前記コード候補を得る、コード候補群決定処理と、
    コード候補群決定処理により得られる複数の前記コード候補からコードを決定するコード決定処理と、を行わせ
    前記コード候補群決定処理の前記解析フレーム作成処理は、前記解析フレーム作成処理が行われるたびに所定のフレーム周期ずつずらして解析フレームを作成する処理を行わせ、
    前記コード候補群決定処理の前記ピーク抽出処理は、前記解析フレームにおける最も低周波数側のピークを検出するピーク検出処理、
    前記検出したピークに対応する音高の倍音に対応するピークが前記解析フレーム中に連続して所定数以上あるかを判定する倍音判定処理、及び、
    前記検出したピークに対応する音高の倍音が前記解析フレーム中に連続して所定数以上あると前記倍音判定処理において判定された場合、前記検出したピークに対応する音高を音高候補として決定する音高候補決定処理、を有し、
    前記ピーク検出処理、前記倍音判定処理、及び前記音高候補決定処理を順に行うことを複数回繰り返すことにより、音階番号に変換可能な音高に対応する前記ピークを複数抽出する処理を行わせ、
    前記コード候補群決定工程のコード候補決定工程において使用される前記データベースが記憶している前記コード情報は、前記楽器のコードの構成音と、該構成音の音高及びその倍音の音高の音階番号を正規化した正規化番号と、を少なくとも含む、
    コード認識プログラム。
  8. 前記正規化処理は前記音階番号のうち最も小さい値をnとしたとき、n以上n+28以下又はn以上n+32以下の前記音階番号を抽出し、抽出された前記音階番号を用いて正規化を行う処理を行わせる、請求項に記載のプログラム。
  9. 前記コード決定処理はコード候補群決定処理により得られる複数の前記コード候補を多数決処理することによって前記コードを決定する処理を行わせる、請求項7又は8に記載のプログラム。
  10. 前記コード決定処理によって決定された前記コードの発音継続時間を検出する発音継続時間検出処理と、
    前記発音継続時間検出処理によって検出された前記発音継続時間を用いてコード決定処理によって決定された前記コードの音符長を決定する音符長決定処理と、を行わせる
    請求項7~9のいずれか1項に記載のプログラム。
  11. 前記コード決定処理により決定された前記コードと、前記音符長決定処理により決定された前記コードの前記音符長と、を用いてコード譜を作成するコード譜作成処理を行わせる、請求項10に記載のプログラム。
  12. 前記楽器はギターである、請求項7~11のいずれか1項に記載のプログラム。
  13. 音楽のデジタル信号を入力できる入力部と、
    請求項7~12のいずれか1項に記載のプログラムを実行する演算装置である処理部と、
    前記処理部での処理結果を表示できる表示部と、を備える、
    コード認識システム。
JP2018166343A 2018-09-05 2018-09-05 コード認識方法、コード認識プログラム、及びコード認識システム Active JP7224013B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018166343A JP7224013B2 (ja) 2018-09-05 2018-09-05 コード認識方法、コード認識プログラム、及びコード認識システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018166343A JP7224013B2 (ja) 2018-09-05 2018-09-05 コード認識方法、コード認識プログラム、及びコード認識システム

Publications (2)

Publication Number Publication Date
JP2020038328A JP2020038328A (ja) 2020-03-12
JP7224013B2 true JP7224013B2 (ja) 2023-02-17

Family

ID=69737933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018166343A Active JP7224013B2 (ja) 2018-09-05 2018-09-05 コード認識方法、コード認識プログラム、及びコード認識システム

Country Status (1)

Country Link
JP (1) JP7224013B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007333895A (ja) 2006-06-13 2007-12-27 Sony Corp 和音推定装置及び方法
JP2007052394A5 (ja) 2006-01-06 2008-08-14
JP2011022489A (ja) 2009-07-17 2011-02-03 Akita Univ 音高認識方法、音高認識プログラム、記録媒体、及び音高認識システム
US20110247480A1 (en) 2010-04-12 2011-10-13 Apple Inc. Polyphonic note detection
JP2015040964A (ja) 2013-08-21 2015-03-02 カシオ計算機株式会社 コード抽出装置、方法、およびプログラム
JP2018025613A (ja) 2016-08-08 2018-02-15 株式会社Nttドコモ 楽器音認識装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4767691B2 (ja) * 2005-07-19 2011-09-07 株式会社河合楽器製作所 テンポ検出装置、コード名検出装置及びプログラム
EP1970892A1 (en) * 2007-03-12 2008-09-17 The TC Group A/S Method of establishing a harmony control signal controlled in real-time by a guitar input signal

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007052394A5 (ja) 2006-01-06 2008-08-14
JP2007333895A (ja) 2006-06-13 2007-12-27 Sony Corp 和音推定装置及び方法
JP2011022489A (ja) 2009-07-17 2011-02-03 Akita Univ 音高認識方法、音高認識プログラム、記録媒体、及び音高認識システム
US20110247480A1 (en) 2010-04-12 2011-10-13 Apple Inc. Polyphonic note detection
JP2015040964A (ja) 2013-08-21 2015-03-02 カシオ計算機株式会社 コード抽出装置、方法、およびプログラム
JP2018025613A (ja) 2016-08-08 2018-02-15 株式会社Nttドコモ 楽器音認識装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
竹渕瑛一 他,"ベース音を用いた高速な和音認識手法の提案",マルチメディア,分散,協調とモバイル(DICOMO2016)シンポジウム論文集,2016年07月06日,Vol.2016,No.1,p.1840-1847

Also Published As

Publication number Publication date
JP2020038328A (ja) 2020-03-12

Similar Documents

Publication Publication Date Title
US6798886B1 (en) Method of signal shredding
JP3964792B2 (ja) 音楽信号を音符基準表記に変換する方法及び装置、並びに、音楽信号をデータバンクに照会する方法及び装置
US20050081702A1 (en) Apparatus for analyzing music using sounds of instruments
CN109979488B (zh) 基于重音分析的人声转乐谱系统
JP2008518270A (ja) オーディオ信号中の音符を検出する方法、システム及びコンピュータプログラムプロダクト
Osmalsky et al. Neural networks for musical chords recognition
CN112382257A (zh) 一种音频处理方法、装置、设备及介质
Barbancho et al. Transcription and expressiveness detection system for violin music
JP4479701B2 (ja) 楽曲練習支援装置、動的時間整合モジュールおよびプログラム
JP2005202354A (ja) 信号解析方法
WO2017057531A1 (ja) 音響処理装置
Dittmar et al. Real-time guitar string detection for music education software
JP7224013B2 (ja) コード認識方法、コード認識プログラム、及びコード認識システム
JP4722738B2 (ja) 楽曲分析方法及び楽曲分析装置
KR101238113B1 (ko) 입력 음성의 분석을 이용한 작곡 및 기성곡 검색 시스템
JP2011022489A (ja) 音高認識方法、音高認識プログラム、記録媒体、及び音高認識システム
JP4695781B2 (ja) 音響信号の符号化方法
JP6252421B2 (ja) 採譜装置、及び採譜システム
JP4268328B2 (ja) 音響信号の符号化方法
Suprapto et al. Gamelan notation generating using band pass filter for saron instrument
Cheng Exploiting Piano Acoustics in Automatic Transcription
JPH1173199A (ja) 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体
JP2008096844A (ja) 自動採譜装置及び方法
JP4156268B2 (ja) 時系列信号の周波数解析方法および音響信号の符号化方法
JP4697919B2 (ja) 音響信号の符号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230131

R150 Certificate of patent or registration of utility model

Ref document number: 7224013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150