JP2015031738A - Chord progression estimation and detection device and chord progression estimation and detection program - Google Patents

Chord progression estimation and detection device and chord progression estimation and detection program Download PDF

Info

Publication number
JP2015031738A
JP2015031738A JP2013159322A JP2013159322A JP2015031738A JP 2015031738 A JP2015031738 A JP 2015031738A JP 2013159322 A JP2013159322 A JP 2013159322A JP 2013159322 A JP2013159322 A JP 2013159322A JP 2015031738 A JP2015031738 A JP 2015031738A
Authority
JP
Japan
Prior art keywords
chord
function
code
progression
estimation
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.)
Granted
Application number
JP2013159322A
Other languages
Japanese (ja)
Other versions
JP6151121B2 (en
Inventor
明裕 藤田
Akihiro Fujita
明裕 藤田
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP2013159322A priority Critical patent/JP6151121B2/en
Publication of JP2015031738A publication Critical patent/JP2015031738A/en
Application granted granted Critical
Publication of JP6151121B2 publication Critical patent/JP6151121B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a chord progression estimation and detection device that can estimate and detect more correct chord progressions by musical estimation that considers cadence of performance information.SOLUTION: A chord progression estimation and detection device that estimates a chord from performance information comprises: a chord detection part 32 for detecting a plurality of chords and a likelihood of each chord from the performance information at each specific section; a chord function estimation part 34 for estimating a chord function of each chord at each specific section; a chord function determination part 35 for determining a final chord function progression of the chord function progression obtained by the chord function estimation part 34 according to a plurality of basic cadences; and a chord allocation part 37 for allocating a chord to a chord function of each cadence.

Description

本発明は、演奏情報又は音響信号を分析し、使用されているコード進行を推定するコード進行推定検出装置に関し、特に、音響信号による演奏に対して、予め記憶された基本ケーデンス(コード機能の進行に関する指標)に基づいてコード進行を推定するコード進行推定検出装置及びコード進行推定検出プログラムに関する。   The present invention relates to a chord progression estimation detecting device that analyzes performance information or an acoustic signal and estimates a chord progression being used, and in particular, a basic cadence (progress of chord function) stored in advance for a performance by an acoustic signal. The present invention relates to a chord progression estimation detection apparatus and a chord progression estimation detection program that estimate chord progression based on

ポピュラーやロック系の音楽を小編成のバンドで演奏する場合、和音から構成されるコードが記載されたコード譜やリードシートと呼ばれるメロディとコード進行のみが書かれた楽譜を使用して演奏が行われる。楽曲のコード進行を採譜する作業は、特別な音楽的知識を有する専門家でないと困難であるため、演奏音が収録された音楽CD等の音源から出力される音響信号に基づいて、コンピュータを使用したコード検出装置によりコードを検出することが行われていた。   When popular or rock music is played in a small band, the chord is composed using chords composed of chords, or a sheet that contains only a melody and chord progression called a lead sheet. Is called. Since it is difficult to record the chord progression of a song unless you are an expert with special musical knowledge, a computer is used based on the sound signal output from a sound source such as a music CD that contains the performance sound. The code is detected by the code detecting device.

この種のコード検出装置は、例えば特許文献1に記載されるように、電子情報としての音響信号が入力されることで、所定の時間毎の各音階音のレベル、平均的なビート間隔と各ビートの位置、拍子と小節線位置、ベース音、各小節のコードをそれぞれ検出するものである。コードを検出する際には、複数のコード候補が検出され、検出されたコードはコンピュータの内蔵音源でコード演奏が可能なように構成されている。   For example, as described in Patent Document 1, this type of chord detection apparatus receives an acoustic signal as electronic information, so that each tone level, average beat interval, and The beat position, time signature and bar line position, bass sound, and chord of each bar are detected. When detecting a chord, a plurality of chord candidates are detected, and the detected chord is configured so that a chord can be played with a built-in sound source of the computer.

コード検出装置によれば、音響信号における一つのコード検出区間(小節など)に対して複数のコードを検出するとともに、そのコードの演奏音の強さや持続時間等から尤度(確からしさ)を決定し、尤度が最も高いコードをその区間のコードとして検出することが行われる。従って、コード検出の対象となった楽曲のコード進行は、尤度が高いコードが羅列されたものとなる。
一方、一般的に音楽のコード進行は、複数のケーデンスの組み合わせで成り立っている場合が多い。ケーデンスとはコードの機能の進行を示す指標であり、代表的なものがいくつかある。
According to the chord detection device, a plurality of chords are detected for one chord detection section (measures, etc.) in the acoustic signal, and the likelihood (probability) is determined from the strength and duration of the performance sound of the chord. Then, the code having the highest likelihood is detected as the code in the section. Therefore, the chord progression of the music that is the subject of chord detection is a sequence of chords with high likelihood.
On the other hand, generally, the chord progression of music often consists of a combination of a plurality of cadences. Cadence is an indicator of the progress of chord function, and there are several typical ones.

特許第4767691号公報Japanese Patent No. 4767691

しかしながら、上述した従来のコード検出装置で検出されたコード進行は、コードの尤度のみにより決められたものであるため、本来のケーデンスと異なるコードとなっている場合があるという課題が存在する。
また、上述した従来の手法では、音楽的な(ケーデンスを考慮した)推定により、コード進行を検出することは行われていなかった。
However, since the chord progression detected by the above-described conventional chord detection apparatus is determined only by the likelihood of the chord, there is a problem that the chord may be different from the original cadence.
Further, in the conventional method described above, the chord progression has not been detected by musical estimation (considering cadence).

本発明は上記事情に鑑みて提案されたもので、演奏情報又は音響信号に対して、ケーデンスを考慮した音楽的な推定により、より正しいコードの進行を推定して検出可能としたコード進行推定検出装置及びコード進行推定検出プログラムを提供することを目的としている。   The present invention has been proposed in view of the above circumstances, and the chord progression estimation detection that can detect and detect the more accurate chord progression by musical estimation in consideration of cadence with respect to performance information or sound signal. An object is to provide a device and a chord progression estimation detection program.

上記目的を達成するため本発明の請求項1は、演奏情報又は音響信号において演奏されているコードを推定して検出するコード進行推定検出装置であって、次の各構成を含むことを特徴としている。
前記演奏情報又は音響信号の全体から曲の調を検出する調検出手段。
前記演奏情報又は音響信号から特定区間毎に複数のコードと各コードの尤度を検出するコード検出手段。
前記特定区間毎に前記調検出手段で検出された調に応じて分類された各コードのコード機能を推定するコード機能推定手段。
前記コード機能推定手段によって得られたコード機能の進行について、複数の基本的なケーデンスを元に最終的なコード機能進行を決定するコード機能確定手段。
各ケーデンスのコード機能にコードを割り当てるコード割当手段。
In order to achieve the above object, claim 1 of the present invention is a chord progression estimation detecting device for estimating and detecting a chord being played in performance information or an acoustic signal, and includes the following components: Yes.
Key detection means for detecting the key of a song from the entire performance information or sound signal.
Code detecting means for detecting a plurality of chords and likelihood of each chord for each specific section from the performance information or the sound signal.
Code function estimation means for estimating the code function of each code classified according to the key detected by the key detection means for each specific section.
A chord function determining means for determining a chord function progress obtained by the chord function estimating means based on a plurality of basic cadences.
Code assignment means for assigning codes to the code functions of each cadence.

請求項2は、請求項1のコード進行推定検出装置において、前記コード機能確定手段は、基準ケーデンスを複数記憶した基準ケーデンス記憶手段を備え、前記コード機能進行と前記基準ケーデンスを比較し、一致した場合、その部分のコード機能を基準ケーデンスと同じコード機能として確定することを特徴としている。   2. The chord progression estimation and detection apparatus according to claim 1, wherein the chord function determining means includes reference cadence storage means for storing a plurality of reference cadences, and the chord function progression and the reference cadence are compared and matched. In this case, the code function of the portion is determined as the same code function as the reference cadence.

請求項3は、請求項1のコード進行推定検出装置において、前記コード機能確定手段は、前記基準ケーデンスと前記コード機能進行を比較し、一致しない場合、前記コード機能進行のコード機能を、前記基準ケーデンスに一致するようにコード機能進行のコード機能を変更することを特徴としている。   3. The chord progression estimation and detection apparatus according to claim 1, wherein the chord function determining means compares the chord function progress with the chord function progress, and if the chord function progression does not coincide, The chord function of the chord function progression is changed so as to match the cadence.

請求項4は、請求項1のコード進行推定検出装置において、前記コード機能確定手段により最終的に決定されるメインコード進行、及び、該メインコード進行とは異なる複数のコード進行候補を表示可能とするコード進行表示手段を備え、前記コード進行候補に表示されたコードをメインコード進行に割り当て可能としたことを特徴としている。   According to a fourth aspect of the present invention, in the chord progression estimation detecting device according to the first aspect, the main chord progression finally determined by the chord function determining means and a plurality of chord progression candidates different from the main chord progression can be displayed. And a chord progression display means for assigning chords displayed in the chord progression candidates to main chord progressions.

請求項5は、請求項4のコード進行推定検出装置において、指定された特定範囲の演奏情報又は音響信号を演奏し、コードを内蔵音源で演奏する演奏手段を備え、
前記演奏情報又は音響信号と、前記コード進行表示手段に表示されたメインコード進行の各コードを同時に演奏可能としたことを特徴としている。
According to a fifth aspect of the present invention, in the chord progression estimation and detection device according to the fourth aspect, the apparatus includes performance means for playing performance information or an acoustic signal in a specified range and playing a chord with a built-in sound source,
The performance information or the acoustic signal and each chord of the main chord progression displayed on the chord progression display means can be played simultaneously.

請求項6は、演奏情報又は音響信号からコード進行を推定するコード進行推定検出プログラムであって、
前記演奏情報又は音響信号から特定区間毎に複数のコードと各コードの尤度を検出するコード検出手順と、
各コードのコード機能を推定するコード機能推定手順と、
推定されたコード機能進行について、複数の基本的なケーデンスを元に最終的なコード機能進行を決定するコード機能確定手順と、
各ケーデンスのコード機能にコードを割り当てるコード割当手順と、
をコンピュータに実行させることを特徴としている。
Claim 6 is a chord progression estimation detection program for estimating chord progression from performance information or an acoustic signal,
A chord detection procedure for detecting the likelihood of each chord and a plurality of chords for each specific section from the performance information or the acoustic signal;
A code function estimation procedure for estimating the code function of each code;
About the estimated chord function progress, a chord function determination procedure for determining the final chord function progress based on a plurality of basic cadences,
A code assignment procedure to assign codes to the code functions of each cadence;
It is characterized by having a computer execute.

本発明のコード進行推定検出装置及びコード進行推定検出プログラムによれば、演奏情報又は音響信号より検出された各コードの機能を推定し、予め記憶された基準ケーデンスに沿ったコードを選択することで、より音楽的なコード進行を得ることができる。   According to the chord progression estimation detection apparatus and chord progression estimation detection program of the present invention, the chord progression estimation detection program estimates the function of each chord detected from performance information or an acoustic signal, and selects a chord according to a pre-stored reference cadence. , You can get more musical chord progression.

また、同じケーデンスに対して、異なるコードを選択可能とすることで、複数のコード進行を提案することができる。   Also, by making it possible to select different chords for the same cadence, a plurality of chord progressions can be proposed.

本発明のコード進行推定検出装置のハードウエア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the chord progression estimation detection apparatus of this invention. 本発明のコード進行推定検出装置の主要な構成を示すブロック図である。It is a block diagram which shows the main structures of the chord progression estimation detection apparatus of this invention. コード進行推定検出装置の他の実施例における主要な構成を示すブロック図である。It is a block diagram which shows the main structures in the other Example of the chord progression estimation detection apparatus. 自動演奏装置の表示部に演奏情報に対応して表示されたトラック画面である。It is the track | truck screen displayed corresponding to the performance information on the display part of the automatic performance apparatus. 本発明によるコード進行推定の手順を示すフローチャートである。It is a flowchart which shows the procedure of the chord progression estimation by this invention. コード進行推定検出装置で検出された検出コードデータ配列の一例を示す表である。It is a table | surface which shows an example of the detection code data arrangement | sequence detected by the chord progression estimation detection apparatus. コード進行推定検出装置で検出された各小節のコード候補に対するコード機能と、各小節に対するコード機能進行の対応関係を示す表である。It is a table | surface which shows the correspondence of the chord function with respect to the chord candidate of each measure detected with the chord progression estimation detection apparatus, and the chord function progress with respect to each measure. コード進行推定検出装置のコード進行推定におけるコード機能確定処理の詳細手順を示すフローチャートである。It is a flowchart which shows the detailed procedure of the chord function confirmation process in chord progression estimation of a chord progression estimation detection apparatus. コード進行推定検出装置のコード進行推定におけるコード割当処理の詳細手順を示すフローチャートである。It is a flowchart which shows the detailed procedure of the chord allocation process in the chord progression estimation of a chord progression estimation detection apparatus. コード進行推定検出装置のコード進行表示手段に表示されるコード進行画面である。It is a chord progression screen displayed on the chord progression display means of the chord progression estimation detecting device. 自動演奏装置の表示部に演奏情報に対応して表示されたトラック画面である。It is the track | truck screen displayed corresponding to the performance information on the display part of the automatic performance apparatus.

以下、図面を参照しながら本発明の実施形態の一例に係るコード進行推定検出装置について説明する。   Hereinafter, a chord progression estimation detection apparatus according to an example of an embodiment of the present invention will be described with reference to the drawings.

コード進行推定検出装置のハードウエアは、パーソナルコンピュータ等の汎用情報処理装置によって実現することができる。図1は、コンピュータ上に構築されたコード進行推定検出装置のハードウエア構成を示すブロック図であり、バス10に対して、ディスプレイ11、マウス12、キーボード13、ROM14、RAM15、CPU16、HDD17、ディスクドライブ18、MIDIインターフェイス19、オーディオインターフェイス20、ネットワークインターフェイス21を接続して構成されている。   The hardware of the chord progression estimation detection device can be realized by a general-purpose information processing device such as a personal computer. FIG. 1 is a block diagram showing the hardware configuration of a chord progression estimation / detection device constructed on a computer. A display 11, a mouse 12, a keyboard 13, a ROM 14, a RAM 15, a CPU 16, an HDD 17, a disk The drive 18, MIDI interface 19, audio interface 20, and network interface 21 are connected.

コンピュータのHDD17には、MIDIインターフェイス19、オーディオインターフェイス20若しくはネットワークインターフェイス21を介して音響信号を取り込んでコードを検出するとともに、予め記憶された複数のケーデンスを基にコード機能を推定することで得られるコード進行の推定を行うためのコード進行推定検出プログラムが、ディスクドライブ18に装着された記録媒体からインストールされ、若しくはインターネットを介して所定のURLよりダウンロードされている。   The computer's HDD 17 is obtained by capturing a sound signal via the MIDI interface 19, the audio interface 20 or the network interface 21 to detect a chord, and estimating the chord function based on a plurality of pre-stored cadences. A chord progression estimation detection program for estimating chord progression is installed from a recording medium attached to the disk drive 18 or downloaded from a predetermined URL via the Internet.

CPU16は、上記の手順によりインストール又はダウンロードされた所定の制御プログラム(コード推定検出プログラム)に従って各種処理(各ステップ)を実行し、コード推定装置全体を制御するものであり、演奏情報記憶部31、コード検出部32、コード機能推定部34、コード割当部37及びコード演奏情報ファイル作成部38を要部機能として備えることで、取り込んだ演奏情報を記憶し、記憶した情報からコード進行を推定してディスプレイ(表示部)11に表示可能とするとともに、再生デバイス(音再生手段)46を備えることで、RAM15にインストール又はダウンロードされたソフトウェア音源42を使用して推定されたコードに相当するコード音を演奏(コード演奏)可能としている。
コード推定検出プログラム及びソフトウェア音源は、実行時においてRAM15に読込まれている。
The CPU 16 executes various processes (each step) according to a predetermined control program (chord estimation detection program) installed or downloaded by the above-described procedure, and controls the entire chord estimation apparatus. The performance information storage unit 31, The chord detection unit 32, chord function estimation unit 34, chord allocation unit 37, and chord performance information file creation unit 38 are provided as main functions, so that the captured performance information is stored, and the chord progression is estimated from the stored information. A chord sound corresponding to a chord estimated using the software sound source 42 installed or downloaded in the RAM 15 is provided by being able to display on the display (display unit) 11 and including a reproduction device (sound reproduction means) 46. Performance (chord performance) is possible.
The code estimation detection program and the software sound source are read into the RAM 15 at the time of execution.

図2は、コード進行推定検出プログラムを組み込むことでコンピュータ上に構築されたコード進行推定検出装置の主要構成を示すブロック図である。コード進行推定検出装置は、演奏情報からコードを検出するコード進行推定手段30と、検出されたコードによるコード演奏を行う演奏手段(自動演奏装置)40により構成されている。
演奏情報は、ノートデータ(音符)を含む情報で、発音イベント(発音開始時間と強さ)と発音停止イベント(発音停止時間)で1つのノートデータを表現している。演奏情報は、音響信号から作成したり、MIDIインターフェイスから入力したり、コンピュータ又はネットワーク上のスタンダードMIDIファイルのような演奏情報ファイルから読み込むことで取得する。
FIG. 2 is a block diagram showing a main configuration of a chord progression estimation detection apparatus constructed on a computer by incorporating a chord progression estimation detection program. The chord progression estimation detecting device includes chord progression estimating means 30 for detecting chords from performance information and performance means (automatic performance apparatus) 40 for performing chord performances using the detected chords.
The performance information is information including note data (notes), and represents one note data by a sounding event (sounding start time and strength) and a sounding stop event (sounding stop time). The performance information is obtained by creating from an audio signal, inputting from a MIDI interface, or reading from a performance information file such as a standard MIDI file on a computer or network.

コード進行推定手段30は、演奏情報が記憶された演奏情報記憶部31と、演奏情報に対してコードを検出するコード検出部32と、演奏情報の全体から曲の調を検出する調検出部33と、特定区間毎の各コードのコード機能を推定するコード機能推定部34と、コード機能進行を決定するコード機能確定部35と、コード機能にコードを割り当てるコード割当部37と、検出されたコードの情報を記憶するコード演奏情報ファイル作成部38と、演奏情報から検出されたコード等の検出結果を液晶ディスプレイ等で表示する表示部39により構成されている。   The chord progression estimation means 30 includes a performance information storage unit 31 in which performance information is stored, a chord detection unit 32 that detects chords with respect to the performance information, and a key detection unit 33 that detects the key of a song from the entire performance information. A chord function estimating section 34 for estimating the chord function of each chord for each specific section, a chord function determining section 35 for deciding chord function progress, a chord assigning section 37 for assigning chords to chord functions, and a detected chord A chord performance information file creation section 38 for storing the above information, and a display section 39 for displaying a detection result of chords detected from the performance information on a liquid crystal display or the like.

コード検出部32は、演奏情報から特定区間毎に複数のコードと各コードの尤度を検出する。コードの尤度とは、コードの確からしさを示す指標であり、「音の強さ」や「音の持続時間の長さ」等から算出される既知の値である。演奏情報からコードを検出する一般的な手法としては、検出区間で発音している音と、コード構成音を照らし合わせてコードを推定する。演奏情報においては、強く、持続時間が長いノートを含んでいるコードの尤度が高くなる。   The chord detector 32 detects a plurality of chords and the likelihood of each chord for each specific section from the performance information. The likelihood of a chord is an index indicating the likelihood of the chord, and is a known value calculated from “sound intensity”, “length of sound duration”, and the like. As a general method for detecting a chord from performance information, a chord is estimated by comparing a sound that is generated in a detection section with a chord constituent sound. In performance information, the likelihood of a chord containing a note that is strong and has a long duration is high.

コード機能推定部34により推定されるコード機能とは、コードの性質を表現するケーデンスであり、「トニック」「ドミナント」「サブドミナント」等が存在する。
また、コード機能は、調検出部33で検出された調に応じて、検出されたコード名を各コード機能に分類する。分類ルールは、調とディグリーNo(ド〜シに1〜7を割り当てたもの)で決定される。
The chord function estimated by the chord function estimation unit 34 is a cadence that expresses the character of the chord, and includes “tonic”, “dominant”, “subdominant”, and the like.
The code function classifies the detected code name into each code function according to the key detected by the key detection unit 33. The classification rule is determined by the key and the degree No.

コード機能の「トニック」は、キー(調)に対して主和音となるコードであるトニック・コードを意味する。最も安定感のあるコードであり、通常、曲の始めや終わりに使用されるコードとなる。例えばキーが「C」であればトニックは「C」や「CM7」となる。曲の調を決定づける最も重要なコードである。
コード機能の「ドミナント」は、主音に対して完全5度上の音であり、属音とも言う。この音をルートとしたコードをドミナント・コードといい、ドミナントと略される。例えばキーが「C」であればドミナントは「G」となる。トニックへ進行しようとする力が働き、通常フレーズの終わりや曲の終わりでは、ドミナントからトニックへ進行する。
コード機能の「サブドミナント」は、主音に対して完全4度上の音であり、下属音とも言う。この音をルートとしたコードをサブドミナント・コードといい、サブドミナントと略される。例えばキーが「C」であればサブドミナントは「F」となる。トニックからの進行を受けて曲の雰囲気を変化させたり、抑揚感を出す働きがある。
“Tonic” in the chord function means a tonic chord that is a chord that is a main chord with respect to a key (key). It is the most stable chord and is usually the chord used at the beginning and end of a song. For example, if the key is “C”, the tonic is “C” or “CM7”. This is the most important chord that determines the key of the song.
“Dominant” of the chord function is a sound that is five times higher than the main sound, and is also called a genus. A chord with this sound as the root is called a dominant chord and is abbreviated as a dominant chord. For example, if the key is “C”, the dominant is “G”. The power to proceed to tonic works, and usually progresses from dominant to tonic at the end of a phrase or song.
The “subdominant” chord function is a sound that is four times higher than the main sound, and is also called a subgenus sound. A chord with this sound as a root is called a subdominant chord, and is abbreviated as subdominant. For example, if the key is “C”, the sub-dominant is “F”. In response to the progress from tonic, it has the effect of changing the atmosphere of the song and creating a feeling of inflection.

コード機能確定部35の基準ケーデンス記憶部36には、複数の基本的なケーデンス(基準ケーデンス)が記憶され、この基準ケーデンスを元にコード機能推定部34によって得られたコード機能の進行について最終的なコード機能進行を決定する。基準ケーデンスとしては、例えば、次のような3種のコード機能進行が記憶されている。
(A)「トニック」「サブドミナント」「トニック」(T-S-T)
(B)「トニック」「ドミナント」「トニック」(T-D-T)
(C)「トニック」「サブドミナント」「ドミナント」「トニック」(T-S-D-T)
A plurality of basic cadences (reference cadences) are stored in the reference cadence storage unit 36 of the chord function determination unit 35, and the progress of the chord function obtained by the chord function estimation unit 34 based on the reference cadence is finally determined. Determine the progression of chord function. As the reference cadence, for example, the following three types of chord function progress are stored.
(A) "Tonic""Subdominant""Tonic" (TST)
(B) “Tonic” “Dominant” “Tonic” (TDT)
(C) "Tonic""Subdominant""Dominant""Tonic" (TSDT)

コード機能確定部35では、コード機能進行と基準ケーデンスを比較し、一致した場合は、その部分のコード機能を基準ケーデンスと同じコード機能として確定する。また、基準ケーデンスとコード機能進行を比較し、一致しない場合は、コード機能進行のコード機能を、基準ケーデンスに一致するようにコード機能進行のコード機能を変更することが行われる。   The chord function determination unit 35 compares the chord function progress with the reference cadence, and if they match, the chord function of that portion is confirmed as the same chord function as the reference cadence. Further, the reference cadence and the chord function progress are compared, and if they do not match, the chord function of the chord function progress is changed so that the chord function of the chord function progress matches the reference cadence.

表示部39には、コード機能確定部35により最終的に決定されるメインコード進行、及び、このメインコード進行とは異なる複数のコード進行候補を表示可能とするコード進行表示部39aを備えている。
また、コード割当部37は、コード機能確定部35により確定するコード機能に対応するコード(コード進行候補のコード)をメインコード進行への割り当てを行う。
The display unit 39 includes a chord progression display unit 39a that can display a main chord progression finally determined by the chord function determination unit 35 and a plurality of chord progression candidates different from the main chord progression. .
The chord assignment unit 37 assigns a chord corresponding to the chord function determined by the chord function determination unit 35 (chord progression chord) to the main chord progression.

コード進行推定手段30は、図1のハードウエア資質との対応では、ディスプレイ11、マウス12、キーボード13、コードに関するデータを読み出すROM14、ワーキングメモリとなるRAM15、プログラムを実行するCPU16、コード進行推定検出プログラムが格納されたHDD17等で構成される。   In correspondence with the hardware qualities of FIG. 1, the chord progression estimation means 30 includes a display 11, a mouse 12, a keyboard 13, a ROM 14 for reading data relating to chords, a RAM 15 serving as a working memory, a CPU 16 for executing a program, a chord progression estimation detection It is composed of an HDD 17 or the like in which a program is stored.

コード進行推定検出装置では、図2に示すように、演奏情報を演奏情報記憶部31に記録するとともに、演奏情報記憶部31のデータからコード検出部32でコードを検出し、コード演奏情報ファイル作成部38でコード演奏情報ファイルとして記録される。
そして、演奏手段40では、コード演奏情報ファイル作成部38で作成されたデータによりソフトウェア音源42により作成されたコードに対応する音楽データが再生バッファ45を介して再生デバイス(音再生手段)46で再生される。
コード検出結果は表示部39で表示される。
As shown in FIG. 2, the chord progression estimation detection apparatus records performance information in the performance information storage unit 31 and detects chords from the data in the performance information storage unit 31 by the chord detection unit 32 to create a chord performance information file. The chord performance information file is recorded in the section 38.
In the performance means 40, the music data corresponding to the chord created by the software sound source 42 is reproduced by the reproduction device (sound reproduction means) 46 via the reproduction buffer 45 based on the data created by the chord performance information file creation section 38. Is done.
The code detection result is displayed on the display unit 39.

演奏手段40は、図1のハードウエア資質との対応では、ディスプレイ11、マウス12、キーボード13、プログラムを実行するCPU16、ワーキングメモリとなるRAM15、オーディオインターフェイス20で構成される。   The performance means 40 includes a display 11, a mouse 12, a keyboard 13, a CPU 16 for executing a program, a RAM 15 as a working memory, and an audio interface 20 in correspondence with the hardware qualities shown in FIG.

図3は、コード進行推定検出プログラムを組み込むことでコンピュータ上に構築されたコード進行推定検出装置の他の実施例の主要構成を示すブロック図である。この例では、図2における演奏情報に代えて、楽曲を電子情報で表現した音響信号からコードを検出する。
コード進行推定検出装置は、音響信号からコードを検出するコード進行推定手段30と、音響信号によるデータ演奏、及び、検出されたコードによるコード演奏を行う演奏手段(自動演奏装置)40により構成されている。
図2のコード進行推定検出装置と同一構成を採る部分については、同一符号を付して説明を省略する。
FIG. 3 is a block diagram showing the main configuration of another embodiment of the chord progression estimation detecting apparatus constructed on the computer by incorporating the chord progression estimation detecting program. In this example, instead of the performance information in FIG. 2, a chord is detected from an acoustic signal in which music is expressed by electronic information.
The chord progression estimation detecting device is constituted by chord progression estimating means 30 for detecting a chord from an acoustic signal, and performance means (automatic performance apparatus) 40 for performing a data performance by the acoustic signal and performing a chord performance by the detected chord. Yes.
Parts having the same configuration as the chord progression estimation and detection apparatus of FIG. 2 are assigned the same reference numerals and description thereof is omitted.

コード進行推定手段30は、演奏曲に対応する音響信号が記憶された波形記憶部81と、音響信号に対してコードを検出するコード検出部32と、音響信号による演奏全体から曲の調を検出する調検出部33と、特定区間毎の各コードのコード機能を推定するコード機能推定部34と、コード機能進行を決定するコード機能確定部35と、コード機能にコードを割り当てるコード割当部37と、検出されたコードの情報を記憶するコード演奏情報ファイル作成部38と、音響信号から検出されたコード等の検出結果を液晶ディスプレイ等で表示する表示部39により構成されている。   The chord progression estimating means 30 detects a tone of a tune from the entire performance based on the sound signal, a waveform storage unit 81 in which an acoustic signal corresponding to the performance music is stored, a chord detection unit 32 that detects a chord with respect to the acoustic signal A key detection unit 33, a code function estimation unit 34 that estimates the chord function of each chord for each specific section, a chord function determination unit 35 that determines chord function progress, a code assignment unit 37 that assigns codes to chord functions, The chord performance information file creation section 38 stores information on the detected chords, and the display section 39 displays the detection results of the chords detected from the acoustic signals on a liquid crystal display or the like.

コード進行推定検出装置では、図3に示すように、音響信号を波形記憶部81に記録するとともに、波形記憶部81のデータからコード検出部32でコードを検出し、コード演奏情報ファイル作成部38でコード演奏情報ファイルとして記録される。
そして、演奏手段40では、加算器44において音響信号が記録された波形記憶部81からデータ波形用バッファ41を介して入力されるデータに対して、ソフトウェア音源42により作成されたコードに対応する波形データがコード波形用バッファ43を介して加算されることで、重畳された音楽データが再生バッファ45を介して再生デバイス(音再生手段)46で再生される。再生デバイス(音再生手段)46による再生は、ステレオ若しくはモノラルで行われるが、ステレオの場合、右チャネル用スピーカで音響信号及びコード演奏の右チャネル側が、左チャネル用スピーカで音響信号及びコード演奏の左チャネル側が再生される。コード検出結果は表示部39で表示される。
In the chord progression estimation detecting device, as shown in FIG. 3, the sound signal is recorded in the waveform storage unit 81, the chord detection unit 32 detects the chord from the data in the waveform storage unit 81, and the chord performance information file creation unit 38 Is recorded as a chord performance information file.
In the performance means 40, the waveform corresponding to the chord created by the software sound source 42 for the data input from the waveform storage unit 81 in which the acoustic signal is recorded in the adder 44 through the data waveform buffer 41. As the data is added via the chord waveform buffer 43, the superimposed music data is reproduced by the reproduction device (sound reproduction means) 46 via the reproduction buffer 45. Playback by the playback device (sound playback means) 46 is performed in stereo or monaural, but in the case of stereo, the right channel side of the sound signal and chord performance with the right channel speaker and the sound signal and chord performance with the left channel speaker are performed. The left channel side is played back. The code detection result is displayed on the display unit 39.

以下、図2及び図3におけるコード進行推定手段30及び演奏手段40の動作について説明する。
コード進行推定手段30は、音楽ファイル、CD等のオーディオトラック又はオーディオインターフェイスから取り込まれた音響情報を分析し、その楽曲のテンポ、拍子、1拍目位置(各小節の開始位置)、コードを既存の技術を使用して検出する。コード検出については、例えば特許4767691号に記載された技術で行われるが、以下、簡単に説明する。
The operations of the chord progression estimation means 30 and the performance means 40 in FIGS. 2 and 3 will be described below.
The chord progression estimation means 30 analyzes the audio information captured from an audio track or audio interface such as a music file, CD, etc., and determines the tempo, time signature, first beat position (start position of each measure), and chord of the song. Detect using technology. The code detection is performed by the technique described in Japanese Patent No. 4767691, for example, and will be briefly described below.

コード検出部32では、演奏情報記憶部31に記憶された演奏情報(又は波形記憶部81に記憶された音響信号)に対してコード検出期間を設定し、コード検出音域、例えばC3からA6の各音階音のコード検出期間における周波数データの平均的なレベルを計算し、これが大きな値を持つ音階音から順に数個の音名を検出し、これと検出が行われているベース音の音名からコード候補を抽出する。
この際、必ずしもレベルが大きな音がコード構成音であるとは限らないので、複数の音名の音を例えば5つ検出し、その中の2つ以上をすべての組み合わせで抜き出して、これとベース音の音名とからコード候補の抽出が行われる。コード候補の抽出が行われた後、予め設定された基準に基づいて一つのコードが選択されて抽出される。
In the chord detection unit 32, a chord detection period is set for the performance information stored in the performance information storage unit 31 (or the acoustic signal stored in the waveform storage unit 81), and each of the chord detection sound ranges, for example, C3 to A6, is set. Calculate the average level of the frequency data during the chord detection period of the scale, detect several pitch names in order from the scale that has the largest value, and based on this and the pitch of the bass sound being detected Extract code candidates.
At this time, since a sound with a high level is not necessarily a chord constituent sound, for example, five sounds having a plurality of pitch names are detected, and two or more of them are extracted in all combinations, and this is used as a base. Chord candidates are extracted from the note names of the notes. After the code candidates are extracted, one code is selected and extracted based on a preset criterion.

コードの抽出が行われると、表示部39に図4に示すような検出結果の画面(トラック画面)が表示される。
トラック画面のマスタートラックには、演奏情報又は音響信号より検出されたテンポ=120、拍子=4/4、調=G(ト長調)が指定されている。素材トラック1には、コードの抽出が行われた演奏情報1が指定されている。演奏情報は、公知規格であるMIDI規格に準拠した形式で表示されている。
コードトラック、リズムトラック、素材トラック2には何も指定されていない。点線は小節線を示している。
When the code is extracted, the display unit 39 displays a detection result screen (track screen) as shown in FIG.
In the master track of the track screen, tempo = 120, time signature = 4/4, and key = G (G major) detected from performance information or sound signals are designated. In the material track 1, performance information 1 from which chords have been extracted is designated. The performance information is displayed in a format compliant with the MIDI standard, which is a well-known standard.
Nothing is specified for the chord track, rhythm track, and material track 2. A dotted line indicates a bar line.

この画面状態から、コード進行推定を行う手順について、図5を参照して説明する。
トラック画面に表示された演奏情報を右クリックするなどして、ポップアップメニューを表示し、メニューの「演奏情報からコード進行を推定する」コマンド(図示せず)を選択すると、コード進行推定の動作が開始される。
コード機能推定部34によるコード進行推定では、演奏情報に含まれる全てのノート情報から調を検出する(ステップ51)。調はこの後の処理で使用される。調を検出しない場合は、マスタートラックの調を用いたり、処理開始時に指定するようにしてもよい。
調検出部33による調検出については、最も出現頻度が高い音符から推定するなど、一般的な手法で行われる。
A procedure for performing chord progression estimation from this screen state will be described with reference to FIG.
Right-click on the performance information displayed on the track screen to display a pop-up menu, and select the “Estimate chord progression from performance information” command (not shown) from the menu. Be started.
In the chord progression estimation by the chord function estimation unit 34, the key is detected from all the note information included in the performance information (step 51). The key is used in subsequent processing. When the key is not detected, the key of the master track may be used or specified at the start of processing.
The key detection by the key detection unit 33 is performed by a general method such as estimation from a note having the highest appearance frequency.

続いて、小節毎にコードを検出する(ステップ52)。小節区切りはマスタートラックに従う。マスタートラックに拍子の指定が無い場合は、処理開始時に拍子を指定したり、演奏情報から推定したりしてもよい。演奏情報から特定区間(小節内)に含まれる音符と、各コードの構成音を示したテーブルを比較して、小節毎に可能性のある複数のコードを検出する。   Subsequently, a chord is detected for each measure (step 52). Bar breaks follow the master track. When no time signature is specified for the master track, the time signature may be specified at the start of processing or estimated from performance information. A musical note included in a specific section (within a bar) is compared with the table showing the constituent sounds of each chord from the performance information, and a plurality of possible chords are detected for each bar.

検出結果は、図6に示すような検出コードデータの配列として記憶される。
1つの検出コードデータは、コード名配列、コード名に対応した尤度配列、選択されたコードのインデックス、小節番号、小節内のコード開始時間で構成される。
小節番号1のコード検出の場合、コードとして、「G」「GM7」「G7」「Em」「Em7」「Bm」「Bm7」「CM7」が検出され、対応する尤度が「6726」「3758」「3432」「2904」「2323」「1848」「1478」「2745」となっている。
The detection result is stored as an array of detection code data as shown in FIG.
One detection code data includes a code name array, a likelihood array corresponding to the code name, an index of the selected code, a bar number, and a code start time in the bar.
In the case of code detection of measure number 1, “G”, “GM7”, “G7”, “Em”, “Em7”, “Bm”, “Bm7”, “CM7” are detected as codes, and the corresponding likelihoods are “6726”, “3758”. “3432” “2904” “2323” “1848” “1478” “2745”.

次に、検出コードデータ配列のコードを「トニック」、「ドミナント」、「サブドミナント」の各コード機能に分類し、コード機能進行を生成する(ステップ53)。コード機能進行とは、各コード検出範囲のコード機能を割り当てたものである。
ステップ51で検出された調に応じて、検出されたコードを各コード機能に分類する。分類ルールは、調とディグリーNo(ド〜シに1〜7を割り当てたもの)で決定される。ト長調では以下のような分類になる。
Next, the codes of the detected code data array are classified into “tonic”, “dominant”, and “subdominant” chord functions to generate chord function progressions (step 53). The chord function progression is a chord function assigned to each chord detection range.
According to the key detected in step 51, the detected code is classified into each code function. The classification rule is determined by the key and the degree No. In G major, it is classified as follows.

トニック:G、GM7、Em、Em7、Bm、Bm7
サブドミナント:Am、Am7、C、CM7
ドミナント:Bm、Bm7、D、D7、F#m(b5)、F#m7(b5)
Tonic: G, GM7, Em, Em7, Bm, Bm7
Subdominant: Am, Am7, C, CM7
Dominant: Bm, Bm7, D, D7, F # m (b5), F # m7 (b5)

検出されたコードをコード機能別に分類し、多くのコード候補が分類されたコード機能を、そのコード検出区間のコード機能とする。
例えば、小節毎にコード進行候補として検出された複数のコードにおいて、「トニック」に属するコードが最大数である場合には、その小節のコード機能は「トニック」が選択される。
The detected codes are classified by code function, and a code function in which many code candidates are classified is set as a code function of the code detection section.
For example, in a plurality of chords detected as chord progression candidates for each measure, when the maximum number of chords belonging to “Tonic” is selected, “Tonic” is selected as the chord function for that measure.

次に、図6に示した検出コードデータ配列の各小節に対して、ケーデンスを確定する処理が行われる(ステップ54)。
図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となる。
Next, processing for determining cadence is performed for each measure of the detection code data array shown in FIG. 6 (step 54).
FIG. 7 shows the chord function classification result and chord function progress corresponding to the detected code data array of FIG. That is, the code candidates in measure number 1 are G, GM7, G7, Em, Em7, Bm, and Bm7 as chords belonging to “Tonic”, and Bm and Bm7 as chords belonging to “Dominant”, CM7 is extracted as a code belonging to “subdominant”. Therefore, for the chord function corresponding to measure number 1, “tonic” having the largest number of chord candidates is selected, and “sub-dominant” is selected in measure number 2 and “sub-dominant” in measure number 3 by the same processing. Is selected, bar number 4 selects "Tonic", bar number 5 selects "Dominant", bar number 6 selects "Tonic", and chord functions corresponding to bar numbers 1-6 Progress is TSSTDT.

続いて、コード機能進行の各小節について、上述した基準ケーデンス(A)〜(C)からケーデンスを確定する処理が行われる。この手順を図8に示す。
最も一致度が高い基準ケーデンスから順番にコード機能確定処理を行う。
先ず、比較開始小節から基準ケーデンスの長さ分の区間(基準ケーデンス(A)(B)については3小節分、基準ケーデンス(C)については4小節分)について、基準ケーデンスと比較し(ステップ61)、完全に一致しているかどうかを確認する(ステップ62)。完全に一致していれば、そのままコード機能が確定する。
Subsequently, for each measure of the chord function progress, processing for determining the cadence from the above-described reference cadences (A) to (C) is performed. This procedure is shown in FIG.
The code function determination process is performed in order from the reference cadence with the highest degree of coincidence.
First, a section corresponding to the length of the reference cadence from the comparison start measure (three measures for the reference cadence (A) and (B) and four measures for the reference cadence (C)) is compared with the reference cadence (step 61). ), It is confirmed whether or not they completely match (step 62). If they match completely, the code function is fixed as it is.

基準ケーデンスに一致しない場合、全て(この例の場合は3種)の基準ケーデンスについて、比較開始小節からのコード機能進行と比較し、ケーデンス一致度を算出する。ケーデンス一致度は、一致コード機能数÷全コード数で計算する。
最初の比較開始小節は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となる。
If they do not match the reference cadence, all (three in this case) reference cadences are compared with the chord function progression from the comparison start measure, and the degree of cadence match is calculated. The degree of cadence matching is calculated by the number of matched code functions divided by the total number of codes.
The first comparison start bar is the first bar. Comparing the TST of the reference cadence (A) with the chord function progression, the first tonic matches, the second subdominant matches, and the third tonic does not match. As a result, the degree of coincidence is 0.67 = 2 ÷ 3.
In the comparison with the TDT of the reference cadence (B), only the first tonic matches, so the matching degree is 0.33 = 1 ÷ 3.
In the case of comparison with the TSDT of the reference cadence (C), except for the third dominant, they are in agreement, so the degree of coincidence is 0.75 = 3 ÷ 4.

本例の場合、一致度が高い基準ケーデンスは基準ケーデンス(C)のT-S-D-Tであり、続いて、コード機能進行の一致しなかった部分のコード機能を変更できるかどうかを確認する(ステップ63)。本例の場合は、基準ケーデンス(C)の3番目(ドミナント)と図7のコード機能進行の3番目(サブドミナント)が異なるので、変更可能かどうかの処理が行われる。   In the case of this example, the reference cadence having a high degree of coincidence is T-S-D-T of the reference cadence (C), and subsequently, it is confirmed whether or not the chord function of the part where the chord function progression does not coincide can be changed (step 63). In the case of this example, since the third (dominant) of the reference cadence (C) and the third (subdominant) chord function progression of FIG. 7 are different, the process of whether or not the change is possible is performed.

具体的には、異なった部分のコード機能の分類結果を参照し、基準ケーデンスと同じコード機能に分類されたコード候補があるかどうかを調べる。コード候補があればコード機能の変更が可能と考え、コード機能変更処理を行う(ステップ64)。
本例では、図7の3番目のコード検出区間では、「ドミナント」に分類されたコード候補があるので変更が可能と判定され、コード機能を変更する(ステップ64)。小節番号3のコード機能進行について、基準ケーデンス(C)の3番目を「ドミナント」から「サブドミナント」に変更し、4小節までの区間のコード機能進行は、T-S-S-Tのコード機能として確定する。
Specifically, it is checked whether there is a code candidate classified into the same code function as the reference cadence by referring to the classification results of the code functions of different parts. If there is a code candidate, it is considered that the code function can be changed, and a code function change process is performed (step 64).
In this example, since there is a code candidate classified as “dominant” in the third code detection section of FIG. 7, it is determined that the code can be changed, and the code function is changed (step 64). Regarding the chord function progression of measure number 3, the third of the standard cadence (C) is changed from “dominant” to “subdominant”, and the chord function progression of the section up to four measures is determined as the chord function of TSST.

変更ができない場合は、全ケーデンス完了か否かの処理へ移る(ステップ65)。ステップ65では、まだ処理されていない基準ケーデンスがあるか調べ、処理されていない基準ケーデンスがあれば、その未処理の基準ケーデンスについてステップ62からの確定処理を行う。
処理されていない基準ケーデンスがなければ処理を完了する。
If the change cannot be made, the process proceeds to a process for determining whether or not all cadences are completed (step 65). In step 65, it is checked whether there is a reference cadence that has not yet been processed. If there is a reference cadence that has not been processed, the unprocessed reference cadence is determined from step 62.
If there is no unprocessed reference cadence, the process is completed.

ステップ65における全基準ケーデンスに対する処理が完了したら、コード機能進行の全ての区間の処理が終了したか否かを確認し(ステップ66)、終了している場合は処理を完了する。
終了していない場合は、比較開始小節を更新して、基準ケーデンスと比較(ステップ61)の処理に戻る。本例では、比較開始小節を4に更新し、基準ケーデンスと比較(ステップ61)の処理に戻る。
同様に小節4〜6の区間にコード機能確定処理を行うことで、コード機能確定(ステップ54)の処理を完了する。
When the processing for all the reference cadences in step 65 is completed, it is confirmed whether or not the processing for all the sections of the chord function progress has been completed (step 66), and if completed, the processing is completed.
If not completed, the comparison start measure is updated, and the process returns to the process of comparison with the reference cadence (step 61). In this example, the comparison start measure is updated to 4, and the process returns to the reference cadence and comparison (step 61).
Similarly, the chord function confirmation process is performed in the sections 4 to 6 to complete the chord function confirmation process (step 54).

本例では、基準ケーデンスとしては、上述した最も基本的な3種(T-S-T,T-D-T,T-S-D-T)のみとしたが、これ以外の一般的に使用されるケーデンスを含んだり、「サブドミナントマイナー」や「セカンダリードミナント」を使用したものを基準ケーデンスとして追加してもよい。   In this example, only the most basic three cadences described above (TST, TDT, and TSDT) are used as reference cadences, but other commonly used cadences are included. Those using “secondary dominant” may be added as a reference cadence.

続いて、図5のフローチャートにおいて、最終的に確定したコード機能に対してコードを割り当てる(ステップ55)。ここでは、コード機能の分類結果を参照し、確定したコード機能に応じたコードを割り当てていく。
基本的には尤度が高いコードから割り当てる。
コード進行を一つ選ぶ場合は、尤度が高いものを割り当てればよいが、複数のコード進行を提案する場合は、一度割り当てたコードを、割り当て済みコード配列などに記憶し、異なるコードが選択されるようにしてもよい。
また、前後のコードとの結びつきを考慮して、割り当てを行ってもよい。
Subsequently, in the flowchart of FIG. 5, a code is assigned to the finally determined code function (step 55). Here, referring to the classification result of the code function, a code corresponding to the determined code function is assigned.
Basically, a code with a high likelihood is assigned.
When choosing one chord progression, it is sufficient to assign the one with the highest likelihood, but when proposing multiple chord progressions, the chords assigned once are stored in the assigned chord array, etc., and different chords are selected. You may be made to do.
Also, assignment may be performed in consideration of the connection with the preceding and following codes.

図5のフローチャートにおけるステップ55におけるコード割当を行う場合の手順について、図9のフロ−チャートに示す。
コード機能に応じたコードをその区間の候補として選択する(ステップ71)。
割り当て済み配列を参照し、割り当て頻度を確認する(ステップ72)。
割り当てが行われていないか、割り当て頻度が他のコードより低ければ、候補となったコードをその区間のコードとして割り当てるコード割り当て処理が行われ(ステップ76)、割り当て済配列に記憶する処理(ステップ77)が行われる。
割り当て頻度が他のコード以上であれば、異なるRootでのコードの割り当て処理(ステップ73)が行われる。すなわち、ステップ73では、異なるRootで、より割り当て頻度の少ないコードを候補とする(ステップ74)。
The flow chart of FIG. 9 shows the procedure for code allocation at step 55 in the flowchart of FIG.
A code corresponding to the code function is selected as a candidate for the section (step 71).
The allocated frequency is confirmed by referring to the allocated array (step 72).
If allocation is not performed or if the allocation frequency is lower than other codes, a code allocation process for allocating a candidate code as a code of the section is performed (step 76), and the process of storing in an allocated array (step) 77) is performed.
If the allocation frequency is equal to or higher than other codes, a code allocation process (step 73) at a different root is performed. That is, in step 73, a code with a lower allocation frequency and a different root is selected as a candidate (step 74).

ステップ74において異なる候補に該当するコードがあればコード割り当て処理へ移る(ステップ76)。
ステップ74において異なる候補に該当するコードが無ければ、今回割り当てるコードをステップ71で選択されたコードに確定する(ステップ75)。
ステップ74では、同じルートで、より割り当て頻度の少ないコードを候補とする。該当するコードがなければ、割り当て済配列に記憶する処理(ステップ77)が行われる。
If there is a code corresponding to a different candidate in step 74, the process proceeds to a code assignment process (step 76).
If there is no code corresponding to a different candidate in step 74, the code assigned this time is fixed to the code selected in step 71 (step 75).
In step 74, a code with a lower allocation frequency in the same route is set as a candidate. If there is no corresponding code, a process of storing in the allocated array (step 77) is performed.

コード割り当て処理(ステップ76)では、候補となったコードをその区間のコードとして割り当てる。
割り当て済配列に記憶する処理(ステップ77)では、割り当てたコードを割り当て済み配列に記憶する。
In the code assignment process (step 76), the candidate code is assigned as the code of the section.
In the process of storing in the allocated array (step 77), the allocated code is stored in the allocated array.

次に、全小節について候補選択の処理が終わったか判定し(ステップ78)、終わっていなければ、次の区間の候補選択の処理をステップ71へ戻って行う。全小節の処理が終わっている場合は、提示する全てのコード進行の処理が終わったか判定し(ステップ79)、終わっていなければステップ71へ戻って、次のコード進行の処理を行う。
提示する全てのコード進行の処理が終わっていれば、図9の処理を終了する。
Next, it is determined whether the candidate selection process has been completed for all bars (step 78). If not, the next section candidate selection process is returned to step 71 and performed. If all measures have been processed, it is determined whether all chord progressions to be presented have been completed (step 79). If not, the process returns to step 71 to perform the next chord progression.
If all the chord progression processes to be presented have been completed, the process of FIG. 9 is terminated.

本例の場合、ステップ71で最初の区間(1小節目)の候補を決める。「トニック」で最も尤度が高いGが候補となる。ステップ72では、Gは割り当て配列に記憶されていないので、ステップ76へ移り、1小節目のコードとして割り当てられる。ステップ77で割り当て済み配列に記憶する。ステップ78で全ての区間が終わっていないのでステップ71へ戻り、2小節目の処理へ移る。   In this example, candidates for the first section (first bar) are determined in step 71. G having the highest likelihood in “Tonic” is a candidate. In step 72, since G is not stored in the assignment array, the process moves to step 76 and is assigned as the code of the first measure. In step 77, it is stored in the allocated array. Since all the sections are not completed in step 78, the process returns to step 71 and proceeds to the processing of the second measure.

2小節目においては、「サブドミナント」で最も高い尤度のコードCが候補となる。ステップ72で、Cは割り当て配列に記憶されていないのでステップ76へ移り、2小節目のコードとして割り当てられる。ステップ77で割り当て済み配列に記憶する。さらにステップ71へ戻り、3小節目の処理へ移る。   In the second measure, the code C having the highest likelihood of “subdominant” is a candidate. In step 72, since C is not stored in the assignment array, the process moves to step 76 and is assigned as the code of the second measure. In step 77, it is stored in the allocated array. Furthermore, it returns to step 71 and moves to the process of the 3rd bar.

3小節目の処理も同様に行われる。   The third measure is processed in the same manner.

4小節目は、「トニック」で最も尤度が高いGが候補となるが、ステップ72で既に登録されているので、異なるRootで最も尤度が高く、割り当て頻度が低いコードに候補に変更する。この場合Em7が候補となる。ステップ75でEm7を4小節目のコードとして割り当て、ステップ77で割り当て済み配列にEm7を記憶する。   In the fourth measure, G having the highest likelihood in “Tonic” is a candidate, but since it has already been registered in step 72, it is changed to a candidate having a highest likelihood in a different Root and a code with a low allocation frequency. . In this case, Em7 is a candidate. In step 75, Em7 is assigned as the code of the fourth measure, and in step 77, Em7 is stored in the assigned array.

5小節目は「ドミナント」で最も尤度が高く、割り当て頻度が低いBm7が候補となり、Bm7が5小節目のコードとして登録され、割り当て済み配列に記憶する。   The fifth measure is “dominant”, Bm7 having the highest likelihood and the lowest allocation frequency is a candidate, and Bm7 is registered as the code of the fifth measure and stored in the assigned sequence.

6小節目は、トニックで最も高い尤度のGが候補になるが、割り当て済みなので、異なるRootの候補を探す。異なるRootのEm7もBm7割り当て済みで割り当て頻度もGと同じなので、割り当てられていない同じRoot(G)のコードを候補とする。この場合は、次に尤度が高いG7が候補となる。ステップ76で6小節目のコードとして割り当て、割り当て済み配列に登録する。   In the sixth measure, G having the highest likelihood in the tonic becomes a candidate, but since it has already been assigned, a different root candidate is searched. Since Em7 of different Root is also assigned Bm7 and the allocation frequency is the same as G, the code of the same Root (G) that is not allocated is used as a candidate. In this case, G7 with the next highest likelihood is a candidate. In step 76, it is assigned as a code of the sixth measure and registered in the assigned array.

以上で、コード進行候補1のコードの割り当てが完了する。
更に、別のコード進行候補を得る場合は、以上の手続きを繰り返し、各小節に対応するコード進行の候補を生成する。
This completes the assignment of the chord progression candidate 1 chord.
Further, when another chord progression candidate is obtained, the above procedure is repeated to generate chord progression candidates corresponding to each measure.

以上の手続きによって得られたコード進行画面を図10に示す。
コード進行画面90は、表示部39のコード進行表示部39aに表示される。本例では、4つのコード進行候補を別のコード進行候補として生成した。
メインコード進行は、最初はコード進行候補1と同じである。
コード進行画面90の試聴ボタン91をクリックすると、元の演奏情報と、メインに表示してあるメインコード進行を演奏し、生成されたコード進行が意図したものかどうか確認することができる。
A chord progression screen obtained by the above procedure is shown in FIG.
The chord progression screen 90 is displayed on the chord progression display section 39a of the display section 39. In this example, four chord progression candidates are generated as other chord progression candidates.
The main chord progression is initially the same as chord progression candidate 1.
When the audition button 91 on the chord progression screen 90 is clicked, the original performance information and the main chord progression displayed on the main are played, and it can be confirmed whether or not the generated chord progression is intended.

メインのコードを変更する場合は、同じ小節のコード候補1〜4の各コードをクリックすると、そのコードがメインのコードとなる。
候補1〜4をクリックすると、そのコード進行がメインコード進行となる。
完了ボタン92をクリックすると、図11に示すように、メインコード進行が、自動演奏装置の表示部39に演奏情報に対応して表示されたトラック画面のコードトラックに貼り付く。
When changing the main chord, clicking each chord of the chord candidates 1 to 4 in the same bar becomes the main chord.
When the candidates 1 to 4 are clicked, the chord progression becomes the main chord progression.
When the completion button 92 is clicked, as shown in FIG. 11, the main chord progression is pasted on the chord track on the track screen displayed on the display unit 39 of the automatic performance device corresponding to the performance information.

上述したコード進行推定検出装置によれば、演奏情報(又は音響信号)より検出された各コードの機能を推定し、予め記憶された基準ケーデンスに沿ったコードを選択することで、より音楽的なコード進行を得ることができる。   According to the chord progression estimation and detection apparatus described above, the function of each chord detected from the performance information (or sound signal) is estimated, and a chord according to a pre-stored reference cadence is selected. You can get chord progression.

また、図10のコード進行画面90に示したように、各小節の同じケーデンス(機能)に対して、複数のコード候補(候補1〜4)を作成し、異なるコードを選択可能とすることで、複数のコード進行を提案することができる。   Also, as shown in the chord progression screen 90 of FIG. 10, by creating a plurality of chord candidates (candidates 1 to 4) for the same cadence (function) of each measure, it is possible to select different chords. Multiple chord progressions can be proposed.

30…コード進行推定手段、 31…演奏情報記憶部、 32…コード検出部、 33…調検出部、 34…コード機能推定部、 35…コード機能確定部、 36…基準ケーデンス記憶部、 37…コード割当部、 38…コード演奏情報ファイル作成部、 39…表示部、 39a…コード進行表示部、 40…演奏手段(自動演奏装置)、 41…データ波形用バッファ、 42…ソフトウェア音源、 43…コード波形用バッファ、 44…加算器、 45…再生バッファ、 46…再生デバイス(音再生手段) 81…波形記憶部。   DESCRIPTION OF SYMBOLS 30 ... Chord progress estimation means, 31 ... Performance information storage part, 32 ... Chord detection part, 33 ... Key detection part, 34 ... Chord function estimation part, 35 ... Chord function determination part, 36 ... Reference cadence storage part, 37 ... Chord Allocation unit, 38 ... Chord performance information file creation unit, 39 ... Display unit, 39a ... Chord progress display unit, 40 ... Performance means (automatic performance device), 41 ... Data waveform buffer, 42 ... Software sound source, 43 ... Chord waveform Buffer 44... Adder 45. Reproduction buffer 46. Reproduction device (sound reproduction means) 81 waveform storage unit

Claims (6)

演奏情報又は音響信号からコードを推定するコード進行推定検出装置であって、
前記演奏情報又は音響信号の全体から曲の調を検出する調検出手段と、
前記演奏情報又は音響信号から特定区間毎に複数のコードと各コードの尤度を検出するコード検出手段と、
前記特定区間毎に前記調検出手段で検出された調に応じて分類された各コードのコード機能を推定するコード機能推定手段と、
前記コード機能推定手段によって得られたコード機能の進行について、複数の基本的なケーデンスを元に最終的なコード機能進行を決定するコード機能確定手段と、
各ケーデンスのコード機能にコードを割り当てるコード割当手段と、
を備えることを特徴とするコード進行推定検出装置。
A chord progression estimation detecting device for estimating chords from performance information or sound signals,
Key detection means for detecting the key of the song from the performance information or the entire acoustic signal;
Chord detection means for detecting a plurality of chords and likelihood of each chord for each specific section from the performance information or the sound signal;
Code function estimating means for estimating the code function of each code classified according to the key detected by the key detecting means for each specific section;
About the chord function progress obtained by the chord function estimating means, chord function determining means for determining the final chord function progress based on a plurality of basic cadences;
Code assignment means for assigning codes to the code functions of each cadence;
A chord progression estimation detection apparatus comprising:
前記コード機能確定手段は、基準ケーデンスを複数記憶した基準ケーデンス記憶手段を備え、前記コード機能進行と前記基準ケーデンスを比較し、一致した場合、その部分のコード機能を基準ケーデンスと同じコード機能として確定する請求項1に記載のコード進行推定検出装置。   The chord function determining means includes a reference cadence storing means for storing a plurality of reference cadences. When the chord function progress and the reference cadence are compared, if they coincide, the code function of the portion is determined as the same chord function as the reference cadence. The chord progression estimation detection apparatus according to claim 1. 前記コード機能確定手段は、前記基準ケーデンスと前記コード機能進行を比較し、一致しない場合、前記コード機能進行のコード機能を、前記基準ケーデンスに一致するようにコード機能進行のコード機能を変更する請求項1に記載のコード進行推定検出装置。   The chord function determining means compares the reference cadence with the chord function progress, and if not, changes the chord function of the chord function progress so that the chord function of the chord function progress matches the reference cadence. Item 2. The chord progression estimation detection device according to Item 1. 前記コード機能確定手段により最終的に決定されるメインコード進行、及び、該メインコード進行とは異なる複数のコード進行候補を表示可能とするコード進行表示手段を備え、前記コード進行候補に表示されたコードをメインコード進行に割り当て可能とした請求項1に記載のコード進行推定検出装置。   A chord progression display unit that can display a main chord progression finally determined by the chord function determination unit and a plurality of chord progression candidates different from the main chord progression, and is displayed in the chord progression candidate The chord progression estimation detection apparatus according to claim 1, wherein chords can be assigned to main chord progressions. 指定された特定範囲の演奏情報又は音響信号を演奏し、コードを内蔵音源で演奏する演奏手段を備え、
前記演奏情報又は音響信号と、前記コード進行表示手段に表示されたメインコード進行の各コードを同時に演奏可能とした請求項4に記載のコード進行推定検出装置。
Playing performance information or acoustic signals in a specified specific range, with performance means for playing chords with a built-in sound source,
5. The chord progression estimation and detection device according to claim 4, wherein the chord progression estimation and detection device according to claim 4, wherein the chord progression display unit and the chord progression display chord are displayed simultaneously.
演奏情報又は音響信号からコード進行を推定するプログラムであって、
前記演奏情報又は音響信号から特定区間毎に複数のコードと各コードの尤度を検出するコード検出手順と、
各コードのコード機能を推定するコード機能推定手順と、
推定されたコード機能進行について、複数の基本的なケーデンスを元に最終的なコード機能進行を決定するコード機能確定手順と、
各ケーデンスのコード機能にコードを割り当てるコード割当手順と、
をコンピュータに実行させることを特徴とするコード進行推定検出プログラム。
A program for estimating chord progression from performance information or sound signals,
A chord detection procedure for detecting the likelihood of each chord and a plurality of chords for each specific section from the performance information or the acoustic signal;
A code function estimation procedure for estimating the code function of each code;
About the estimated chord function progress, a chord function determination procedure for determining the final chord function progress based on a plurality of basic cadences,
A code assignment procedure to assign codes to the code functions of each cadence;
A program for detecting and estimating chord progression characterized by causing a computer to execute.
JP2013159322A 2013-07-31 2013-07-31 Chord progression estimation detection apparatus and chord progression estimation detection program Active JP6151121B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013159322A JP6151121B2 (en) 2013-07-31 2013-07-31 Chord progression estimation detection apparatus and chord progression estimation detection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013159322A JP6151121B2 (en) 2013-07-31 2013-07-31 Chord progression estimation detection apparatus and chord progression estimation detection program

Publications (2)

Publication Number Publication Date
JP2015031738A true JP2015031738A (en) 2015-02-16
JP6151121B2 JP6151121B2 (en) 2017-06-21

Family

ID=52517128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013159322A Active JP6151121B2 (en) 2013-07-31 2013-07-31 Chord progression estimation detection apparatus and chord progression estimation detection program

Country Status (1)

Country Link
JP (1) JP6151121B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019139209A (en) * 2018-02-09 2019-08-22 ヤマハ株式会社 Code estimation method and code estimation device
JP2020056938A (en) * 2018-10-03 2020-04-09 カシオ計算機株式会社 Musical performance information display device and musical performance information display method, musical performance information display program, and electronic musical instrument
WO2020110724A1 (en) * 2018-11-29 2020-06-04 ヤマハ株式会社 Acoustic analysis method, acoustic analysis device, and method for building model
WO2021100679A1 (en) 2019-11-20 2021-05-27 ヤマハ株式会社 Information processing system, keyboard instrument, information processing method, and program
CN113196381A (en) * 2019-01-11 2021-07-30 雅马哈株式会社 Sound analysis method and sound analysis device
WO2022202199A1 (en) * 2021-03-26 2022-09-29 ヤマハ株式会社 Code estimation device, training device, code estimation method, and training method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11126075A (en) * 1997-10-21 1999-05-11 Yamaha Corp Chord detecting method and chord detecting device detecting chord from musical data, and recording medium recorded with program for chord detection
JP2001142462A (en) * 1995-07-11 2001-05-25 Yamaha Corp Playing data analyzer
JP2009282464A (en) * 2008-05-26 2009-12-03 Kawai Musical Instr Mfg Co Ltd Chord detection device and chord detection program
JP2010025972A (en) * 2008-07-15 2010-02-04 Kawai Musical Instr Mfg Co Ltd Code name-detecting device and code name-detecting program
JP2010538335A (en) * 2007-09-07 2010-12-09 マイクロソフト コーポレーション Automatic accompaniment for voice melody

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142462A (en) * 1995-07-11 2001-05-25 Yamaha Corp Playing data analyzer
JPH11126075A (en) * 1997-10-21 1999-05-11 Yamaha Corp Chord detecting method and chord detecting device detecting chord from musical data, and recording medium recorded with program for chord detection
JP2010538335A (en) * 2007-09-07 2010-12-09 マイクロソフト コーポレーション Automatic accompaniment for voice melody
JP2009282464A (en) * 2008-05-26 2009-12-03 Kawai Musical Instr Mfg Co Ltd Chord detection device and chord detection program
JP2010025972A (en) * 2008-07-15 2010-02-04 Kawai Musical Instr Mfg Co Ltd Code name-detecting device and code name-detecting program

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019139209A (en) * 2018-02-09 2019-08-22 ヤマハ株式会社 Code estimation method and code estimation device
JP7243147B2 (en) 2018-02-09 2023-03-22 ヤマハ株式会社 Code estimation method, code estimation device and program
JP2020056938A (en) * 2018-10-03 2020-04-09 カシオ計算機株式会社 Musical performance information display device and musical performance information display method, musical performance information display program, and electronic musical instrument
JP7157377B2 (en) 2018-10-03 2022-10-20 カシオ計算機株式会社 Performance information display device, performance information display method, performance information display program, and electronic musical instrument
WO2020110724A1 (en) * 2018-11-29 2020-06-04 ヤマハ株式会社 Acoustic analysis method, acoustic analysis device, and method for building model
CN113168824A (en) * 2018-11-29 2021-07-23 雅马哈株式会社 Sound analysis method, sound analysis device, and model construction method
CN113168824B (en) * 2018-11-29 2024-02-23 雅马哈株式会社 Acoustic analysis method, acoustic analysis device, and model construction method
US11942106B2 (en) 2018-11-29 2024-03-26 Yamaha Corporation Apparatus for analyzing audio, audio analysis method, and model building method
CN113196381A (en) * 2019-01-11 2021-07-30 雅马哈株式会社 Sound analysis method and sound analysis device
CN113196381B (en) * 2019-01-11 2023-12-26 雅马哈株式会社 Acoustic analysis method and acoustic analysis device
WO2021100679A1 (en) 2019-11-20 2021-05-27 ヤマハ株式会社 Information processing system, keyboard instrument, information processing method, and program
WO2022202199A1 (en) * 2021-03-26 2022-09-29 ヤマハ株式会社 Code estimation device, training device, code estimation method, and training method

Also Published As

Publication number Publication date
JP6151121B2 (en) 2017-06-21

Similar Documents

Publication Publication Date Title
Xi et al. GuitarSet: A Dataset for Guitar Transcription.
US9672800B2 (en) Automatic composer
JP6151121B2 (en) Chord progression estimation detection apparatus and chord progression estimation detection program
US20170092246A1 (en) Automatic music recording and authoring tool
JP4672613B2 (en) Tempo detection device and computer program for tempo detection
CN101689225B (en) Generating music thumbnails and identifying related song structure
JP4640407B2 (en) Signal processing apparatus, signal processing method, and program
US9824719B2 (en) Automatic music recording and authoring tool
US8592670B2 (en) Polyphonic note detection
US8392006B2 (en) Detecting if an audio stream is monophonic or polyphonic
US10504498B2 (en) Real-time jamming assistance for groups of musicians
JP6047985B2 (en) Accompaniment progression generator and program
WO2020015411A1 (en) Method and device for training adaptation level evaluation model, and method and device for evaluating adaptation level
JP2008065153A (en) Musical piece structure analyzing method, program and device
JP2020122948A (en) Karaoke device
JP7428182B2 (en) Information processing device, method, and program
JPWO2006062064A1 (en) Music processing device
JP6056799B2 (en) Program, information processing apparatus, and data generation method
JP6954780B2 (en) Karaoke equipment
JP5830840B2 (en) Voice evaluation device
JP7176114B2 (en) MUSIC ANALYSIS DEVICE, PROGRAM AND MUSIC ANALYSIS METHOD
JP2020122949A (en) Karaoke device
JP6168649B2 (en) Code detection apparatus and program
JP4595852B2 (en) Performance data processing apparatus and program
JP2014235328A (en) Code estimation detection device and code estimation detection program

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 Request for written amendment filed

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