JPH0981145A - Musica performance data analyzer and musical performance data analysis method - Google Patents
Musica performance data analyzer and musical performance data analysis methodInfo
- Publication number
- JPH0981145A JPH0981145A JP8179573A JP17957396A JPH0981145A JP H0981145 A JPH0981145 A JP H0981145A JP 8179573 A JP8179573 A JP 8179573A JP 17957396 A JP17957396 A JP 17957396A JP H0981145 A JPH0981145 A JP H0981145A
- Authority
- JP
- Japan
- Prior art keywords
- note
- performance data
- chord
- key
- sound
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、電子楽器やコンピ
ュータミュージック等における演奏データを分析する装
置に関わり、該演奏データの音符に対応するデータで構
成されたメロディ情報から調を検出する演奏データ分析
装置および演奏データ分析方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus for analyzing performance data in electronic musical instruments, computer music and the like, and performance data analysis for detecting a key from melody information composed of data corresponding to notes of the performance data. The present invention relates to a device and a performance data analysis method.
【0002】[0002]
【従来の技術】従来、電子楽器やコンピュータミュージ
ック等においてメロディにコード(和音)を付けたり編
曲等を行うために、演奏データの調を検出する必要があ
る。このような演奏データの調を検出する方法として、
演奏データが示すメロディの最終の音を主音とみなして
調を検出する方法があるが、メロディの途中で転調する
場合に適用できないばかりか、コード進行を決定できる
ほどには詳細な調の変化を検出できないという問題があ
る。そこで、メロディを楽節毎など所定長のブロックに
分割してそれぞれのブロックにおける調を検出する方法
などがあるが、未だに不十分で正確な調検出を行えな
い。2. Description of the Related Art Conventionally, it is necessary to detect a key of performance data in order to add a chord (chord) or arrange a melody in an electronic musical instrument or computer music. As a method to detect the key of such performance data,
There is a method to detect the key by regarding the last note of the melody indicated by the performance data as the tonic, but this method is not applicable when transposing in the middle of the melody, and it does not change the key in detail enough to determine chord progression. There is a problem that it cannot be detected. Therefore, there is a method of dividing the melody into blocks each having a predetermined length such as a phrase and detecting a key in each block, but it is still insufficient and accurate key detection cannot be performed.
【0003】[0003]
【発明が解決しようとする課題】本発明は、演奏データ
のメロディ情報から正確な調検出を行うことを課題とす
る。SUMMARY OF THE INVENTION An object of the present invention is to perform accurate key detection from melody information of performance data.
【0004】[0004]
【課題を解決するための手段】上記の課題を解決するた
めになした本発明の請求項1記載の演奏データ分析装置
は、音符のシーケンスを示す演奏データを入力する演奏
データ入力手段と、複数の各調において、各調を特徴づ
ける主要音名からなる音名列を記憶した音名列記憶手段
と、前記演奏データ入力手段によって入力された演奏デ
ータに含まれる複数の音名に、少なくとも一部が含まれ
る音名列を、前記音名列記憶手段から抽出する音名列抽
出手段と、前記音名列抽出手段によって抽出された音名
列に基づいて調を検出する調検出手段と、を備えること
を特徴とする。In order to solve the above-mentioned problems, a performance data analysis apparatus according to claim 1 of the present invention comprises a performance data input means for inputting performance data indicating a sequence of notes, and a plurality of performance data input means. In each key, at least one of the note name string storage means for storing the note name string consisting of the main note names characterizing each key and the plurality of note names included in the performance data input by the performance data input means. A note name string including a part, a note name string extracting means for extracting from the note name string storing means, and a key detecting means for detecting a key based on the note name string extracted by the note name string extracting means; It is characterized by including.
【0005】また、本発明の請求項2記載の演奏データ
分析装置は、音符のシーケンスを示す演奏データを入力
する演奏データ入力手段と、複数の各調において、各調
を特徴づける主要音名からなる音名列を記憶した音名列
記憶手段と、前記演奏データ入力手段によって入力され
た演奏データに含まれる複数の音名に、少なくとも一部
が含まれる音名列を、前記音名列記憶手段から抽出する
音名列抽出手段と、前記演奏データ入力手段によって入
力された演奏データに含まれる和声音を抽出する和声音
抽出手段と、前記音名列抽出手段によって抽出された音
名列に基づいて調を検出する調検出手段と、を備えるこ
とを特徴とする。According to a second aspect of the present invention, there is provided a performance data analyzing device, comprising: performance data input means for inputting performance data indicating a sequence of notes; and a main note name characterizing each key in a plurality of keys. And a note name sequence storing means for storing a note name sequence that stores at least a part of a plurality of note names included in the performance data input by the performance data inputting means. Means for extracting a note name string extracted from the means, a chord sound extracting means for extracting a harmony sound included in the performance data input by the performance data input means, and a note name string extracted by the note name string extracting means. Key detecting means for detecting a key on the basis of the key detecting means.
【0006】また、本発明の請求項3記載の演奏データ
分析装置は、音符のシーケンスを示す演奏データを入力
する演奏データ入力手段と、前記演奏データ入力手段に
よって入力された演奏データを所定の区間に分割する区
間分割手段と、複数の各調において、各調を特徴づける
主要音名からなる音名列を記憶した音名列記憶手段と、
前記区間分割手段によって分割された区間の演奏データ
に含まれる複数の音名に、少なくとも一部が含まれる音
名列を、前記音名列記憶手段から抽出する音名列抽出手
段と、前記音名列抽出手段によって抽出された音名列に
基づいて、前記区間毎の調を検出する調検出手段と、を
備えることを特徴とする。According to a third aspect of the present invention, there is provided a performance data analysis device for inputting performance data indicating a note sequence, and performance data input by the performance data input means in a predetermined section. Section dividing means for dividing into a plurality of tones, a note name string storage means for storing a note name string consisting of main note names characterizing each key in a plurality of tones,
A note name string extracting means for extracting from the note name string storing means a note name string containing at least a part of a plurality of note names included in the performance data of the section divided by the section dividing means; Key detecting means for detecting a key for each section based on the note name string extracted by the name string extracting means.
【0007】また、本発明の請求項4記載の演奏データ
分析装置は、音符のシーケンスを示す演奏データを入力
する演奏データ入力手段と、前記演奏データ入力手段に
よって入力された演奏データの中から刺繍音パターンを
検出する刺繍音検出手段と、前記検出された刺繍音パタ
ーンのうちの一部の音を和声音に決定するとともに、刺
繍音パターンのうちの残りの部分を刺繍音として非和声
音に決定し、前記決定された和声音と所定の音程関係に
ある演奏データを和声音に決定する和声音決定手段と、
を備えることを特徴とする。According to a fourth aspect of the present invention, there is provided a performance data analysis device for performing performance data input means for inputting performance data indicating a note sequence, and embroidery data from the performance data input by the performance data input means. An embroidery sound detecting means for detecting a sound pattern and a part of the detected embroidery sound patterns are determined to be a harmony sound, and the rest of the embroidery sound patterns are changed to a non-harmonic sound as an embroidery sound. Harmonic sound determining means for determining and determining performance data having a predetermined pitch relationship with the determined harmonic sound as a harmonic sound,
It is characterized by having.
【0008】また、本発明の請求項5記載の演奏データ
分析方法は、複数の各調において、各調を特徴づける主
要音名からなる音名列を音名列記憶手段に記憶してお
き、音符のシーケンスを示す演奏データを入力し、前記
入力された演奏データに含まれる複数の音名に、少なく
とも一部が含まれる音名列を、前記音名列記憶手段から
抽出し、前記抽出された音名列に基づいて調を検出する
こと、を特徴とする。In the performance data analyzing method according to the fifth aspect of the present invention, in a plurality of tones, a note name string consisting of main note names that characterize each key is stored in the note name string storing means, Performance data indicating a sequence of notes is input, and a note name sequence in which at least a part of a plurality of note names included in the input performance data is extracted from the note name sequence storage means, and is extracted. The key is to detect the key based on the note name sequence.
【0009】また、本発明の請求項6記載の演奏データ
分析方法は、複数の各調において、各調を特徴づける主
要音名からなる音名列を音名列記憶手段に記憶してお
き、音符のシーケンスを示す演奏データを入力し、前記
入力された演奏データに含まれる複数の音名に、少なく
とも一部が含まれる音名列を、前記音名列記憶手段から
抽出し、前記入力された演奏データに含まれる和声音を
抽出し、前記抽出された音名列と和声音とに基づいて調
を検出すること、を特徴とする。Further, in the performance data analyzing method according to the sixth aspect of the present invention, in a plurality of tones, a note name string consisting of main note names that characterize each key is stored in the note name string storing means, Performance data indicating a sequence of notes is input, a note name string in which at least a part of a plurality of note names included in the input performance data is extracted from the note name string storage means, and is input. The harmony sound included in the performance data is extracted, and the key is detected based on the extracted note name sequence and the harmony sound.
【0010】また、本発明の請求項7記載の演奏データ
分析方法は、複数の各調において、各調を特徴づける主
要音名からなる音名列を音名列記憶手段に記憶してお
き、音符のシーケンスを示す演奏データを入力し、前記
入力された演奏データを所定の区間に分割し、前記分割
した区間の演奏データに含まれる複数の音名に、少なく
とも一部が含まれる音名列を、前記音名列記憶手段から
抽出し、前記抽出された音名列に基づいて、前記区間毎
の調を検出すること、を特徴とする。In the performance data analyzing method according to the seventh aspect of the present invention, a note name sequence storing means stores a note name sequence consisting of main note names that characterize each tone. Performance data indicating a sequence of notes is input, the input performance data is divided into predetermined sections, and a plurality of note names included in the performance data of the divided sections are at least partially included in a note name string. Is extracted from the note name string storage means, and the key for each section is detected based on the extracted note name string.
【0011】また、本発明の請求項8記載の演奏データ
分析方法は、音符のシーケンスを示す演奏データを入力
し、前記入力された演奏データの中から刺繍音パターン
を検出し、前記検出された刺繍音パターンのうちの一部
の音を和声音に決定するとともに、刺繍音パターンのう
ちの残りの部分を刺繍音として非和声音に決定し、前記
決定された和声音と所定の音程関係にある演奏データを
和声音に決定すること、を特徴とする。Further, in the performance data analysis method according to the present invention, performance data indicating a sequence of notes is input, an embroidery sound pattern is detected from the input performance data, and the detection is performed. A part of the embroidery sound pattern is determined to be a harmony sound, and the remaining part of the embroidery sound pattern is determined to be a non-harmonic sound as an embroidery sound, and a predetermined pitch relationship is established with the determined harmony sound. It is characterized in that certain performance data is determined as a harmony sound.
【0012】演奏データ中の和声音と音名列とに基づい
て前記演奏データにおける調を検出する。和声音と音名
列はメロディの調の特徴を現しているので、音名列抽出
手段によって抽出された音名列から調を検出したり、和
声音音名列抽出手段によって抽出された和声音と音名列
から調を検出すると、正確な調を検出することができ
る。The key in the performance data is detected based on the harmony tone and the note name sequence in the performance data. Since the chord sound and the note name sequence represent the characteristics of the key of the melody, the chord is detected from the note name sequence extracted by the note name sequence extraction means, and the chord sound extracted by the harmony tone name sequence extraction means is detected. If the key is detected from the note name sequence, the accurate key can be detected.
【0013】[0013]
【発明の実施の形態】図2は本発明実施例の演奏データ
分析装置を適用した電子楽器のブロック図であり、CP
U1はプログラムメモリ2に格納されている制御プログ
ラムに基づいてワーキングメモリ3のワーキングエリア
を使用して電子楽器全体の制御を行い、パネルスイッチ
等の操作子4の操作と表示装置5への表示処理により、
通常モードまたはメロディ分析モードで動作する。DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 2 is a block diagram of an electronic musical instrument to which the performance data analysis device of the embodiment of the present invention is applied.
U1 controls the entire electronic musical instrument by using the working area of the working memory 3 based on the control program stored in the program memory 2, operates the operator 4 such as a panel switch, and displays on the display device 5. Due to
Operates in normal mode or melody analysis mode.
【0014】通常モードでは、CPU1は鍵盤6のキー
イベントに応じたキーコード、タッ−データ、キーオン
信号(またはキーオフ信号)等を取り込み、キーコード
とノートオンまたはノートオフを音源7に出力して鍵盤
演奏に対応する発音処理と消音処理を行う。なお、音源
7は上記CPU1から入力されるデータに応じた楽音信
号を発生し、サウンドシステム8は楽音信号のD/A変
換および増幅等を行って楽音を発生する。In the normal mode, the CPU 1 fetches a key code, touch data, a key-on signal (or a key-off signal) corresponding to a key event of the keyboard 6 and outputs the key code and note-on or note-off to the sound source 7. Performs sound generation and mute processing corresponding to keyboard performance. The sound source 7 generates a tone signal corresponding to the data input from the CPU 1, and the sound system 8 performs D / A conversion and amplification of the tone signal to generate a tone.
【0015】メロディ分析モードでは、先ず、CPU1
は鍵盤6のキーイベントに応じたキーコード、タッチデ
ータ、キーオン信号(またはキーオフ信号)等を取り込
み、これらのデータに基づいて演奏データを生成する。
なお、この演奏データを生成する処理は、鍵盤6による
通常の演奏操作に応じて演奏データを生成するリアルタ
イムレコードのモードまたは鍵盤6と操作子4の操作に
よって1音づつ入力して演奏データを生成するステップ
レコードのモードで行う。In the melody analysis mode, first, the CPU 1
Takes in a key code, touch data, a key-on signal (or a key-off signal), etc. corresponding to a key event on the keyboard 6, and generates performance data based on these data.
It should be noted that the processing for generating the performance data is performed by inputting each note by the mode of the real-time record for generating the performance data in response to a normal performance operation by the keyboard 6 or by operating the keyboard 6 and the operator 4. Perform in step record mode.
【0016】また、この演奏データから入力演奏時の音
長のバラツキ等を修正(クオンタイズ)して音符の符長
を示す音長データを生成し、音高データ、音長データ、
休符データ、休符長データからなるメロディデータを構
成してデータメモリ9(RAM)に記憶する。そして、
メロディデータを記憶すると、後述詳細に説明するよう
に、CPU1はこの記憶したメロディデータの分析を行
い、メロディデータを分割した区間分析データ、検出調
のデータおよび検出コード(和音)のデータを分析デー
タとしてデータメモリ9に記憶する。Further, from this performance data, the variation of the sound length at the time of the input performance is corrected (quantized) to generate the sound length data indicating the note length of the note, and the pitch data, the sound length data,
Melody data composed of rest data and rest length data is constructed and stored in the data memory 9 (RAM). And
When the melody data is stored, the CPU 1 analyzes the stored melody data as described later in detail, and divides the melody data into segment analysis data, detection tone data, and detection chord (chord) data. Is stored in the data memory 9.
【0017】図3はメロディデータと分析データ中の区
間分析データの各フォーマットを示す図である。同図
(A) に示したメロディデータは、ピッチに対応する音高
データと音符の符長に対応する音長データで一つの音符
を表し、休符データと休符の符長に対応する休符長デー
タで一つの休符を表している。音高データはキーコード
であり、休符データは予め決められた特定の識別コード
である。また、音長データおよび休符長データは、所定
のクロック(例えば4分音符を24個に分割したクロッ
ク)を単位としてクロック数で時間長を表したデータで
ある。FIG. 3 is a diagram showing each format of the melody data and the section analysis data in the analysis data. Same figure
In the melody data shown in (A), one note is represented by pitch data corresponding to the pitch and note length data corresponding to the note length of the note, and rest data and rest length corresponding to the note length of the rest. The data represents one rest. The pitch data is a key code, and the rest data is a predetermined specific identification code. The note length data and the rest length data are data in which the time length is represented by the number of clocks with a predetermined clock (for example, a clock obtained by dividing a quarter note into 24 pieces) as a unit.
【0018】なお、実際の演奏では、同じ音符でもスラ
ーで弾く場合とスタッカートで弾く場合のように実際の
発音時間が異なることがあるが、前述のように、上記音
長データと休符長データは実際の発音時間に関係なく符
長分のクロック数となるように加工されている。したが
って、メロディデータの先頭から音長データと休符長デ
ータを加算することにより小節線の位置が判明し、これ
によりメロディデータを小節単位やフレーズ単位でも検
索することができる。In the actual performance, the actual sounding time may be different between playing the same note with slur and staccato, but as described above, the above note length data and rest length data are used. Is processed so that the number of clocks corresponds to the note length regardless of the actual pronunciation time. Therefore, by adding the note length data and the rest length data from the beginning of the melody data, the position of the bar line is identified, and thus the melody data can be searched in bar units or phrase units.
【0019】図3(B) に示した区間分析データは、後述
説明するようにメロディデータをメロディの分析結果に
応じてコードリズム区間に分割したものであり、図3
(A) のメロディデータに各コードリズム区間の境界を示
す分割データを挿入したフォーマットで記録される。な
お、メロディデータと区間分析データの最後にはエンド
データが記録される。The section analysis data shown in FIG. 3B is obtained by dividing the melody data into chord rhythm sections according to the melody analysis result, as will be described later.
It is recorded in the format in which the divided data indicating the boundary of each chord rhythm section is inserted in the melody data of (A). The end data is recorded at the end of the melody data and the section analysis data.
【0020】図1は実施例におけるメロディ分析の流れ
を説明する概念図である。まず、データメモリ9のメロ
ディデータをフレーズ(#1〜#N)に分割し、この各フレ
ーズをさらに細かくコードリズム(#11 〜#1M ,〜,#N
1 〜#NL )に分割する。ここで、フレーズとは、メロデ
ィデータを区切りのよい所定長を分割したときの単位区
間であり、この分割の仕方は後述する。コードリズムは
1小節あるいは2拍のようにフレーズより小さな区間で
あり、コード進行において1つのコードが占める単位区
間を意味する。この分割の仕方は後述説明するようにメ
ロディの特徴に応じて決定する。FIG. 1 is a conceptual diagram for explaining the flow of melody analysis in the embodiment. First, the melody data of the data memory 9 is divided into phrases (# 1 to #N), and each phrase is divided into more detailed chord rhythms (# 11 to # 1M, ..., #N).
1 to #NL). Here, the phrase is a unit section when the melody data is divided into predetermined lengths with good delimitation, and a method of this division will be described later. A chord rhythm is a section smaller than a phrase, such as one bar or two beats, and means a unit section occupied by one chord in chord progression. The way of this division is determined according to the characteristics of the melody as described later.
【0021】次に、この各コードリズム区間から和声音
を抽出し、この和声音に基づいて、調検出用の検出区間
とするためにコードリズムを必要に応じて結合し、区間
を変更したコードリズム(#11 〜#1M',〜,#N1 〜#N
L')とする。この再構成したコードリズムの各検出区間
毎に和声音と音名列を抽出してこの和声音と音名列に基
づいて候補となる調を抽出する。Next, a chord rhythm is extracted from each chord rhythm section, chord rhythms are combined as needed to form a chord detection detection section based on the chord rhythm, and chords whose sections are changed. Rhythm (# 11 ~ # 1M ', ~, # N1 ~ #N
L '). A harmony tone and a note name sequence are extracted for each detected section of the reconstructed chord rhythm, and a candidate key is extracted based on the harmony tone and the note name sequence.
【0022】この実施例では、例えば次表1に示したよ
うに、各調の音階に対応してその調を特徴つける主要な
音名からなる音名列をI ,II,III ,IVのような度数で
音階音列テーブルとしてプログラムメモリ2に記憶して
おり、和声音と音名列とから候補調を抽出するとき、こ
の音階音列テーブルの中から検出区間の音名列に含まれ
る音階音列を検索し、この音階音列と検出区間の和声音
とを含む音階の調を候補調とする。そして、この候補調
から検出区間の調を確定する。In this embodiment, for example, as shown in Table 1 below, note name strings consisting of major note names that characterize the key corresponding to each key scale are represented as I, II, III, and IV. It is stored in the program memory 2 as a scale tone sequence table with various frequencies, and when a candidate key is extracted from the harmony tone and the tone name sequence, the scales included in the tone name sequence of the detected section from this scale sequence table. A tone string is searched for, and a key of a tone scale including this tone string and the harmony sound of the detected section is set as a candidate tone. Then, the key of the detected section is determined from this candidate key.
【0023】[0023]
【表1】 [Table 1]
【0024】なお、この実施例では、調検出用に分割し
た検出区間とその和声音から検出区間のコード(和音)
を決定するようにしており、コードシーケンスDB(デ
ータベース)10(図2)に記憶されたコード進行デー
タに基づいてコードを検出する。このとき、決定するコ
ードがフレーズの先頭や最後のコードとして適している
か検査しつつ、コード進行データとのマッチングにより
コードを決定する。In this embodiment, the chord (chord) of the detection section divided from the detection section divided for key detection and its chord sound
The chord is detected based on the chord progression data stored in the chord sequence DB (database) 10 (FIG. 2). At this time, the chord is decided by matching with the chord progression data while inspecting whether the decided chord is suitable as the beginning or end chord of the phrase.
【0025】図5はコード進行データの一例を示す図で
ある。コード進行データは代表的なコード進行を示すも
のであり、4つのコードで構成される4コード進行、3
つのコードで構成される3コード進行、2つのコードで
構成される2コード進行がある。また、これらの4コー
ド進行、3コード進行、2コード進行は、それぞれ長調
と短調に対応するコード進行データに分類されている。
さらに、4コード進行については1小節に1つのコード
が対応するような同期型とコードと小節が対応しない非
同期型とに分類されている。これらのコード進行の各コ
ードはImaj のように根音(I) とタイプ(maj) の組み合
わせで示されている。ここで、根音は調の主音を基準と
した度数で表わされているので、コード進行データは1
2音名(C,C♯,D,〜,B)の主音の調に対してそ
れぞれ共通に対応可能となっている。FIG. 5 is a diagram showing an example of chord progression data. The chord progression data indicates a typical chord progression, and is composed of 4 chord progressions, 3 chord progressions, and 3 chord progressions.
There are three chord progressions consisting of one chord and two chord progressions consisting of two chords. The 4 chord progression, the 3 chord progression, and the 2 chord progression are classified into chord progression data corresponding to the major and the minor, respectively.
Further, the four chord progressions are classified into a synchronous type in which one chord corresponds to one bar and an asynchronous type in which no chord corresponds to one bar. Each chord of these chord progressions is indicated by a combination of root note (I) and type (maj) like Imaj. Here, since the root note is represented by a frequency based on the tonic of the key, the chord progression data is 1
The tones of two tones (C, C #, D, to, B) can be commonly handled.
【0026】また、同類のコード進行データ同志には優
先準位が付けられている。例えば、図5に示した4コー
ド進行(同期)DBの長調用では、「Imaj→VImin →II
m7→V7」(ハ長調の場合、Cmaj →Amin →Dm7→G7
)が最も優先準位が高く、「IIIm7 →IVmin →IIm7→V
7」(ハ長調の場合、Em7→Fmin →Dm7→G7 )、「I
maj→IIm7→V7→Imaj」(ハ長調の場合、Cmaj →Dm7
→G7 →Cmaj )、の順に優先準位が低くなっている。Further, the chord progression data of the same kind are given priority levels. For example, in the case of the major of the 4 chord progression (synchronous) DB shown in FIG. 5, “Imaj → VImin → II
m7 → V7 ”(in C major, Cmaj → Amin → Dm7 → G7
) Has the highest priority level, and “IIIm7 → IVmin → IIm7 → V
7 "(Em7 → Fmin → Dm7 → G7 in C major)," I
maj → IIm7 → V7 → Imaj ”(in C major, Cmaj → Dm7
→ G7 → Cmaj), and the priority levels are lower.
【0027】図6は実施例におけるメロディ分析モード
での制御プログラムのメロディ分析処理のフローチャー
ト、図7〜図17はサブルーチンのフローチャートであ
り、各フローチャートに基づいて実施例の動作を説明す
る。FIG. 6 is a flowchart of the melody analysis process of the control program in the melody analysis mode in the embodiment, and FIGS. 7 to 17 are flowcharts of the subroutine. The operation of the embodiment will be described based on each flowchart.
【0028】操作子4の操作によりメロディ分析モード
が指定されると、図6のメロディ分析処理が開始され、
ステップS1で図7のデータ入力処理を行ってメロディ
データを記憶し、コードリズム入力があればそれも記憶
し、なければコードリズム自動設定モードにする。ステ
ップS1−1ではコードリズム自動設定モードか否かを
判定し、コードリズム自動設定モードならステップS2
に、そうでなければステップS4に進む。ステップS2
では図8の区間仮分割処理を行ってメロディデータをフ
レーズに分割する。次に、ステップS3で図9のコード
リズム区間抽出処理を行って各フレーズをコードリズム
区間に分割し、ステップS4で図10の和声音抽出処理
を行うとともにステップS5で図13の和声音再抽出処
理を行って和声音を抽出し、ステップS6で図14のコ
ードリズム結合処理を行って調検出用の検出区間として
コードリズムの区間を決定する。そして、ステップS7
で図15の調検出処理を行って調を確定する。また、ス
テップS8で図17のコード検出処理を行ってコードを
決定する。When the melody analysis mode is designated by the operation of the operator 4, the melody analysis process of FIG. 6 is started,
In step S1, the data input process of FIG. 7 is performed to store the melody data, and if there is a chord rhythm input, it is also stored. If not, the chord rhythm automatic setting mode is set. In step S1-1, it is determined whether or not the chord rhythm automatic setting mode is set, and if it is the chord rhythm automatic setting mode, step S2
Otherwise, go to step S4. Step S2
Then, the section temporary division processing of FIG. 8 is performed to divide the melody data into phrases. Next, in step S3, the chord rhythm section extraction process of FIG. 9 is performed to divide each phrase into chord rhythm sections. In step S4, the chord sound extraction process of FIG. 10 is performed, and in step S5, the chord sound re-extraction of FIG. 13 is performed. A chord rhythm is extracted by performing processing, and chord rhythm combination processing of FIG. 14 is performed in step S6 to determine a chord rhythm section as a detection section for key detection. Then, step S7
Then, the key detection processing of FIG. 15 is performed to fix the key. Further, in step S8, the code is determined by performing the code detection process of FIG.
【0029】図7のデータ入力処理では、ステップS1
1で、鍵盤6からの演奏操作に基づいてメロディ入力を
行い、メロディデータをデータメモリ9に記憶する。次
に、ステップS12で、操作子4により4分の4拍子や
4分の3拍子など拍子のデータのマニュアル入力処理を
行い、ステップS13で、操作子4によるコードリズム
区間のマニュアル指定入力が無い場合には自動設定モー
ドにしてコードリズムを自動的に設定する。マニュアル
指定入力が有れば指定されたコードリズム区間の区切り
を記憶する。In the data input process of FIG. 7, step S1
At 1, the melody is input based on the performance operation from the keyboard 6, and the melody data is stored in the data memory 9. Next, in step S12, manual input processing of time signature data such as 4/4 time signature and 3/4 time signature is performed by the operator 4, and there is no manual designation input of the chord rhythm section by the operator 4 in step S13. In this case, the chord rhythm is automatically set in the automatic setting mode. If there is a manual designation input, the delimiter of the designated chord rhythm section is stored.
【0030】図8の区間仮分割処理では、ステップS2
1で、2分音符以上の音符(2分音符の符長以上に符長
が長い音符)が小節線の直前にあったときその小節線の
位置をフレーズの分割位置とする。フレーズが4小節以
上になったときは、前から4小節毎の小節線の位置をフ
レーズの分割位置として、メロディデータをフレーズに
再分割していく。なお、このとき図3(B) の場合と同様
にメロディデータにコードリズムとは異なるフレーズの
分割データを挿入することにより分割位置を記憶する。In the section temporary division processing of FIG. 8, step S2
In 1, when a note equal to or longer than a half note (a note having a note length longer than the note length of a half note) is immediately before the bar line, the position of the bar line is set as the phrase division position. When the phrase has four or more measures, the melody data is re-divided into phrases with the position of the bar line every four measures from the front as the phrase dividing position. At this time, as in the case of FIG. 3B, the division position is stored by inserting the division data of the phrase different from the chord rhythm into the melody data.
【0031】ここで、後述説明する図9のコードリズム
抽出処理において上記の記憶した各フレーズをメロディ
パターンに応じて1小節または2拍毎のコードリズム区
間にさらに仮分割するが、このときメロディパターンの
検査条件をフレーズ中の音符密度に応じて切り換えるよ
うにする。このために各フレーズに対応するフラグDV
(FN)(FNはフレーズ番号)を用い、次の処理のよ
うに、フレーズの音符密度が低いときフラグDV(F
N)を“1”とし、音符密度が高いときフラグDV(F
N)を“2”として記憶しておく。Here, in the chord rhythm extraction process of FIG. 9 which will be described later, each of the stored phrases is further divided into chord rhythm intervals of one bar or two beats according to the melody pattern. The inspection condition of is switched according to the note density in the phrase. Therefore, the flag DV corresponding to each phrase
(FN) (FN is the phrase number) is used to detect the flag DV (F
N) is set to "1" and the note density is high, the flag DV (F
N) is stored as “2”.
【0032】先ず、ステップS22で現在設定されてい
る拍子が4分の3拍子であるか否かを判定し、4分の3
拍子であればステップS23で全てのフレーズに対応す
る全てのフラグDV(all)を“1”にセットして元
のルーチンに復帰し、4分の3拍子でなければ、ステッ
プS24で読出しポインタ(データメモリ9における読
出しポインタ。以下同じ。)をセットして最初のフレー
ズに注目してステップS25に進む。First, in step S22, it is determined whether or not the currently set time signature is three quarters, and three quarters is determined.
If it is a time signature, all flags DV (all) corresponding to all the phrases are set to "1" in step S23 and the routine returns to the original routine. If it is not three quarters, the read pointer ( The read pointer in the data memory 9. The same applies hereinafter) is set and the first phrase is noted and the process proceeds to step S25.
【0033】ステップS25では、フレーズ中の音符の
うち8分音符以上の符長の合計とフレーズの長さの比が
0.6以上であるか否かを判定して、0.6以上であれ
ばフラグDV(FN)を“1”にセットし、それ以外の
ときはフラグDV(FN)を“2”にセットする。そし
て、ステップS26で現在最後のフレーズであるか否か
を判定し、最後のフレーズでなければステップS27で
読出しポインタを次のフレーズに更新してステップS2
5に進み、最後のフレーズであればそのまま元のルーチ
ンに復帰する。In step S25, it is determined whether or not the ratio of the total note length of the eighth note or more among the notes in the phrase to the phrase length is 0.6 or more, and if it is 0.6 or more. For example, the flag DV (FN) is set to "1", and otherwise the flag DV (FN) is set to "2". Then, in step S26, it is determined whether or not it is the last phrase at present, and if it is not the last phrase, the read pointer is updated to the next phrase in step S27, and step S2 is performed.
If it is the last phrase, the process returns to the original routine.
【0034】以上の処理により、4分の3拍子の場合と
4分の3拍子以外で8分音符以上の符長の合計とフレー
ズの長さの比が0.6以上の場合は、フレーズ中に符長
の長い音符が多い(音符密度が低い)とみなし、4分の
3拍子以外で8分音符以上の符長の合計とフレーズの長
さの比が0.6に満たない場合は、符長の短い音符が多
い(音符密度が高い)と見なし、図9のコードリズム抽
出処理でこの音符密度に応じて検査条件を切り換えてメ
ロディパターンを検査する。By the above processing, when the ratio of the total note length of the eighth note or more and the phrase length is 0.6 or more in the case of the three-quarter time signature and other than the three-quarter time signature, the phrase If there are many notes with long note lengths (low note density), and the ratio of the total note length of 8th notes or more to the phrase length is less than 0.6, except for the third quarter time signature, It is considered that there are many notes with a short note length (the note density is high), and in the chord rhythm extraction process of FIG. 9, the inspection condition is switched according to the note density to inspect the melody pattern.
【0035】図9において、先ず、ステップS31で読
出しポインタをセットして最初の小節に注目し、ステッ
プS32でDV(FN)=1であるか否かを判定する。
DV(FN)=1であれば(音符密度が低い)、ステッ
プS33でその現在の小節に含まれる音符が2音以下で
あるか否かを判定し、2音以下であればステップS37
で分割データを挿入して1小節のコードリズム区間に分
割する。ステップS33で2音以下でなければ、ステッ
プS34でトリルパターンを検索してトリルパターンが
1小節全体にわたっているかを検査する。なお、トリル
パターンとは、音高aと音高b(aとbの音程差は1音
以内)の音符がabab…と2回以上繰り返すパターン
である。In FIG. 9, first, in step S31, the read pointer is set to focus on the first measure, and in step S32 it is determined whether DV (FN) = 1.
If DV (FN) = 1 (note density is low), it is determined in step S33 whether the notes included in the current measure are two notes or less. If two notes or less, step S37.
Insert the divided data with and divide into chord rhythm sections of one measure. If it is not less than two notes in step S33, the trill pattern is searched in step S34 to check whether the trill pattern covers the entire one bar. Note that the trill pattern is a pattern in which the musical notes of the pitch a and the pitch b (the pitch difference between a and b is within 1 note) repeats abab ...
【0036】ステップS35の判定で、1小節のトリル
パターンであればステップS37で1小節のコードリズ
ム区間に分割し、1小節のトリルパターンでなければス
テップS36に進む。ステップS36では、1小節の全
ての音符が4分音符であるか否かを判定し、全ての音符
が4分音符であればステップS37で1小節のコードリ
ズム区間に分割し、そうでなければステップS305で
小節内に分割データを挿入して2拍ずつのコードリズム
区間に分割し、ステップS306に進む。If the trill pattern of one bar is determined in step S35, the chord rhythm section of one bar is divided in step S37. If it is not one trill pattern, the process proceeds to step S36. In step S36, it is determined whether or not all the notes of one measure are quarter notes, and if all the notes are quarter notes, it is divided into chord rhythm intervals of one measure in step S37, and otherwise. In step S305, the divided data is inserted into the bar to divide into chord rhythm sections of two beats, and the process proceeds to step S306.
【0037】一方、ステップS32でDV(FN)=1
でなければ(音符密度が高い)、ステップS38で図4
に示した特殊パターンを現在の小節内で検索し、ステッ
プS39でこの特殊パターンがあったか否かを判定す
る。この特殊パターンは1拍目から2拍目または3拍目
から4拍目にかけて現れた2拍長の発音タイミングのパ
ターンであり、2拍3拍間にまたがるようなパターンは
無視する。この特殊パターンは使用頻度が高い2拍で1
まとまりになっている。また、最初に入力したままのメ
ロディデータの原メロディパターンおよび連続する同音
高の音を1つの音としてまとめた結果生じる発音タイミ
ングパターンの場合のいずれもチェックする。図4(A)
の場合は順次進行で同方向進行のみのという条件付きで
ある。なお、順次進行とは隣り合う音符の音高差が2度
(全音または半音)で上または下に進行することであ
り、同方向とは音高が上がるか下がるかの1方向の場合
である。また、図4(B) ,(c) の場合は無条件である。On the other hand, DV (FN) = 1 in step S32.
If not (note density is high), in step S38, as shown in FIG.
The special pattern shown in is searched in the current bar, and it is determined in step S39 whether or not this special pattern exists. This special pattern is a sounding timing pattern of two beat lengths appearing from the first beat to the second beat or from the third beat to the fourth beat, and a pattern extending over two beats and three beats is ignored. This special pattern is 1 for 2 beats that are frequently used
It is organized. In addition, both the original melody pattern of the melody data which is initially input and the case of the sounding timing pattern which is generated as a result of collecting continuous tones having the same pitch as one tone are checked. Figure 4 (A)
In the case of, the condition is that the processes proceed sequentially and only in the same direction. It should be noted that “sequential progression” means that the pitch difference between adjacent notes progresses up or down by 2 degrees (whole tone or semitone), and the same direction means one direction in which the pitch rises or falls. . Further, in the cases of FIGS. 4 (B) and 4 (c), there is no condition.
【0038】この特殊パターンがあれば2拍長でひとま
とまりのパターンであるのでステップS305で2拍ず
つのコードリズム区間に分割し、特殊パターンが無けれ
ばまだ2拍ずつに決めないでステップS301で4拍長
のトリルパターンを検索する。そして、ステップS30
2の判定で4拍長のトリルパターンがあればステップS
37で1小節のコードリズム区間に分割し、4拍長のト
リルパターンが無ければステップS303で全て同音名
であるか否かを判定する。全て同音名であればステップ
S37で1小節のコードリズム区間に分割し、少なくと
も1つが異音名であれば、ステップS304で8分音符
以下の符長の音符が有るか否かを判定する。そして、8
分音符以下の音符が無ければステップS37で1小節の
コードリズム区間に分割し、8分音符以下の音符があれ
ばステップS305で2拍づつのコードリズム区間に分
割する。If there is this special pattern, it is a pattern of 2 beats in length, so it is divided into chord rhythm sections of 2 beats each in step S305. Search for 4-trill trill patterns. Then, step S30
If there is a trill pattern of 4 beats in the judgment of 2, then step S
At 37, it is divided into chord rhythm sections of one measure, and if there is no trill pattern of 4 beats, it is determined at step S303 whether or not they all have the same phonetic name. If all have the same note name, it is divided into chord rhythm sections of one measure in step S37, and if at least one is a different note name, it is determined in step S304 whether or not there is a note with a note length of eighth note or less. And 8
If there are no notes below the quarter note, the chord rhythm section of one bar is divided in step S37, and if there are notes below the eighth note, it is divided into chord rhythm sections of two beats in step S305.
【0039】以上一つの小節についての処理が終了する
と、ステップS306で現在注目している小節が最後の
小節であるか否かを判定し、最後の小節でなければステ
ップS307で読出しポインタを次の小節に更新してス
テップS32に進み、最後の小節であればそのまま元の
ルーチンに復帰する。When the processing for one bar is completed, it is determined in step S306 whether the currently focused bar is the last bar. If it is not the last bar, the read pointer is moved to the next bar in step S307. After updating to the measure, the process proceeds to step S32, and if it is the last measure, the process returns to the original routine.
【0040】以上の処理により、トリルパターンが1小
節にわたる場合、1小節の全ての音符が4分音符の場
合、1小節に4拍長のトリルパターンがある場合、1小
節で全て同音名であった場合など、1小節内で調の変化
(あるいはコードの変化)が無さそうな場合に1小節の
コードリズム区間に分割される。また、2拍長でひとま
とまりの特殊パターンがある場合や長いトリルパターン
がなかったり音名が分散している場合など、1小節内で
調の変化がありそうな場合に2拍長のコードリズム区間
に分割される。このように、メロディパターンや符長に
応じて各フレーズが1小節または2拍づつのコードリズ
ム区間に仮分割される。なお、上記のコードリズム区間
への分割の際、原メロディパターンの音符が2つのコー
ドリズム区間にまたがるときは、その音符(前のコード
リズム区間の最後の音符)の符長を分割位置で切断し、
後ろのコードリズム区間の最初の音符の前に切断した残
りの符長を示すタイ情報(図3(B) 参照)を付加する。By the above processing, if the trill pattern extends over one bar, if all the notes in one bar are quarter notes, if there is a trill pattern of four beats in one bar, then all the same names in one bar. If there is no key change (or chord change) within one measure, such as when the measure is broken, the chord rhythm section is divided into one measure. A chord rhythm with a 2-beat length is used when there is a possibility that there will be a change in key within one measure, such as when there is a special pattern that is a 2-beat length, there is no long trill pattern, or when there are scattered note names. It is divided into sections. In this way, each phrase is provisionally divided into chord rhythm intervals of one measure or two beats according to the melody pattern and the note length. In addition, when the note of the original melody pattern spans two chord rhythm sections when dividing into the above chord rhythm section, the note length of the note (the last note of the previous chord rhythm section) is cut at the dividing position. Then
Tie information (see FIG. 3 (B)) indicating the remaining chord length is added before the first note in the subsequent chord rhythm section.
【0041】次に、図10の和声音抽出処理(および図
11の和声音抽出ルール処理と図12の先取音処理)に
よりメロディの先頭からコードリズム区間の和声音を抽
出し、和声音が抽出できなかったコードリズム区間につ
いては図13の和声音再抽出処理によりメロディの後ろ
から順に和声音を再抽出する。そこで、各コードリズム
区間に対応して和声音が検出されたか否かを示す検出フ
ラグを用い、和声音の未検出状態を検出フラグ“0”で
記憶し、和声音の検出済状態を検出フラグ“1”で記憶
する。Next, the chord sound in the chord rhythm section is extracted from the beginning of the melody by the chord sound extraction process of FIG. 10 (and the chord sound extraction rule process of FIG. 11 and the pre-taken sound process of FIG. 12), and the chord sound is extracted. With respect to the chord rhythm section which could not be performed, the harmony tones are re-extracted in order from the back of the melody by the harmony tones re-extraction processing of FIG. Therefore, a detection flag indicating whether or not a harmony sound is detected corresponding to each chord rhythm section is used, the undetected state of the harmony sound is stored as a detection flag “0”, and the detected state of the harmony sound is detected. It is stored as "1".
【0042】図10の和声音抽出処理では、ステップS
41で読出しポインタをセットして最初のコードリズム
区間に注目し、ステップS42で注目コードリズム区間
の検出フラグを予め“0”(未検出)にセットしてステ
ップS43に進む。ステップS43では、注目コードリ
ズム区間の先頭が休符であり、かつ直前のコードリズム
区間に音符があり、かつその音符が和声音でないとき、
この休符を直前の音符に吸収させる。すなわち、休符デ
ータを削除し、この休符の符長を直前の音符の符長に加
えて音長データとする。In the chord sound extraction process of FIG. 10, step S
At 41, the read pointer is set to pay attention to the first chord rhythm section, at step S42, the detection flag of the chord rhythm section of interest is set to "0" (not detected) in advance, and the routine proceeds to step S43. In step S43, when the beginning of the chord rhythm section of interest is a rest, there is a note in the immediately preceding chord rhythm section, and the note is not a harmony,
This rest is absorbed by the preceding note. That is, the rest data is deleted and the rest note length is added to the note length of the immediately preceding note to obtain the note length data.
【0043】次に、ステップS44で、注目コードリズ
ム区間内で音高aと音高bの音符がabaの並びになっ
ているメロディすなわち刺繍音を含むパターンの検出を
行い(ab間,ba間に休符があってもこの休符は無視
する。)、ステップS45で刺繍音パターンが検出され
たか否かを判定する。刺繍音パターンが検出されていた
ら、ステップS46で音高aの音符を和声音、音高bの
音符を刺繍音とし、ステップS47で、注目コードリズ
ム区間の音符で音高aを1度としたときの3度音が有る
か、無ければ6度音が有るか、無ければ増4度音が有る
かを優先準位で検索し、この優先準位で検出された音を
和声音とする。そして、ステップS48でその他の音符
をその他非和声音とし、ステップS49で注目コードリ
ズム区間の検出フラグを“1”とし、ステップS402
に進む。Next, in step S44, a pattern including a melody, that is, an embroidery sound, in which the notes of the pitch a and the pitch b are arranged in aba in the focused chord rhythm section is detected (between ab and ba). Even if there is a rest, the rest is ignored.) It is determined in step S45 whether or not the embroidery sound pattern is detected. If the embroidery sound pattern is detected, the note of pitch a is set as a chord sound and the note of pitch b is set as an embroidery sound in step S46, and the pitch a is set once in the note of the chord rhythm section of interest in step S47. When there is a third tone, there is no sixth tone, and when there is no additional fourth tone, the priority level is searched for, and the sound detected at this priority level is set as a harmony tone. Then, in step S48, other notes are set to other non-harmonic sounds, in step S49, the detection flag of the chord rhythm section of interest is set to "1", and in step S402.
Proceed to.
【0044】このように刺繍音パターンに着目して和声
音を検出する一方、ステップS45で刺繍音パターンが
検出されていなければ、ステップS401で図11の和
声音抽出ルール処理を行って刺繍音パターン以外のルー
ルで和声音を抽出し、ステップS402に進む。そし
て、一つのコードリズム区間についての処理が終了する
と、ステップS402で現在の注目コードリズム区間が
最後のコードリズム区間であるか否かを判定し、最後の
コードリズム区間でなければステップS403で読出し
ポインタを次のコードリズム区間に更新してステップS
42に進み、最後のコードリズム区間であればそのまま
元のルーチンに復帰する。As described above, while focusing on the embroidery sound pattern to detect the harmony sound, if the embroidery sound pattern is not detected at step S45, the harmony sound extraction rule process of FIG. 11 is performed at step S401 to perform the embroidery sound pattern. Harmonic tones are extracted by rules other than, and the process proceeds to step S402. Then, when the processing for one chord rhythm section is completed, it is determined in step S402 whether or not the current chord rhythm section of interest is the last chord rhythm section. If it is not the last chord rhythm section, it is read in step S403. Update the pointer to the next chord rhythm section and step S
In step 42, if it is the last chord rhythm section, it returns to the original routine.
【0045】図11の和声音抽出ルール処理では、ステ
ップS410で注目コードリズム区間が休符のみである
か否かを判定し、休符のみであればそのまま元のルーチ
ンに復帰し、休符のみでなければステップS411で音
名が1種類であるか否かを判定する。音名が1種類であ
れば、ステップS412で全ての音符を和声音としてス
テップS418に進む。In the chord sound extraction rule process of FIG. 11, it is determined in step S410 whether or not the chord rhythm section of interest includes only rests, and if only rests, the process returns to the original routine and rests only. If not, it is determined in step S411 whether or not there is one kind of note name. If there is only one kind of note name, all notes are harmonized in step S412, and the flow advances to step S418.
【0046】一方、ステップS411で音名が1種類で
なければ、ステップS413で図12の先取音処理を行
う。ここで、図12の先取音処理は、例えばコードが変
化するときに後のコードの構成音を前のコードの最終拍
に先行させたアンティシペーションと称する音符に対す
る処理である。先ず、ステップS420で「次のコード
リズム区間の先頭は音符でかつ4分音符以上の符長であ
る」という条件を満足するか否かを判定し、条件を満足
しなければそのまま元のルーチンに復帰し、条件を満足
すればステップS421で現在の注目コードリズム区間
の最後が音符ならばその音符を次のコードリズム区間の
最初の音符として元のルーチンに復帰する。これにより
アンティシペーションの音符が同じコードリズム区間内
に配置される。On the other hand, if there is not one kind of note name in step S411, the pre-taken sound processing of FIG. 12 is performed in step S413. Here, the pre-taken sound process of FIG. 12 is a process for a note called anticipation in which a constituent sound of a subsequent chord precedes a final beat of the preceding chord when the chord changes, for example. First, in step S420, it is determined whether or not the condition "the beginning of the next chord rhythm section is a note and the note length is a quarter note or longer" is satisfied. If the condition is not satisfied, the original routine is directly returned to. If the condition is satisfied and the condition is satisfied, in step S421, if the last note of the current chord rhythm section of interest is a note, the note is returned to the original routine as the first note of the next chord rhythm section. As a result, the anticipation notes are arranged in the same chord rhythm section.
【0047】この先取音処理が終了すると図11におい
て、ステップS414で注目コードリズム区間の音符数
が3音であるか否かを判定し、3音あれば、ステップS
415で3音の内で最大の音高差をもつ2音を和声音と
してステップS418に進む。3音でなければ、ステッ
プS416でコードリズム区間の長さの1/2以上の符
長の音符(以下、音符iという。)があるか否かを判定
する。音符iが無ければそのまま元のルーチンに復帰
し、音符iがあれば、ステップS417で音符iを和声
音とするとともに、音符iをコード構成音とするコード
の他のコード構成音があればそれらを和声音としてステ
ップS418に進む。そして、ステップS418でその
他の音符をその他非和声音とし、ステップS419で注
目コードリズム区間の検出フラグを“1”として元のル
ーチンに復帰する。When this pre-acquired sound processing is completed, it is determined in step S414 in FIG. 11 whether or not the number of notes in the chord rhythm section of interest is three notes.
At 415, the two tones having the largest pitch difference among the three tones are set as the harmony tones, and the process proceeds to step S418. If it is not three notes, it is determined in step S416 whether or not there is a note having a note length of ½ or more of the chord rhythm section length (hereinafter referred to as note i). If there is no note i, the process returns to the original routine as it is. If there is a note i, the note i is made into a chord sound in step S417, and if there are other chord forming notes of chords having the note i as chord forming notes, those notes As a chord sound and the process proceeds to step S418. Then, in step S418, the other notes are set to other non-harmonic sounds, and in step S419, the detection flag of the chord rhythm section of interest is set to "1" and the process returns to the original routine.
【0048】以上のように図10の和声音抽出処理、図
11の和声音抽出ルール処理および図12の先取音処理
により、メロディの先頭からコードリズム区間の和声音
が抽出され、和声音が抽出されたコードリズム区間は検
出フラグが“1”となり、和声音が抽出されなかったコ
ードリズム区間は検出フラグが“0”となる。そこで、
図13の和声音再抽出処理によりメロディの最後から検
査して検出フラグが“0”のコードリズム区間について
和声音を再抽出する。As described above, the chord sound extraction process of FIG. 10, the chord sound extraction rule process of FIG. 11, and the pre-taken sound process of FIG. 12 extract the chord sound in the chord rhythm section from the beginning of the melody, and the chord sound is extracted. The detected flag is "1" for the chord rhythm section that has been played, and the detection flag is "0" for the chord rhythm section in which the chord sound is not extracted. Therefore,
The chord sound re-extraction processing of FIG. 13 is performed from the end of the melody to re-extract the chord sound for the chord rhythm section in which the detection flag is "0".
【0049】先ず、ステップS51で読出しポインタを
セットして最後のコードリズム区間に注目し、ステップ
S52で注目コードリズム区間の検出フラグ=0である
か否かを判定する。検出フラグ=0でなければすでに和
声音が検出されているので、ステップS501に進み、
検出フラグ=0であれば和声音が検出されていないので
ステップS54以降で和声音を検出する。First, in step S51, the read pointer is set to focus on the last chord rhythm section, and in step S52 it is determined whether or not the detection flag = 0 of the chord rhythm section of interest. If the detection flag is not 0, a harmony sound has already been detected, so the flow proceeds to step S501.
If the detection flag = 0, no harmony sound has been detected, so a harmony sound is detected in step S54 and subsequent steps.
【0050】ステップS54では、注目コードリズム区
間が「2音で、かつ、後ろのコードリズム区間の先頭音
が和声音で、かつ、これら3音が同方向順次進行であ
る」という条件を満足するか否かを判定し、条件を満足
すればステップS55でその3音の先頭音を和声音と
し、ステップS59に進む。In step S54, the condition that the chord rhythm section of interest is "two notes, the beginning note of the following chord rhythm section is a chord note, and these three notes are progressive in the same direction" is satisfied. If it is determined that the condition is satisfied, in step S55, the first sound of the three sounds is set as a harmony sound, and the process proceeds to step S59.
【0051】一方、ステップS54で条件を満足しなけ
れば、ステップS56で、注目コードリズム区間が「2
音で、かつ、後ろのコードリズム区間の音が1音であ
る」という条件を満足するか否かを判定し、条件を満足
すればステップS57で2番目の音符を和声音としてス
テップS59に進み、条件を満足しなければ、ステップ
S58で、注目コードリズム区間の任意の2音の音高差
で3度が有るか、無ければ6度が有るか、無ければ増4
度が有るかを優先準位で調べ、その優先準位で検出され
た音高差をもつ2音を和声音とする。なお、これらの音
高差をもつ組のうち最優先準位の同じ度数の組が2つ以
上あるときは低音側を優先する。そして、ステップS5
9でその他の音符をその他非和声音とする。On the other hand, if the condition is not satisfied in step S54, the chord rhythm section of interest is "2" in step S56.
It is a sound and the sound in the subsequent chord rhythm section is one sound "is determined, and if the condition is satisfied, the second note is set as a harmony sound in step S57 and the process proceeds to step S59. If the condition is not satisfied, in step S58, the pitch difference between any two notes in the chord rhythm section of interest is 3 degrees, 6 degrees if none, or 4 if not.
Whether or not there is a degree is checked at the priority level, and two tones having the pitch difference detected at the priority level are set as a harmony sound. If there are two or more sets having the same frequency of the highest priority level among the sets having these pitch differences, the bass side is prioritized. Then, step S5
At 9, the other notes are made into other non-harmonic sounds.
【0052】以上のように一つのコードリズム区間につ
いての和声音の検出が終了すると、ステップS501で
現在注目しているコードリズム区間が最初のコードリズ
ム区間であるか否かを判定し、最初のコードリズム区間
でなければステップS53で読出しポインタを直前のコ
ードリズム区間に更新してステップS52に進み、最初
のコードリズム区間であればそのまま元のルーチンに復
帰する。When the detection of the harmony sound for one chord rhythm section is completed as described above, it is determined in step S501 whether or not the chord rhythm section currently focused on is the first chord rhythm section. If it is not the chord rhythm section, the read pointer is updated to the immediately preceding chord rhythm section in step S53 and the process proceeds to step S52. If it is the first chord rhythm section, the original routine is directly returned.
【0053】以上の処理により、フレーズを1小節また
は2拍づつに仮分割したコードリズム区間の和声音が抽
出される。次に、このコードリズム区間への仮分割が調
検出にとって必要以上に分割されている可能性があるの
で、図14のコードリズム結合処理により、必要以上に
仮分割されたコードリズム区間をそれに含まれる和声音
に基づいて結合する処理を行う。By the above processing, the chord rhythm interval of the chord rhythm section obtained by temporarily dividing the phrase into one bar or two beats is extracted. Next, since this temporary division into chord rhythm sections may be divided more than necessary for key detection, the chord rhythm combination processing of FIG. The process of combining is performed based on the harmony sound.
【0054】図14のコードリズム結合処理では、ステ
ップS61で読出しポインタをセットして最初の小節に
注目し、ステップS62で注目小節が2拍毎のコードリ
ズム区間に分割されているか否かを判定する。2拍毎の
コードリズム区間に分割されていなければ、ステップS
64で注目小節に対してその1小節を検出区間として設
定し、ステップS66に進む。In the chord rhythm combining process of FIG. 14, the read pointer is set in step S61 to focus on the first bar, and in step S62 it is determined whether or not the bar of interest is divided into chord rhythm intervals of two beats. To do. If it is not divided into chord rhythm intervals of two beats, step S
At 64, one bar is set as a detection section for the bar of interest, and the process proceeds to step S66.
【0055】一方、注目小節が2拍毎のコードリズム区
間に分割されていれば、ステップS63で「注目小節の
全ての和声音とマッチする構成音のコードが存在し、か
つ、設定されているテンポが4分音符>46(4分音符
を1拍としたとき1分間に46拍を超えるテンポ)であ
る」という条件を満足するか否かを判定する。条件を満
足すれば、ステップS64で注目小節に対してその1小
節を検出区間として設定し、条件を満足しなければ、ス
テップS65で注目小節に対して2拍毎を検出区間とし
て設定する。そして、以上一つの小節についての処理が
終了すると、ステップS66で注目小節が最後の小節で
あるか否かを判定し、最後の小節でなければステップS
67で読出しポインタを次の小節に更新してステップS
62に進み、最後の小節であればそのまま元のルーチン
に復帰する。On the other hand, if the bar of interest is divided into chord rhythm intervals of two beats, in step S63, "the chords of the constituent sounds that match all the chords of the bar of interest are present and are set. It is determined whether or not the condition that the tempo is quarter note> 46 (tempo exceeding 46 beats per minute when one quarter note is one beat) is satisfied. If the condition is satisfied, one bar is set as the detection section for the target bar in step S64, and if the condition is not satisfied, every two beats are set as the detection section for the target bar in step S65. When the processing for one bar is completed, it is determined in step S66 whether or not the target bar is the last bar, and if it is not the last bar, step S66.
In 67, the read pointer is updated to the next bar, and step S
The process proceeds to 62, and if it is the last measure, the original routine is directly returned to.
【0056】なお、以上のコードリズム結合処理におい
ては、小節が2拍毎のコードリズム区間に仮分割されて
いる場合に、その小節の全ての和声音とマッチする構成
音のコードが存在する場合で、さらに、テンポが比較的
速い場合は、その小節内で調が変化しない可能性が高い
とみなしており、この2拍毎のコードリズム区間を1小
節にまとめて検出区間とするようにしている。In the chord rhythm combining process described above, when the bar is provisionally divided into chord rhythm intervals of two beats, there are chords of constituent sounds that match all the harmony sounds of the bar. In addition, if the tempo is relatively fast, it is considered that there is a high possibility that the key will not change within that bar, and the chord rhythm section for every two beats is grouped into one bar to be the detection section. There is.
【0057】以上のようにメロディデータを1小節また
は2拍に分割して検出区間を決定すると図15の調検出
処理で調検出を行う。先ず、ステップS71で読出しポ
インタをセットして最初の検出区間に注目し、ステップ
S72で直前の検出区間の調が確定しているか否かを判
定する。直前の検出区間の調が確定していなければ(注
目検出区間が最初の検出区間であって直前の検出区間が
存在しない場合も含む)、ステップS76で図16の候
補調抽出処理を行って検出区間の候補調を抽出し、ステ
ップS77に進む。As described above, when the melody data is divided into one bar or two beats and the detection section is determined, the key detection is performed by the key detection processing of FIG. First, in step S71, the read pointer is set to pay attention to the first detection section, and in step S72, it is determined whether the key of the immediately preceding detection section is fixed. If the key of the immediately preceding detection section is not fixed (including the case where the target detection section is the first detection section and the immediately preceding detection section does not exist), the candidate key extraction processing of FIG. The candidate tone of the section is extracted, and the process proceeds to step S77.
【0058】一方、ステップS72で直前の検出区間の
調が確定していれば、ステップS73で注目検出区間に
その確定している調に対する調外音(調の音階に無い
音)が有るか否かを判定し、調外音が有ればステップS
76に進み、調外音が無ければステップS74で注目検
出区間の調を直前の検出区間の調に確定し、ステップS
705に進む。On the other hand, if the key of the immediately preceding detected section has been confirmed in step S72, it is determined in step S73 that there is an out-of-key tone (sound that is not in the scale of the key) for the determined key in the noticed detected section. If there is an out-of-control sound, step S
76, if there is no out-of-control tone, the key of the noticed detection section is decided as the key of the immediately preceding detection section in step S74, and the step S74 is executed.
Proceed to 705.
【0059】ここで、図16の候補調抽出処理を先に説
明する。先ず、ステップS81で注目検出区間の音符の
音名をピックアップしてソートし、ステップS82で、
前掲の表1の音階音列テーブルのうちソートした音名列
に3音名以上含まれる音階音列を検索し、ステップS8
3で、マッチした音階音列があればマッチした各音階音
列と注目検出区間の和声音とが含まれる音階の調を検索
し、検出された調(複数あれば複数の調)を注目検出区
間の候補調として記憶する。そして、ステップS84
で、記憶した候補調から、注目検出区間にその調の5度
音および短7度音がある短調を候補調を除き、元のルー
チンに復帰する。以上のように候補調を抽出すると、図
15のステップS77以降で所定の条件に合えば調を確
定する。Here, the candidate tone extraction processing of FIG. 16 will be described first. First, in step S81, the note names of the notes in the target detection section are picked up and sorted, and in step S82,
From the scale sequence table of Table 1 above, a scale sequence containing three or more note names in the sorted sequence of tone names is searched, and step S8 is performed.
In step 3, if there is a matched scale string, a scale key that includes each matched scale string and the harmony sound of the target detection section is searched, and the detected key (multiple keys if there are multiple keys) is detected. It is stored as a section candidate tone. Then, step S84
Then, from the stored candidate tones, the minors having the fifth and seventh minors of the key in the noticed detection section are excluded from the candidate tones, and the process returns to the original routine. When the candidate tones are extracted as described above, the tones are determined if the predetermined conditions are met after step S77 of FIG.
【0060】先ず、ステップS77で、条件(A) 「調が
確定されていない検出区間から注目検出区間までに調の
音階の1度音と7度音とがある長調(maj)の候補調」を
ピックアップし、ステップS78で、条件(B) 「調が確
定されていない検出区間から注目検出区間までに調の音
階の1度音と5度音と7度音とがある短調(minor) の候
補調をピックアップし、ステップS79で、条件(C)
「調が確定されていない検出区間から注目検出区間まで
に調の音階の1度音と6度音と7度音とがある短調(min
or) の候補調をピックアップする。First, in step S77, the condition (A) "candidate key of major (maj) that has 1st and 7th tones of the scale of the key from the detection section where the key is not fixed to the target detection section" Then, in step S78, the condition (B) “a minor (minor) with 1st, 5th and 7th notes of the scale of the key from the detection section where the key is not fixed to the target detection section Pick a candidate tone, and in step S79, condition (C)
"There are 1st note, 6th note and 7th note in the scale of the key from the detection section where the key is not fixed to the target detection section (min
or)).
【0061】次に、ステップS701で条件(A) 〜(C)
でピックアップされた候補調が有るか否かを判定し、候
補調が無ければステップS702で注目検出区間が最後
の検出区間であるか否かを判定する。最後の検出区間で
あれば、ステップS703で、調が確定されていない検
出区間から注目検出区間までを直前に決定された調に確
定して元のルーチンに復帰し、最後の検出区間でなけれ
ば調を確定しないでステップS75に進む。Next, in step S701, conditions (A) to (C)
It is determined whether or not there is a candidate tone picked up in step S702, and if there is no candidate tone, it is determined in step S702 whether or not the target detection section is the last detection section. If it is the last detected section, in step S703, the section from the undetected detected section to the noticed detected section is fixed to the key determined immediately before and the process returns to the original routine. Without confirming the key, the process proceeds to step S75.
【0062】一方、条件(A) 〜(C) でピックアップされ
た候補調が有れば、ステップS704で、調が確定され
ていない検出区間から注目検出区間までに候補調として
最も多く挙げられた調を、この確定されていない検出区
間から注目検出区間までの調として確定して記憶し、ス
テップS705に進む。なお、最も多く挙げられた調が
複数有るときは前の検出区間(最後に確定された検出区
間)の調と同じ調、近親調優先という条件により決定す
る。また、前の調が確定されてないときは(A)(B) (C)
の優先準位でピックアップされた調に確定する。On the other hand, if there are candidate tones picked up under the conditions (A) to (C), in step S704, the candidate tones are most frequently cited from the detection section where the key is not fixed to the noticed detection section. The key is determined and stored as the key from the unfixed detection section to the target detection section, and the process proceeds to step S705. When there are a plurality of keys mentioned most, the same key as the key of the preceding detection section (finally fixed detection section) and the relative priority are determined. If the previous key has not been confirmed, (A) (B) (C)
Set to the key picked up in the priority level of.
【0063】以上の一つの検出区間についての処理が終
了すると、ステップS705で注目検出区間が最後の検
出区間であるか否かを判定し、最後の検出区間でなけれ
ばステップS75で読出しポインタを次の検出区間に更
新してステップS72に進み、最後の検出区間であれば
元のルーチンに復帰する。When the process for one detection section is completed, it is determined in step S705 whether or not the target detection section is the last detection section. If it is not the last detection section, the read pointer is moved to the next step in S75. The detection section is updated to step S72, the process proceeds to step S72, and if it is the last detection section, the process returns to the original routine.
【0064】以上のように、メロディが和声音とメロデ
ィパターンに応じて2拍または1小節の検出区間に分割
され、和声音と音名列とにより検出区間毎に候補調が抽
出され、この候補調に基づき検出区間毎に調が確定され
る。なお、図15のステップS77〜S79、ステップ
S703およびステップS704において、「調が確定
されていない検出区間から注目検出区間まで」とは、直
前の検出区間まで調が確定している場合は注目検出区間
だけを指しており、少なくとも調の確定が可能な場合
は、検出区間毎に調を確定していることになる。As described above, the melody is divided into detection sections of two beats or one measure according to the harmony sound and the melody pattern, and the candidate tone is extracted for each detection section by the harmony sound and the note name sequence. The key is determined for each detection section based on the key. In addition, in steps S77 to S79, step S703, and step S704 of FIG. 15, "from the detection section in which the key is not fixed to the target detection section" is the target detection when the key is set up to the immediately preceding detection section. When only the section is referred to and at least the key can be determined, the key is determined for each detected section.
【0065】図17のコード検出処理では、ステップS
91で検出区間が1小節単位で4つ以上連続している部
分がある場合(全て1小節単位の場合も含む)の処理を
行う。すなわち、コード進行データ中の4コード進行
(同期)の4つのコードと4つの検出区間を対応させ、
それぞれの検出区間の和声音が対応するコードの構成音
に含まれ、かつ、検出区間の1つがフレーズの最初また
は最後の場合はフレーズの最初または最後に適したコー
ドであるとき、この4つの検出区間のコードをその4コ
ード進行(同期)の4つのコードにそれぞれ決定する。
このとき、長調用のDBと短調用のDBのどちらを用い
るかは、前述のようにして求めた調(メジャまたはマイ
ナ)によって決定され、調の主音を考慮することによ
り、度数で表された和音を実和音に変換することができ
る。なお、このような4コード進行(同期)が複数ある
場合は優先準位に従って決定する。また、フレーズの最
初または最後に適したコード群は予めプログラムメモリ
2に記憶されており、それらと比較することにより適す
るか否か判別する。ここで、ある4つの検出区間におい
て、4コード進行(同期)の4つのコードと4つの検出
区間の対応がとれたとすると、次はそれに続く新たな4
つの検出区間について同様の処理を行う。一方、4つの
コードと4つの検出区間との対応がとれなかった場合、
4つの検出区間を後方へ1つすらし、前回の後ろ3区間
+新たな1区間の計4区間で同様の処理を行う。このよ
うな処理を繰り返し実行することによって、全検出区間
について4コード進行(同期)のコードが当てはまる場
合を確定していく。In the code detection process of FIG. 17, step S
At 91, processing is performed when there is a portion where four or more detection sections are continuous in units of one bar (including the case where all are in units of one bar). That is, the four codes of the four chord progressions (synchronization) in the chord progression data are associated with the four detection sections,
If the harmony sound of each detection section is included in the constituent sounds of the corresponding chord, and if one of the detection sections is the chord suitable for the beginning or end of the phrase if it is the beginning or end of the phrase, then the four detections The chords of the section are determined as four chords of the four chord progressions (synchronization).
At this time, which of the DB for the major key and the DB for the minor key is used is determined by the key (major or minor) obtained as described above, and is expressed by the frequency by considering the tonic of the key. Chords can be converted into real chords. When there are a plurality of such 4 chord progressions (synchronizations), the decision is made according to the priority level. A code group suitable for the beginning or the end of the phrase is stored in the program memory 2 in advance, and it is determined whether or not it is suitable by comparing it with them. Here, if it is assumed that the four codes in the four chord progressions (synchronization) are associated with the four detection sections in the four detection sections, the next four new detection sections
The same process is performed for each detection section. On the other hand, when the correspondence between the four codes and the four detection intervals cannot be obtained,
One of the four detection sections is moved backward, and the same processing is performed for a total of four sections including the last three sections of the previous time and a new one section. By repeatedly executing such processing, the case where the code of 4 chord progression (synchronization) is applied to all the detection sections is determined.
【0066】次に、ステップS92で前述S91でコー
ドを決定することができなかった検出区間の処理を行
う。すなわち、コードが決定されていない検出区間(ス
テップS91で処理の対象とならなかった検出区間)に
対して、コード進行データ中の4コード進行(非同期)
の4つのコードと4つの検出区間を対応させ、それぞれ
の検出区間の和声音が対応するコードの構成音に含ま
れ、かつ、検出区間の1つがフレーズの最初または最後
の場合はフレーズの最初または最後に適したコードであ
るとき、この4つの検出区間のコードをその4コード進
行(非同期)の4つのコードにそれぞれ決定する。な
お、このような4コード進行(非同期)が複数ある場合
は優先準位に従って決定する。ここで、非同期とは4つ
のコード進行が必ずしも4つの検出区間と対応するとは
限らないことを意味する。すなわち、1つのコードが複
数の検出区間に渡ってもよいということである。例え
ば、C→Am →Dm7→G7 という非同期コード進行があ
ったとする。このコード進行を、8つの検出区間に対応
させ、C→C→C→C→Am →Am →Dm7→G7 のよう
に割り振ってもよい。したがって、前述のステップS9
1において決定できなかった連続する4以上の検出区間
に対して非同期コード進行を対応させる場合、まず最初
の4区間について該区間に対応するコード進行があるか
否かを判断し、あればそのコード進行に決定し、無けれ
ば区間を1つ増やして5区間とする。そしてこの5区間
を任意に4区間にグループ化し、グループ化された4区
間についてコード進行との一致を判断する。以降、一致
するコード進行がないと判断される毎に区間を1つずつ
増やして同様の処理を行う。そして、連続する区間の最
後まで達しても一致するコード進行が見つからなかった
場合は、区間を後方へ1つずらし、同様の処理を行う。
これを連続する区間の最後4区間に達するまで繰り返し
行う。それでも一致するコード進行が見つからなかった
ときは次のステップS93へと進む。Next, in step S92, processing is performed on the detection section for which the code could not be determined in step S91. That is, four chord progressions in the chord progression data (asynchronous) with respect to the detection section in which the chord is not determined (the detection section which is not the processing target in step S91).
4 chords corresponding to the four detection intervals are included, and the harmony sounds of the respective detection intervals are included in the constituent sounds of the corresponding chords, and if one of the detection intervals is the beginning or end of the phrase, When it is the last suitable code, the codes of these four detection intervals are determined as the four codes of the four code progressions (asynchronous). If there are a plurality of such 4 chord progressions (asynchronous), it is determined according to the priority level. Here, asynchronous means that four chord progressions do not necessarily correspond to four detection intervals. That is, one code may extend over a plurality of detection intervals. For example, assume that there is an asynchronous code progression of C → Am → Dm7 → G7. This chord progression may be assigned to eight detection intervals and assigned as C → C → C → C → Am → Am → Dm7 → G7. Therefore, the above-mentioned step S9
When the asynchronous chord progression is made to correspond to four or more consecutive detection sections that could not be determined in step 1, it is first judged whether or not there is a chord progression corresponding to the section in the first four sections, and if there is, the code If it is decided to proceed, if there is not, the section is increased by 1 to make 5 sections. Then, the five sections are arbitrarily grouped into four sections, and the grouped four sections are judged to match the chord progression. Thereafter, each time it is determined that there is no matching chord progression, the section is increased by one and the same processing is performed. If no matching chord progression is found even after reaching the end of the continuous section, the section is shifted backward by one and the same processing is performed.
This is repeated until the last four sections of the continuous section are reached. If no matching chord progression is found, the process proceeds to the next step S93.
【0067】次に、ステップS93で、コードが決定さ
れなかった部分で検出区間が少なくとも3つ連続してい
る部分の処理を行う。すなわち、コードが決定されてい
ない検出区間に対して、コード進行データ中の3コード
進行の3つのコードと3つの検出区間を対応させ、それ
ぞれの検出区間の和声音が対応するコードの構成音に含
まれるとき、この3つの検出区間のコードをその3コー
ド進行の3つのコードにそれぞれ決定する。なお、この
ような3コード進行が複数ある場合は優先準位に従って
決定する。3コード進行の場合は、4コード進行(同
期)と同様に、検出区間との対応がとれなかった場合に
は、検出区間を後方へ1つずらしながら、処理を繰り返
す。Next, in step S93, a process is performed for a part where at least three detection intervals are continuous in the part where the code is not determined. That is, three chords of three chord progressions in chord progression data and three detection zones are associated with a detection zone in which no chord is determined, and the chord sounds of the respective detection zones become the constituent sounds of the corresponding chords. When included, the chords of the three detection intervals are determined as the three chords of the three chord progressions, respectively. When there are a plurality of such 3 chord progressions, it is determined according to the priority level. In the case of 3 chord progressions, as in the case of 4 chord progressions (synchronization), if there is no correspondence with the detection section, the processing is repeated while shifting the detection section by one backward.
【0068】次に、ステップS94で、コードが決定さ
れなかった部分で検出区間が少なくとも2つ連続してい
る部分の処理を行う。すなわち、コードが決定されてい
ない検出区間に対して、コード進行データ中の2コード
進行の2つのコードと2つの検出区間を対応させ、それ
ぞれの検出区間の和声音が対応するコードの構成音に含
まれるとき、この2つの検出区間のコードをその2コー
ド進行の2つのコードにそれぞれ決定する。なお、この
ような2コード進行が複数ある場合は優先準位に従って
決定する。この2コード進行の場合も4コード進行(同
期)の場合と同様の処理手順である。Next, in step S94, a process is performed on a part where at least two detection intervals are continuous in the part where the code is not determined. In other words, two chords of two chord progressions in the chord progression data are associated with two detection zones with respect to a detection zone in which no chord is determined, and the chord sound of each detection zone becomes a constituent sound of the corresponding chord. When included, the chords of the two detection intervals are determined as the two chords of the two chord progressions, respectively. In addition, when there are a plurality of such two-code progressions, it is determined according to the priority level. In the case of this 2 chord progression, the processing procedure is the same as in the case of 4 chord progression (synchronization).
【0069】次に、ステップS95で4コード進行、3
コード進行および2コード進行でコードが決定されなか
った部分の処理を行う。すなわち、コードが決定されて
いない各検出区間に対して、それぞれの検出区間の和声
音が対応するコードの構成音に含まれるコードのうち、
優先準位が最も高いコードに決定する。この処理によ
り、コード未決定区間はなくなり、全ての区間のコード
決定が完了する。Next, in step S95, 4 chord progressions, 3
The process is performed for the part where the chord is not decided in the chord progression and the 2-chord progression. That is, for each detection section for which a chord has not been determined, among the chords included in the chord tones of the chord corresponding to each detection section,
The code with the highest priority level is determined. By this processing, there is no code undecided section, and code decision of all sections is completed.
【0070】なお、上記のコード決定の際には、例えば
次表2に示したようなメロディと競合するコードは除く
ようにする。同表は根音が“C”の場合を示しているが
他の根音の場合でもメロディと競合するコードとは同表
と同じ音程関係にある。When determining the above chords, for example, chords competing with the melody as shown in Table 2 below are excluded. The table shows the case where the root note is "C", but the chords competing with the melody have the same pitch relationship as the table even when the root note is another root note.
【0071】[0071]
【表2】 [Table 2]
【0072】この実施例では、フレーズの最初または最
後に適したコードであるかを検査しているが、曲の最初
または最後に適したコードであるかを検査するようにし
てもよい。また、コード進行データはリズム種類、曲
風、テンポ、拍子などにより異なるデータベースとして
もっていてもよい。In this embodiment, it is checked whether the chord is suitable for the beginning or the end of the phrase, but it may be checked whether the chord is suitable for the beginning or the end of the song. Further, the chord progression data may be stored as a database that varies depending on the rhythm type, tune style, tempo, time signature, and the like.
【0073】以上のように、メロディデータの和声音と
音名列とを抽出し、この和声音と音名列とを含む音階か
ら調を検出するので、メロディに忠実な調検出を行うこ
とができる。また、メロディデータを和声音とメロディ
パターンに応じてフレーズより短い2拍または1小節の
検出区間に分割し、少なくとも検出可能な検出区間につ
いては検出区間毎に調を検出するので、正確な調検出を
行うことができる。As described above, since the harmony sound and the note name sequence of the melody data are extracted and the key is detected from the scale containing the harmony tone and the note name sequence, the key detection faithful to the melody can be performed. it can. In addition, the melody data is divided into detection sections of two beats or one measure shorter than the phrase according to the harmony sound and the melody pattern, and a key is detected for at least the detectable detection section for each detection section. It can be performed.
【0074】なお、実施例では、コードリズム区間を2
拍または1小節に分割するようにしているが、この分割
の長さをテンポに応じて切り換えるようにしてもよい。In the embodiment, the chord rhythm section is set to 2
Although it is divided into beats or one bar, the length of this division may be switched according to the tempo.
【0075】また、実施例では、メロディデータを区間
仮分割処理でフレーズに分割し、コードリズム区間抽出
処理で1小節または2拍の検出区間に分割するようにし
ているが、予め決められた区間(1小節単位、1拍単位
等)に分割するようにしてもよい。Further, in the embodiment, the melody data is divided into phrases by the segment temporary division process, and is divided into the detection segments of one measure or two beats by the chord rhythm segment extraction process. It may be divided into (1 bar unit, 1 beat unit, etc.).
【0076】さらに、実施例では、鍵盤から演奏データ
を入力するようにしているが、演奏データあるいはメロ
ディデータを例えばMIDIデータにより外部から供給
するようにしてもよい。このとき、MIDIや各種ネッ
トワークなどの通信インタフェース、FDやCD−RO
Mなどの記憶媒体からメロディデータを供給することが
できる。また、本願実施例では制御プログラムはプログ
ラムメモリに格納されているものとしているが、外部記
憶媒体にプログラムを格納しておき、必要に応じてCP
Uを有する装置にロードさせて用いるようにしてもよ
い。Further, in the embodiment, the performance data is input from the keyboard, but the performance data or the melody data may be supplied from the outside by MIDI data, for example. At this time, communication interfaces such as MIDI and various networks, FD and CD-RO
Melody data can be supplied from a storage medium such as M. Further, in the embodiment of the present application, the control program is stored in the program memory, but the program is stored in an external storage medium and the CP is stored if necessary.
It may be loaded into a device having U and used.
【0077】[0077]
【発明の効果】以上説明したように本発明の演奏データ
分析装置および演奏データ分析方法によれば、入力され
た演奏データから音名列または和声音と音名列を抽出し
て、この音名列または和声音と音名列とに基づいて前記
演奏データにおける調を検出するようにしたので、正確
な調を検出することができる。また、演奏データを区間
に分割して、抽出した音名列からそれぞれ区間に対応す
る調候補を抽出してこの調候補から調を決定するように
したので正確な調を検出することができる。As described above, according to the performance data analysis device and the performance data analysis method of the present invention, a note name sequence or a chord and a note name sequence are extracted from the input performance data, and the note name is extracted. Since the key in the performance data is detected based on the string or the harmony sound and the note name string, the accurate key can be detected. Also, since the performance data is divided into sections, key candidates corresponding to each section are extracted from the extracted note name sequence, and the key is determined from this key candidate, an accurate key can be detected.
【図1】本発明の実施例のメロディ分析の流れを説明す
る概念図である。FIG. 1 is a conceptual diagram illustrating a flow of melody analysis according to an embodiment of the present invention.
【図2】実施例の演奏データ分析装置を適用した電子楽
器のブロック図である。FIG. 2 is a block diagram of an electronic musical instrument to which the performance data analysis device of the embodiment is applied.
【図3】実施例におけるメロディデータと区間分析デー
タの各フォーマットを示す図である。FIG. 3 is a diagram showing each format of melody data and section analysis data in the example.
【図4】実施例における2拍長の特殊パターンを示す図
である。FIG. 4 is a diagram showing a two-beat length special pattern in an example.
【図5】実施例におけるコード進行データの一例を示す
図である。FIG. 5 is a diagram showing an example of chord progression data according to an embodiment.
【図6】実施例におけるメロディ分析処理のフローチャ
ートである。FIG. 6 is a flowchart of a melody analysis process in the embodiment.
【図7】実施例におけるデータ入力処理のフローチャー
トである。FIG. 7 is a flowchart of a data input process in the embodiment.
【図8】実施例における区間仮分割処理のフローチャー
トである。FIG. 8 is a flowchart of a section temporary division process in the example.
【図9】実施例におけるコードリズム区間抽出処理のフ
ローチャートである。FIG. 9 is a flowchart of chord rhythm section extraction processing in the embodiment.
【図10】実施例における和声音抽出処理のフローチャ
ートである。FIG. 10 is a flowchart of a harmony sound extraction process in the embodiment.
【図11】実施例における和声音抽出ルール処理のフロ
ーチャートである。FIG. 11 is a flowchart of a harmony sound extraction rule process in the embodiment.
【図12】実施例における先取音処理のフローチャート
である。FIG. 12 is a flowchart of a pre-taken sound process in the embodiment.
【図13】実施例における和声音再抽出処理のフローチ
ャートである。FIG. 13 is a flowchart of a harmony sound re-extraction process according to the embodiment.
【図14】実施例におけるコードリズム結合処理のフロ
ーチャートである。FIG. 14 is a flowchart of chord rhythm combination processing in the embodiment.
【図15】実施例における調検出処理のフローチャート
である。FIG. 15 is a flowchart of a key detection process in the embodiment.
【図16】実施例におけるコード検出処理のフローチャ
ートである。FIG. 16 is a flowchart of a code detection process in the embodiment.
【図17】実施例におけるベースパターンについての音
高変換処理のフローチャートである。FIG. 17 is a flowchart of a pitch conversion process for a bass pattern in the example.
1…CPU、2…プログラムメモリ、3…ワーキングメ
モリ、4…操作子、6…鍵盤、9…データメモリ、10
…コードシーケンスDB。1 ... CPU, 2 ... Program memory, 3 ... Working memory, 4 ... Operator, 6 ... Keyboard, 9 ... Data memory, 10
... Code sequence DB.
Claims (8)
力する演奏データ入力手段と、 複数の各調において、各調を特徴づける主要音名からな
る音名列を記憶した音名列記憶手段と、 前記演奏データ入力手段によって入力された演奏データ
に含まれる複数の音名に、少なくとも一部が含まれる音
名列を、前記音名列記憶手段から抽出する音名列抽出手
段と、 前記音名列抽出手段によって抽出された音名列に基づい
て調を検出する調検出手段と、を備えることを特徴とす
る演奏データ分析装置。1. Performance data input means for inputting performance data indicating a note sequence, and note name sequence storage means for storing a note name sequence consisting of main note names characterizing each key in a plurality of keys. Note name string extracting means for extracting from the note name string storing means a note name string containing at least a part of a plurality of note names included in the playing data input by the playing data input means; A musical performance data analyzing apparatus, comprising: a key detecting unit that detects a key based on the note name string extracted by the column extracting unit.
力する演奏データ入力手段と、 複数の各調において、各調を特徴づける主要音名からな
る音名列を記憶した音名列記憶手段と、 前記演奏データ入力手段によって入力された演奏データ
に含まれる複数の音名に、少なくとも一部が含まれる音
名列を、前記音名列記憶手段から抽出する音名列抽出手
段と、 前記演奏データ入力手段によって入力された演奏データ
に含まれる和声音を抽出する和声音抽出手段と、 前記音名列抽出手段によって抽出された音名列に基づい
て調を検出する調検出手段と、を備えることを特徴とす
る演奏データ分析装置。2. Performance data input means for inputting performance data indicating a note sequence, and note name string storage means for storing a note name string consisting of main note names characterizing each key in a plurality of keys. Note name string extracting means for extracting from the note name string storing means a note name string containing at least a part of a plurality of note names included in the playing data input by the playing data input means; Harmonic sound extracting means for extracting a harmonic sound contained in the performance data input by the input means, and key detecting means for detecting a key based on the note name string extracted by the note name string extracting means. Performance data analysis device characterized by.
力する演奏データ入力手段と、 前記演奏データ入力手段によって入力された演奏データ
を所定の区間に分割する区間分割手段と、 複数の各調において、各調を特徴づける主要音名からな
る音名列を記憶した音名列記憶手段と、 前記区間分割手段によって分割された区間の演奏データ
に含まれる複数の音名に、少なくとも一部が含まれる音
名列を、前記音名列記憶手段から抽出する音名列抽出手
段と、 前記音名列抽出手段によって抽出された音名列に基づい
て、前記区間毎の調を検出する調検出手段と、を備える
ことを特徴とする演奏データ分析装置。3. A performance data input means for inputting performance data indicating a sequence of notes, a section dividing means for dividing the performance data input by the performance data input means into predetermined sections, and a plurality of keys, At least a part is included in the note name string storage unit that stores a note name string consisting of main note names that characterize each key, and a plurality of note names included in the performance data of the section divided by the section dividing unit. A note name string extracting means for extracting a note name string from the note name string storing means, and a key detecting means for detecting a key for each section based on the note name string extracted by the note name string extracting means; A performance data analysis device comprising:
力する演奏データ入力手段と、 前記演奏データ入力手段によって入力された演奏データ
の中から刺繍音パターンを検出する刺繍音検出手段と、 前記検出された刺繍音パターンのうちの一部の音を和声
音に決定するとともに、刺繍音パターンのうちの残りの
部分を刺繍音として非和声音に決定し、前記決定された
和声音と所定の音程関係にある演奏データを和声音に決
定する和声音決定手段と、を備えることを特徴とする演
奏データ分析装置。4. Performance data input means for inputting performance data indicating a note sequence, embroidery sound detection means for detecting an embroidery sound pattern from the performance data input by the performance data input means, and the detected. A part of the embroidery sound pattern is determined as a harmony sound, and the remaining part of the embroidery sound pattern is determined as a non-harmonic sound as an embroidery sound, and the determined harmony sound and a predetermined pitch relationship A performance data analysis device, comprising: a harmony sound determining means for determining the performance data in FIG.
主要音名からなる音名列を音名列記憶手段に記憶してお
き、 音符のシーケンスを示す演奏データを入力し、 前記入力された演奏データに含まれる複数の音名に、少
なくとも一部が含まれる音名列を、前記音名列記憶手段
から抽出し、 前記抽出された音名列に基づいて調を検出すること、を
特徴とする演奏データ分析方法。5. In a plurality of tones, a note name sequence consisting of main note names that characterize each tone is stored in a note name sequence storage means, and performance data indicating a note sequence is input, A plurality of note names included in the performance data, a note name string at least a part of which is extracted from the note name string storage means, and a key is detected based on the extracted note name string. Characteristic performance data analysis method.
主要音名からなる音名列を音名列記憶手段に記憶してお
き、 音符のシーケンスを示す演奏データを入力し、 前記入力された演奏データに含まれる複数の音名に、少
なくとも一部が含まれる音名列を、前記音名列記憶手段
から抽出し、 前記入力された演奏データに含まれる和声音を抽出し、 前記抽出された音名列と和声音とに基づいて調を検出す
ること、を特徴とする演奏データ分析装置。6. In a plurality of keys, a note name string consisting of main note names that characterize each key is stored in a note name string storage means, and performance data indicating a note sequence is input, A plurality of note names included in the performance data, a note name string including at least a part thereof is extracted from the note name string storage means, and a chord sound included in the input performance data is extracted; A performance data analysis device, characterized in that a key is detected on the basis of a reproduced note name sequence and a harmony sound.
主要音名からなる音名列を音名列記憶手段に記憶してお
き、 音符のシーケンスを示す演奏データを入力し、 前記入力された演奏データを所定の区間に分割し、 前記分割した区間の演奏データに含まれる複数の音名
に、少なくとも一部が含まれる音名列を、前記音名列記
憶手段から抽出し、 前記抽出された音名列に基づいて、前記区間毎の調を検
出すること、を特徴とする演奏データ分析方法。7. In a plurality of keys, a note name string consisting of main note names that characterize each key is stored in a note name string storage means, and performance data indicating a note sequence is input, The performance data is divided into predetermined sections, and a note name sequence in which at least a part of a plurality of note names included in the performance data of the divided section is extracted from the note name sequence storage means, A performance data analysis method, wherein the key for each section is detected based on the generated note name sequence.
力し、 前記入力された演奏データの中から刺繍音パターンを検
出し、 前記検出された刺繍音パターンのうちの一部の音を和声
音に決定するとともに、刺繍音パターンのうちの残りの
部分を刺繍音として非和声音に決定し、 前記決定された和声音と所定の音程関係にある演奏デー
タを和声音に決定すること、を特徴とする演奏データ分
析方法。8. A performance data indicating a sequence of notes is input, an embroidery sound pattern is detected from the input performance data, and a part of the detected embroidery sound pattern is converted into a harmony sound. Along with the determination, the rest of the embroidery sound pattern is determined as a non-harmonic sound as an embroidery sound, and performance data having a predetermined pitch relationship with the determined harmony sound is determined as a harmony sound. How to analyze performance data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17957396A JP3216529B2 (en) | 1995-07-11 | 1996-07-09 | Performance data analyzer and performance data analysis method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17524895 | 1995-07-11 | ||
JP7-175248 | 1995-07-11 | ||
JP17957396A JP3216529B2 (en) | 1995-07-11 | 1996-07-09 | Performance data analyzer and performance data analysis method |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000313698A Division JP3591444B2 (en) | 1995-07-11 | 2000-10-13 | Performance data analyzer |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0981145A true JPH0981145A (en) | 1997-03-28 |
JP3216529B2 JP3216529B2 (en) | 2001-10-09 |
Family
ID=26496576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17957396A Expired - Fee Related JP3216529B2 (en) | 1995-07-11 | 1996-07-09 | Performance data analyzer and performance data analysis method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3216529B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012068548A (en) * | 2010-09-27 | 2012-04-05 | Casio Comput Co Ltd | Key determination device and key determination program |
JPWO2021100679A1 (en) * | 2019-11-20 | 2021-05-27 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11361741B2 (en) * | 2019-06-21 | 2022-06-14 | Obeebo Labs Ltd. | Systems, devices, and methods for harmonic structure in digital representations of music |
JP7525153B2 (en) | 2020-10-14 | 2024-07-30 | 国立大学法人 香川大学 | Tactile Sensor |
-
1996
- 1996-07-09 JP JP17957396A patent/JP3216529B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012068548A (en) * | 2010-09-27 | 2012-04-05 | Casio Comput Co Ltd | Key determination device and key determination program |
US8648241B2 (en) | 2010-09-27 | 2014-02-11 | Casio Computer Co., Ltd. | Key determination apparatus and storage medium storing key determination program |
JPWO2021100679A1 (en) * | 2019-11-20 | 2021-05-27 | ||
WO2021100679A1 (en) * | 2019-11-20 | 2021-05-27 | ヤマハ株式会社 | Information processing system, keyboard instrument, information processing method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP3216529B2 (en) | 2001-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3704980B2 (en) | Automatic composer and recording medium | |
US5852252A (en) | Chord progression input/modification device | |
US6417437B2 (en) | Automatic musical composition method and apparatus | |
JP2000514571A (en) | Automatic improvisation system and method | |
US5696343A (en) | Automatic playing apparatus substituting available pattern for absent pattern | |
US6294720B1 (en) | Apparatus and method for creating melody and rhythm by extracting characteristic features from given motif | |
US6100462A (en) | Apparatus and method for generating melody | |
JP5293710B2 (en) | Key judgment device and key judgment program | |
US6486390B2 (en) | Apparatus and method for creating melody data having forward-syncopated rhythm pattern | |
JP3216529B2 (en) | Performance data analyzer and performance data analysis method | |
Pardo et al. | Automated partitioning of tonal music | |
US6031171A (en) | Performance data analyzer | |
JPH0990952A (en) | Chord analyzing device | |
JP3591444B2 (en) | Performance data analyzer | |
JPH0926790A (en) | Playing data analyzing device | |
JPH0926789A (en) | Playing data analyzing device | |
JP3163654B2 (en) | Automatic accompaniment device | |
Sutcliffe et al. | The C@ merata task at MediaEval 2016: Natural Language Queries Derived from Exam Papers, Articles and Other Sources against Classical Music Scores in MusicXML. | |
JP3271331B2 (en) | Melody analyzer | |
JP3807333B2 (en) | Melody search device and melody search program | |
JP3163653B2 (en) | Tonality judgment device | |
JPH05346781A (en) | Key detecting device and automatic music arranging device | |
JP3316547B2 (en) | Chording device | |
JP2000163064A (en) | Music generating device and recording medium which records music generating program | |
JPH0511763A (en) | Note property judging deivce and automatic accompaniment device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010703 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070803 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080803 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090803 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100803 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100803 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110803 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120803 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |