JP6151121B2 - コード進行推定検出装置及びコード進行推定検出プログラム - Google Patents
コード進行推定検出装置及びコード進行推定検出プログラム Download PDFInfo
- Publication number
- JP6151121B2 JP6151121B2 JP2013159322A JP2013159322A JP6151121B2 JP 6151121 B2 JP6151121 B2 JP 6151121B2 JP 2013159322 A JP2013159322 A JP 2013159322A JP 2013159322 A JP2013159322 A JP 2013159322A JP 6151121 B2 JP6151121 B2 JP 6151121B2
- Authority
- JP
- Japan
- Prior art keywords
- chord
- function
- code
- progression
- chord progression
- 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
Links
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
一方、一般的に音楽のコード進行は、複数のケーデンスの組み合わせで成り立っている場合が多い。ケーデンスとはコードの機能の進行を示す指標であり、代表的なものがいくつかある。
また、上述した従来の手法では、音楽的な(ケーデンスを考慮した)推定により、コード進行を検出することは行われていなかった。
前記演奏情報又は音響信号の全体から曲の調を検出する調検出手段。
前記演奏情報又は音響信号から特定区間毎に複数のコードと各コードの尤度を検出するコード検出手段。
前記特定区間毎に前記調検出手段で検出された調に応じて分類された各コードのコード機能を推定するコード機能推定手段。
前記コード機能推定手段によって得られたコード機能の進行について、複数の基本的なケーデンスを元に最終的なコード機能進行を決定するコード機能確定手段。
各ケーデンスのコード機能にコードを割り当てるコード割当手段。
前記演奏情報又は音響信号と、前記コード進行表示手段に表示されたメインコード進行の各コードを同時に演奏可能としたことを特徴としている。
前記演奏情報又は音響信号から特定区間毎に複数のコードと各コードの尤度を検出するコード検出手順と、
各コードのコード機能を推定するコード機能推定手順と、
推定されたコード機能進行について、複数の基本的なケーデンスを元に最終的なコード機能進行を決定するコード機能確定手順と、
各ケーデンスのコード機能にコードを割り当てるコード割当手順と、
をコンピュータに実行させることを特徴としている。
コード推定検出プログラム及びソフトウェア音源は、実行時においてRAM15に読込まれている。
演奏情報は、ノートデータ(音符)を含む情報で、発音イベント(発音開始時間と強さ)と発音停止イベント(発音停止時間)で1つのノートデータを表現している。演奏情報は、音響信号から作成したり、MIDIインターフェイスから入力したり、コンピュータ又はネットワーク上のスタンダードMIDIファイルのような演奏情報ファイルから読み込むことで取得する。
また、コード機能は、調検出部33で検出された調に応じて、検出されたコード名を各コード機能に分類する。分類ルールは、調とディグリーNo(ド〜シに1〜7を割り当てたもの)で決定される。
コード機能の「ドミナント」は、主音に対して完全5度上の音であり、属音とも言う。この音をルートとしたコードをドミナント・コードといい、ドミナントと略される。例えばキーが「C」であればドミナントは「G」となる。トニックへ進行しようとする力が働き、通常フレーズの終わりや曲の終わりでは、ドミナントからトニックへ進行する。
コード機能の「サブドミナント」は、主音に対して完全4度上の音であり、下属音とも言う。この音をルートとしたコードをサブドミナント・コードといい、サブドミナントと略される。例えばキーが「C」であればサブドミナントは「F」となる。トニックからの進行を受けて曲の雰囲気を変化させたり、抑揚感を出す働きがある。
(A)「トニック」「サブドミナント」「トニック」(T-S-T)
(B)「トニック」「ドミナント」「トニック」(T-D-T)
(C)「トニック」「サブドミナント」「ドミナント」「トニック」(T-S-D-T)
また、コード割当部37は、コード機能確定部35により確定するコード機能に対応するコード(コード進行候補のコード)をメインコード進行への割り当てを行う。
そして、演奏手段40では、コード演奏情報ファイル作成部38で作成されたデータによりソフトウェア音源42により作成されたコードに対応する音楽データが再生バッファ45を介して再生デバイス(音再生手段)46で再生される。
コード検出結果は表示部39で表示される。
コード進行推定検出装置は、音響信号からコードを検出するコード進行推定手段30と、音響信号によるデータ演奏、及び、検出されたコードによるコード演奏を行う演奏手段(自動演奏装置)40により構成されている。
図2のコード進行推定検出装置と同一構成を採る部分については、同一符号を付して説明を省略する。
そして、演奏手段40では、加算器44において音響信号が記録された波形記憶部81からデータ波形用バッファ41を介して入力されるデータに対して、ソフトウェア音源42により作成されたコードに対応する波形データがコード波形用バッファ43を介して加算されることで、重畳された音楽データが再生バッファ45を介して再生デバイス(音再生手段)46で再生される。再生デバイス(音再生手段)46による再生は、ステレオ若しくはモノラルで行われるが、ステレオの場合、右チャネル用スピーカで音響信号及びコード演奏の右チャネル側が、左チャネル用スピーカで音響信号及びコード演奏の左チャネル側が再生される。コード検出結果は表示部39で表示される。
コード進行推定手段30は、音楽ファイル、CD等のオーディオトラック又はオーディオインターフェイスから取り込まれた音響情報を分析し、その楽曲のテンポ、拍子、1拍目位置(各小節の開始位置)、コードを既存の技術を使用して検出する。コード検出については、例えば特許4767691号に記載された技術で行われるが、以下、簡単に説明する。
この際、必ずしもレベルが大きな音がコード構成音であるとは限らないので、複数の音名の音を例えば5つ検出し、その中の2つ以上をすべての組み合わせで抜き出して、これとベース音の音名とからコード候補の抽出が行われる。コード候補の抽出が行われた後、予め設定された基準に基づいて一つのコードが選択されて抽出される。
トラック画面のマスタートラックには、演奏情報又は音響信号より検出されたテンポ=120、拍子=4/4、調=G(ト長調)が指定されている。素材トラック1には、コードの抽出が行われた演奏情報1が指定されている。演奏情報は、公知規格であるMIDI規格に準拠した形式で表示されている。
コードトラック、リズムトラック、素材トラック2には何も指定されていない。点線は小節線を示している。
トラック画面に表示された演奏情報を右クリックするなどして、ポップアップメニューを表示し、メニューの「演奏情報からコード進行を推定する」コマンド(図示せず)を選択すると、コード進行推定の動作が開始される。
コード機能推定部34によるコード進行推定では、演奏情報に含まれる全てのノート情報から調を検出する(ステップ51)。調はこの後の処理で使用される。調を検出しない場合は、マスタートラックの調を用いたり、処理開始時に指定するようにしてもよい。
調検出部33による調検出については、最も出現頻度が高い音符から推定するなど、一般的な手法で行われる。
1つの検出コードデータは、コード名配列、コード名に対応した尤度配列、選択されたコードのインデックス、小節番号、小節内のコード開始時間で構成される。
小節番号1のコード検出の場合、コードとして、「G」「GM7」「G7」「Em」「Em7」「Bm」「Bm7」「CM7」が検出され、対応する尤度が「6726」「3758」「3432」「2904」「2323」「1848」「1478」「2745」となっている。
ステップ51で検出された調に応じて、検出されたコードを各コード機能に分類する。分類ルールは、調とディグリーNo(ド〜シに1〜7を割り当てたもの)で決定される。ト長調では以下のような分類になる。
サブドミナント:Am、Am7、C、CM7
ドミナント:Bm、Bm7、D、D7、F#m(b5)、F#m7(b5)
例えば、小節毎にコード進行候補として検出された複数のコードにおいて、「トニック」に属するコードが最大数である場合には、その小節のコード機能は「トニック」が選択される。
図6の検出コードデータ配列に対応するコード機能の分類結果とコード機能進行は図7に示すようになる。すなわち、小節番号1におけるコード候補は、「トニック」に属するコードとして、G、GM7、G7、Em、Em7、Bm、Bm7の7種、「ドミナント」に属するコードとして、Bm、Bm7の2種、「サブドミナント」に属するコードとして、CM7が抽出されている。したがって、小節番号1に対応するコード機能は、コード候補が一番多い「トニック」が選択され、同様の処理により、小節番号2では「サブドミナント」が選択され、小節番号3では「サブドミナント」が選択され、小節番号4では「トニック」が選択され、小節番号5では「ドミナント」が選択され、小節番号6では「トニック」が選択されることで、小節番号1〜6に対応するコード機能進行は、T-S-S-T-D-Tとなる。
最も一致度が高い基準ケーデンスから順番にコード機能確定処理を行う。
先ず、比較開始小節から基準ケーデンスの長さ分の区間(基準ケーデンス(A)(B)については3小節分、基準ケーデンス(C)については4小節分)について、基準ケーデンスと比較し(ステップ61)、完全に一致しているかどうかを確認する(ステップ62)。完全に一致していれば、そのままコード機能が確定する。
最初の比較開始小節は1小節目となる。基準ケーデンス(A)のT-S-Tとコード機能進行を比較すると、1つめのトニックは一致、2つ目のサブドミナントが一致し、3つ目のトニックが一致しない。その結果、一致度は0.67=2÷3となる。
基準ケーデンス(B)のT-D-Tとの比較の場合は、1つめのトニックのみが一致するので、一致度は0.33=1÷3となる。
基準ケーデンス(C)のT-S-D-Tのとの比較の場合は、3番目のドミナント以外は一致しているので、一致度は0.75=3÷4となる。
本例では、図7の3番目のコード検出区間では、「ドミナント」に分類されたコード候補があるので変更が可能と判定され、コード機能を変更する(ステップ64)。小節番号3のコード機能進行について、基準ケーデンス(C)の3番目を「ドミナント」から「サブドミナント」に変更し、4小節までの区間のコード機能進行は、T-S-S-Tのコード機能として確定する。
処理されていない基準ケーデンスがなければ処理を完了する。
終了していない場合は、比較開始小節を更新して、基準ケーデンスと比較(ステップ61)の処理に戻る。本例では、比較開始小節を4に更新し、基準ケーデンスと比較(ステップ61)の処理に戻る。
同様に小節4〜6の区間にコード機能確定処理を行うことで、コード機能確定(ステップ54)の処理を完了する。
基本的には尤度が高いコードから割り当てる。
コード進行を一つ選ぶ場合は、尤度が高いものを割り当てればよいが、複数のコード進行を提案する場合は、一度割り当てたコードを、割り当て済みコード配列などに記憶し、異なるコードが選択されるようにしてもよい。
また、前後のコードとの結びつきを考慮して、割り当てを行ってもよい。
コード機能に応じたコードをその区間の候補として選択する(ステップ71)。
割り当て済み配列を参照し、割り当て頻度を確認する(ステップ72)。
割り当てが行われていないか、割り当て頻度が他のコードより低ければ、候補となったコードをその区間のコードとして割り当てるコード割り当て処理が行われ(ステップ76)、割り当て済配列に記憶する処理(ステップ77)が行われる。
割り当て頻度が他のコード以上であれば、異なるRootでのコードの割り当て処理(ステップ73)が行われる。すなわち、ステップ73では、異なるRootで、より割り当て頻度の少ないコードを候補とする(ステップ74)。
ステップ74において異なる候補に該当するコードが無ければ、今回割り当てるコードをステップ71で選択されたコードに確定する(ステップ75)。
ステップ74では、同じルートで、より割り当て頻度の少ないコードを候補とする。該当するコードがなければ、割り当て済配列に記憶する処理(ステップ77)が行われる。
割り当て済配列に記憶する処理(ステップ77)では、割り当てたコードを割り当て済み配列に記憶する。
提示する全てのコード進行の処理が終わっていれば、図9の処理を終了する。
更に、別のコード進行候補を得る場合は、以上の手続きを繰り返し、各小節に対応するコード進行の候補を生成する。
コード進行画面90は、表示部39のコード進行表示部39aに表示される。本例では、4つのコード進行候補を別のコード進行候補として生成した。
メインコード進行は、最初はコード進行候補1と同じである。
コード進行画面90の試聴ボタン91をクリックすると、元の演奏情報と、メインに表示してあるメインコード進行を演奏し、生成されたコード進行が意図したものかどうか確認することができる。
候補1〜4をクリックすると、そのコード進行がメインコード進行となる。
完了ボタン92をクリックすると、図11に示すように、メインコード進行が、自動演奏装置の表示部39に演奏情報に対応して表示されたトラック画面のコードトラックに貼り付く。
Claims (6)
- 演奏情報又は音響信号からコードを推定するコード進行推定検出装置であって、
前記演奏情報又は音響信号の全体から曲の調を検出する調検出手段と、
前記演奏情報又は音響信号から特定区間毎に複数のコードと各コードの尤度を検出するコード検出手段と、
前記特定区間毎に前記調検出手段で検出された調に応じて分類された各コードのコード機能を推定するコード機能推定手段と、
前記コード機能推定手段によって得られたコード機能の進行について、複数の基本的なケーデンスを元に最終的なコード機能進行を決定するコード機能確定手段と、
各ケーデンスのコード機能にコードを割り当てるコード割当手段と、
を備えることを特徴とするコード進行推定検出装置。 - 前記コード機能確定手段は、基準ケーデンスを複数記憶した基準ケーデンス記憶手段を備え、前記コード機能進行と前記基準ケーデンスを比較し、一致した場合、その部分のコード機能を基準ケーデンスと同じコード機能として確定する請求項1に記載のコード進行推定検出装置。
- 前記コード機能確定手段は、前記基準ケーデンスと前記コード機能進行を比較し、一致しない場合、前記コード機能進行のコード機能を、前記基準ケーデンスに一致するようにコード機能進行のコード機能を変更する請求項2に記載のコード進行推定検出装置。
- 前記コード機能確定手段により最終的に決定されるメインコード進行、及び、該メインコード進行とは異なる複数のコード進行候補を表示可能とするコード進行表示手段を備え、前記コード進行候補に表示されたコードをメインコード進行に割り当て可能とした請求項1に記載のコード進行推定検出装置。
- 指定された特定範囲の演奏情報又は音響信号を演奏し、コードを内蔵音源で演奏する演奏手段を備え、
前記演奏情報又は音響信号と、前記コード進行表示手段に表示されたメインコード進行の各コードを同時に演奏可能とした請求項4に記載のコード進行推定検出装置。 - 演奏情報又は音響信号からコード進行を推定するプログラムであって、
前記演奏情報又は音響信号から特定区間毎に複数のコードと各コードの尤度を検出するコード検出手順と、
各コードのコード機能を推定するコード機能推定手順と、
推定されたコード機能進行について、複数の基本的なケーデンスを元に最終的なコード機能進行を決定するコード機能確定手順と、
各ケーデンスのコード機能にコードを割り当てるコード割当手順と、
をコンピュータに実行させることを特徴とするコード進行推定検出プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013159322A JP6151121B2 (ja) | 2013-07-31 | 2013-07-31 | コード進行推定検出装置及びコード進行推定検出プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013159322A JP6151121B2 (ja) | 2013-07-31 | 2013-07-31 | コード進行推定検出装置及びコード進行推定検出プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015031738A JP2015031738A (ja) | 2015-02-16 |
JP6151121B2 true JP6151121B2 (ja) | 2017-06-21 |
Family
ID=52517128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013159322A Active JP6151121B2 (ja) | 2013-07-31 | 2013-07-31 | コード進行推定検出装置及びコード進行推定検出プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6151121B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7243147B2 (ja) * | 2018-02-09 | 2023-03-22 | ヤマハ株式会社 | コード推定方法、コード推定装置およびプログラム |
JP7157377B2 (ja) * | 2018-10-03 | 2022-10-20 | カシオ計算機株式会社 | 演奏情報表示装置及び演奏情報表示方法、演奏情報表示プログラム、並びに、電子楽器 |
JP7230464B2 (ja) | 2018-11-29 | 2023-03-01 | ヤマハ株式会社 | 音響解析方法、音響解析装置、プログラムおよび機械学習方法 |
JP7375302B2 (ja) * | 2019-01-11 | 2023-11-08 | ヤマハ株式会社 | 音響解析方法、音響解析装置およびプログラム |
WO2021100679A1 (ja) | 2019-11-20 | 2021-05-27 | ヤマハ株式会社 | 情報処理システム、鍵盤楽器、情報処理方法およびプログラム |
JPWO2022202199A1 (ja) * | 2021-03-26 | 2022-09-29 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3591444B2 (ja) * | 1995-07-11 | 2004-11-17 | ヤマハ株式会社 | 演奏データ分析装置 |
JP3567701B2 (ja) * | 1997-10-21 | 2004-09-22 | ヤマハ株式会社 | 楽音データから和音を検出する和音検出方法および和音検出装置、ならびに、和音検出用プログラムを記録した記録媒体 |
US7705231B2 (en) * | 2007-09-07 | 2010-04-27 | Microsoft Corporation | Automatic accompaniment for vocal melodies |
JP5196550B2 (ja) * | 2008-05-26 | 2013-05-15 | 株式会社河合楽器製作所 | コード検出装置およびコード検出プログラム |
JP5229998B2 (ja) * | 2008-07-15 | 2013-07-03 | 株式会社河合楽器製作所 | コード名検出装置及びコード名検出用プログラム |
-
2013
- 2013-07-31 JP JP2013159322A patent/JP6151121B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015031738A (ja) | 2015-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xi et al. | GuitarSet: A Dataset for Guitar Transcription. | |
US9672800B2 (en) | Automatic composer | |
JP6151121B2 (ja) | コード進行推定検出装置及びコード進行推定検出プログラム | |
JP4672613B2 (ja) | テンポ検出装置及びテンポ検出用コンピュータプログラム | |
US20170092246A1 (en) | Automatic music recording and authoring tool | |
CN101689225B (zh) | 生成音乐小样和识别相关的歌曲结构 | |
US9824719B2 (en) | Automatic music recording and authoring tool | |
JP4640407B2 (ja) | 信号処理装置、信号処理方法及びプログラム | |
US8392006B2 (en) | Detecting if an audio stream is monophonic or polyphonic | |
US10504498B2 (en) | Real-time jamming assistance for groups of musicians | |
KR20070116853A (ko) | 플레이리스트를 작성하기 위한 스캔 셔플 | |
JP6047985B2 (ja) | 伴奏進行生成装置及びプログラム | |
CN108257588B (zh) | 一种谱曲方法及装置 | |
WO2020015411A1 (zh) | 一种训练改编水平评价模型、评价改编水平的方法及装置 | |
JP2008065153A (ja) | 楽曲構造解析方法、プログラムおよび装置 | |
JPWO2019043798A1 (ja) | 楽曲解析装置および楽曲解析プログラム | |
JP4932614B2 (ja) | コード名検出装置及びコード名検出用プログラム | |
JP4698606B2 (ja) | 楽曲処理装置 | |
JP7428182B2 (ja) | 情報処理装置および方法、並びにプログラム | |
JP6056799B2 (ja) | プログラム、情報処理装置、及びデータ生成方法 | |
JP6954780B2 (ja) | カラオケ装置 | |
JP5830840B2 (ja) | 音声評価装置 | |
JP7176114B2 (ja) | 楽曲解析装置、プログラムおよび楽曲解析方法 | |
JP6168649B2 (ja) | コード検出装置及びプログラム | |
JP2014109603A (ja) | 演奏評価装置、演奏評価方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160525 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20160825 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170329 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170421 |
|
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: 20170510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170524 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6151121 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |