JP2015111286A - Chord detection device - Google Patents

Chord detection device Download PDF

Info

Publication number
JP2015111286A
JP2015111286A JP2015022861A JP2015022861A JP2015111286A JP 2015111286 A JP2015111286 A JP 2015111286A JP 2015022861 A JP2015022861 A JP 2015022861A JP 2015022861 A JP2015022861 A JP 2015022861A JP 2015111286 A JP2015111286 A JP 2015111286A
Authority
JP
Japan
Prior art keywords
chord
code
point
candidate
detection
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
JP2015022861A
Other languages
Japanese (ja)
Other versions
JP5825449B2 (en
Inventor
成淑 原
Akihide Hara
成淑 原
河野 恭浩
Takahiro Kono
恭浩 河野
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2015022861A priority Critical patent/JP5825449B2/en
Publication of JP2015111286A publication Critical patent/JP2015111286A/en
Application granted granted Critical
Publication of JP5825449B2 publication Critical patent/JP5825449B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PROBLEM TO BE SOLVED: To detect a proper chord with respect to user's free performance such as playing with both hands.SOLUTION: This chord detection device is configured to, when performance data based on playing with both hands or the like are input, extract a candidate chord at a chord detection timing such as each of a prescribed number of bars or a prescribed number of beats in accordance with keys at that time, and to identify what type of role does each performance sound of the input performance data play with respect to each extracted candidate chord, and to acquire points indicating a degree of musical significance of the identified role from a degree name-categorized point table PT having a note point table, and to sum up points acquired for all performance sounds for each candidate chord, and to add priority points (Prior) of the candidate chord itself to the total points to obtain the sum total of points, and to define the candidate chord having the maximum sum total of points as the optimal chord.

Description

この発明は、ユーザによる両手弾きなどの自由な演奏に対してコード(chord:和音)検出を行うことができるコード検出装置に関する。   The present invention relates to a chord detection apparatus capable of detecting chords for a free performance such as playing both hands by a user.

従来より、演奏操作よりコードを検出する機能を持つ電子音楽装置が知られている。例えば、特許文献1に開示された自動伴奏装置では、コード検出タイミングでユーザ演奏音をサーチし、予め記憶しているコードパターンとのマッチングを行い、2音しか押鍵がない場合は分数コードが指定され2音のうちどちらかをルート(root:根音)とみなし、所定のルールに基づき分数コードを決定し、決定したコードに基づいた自動伴奏を行う。   Conventionally, an electronic music apparatus having a function of detecting a chord by a performance operation is known. For example, in the automatic accompaniment device disclosed in Patent Document 1, a user performance sound is searched for at the chord detection timing, matching with a pre-stored chord pattern is performed, and if there are only two keys pressed, a fractional chord is obtained. One of the designated two sounds is regarded as a root, and a fractional code is determined based on a predetermined rule, and automatic accompaniment based on the determined code is performed.

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

しかしながら、従来のコード検出技術では、ユーザの演奏でコードの構成音が揃ったときにコードが検出されるので、検出タイミングでユーザは正確に鍵盤でコード構成音を押鍵しなければならない。検出して欲しいコードになるように押鍵する必要があるので、両手弾きなどの自由な演奏には向いていない。また、決まった算出方法でコードのパターンマッチングやルートの決定を行うので、検出されるコードが単調になる可能性がある。   However, in the conventional chord detection technique, chords are detected when chord constituent sounds are arranged by the user's performance. Therefore, the user must press the chord constituent sounds with the keyboard accurately at the detection timing. Since it is necessary to press the key so that it becomes the chord you want to detect, it is not suitable for free performances such as playing both hands. Further, since code pattern matching and route determination are performed by a predetermined calculation method, the detected code may become monotonous.

この発明は、このような事情に鑑み、両手弾きなどの自由なユーザ演奏に対して適切なコードを検出することができるコード検出装置を提供することを目的とする。   An object of this invention is to provide the chord detection apparatus which can detect a chord suitable for free user performances, such as playing both hands, in view of such a situation.

上記目的を達成するために、本発明のコード検出装置は、演奏データを取得する演奏データ取得手段と、調情報を取得する調情報取得手段と、所定のコード検出タイミングにてコード検出を指示するコード検出指示手段と、前記コード検出指示手段によりコード検出が指示されたときに、前記調情報取得手段により取得された調情報を元に候補コードを抽出する候補コード抽出手段と、前記コード検出指示手段によりコード検出が指示されたときに、前記演奏データ取得手段により取得された演奏データから、前記コード検出タイミングに有効とみなされる音高情報を抽出する音高情報抽出手段と、候補コードとなり得る全てのコードに関して、当該コードを構成するコード構成音の各役割に対する音楽的な重要度をポイント値で表わしたノートポイントテーブルを備えるディグリーネーム別ポイントテーブルと、前記コード検出指示手段によりコード検出が指示されたときに、前記候補コード抽出手段により抽出された各候補コードについて、前記音高情報抽出手段により抽出された各音高情報の当該各候補コードにおける役割を識別し、識別された役割に応じて音楽的な重要度を示すポイントを、前記ディグリーネーム別ポイントテーブルのノートポイントテーブルから抽出する役割識別及びポイント抽出手段と、前記コード検出指示手段によりコード検出が指示されたときに、前記候補コード抽出手段により抽出された候補コード毎に、前記音高情報抽出手段により抽出された全音高情報につき、前記役割識別及びポイント抽出手段により抽出されたポイントを合計して当該各候補コードのポイント合計値を取得するポイント合計値取得手段と、前記コード検出指示手段によりコード検出が指示されたときに、前記ポイント合計値取得手段により取得された各候補コードのポイント合計値を元に、前記候補コード抽出手段により抽出された候補コードから1つのコードを検出するコード検出手段とを具備し、前記ディグリーネーム別ポイントテーブルは、複数用意されたディグリーネーム別ポイントテーブルから選択できると共に、作成および編集が可能とされていることを最も主要な特徴としている。   In order to achieve the above object, a chord detection apparatus according to the present invention instructs a chord detection at a predetermined chord detection timing, a performance data acquisition means for acquiring performance data, a key information acquisition means for acquiring key information. A code detection instruction means; a candidate code extraction means for extracting a candidate code based on the key information acquired by the key information acquisition means when code detection is instructed by the code detection instruction means; and the code detection instruction Pitch information extraction means for extracting pitch information deemed valid at the chord detection timing from the performance data acquired by the performance data acquisition means when a chord detection is instructed by the means, and a candidate code For all chords, the musical importance for each role of the chord components that make up the chord is represented by a point value. A point table by degree name having a point table and each candidate code extracted by the candidate code extracting means when the chord detection is instructed by the chord detection instructing means are extracted by the pitch information extracting means. Role identification and points for identifying the role of each pitch information in each candidate code and extracting a point indicating musical importance according to the identified role from the note point table of the degree name point table When the chord detection is instructed by the extracting means and the chord detection instructing means, for each candidate code extracted by the candidate chord extracting means, the whole pitch information extracted by the pitch information extracting means has the role Sum the points extracted by the identification and point extraction means A point total value acquisition unit that acquires a point total value of a candidate code, and when code detection is instructed by the code detection instruction unit, a point total value of each candidate code acquired by the point total value acquisition unit And a code detecting means for detecting one code from the candidate codes extracted by the candidate code extracting means, and the degree name-specific point table can be selected from a plurality of prepared degree name-specific point tables, Its main feature is that it can be created and edited.

この発明によるコード検出装置は、さらに、複数のコードの夫々について優先度をポイントで示す優先ポイントが、前記ディグリーネーム別ポイントテーブルに設定されており、前記コード検出手段は、前記ポイント合計値取得手段により候補コード毎にポイント合計値を取得した際に、更に、前記ディグリーネーム別ポイントテーブルから、各候補コードに対応するコードの優先ポイントを取得し、取得された優先ポイントを各候補コードのポイント合計値に加算し、加算されたポイント合計値を元にコード検出を行うように構成することができる。   In the code detection device according to the present invention, a priority point indicating a priority for each of a plurality of codes is set in the degree name point table, and the code detection means is the point total value acquisition means When the point total value is obtained for each candidate code, the priority points of the codes corresponding to each candidate code are further obtained from the degree name point table, and the obtained priority points are summed for the points of each candidate code. It can be configured to add to the value and perform code detection based on the added point total value.

この発明のコード検出装置では、例えば、所定小節毎或いは所定拍毎というような所定の音楽タイミングを基準にして、コード検出を行うタイミング即ちコード検出タイミングを設定して、両手弾きなどの演奏操作に基づく演奏データを取得し、調情報を取得すると、設定したコード検出タイミングにてコード検出が指示されたときに、取得した調情報を元に候補コードを抽出し、取得した演奏データから、コード検出タイミングに有効とみなされる音高情報を抽出する。次いで、候補コードとなり得る全てのコードに関して、当該コードを構成するコード構成音の各役割に対する音楽的な重要度をポイント値で表わしたノートポイントテーブルを備えるディグリーネーム別ポイントテーブルを備え、抽出した各候補コードについて、各音高情報の役割を識別し、識別した役割に応じて音楽的な重要度を示すポイントを、ディグリーネーム別ポイントテーブルのノートポイントテーブルから抽出し、候補コード毎に、全音高情報について抽出したポイントを合計する。つまり、コード検出タイミングにおいて、各演奏音が、候補コードにおける、どの構成音、どのテンションノート、アヴォイドノートであるのかなど、各演奏音が演じている音楽的な役割を識別し、識別したこれらの役割毎の音楽的な重要度に基づくポイント値を取得する。さらに抽出した候補コード毎に全演奏音に対するポイント値を合計して、各候補コードの合計ポイントを求める。そして、このようにして求めた各候補コードのポイント合計値を元に、抽出した候補コードから最適なコードを検出する。さらに、ディグリーネーム別ポイントテーブルは、複数用意されたディグリーネーム別ポイントテーブルから選択できると共に、作成および編集が可能とされており、検出されたコードを元にして自動演奏データを生成させることができる。   In the chord detection device according to the present invention, for example, a chord detection timing, that is, chord detection timing, is set on the basis of a predetermined music timing such as every predetermined bar or every predetermined beat. Once the performance data is acquired and key information is acquired, when chord detection is instructed at the set chord detection timing, candidate codes are extracted based on the acquired key information, and chord detection is performed from the acquired performance data Extract pitch information that is considered valid for timing. Next, with respect to all chords that can be candidate chords, each of the extracted chords is provided with a point table by degree name comprising a note point table that represents the musical importance for each role of the chord constituent sounds constituting the chord with point values. For the candidate chords, the role of each pitch information is identified, and the points indicating musical importance according to the identified roles are extracted from the note point table of the degree name point table, and for each candidate chord, all pitches are extracted. Sum the points extracted for information. In other words, at the chord detection timing, the musical roles played by each performance sound, such as which constituent sound, which tension note, and the void note in the candidate chord, are identified and identified. The point value based on each musical importance is acquired. Furthermore, the point value with respect to all the performance sounds is totaled for every extracted candidate code, and the total point of each candidate code is calculated | required. Then, an optimum code is detected from the extracted candidate codes based on the point total value of each candidate code obtained in this way. Furthermore, the degree name-specific point table can be selected from a plurality of prepared degree-name point tables, and can be created and edited, and automatic performance data can be generated based on the detected chords. .

このように、この発明では、小節或いは拍タイミング等に相当するコード検出タイミングで、両手弾き等の演奏データに基づくコード検出が指示されると、該コード検出タイミングで入力された各演奏音の候補コードにおける音楽的な役割を識別し、識別した役割毎の音楽的な重要度に基づくポイント値を取得して候補コード毎に全押鍵音に対するポイント値を合計して、各候補コードの合計ポイントを求め、合計ポイントの一番高い候補コードを最適な所望のコードとして選出するようにしている。   As described above, according to the present invention, when chord detection based on performance data such as double-handed playing is instructed at chord detection timing corresponding to measure or beat timing, each performance sound candidate input at the chord detection timing is indicated. Identifies the musical role in the chord, obtains point values based on the musical importance for each identified role, sums the point values for all keystroke sounds for each candidate chord, and total points for each candidate chord The candidate code with the highest total point is selected as the optimum desired code.

従って、この発明によれば、両手弾きなどの自由なユーザ演奏に対して適切なコードを検出し、ユーザは演奏に専念しながら適切なコードによる自動伴奏を得ることができる。また、使用可能なコードの中から、ユーザの演奏音を元に、コード構成音などの役割の音楽的意味をポイント値で考慮して適切なコードを検出するので、音楽的で演奏音に適合したコードを得ることができる。さらに、従来技術では、あるコードに対し特定のテンション音が演奏されているときには(例えば、CMajに対してD♯など)そのコードは検出されないように制御することがあったが、この発明では、コード検出時の演奏音1つ1つの各候補コードにおけるハーモニー構成の役割の重要度を識別し、それを元にコードを決定するので、単純に演奏音の組み合わせだけでコードの検出を禁止することはなく、演奏音の音楽的な役割を識別することによって適切なコードを検出することができる。また、ユーザ演奏の態様に応じてディグリーネーム別ポイントテーブルを選択できると共に、作成および編集が可能とされているので、より適切なコード検出を行うことができる。   Therefore, according to the present invention, an appropriate chord can be detected for a free user performance such as playing both hands, and the user can obtain an automatic accompaniment with an appropriate chord while devoting himself to the performance. Also, from the available chords, based on the user's playing sound, the musical meaning of the role such as chord constituent sounds is considered with the point value to detect the appropriate chord, so it fits musically and playing sound Code can be obtained. Further, in the prior art, when a specific tension sound is played for a certain chord (for example, D # for CMaj), the chord is sometimes controlled not to be detected. The importance of the role of harmony structure in each candidate sound at the time of chord detection is identified, and the chord is determined based on it. Therefore, it is prohibited to detect chords simply by combining performance sounds. Rather, an appropriate chord can be detected by identifying the musical role of the performance sound. In addition, the point table for each degree name can be selected according to the mode of user performance and can be created and edited, so that more appropriate chord detection can be performed.

この発明によるコード検出装置においては、複数のコードの夫々について優先度をポイントで示す優先ポイントが、ディグリーネーム別ポイントテーブルに設定されており、コード検出の際は、各候補コードに対応する優先ポイントを取得し、各候補コードのポイント合計値に加算し、加算したポイント合計値を元にコード検出を行うように構成される。つまり、前述のように、各候補コードにおける全押鍵音の役割に対応して求めたポイント合計値に、更に、コードの優先度を示す優先ポイントを加えた結果について、ポイント値の一番高い候補コードを求め、最適コードとして選出する。従って、この発明によれば、ユーザ演奏に対して更に適切なコードを検出することができる。   In the code detection device according to the present invention, the priority point indicating the priority for each of the plurality of codes is set in the point table by degree name, and at the time of code detection, the priority point corresponding to each candidate code Is added to the point total value of each candidate code, and code detection is performed based on the added point total value. That is, as described above, the highest point value is obtained as a result of adding the priority point indicating the priority of the chord to the total point value obtained in correspondence with the role of all key-pressing sounds in each candidate code. A candidate code is obtained and selected as the optimum code. Therefore, according to the present invention, it is possible to detect a chord more appropriate for the user performance.

この発明の一実施例によるコード検出装置のハードウエア構成例を示す。1 shows a hardware configuration example of a code detection device according to an embodiment of the present invention. この発明の一実施例によるコード検出タイミングのイメージを示す。2 shows an image of code detection timing according to an embodiment of the present invention. この発明の一実施例によるディグリーネーム別ポイントテーブル例を示す。4 shows an example of a point table by degree name according to an embodiment of the present invention. この発明の一実施例による自動伴奏併用演奏処理フローの第1部分を示す。The 1st part of the automatic accompaniment performance processing flow by one Example of this invention is shown. この発明の一実施例による自動伴奏併用演奏処理フローの第2部分を示す。The 2nd part of the automatic accompaniment combined performance performance processing flow by one Example of this invention is shown. この発明の一実施例による自動伴奏併用演奏処理フローの第3部分を示す。The 3rd part of the automatic accompaniment combined performance processing flow by one Example of this invention is shown. この発明の一実施例によるノートイベント処理フローを示す。2 shows a note event processing flow according to one embodiment of the present invention. この発明の一実施例によるコード検出処理フローの一部を示す。2 shows a part of a code detection processing flow according to an embodiment of the present invention. この発明の一実施例によるコード検出処理フローの他部を示す。The other part of the code | cord | chord detection processing flow by one Example of this invention is shown. この発明の一実施例による役割抽出処理フローの一部を示す。2 shows a part of a role extraction processing flow according to an embodiment of the present invention. この発明の一実施例による役割抽出処理フローの他部を示す。The other part of the role extraction processing flow by one Example of this invention is shown. この発明の一実施例によるディグリーネーム別ポイントテーブル別例の一 部を示す。A part of an example of a point table by degree name according to an embodiment of the present invention is shown. この発明の一実施例によるディグリーネーム別ポイントテーブル別例の他 部を示す。The other part of the example according to the point table according to degree name by one Example of this invention is shown.

〔システム構成の概要〕
図1は、この発明の一実施例によるコード検出装置のハードウエア構成例を示す。この発明の一実施例によるコード検出装置は、電子的な音楽情報処理機能を有する一種のコンピュータであり、電子楽器の形で具現化することができる。このコード検出装置は、図1のように、中央処理装置(CPU)1、ランダムアクセスメモリ(RAM)2、読出専用メモリ(ROM)3、外部記憶装置4、演奏情報取得部(演奏情報入力部ともいう)5、その他操作子部6、表示部7、音源8、自動伴奏装置9、通信インターフェース(I/F)10などを備え、これらの要素1〜10はバス11を介して接続される。
[Overview of system configuration]
FIG. 1 shows a hardware configuration example of a code detection apparatus according to an embodiment of the present invention. A chord detection apparatus according to an embodiment of the present invention is a kind of computer having an electronic music information processing function, and can be embodied in the form of an electronic musical instrument. As shown in FIG. 1, the chord detection device includes a central processing unit (CPU) 1, a random access memory (RAM) 2, a read only memory (ROM) 3, an external storage device 4, a performance information acquisition unit (performance information input unit). 5), other operation elements 6, a display 7, a sound source 8, an automatic accompaniment device 9, a communication interface (I / F) 10, and the like, and these elements 1 to 10 are connected via a bus 11. .

CPU1は、RAM2及びROM3と共にデータ処理部を構成しており、タイマ12によるクロックを利用して、自動伴奏併用演奏処理プログラムを含む所定の制御プログラムに従い種々の音楽情報処理を実行し、RAM2は、これらの処理に際して必要な各種データを一時記憶するためのワーク領域として用いられる。例えば、自動伴奏併用演奏処理を実行する自動伴奏併用演奏モード時には、タイマ12は、CPU1の制御の下、コードの検出や適用のために設定された種々の設定時間を計時し、RAM2には、コードの検出や適用に必要な各種レジスタ( NoteList,ChordList,Chord,sTime,eTime,Key,ResultListなど)が設けられる。また、ROM3には、これらの処理を実行するために、各種制御プログラムや必要な各種制御データが予め記憶される。   The CPU 1 constitutes a data processing unit together with the RAM 2 and the ROM 3, and uses the clock of the timer 12 to execute various music information processing according to a predetermined control program including an automatic accompaniment performance processing program. It is used as a work area for temporarily storing various data necessary for these processes. For example, in the automatic accompaniment performance mode in which automatic accompaniment performance processing is executed, the timer 12 measures various set times set for detecting and applying chords under the control of the CPU 1. Various registers (NoteList, ChordList, Chord, sTime, eTime, Key, ResultList, etc.) necessary for code detection and application are provided. In addition, various control programs and various control data necessary for executing these processes are stored in the ROM 3 in advance.

外部記憶装置4は、HD(ハードディスク)、FD(フレキシブルディスク)、CD(コンパクトディスク)、DVD(デジタル多目的ディスク)、フラッシュメモリ等の半導体メモリなどの記憶媒体と、その駆動装置を含む。制御プログラムや、ディグリーネーム別ポイントテーブル(PT)、各種ルールなどの制御データ、種々の曲データ等、任意の情報を任意の記憶媒体に記憶することができる。また、記憶媒体は、着脱可能であってもよいし、このコード検出装置に内蔵されていてもよく、着脱可能な記録媒体にはUSBメモリが含まれる。   The external storage device 4 includes a storage medium such as a semiconductor memory such as an HD (hard disk), an FD (flexible disk), a CD (compact disk), a DVD (digital multipurpose disk), and a flash memory, and a driving device thereof. Arbitrary information such as a control program, degree name point table (PT), control data such as various rules, and various music data can be stored in an arbitrary storage medium. The storage medium may be detachable or may be built in the code detection device, and the detachable recording medium includes a USB memory.

演奏情報取得部5は、鍵盤などの演奏操作子と、演奏操作子の操作を検出し検出内容に対応する演奏操作情報をデータ処理部(1〜3)に導入する演奏操作検出回路とにより構成される。その他操作子部6は、キースイッチ等のその他の操作子(設定操作子)と、これら操作子の操作を検出して対応する操作情報をデータ処理部に導入する設定操作検出回路とにより構成される。データ処理部(1〜3)は、演奏情報取得部5及びその他操作子部6からの操作情報に基づきコード検出装置各部を制御し、例えば、演奏操作部5からの演奏操作入力に対応する演奏データを音源8に送ったり、その他操作子部6中のモード設定ボタンの操作により自動伴奏併用演奏モードで動作させたりすることができる。   The performance information acquisition unit 5 includes a performance operator such as a keyboard, and a performance operation detection circuit that detects operation of the performance operator and introduces performance operation information corresponding to the detected contents to the data processing units (1 to 3). Is done. The other operation unit 6 includes other operation units (setting operation units) such as key switches, and a setting operation detection circuit that detects operations of these operation units and introduces corresponding operation information to the data processing unit. The The data processing unit (1-3) controls each part of the chord detection device based on operation information from the performance information acquisition unit 5 and the other operation unit 6, and for example, a performance corresponding to a performance operation input from the performance operation unit 5 Data can be sent to the sound source 8 or can be operated in the automatic accompaniment performance mode by operating a mode setting button in the operation unit 6.

表示部7は、演奏や設定に必要な各種情報を表示するLCD等のディスプレイや、操作部5〜6中のスイッチ類に併設した内蔵ランプ等を備え、これらの表示・点灯内容をデータ処理部からの指令で制御し、演奏操作や設定操作などに関する表示援助を行う。   The display unit 7 includes a display such as an LCD for displaying various information necessary for performance and setting, a built-in lamp attached to the switches in the operation units 5 to 6, and the like. Controls with commands from, and provides display assistance for performance and setting operations.

音源8は、音源部やDSPを有し、演奏情報取得部5の演奏操作情報から得られる演奏データに基づいて、或いは、記憶装置4から読み出される曲データに基づいて、楽音信号を生成すると共にこの楽音信号に所定の効果を付与する。音源8に接続されるサウンドシステム13は、D/A変換部やアンプ、スピーカ等を備え、音源8から出力される楽音信号に基づく楽音を発生する。自動伴奏装置9は、自動伴奏併用演奏モードにおいて、タイマ12からのテンポクロックで自動伴奏のテンポが設定され、このテンポクロックに従って、データ処理部(1〜3)から提供されるコードに対応した伴奏スタイルデータに基づく自動伴奏音を生成する。   The sound source 8 includes a sound source unit and a DSP, and generates a musical sound signal based on performance data obtained from the performance operation information of the performance information acquisition unit 5 or based on music data read from the storage device 4. A predetermined effect is given to this musical sound signal. The sound system 13 connected to the sound source 8 includes a D / A converter, an amplifier, a speaker, and the like, and generates a musical sound based on a musical sound signal output from the sound source 8. In the automatic accompaniment performance mode, the automatic accompaniment device 9 sets the tempo of automatic accompaniment with the tempo clock from the timer 12, and according to this tempo clock, the accompaniment corresponding to the chord provided from the data processing unit (1-3) Generate automatic accompaniment sounds based on style data.

通信I/F10は、MIDI等の音楽用有線I/F、USB等の汎用ネットワークI/F或いは無線Lan等の汎用近距離無線I/F等を含み、外部電子音楽装置MMと交信することができる。例えば、外部電子音楽装置MMからMIDI形式の曲データを取得し、記憶装置4に記憶しておくことができる。   The communication I / F 10 includes a music wired I / F such as MIDI, a general-purpose network I / F such as USB, or a general-purpose short-range wireless I / F such as wireless Lan, and can communicate with the external electronic music apparatus MM. it can. For example, MIDI format music data can be acquired from the external electronic music device MM and stored in the storage device 4.

〔コード検出タイミング〕
この発明の一実施例によるコード検出装置では、自動伴奏併用演奏処理により、所定の小節或いは拍タイミングで、演奏情報取得部5から入力される演奏データに基づいてコードが検出され、検出されたコードが自動的に自動伴奏に適用される。図2は、この発明の一実施例によるコード検出タイミングのイメージ例を示している。
[Code detection timing]
In the chord detection apparatus according to one embodiment of the present invention, the chord is detected based on the performance data input from the performance information acquisition unit 5 at a predetermined bar or beat timing by the automatic accompaniment performance processing. Is automatically applied to automatic accompaniment. FIG. 2 shows an example of code detection timing according to one embodiment of the present invention.

図2(a)は、コード検出基準位置の例であり、横軸は、右方向に時間が進行する時間軸を示す。◎で示されるコード検出基準位置T2は、演奏データに対してユーザ操作により予め設定された所定の小節或いは拍タイミングなどの音楽的なタイミングであり、ユーザにとっては、コードの検出乃至適用を指示するタイミングの目安となる。この例では、1小節=4拍の演奏データに対し、1拍目及び3拍目がコード検出基準位置T2に設定されている。これに対して、図2(b)は、コード検出タイミングの例であり、右矢印の方向に時間が進行する時間軸(横軸)のスケールは、図2(a)よりも拡大されている。   FIG. 2A is an example of the code detection reference position, and the horizontal axis indicates a time axis in which time advances in the right direction. The chord detection reference position T2 indicated by ◎ is a musical timing such as a predetermined bar or beat timing preset by a user operation with respect to the performance data, and instructs the user to detect or apply chords. It becomes a standard of timing. In this example, the first beat and the third beat are set as the chord detection reference position T2 for the performance data of one measure = 4 beats. On the other hand, FIG. 2B is an example of the code detection timing, and the scale of the time axis (horizontal axis) in which the time advances in the direction of the right arrow is larger than that in FIG. .

コード検出タイミングは、コード検出基準位置T2より所定時間前のコード検出タイミング開始位置(時間)T1で開始し、同位置T2より所定時間後のコード検出タイミング終了位置(時間)T3で終了する。このように、コード検出を行うタイミングT1〜T3は、所定の拍位置T2を基準に前後にそれぞれ時間幅T1〜T2,T2〜T3を設定したものであり、各時間幅の値は、この例では、T1〜T2=250ms、T2〜T3=50msである。ここで、コード検出タイミング(時間幅)T1〜T3の間に両手弾きなどの演奏操作(押鍵)に応じて演奏データ(ノートイベント)を入力すると、コード検出タイミング終了時間T3でコード検出が指示され、入力された演奏データ(ノートイベント)及びその時点の調を元にしてコード検出が行われる。   The code detection timing starts at a code detection timing start position (time) T1 a predetermined time before the code detection reference position T2, and ends at a code detection timing end position (time) T3 after a predetermined time from the position T2. As described above, the timings T1 to T3 for performing the chord detection are obtained by setting the time widths T1 to T2 and T2 to T3 before and after the predetermined beat position T2, respectively. Then, T1 to T2 = 250 ms and T2 to T3 = 50 ms. Here, when performance data (note event) is input in response to a performance operation (key depression) such as playing both hands during the chord detection timing (time width) T1 to T3, chord detection is instructed at the chord detection timing end time T3. Then, chord detection is performed based on the input performance data (note event) and the key at that time.

このコード検出装置では、時間幅T1〜T3内に発音している演奏データがコード検出の対象となり、時間T3で、対象の演奏データを構成する各演奏音(ノートイベント、音符データ)の音高を調べ、ディグリーネーム別ポイントテーブル(PT)を参照することにより、そのときに設定されている調においてコードになり得る候補コードを抽出し、抽出した候補コード毎に識別した各演奏音の役割に応じた音楽的なポイント(重要度)を求める。そして、候補コード各音ポイントを合計し、合計ポイントが一番高い候補コードを最適なコードとして検出する。また、このようにして時間T3でコードを検出すると同時に、検出したコードは、自動伴奏に適用されると共に、コード検出結果リストに順次追記されていく。   In this chord detection device, performance data sounded within the time interval T1 to T3 is a target of chord detection, and the pitch of each performance sound (note event, note data) constituting the target performance data at time T3. By referring to the point table (PT) by degree name, candidate chords that can be chords in the key set at that time are extracted, and the role of each performance sound identified for each extracted candidate chord is extracted. Find the corresponding musical point (importance). Then, the sound points of the candidate codes are summed, and the candidate code with the highest total point is detected as the optimum code. Further, at the same time as detecting the chord at time T3 in this way, the detected chord is applied to the automatic accompaniment and is sequentially added to the chord detection result list.

この場合、対象時間幅T1〜T3内の演奏データからは、装飾音やミスタッチと推測される音符データを取り除いてからコード検出を行うようにすると、更に精度が上がる。また、コード検出時に利用される調情報については、演奏前にユーザにより指定されたものであってもよいし、演奏に沿って随時検出されたものを活用するようにしてもよい。後者の場合、調の検出は従来技術で行われればよい。   In this case, if the chord detection is performed after removing the ornamental sound or the note data that is presumed to be mistouched from the performance data within the target time width T1 to T3, the accuracy is further improved. Further, the key information used at the time of detecting the chord may be specified by the user before the performance, or may be used at any time along the performance. In the latter case, the key may be detected by the conventional technique.

また、自動伴奏併用演奏処理中、コード検出タイミング開始位置T1、コード検出タイミング終了位置T3、演奏データ(ノートイベント)、調情報、候補コード、検出されたコード、コード検出結果リストは、それぞれ、RAM2内のレジスタ:sTime,eTime,NoteList,Key,ChordList,Chord,ResultListに格納され、各レジスタ名は、格納されている情報の内容を示すのにも用いられる。なお、コードが検出される毎に、そのときの調情報 (Key)を、検出されたコード (Chord)に対応付けてコード検出結果リスト(ResultList)に記憶しておくことが好ましい。   During the automatic accompaniment performance process, the chord detection timing start position T1, chord detection timing end position T3, performance data (note event), key information, candidate chord, detected chord, chord detection result list are stored in the RAM 2 respectively. Registers: sTime, eTime, NoteList, Key, ChordList, Chord, and ResultList. Each register name is also used to indicate the contents of the stored information. Each time a chord is detected, the key information (Key) at that time is preferably stored in the chord detection result list (ResultList) in association with the detected chord (Chord).

なお、コード検出基準位置は、この例のような拍位置だけでなく、テンポや拍子によっては、小節位置(例えば、2小節毎など)とすることができる。また、基準位置前後の時間幅T1〜T2,T2〜T3については、この例ではms単位で設定しているが、音符長や拍数、クロック数などで設定してもよい。   The chord detection reference position is not limited to the beat position as in this example, but can be a bar position (for example, every two bars) depending on the tempo and time signature. Further, the time widths T1 to T2 and T2 to T3 before and after the reference position are set in units of ms in this example, but may be set in terms of the note length, the number of beats, the number of clocks, or the like.

〔ディグリーネーム別ポイントテーブル〕
このコード検出装置では、コード検出時に各候補コードに対応したポイントを求めるのにディグリーネーム別ポイントテーブル(コード別ポイントテーブルともいう)が用いられる。図3は、この発明の一実施例によるディグリーネーム別ポイントテーブルの一例を示す。このディグリーネーム別ポイントテーブルPTは、候補コードとなり得る全てのコードに関して、各ノート(r,3,5,…)のポイントを得るためのノートポイントテーブル(第5〜11列)と、コード自体の優先ポイント (Prior)を得るための優先ポイントテーブル(第4列)とが、Major調とminor調別に1つのテーブルに纏められ、さらに、コードの機能とダイアトニック・スケール・コードかどうかの情報(第2,3列)が付加されている点に特徴がある。図3のディグリーネーム別ポイントテーブル(Major調)PTは、Major調(長調)で候補コードとなり得る全てのコードに関するテーブルであり、minor調(短調)についても同様のテーブルが用意される(図示せず)。
[Point table by degree name]
In this code detection apparatus, a point table for each degree name (also referred to as a code-specific point table) is used to obtain points corresponding to each candidate code at the time of code detection. FIG. 3 shows an example of a point table by degree name according to one embodiment of the present invention. The degree name-specific point table PT includes a note point table (columns 5 to 11) for obtaining points of each note (r, 3, 5,. The priority point table (fourth column) for obtaining priority points (Prior) is grouped into one table for Major and Minor keys, and information on whether code functions and diatonic scale codes ( The second and third columns) are added. The degree name point table (Major key) PT in FIG. 3 is a table relating to all codes that can be candidate codes in the Major key (major key), and a similar table is also prepared for the minor key (minor key) (not shown). )

図3において、第1列(第1欄)は、ディグリーネーム別ポイントテーブルPTに用意されたディグリーネーム情報(DegreeName)〔コード情報ともいい、以下の説明では、単にディグリーネームと呼ぶ〕を示し、図示以外にも多数のディグリーネームがある。各ディグリーネーム(DegreeName)は、調の主音(トニック)を基準とした度数〔根音(ルート)の音階度数。例:I,II, III,IV,V,…〕とコードタイプ〔例:記号無し(メジャー),m(マイナー),7,6,Maj7(メジャー7),m6(マイナー6),m7(マイナー7),add9(9th付加メジャー),…〕との組み合わせでコードを表わしている。なお、図中の「b」は、「♭」(フラット)を表わし、後述する図10、図12及び図13についても同様である。   In FIG. 3, the first column (first column) indicates degree name information (DegreeName) (also referred to as code information, which is simply referred to as a degree name in the following description) prepared in the degree name-specific point table PT. There are many degree names other than those shown. Each degree name (DegreeName) is a frequency based on the key of the key (tonic) [the frequency of the root (root). Example: I, II, III, IV, V, ...] and code type [Example: No symbol (major), m (minor), 7, 6, Maj7 (major 7), m6 (minor 6), m7 (minor) 7), add9 (9th added major),... In the figure, “b” represents “♭” (flat), and the same applies to FIGS. 10, 12, and 13 described later.

ディグリーネーム別ポイントテーブルPTには、第1列(第1欄)の各ディグリーネーム(DegreeName)に対応して第2列(第2欄)以下の諸情報が記録されている。第2列のダイアトニック情報は、各ディグリーネーム(DegreeName)で表わされるコードがダイアトニック・スケール・コードである(○)か否(×)かを表わし、第3列の機能情報は、当該ディグリーネーム(DegreeName)の機能が、トニック(T)、サブドミナント(S)、ドミナント(D)、サブドミナント・マイナー(SM)の何れであるかを表わす。また、第4列の優先ポイント情報 (Prior)は、当該ディグリーネーム(DegreeName)自体の優先度をポイント値で表わし、コード優先ポイント或いはディグリーネーム優先ポイントとも呼ばれる。これに対して、第5〜11列は、コードを特徴付けるノート(役割:r,3,5,…)毎に音楽的な重要度を表わすノートポイント情報が設定されたノートポイントテーブル部を構成している。   In the degree name point table PT, various information in the second column (second column) and below is recorded corresponding to each degree name (DegreeName) in the first column (first column). The diatonic information in the second column indicates whether the code represented by each degree name (DegreeName) is a diatonic scale code (○) or not (×), and the function information in the third column is the degree information This indicates whether the function of the name (DegreeName) is tonic (T), subdominant (S), dominant (D), or subdominant minor (SM). The priority point information (Prior) in the fourth column represents the priority of the degree name (DegreeName) itself as a point value, and is also called a code priority point or a degree name priority point. On the other hand, the fifth to eleventh columns constitute a note point table section in which note point information representing musical importance is set for each note (role: r, 3, 5,...) Characterizing the chord. ing.

まず、第5〜9列各欄のポイント情報は、当該コードを構成するコード構成音の各ノート(役割)に対する音楽的な重要度をポイント値で表わしている。具体的には、第5列のルートポイント情報は、当該コード構成音のルート(根音)<略号“r”>に対応するポイントを示し、第6列の3度ポイント情報は、当該コード構成音の3度音<略号“3”>に対応するポイントを示し、第7列の5度ポイント情報は、当該コード構成音の5度音<略号“5”>に対応するポイントを示し、第8列の4声目ポイント情報は、当該コード構成音中でルート(根音)に対し長6度 (6th)、短7度 (7th)又は長7度(Maj7th)の4声目音<略号“4”>に対応するポイントを示し、第9列のオルタード系ポイント情報は、当該コード構成音中でルート(根音)に対し減5度(♭5th)又は増5度(♯5th)の5度変化音(オルタード系コードトーン)<略号“a”>に対応するポイントを示す。   First, the point information in each column of the fifth to ninth columns represents the musical importance of each chord constituent sound constituting the chord as a point value. Specifically, the route point information in the fifth column indicates a point corresponding to the root (root note) of the chord constituent sound <abbreviation “r”>, and the third-degree point information in the sixth column indicates the chord constituent The 5th point information in the seventh column indicates the point corresponding to the 5th tone <abbreviation “5”> of the chord constituent sound, The fourth voice point information in the 8th column is the fourth voice of the 6th (6th), 7th (7th), or 7th (Maj7th) long voice <abbreviation for the root The point corresponding to “4”> indicates the alternative point information in the ninth column, which is 5 degrees (♭ 5th) or 5 degrees (# 5th) less than the root (root sound) in the chord constituent sound. Points corresponding to the fifth-degree changing sound (alternate chord tone) <abbreviation "a"> are shown.

そして、第10列のテンションノートポイント情報は、当該コードの基本的な和音構成の上部に置かれた非和声音で緊張感を与えるテンションノート<略号“t”>に対する音楽的な重要度をポイント値で表わし、第11列(最右欄)のその他ポイント情報は、当該コード・サウンドの構成上除外されるべきアヴォイドノートなどコード構成音にもテンションノートにも相当しないその他ノートに対する音楽的な重要度をポイント値で表わす。   The tension note point information in the 10th column points to the musical importance of the tension note <abbreviation “t”> that gives a sense of tension with a non-harmonic sound placed above the basic chord structure of the chord. The other point information in the 11th column (the rightmost column) is a musical importance for other notes that do not correspond to chord constituent sounds or tension notes, such as the void note that should be excluded in the structure of the chord sound. Is represented by a point value.

このノートポイントテーブル部(第5〜11列)では、コード構成音の中でも特にルートの役割を持つ演奏音(押鍵音、音高情報)は、重要度が高いと評価され高めのポイントが設定される。また、構成音の中でもコードタイプ決定に大きく関わる3度や7度(4声目)の役割を持つ演奏音も重要とみなされる。一方、コードの中で不協和を生じるような役割(その他)の演奏音に対しては、重要度が低くなり、ポイントも低めに設定される。   In this note point table section (columns 5 to 11), performance sounds (keypress sounds, pitch information) that play the role of root among chord constituent sounds are evaluated as having high importance and higher points are set. Is done. Also, among the constituent sounds, performance sounds that play a role of 3rd or 7th (fourth voice) that are largely involved in chord type determination are also considered important. On the other hand, for the performance sound (others) that causes dissonance in the chord, the importance is lowered and the point is set to be lower.

このコード検出装置では、コード検出の際は、検出対象となる演奏データが入力された時の調 (Key)に応じて、候補とすべきコード (ChordList)が抽出される。例えば、予め所定の調で使用可能なコードの種類の組み合わせをいくつか記憶しておき、コード検出時に所望の組み合わせを選び、選ばれた組み合わせに該当するコードを候補コード (ChordList)として抽出する。また、図3に示されるタイプのディグリーネーム別ポイントテーブルPTでは、ポイント情報(第4〜11列)だけでなく、第2、3列に示すように、各コードのディグリーネーム(DegreeName:第1列)についてダイアトニック・スケール・コードかどうかを表わすダイアトニック情報や機能は何であるかを表わす機能情報が追加されているので、ディグリーネーム別ポイントテーブルPTを利用してその追加情報を参照することにより、候補となるコード (ChordList)を抽出することができる。   In this chord detection device, when chord detection is performed, chords (ChordList) to be candidates are extracted according to the key (Key) when performance data to be detected is input. For example, some combinations of types of codes that can be used in a predetermined key are stored in advance, a desired combination is selected at the time of code detection, and codes corresponding to the selected combination are extracted as candidate codes (ChordList). In addition, in the point table PT by degree name shown in FIG. 3, not only the point information (4th to 11th columns) but also the degree name (DegreeName: 1st) of each code as shown in the 2nd and 3rd columns. Since function information indicating what is a diatonic scale code or function is added to the column), refer to the additional information using the degree name point table PT. Thus, a candidate code (ChordList) can be extracted.

例えば、その時の調のダイアトニック・スケール・コード(第2列情報=「○」)に該当するコード(DegreeName)を全て候補コード (ChordList)として抽出するようにしてもよい。或いは、2回目以降のコード検出の場合には、前回検出されたコード (Chord)の機能(第3列情報)を調べ、例えば、ドミナント(D)であれば次はトニック(T)に進む、というように、前回検出されたコード (Chord)から音楽的に次に進むことが可能なコード(DegreeName)を候補コード (ChordList)として抽出するようにしてもよい。なお、このような追加情報については、ディグリーネーム別ポイントテーブルPTに含ませず、テーブルPTとは別の参照テーブルを用意しておくようにしてもよい。   For example, all the codes (DegreeName) corresponding to the diatonic scale code (second column information = “◯”) of the key at that time may be extracted as candidate codes (ChordList). Alternatively, in the case of code detection after the second time, the function (third column information) of the previously detected code (Chord) is examined. For example, if it is a dominant (D), the process proceeds to a tonic (T). Thus, a chord (DegreeName) that can be musically advanced from the previously detected chord (Chord) may be extracted as a candidate chord (ChordList). Note that such additional information may not be included in the degree name-specific point table PT, and a reference table different from the table PT may be prepared.

候補コード (ChordList)が抽出されると、対象の演奏データ(NoteList)に含まれる各演奏音(押鍵音、Note)が、抽出された候補コード (ChordList)において、どのような役割を演じているのか(どの構成音か、テンションノートか、或いは、アヴォイドノートか)を識別し、ディグリーネーム別ポイントテーブルPTから、識別した役割(各構成音、テンションノート、アヴォイドノート)に対応するポイントを取得する。そして、候補コード毎に全演奏音(NoteList)に対するポイント(重要度)を合計し、更に、候補コード自体の優先ポイント (Prior)を加えて総計ポイントを求めた結果、総計ポイントの一番高い候補コードを選出し、これが対象の演奏データに最適なコード (Chord)であると決定する。   Once the candidate chord (ChordList) is extracted, what role each performance sound (key press sound, Note) included in the target performance data (NoteList) plays in the extracted candidate chord (ChordList) (Which component sound, tension note, or void note) is identified, and points corresponding to the identified roles (each component sound, tension note, and void note) are acquired from the degree name point table PT. Then, the points (importance) for all performance sounds (NoteList) are summed for each candidate chord, and the total points are calculated by adding the priority points (Prior) of the candidate chords themselves. Select a chord and determine that this is the best chord for the target performance data.

以上のように、この発明の一実施例によるコード検出システムでは、ユーザによる両手弾きなどの演奏操作に基づく演奏データ(NoteList)が入力されると、所定小節毎或いは所定拍毎などのコード検出タイミングT1〜T3にて、その時の調 (Key)に応じて候補コード (ChordList)を抽出する。次いで、各候補コード (ChordList)について、入力された演奏データ(NoteList)の各演奏音(Note)が、どのような音〔ルート (r)、3度 (3)、5度 (5)、4声目 (4)、オルタード系 (a)などのコード構成音、テンションノート (t)、アヴォイドノート等〕の役割をしているのかを識別する。さらに、識別した役割の音楽的重要度を示すポイントをディグリーネーム別ポイントテーブルPTから取得し、候補コード毎に、全演奏音(NoteList)につき取得したポイントを合計して合計ポイントを求め、求められた合計ポイントに更に候補コード自体の優先ポイント (Prior)を加えて総計ポイントを得る。そして、得られた総計ポイントが最高の候補コードを最適のコード (Chord)とする。   As described above, in the chord detection system according to one embodiment of the present invention, when performance data (NoteList) based on a performance operation such as double-handed playing by a user is input, chord detection timing for every predetermined bar or every predetermined beat. At T1 to T3, a candidate code (ChordList) is extracted according to the key (Key) at that time. Next, for each candidate chord (ChordList), each performance sound (Note) of the input performance data (NoteList) is what sound [root (r), 3rd (3), 5th (5), 4 (4), chord composing sounds such as alter (a), tension notes (t), and void notes). Furthermore, points indicating the musical importance of the identified roles are obtained from the degree name point table PT, and the total points obtained for all performance sounds (NoteList) are obtained for each candidate code to obtain the total points. The total points are obtained by adding the priority point (Prior) of the candidate code itself to the total points. Then, the candidate code with the highest total points obtained is set as the optimum code (Chord).

〔自動伴奏併用演奏処理フロー例〕
図4〜図6は、この発明の一実施例による自動伴奏併用演奏処理の動作例を表わすフローチャートである。このコード検出装置では、電子楽器として通常の演奏モードで動作しているときに操作子6中の自動伴奏併用演奏モード設定ボタンを操作することにより、自動伴奏併用演奏モードに入って自動伴奏併用演奏処理が実行され、自動伴奏を使った演奏を行うことができる。自動伴奏併用演奏処理がスタートすると、CPU1は、最初のステップP1で、表示部7のディスプレイに演奏条件設定画面を表示し、ユーザ操作に応じて、演奏テンポ、拍子、伴奏スタイルの選択、ボリューム、演奏音色など、演奏開始前の演奏条件を設定する。
[Example of automatic accompaniment performance processing flow]
4 to 6 are flowcharts showing an example of the operation of the automatic accompaniment performance processing according to one embodiment of the present invention. In this chord detection apparatus, the automatic accompaniment combined performance mode setting button in the controller 6 is operated to operate the automatic accompaniment combined performance mode when the electronic musical instrument is operating in the normal performance mode. The process is executed and a performance using automatic accompaniment can be performed. When the automatic accompaniment performance process starts, the CPU 1 displays a performance condition setting screen on the display unit 7 in the first step P1, and according to the user operation, the performance tempo, time signature, accompaniment style selection, volume, Set performance conditions such as the performance tone before the performance starts.

次のステップP2では、コード検出条件設定画面をディスプレイに表示し、ユーザ操作に応じて、コード検出タイミングT1〜T3や、コード検出に関係する各種ルール、例えば、調の取得方法、コード候補の抽出方法、ディグリーネーム別ポイントテーブルPT、コード優先ポイント (Prior)、ボトムノートポイントなどを設定する。ここで、ルール中のボトムノートポイントは、コード検出対象の演奏データ(NoteList)の中で最低音高の演奏音が候補コードのルート(根音)の場合に加算されるポイントである。つまり、コード検出時の演奏音の最低音が候補コードのルートに当たるときに更にボトムノートポイントを加えるようにすると、例えば、C6とAm7のような同じ構成音のコードを区別することができる。このボトムノートポイントは、例えば、20ポイントなどの固定値であってもよいし、コードタイプ別に設定されていてもよい。ユーザにより編集設定が可能であってもよい。   In the next step P2, a chord detection condition setting screen is displayed on the display, and in accordance with a user operation, chord detection timings T1 to T3 and various rules related to chord detection, for example, key acquisition method, chord candidate extraction Set method, degree name-specific point table PT, code priority point (Prior), bottom note point, etc. Here, the bottom note point in the rule is a point that is added when the performance sound with the lowest pitch is the root of the candidate chord in the performance data (NoteList) to be detected. That is, if the bottom note point is further added when the lowest note of the performance sound at the time of chord detection hits the root of the candidate chord, for example, chords of the same constituent sound such as C6 and Am7 can be distinguished. This bottom note point may be a fixed value such as 20 points, or may be set for each chord type. Editing settings may be possible by the user.

各種ルールの設定例を説明すると、調の取得については、予めユーザが指定しておく方法、演奏時に操作子6中の調指定操作子を操作して指定する方法、ユーザの演奏に沿って随時検出された調を利用する方法(具体的な調検出方法の指定を含む)などがある。コード候補については、調のダイアトニック・スケール・コードのみを抽出する方法、調で使用可能なコードを全て抽出する方法、調で使用可能なコードのうち構成音が対象演奏データ(NoteList)中の1音以上あるコードを抽出する方法などがある。ディグリーネーム別ポイントテーブルについては、複数種類のテーブルから所望の種類を選択したり、テーブル中のポイント値を編集するなどの設定動作がある。コード優先ポイント (Prior)やボトムノートポイントについては、ディグリーネーム別ポイントテーブルに設定されていない場合、これらのポイントが設定されたコード優先ポイントテーブル(ディグリーネーム優先ポイントテーブルともいう)等の制御データに従って設定する。   An example of setting various rules will be described. For key acquisition, a method specified in advance by the user, a method specified by operating the key specifying operator in the operator 6 during performance, and as required by the user's performance There is a method of using the detected key (including specification of a specific key detection method). For chord candidates, the method of extracting only the key diatonic scale chord, the method of extracting all the chords that can be used in the key, and the constituent sounds of the chords that can be used in the key are included in the target performance data (NoteList) There is a method of extracting a chord having one sound or more. For the degree name-specific point table, there are setting operations such as selecting a desired type from a plurality of types of tables and editing point values in the table. If code priority points (Prior) and bottom note points are not set in the degree name-specific point table, they are controlled according to control data such as the code priority point table (also called the degree name priority point table) in which these points are set. Set.

続くステップP3では、ディグリーネーム別ポイントテーブルPTを読み込む。ここで、ディグリーネーム別ポイントテーブルPTが、図3のように、コード優先ポイントテーブルと一体化されたテーブルではない場合、別設されたコード優先ポイントテーブルも読み込む。次のステップP4(図5)では、コードの検出や適用に用いられるRAM2内の各種レジスタを初期化する。これらのレジスタには、NoteList,ChordList,Chord,sTime(コード検出タイミング開始位置),eTime(コード検出タイミング終了位置), Key,ResultListなどがある。   In subsequent step P3, the point table PT by degree name is read. Here, if the degree name point table PT is not a table integrated with the code priority point table as shown in FIG. 3, the code priority point table provided separately is also read. In the next step P4 (FIG. 5), various registers in the RAM 2 used for code detection and application are initialized. These registers include NoteList, ChordList, Chord, sTime (code detection timing start position), eTime (code detection timing end position), Key, ResultList, and the like.

ステップP1〜P4の処理により演奏前の準備が整うと、ステップP5で、ステップP2で設定されたコード検出タイミングT1〜T3の内容から、最初のコード検出タイミング開始位置 (sTime)及びコード検出タイミング終了位置 (eTime)を算出し、それぞれ、対応する開始及び終了位置レジスタ:sTime,eTimeに格納し、ステップP6に進む。図2の例では、 sTime=基準位置となる拍の250ms前、 eTime=基準位置となる拍の50ms後に定められる。但し、開始位置レジスタ:sTimeに格納されるコード検出タイミング開始位置 (sTime)は、最初に限り、最初のコード検出基準位置T2が設定される。   When the preparations before the performance are completed by the processes of Steps P1 to P4, the first chord detection timing start position (sTime) and the chord detection timing end are determined from the contents of the chord detection timings T1 to T3 set in Step P2 in Step P5. The position (eTime) is calculated and stored in the corresponding start and end position registers: sTime and eTime, respectively, and the process proceeds to Step P6. In the example of FIG. 2, sTime = 250 ms before the beat as the reference position and eTime = 50 ms after the beat as the reference position. However, only the first code detection timing start position (sTime) stored in the start position register: sTime is set to the first code detection reference position T2.

ステップP6では、自動伴奏を使わない通常の演奏モードに戻るか否かをユーザに打診し、通常演奏モード復帰ボタンが操作され通常演奏モードに戻ると判定したときは(P6=YES)、この自動伴奏併用演奏モードを終了し、元の通常演奏モードに戻る。一方、続行ボタンが操作されてこの自動伴奏併用演奏モードを続行すると判定したときは(P6=NO)、ステップP7に進んで、自動伴奏開始ボタンの操作による自動伴奏のスタートの指示が受け付けられたか否かを判定し、自動伴奏スタートの指示がないときは(P7=NO)、ステップP6に戻る。また、ステップP6で自動伴奏スタートの指示を受け付けると(P7=YES)、ステップP8でタイマ12を起動し、ステップP8に進む。   In Step P6, the user is asked whether or not to return to the normal performance mode without using the automatic accompaniment, and when it is determined that the normal performance mode return button is operated to return to the normal performance mode (P6 = YES), this automatic End the accompaniment performance mode and return to the original normal performance mode. On the other hand, when it is determined that the automatic accompaniment performance mode is to be continued by operating the continue button (P6 = NO), the process proceeds to step P7, and an instruction to start automatic accompaniment by operating the automatic accompaniment start button has been accepted. If no automatic accompaniment start instruction is given (P7 = NO), the process returns to step P6. Further, when an instruction to start automatic accompaniment is received at step P6 (P7 = YES), the timer 12 is started at step P8, and the process proceeds to step P8.

ステップP9では、自動伴奏停止ボタンの操作による自動伴奏ストップの指示を受け付けたか否かを判定し、自動伴奏ストップの指示があったときは(P9=YES)、ステップP10でタイマ12を停止し、さらに、ステップP11に進んで、伴奏スタイルなどの演奏条件やコード検出タイミングなどのコード検出条件について設定変更を行うか否かをユーザに打診する。そして、設定変更ボタンが操作され設定変更を行うと判定したときは(P11=YES)、ステップP1(図4)に戻り、ステップP1〜P5で必要な設定や算出を行った後、ステップP6に戻る。一方、設定変更を行わない場合には(P11=NO)、直ちに、ステップP6に戻る。   In Step P9, it is determined whether or not an automatic accompaniment stop instruction by operating the automatic accompaniment stop button has been accepted. When an automatic accompaniment stop instruction is received (P9 = YES), the timer 12 is stopped in Step P10, In step P11, the user is asked whether or not to change the setting of performance conditions such as accompaniment style and chord detection conditions such as chord detection timing. When it is determined that the setting change button is operated and the setting is changed (P11 = YES), the process returns to Step P1 (FIG. 4), and necessary settings and calculations are performed in Steps P1 to P5. Return. On the other hand, when the setting is not changed (P11 = NO), the process immediately returns to step P6.

ステップP9で自動伴奏ストップ指示の受付けがないときには(P9=NO)、ステップP12に進んで、演奏操作に基づくノートイベントを受け付けた否かを判定する。ここで、ノートイベントを受け付けたときは(P12=YES)、ステップP13でノートイベント処理(図7参照)を行った後ステップP14(図6)に進む。ノートイベント処理では、コード検出タイミングT1〜T3の間に発生したノートイベントをコード検出対象の演奏データとして演奏データレジスタ:NoteListに記録する。また、ノートイベントを受け付けなかったときは(P12=NO)、直ちにステップP14に進む。   When the automatic accompaniment stop instruction is not accepted in step P9 (P9 = NO), the process proceeds to step P12 to determine whether or not a note event based on the performance operation has been accepted. When a note event is accepted (P12 = YES), note event processing (see FIG. 7) is performed in step P13, and then the process proceeds to step P14 (FIG. 6). In the note event processing, note events that occur between chord detection timings T1 to T3 are recorded in the performance data register: NoteList as performance data to be chord detected. If no note event is accepted (P12 = NO), the process immediately proceeds to step P14.

ステップP14では、コード検出タイミングか否か即ち終了時点 eTimeに到達したか否かを判定し、時点 eTimeに到達したときは(P14=YES)、先ず、ステップP15で、調情報を取得して調レジスタ:Keyに格納する。次のステップP16では、ステップP2で設定された抽出方法に従って調情報 Keyに対応するコード候補を抽出し、候補コードレジスタ:ChordListに格納して、ステップP17に進み、コード検出処理(図8〜図9参照)を実行する。コード検出処理では、対象の演奏データ(NoteList)及び抽出したコード候補 (ChordList)から所望のコード Chordを検出し、次のステップP18で、検出したコード Chordを自動伴奏装置9に出力する。そして、ステップP19にて、このコード Chordをコード検出結果レジスタ:ResultListの末尾に追加し、ステップP20に進む。つまり、コードが検出される毎に、そのときの調情報を、検出されたコードに対応付けて記憶しておく。なお、コード Chordがない場合即ちコード検出処理で所望コード Chordを検出することができなかった場合は、ステップP17からステップP20に進む。   In step P14, it is determined whether or not the code detection timing is reached, that is, whether or not the end time eTime has been reached. When the time eTime has been reached (P14 = YES), first, in step P15, key information is acquired and adjusted. Store in register: Key. In the next step P16, code candidates corresponding to the key information key are extracted in accordance with the extraction method set in step P2, stored in the candidate code register: ChordList, and the process proceeds to step P17 to execute code detection processing (FIGS. 8 to 8). 9). In the chord detection process, a desired chord Chord is detected from the target performance data (NoteList) and the extracted chord candidate (ChordList), and the detected chord Chord is output to the automatic accompaniment device 9 in the next step P18. In step P19, the code Chord is added to the end of the code detection result register: ResultList, and the process proceeds to step P20. That is, every time a code is detected, the key information at that time is stored in association with the detected code. If there is no chord, that is, if the desired chord cannot be detected by the chord detection process, the process proceeds from step P17 to step P20.

ステップP20では、コード検出タイミングの設定内容より、次のコード検出タイミング開始及び終了位置 (sTime,eTime)を算出して夫々のレジスタ:sTime,eTimeを更新し、続くステップP21で、演奏データ及びコード候補レジスタ:NoteList,ChordListを初期化する。そして、ステップP14で終了時点 eTimeに到達していないと判定したとき(P14=NO)或いはステップP21の処理の後は、ステップP9(図5)に戻る。   In step P20, the start and end positions (sTime, eTime) of the next chord detection timing are calculated from the set contents of chord detection timing, and the respective registers: sTime, eTime are updated. In step P21, the performance data and chord are updated. Candidate registers: NoteList and ChordList are initialized. Then, when it is determined in step P14 that the end time eTime has not been reached (P14 = NO) or after the process of step P21, the process returns to step P9 (FIG. 5).

<ノートイベント処理フロー例>
図7は、自動伴奏併用演奏処理のステップP13(図5)で行われるノートイベント処理の動作例を表わすフローチャートである。CPU1は、まず、ステップN1で、現在、タイマ12はコード検出タイミング( sTime〜 eTimeの間)を示しているか否かを判定し、コード検出タイミングの範囲にあれば(N1=YES)、ステップN2で、ステップP12(図5)で受け付けたノートイベントがノートオンであるか否かを判定する。ここで、ノートオンであれば(N2=YES)、ステップN3で、当該ノートイベントに従った発音処理を音源8に行わせ、次のステップN4で、ノートオンされたノートイベント情報を演奏データレジスタ:NoteListに追加する。一方、ノートオフであれば(N2=NO)、ステップN5で当該ノートイベントによる楽音の消音処理を行わせ、ステップN6で、ノートオフされたノートイベント情報を同レジスタ:NoteListから削除する。
<Note event processing flow example>
FIG. 7 is a flowchart showing an operation example of the note event process performed in step P13 (FIG. 5) of the automatic accompaniment performance process. First, in step N1, the CPU 1 determines whether or not the timer 12 currently indicates a code detection timing (between sTime and eTime). If it is within the range of the code detection timing (N1 = YES), step N2 Thus, it is determined whether or not the note event received in step P12 (FIG. 5) is note-on. If the note is on (N2 = YES), in step N3, the sound source 8 is caused to perform sound generation processing in accordance with the note event, and in the next step N4, the note event information on which the note is turned on is stored in the performance data register. : Add to NoteList. On the other hand, if the note is off (N2 = NO), the musical sound is silenced by the note event in step N5, and the note event information that has been turned off is deleted from the register: NoteList in step N6.

また、コード検出タイミング( sTime〜 eTime)でないときは(N1=NO)、ステップN7に進み、ステップP11(図4)で受け付けたノートイベントがノートオンであるか否かを判定し、ノートオンであれば(N7=YES)、ステップN8で、音源8に発音処理を行わせ、ノートオフであれば(N7=NO)、消音処理を行わせる。そして、ステップN4,N6,N8,N9の処理の後は、このノートイベント処理を終了し、自動伴奏併用演奏処理のステップP14(図6)にリターンする。   If it is not the chord detection timing (sTime to eTime) (N1 = NO), the process proceeds to step N7, where it is determined whether the note event received in step P11 (FIG. 4) is note-on. If there is (N7 = YES), in step N8, the sound source 8 performs sound generation processing, and if it is note-off (N7 = NO), the mute processing is performed. After the processes of steps N4, N6, N8, and N9, the note event process is terminated, and the process returns to step P14 (FIG. 6) of the automatic accompaniment performance process.

<コード検出処理フロー例>
図8〜図9は、自動伴奏併用演奏処理のステップP17(図6)で行われるコード検出処理の動作例を表わすフローチャートである。CPU1は、最初のステップC1で、演奏データレジスタ:NoteListが空(データ無し)の状態であるか否かを判定し、空でなければ(C1=NO)ステップC2で、コード候補レジスタ:ChordListが空状態であるか否かを判定し、空でなければ(C2=NO)ステップC3に進む。また、演奏データレジスタ:NoteListが空のとき(C2=YES)或いはコード候補レジスタ:ChordListが空のときは(C2=YES)、自動伴奏併用演奏処理のステップP18(図6)にリターンする。
<Example of code detection processing flow>
8 to 9 are flowcharts showing an example of the chord detection process performed in step P17 (FIG. 6) of the automatic accompaniment performance process. In the first step C1, the CPU 1 determines whether or not the performance data register: NoteList is empty (no data). If not (C1 = NO), the chord candidate register: ChordList is set in step C2. It is determined whether or not it is empty. If it is not empty (C2 = NO), the process proceeds to step C3. If the performance data register: NoteList is empty (C2 = YES) or the chord candidate register: ChordList is empty (C2 = YES), the process returns to step P18 (FIG. 6) of the automatic accompaniment performance process.

ステップC3では、コード候補レジスタ:ChordListの先頭から順に(2個目以降は次の)候補コードを1つ対象にしてディグリーネームに変換し、これをディグリーネームレジスタ(コード情報レジスタともいう):DegreeNameに格納し、次のステップC4で、ポイント値レジスタ:pointに値「0」を置数する。続くステップC5(図9)では、演奏データレジスタ:NoteListの先頭から順に(2個目以降は次の)ノートイベント情報を1つ対象にしてその音高情報を抽出し、これを演奏音レジスタ:Noteに格納し、ステップC6に進む。   In step C3, one candidate code is converted into a degree name in order from the top of the code candidate register: ChordList (the second and subsequent codes), and this is converted to a degree name register (also referred to as a code information register): DegreeName In the next step C4, the value “0” is entered in the point value register: point. In the subsequent step C5 (FIG. 9), pitch information is extracted from the performance data register: NoteList in order from the top of the note list (the second and subsequent items are the next), and this is extracted as the performance sound register: Store in the Note and proceed to Step C6.

ステップC6では、ディグリーネームDegreeNameが示すコードにおける演奏音Noteの役割を抽出する役割抽出処理(図10〜図11参照)を実行する。次のステップC7では、ディグリーネーム別ポイントテーブルPTを参照して、ステップC6で抽出した「DegreeNameのコードにおける役割」に対応したポイントを取得し、ポイント値 pointに加算し、ステップC8に進む。なお、この役割は、ディグリーネーム別ポイントテーブルPTの仕様次第では、テンションノートの種類で更に細かく分けることもできる(図12〜図13参照)。   In step C6, role extraction processing (see FIGS. 10 to 11) for extracting the role of the performance sound Note in the chord indicated by the degree name DegreeName is executed. In the next step C7, referring to the degree name point table PT, the point corresponding to the “role in the code of DegreeName” extracted in step C6 is acquired, added to the point value point, and the process proceeds to step C8. Note that this role can be further divided according to the type of tension note depending on the specification of the degree name point table PT (see FIGS. 12 to 13).

ステップC8では、演奏音レジスタ:Noteは、演奏データレジスタ:NoteList中の最後のノートイベント情報の音高情報を示しているか否かを判定し、最後のノートイベント音高情報でないときは(C8=NO)、ステップC5に戻り、演奏データNoteList中の次のノートイベント情報を対象にしてステップC5〜C7の処理を繰り返す。そして、演奏データNoteList中の最後のノートイベント音高情報についてステップC5〜C7の処理を行うと(C8=YES)、ステップC9に進む。   In step C8, it is determined whether or not the performance sound register: Note indicates the pitch information of the last note event information in the performance data register: NoteList. If it is not the last note event pitch information (C8 = NO), returning to step C5, the processes of steps C5 to C7 are repeated for the next note event information in the performance data NoteList. And if the process of step C5-C7 is performed about the last note event pitch information in performance data NoteList (C8 = YES), it will progress to step C9.

ステップC9では、ディグリーネーム別ポイントテーブルPTを参照して、ディグリーネームDegreeNameが示すコードに対応した優先ポイント (Prior)を取得しポイント値 pointに加算する。次のステップC10では、演奏データNoteList中で最低音となるノートイベント情報の音高情報(最低音高の演奏音)が、ディグリーネームDegreeNameが示すコードのルートに相当しているか否かを判定し、ルートに相当しているときは(C10=YES)、ステップC11で、ボトムノートポイント(例えば、20ポイント)を取得し、ポイント値 pointに加算する。ステップC10でルートに相当していないと判定したとき(C10=NO)或いはステップC11の処理の後は、ステップC12に進み、ポイント値 pointを、ディグリーネームDegreeNameが示す全候補コード ChordList中の候補コードに対応付けて記憶する。   In step C9, referring to the degree name point table PT, a priority point (Prior) corresponding to the code indicated by the degree name DegreeName is acquired and added to the point value point. In the next step C10, it is determined whether or not the pitch information of the note event information that is the lowest note in the performance data NoteList (the performance tone of the lowest pitch) corresponds to the root of the chord indicated by the degree name DegreeName. When it corresponds to the route (C10 = YES), a bottom note point (for example, 20 points) is acquired in step C11 and added to the point value point. When it is determined in step C10 that it does not correspond to the route (C10 = NO) or after the processing of step C11, the process proceeds to step C12, and the candidate values in the chordList are all candidate codes indicated by the degree name DegreeName. Is stored in association with.

次のステップC13では、ディグリーネームDegreeNameが示すコードが全候補コード ChordList中の最後のコードであるか否かを判定し、最後のコードでないときは(C13=NO)ステップC3に戻り、全候補コード ChordList中の次の候補コードを対象にしてステップC3〜C12の処理を繰り返す。そして、最後の候補コードについてステップC5〜C7の処理を行うと(C13=YES)、ステップC14に進み、全候補コード ChordList中の各候補コードに対応付けて記憶したポイント値 pointが最高の候補コードを1つ検出し、コードレジスタ:Chordに格納し、ステップC14の処理を終えると、このコード検出処理を終了し、自動伴奏併用演奏処理のステップP18(図6)にリターンする。   In the next step C13, it is determined whether or not the code indicated by the degree name DegreeName is the last code in all candidate codes ChordList. If it is not the last code (C13 = NO), the process returns to step C3 to return to all candidate codes. Steps C3 to C12 are repeated for the next candidate code in the ChordList. Then, when the processes of steps C5 to C7 are performed on the last candidate code (C13 = YES), the process proceeds to step C14, and the candidate code having the highest point value point stored in association with each candidate code in all candidate codes ChordList Is stored in the chord register: Chord. When the process of step C14 is completed, the chord detection process is terminated, and the process returns to step P18 (FIG. 6) of the automatic accompaniment performance process.

なお、ステップC14で候補コードの中から1つのコードを決定する際、ポイント値 pointが最高の候補コードが複数ある場合(ポイントが同点で並んだ場合)、適宜の方法でどれか1つに決定する。例えば、最低音とルートが一致するコード、検出回数の少ないコード、或いは、検出回数の多いコード等、優先して選択すべきコードの特徴を定めた優先ルールを用意し、ステップP2で設定するように設計しておくことが好ましい。   When determining one code from among the candidate codes in step C14, if there are a plurality of candidate codes having the highest point value point (when the points are arranged at the same point), one is determined by an appropriate method. To do. For example, a priority rule that defines the characteristics of a code to be selected with priority, such as a chord whose lowest tone matches the route, a code with a small number of detections, or a code with a large number of detections, is prepared and set in step P2. It is preferable to design in advance.

<役割抽出処理フロー>
図10〜図11は、コード検出処理のステップC6(図9)で行われるコード検出処理の動作例を表わすフローチャートである。CPU1は、最初のステップF1で、調情報 Keyの主音(トニック)及びディグリーネームDegreeNameから、コードのルート、3度及び5度〔マイナー7thフラット5th[m7(♭5)]及びオーギュメント[aug]以外〕にあたる音名を取得し、RAM2内の“ルート”レジスタ、“3度”レジスタ及び“5度”レジスタに格納する。ここで、ルート、3度及び5度の音は、コードタイプに応じて主音からの半音距離数が決まっており、例えば、 Key=CMajor調、DegreeName=IVMaj7の場合、“ルート”=F(ファ)、“3度”=A(ラ)、“5度”=C(ド)となる。
<Role extraction process flow>
10 to 11 are flowcharts showing an example of the code detection process performed in step C6 (FIG. 9) of the code detection process. In the first step F1, the CPU 1 starts from the main tone (tonic) of the key information key and the degree name DegreeName, the chord root, 3rd and 5th [minor 7th flat 5th [m7 (♭ 5)] and augment [aug] Is stored in the “root” register, “3rd” register, and “5th” register in the RAM 2. Here, the numbers of semitones from the main sound are determined for the root, 3rd and 5th sounds according to the chord type. For example, in the case of Key = CMajor, DegreeName = IVMaj7, “root” = F ), “3 degrees” = A (La), and “5 degrees” = C (Do).

次のステップF2では、演奏音情報Noteの音名が“ルート”レジスタの値に等しいか否かを判定し、“ルート”レジスタの値であれば(F2=YES)、ステップF3で、演奏音情報Noteの役割を「ルート」に決定し、そうでなければ(F2=NO)ステップF4に進む。ステップF4では、演奏音情報Noteの音名は“3度”レジスタの値に等しいか否かを判定し、“3度”レジスタの値であれば(F4=YES)、ステップF5で、演奏音情報Noteの役割を「3度」に決定し、そうでなければ(F4=NO)ステップF6に進む。ステップF6では、演奏音情報Noteの音名が“5度”レジスタの値に等しいか否かを判定し、“5度”レジスタの値であれば(F6=YES)、ステップF7で、演奏音情報Noteの役割を「5度」に決定し、そうでなければ(F6=NO)ステップF8に進む。また、ステップF3,F5,F7の処理を終えると、この役割抽出処理を終了してコード検出処理のステップC7(図9)にリターンする。   In the next step F2, it is determined whether or not the pitch name of the performance sound information Note is equal to the value of the “root” register. If it is the value of the “root” register (F2 = YES), the performance sound is determined in step F3. The role of the information note is determined to be “root”, otherwise (F2 = NO), the process proceeds to step F4. In step F4, it is determined whether or not the pitch name of the performance sound information Note is equal to the value of the “three times” register. If it is the value of the “three times” register (F4 = YES), the performance sound is determined in step F5. The role of the information note is determined to be “three times”, otherwise (F4 = NO), the process proceeds to step F6. In step F6, it is determined whether or not the note name of the performance sound information Note is equal to the value of the “5th” register. If it is the value of the “5th” register (F6 = YES), the performance sound is determined in step F7. The role of the information Note is determined to be “5 degrees”, otherwise (F6 = NO), the process proceeds to Step F8. When the processes of steps F3, F5, and F7 are completed, the role extraction process is terminated and the process returns to step C7 (FIG. 9) of the code detection process.

ステップF8では、ディグリーネームDegreeNameのコードタイプが「m7(♭5)」(マイナー7フラット5)であるか否かを判定する。ここで、コードタイプが「m7(♭5)」であれば(F8=YES)、ステップF9に進んで、演奏音情報Noteの音名が“ルート”レジスタの音名に対し減5度(♭5th)であるか否かを判定し、減5度であれば(F9=YES)、ステップF10で演奏音情報Noteの役割を「オルタード系」に決定する。一方、コードタイプが「m7(♭5)」でなければ(F8=NO)、ステップF11に進んで、ディグリーネームDegreeNameのコードタイプが「aug」(オーギュメント)であるか否かを判定する。ここで、コードタイプが「aug」であれば(F11=YES)、ステップF12に進み、演奏音情報Noteの音名が“ルート”レジスタの音名に対し増5度(♯5th)であるか否かを判定し、増5度であれば(F12=YES)、ステップF10で演奏音情報Noteの役割を「オルタード系」に決定する。そして、ステップF10の処理を終えると、この役割抽出処理を終了してコード検出処理のステップC7(図9)にリターンする。   In step F8, it is determined whether or not the code type of the degree name DegreeName is “m7 (♭ 5)” (minor 7 flat 5). If the chord type is “m7 (♭ 5)” (F8 = YES), the process proceeds to step F9, where the note name of the performance note information Note is reduced by 5 degrees (♭) with respect to the note name in the “root” register. 5th), and if it is a decrease of 5 degrees (F9 = YES), the role of the performance sound information Note is determined to be “alternate” in step F10. On the other hand, if the code type is not “m7 (♭ 5)” (F8 = NO), the process proceeds to step F11 to determine whether the code type of the degree name DegreeName is “aug” (an augment). If the chord type is “aug” (F11 = YES), the process proceeds to step F12, and whether the note name of the performance sound information Note is increased by 5 degrees (# 5th) with respect to the note name of the “root” register. If NO in step F10 (F12 = YES), the role of the performance sound information Note is determined to be "alternate" in step F10. When the process of step F10 is completed, the role extraction process is terminated and the process returns to step C7 (FIG. 9) of the code detection process.

ステップF11で、コードタイプが「aug」ではないと判定したときは(F11=NO)、ステップF13(図13)に進み、ディグリーネームDegreeNameのコードタイプが、「6」、「6sus4」(6サスペンデッド4)又は「m6」(マイナー6)であるか否かを判定する。ここで、コードタイプが、「6」、「6sus4」及び「m6」の何れかであれば(F13=YES)、ステップF14に進んで、演奏音情報Noteの音名が“ルート”レジスタの音名に対し長6度(6th)であるか否かを判定し、長6度であれば(F14=YES)、ステップF15で、演奏音情報Noteの役割を「4声目」に決定する。一方、ステップF13で、コードタイプが、「6」、「6sus4」及び「m6」の何れでもないと判定したときは(F13=NO)、ステップF16に進み、ディグリーネームDegreeNameのコードタイプが、「IMaj7」(1度・メジャー7)や「IVmMaj7」(4度・マイナーメジャー7)などのMaj7(メジャー7)系であるか否かを判定する。ここで、コードタイプがMaj7系であれば(F16=YES)、ステップF17に進んで、演奏音情報Noteの音名が“ルート”レジスタの音名に対し長7度(Maj7th)であるか否かを判定し、長7度であれば(F17=YES)、ステップF15で演奏音情報Noteの役割を「4声目」に決定する。また、ステップF16でコードタイプがMaj7系でないと判定したときは(F16=NO)、ステップF18に進み、ディグリーネームDegreeNameのコードタイプが、「IIm7」(2度・マイナー7)、「V7」(5度・セブン)、「 VII7sus4」(7度・セブンサスペンデッド4)などのm7(マイナー7)系乃至7(セブン)系であるか否かを判定する。ここで、コードタイプがm7系乃至7th系であれば(F18=YES)、ステップF19に進み、演奏音情報Noteの音名が“ルート”レジスタの音名に対し短7度(7th)であるか否かを判定し、短7度であれば(F19=YES)、ステップF15で、演奏音情報Noteの役割を「4声目」に決定する。そして、ステップF10の処理を終えると、この役割抽出処理を終了してコード検出処理のステップC7(図9)にリターンする。   When it is determined in step F11 that the code type is not “aug” (F11 = NO), the process proceeds to step F13 (FIG. 13), and the code type of the degree name DegreeName is “6”, “6sus4” (6 suspended). 4) or “m6” (minor 6). Here, if the chord type is any of “6”, “6sus4”, and “m6” (F13 = YES), the process proceeds to step F14, and the note name of the performance sound information Note is the sound of the “root” register. It is determined whether or not the name is 6 degrees (6th), and if it is 6 degrees (F14 = YES), the role of the performance sound information Note is determined to be “fourth voice” in step F15. On the other hand, when it is determined in step F13 that the code type is neither “6”, “6sus4”, or “m6” (F13 = NO), the process proceeds to step F16, and the code type of the degree name DegreeName is “ It is determined whether or not it is a Maj7 (major 7) system such as “IMaj7” (1 degree / major 7) and “IVmMaj7” (4 degrees / minor major 7). Here, if the chord type is Maj7 type (F16 = YES), the process proceeds to step F17, and whether or not the pitch name of the performance sound information Note is 7 degrees (Maj7th) long with respect to the pitch name of the “root” register. If it is 7 degrees long (F17 = YES), the role of the performance sound information Note is determined to be “fourth voice” in step F15. If it is determined in step F16 that the code type is not Maj7 (F16 = NO), the process proceeds to step F18, and the code type of the degree name DegreeName is “IIm7” (twice / minor 7), “V7” ( It is determined whether it is an m7 (minor 7) system to a 7 (seven) system such as “5 degrees / Seven)” and “VII7sus4” (7 degrees / Seven Suspended 4). Here, if the chord type is the m7 system to the 7th system (F18 = YES), the process proceeds to step F19, and the pitch name of the performance sound information Note is 7 degrees (7th) shorter than the pitch name of the “root” register. In step F15, the role of the performance sound information Note is determined to be “fourth voice” if it is short 7 degrees (F19 = YES). When the process of step F10 is completed, the role extraction process is terminated and the process returns to step C7 (FIG. 9) of the code detection process.

ステップF9で減5度でないと判定したとき(F9=NO)、ステップF12で増5度でないと判定したとき(F12=NO)、ステップF14で長6度でないと判定したとき(F14=NO)、ステップF17で長7度でないと判定したとき(F17=NO)、ステップF18でコードタイプがm7系でも7系でもないと判定したとき(F18=NO)、或いは、ステップF19で短7度でないと判定したときは(F19=NO)、ステップF20に進み、演奏音情報Noteの音名が、現在の調 KeyにおけるディグリーネームDegreeNameのコードに対しテンションノートであるか否かを判定する。ここで、テンションノートは、コードタイプに応じて根音からの半音距離数が決まっており(ルートに対しては、♭9th,9th,♯9th,11th,♯11th,♭13th,13thの何れか1〜3)、例えば、 Key=CMajor調、DegreeName=IVMaj7の場合、G(ソ)、B(シ)、D(レ)の音である。ここで、テンションノートであれば(F20=YES)、ステップF21で、演奏音情報Noteの役割を「テンションノート」に決定し、そうでなければ(F20=NO)、ステップF22で演奏音情報Noteの役割を「その他」に決定する。そして、ステップF21,F22の処理を終えると、この役割抽出処理を終了してコード検出処理のステップC7(図9)にリターンする。   When it is determined in step F9 that it is not a decrease of 5 degrees (F9 = NO), when it is determined that it is not an increase of 5 degrees in step F12 (F12 = NO), and when it is determined that the length is not 6 degrees in step F14 (F14 = NO) When it is determined at step F17 that it is not 7 degrees long (F17 = NO), when it is determined at step F18 that the code type is neither m7 system nor 7 system (F18 = NO), or it is not short 7 degrees at step F19. (F19 = NO), the process proceeds to step F20, where it is determined whether or not the pitch name of the performance sound information Note is a tension note with respect to the chord of the degree name DegreeName in the current key. Here, the tension note has a semitone distance number from the root sound depending on the chord type (for the root, any of ♭ 9th, 9th, # 9th, 11th, # 11th, ♭ 13th, 13th) 1-3), for example, when Key = CMajor and DegreeName = IVMaj7, the sound is G (So), B (Sh), and D (Le). If it is a tension note (F20 = YES), the role of the performance sound information Note is determined as “tension note” in step F21. Otherwise (F20 = NO), the performance sound information Note is determined in step F22. The role of “Other” is determined. When the processes of steps F21 and F22 are completed, the role extraction process is terminated and the process returns to step C7 (FIG. 9) of the code detection process.

〔ディグリーネーム別ポイントテーブル(2)〕
図3で説明したディグリーネーム別ポイントテーブルPTは、候補となり得るコード毎に、対応するディグリーネームに基づいた構成音、テンションノート、アヴォイドノートなどのノートの役割に対する重要度を示すノートポイントを設定したものであるが、ノートポイントをさらに詳細に設定することができる。図12〜図13は、この発明の一実施例によるディグリーネーム別ポイントテーブルの別の例を示す。このディグリーネーム別ポイントテーブルでは、第1〜5列には、図3のテーブルと同様の情報が設定されるが、第6〜22列には、第5列のRoot(ルート)に対し図示の通りの音程(m3rd,3rd,4th,…,13th)を示す音の役割に対応するポイント(重要度)が設定されると共に、第5〜22列のルートを含む各音には、コードを特徴付けるノート(役割)を表わす役割情報が付記され、図12〜図13では、ノートポイント表示枠に次のように表示されている:
表示枠左上の記号“r”は、コード構成音のルートを表わし、記号“3”は、コード構成音の3度音を表わし、記号“5”は、コード構成音の5度音を表わし、記号“4”は、コード構成音の4声目音〔6th,7th,Maj7th〕を表わし、記号“a”は、コード構成音中のオルタード系コードトーン〔♭5th,♯5th(aug5th)〕を表わし、記号“t”は、テンションノートを表わす。また、表示枠全体に斜線を施したものは、異名同音(記譜上は異なるが鍵盤上は同一の音)による不使用を表わし、記号や斜線のないものは、「その他」の音(アヴォイドノートなど)を表わす。
[Point table by degree name (2)]
The degree name point table PT described in FIG. 3 is a table in which note points indicating the importance of the role of notes such as constituent notes, tension notes, and void notes based on the corresponding degree names are set for each possible chord. However, note points can be set in more detail. 12 to 13 show other examples of degree name point tables according to an embodiment of the present invention. In this degree name-specific point table, the same information as the table of FIG. 3 is set in the first to fifth columns, but the sixth to twenty-second columns are shown for the Root in the fifth column. Points (importance) corresponding to the role of the sound indicating the pitch of the street (m3rd, 3rd, 4th, ..., 13th) are set, and each sound including the root in the 5th to 22nd columns is characterized by a chord Role information representing a note (role) is added and displayed in the note point display frame as follows in FIGS.
The symbol “r” at the upper left of the display frame represents the root of the chord component sound, the symbol “3” represents the third tone of the chord component tone, the symbol “5” represents the fifth tone of the chord component sound, The symbol “4” represents the fourth voice of the chord constituent sound [6th, 7th, Maj7th], and the symbol “a” represents the altered chord tone [♭ 5th, # 5th (aug5th)] in the chord constituent sound. The symbol “t” represents a tension note. In addition, if the entire display frame is shaded, it indicates that it is not used due to a different name and the same name (same on the keyboard but different on the keyboard). Etc.).

このようなディグリーネーム別ポイントテーブルPTを用いると、各演奏音(音高情報)に対しコードにおける役割とポイントを同時に得ることができる。また、コード構成音だけでなく、テンションノートについても、その種類毎にポイントを設定することができ、高い精度でコード検出を行うことが可能になる。   By using such a degree name point table PT, it is possible to simultaneously obtain the role and point in the chord for each performance sound (pitch information). Also, not only chord constituent sounds but also tension notes can be set for each type, and chord detection can be performed with high accuracy.

〔種々の実施態様〕
以上、図面を参照しつつこの発明の好適な実施の一形態について説明したが、これは単なる一例であり、この発明は、発明の精神を逸脱しない範囲で種々の変更が可能である。例えば、コード検出を行うタイミングについては、テンポや使用する伴奏スタイルによって決まっていてもよいし、ユーザが設定できるようになっていてもよい。また、スイッチなどの特定の操作子が操作されたタイミングでもよいし、所定の拍タイミング+操作子操作タイミングでもよい。テンポの変化を検出したときに例えば2拍毎から1拍毎に変更してもよい。また、実施例のように、対象演奏データの入力を受け付けるための時間幅(T1〜T3)を設けてもよい。
[Various Embodiments]
The preferred embodiment of the present invention has been described above with reference to the drawings. However, this is merely an example, and the present invention can be variously modified without departing from the spirit of the invention. For example, the chord detection timing may be determined by the tempo and the accompaniment style to be used, or may be set by the user. Further, it may be a timing when a specific operation element such as a switch is operated, or may be a predetermined beat timing + an operation element operation timing. For example, when a change in tempo is detected, it may be changed from every 2 beats to every 1 beat. Further, as in the embodiment, a time width (T1 to T3) for receiving input of target performance data may be provided.

実施例では、候補となり得る全てのコード毎にノートポイントを設定したディグリーネーム別ポイントテーブル(PT)を用いているが、複数種類のディグリーネーム別ポイントテーブルを用意しておき、演奏前や演奏中にユーザ操作で所望種類のポイントテーブルを選択することができるようにしてもよい。また、ユーザにより編集や作成が可能であってもよい。
また、ノートポイントテーブルとは別に、候補コードに対応するディグリーネーム自体の優先度を示すコード優先ポイント(ディグリーネーム優先ポイント)を設定したコード優先ポイントテーブル(ディグリーネーム優先ポイントテーブル)を設けることができ、この場合も、同様に、複数種類のコード優先ポイントテーブルを用意して選択可能としたり、ユーザによるテーブルの編集や作成を可能としてもよい。
また、実施例のようにコードのディグリーネーム毎の表であってもよいし、ノートポイントテーブルについてはコードタイプ別の表であってもよい。
In the embodiment, a point table for each degree name (PT) in which note points are set for every chord that can be a candidate is used. In addition, a desired type of point table may be selected by a user operation. Moreover, editing and creation may be possible by the user.
In addition to the note point table, a code priority point table (degree name priority point table) in which a code priority point (degree name priority point) indicating the priority of the degree name itself corresponding to the candidate code is set can be provided. In this case, similarly, a plurality of types of code priority point tables may be prepared and selectable, or the table may be edited or created by the user.
Further, a table for each degree name of the chord as in the embodiment may be used, and the note point table may be a table for each chord type.

実施例では、押鍵音の候補コードにおける役割を、コード構成音、テンションノート、アヴォイドノートなど、細かく識別しているが、例えば、コード構成音か構成音でないかの2通りの役割を識別するようにしてもよい。   In the embodiment, the role of the key-pressing sound in the candidate chord is finely discriminated such as chord constituent sound, tension note, and void note. For example, two roles of chord constituent sound or non-constituent sound are identified. It may be.

実施例では、演奏データに合わせて、検出したコードに基づき自動伴奏を生成するようにしているが、検出したコードに基づきハーモニー音を生成するようにしてもよい。或いは、検出したコードの情報を順次表示画面上に表示するという活用法も考えられる。
検出したコードを記憶する際、演奏の開始以降に検出した全てのコードをリスト形式などで記憶しておいてもよいし、最新のコード1つもしくは任意の個数を記憶し、検出毎に更新してもよい。また、検出されたコードは、コードネームを記憶してもよいし、その時点での調情報と対応付けたディグリーネームで記憶してもよい。コードネームとディグリーネームを両方記憶しておいてもよい。
In the embodiment, the automatic accompaniment is generated based on the detected chord according to the performance data, but a harmony sound may be generated based on the detected chord. Or the utilization method of displaying the information of the detected code | cord | chord on a display screen sequentially is also considered.
When storing the detected chords, all the chords detected after the start of the performance may be stored in a list format or the like, or the latest chord or an arbitrary number may be stored and updated for each detection. May be. The detected code may store a code name, or a degree name associated with the key information at that time. Both the code name and the degree name may be stored.

実施例では、入力される演奏データは、ユーザによるリアルタイム演奏データを想定しているが、例えば、録音された演奏データを先読みせずに順次再生しながらコードを検出するような使い方も考えられる。或いは、外部に接続した楽器などの装置から演奏データが入力されてもよい。
また、演奏データの入力手段(演奏操作子)は鍵盤だけでなく、例えば、ギターなどの弦楽器タイプでもよい。ユーザの演奏入力音がオーディオ信号の場合、遅くとも各コード検出タイミングにおいて、候補コードからコードを1つ選出するために演奏データを参照するまでに少なくとも発音タイミング情報と音高情報を持つ音符情報に変換できていればよい。
In the embodiment, the performance data to be input is assumed to be real-time performance data by the user. However, for example, a method of detecting chords while sequentially reproducing recorded performance data without prefetching is also conceivable. Alternatively, performance data may be input from a device such as a musical instrument connected to the outside.
The performance data input means (performance operator) is not limited to a keyboard, and may be a stringed instrument type such as a guitar. When the user's performance input sound is an audio signal, at least at each chord detection timing, it is converted into note information having at least sounding timing information and pitch information before referencing performance data to select one chord from candidate chords It only has to be done.

T1〜T3 コード検出タイミング〔T1=開始 (sTime)、T3=終了 (eTime)〕、
T2 コード検出基準位置、
PT ディグリーネーム別ポイントテーブル。
T1-T3 code detection timing [T1 = start (sTime), T3 = end (eTime)],
T2 code detection reference position,
Point table by PT degree name.

Claims (2)

演奏データを取得する演奏データ取得手段と、
調情報を取得する調情報取得手段と、
所定のコード検出タイミングにてコード検出を指示するコード検出指示手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記調情報取得手段により取得された調情報を元に候補コードを抽出する候補コード抽出手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記演奏データ取得手段により取得された演奏データから、前記コード検出タイミングに有効とみなされる音高情報を抽出する音高情報抽出手段と、
候補コードとなり得る全てのコードに関して、当該コードを構成するコード構成音の各役割に対する音楽的な重要度をポイント値で表わしたノートポイントテーブルを備えるディグリーネーム別ポイントテーブルと、
前記コード検出指示手段によりコード検出が指示されたときに、前記候補コード抽出手段により抽出された各候補コードについて、前記音高情報抽出手段により抽出された各音高情報の当該各候補コードにおける役割を識別し、識別された役割に応じて音楽的な重要度を示すポイントを、前記ディグリーネーム別ポイントテーブルのノートポイントテーブルから抽出する役割識別及びポイント抽出手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記候補コード抽出手段により抽出された候補コード毎に、前記音高情報抽出手段により抽出された全音高情報につき、前記役割識別及びポイント抽出手段により抽出されたポイントを合計して当該各候補コードのポイント合計値を取得するポイント合計値取得手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記ポイント合計値取得手段により取得された各候補コードのポイント合計値を元に、前記候補コード抽出手段により抽出された候補コードから1つのコードを検出するコード検出手段と
を具備し、
前記ディグリーネーム別ポイントテーブルは、複数用意されたディグリーネーム別ポイントテーブルから選択できると共に、作成および編集が可能とされていることを特徴とするコード検出装置。
Performance data acquisition means for acquiring performance data;
Key information acquisition means for acquiring key information;
Code detection instruction means for instructing code detection at a predetermined code detection timing;
Candidate code extraction means for extracting a candidate code based on the key information acquired by the key information acquisition means when code detection is instructed by the code detection instruction means;
Pitch information extraction means for extracting pitch information considered valid at the chord detection timing from the performance data acquired by the performance data acquisition means when the chord detection is instructed by the chord detection instruction means;
For all chords that can be candidate chords, a point table for each degree name comprising a note point table that represents the musical importance for each role of chord constituent sounds constituting the chord with a point value;
The role of each pitch information extracted by the pitch information extracting means in each candidate code for each candidate code extracted by the candidate code extracting means when code detection is instructed by the chord detection instructing means Role identification and point extraction means for extracting a point indicating musical importance according to the identified role from the note point table of the degree name point table;
When chord detection is instructed by the chord detection instructing means, the role identification and point extraction are performed for all pitch information extracted by the pitch information extracting means for each candidate code extracted by the candidate chord extracting means. Point total value acquisition means for acquiring the point total value of each candidate code by summing the points extracted by the means;
When code detection is instructed by the code detection instruction means, one of the candidate codes extracted by the candidate code extraction means based on the point total value of each candidate code acquired by the point total value acquisition means Code detecting means for detecting a code,
The degree detection point table can be selected from a plurality of degree name point tables, and can be created and edited.
さらに、
複数のコードの夫々について優先度をポイントで示す優先ポイントが、前記ディグリーネーム別ポイントテーブルに設定されており、
前記コード検出手段は、前記ポイント合計値取得手段により候補コード毎にポイント合計値を取得した際に、更に、前記ディグリーネーム別ポイントテーブルから、各候補コードに対応するコードの優先ポイントを取得し、取得された優先ポイントを各候補コードのポイント合計値に加算し、加算されたポイント合計値を元にコード検出を行う
ことを特徴とする請求項1に記載のコード検出装置。
further,
A priority point indicating a priority for each of a plurality of codes is set in the degree name point table,
When the code detection unit acquires the point total value for each candidate code by the point total value acquisition unit, the code detection unit further acquires a priority point of a code corresponding to each candidate code from the degree name point table, The code detection apparatus according to claim 1, wherein the acquired priority point is added to the point total value of each candidate code, and code detection is performed based on the added point total value.
JP2015022861A 2015-02-09 2015-02-09 Code detection device Expired - Fee Related JP5825449B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015022861A JP5825449B2 (en) 2015-02-09 2015-02-09 Code detection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015022861A JP5825449B2 (en) 2015-02-09 2015-02-09 Code detection device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010245736A Division JP5696435B2 (en) 2010-11-01 2010-11-01 Code detection apparatus and program

Publications (2)

Publication Number Publication Date
JP2015111286A true JP2015111286A (en) 2015-06-18
JP5825449B2 JP5825449B2 (en) 2015-12-02

Family

ID=53526084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015022861A Expired - Fee Related JP5825449B2 (en) 2015-02-09 2015-02-09 Code detection device

Country Status (1)

Country Link
JP (1) JP5825449B2 (en)

Also Published As

Publication number Publication date
JP5825449B2 (en) 2015-12-02

Similar Documents

Publication Publication Date Title
US9117432B2 (en) Apparatus and method for detecting chord
US10403166B2 (en) Musical performance assistance device and method
US8324493B2 (en) Electronic musical instrument and recording medium
US20130305907A1 (en) Accompaniment data generating apparatus
US8492636B2 (en) Chord detection apparatus, chord detection method, and program therefor
JP5293710B2 (en) Key judgment device and key judgment program
JP5040927B2 (en) Performance learning apparatus and program
JP5696435B2 (en) Code detection apparatus and program
JP6733720B2 (en) Performance device, performance program, and performance pattern data generation method
JP2018146717A (en) Training device, training program, and training method
JP2008089975A (en) Electronic musical instrument
JP6583320B2 (en) Automatic accompaniment apparatus, automatic accompaniment program, and accompaniment data generation method
JP5061926B2 (en) Electronic music apparatus and performance data editing display program
JP5825449B2 (en) Code detection device
JP4670686B2 (en) Code display device and program
JP6977741B2 (en) Information processing equipment, information processing methods, performance data display systems, and programs
JP5703693B2 (en) Code detection apparatus and program
JP5909967B2 (en) Key judgment device, key judgment method and key judgment program
JP2007163710A (en) Musical performance assisting device and program
JP6606844B2 (en) Genre selection device, genre selection method, program, and electronic musical instrument
JP7425558B2 (en) Code detection device and code detection program
JP2018146716A (en) Training device, training program, and training method
JP4735969B2 (en) Accompaniment display device and program
JP2016057389A (en) Chord determination device and chord determination program
JP4470895B2 (en) Code display device and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150907

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: 20150915

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150928

LAPS Cancellation because of no payment of annual fees