JP5703693B2 - Code detection apparatus and program - Google Patents
Code detection apparatus and program Download PDFInfo
- Publication number
- JP5703693B2 JP5703693B2 JP2010245737A JP2010245737A JP5703693B2 JP 5703693 B2 JP5703693 B2 JP 5703693B2 JP 2010245737 A JP2010245737 A JP 2010245737A JP 2010245737 A JP2010245737 A JP 2010245737A JP 5703693 B2 JP5703693 B2 JP 5703693B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- chord
- detection
- candidate
- note
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
この発明は、ユーザによる両手弾きなどの自由な演奏に対してコード(chord:和音)検出を行うことができるコード検出システムに関する。 The present invention relates to a chord detection system that can perform chord detection on 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
しかしながら、従来のコード検出技術では、ユーザの演奏でコードの構成音が揃ったときにコードが検出されるので、検出タイミングでユーザは正確に鍵盤でコード構成音を押鍵しなければならない。検出して欲しいコードになるように押鍵する必要があるので、両手弾きなどの自由な演奏には向いていない。また、コードが検出されるためには、ユーザの演奏音の中にそのコードのルートとなる音が含まれている必要がある。 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. In addition, in order for a chord to be detected, it is necessary for the user's performance sound to include a sound that is the root of the chord.
この発明は、このような事情に鑑み、ユーザ演奏などによる演奏音にルートに相当する音が含まれていなくても、演奏されなかったルートを有する適切なコードを検出することができるコード検出システムを提供することを目的とする。 In view of such circumstances, the present invention provides a chord detection system capable of detecting an appropriate chord having a route that has not been played even if the performance sound of the user performance or the like does not include a sound corresponding to the route. The purpose is to provide.
この発明の第1の特徴に従うと、候補となり得るコード(DegreeName)別に、コード(DegreeName)を特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の役割に対して音楽的な重要度を示すポイントが設定され、どのコード(DegreeName)についてもルート (r)の役割に対するポイントが低く設定されたポイントテーブル(PT)を記憶したポイントテーブル記憶手段 (4)と、演奏データを取得する演奏データ取得手段 (5;P12-P13)と、調情報 (Key)を取得する調情報取得手段 (P15)と、所定のコード検出タイミング(T1-T3:P2)にてコード検出を指示する (P14=YES)コード検出指示手段(P2,P14)と、コード検出指示手段(P2,P14)によりコード検出が指示されたときに (P14=YES)、調情報取得手段 (P15)により取得された調情報 (Key)を元に候補コード(ChordList:個々の候補コードはDegreeNameで表わされる)を抽出する候補コード抽出手段 (P16)と、コード検出指示手段(P2,P14)によりコード検出が指示されたときに (P14=YES)、演奏データ取得手段 (5;P12-P13)により取得された演奏データから、コード検出タイミング(T1-T3:P2)に有効とみなされる音高情報 (NoteList:Note)を抽出する音高情報抽出手段[P13(N1-N6),P17(C5)]と、コード検出指示手段(P2,P14)によりコード検出が指示されたときに (P14=YES)、候補コード抽出手段 (P16)により抽出された各候補コード(DegreeName)について、音高情報抽出手段[P13(N1-N6),P17(C5)]により抽出された各音高情報(Note)が、コードを特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の内どのノートの役割を有するかを判別するノート役割判別手段[P17(C6=図10、図11)]と、コード検出指示手段(P2,P14)によりコード検出が指示されたときに (P14=YES)、ノート役割判別手段[P17(C6=図10、図11)]によって、音高情報抽出手段[P13(N1-N6),P17(C5)]により抽出された全ての音高情報 (NoteList:Note)がルート (r)以外の役割(3,5,4,…)を有すると判別された候補コードの中から最適なコード (Chord)を検出するコード検出手段[P17(C11-C16)]であって、候補コード抽出手段 (P16)により抽出された候補コード(DegreeName)毎に、ノート役割判別手段[P17(C6=図10、図11)]により判別された役割に対応するポイントをポイントテーブル(PT)から抽出して合計し (C11)、合計されたポイント(合計ポイント)が最高値となる候補コードを最適なコード (Chord)に決定する (C16)もの[P17(C11-C16)]とを具備するコード検出装置〔請求項1〕、並びに、候補となり得るコード(DegreeName)別に、コード(DegreeName)を特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の役割に対して音楽的な重要度を示すポイントが設定され、どのコード(DegreeName)についてもルート (r)の役割に対するポイントが低く設定されたポイントテーブル(PT)を記憶したポイントテーブル記憶手段 (4)を具備し、コード検出装置として機能するコンピュータに、演奏データを取得する演奏データ取得ステップ (P12-P13)と、調情報 (Key)を取得する調情報取得ステップ (P15)と、所定のコード検出タイミング(T1-T3:P2)にてコード検出を指示する (P14=YES)コード検出指示ステップ(P2,P14)と、コード検出指示ステップ(P2,P14)でコード検出が指示されたときに (P14=YES)、調情報取得ステップ (P15)で取得された調情報 (Key)を元に候補コード(ChordList:個々の候補コードはDegreeNameで表わされる)を抽出する候補コード抽出ステップ (P16)と、コード検出指示ステップ(P2,P14)でコード検出が指示されたときに (P14=YES)、演奏データ取得ステップ (P12-P13)で取得された演奏データから、コード検出タイミング(T1-T3:P2)に有効とみなされる音高情報 (NoteList:Note)を抽出する音高情報抽出ステップ[P13(N1-N6),P17(C5)]と、コード検出指示ステップ(P2,P14)でコード検出が指示されたときに (P14=YES)、候補コード抽出ステップ (P16)で抽出された各候補コード(DegreeName)について、音高情報抽出ステップ[P13(N1-N6),P17(C5)]で抽出された各音高情報(Note)が、コードを特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の内どのノートの役割を有するかを判別するノート役割判別ステップ[P17(C6=図10、図11)]と、コード検出指示ステップ(P2,P14)でコード検出が指示されたときに (P14=YES)、ノート役割判別ステップ[P17(C6=図10、図11)]において、音高情報抽出ステップ[P13(N1-N6),P17(C5)]で抽出された全ての音高情報 (NoteList:Note)がルート (r)以外の役割(3,5,4,…)を有すると判別された候補コードの中から最適なコード (Chord)を検出するコード検出ステップ[P17(C11-C16)]であって、候補コード抽出ステップ (P16)で抽出された候補コード(DegreeName)毎に、ノート役割判別ステップ[P17(C6=図10、図11)]で判別された役割に対応するポイントをポイントテーブル(PT)から抽出して合計し (C11)、合計されたポイント(合計ポイント)が最高値となる候補コードを最適なコード (Chord)に決定する (C16)もの[P17(C11-C16)]とから成る手順を実行させるコード検出プログラム〔請求項3〕が提供される。なお、括弧書きは、理解の便のために付記した実施例の参照記号や用語、箇所等を表わし、以下においても同様である。 According to the first feature of the present invention, a plurality of notes [root (r), third degree (3), fifth degree (5), fourth voice ( 4), Altered system (a), Tension note (t), Avoid note, etc.) points indicating musical importance are set, and every chord (DegreeName) is a point for the role of root (r) Point table storage means (4) storing a point table (PT) set to a low value, performance data acquisition means (5; P12-P13) for acquiring performance data, and key information for acquiring key information (Key) Acquisition means (P15), code detection instruction (P14 = YES), code detection instruction means (P2, P14), and code detection instruction means (P2, P14) at a predetermined code detection timing (T1-T3: P2) ) (P14 = YES), the key information acquired by the key information acquisition means (P15) (K14) ey) based on candidate code extraction means (P16) that extracts candidate codes (ChordList: each candidate code is represented by DegreeName) and when code detection is instructed by the code detection instruction means (P2, P14) (P14 = YES), pitch information (NoteList: Note) that is considered valid at the chord detection timing (T1-T3: P2) is extracted from the performance data acquired by the performance data acquisition means (5; P12-P13) When pitch detection is instructed by the pitch information extraction means [P13 (N1-N6), P17 (C5)] and the code detection instruction means (P2, P14) (P14 = YES), the candidate code extraction means ( For each candidate code (DegreeName) extracted by P16), each pitch information (Note) extracted by the pitch information extraction means [P13 (N1-N6), P17 (C5)] Which note of the notes (root (r), 3rd (3), 5th (5), 4th voice (4), alter (a), tension note (t), void note, etc.) Note role discrimination means [P17 (C6 = FIG. 10, FIG. 11)] for discriminating whether or not it is detected and when chord detection is instructed by the chord detection instruction means (P2, P14) (P14 = YES) All pitch information (NoteList: Note) extracted by the pitch information extracting means [P13 (N1-N6), P17 (C5)] is routed by means [P17 (C6 = FIG. 10, FIG. 11)] Code detection means [P17 (C11-C16)] for detecting an optimum code (Chord) from candidate codes determined to have a role (3, 5, 4, ...) other than r), For each candidate code (DegreeName) extracted by the code extraction means (P16), the point corresponding to the role determined by the note role determination means [P17 (C6 = FIG. 10, FIG. 11)] is obtained from the point table (PT). Extracted and summed (C11), and the candidate code with the highest sum (point) is determined as the optimal code (Chord) (C16) [P17 (C11-C16)] code A plurality of notes (root (r), 3 degrees (3), 5 degrees (5), 4th voice (characters) characterizing the code (DegreeName) for each of the output device (Claim 1) and the possible code (DegreeName)) 4), Altered system (a), Tension note (t), Avoid note, etc.) points indicating musical importance are set, and every chord (DegreeName) is a point for the role of root (r) A performance data acquisition step (P12-P13) for acquiring performance data in a computer having a point table storage means (4) for storing a point table (PT) set at a low value and functioning as a chord detection device; A key information acquisition step (P15) for acquiring information (Key), and a code detection instruction step (P2, P14) instructing code detection at a predetermined code detection timing (T1-T3: P2) (P14 = YES) In the code detection instruction step (P2, P14), code detection is instructed. (P14 = YES), a candidate code extraction step for extracting a candidate code (ChordList: each candidate code is represented by DegreeName) based on the key information (Key) acquired in the key information acquisition step (P15) (P16) and when chord detection is instructed in the chord detection instruction step (P2, P14) (P14 = YES), the chord detection timing (from the performance data acquired in the performance data acquisition step (P12-P13) ( Pitch information extraction step [P13 (N1-N6), P17 (C5)] for extracting pitch information (NoteList: Note) regarded as valid for (T1-T3: P2), and chord detection instruction step (P2, P14) ) (P14 = YES), the pitch information extraction step [P13 (N1-N6), P17 () for each candidate code (DegreeName) extracted in the candidate code extraction step (P16). Each pitch information (Note) extracted in [C5)] includes a plurality of notes [root (r), 3 degrees (3), 5 degrees (5), 4th voice (4), alter] Note role determination step [P17 (C6 = FIG. 10, FIG. 11)] for determining which of the notes of the system (a), tension note (t), and void note, etc.) and chord detection instruction step (P2 , P14) when chord detection is instructed (P14 = YES), in the note role discrimination step [P17 (C6 = FIG. 10, FIG. 11)], the pitch information extraction step [P13 (N1-N6), P17 (C5)] all the pitch information (NoteList: Note) extracted from the candidate codes determined to have a role (3,5,4, ...) other than root (r) Chord) is a chord detection step [P17 (C11-C16)], and for each candidate code (DegreeName) extracted in the candidate chord extraction step (P16), a note role discrimination step [P17 (C6 = FIG. , Fig. 11)] is extracted from the point table (PT), and the points corresponding to the roles identified in [11]] are summed (C11), and the summed points (total points) are the highest value. A code detection program (Claim 3) for executing a procedure consisting of [C17] and [P17 (C11-C16)] is provided. Note that the parentheses indicate reference symbols, terms, parts, and the like of the examples added for convenience of understanding, and the same applies to the following.
この発明の第2の特徴に従うと、候補となり得るコード(DegreeName)別に、コード(DegreeName)を特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の役割に対して音楽的な重要度を示すポイントが設定されたポイントテーブル(PT)を記憶したポイントテーブル記憶手段 (4)と、演奏データを取得する演奏データ取得手段 (5;P12-P13)と、調情報 (Key)を取得する調情報取得手段 (P15)と、所定のコード検出タイミング(T1-T3:P2)にてコード検出を指示する (P14=YES)コード検出指示手段(P2,P14)と、コード検出指示手段(P2,P14)によりコード検出が指示されたときに (P14=YES)、調情報取得手段 (P15)により取得された調情報 (Key)を元に候補コード(ChordList:個々の候補コードはDegreeNameで表わされる)を抽出する候補コード抽出手段 (P16)と、コード検出指示手段(P2,P14)によりコード検出が指示されたときに (P14=YES)、演奏データ取得手段 (5;P12-P13)により取得された演奏データから、コード検出タイミング(T1-T3:P2)に有効とみなされる音高情報 (NoteList:Note)を抽出する音高情報抽出手段[P13(N1-N6),P17(C5)]と、コード検出指示手段(P2,P14)によりコード検出が指示されたときに (P14=YES)、候補コード抽出手段 (P16)により抽出された各候補コード(DegreeName)について、音高情報抽出手段[P13(N1-N6),P17(C5)]により抽出された各音高情報(Note)が、コードを特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の内どのノートの役割を有するかを判別するノート役割判別手段[P17(C6<図10、図11>,C7)]と、コード検出指示手段(P2,P14)によりコード検出が指示されたときに (P14=YES)、ノート役割判別手段[P17(C6<図10、図11>,C7)]において、音高情報抽出手段[P13(N1-N6),P17(C5)]により抽出された全ての音高情報 (NoteList:Note)がルート (r)以外の役割(3,5,4,…)を有すると判別された候補コード(ChordList:DegreeName)の中から最適なコード (Chord)を検出するコード検出手段 [P17(C8-C16)]であって、候補コード抽出手段 (P16)により抽出された候補コード(DegreeName)毎に、ノート役割判別手段[P17(C6<図10、図11>,C7)]により判別されたルート (r)以外の役割(3,5,4,…)に対応するポイントをポイントテーブル(PT)から抽出して合計し (C11)、合計されたポイント(合計ポイント)が最高値となる候補コードを最適なコード (Chord)に決定する (C16)もの [P17(C8-C16)]とを具備するコード検出装置〔請求項2〕、並びに、候補となり得るコード(DegreeName)別に、コード(DegreeName)を特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の役割に対して音楽的な重要度を示すポイントが設定されたポイントテーブル(PT)を記憶したポイントテーブル記憶手段 (4)を具備し、コード検出装置として機能するコンピュータに、演奏データを取得する演奏データ取得ステップ (P12-P13)と、調情報 (Key)を取得する調情報取得ステップ (P15)と、所定のコード検出タイミング(T1-T3:P2)にてコード検出を指示する (P14=YES)コード検出指示ステップ(P2,P14)と、コード検出指示ステップ(P2,P14)でコード検出が指示されたときに (P14=YES)、調情報取得ステップ (P15)で取得された調情報 (Key)を元に候補コード(ChordList:個々の候補コードはDegreeNameで表わされる)を抽出する候補コード抽出ステップ (P16)と、コード検出指示ステップ(P2,P14)でコード検出が指示されたときに (P14=YES)、演奏データ取得ステップ (P12-P13)で取得された演奏データから、コード検出タイミング(T1-T3:P2)に有効とみなされる音高情報 (NoteList:Note)を抽出する音高情報抽出ステップ[P13(N1-N6),P17(C5)]と、コード検出指示ステップ(P2,P14)でコード検出が指示されたときに (P14=YES)、候補コード抽出ステップ (P16)で抽出された各候補コード(DegreeName)について、音高情報抽出ステップ[P13(N1-N6),P17(C5)]で抽出された各音高情報(Note)が、コードを特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の内どのノートの役割を有するかを判別するノート役割判別ステップ[P17(C6<図10、図11>,C7)]と、コード検出指示ステップ(P2,P14)でコード検出が指示されたときに (P14=YES)、ノート役割判別ステップ[P17(C6<図10、図11>,C7)]において、音高情報抽出ステップ[P13(N1-N6),P17(C5)]で抽出された全ての音高情報 (NoteList:Note)がルート (r)以外の役割(3,5,4,…)を有すると判別された候補コード(ChordList:DegreeName)の中から最適なコード (Chord)を検出するコード検出ステップ [P17(C8-C16)]であって、候補コード抽出ステップ (P16)で抽出された候補コード(DegreeName)毎に、ノート役割判別ステップ[P17(C6<図10、図11>,C7)]で判別されたルート (r)以外の役割(3,5,4,…)に対応するポイントをポイントテーブル(PT)から抽出して合計し (C11)、合計されたポイント(合計ポイント)が最高値となる候補コードを最適なコード (Chord)に決定する (C16)もの [P17(C8-C16)]とから成る手順を実行させるコード検出プログラム〔請求項4〕が提供される。 According to the second feature of the present invention, a plurality of notes [root (r), third degree (3), fifth degree (5), fourth voice ( (4) Point table storage means for storing a point table (PT) in which points indicating musical importance are set for the roles of (alternate system (a), tension note (t), void note, etc.) (4) Performance data acquisition means for acquiring performance data (5; P12-P13), key information acquisition means for acquiring key information (Key) (P15), and predetermined chord detection timing (T1-T3: P2) Code detection instruction means (P14 = YES), and when code detection is instructed by the code detection instruction means (P2, P14) (P14 = YES), key information acquisition means Extract the candidate code (ChordList: each candidate code is represented by DegreeName) based on the key information (Key) acquired by (P15) Performance data acquired by the performance data acquisition means (5; P12-P13) when the chord detection is instructed by the candidate chord extraction means (P16) and the chord detection instruction means (P2, P14) (P14 = YES) Pitch information extraction means [P13 (N1-N6), P17 (C5)] that extract pitch information (NoteList: Note) that is considered valid at the chord detection timing (T1-T3: P2), and chord detection When chord detection is instructed by the instructing means (P2, P14) (P14 = YES), for each candidate code (DegreeName) extracted by the candidate code extracting means (P16), the pitch information extracting means [P13 (N1 -N6), P17 (C5)], each pitch information (Note) is composed of a plurality of notes [root (r), 3 degrees (3), 5 degrees (5), 4th voice ( 4), note role discriminating means [P17 (C6 <FIG. 10, FIG. 11>, C7)] for discriminating which of the notes of the alter system (a), tension note (t), void note, etc.) , Code detection instruction hand When the chord detection is instructed by the stage (P2, P14) (P14 = YES), in the note role discrimination means [P17 (C6 <FIG. 10, FIG. 11>, C7)], the pitch information extraction means [P13 ( N1-N6), P17 (C5)] all the pitch information (NoteList: Note) extracted as candidate codes (3, 5, 4, ...) other than root (r) ChordList: DegreeName) is code detection means [P17 (C8-C16)] for detecting the optimum code (Chord), and for each candidate code (DegreeName) extracted by the candidate code extraction means (P16), Points corresponding to roles (3, 5, 4,...) Other than the route (r) determined by the note role determining means [P17 (C6 <FIG. 10, FIG. 11>, C7)] are obtained from the point table (PT). Extracted and summed (C11), and the candidate code with the highest sum (point) is determined to be the optimal code (Chord) (C16) with [P17 (C8-C16)] A code detector (claim 2); and For each possible chord (DegreeName), multiple notes that characterize the chord (DegreeName) [Root (r), 3rd (3), 5th (5), 4th voice (4), Altered system (a), Tension Point table storage means (4) storing a point table (PT) in which points indicating musical importance are set for the role of (note (t), void note, etc.), and functions as a chord detection device In the computer, a performance data acquisition step (P12-P13) for acquiring performance data, a key information acquisition step (P15) for acquiring key information (Key), and a predetermined chord detection timing (T1-T3: P2) Instructing code detection (P14 = YES) When code detection is instructed in the code detection instruction steps (P2, P14) and code detection instruction steps (P2, P14) (P14 = YES), the key information acquisition step ( Candidate codes (ChordList: individual candidate codes) based on the key information (Key) acquired in P15) When the chord detection is instructed in the chord detection instruction step (P2, P14) (P14 = YES), the performance data acquisition step (P12-P13) ) To extract pitch information (NoteList: Note) that is considered to be valid at the chord detection timing (T1-T3: P2) from the performance data acquired in step (P13 (N1-N6), P17 ( C5)] and when chord detection is instructed in the chord detection instruction step (P2, P14) (P14 = YES), the pitch of each candidate chord (DegreeName) extracted in the candidate chord extraction step (P16) Each pitch information (Note) extracted in the information extraction step [P13 (N1-N6), P17 (C5)] is a plurality of notes [root (r), 3 degrees (3), 5 degrees ( 5), 4th voice (4), Altered system (a), Tension note (t), Avoid note, etc.) [P17 (C6 <FIG. 10, FIG. 11>, C7)] and when chord detection is instructed in the chord detection instruction step (P2, P14) (P14 = YES), the note role discrimination step [P17 ( C6 <Fig. 10, Fig. 11>, C7)], all the pitch information (NoteList: Note) extracted in the pitch information extraction step [P13 (N1-N6), P17 (C5)] is the root (r ) In the code detection step [P17 (C8-C16)] for detecting the optimum code (Chord) from the candidate codes (ChordList: DegreeName) determined to have a role (3, 5, 4, ...) other than) For each candidate code (DegreeName) extracted in the candidate code extraction step (P16), except for the route (r) determined in the note role determination step [P17 (C6 <FIG. 10, FIG. 11>, C7)] The points corresponding to the roles (3,5,4, ...) are extracted from the point table (PT) and summed (C11), and the candidate code with the highest sum (point) is the optimal code (Cord) (C16) [P17 (C8 -C16)] is provided. A code detection program (Claim 4) is provided.
この発明の第1の特徴によるコード検出システムでは(請求項1,3)、候補となり得るコード(DegreeName)別に、コード(DegreeName)を特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の役割に対して音楽的な重要度を示すポイントが設定され、どのコード(DegreeName)についてもルート (r)の役割に対するポイントが低く設定されたポイントテーブル(PT)が、ポイントテーブル記憶手段 (4)に用意される。コード検出の際は、例えば、所定小節毎或いは所定拍毎というような所定の音楽タイミングを基準にして、コード検出を行うタイミング即ちコード検出タイミング (T1-T3)を設定して(6;P2)、両手弾きなどの演奏操作(押鍵)に基づく演奏データを取得し (5;P11-P12)、調情報 (Key)を取得すると (P15)、設定したコード検出タイミング (T1-T3)にてコード検出が指示されたときに (P14=YES)、以下の処理を行う。まず、取得した調情報 (Key)を元に候補コード(ChordList:個々の候補コードはDegreeNameで表わされる)を抽出し (P16)、取得した演奏データから、コード検出タイミング (T1-T3)に有効とみなされる音高情報 (NoteList:Note)を抽出する[P13(N1-N6),P17(C5)]。次いで、抽出した各候補コード(DegreeName)について、各音高情報(Note)が、コードを特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の内どのノートの役割を有するかを判別する[P17(C6=図10、図11)]。そして、候補コード(DegreeName)毎に、判別された役割に対応するポイントをポイントテーブル(PT)から抽出して合計し (C11)、合計されたポイント(合計ポイント)が最高値となる候補コードを最適なコード (Chord)に決定する (C16)ことにより、全ての音高情報 (NoteList:Note)が「ルート (r)以外の役割(3,5,4,…)」を有すると判別した候補コードの中から、最適なコード (Chord)を検出する[P17(C11-C16)]。さらに、検出されたコード (Chord)を元に自動伴奏データを生成させることができる (P18)。
In the chord detection system according to the first feature of the present invention (
従って、この発明によれば、ユーザ演奏などによる演奏音にルートに相当する音が含まれていなくても、演奏されなかったルートを有する適切なコードを検出することができ、ユーザは両手弾きなどの自由な演奏に専念しながら、適切なコードによる自動伴奏を得ることができる。しかも、ポイントテーブルのルートに関する設定を調整するだけで、演奏されなかったルートを有するコードを簡単に検出することができる。 Therefore, according to the present invention, even if a performance sound by a user performance or the like does not include a sound corresponding to the root, it is possible to detect an appropriate chord having a route that has not been performed, and the user can play both hands, etc. You can get an automatic accompaniment with appropriate chords while devoting yourself to free performance. Moreover, it is possible to easily detect a chord having a route that has not been played simply by adjusting the settings relating to the route in the point table.
この発明の第2の特徴によるコード検出システムでは(請求項2,4)、候補となり得るコード(DegreeName)別に、コード(DegreeName)を特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の役割に対して音楽的な重要度を示すポイントが設定されたポイントテーブル(PT)が、ポイントテーブル記憶手段 (4)に用意される。コード検出の際は、例えば、所定小節毎或いは所定拍毎というような所定の音楽タイミングを基準にして、コード検出を行うタイミング即ちコード検出タイミング (T1-T3)を設定して(6;P2)、両手弾きなどの演奏操作(押鍵)に基づく演奏データを取得し (5;P11-P12)、調情報 (Key)を取得すると (P15)、設定したコード検出タイミング (T1-T3)にてコード検出が指示されたときに (P14=YES)、以下の処理を行う。まず、取得した調情報 (Key)を元に候補コード(ChordList:個々の候補コードはDegreeNameで表わされる)を抽出し (P16)、取得した演奏データから、コード検出タイミング (T1-T3)に有効とみなされる音高情報 (NoteList:Note)を抽出する[P13(N1-N6),P17(C5)]。次いで、抽出した各候補コード(DegreeName)について、各音高情報(Note)が、コードを特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の内どのノートの役割を有するかを判別する[P17(C6<図10、図11>,C7)]。そして、候補コード(DegreeName)毎に、判別されたルート (r)以外の役割(3,5,4,…)に対応するポイントをポイントテーブル(PT)から抽出して合計し (C11)、合計されたポイント(合計ポイント)が最高値となる候補コードを最適なコード (Chord)に決定する (C16)ことにより、全ての音高情報 (NoteList:Note)が「ルート (r)以外の役割(3,5,4,…)」を有すると判別した候補コードの中から、最適なコード (Chord)を検出する [P17(C8-C16)]。さらに、検出されたコード (Chord)を元に自動伴奏データを生成させることができる (P18)。
In the chord detection system according to the second feature of the present invention (
つまり、ノート役割判別の際には[P17(C6<図10、図11>,C7)]、音高情報抽出機能(C5)により抽出された各音高情報(Note)がルート (r)以外の役割(3,5,4,…)を有するかどうかも判別し(C7)、全ての音高情報 (NoteList:Note)が「ルート (r)以外の役割(3,5,4,…)」を有すると判別された場合には (C7=NO)、コード検出機能 [P17(C8-C16)]によって、候補コード(DegreeName)毎に、判別された「ルート (r)以外の役割(3,5,4,…)」に対するポイントをポイントテーブル(PT)から抽出して合計し (C11)、合計されたポイント(合計ポイント)が最高値となる候補コードを最適なコード (Chord)に決定する (C16)。 In other words, [P17 (C6 <Fig.10, Fig.11>, C7)], each pitch information (Note) extracted by the pitch information extraction function (C5) is not root (r) (C7) and all pitch information (NoteList: Note) is “Roles other than root (r) (3,5,4,…) ”(C7 = NO), the code detection function [P17 (C8-C16)] determines the role other than“ root (r) (3) for each candidate code (DegreeName). , 5,4, ...) "is extracted from the point table (PT) and summed (C11), and the candidate code with the highest sum (point) is determined as the optimal code (Chord) (C16).
従って、この発明によれば、ユーザ演奏などによる演奏音にルートに相当する音が含まれていなくても、演奏されなかったルートを有する適切なコードを検出することができ、ユーザは両手弾きなどの自由な演奏に専念しながら、適切なコードによる自動伴奏を得ることができる。特に、ルート (r)の役割に対する低いポイント設定を考慮していないポイントテーブルを用いても、ルートの役割を有すると判別された候補コード (ChordList)についてはポイントの抽出や合計ポイントの算出を行うことがなくなり、ユーザ演奏されなかったルートを有するコードを確実に検出することができる。 Therefore, according to the present invention, even if a performance sound by a user performance or the like does not include a sound corresponding to the root, it is possible to detect an appropriate chord having a route that has not been performed, and the user can play both hands, etc. You can get an automatic accompaniment with appropriate chords while devoting yourself to free performance. In particular, even if a point table that does not consider the low point setting for the role of route (r) is used, for candidate codes (ChordList) determined to have the role of root, points are extracted and total points are calculated Therefore, it is possible to reliably detect a chord having a route that has not been played by the user.
〔システム構成の概要〕
図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
CPU1は、RAM2及びROM3と共にデータ処理部を構成しており、タイマ12によるクロックを利用して、自動伴奏併用演奏処理プログラムを含む所定の制御プログラムに従い種々の音楽情報処理を実行し、RAM2は、これらの処理に際して必要な各種データを一時記憶するためのワーク領域として用いられる。例えば、自動伴奏併用演奏処理を実行する自動伴奏併用演奏モード時には、タイマ12は、CPU1の制御の下、コードの検出や適用のために設定された種々の設定時間を計時し、RAM2には、コードの検出や適用に必要な各種レジスタ( NoteList,ChordList,Chord,sTime,eTime,Key,ResultListなど)が設けられる。また、ROM3には、これらの処理を実行するために、各種制御プログラムや必要な各種制御データが予め記憶される。
The
外部記憶装置4は、HD(ハードディスク)、FD(フレキシブルディスク)、CD(コンパクトディスク)、DVD(デジタル多目的ディスク)、フラッシュメモリ等の半導体メモリなどの記憶媒体と、その駆動装置を含む。制御プログラムや、ディグリーネーム別ポイントテーブル(PT)、各種ルールなどの制御データ、種々の曲データ等、任意の情報を任意の記憶媒体に記憶することができる。また、記憶媒体は、着脱可能であってもよいし、このコード検出装置に内蔵されていてもよく、着脱可能な記録媒体にはUSBメモリが含まれる。
The
演奏情報取得部5は、鍵盤などの演奏操作子と、演奏操作子の操作を検出し検出内容に対応する演奏操作情報をデータ処理部(1〜3)に導入する演奏操作検出回路とにより構成される。その他操作子部6は、キースイッチ等のその他の操作子(設定操作子)と、これら操作子の操作を検出して対応する操作情報をデータ処理部に導入する設定操作検出回路とにより構成される。データ処理部(1〜3)は、演奏情報取得部5及びその他操作子部6からの操作情報に基づきコード検出装置各部を制御し、例えば、演奏操作部5からの演奏操作入力に対応する演奏データを音源8に送ったり、その他操作子部6中のモード設定ボタンの操作により自動伴奏併用演奏モードで動作させたりすることができる。
The performance
表示部7は、演奏や設定に必要な各種情報を表示するLCD等のディスプレイや、操作部5〜6中のスイッチ類に併設した内蔵ランプ等を備え、これらの表示・点灯内容をデータ処理部からの指令で制御し、演奏操作や設定操作などに関する表示援助を行う。
The
音源8は、音源部やDSPを有し、演奏情報取得部5の演奏操作情報から得られる演奏データに基づいて、或いは、記憶装置4から読み出される曲データに基づいて、楽音信号を生成すると共にこの楽音信号に所定の効果を付与する。音源8に接続されるサウンドシステム13は、D/A変換部やアンプ、スピーカ等を備え、音源8から出力される楽音信号に基づく楽音を発生する。自動伴奏装置9は、自動伴奏併用演奏モードにおいて、タイマ12からのテンポクロックで自動伴奏のテンポが設定され、このテンポクロックに従って、データ処理部(1〜3)から提供されるコードに対応した伴奏スタイルデータに基づく自動伴奏音を生成する。
The
通信I/F10は、MIDI等の音楽用有線I/F、USB等の汎用ネットワークI/F或いは無線Lan等の汎用近距離無線I/F等を含み、外部電子音楽装置MMと交信することができる。例えば、外部電子音楽装置MMからMIDI形式の曲データを取得し、記憶装置4に記憶しておくことができる。
The communication I /
〔コード検出タイミング〕
この発明の一実施例によるコード検出装置では、自動伴奏併用演奏処理により、所定の小節或いは拍タイミングで、演奏情報取得部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
図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
なお、コード検出基準位置は、この例のような拍位置だけでなく、テンポや拍子によっては、小節位置(例えば、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 (
図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列)では、コード構成音中でルートの役割を持つ音は演奏されないものと想定しているので、ルート (r)に対するポイントがマイナス値(例えば、「−50」)に設定され(例外的に「0」値をとることがある)、コードタイプを決定する役割が強い3度音(3),4声目(4),オルタード系コードトーン (a)に高ポイントが設定され、テンションノートには、想定しているボイシングに相応しいポイントが設定される。一方、コードの中で不協和を生じるような役割(その他)の演奏音に対しては、重要度が低くなり、ポイントも低めに設定される。
In this note point table section (
このコード検出装置では、コード検出の際は、検出対象となる演奏データが入力された時の調 (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)に対するポイント(重要度)を合計し、合計ポイントの一番高い候補コードを、対象の演奏データに最適なコード (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 candidate chord with the highest sum total point is selected as the chord (Chord) most suitable for the target performance data.
ここで、ポイントを取得するのに用いるディグリーネーム別ポイントテーブルPTでは、前述したように、全てのコード(DegreeName)において、ルートの役割に対しマイナス値(「−50」)などの低い値が設定されているので、実質的に、演奏データ(NoteList)中の演奏音(Note)がルート (r)の役割をする候補コードを最適コード (Chord)として選出することはない。つまり、全演奏音(NoteList)がルート以外(r,3,5,4,…)の役割をする候補コードから最適なコード (Chord)を検出する。従って、ユーザがルートを弾かないときに、敢えて演奏しなかったルートを持つコードを検出することができるようになる。 Here, in the point table PT by degree name used for acquiring points, as described above, a low value such as a negative value (“−50”) is set for the role of the root in all codes (DegreeName). Accordingly, the candidate chord in which the performance sound (Note) in the performance data (NoteList) plays the role of the root (r) is not selected as the optimum chord (Chord). That is, the optimum chord (Chord) is detected from the candidate chords in which all performance sounds (NoteList) play roles other than the root (r, 3, 5, 4,...). Therefore, when the user does not play the route, it becomes possible to detect a chord having a route that was not played.
また、ポイントテーブルPTのルートに対するポイント設定を調整しなくても、演奏しなかったルートを持つコードを検出するには、例えば、まず、候補として挙がった候補コード (ChordList)の中から、全てのユーザ演奏音 (NoteList:Note)がルートの役割をしない(=ルート以外の役割をする)候補コードを選別し、次いで、選別した「ルート以外の役割をする候補コード」の中から、合計ポイントの一番高い〔=演奏音(Note)を多く含む〕候補コードを最適コード (Chord)に選出する方法がある。 In order to detect a chord having a route that has not been played without adjusting the point setting for the route in the point table PT, for example, first, from among candidate chords (ChordList) listed as candidates, The user performance sound (NoteList: Note) selects the candidate code that does not play the root role (= plays the role other than the root), and then selects the total points from the selected “candidate codes that play the role other than the root” There is a method of selecting the highest chord as the best chord (including many notes).
以上のように、この発明の一実施例によるコード検出システムでは、ユーザによる両手弾きなどの演奏操作に応じて演奏データ(NoteList)が入力されると、所定小節毎或いは所定拍毎などのコード検出タイミングT1〜T3にて、その時の調 (Key)に応じて候補コード (ChordList)を抽出する。そして、抽出した各候補コード (ChordList)について、入力された演奏データ(NoteList)の各演奏音(Note)が、コードを特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の内どのノートの役割を有するかを判別し、全演奏音(NoteList)がルート (r)以外の役割を有する候補コードから最適なコード (Chord)を検出する。例えば、候補となり得るコード(DegreeName)別に、コード(DegreeName)を特徴付ける複数のノート〔ルート(r),3度(3),5度(5),4声目(4),オルタード系(a),テンションノート(t),アヴォイドノート等〕の役割に対して音楽的な重要度を示すポイントが設定され、どのコードについてもルート (r)の役割に対するポイントが低く設定されたポイントテーブルPTを参照して、候補コード (ChordList)毎に、判別した役割に対するポイントを抽出して合計し、合計ポイントが最高値となる候補コードを最適なコード (Chord)に決定する。或いは、候補となり得るコード(DegreeName)別に、コード(DegreeName)を特徴付ける各ノート(r,3,5,4,…)の役割に対して音楽的な重要度を示すポイントが設定されたポイントテーブル(特に、ルートの役割に対しポイント設定を低く調整しなくてもよい)を用いて、全ての音高情報 (NoteList:Note)がルート (r)以外の役割(3,5,4,…)を有すると判別した候補コード (ChordList)毎に、判別したルート (r)以外の役割(3,5,4,…)に対するポイントを抽出して合計し、合計ポイントが最高値となる候補コードを最適なコード (Chord)に決定する。 As described above, in the chord detection system according to one embodiment of the present invention, when performance data (NoteList) is input in response to a performance operation such as double-handed playing by the user, chord detection is performed every predetermined bar or every predetermined beat. At timings T1 to T3, a candidate code (ChordList) is extracted according to the key (Key) at that time. Then, for each extracted candidate chord (ChordList), each performance sound (Note) of the input performance data (NoteList) is a plurality of notes characterizing the chord [root (r), 3 degrees (3), 5 degrees ( 5), 4th voice (4), Altered system (a), Tension note (t), Avoid note, etc.) The optimal code (Chord) is detected from the candidate codes having the role. For example, for each possible chord (DegreeName), a plurality of notes that characterize the chord (DegreeName) [root (r), third degree (3), fifth degree (5), fourth voice (4), altered system (a) Point indicating musical importance for the role of (tension note (t), void note, etc.) is set, and the point table PT in which the point for the role of root (r) is set low for any chord is referred to Then, for each candidate code (ChordList), the points for the determined roles are extracted and summed, and the candidate code having the highest total point is determined as the optimum code (Chord). Alternatively, for each chord (DegreeName) that can be a candidate, a point table in which points indicating musical importance are set for the role of each note (r, 3, 5, 4,...) Characterizing the chord (DegreeName) ( In particular, all pitch information (NoteList: Note) has a role other than root (r) (3,5,4, ...). For each candidate code determined to have (ChordList), the points for roles (3, 5, 4, ...) other than the determined route (r) are extracted and summed, and the candidate code with the highest total point is optimized. Chord is determined.
〔自動伴奏併用演奏処理フロー例〕
図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
次のステップ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
続くステップ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
ステップ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
ステップ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
ステップ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
ステップ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
また、コード検出タイミング( 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
<コード検出処理フロー例>
図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
ステップC3では、コード候補レジスタ:ChordListの先頭から順に(2個目以降は次の)候補コードを1つ対象にしてディグリーネームに変換し、これをディグリーネームレジスタ(コード情報レジスタともいう):DegreeNameに格納し、次のステップC4で、ポイント値レジスタ:pointに値「0」を置数する。続くステップC5(図9)では、演奏データレジスタ:NoteListの先頭から順に(2個目以降は次の)ノートイベント情報を1つ対象にしてその音高情報を抽出し、これを演奏音レジスタ:Noteに格納し、ステップC6に進む。ステップC6では、ディグリーネームDegreeNameが示すコードにおける演奏音Noteの役割を抽出する役割抽出処理(図10〜図11参照)を実行し、次のステップC7では、ステップC6の役割抽出処理で抽出した「DegreeNameのコードにおける役割」が“ルート”であるか否かを判定する。 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. In step C6, a role extraction process (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, and in the next step C7, the role extraction process of step C6 extracts “ It is determined whether or not the “role in the code of DegreeName” is “root”.
ステップC7で役割を“ルート”であると判定したときは(C7=YES)、ステップC8に進んで、ディグリーネームDegreeNameが示すコードが全候補コード ChordList中の最後のコードであるか否かを判定し、最後のコードでないときは(C8=NO)、更にステップC9に進む。ステップC9では、候補コードレジスタ:ChordListから、ディグリーネームDegreeNameが示すコードを削除し、ステップC3(図8)に戻り、全候補コード ChordList中の次の候補コードを対象にしてステップC3〜C7の処理を繰り返す。一方、ステップC8で最後のコードであると判定したときは、ステップC10で、候補コードレジスタ:ChordListから、ディグリーネームDegreeNameが示すコードを削除した後、ステップC16に進む。 When it is determined in step C7 that the role is “root” (C7 = YES), the process proceeds to step C8 to determine 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 (C8 = NO), the process proceeds to step C9. In step C9, the code indicated by the degree name DegreeName is deleted from the candidate code register: ChordList, and the process returns to step C3 (FIG. 8) to process the next candidate code in all candidate codes ChordList in steps C3 to C7. repeat. On the other hand, when it is determined in step C8 that it is the last code, in step C10, the code indicated by the degree name DegreeName is deleted from the candidate code register: ChordList, and then the process proceeds to step C16.
ステップC7で役割が“ルート”でないと判定したときは(C7=NO)、ステップC11に進んで、ディグリーネーム別ポイントテーブルPTを参照して、ステップC6で抽出した「DegreeNameのコードにおける役割」に対応したポイントを取得し、ポイント値 pointに加算し、更にステップC12に進む。なお、この役割は、ディグリーネーム別ポイントテーブルPTの仕様次第では、テンションノートの種類で更に細かく分けることもできる(図12〜図13参照)。ステップC12では、演奏音レジスタ:Noteが、演奏データレジスタ:NoteList中の最後のノートイベント情報の音高情報を示しているか否かを判定し、最後のノートイベント音高情報でないときは(C12=NO)、ステップC5に戻り、演奏データNoteList中の次のノートイベント情報を対象にしてステップC5〜C7の処理を繰り返す。そして、演奏データNoteList中の最後のノートイベント音高情報についてステップC5〜C7→C11の処理を行うと(C12=YES)、ステップC13に進む。 When it is determined in step C7 that the role is not “root” (C7 = NO), the process proceeds to step C11, and by referring to the degree name point table PT, the “role in the code of DegreeName” extracted in step C6. The corresponding point is acquired, added to the point value point, and the process proceeds to step C12. 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). In step C12, it is determined whether or not the performance note 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 (C12 = 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. Then, when the process of steps C5 to C7 → C11 is performed for the last note event pitch information in the performance data NoteList (C12 = YES), the process proceeds to step C13.
ステップC13では、ディグリーネーム別ポイントテーブルPTを参照して、ディグリーネームDegreeNameが示すコードに対応した優先ポイント (Prior)を取得しポイント値 pointに加算し、続くステップC14で、ポイント値 pointを、ディグリーネームDegreeNameが示す全候補コード ChordList中の候補コードに対応付けて記憶する。次のステップC15では、ディグリーネームDegreeNameが示すコードが全候補コード ChordList中の最後のコードであるか否かを判定し、最後のコードでないときは(C15=NO)、ステップC3(図8)に戻って、全候補コード ChordList中の次の候補コードを対象にしてステップC3〜C7の処理を繰り返す。そして、全候補コード ChordList中の最後のコードについてステップC3〜C7→C11〜C14の処理を行うと(C15=YES)、ステップC16に進む。 In step C13, a priority point (Prior) corresponding to the code indicated by the degree name DegreeName is obtained by referring to the degree name point table PT, and added to the point value point. In step C14, the point value point is changed to the degree value point. All candidate codes indicated by the name DegreeName are stored in association with candidate codes in the ChordList. In the next step C15, 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 (C15 = NO), the process proceeds to step C3 (FIG. 8). Returning, the process of steps C3 to C7 is repeated for the next candidate code in all candidate codes ChordList. Then, when the processes of steps C3 to C7 → C11 to C14 are performed for the last code in all candidate codes ChordList (C15 = YES), the process proceeds to step C16.
ステップC16では、全候補コード ChordList中の各候補コードに対応付けて記憶したポイント値 pointが最高の候補コードを1つ検出し、コードレジスタ:Chordに格納し、ステップC14の処理を終えると、このコード検出処理を終了し、自動伴奏併用演奏処理のステップP18(図6)にリターンする。なお、ステップC14で候補コードの中から1つのコードを決定する際、ポイント値 pointが最高の候補コードが複数ある場合(ポイントが同点で並んだ場合)、適宜の方法でどれか1つに決定する。例えば、検出回数の少ない又は多いコード、テンションの少ない又は多いコード、ダイアトニック・スケール・コードかどうか等、優先して選択すべきコードの特徴を定めた優先ルールを用意し、ステップP2で設定するように設計しておくことが好ましい。 In step C16, one candidate code with the highest point value point stored in association with each candidate code in all candidate codes ChordList is detected, stored in the code register: Chord, and when the processing in 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. 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 code with a small or large number of detections, a code with a small or large number of tensions, and a diatonic scale code, is prepared and set in step P2. It is preferable to design in such a manner.
以上の説明では、ディグリーネーム別ポイントテーブルPTが、特に、ルートの役割に対するポイントが低く設定されていない場合でも、実現可能な動作例を示したが、図3のように、ディグリーネーム別ポイントテーブルPTにおいて「ルート」の役割に充分低い値が設定されている場合は、図9に破線で示すように、ステップC7〜C10の処理を省き、ステップC6の処理から直ちにステップC11の処理に進むようにしてもよい。 In the above description, an example of an operation that can be realized even when the point table by degree name PT is not set to a low point for the role of the root is shown, but as shown in FIG. When a sufficiently low value is set for the role of “root” in PT, the process of steps C7 to C10 is omitted and the process of step C6 is immediately advanced to the process of step C11 as shown by the broken line in FIG. Also good.
<役割抽出処理フロー>
図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
次のステップ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.
上述のように、このディグリーネーム別ポイントテーブルPTは、ディグリーネーム毎(DegreeName)に、各コード構成音(r,3,5,4,a)、各テンションノート(t)、アヴォイドノート(無記号)に対する各度数:Root(1st),m3rd,3rd,4th,…13thについて、重要度を示すポイントが用意されており、特に、候補コード毎にこのポイントテーブルPTを参照してユーザによる各演奏音のポイントを合計しポイント合計値が最も高かった候補コードを選ぶ方法に適している。つまり、このポイントテーブルPTは、ルート (r)に対するポイントをマイナス値に設定し(図示の例では、ジャズ系の演奏を対象にしているので、ジャズ系で現れないようなコードのルート音には例外的に「0」値をとることがある)、コードタイプを決定する役割が強い3度音(3rd-Noteや4th-Note)〔第6〜8列〕、4声目(6th,7th,Maj7th)〔第12、14、15列〕及びオルタード系コードトーン(♭5th,aug5th)〔第9、11列〕に高ポイントを設定し、各テンションノートには、ジャズ系のボイシングとして音楽的な重要度の観点から相応しいポイントを設定しておくことで、ルートを弾かないときに敢えて弾かなかったルートを持つコードを検出することができるようになる。なお、ポイントテーブルPTは、ユーザにより編集可能であってもよい。また、重要度の低さをマイナス値で表わしたがポイントを0以上とし数値が高いほど重要度が増すようにしてもよい。 As described above, the degree name-specific point table PT includes, for each degree name (DegreeName), each chord constituent sound (r, 3, 5, 4, a), each tension note (t), and void note (no symbol). For each frequency: Root (1st), m3rd, 3rd, 4th, ... 13th, points indicating the importance are prepared. In particular, each point of performance sound by the user is referred to this point table PT for each candidate code. It is suitable for the method of summing up the points and selecting the candidate code with the highest point total value. In other words, this point table PT sets the point with respect to the root (r) to a negative value (in the example shown, since it is intended for a jazz performance, the chord root sound that does not appear in the jazz system is used) Exceptionally “0” value may be taken), 3rd tone (3rd-Note and 4th-Note) (6th-8th columns), 4th voice (6th, 7th, Maj7th) [12th, 14th, 15th row] and Altered chord tone (♭ 5th, aug5th) [9th, 11th row] are set to high points, and each tension note is musical as jazz voicing. By setting an appropriate point from the viewpoint of importance, it becomes possible to detect a chord having a route that was not played when the route was not played. Note that the point table PT may be editable by the user. Moreover, although the low importance level is represented by a negative value, the point may be set to 0 or more, and the higher the numerical value, the higher the importance level may be.
〔種々の実施態様〕
以上、図面を参照しつつこの発明の好適な実施の一形態について説明したが、これは単なる一例であり、この発明は、発明の精神を逸脱しない範囲で種々の変更が可能である。例えば、コード検出を行うタイミングについては、テンポや使用する伴奏スタイルによって決まっていてもよいし、ユーザが設定できるようになっていてもよい。また、スイッチなどの特定の操作子が操作されたタイミングでもよいし、所定の拍タイミング+操作子操作タイミングでもよい。テンポの変化を検出したときに例えば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.
実施例では、演奏データに合わせて、検出したコードに基づき自動伴奏を生成するようにしているが、検出したコードに基づきハーモニー音を生成するようにしてもよい。或いは、検出したコードの情報を順次表示画面上に表示するという活用法も考えられる。
検出したコードを記憶する際、演奏の開始以降に検出した全てのコードをリスト形式などで記憶しておいてもよいし、最新のコード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 (4)
演奏データを取得する演奏データ取得手段と、
調情報を取得する調情報取得手段と、
所定のコード検出タイミングにてコード検出を指示するコード検出指示手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記調情報取得手段により取得された調情報を元に候補コードを抽出する候補コード抽出手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記演奏データ取得手段により取得された演奏データから、前記コード検出タイミングに有効とみなされる音高情報を抽出する音高情報抽出手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記候補コード抽出手段により抽出された各候補コードについて、前記音高情報抽出手段により抽出された各音高情報が、コードを特徴付ける複数のノートの内どのノートの役割を有するかを判別するノート役割判別手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記ノート役割判別手段によって、前記音高情報抽出手段により抽出された全ての音高情報がルート以外の役割を有すると判別された候補コードの中から最適なコードを検出するコード検出手段であって、前記候補コード抽出手段により抽出された候補コード毎に、前記ノート役割判別手段により判別された役割に対応するポイントを前記ポイントテーブルから抽出して合計し、合計されたポイントが最高値となる候補コードを最適なコードに決定するものと
を具備することを特徴とするコード検出装置。 For each chord that can be a candidate, a point table that stores a point table in which points indicating musical importance are set for the roles of multiple notes that characterize the chord, and points for the root role are set low for any chord Storage means;
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;
When code detection is instructed by the code detection instructing means, for each candidate code extracted by the candidate code extracting means, each pitch information extracted by the pitch information extracting means has a plurality of characterizing codes. Note role discriminating means for discriminating which note role of the note has,
When the chord detection instruction is instructed by the chord detection instructing unit, the candidate role discriminating unit has determined that all pitch information extracted by the pitch information extracting unit has a role other than the root. Code detecting means for detecting an optimal code from among the candidate codes extracted by the candidate code extracting means, the points corresponding to the roles determined by the note role determining means are extracted from the point table A code detecting apparatus comprising: a candidate code that determines a candidate code that has the highest sum as a sum of points.
演奏データを取得する演奏データ取得手段と、
調情報を取得する調情報取得手段と、
所定のコード検出タイミングにてコード検出を指示するコード検出指示手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記調情報取得手段により取得された調情報を元に候補コードを抽出する候補コード抽出手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記演奏データ取得手段により取得された演奏データから、前記コード検出タイミングに有効とみなされる音高情報を抽出する音高情報抽出手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記候補コード抽出手段により抽出された各候補コードについて、前記音高情報抽出手段により抽出された各音高情報が、コードを特徴付ける複数のノートの内どのノートの役割を有するかを判別するノート役割判別手段と、
前記コード検出指示手段によりコード検出が指示されたときに、前記ノート役割判別手段によって、前記音高情報抽出手段により抽出された全ての音高情報がルート以外の役割を有すると判別された候補コードの中から最適なコードを検出するコード検出手段であって、前記候補コード抽出手段により抽出された候補コード毎に、前記ノート役割判別手段により判別されたルート以外の役割に対応するポイントを前記ポイントテーブルから抽出して合計し、合計されたポイントが最高値となる候補コードを最適なコードに決定するものと
を具備することを特徴とするコード検出装置。 Point table storage means for storing a point table in which points indicating musical importance are set for the roles of a plurality of notes characterizing the chord for each possible chord,
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;
When code detection is instructed by the code detection instructing means, for each candidate code extracted by the candidate code extracting means, each pitch information extracted by the pitch information extracting means has a plurality of characterizing codes. Note role discriminating means for discriminating which note role of the note has,
When the chord detection instruction is instructed by the chord detection instructing unit, the candidate role discriminating unit has determined that all pitch information extracted by the pitch information extracting unit has a role other than the root. Code detecting means for detecting an optimum code from among the candidate codes extracted by the candidate code extracting means, points corresponding to roles other than the root determined by the note role determining means A code detection apparatus comprising: a candidate code that is extracted from a table and summed, and a candidate code having the highest sum is determined as an optimal code.
演奏データを取得する演奏データ取得ステップと、
調情報を取得する調情報取得ステップと、
所定のコード検出タイミングにてコード検出を指示するコード検出指示ステップと、
前記コード検出指示ステップでコード検出が指示されたときに、前記調情報取得ステップで取得された調情報を元に候補コードを抽出する候補コード抽出ステップと、
前記コード検出指示ステップでコード検出が指示されたときに、前記演奏データ取得ステップで取得された演奏データから、前記コード検出タイミングに有効とみなされる音高情報を抽出する音高情報抽出ステップと、
前記コード検出指示ステップでコード検出が指示されたときに、前記候補コード抽出ステップで抽出された各候補コードについて、前記音高情報抽出ステップで抽出された各音高情報が、コードを特徴付ける複数のノートの内どのノートの役割を有するかを判別するノート役割判別ステップと、
前記コード検出指示ステップでコード検出が指示されたときに、前記ノート役割判別ステップにおいて、前記音高情報抽出ステップで抽出された全ての音高情報がルート以外の役割を有すると判別された候補コードの中から最適なコードを検出するコード検出ステップであって、前記候補コード抽出ステップで抽出された候補コード毎に、前記ノート役割判別ステップで判別された役割に対応するポイントを前記ポイントテーブルから抽出して合計し、合計されたポイントが最高値となる候補コードを最適なコードに決定するものと
から成る手順をコンピュータに実行させるコード検出プログラム。 For each chord that can be a candidate, a point table that stores a point table in which points indicating musical importance are set for the roles of multiple notes that characterize the chord, and points for the root role are set low for any chord A computer having storage means and functioning as a code detection device,
A performance data acquisition step for acquiring performance data;
Key information acquisition step for acquiring key information;
A code detection instruction step for instructing code detection at a predetermined code detection timing;
A candidate code extraction step of extracting a candidate code based on the key information acquired in the key information acquisition step when code detection is instructed in the code detection instruction step;
When pitch detection is instructed in the chord detection instruction step, pitch information extraction step for extracting pitch information regarded as valid at the chord detection timing from the performance data acquired in the performance data acquisition step;
When chord detection is instructed in the chord detection instructing step, for each candidate code extracted in the candidate chord extraction step, each pitch information extracted in the pitch information extracting step has a plurality of characterizing codes. A note role determining step for determining which of the notes has a role;
When the chord detection is instructed in the chord detection instructing step, the candidate chord determined in the note role discriminating step that all the pitch information extracted in the pitch information extracting step has a role other than the root A code detecting step for detecting an optimum code from among the candidate codes extracted in the candidate code extracting step, and extracting points corresponding to the roles determined in the note role determining step from the point table A code detection program for causing a computer to execute a procedure consisting of determining a candidate code that has the highest sum as a sum of points, and determining an optimal code.
演奏データを取得する演奏データ取得ステップと、
調情報を取得する調情報取得ステップと、
所定のコード検出タイミングにてコード検出を指示するコード検出指示ステップと、
前記コード検出指示ステップでコード検出が指示されたときに、前記調情報取得ステップで取得された調情報を元に候補コードを抽出する候補コード抽出ステップと、
前記コード検出指示ステップでコード検出が指示されたときに、前記演奏データ取得ステップで取得された演奏データから、前記コード検出タイミングに有効とみなされる音高情報を抽出する音高情報抽出ステップと、
前記コード検出指示ステップでコード検出が指示されたときに、前記候補コード抽出ステップで抽出された各候補コードについて、前記音高情報抽出ステップで抽出された各音高情報が、コードを特徴付ける複数のノートの内どのノートの役割を有するかを判別するノート役割判別ステップと、
前記コード検出指示ステップでコード検出が指示されたときに、前記ノート役割判別ステップにおいて、前記音高情報抽出ステップで抽出された全ての音高情報がルート以外の役割を有すると判別された候補コードの中から最適なコードを検出するコード検出ステップであって、前記候補コード抽出ステップで抽出された候補コード毎に、前記ノート役割判別ステップで判別されたルート以外の役割に対応するポイントを前記ポイントテーブルから抽出して合計し、合計されたポイントが最高値となる候補コードを最適なコードに決定するものと
から成る手順をコンピュータに実行させるコード検出プログラム。 A computer having a point table storing a point table in which points indicating musical importance are set for the roles of a plurality of notes characterizing a chord for each possible chord, and serving as a chord detection device ,
A performance data acquisition step for acquiring performance data;
Key information acquisition step for acquiring key information;
A code detection instruction step for instructing code detection at a predetermined code detection timing;
A candidate code extraction step of extracting a candidate code based on the key information acquired in the key information acquisition step when code detection is instructed in the code detection instruction step;
When pitch detection is instructed in the chord detection instruction step, pitch information extraction step for extracting pitch information regarded as valid at the chord detection timing from the performance data acquired in the performance data acquisition step;
When chord detection is instructed in the chord detection instructing step, for each candidate code extracted in the candidate chord extraction step, each pitch information extracted in the pitch information extracting step has a plurality of characterizing codes. A note role determining step for determining which of the notes has a role;
When the chord detection is instructed in the chord detection instructing step, the candidate chord determined in the note role discriminating step that all the pitch information extracted in the pitch information extracting step has a role other than the root A code detection step for detecting an optimum code from among the candidate codes extracted in the candidate code extraction step, points corresponding to roles other than the root determined in the note role determination step A code detection program for causing a computer to execute a procedure comprising: extracting from a table and summing them, and determining a candidate code having the highest summed point value as an optimal code.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010245737A JP5703693B2 (en) | 2010-11-01 | 2010-11-01 | Code detection apparatus and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010245737A JP5703693B2 (en) | 2010-11-01 | 2010-11-01 | Code detection apparatus and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012098481A JP2012098481A (en) | 2012-05-24 |
JP5703693B2 true JP5703693B2 (en) | 2015-04-22 |
Family
ID=46390455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010245737A Expired - Fee Related JP5703693B2 (en) | 2010-11-01 | 2010-11-01 | Code detection apparatus and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5703693B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5887593A (en) * | 1981-11-20 | 1983-05-25 | リコーエレメックス株式会社 | Chord adding apparatus |
JP2768233B2 (en) * | 1993-08-26 | 1998-06-25 | ヤマハ株式会社 | Electronic musical instrument |
JP3385691B2 (en) * | 1993-11-30 | 2003-03-10 | ヤマハ株式会社 | Chord detector |
JP3446422B2 (en) * | 1995-09-20 | 2003-09-16 | ヤマハ株式会社 | Code detection device |
JP2005173490A (en) * | 2003-12-15 | 2005-06-30 | Yamaha Corp | Code progress data generating system and program |
-
2010
- 2010-11-01 JP JP2010245737A patent/JP5703693B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012098481A (en) | 2012-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9117432B2 (en) | Apparatus and method for detecting chord | |
US8324493B2 (en) | Electronic musical instrument and recording medium | |
US8946534B2 (en) | Accompaniment data generating apparatus | |
US7109407B2 (en) | Chord presenting apparatus and storage device storing a chord presenting computer program | |
JP5293710B2 (en) | Key judgment device and key judgment program | |
JP4650182B2 (en) | Automatic accompaniment apparatus and program | |
JP5696435B2 (en) | Code detection apparatus and program | |
JP6977741B2 (en) | Information processing equipment, information processing methods, performance data display systems, and programs | |
JP6733720B2 (en) | Performance device, performance program, and performance pattern data generation method | |
JP2010160396A (en) | Musical performance training apparatus and program | |
JP5061926B2 (en) | Electronic music apparatus and performance data editing display program | |
JP2008089975A (en) | Electronic musical instrument | |
JP5703693B2 (en) | Code detection apparatus and program | |
JP4670686B2 (en) | Code display device and program | |
JP5825449B2 (en) | Code detection device | |
JP2007163710A (en) | Musical performance assisting device and program | |
JP5909967B2 (en) | Key judgment device, key judgment method and key judgment program | |
JP4735969B2 (en) | Accompaniment display device and program | |
JP4534926B2 (en) | Image display apparatus and program | |
JP7338669B2 (en) | Information processing device, information processing method, performance data display system, and program | |
JP3632487B2 (en) | Chord detection device for electronic musical instruments | |
JP3620366B2 (en) | Electronic keyboard instrument | |
JP4632646B2 (en) | Electronic musical instruments and programs | |
JP3978277B2 (en) | Automatic accompaniment device | |
JP2007072387A (en) | Music performance assisting device and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130920 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140520 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140717 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20141215 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20141218 |
|
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: 20150127 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150209 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5703693 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |