JP2638905B2 - Automatic composer - Google Patents

Automatic composer

Info

Publication number
JP2638905B2
JP2638905B2 JP63073379A JP7337988A JP2638905B2 JP 2638905 B2 JP2638905 B2 JP 2638905B2 JP 63073379 A JP63073379 A JP 63073379A JP 7337988 A JP7337988 A JP 7337988A JP 2638905 B2 JP2638905 B2 JP 2638905B2
Authority
JP
Japan
Prior art keywords
data
chord
harmonic
scale
melody
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
Application number
JP63073379A
Other languages
Japanese (ja)
Other versions
JPH01246584A (en
Inventor
純一 南高
真弓 猪野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KASHIO KEISANKI KK
Original Assignee
KASHIO KEISANKI KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KASHIO KEISANKI KK filed Critical KASHIO KEISANKI KK
Priority to JP63073379A priority Critical patent/JP2638905B2/en
Publication of JPH01246584A publication Critical patent/JPH01246584A/en
Application granted granted Critical
Publication of JP2638905B2 publication Critical patent/JP2638905B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [発明の技術分野] 本発明は自動作曲機に関し、特にコード進行とメロデ
ィ特徴パラメータに従ってメロディを自動生成するタイ
プの自動作曲機に関する。
Description: TECHNICAL FIELD The present invention relates to an automatic composer, and more particularly to an automatic composer of a type that automatically generates a melody according to a chord progression and a melody feature parameter.

[背景] 本件出願人は特願昭62−121037号(昭和62年5月20日
出願)、特願昭62−325179号(昭和62年12月24日)にお
いて、コード進行とメロディ特徴パラメータ(メロディ
の性格や様式を表わす情報)を基にメロディを自動生成
する自動作曲機を提案している。
[Background] The applicant of the present application filed a Japanese Patent Application No. 62-121037 (filed on May 20, 1987) and a Japanese Patent Application No. 62-325179 (December 24, 1987) with reference to chord progression and melody feature parameters ( We have proposed an automatic composer that automatically creates a melody based on the melody's character and style.

コード進行に関して、これらの出願では、使用者が直
接コード進行を入力する方式と、マルコフモデルによる
コード進行の自動生成による方式を挙げている。しかし
ながら、前者の方式は、使用者がコード進行の作成能力
をもっていることを想定しているため、コードに関する
音楽知識のない使用者は利用できない。また後者の方式
ではコード間の推移頻度を乱数化することにより、非常
に多数のコード進行が生成可能となるものの、一度に得
られるコード進行は1つであるので、使用者の希望する
ようなコード進行(または最終的な曲)が得られるまで
に多くの試行を繰り返さなければならないという問題が
ある。
Regarding chord progression, these applications cite a method in which a user directly inputs a chord progression, and a method in which a chord progression is automatically generated by a Markov model. However, the former method assumes that the user has the ability to create chord progressions, and thus cannot be used by users without musical knowledge of chords. Also, in the latter method, a very large number of chord progressions can be generated by randomizing the transition frequency between codes, but only one chord progression can be obtained at a time. There is a problem that many trials must be repeated until a chord progression (or final song) is obtained.

上述のタイプの自動作曲機の場合、最終的な曲の特徴
はどのようなコード進行を選んだかにより相当程度左右
される。したがって、使用者の意図する曲が効率的に得
られるようなコード進行を自動生成する技術の必要性が
ある。
In the case of an automatic composer of the type described above, the characteristics of the final song depend to a large extent on the chord progression chosen. Therefore, there is a need for a technique for automatically generating a chord progression such that a song intended by the user can be efficiently obtained.

[発明の目的] すなわち、本発明は上述の特許出願の発明を改良した
ものであり、所望のコード進行を効率よく自動生成する
ことにより、使用者の作曲の負担を軽減した自動作曲機
を提供することを目的とする。
[Object of the Invention] That is, the present invention is an improvement of the invention of the above-mentioned patent application, and provides an automatic composer in which the burden of composing on a user is reduced by automatically generating a desired chord progression efficiently and efficiently. The purpose is to do.

[発明の構成] 本発明は上記の目的を達成するため、コード進行情報
とメロディ特徴パラメータとに基づいてメロディを生成
するメロディ生成手段を備える自動作曲機において、曲
の感覚の度合を設定入力する設定入力手段と、設定され
た感覚の度合を目標として上記コード進行情報を生成す
るコード進行生成手段とを設けたことを特徴とする。
[Constitution of the Invention] In order to achieve the above object, the present invention sets and inputs the degree of sensation of a song in an automatic music machine having a melody generating means for generating a melody based on chord progression information and a melody feature parameter. The present invention is characterized in that a setting input means and a chord progression generating means for generating the chord progression information with the degree of the set feeling as a target are provided.

[発明の作用、展開] 本発明によれば、作曲の基礎情報となるコード進行は
曲の感覚の度合を設定する設定入力手段と設定された感
覚の度合に従ってコード信号を生成するコード進行生成
手段とによって形成される。したがって、使用者は所望
のコード進行(最終的には所望の曲)のために、設定入
力手段を介して曲の感覚の度合を設定するのみでよい。
よって、使用者の作曲の負担は軽くなるとともに、音楽
的知識に習熟していない人でも本自動作曲機を用いて作
曲を楽しむことができる。
According to the present invention, the chord progression serving as the basic information for composition is set input means for setting the degree of feeling of the music, and the chord progression generating means for generating a chord signal in accordance with the set degree of feeling. And formed by Therefore, the user only has to set the degree of feeling of the music via the setting input means for a desired chord progression (eventually, a desired music).
Therefore, the burden of composition on the user is reduced, and even a person who is not proficient in musical knowledge can enjoy composition using the automatic composer.

一構成例において、上記コード進行生成手段は複数の
曲のコード進行を記憶する記憶手段と、この記憶手段に
記憶された各コード進行の感覚の度合を評価する評価手
段と、この評価手段の各評価結果を設定入力手段からの
感覚の度合と照合して最適のコード進行を選択する選択
手段とから成る。
In one configuration example, the chord progression generation means includes a storage means for storing chord progressions of a plurality of songs, an evaluation means for evaluating a degree of sense of each chord progression stored in the storage means, Selecting means for comparing the evaluation result with the degree of feeling from the setting input means and selecting an optimum chord progression.

別の構成例において、上記コード進行生成手段は乱数
的にコード進行を自動生成する生成手段と、この生成手
段からの各コード進行の感覚の度合を評価する評価手段
と、この評価手段の各評価結果を設定入力手段からの感
覚の度合と照合して最適のコード進行を選択する選択手
段とから成る。
In another configuration example, the chord progression generation means automatically generates a chord progression on a random basis, an evaluation means for evaluating a degree of a sense of each chord progression from the generation means, and each evaluation of the evaluation means. Selecting means for comparing the result with the degree of feeling from the setting input means and selecting an optimum chord progression.

[実施例] 以下、図面を参照して本発明の実施例について説明す
る。
Example An example of the present invention will be described below with reference to the drawings.

全体構成 第1図に本実施例に係る自動作曲機の全体構成を示
す。CPU1は本装置におけるコード進行自動生成機能と自
動作曲機能を実現するための制御装置である。なお、自
動作曲機能の部分は上述した特願昭62−325176号の実施
例と同様である。ワークメモリ2にはCPU1が動作中に使
用する各種の変数、データが一時記憶される。入力装置
3からはモチーフ、パルススケール(リズムの制御に用
いられる)の種類、音階の種類が入力されるほか、コー
ド進行の基礎情報として感覚の度合が入力される。コー
ド進行データベース4は複数曲のコード進行を記憶する
メモリである。モチーフメモリ5には入力されたモチー
フが記憶される。メロディ特徴パラメータメモリ6に
は、モチーフとコード進行を分析して得たメロディの特
徴を表現するメロディ特徴パラメータが記憶される。プ
ロダクションルールメモリ7はメロディに含まれる非和
声音を分類する音楽知識(プロダクションルール)を記
憶する。この音楽知識はモチーフに含まれる非和声音を
分類する場合、アルペジオに非和声音を付加する場合に
利用される。パルススケールメモリ8は各種のパルスス
ケールを記憶するメモリであり、作曲の開始時、使用者
はこのパルススケールのセットのなかから所望のパルス
スケールを選択することができる。選択されたパルスス
ケールはメロディのリズム(音長列)の生成に利用され
る。音階データメモリ9は各種の音階を表わすデータを
記憶するメモリであり、作曲に先立ち、使用者は曲で使
用する音階をこのメモリ9のなかから選択することがで
きる。メロディデータメモリ10には完成したメロディの
データが記憶される。モニター11はCRT、音源、サウン
ドシステム等を含み、作曲結果、その他のメッセージを
出力、表示する。
Overall Configuration FIG. 1 shows the overall configuration of the automatic music composer according to the present embodiment. The CPU 1 is a control device for realizing a chord progression automatic generation function and an automatic music function in the present apparatus. The automatic music function is the same as that of the above-mentioned Japanese Patent Application No. 62-325176. Various variables and data used during the operation of the CPU 1 are temporarily stored in the work memory 2. The input device 3 inputs a motif, a type of pulse scale (used for controlling rhythm), a type of scale, and a degree of feeling as basic information of chord progression. The chord progression database 4 is a memory for storing chord progressions of a plurality of songs. The motif memory 5 stores the input motif. The melody feature parameter memory 6 stores a melody feature parameter expressing a melody feature obtained by analyzing a motif and chord progression. The production rule memory 7 stores music knowledge (production rules) for classifying non-harmonic sounds included in the melody. This musical knowledge is used when classifying non-harmonic sounds included in the motif, and when adding non-harmonic sounds to the arpeggio. The pulse scale memory 8 is a memory for storing various pulse scales. At the start of composition, a user can select a desired pulse scale from this set of pulse scales. The selected pulse scale is used to generate the melody rhythm (length sequence). The scale data memory 9 is a memory for storing data representing various scales, and the user can select a scale to be used in the music from the memory 9 before composing. The melody data memory 10 stores the data of the completed melody. The monitor 11 includes a CRT, a sound source, a sound system, etc., and outputs and displays a composition result and other messages.

以下、コード進行生成と自動作曲に分けて本実施例を
説明する。
Hereinafter, the present embodiment will be described separately for chord progression generation and automatic music.

コード進行生成 本実施例では、使用者が所望のコード進行にアクセス
するために、入力装置3から感覚の度合が設定入力され
る。これに対して、CPU1は、コード進行データベース4
から各コード進行を読み出し、それぞれの感覚の度合を
評価する。そして、各評価値を設定入力された感覚の度
合と照合し、最も良く一致するコード進行を選択する。
Chord Progression Generation In this embodiment, the degree of feeling is set and input from the input device 3 in order for the user to access a desired chord progression. On the other hand, the CPU 1 operates the chord progress database 4
, Each chord progression is read out, and the degree of each sense is evaluated. Then, each evaluation value is compared with the degree of the sense that has been set and input, and the chord progression that matches the best is selected.

第2図に感覚の度合を設定入力する入力装置の構成例
を示す。この例では、感覚の種類として、2種類の感覚
「明るさ」と「エッセンス」が用意されており、明るさ
の指定は明るさスイッチ3−1により行われエッセンス
の指定はエッセンススイッチ3−2により行われる。各
感覚の度合は度合ボリューム3−3より入力される。
FIG. 2 shows a configuration example of an input device for setting and inputting the degree of feeling. In this example, two types of sensations “brightness” and “essence” are prepared, and the brightness is specified by the brightness switch 3-1 and the essence is specified by the essence switch 3-2. It is performed by The degree of each sense is input from the degree volume 3-3.

第3図にコード進行データベース4の一例を示す。ア
ドレス0には曲(コード進行)の数LIMITが記憶され
((A)参照)、アドレス1〜アドレスLIMITには、各
コード進行のデータの先頭アドレスが記憶される
((B)参照)。例えばアドレス1のデータ100は、1
曲目のコード進行データの先頭がアドレス100に記憶さ
れていることを示している。実際のコード進行データは
同図の(C)、(D)に示すようになっている。この例
では、偶数のアドレスにはコードデータが奇数のアドレ
スにはその音長データが記憶されている。コードデータ
は、上位8ビットがコードタイプを表わし、下位8ビッ
トがコードの根音を表わす。具体的には、コードタイプ
については、例えば 0:メジャー、1:マイナー、2:ディミニッシュ、3:オーギ
ュメント、4:サスフォー、5:セブンス、6:マイナーセブ
ンス、7:マイナーシックス、8:シックス、9:メジャーセ
ブンス のようにデータが割り当てられる。根音データについて
は、例えば、 0:C、1:C、2;D、3:E、4:E、5:F、6:F、7:G、8:A
、9:A、a:B、b:B のように割り当てられる。音長データについては、音長
の最小を1としその整数倍で表わされる。例えば第3図
のアドレス100のデータ000とアドレス101のデータ10に
より、Cのメジャーコードでその音長が最小の16倍であ
ることが示される。
FIG. 3 shows an example of the chord progression database 4. At address 0, the number of songs (chord progressions) LIMIT is stored (see (A)), and at address 1 to address LIMIT, the head address of the data of each chord progression is stored (see (B)). For example, data 100 at address 1 is 1
This indicates that the beginning of the chord progression data of the music piece is stored at address 100. The actual chord progression data is as shown in (C) and (D) of FIG. In this example, the code data is stored in the even address and the tone length data is stored in the odd address. In the code data, the upper 8 bits represent the code type, and the lower 8 bits represent the root of the code. Specifically, for the chord types, for example, 0: major, 1: minor, 2: diminished, 3: augmented, 4: sustained, 5: seventh, 6: minor seventh, 7: minor six, 8: six, 9: Data is assigned like Major Seventh. For root data, for example, 0: C, 1: C # , 2; D, 3: E , 4: E, 5: F, 6: F # , 7: G, 8: A
, 9: A, a: B , and b: B. The sound length data is represented by an integral multiple of the minimum sound length of one. For example, the data 000 at the address 100 and the data 10 at the address 101 in FIG. 3 indicate that the note length is 16 times the minimum in the C major code.

第4図は後述するコード進行生成のフローで使用する
変数のリストである。
FIG. 4 is a list of variables used in the flow of chord progression generation described below.

第5図は明るさの指定に対するコード進行生成のゼネ
ラルフローを示している。5−1でユーザーから入力装
置1のスイッチ1−1、1−3を通して明るさの度合が
入力される。これに対し、CPU2は、最小値のレジスタMI
Nを初期化し(5−2)、コード進行データベース5の
アドレス0にある曲(コード進行)の総数をLIMITに読
み込む(5−3)。そして、コード信号のカウンタNを
“1"(第1曲目)に初期化し(5−4)、以降、ループ
5−5から5−9において、N曲目のコード進行につい
て評価する。すなわち、N曲目のコード進行データをコ
ード進行データベース5より読み出し(5−6)、その
明るさの度合を算出し(5−7)、その算出値がユーザ
ーの選択した明るさの度合と最も近ければ、その値を記
憶する(5−8)、コード進行のカウンタNをインクリ
メントし(5−9)、曲の総数LIMITを越えるまで(5
−5)、上記のループ処理をくり返す。最後に5−10
で、ユーザーの選択した感覚の度合IDEGREEに最も近い
コード進行を選択する。
FIG. 5 shows the general flow of chord progression generation for the designation of brightness. At 5-1 the user inputs the degree of brightness through the switches 1-1 and 1-3 of the input device 1. On the other hand, the CPU 2
N is initialized (5-2), and the total number of songs (chord progressions) at address 0 of the chord progression database 5 is read into LIMIT (5-3). Then, the code signal counter N is initialized to "1" (first music piece) (5-4), and thereafter, in the loops 5-5 to 5-9, the chord progression of the N music piece is evaluated. That is, the chord progression data of the Nth tune is read from the chord progression database 5 (5-6), the degree of brightness is calculated (5-7), and the calculated value is closest to the degree of brightness selected by the user. For example, the value is stored (5-8), the chord progress counter N is incremented (5-9), and the count N exceeds the total number of songs (LIMIT) (5-9).
-5), repeat the above loop processing. Finally 5-10
Then, the chord progression closest to the degree of IDEGREE selected by the user is selected.

第6図に第5図の5−6の詳細を示す。6−1におい
てポインタPを、着目しているN曲目のコード進行の先
頭番地に初期化し、6−2において、EOFに次の曲の先
頭番地(したがって着目しているコード進行の終了を表
わすデータ)をセットし、6−3において、コードのカ
ウンタIを0に初期化する。そして、6−4から6−9
のループにおいて、N曲目のコード進行におけるI番目
のコードデータをCD(I)にセットし、その音長データ
をCR(I)にセットしている。ループを抜けた6−10
で、CDNOにN曲目のコード進行に含まれるコードの総数
Iをセットする。
FIG. 6 shows details of 5-6 in FIG. In 6-1, the pointer P is initialized to the start address of the chord progression of the N-th track of interest, and in 6-2, the start address of the next tune (the data indicating the end of the chord progression of interest) is stored in EOF. ) Is set, and the code counter I is initialized to 0 in 6-3. And 6-4 to 6-9
In this loop, the I-th chord data in the chord progression of the N-th music is set in CD (I), and its duration data is set in CR (I). 6-10 out of the loop
Then, the total number I of chords included in the chord progression of the Nth music is set in CDNO.

第7図に第5図の5−7の詳細を示す。この例では、
メジャー系のコードを明るいコードとみて、コード進行
に含まれるメジャー系のコードの占める割合を算出する
ことにより、明るさの度合を求めている。詳細には、7
−1で、メジャー系のコードの全長MLを0に初期化し、
曲の全長ALを0に初期化し、7−2でコードのカウンタ
Iを1に初期化する。そして、ループ7−3〜7−8の
7−3において、コードデータからコードのタイプの情
報を取り出し、7−4でそれがメジャー系かどうかを判
別する。メジャー系でないときは、7−6に示すように
音長ALの累算のみを実行するが、メジャー系のときには
メジャー系である音長MLの累算を合わせて行う(7−5
参照)。この処理を、コードカウンタIがコード総数CD
NOになるまでくり返す(7−7、7−8)。この結果、
MLには着目しているコード進行においてメジャー系のコ
ードの全音長が設定され、ALにはコード進行の全長が設
定される。そこで両者の比をとって、メジャー系のコー
ドの全音長が占める割合DEGREE(N)を求めている(7
−9)。
FIG. 7 shows details of 5-7 in FIG. In this example,
The degree of brightness is determined by calculating the ratio of the major chords included in the chord progression by regarding the major chords as bright chords. For details, see 7
At -1, the total length ML of the major chord is initialized to 0,
The full length AL of the music is initialized to 0, and the chord counter I is initialized to 1 at 7-2. Then, in a loop 7-3 to 7-8 7-3, code type information is extracted from the code data, and in a loop 7-4, it is determined whether or not it is a major system. If not the major system, only the accumulation of the pitch AL is performed as shown in 7-6, but if the system is the major system, the accumulation of the duration ML which is the major system is performed together (7-5).
reference). This processing is performed by the code counter I when the total number of codes is CD.
Repeat until it becomes NO (7-7, 7-8). As a result,
In ML, the entire note length of the major chord in the focused chord progression is set, and in AL, the total length of the chord progression is set. Therefore, the ratio DEGREE (N) occupied by the total pitch of the major chord is calculated by taking the ratio of both (7).
-9).

第8図は第5図の5−8の詳細である。それまでの最
小値MLNより、今回のDEGREE(N)とユーザーの設定し
た明るさの度合IDEGREEとの差が小さいとき、その差がM
INに設定される(8−1、8−2)。したがって、ゼネ
ラルフロー(第5図)の5−10に入る段階では、レジス
タMINには、コード進行データベース5のコード進行の
明るさの評価値とユーザーの設定した明るさの度合との
差の最小値が入っている。
FIG. 8 is a detail of 5-8 in FIG. If the difference between the current DEGREE (N) and the degree of brightness IDEGREE set by the user is smaller than the previous minimum value MLN, the difference is M
It is set to IN (8-1, 8-2). Therefore, at the stage of entering 5-10 of the general flow (FIG. 5), the register MIN stores the minimum difference between the evaluation value of the chord progression brightness in the chord progression database 5 and the brightness level set by the user. Contains a value.

第9図のフロー(5−10の詳細)では、この最小値の
差をもつコード進行を選択している。すなわち、コード
進行のカウンタNを1に初期化し(9−1)、N曲目の
コード進行に関して、そのDEGREE(N)が最小値MINに
等しいかどうかをチェックし(9−2)、等しければ、
そのフラグFN(N)に1をセットする(9−3)。これ
をN=1〜LIMITまでくり返し実行する(9−4、9−
5)。この結果、配列{FN(N)}のなかで、“1"が立
っているフラグは、対応するコード進行が明るさの度合
の点で、ユーザーの指定したものと最もよく一致するコ
ード進行であることを表わしている。
In the flow of FIG. 9 (details of 5-10), a chord progression having a difference between the minimum values is selected. That is, the chord progression counter N is initialized to 1 (9-1), and for the chord progression of the Nth tune, it is checked whether DEGREE (N) is equal to the minimum value MIN (9-2).
The flag FN (N) is set to 1 (9-3). This is repeated from N = 1 to LIMIT (9-4, 9-
5). As a result, in the array {FN (N)}, a flag with “1” set indicates a chord progression whose corresponding chord progression best matches the one specified by the user in terms of brightness. It indicates that there is.

第10図は、感覚の指定としてエッセンスの度合が指定
される場合のゼネラルフローを示している。ここに、エ
ッセンス系となるコードは、メジャーとマイナーとセブ
ンスを除くコードとしている。ステップ10−1におい
て、エッセンススイッチ1−2と度合スイッチ1−3が
操作される点と、ステップ10−2内でエッセンス系かど
うかの判別が行われる点を除いては、上述した明るさに
関するフロー(第5図〜第9図)と同様の処理であるの
でこれ以上の説明は省略する。
FIG. 10 shows a general flow when the degree of essence is specified as the specification of the sense. Here, the essence-based code is a code excluding major, minor, and seventh. In step 10-1, except for the point that the essence switch 1-2 and the degree switch 1-3 are operated and the point of determining whether or not it is an essence system in step 10-2, the brightness related to the brightness described above is used. Since the processing is the same as that of the flow (FIGS. 5 to 9), further description is omitted.

上記実施例では、コード進行源として、コード進行デ
ータベース5を用いているがこれには限られない。例え
ば、乱数的にコード進行を自動生成する手段が利用でき
る。この種の生成フローを第11図に例示する。同図にお
いて、D(i、j)はコードiからコードjに推移する
頻度を表わしている。この配列{D(i、j)}は図示
しない頻度テーブルメモリに置かれる。またRNDは、所
定の範囲内で一様に分布する乱数を生成する関数であ
る。
In the above embodiment, the chord progression database 5 is used as a chord progression source, but the invention is not limited to this. For example, means for automatically generating a chord progression on a random basis can be used. FIG. 11 shows an example of this kind of generation flow. In the figure, D (i, j) represents the frequency of transition from code i to code j. This array {D (i, j)} is stored in a frequency table memory (not shown). RND is a function for generating random numbers uniformly distributed within a predetermined range.

第11図のフローに従うと、11−1と11−2でコード進
行の最初のコードを設定している。11−3から11−11で
(i+1)番目のコードをi番目のコードからの推移頻
度に乱数の重みを加えて求めている。すなわち、レジス
タmaxを0に初期化し(11−3)、実行回数jを0に初
期化した後(11−4)、a=P(CD(i)、j)+RND
により、乱数の導入されたコード推移頻度aを求め(11
−5)、その値がmaxよりも大きければ(11−6)、そ
の値でmaxを更新し(11−7)、(i+1)番目のコー
ドデータのレジスタCD(i+1)にコードデータjを代
入する(11−8)。これを所定の回数くり返し実行する
ことにより、(i+1)番目のコードが確定する。その
後iをインクリメントして、iが所定の数値に達するま
で(11−12、11−13)、次のコードの生成処理11−3〜
11−11をくり返す。
According to the flow of FIG. 11, the first chord progression is set at 11-1 and 11-2. From (11-3) to (11-11), the (i + 1) -th code is obtained by adding the weight of the random number to the transition frequency from the i-th code. That is, after the register max is initialized to 0 (11-3) and the number of executions j is initialized to 0 (11-4), a = P (CD (i), j) + RND
To determine the code transition frequency a into which the random number is introduced (11
-5) If the value is larger than max (11-6), the value of max is updated with that value (11-7), and the code data j is assigned to the register CD (i + 1) of the (i + 1) th code data. (11-8). By repeating this process a predetermined number of times, the (i + 1) -th code is determined. Thereafter, i is incremented, and until i reaches a predetermined numerical value (11-12, 11-13), the next code generation processing 11-3 to 11-3
Repeat 11-11.

したがって、第11図の処理を行う毎に、1つのコード
進行が生成される。この生成されたコード進行を上述し
た仕方で評価してユーザーの指定した感覚の度合と照合
する。第11図の処理は適当な回数実行したら打ち切る。
Therefore, each time the processing of FIG. 11 is performed, one chord progression is generated. The generated chord progression is evaluated in the above-described manner, and is compared with the degree of the feeling specified by the user. The process of FIG. 11 is terminated when the process is executed an appropriate number of times.

なお、第11図の頻度テーブル{D(CD(i)、j)}
は所望であればなくてもよい。あるいは、複数の頻度テ
ーブルと、各テーブルに対する明るさ等の感覚の度合を
記憶しておき、ユーザーの指定した感覚量と最も近い頻
度テーブルを見つけ出し、その頻度テーブルに若干の乱
数を付与して複数のコード進行を得、そのなかで希望す
るコード進行をユーザーに選択させるようにしてもよ
い。
The frequency table {D (CD (i), j)} in FIG. 11
May not be required if desired. Alternatively, a plurality of frequency tables and the degree of sensation such as brightness for each table are stored, a frequency table closest to the amount of sensation specified by the user is found, and a slight random number is assigned to the frequency table to obtain a plurality of frequency tables. May be obtained, and the user can select a desired chord progression.

自動作曲 本例の自動作曲装置は音を和声音と非和声音とに分け
て作曲するアプローチを採用している。作曲の基礎とな
るデータとして、上述した仕方で生成されたコード進行
情報、モチーフ(使用者から入力されるメロディ)、生
成するメロディのリズムないし音長列の制御に用いるパ
ルススケール、基本となる音階の種類が与えられる。モ
チーフに含まれる各音は各区間で使用されるコード情報
を用いることで、和声音と非和声音とに識別される。モ
チーフから非和声音を除いた部分はモチーフのアルペジ
オ(分散和声)である。このアルペジオから、アルペジ
オの特徴とアルペジオの音型に含まれる特徴的要素が抽
出される。また、和声音と非和声音との識別がつけられ
たモチーフに対しては、非和声音を分類する音楽知識
(これは後述するプロダクションルールデータメモリに
記憶されている)を利用することにより、モチーフに含
まれる各非和声音のタイプ(特徴)を抽出できる。すな
わち、モチーフのなかに、どのような非和声音がどのよ
うに分布しているかを示す情報(非和声音の特徴)が得
られる。さらにコード進行からは、曲の階層構造と調性
構造とが抽出される。上記アルペジオの特徴、非和声音
の特徴、曲の階層構造、調性構造等はメロディ特徴パラ
メータを構成する。
Automatic Composition The automatic composition apparatus of this example employs an approach of composing a sound by dividing the sound into a harmony and a non-harmony. The chord progression information, motifs (melody input from the user) generated as described above, pulse scale used for controlling the rhythm or length sequence of the generated melody, and the basic scale are used as basic data for composition. Is given. Each sound included in the motif is identified as a harmony or a non-harmony by using chord information used in each section. The part excluding the non-harmonic tone from the motif is the arpeggio of the motif (dispersion chord). From this arpeggio, features of the arpeggio and characteristic elements included in the tone of the arpeggio are extracted. In addition, for motifs that are distinguished between a harmonious sound and a non-harmonic sound, music knowledge for classifying the non-harmonic sound (which is stored in a production rule data memory described later) is used. The type (characteristic) of each non-harmonic sound included in the motif can be extracted. That is, information (characteristics of non-harmonic sounds) indicating what non-harmonic sounds are distributed in the motif and how are obtained. Further, from the chord progression, the hierarchical structure and tonality structure of the music are extracted. The features of the arpeggio, the features of the non-harmonics, the hierarchical structure of the music, the tonal structure, and the like constitute the melody feature parameters.

メロディの生成は、アルペジオの生成工程、非和声音
の付加工程、音長列の生成工程から成る。アルペジオの
生成工程では、コード進行情報から抽出した上記階層構
造によって、アルペジオの生成が制御される。階層構造
により新しいアルペジオの生成が指示される場合、アル
ペジオの特徴(モチーフから抽出したアルペジオの特徴
またはそれを修飾したもの)からアルペジオの音型が生
成され、生成されたアルペジオの音型に対応するコード
を適用することにより音高列で表現されるアルペジオが
生成される。このようにして生成されたアルペジオに対
して非和声音が付加される。非和声音を付加するのに上
述した音楽知識が再度利用される。アルペジオに非和声
音を付加することによりメロディの音高列が完成する。
一方、メロディの音長列の方は、次のようにして得られ
る。すなわち、基本となるリズム(音長列)を目標音符
数(例えば和声音と非和声音の合計の数)になるよう
に、パルススケールを使って最適結合または最適分割す
る。どの音符がどの位置で分割または結合されるかは選
択したパルススケールがもつ各パルス点の重みに依存す
る。したがって一貫性のあるリズム制御が可能である。
The generation of the melody includes an arpeggio generation step, a non-harmonic sound addition step, and a pitch sequence generation step. In the arpeggio generation step, arpeggio generation is controlled by the hierarchical structure extracted from the chord progression information. When a new arpeggio is generated according to the hierarchical structure, the arpeggio features are generated from the arpeggio features (features of the arpeggio extracted from the motif or modified versions thereof) and correspond to the generated arpeggio styles. By applying the chord, an arpeggio represented by a pitch sequence is generated. A non-harmonic tone is added to the arpeggio generated in this manner. The music knowledge described above is again used to add non-harmonic sounds. The pitch sequence of the melody is completed by adding a non-harmonic sound to the arpeggio.
On the other hand, the melody note length sequence is obtained as follows. In other words, the basic rhythm (length sequence) is optimally combined or optimally divided using a pulse scale so as to have a target number of notes (for example, the total number of harmony and non-harmony). Which note is divided or combined at which position depends on the weight of each pulse point of the selected pulse scale. Therefore, consistent rhythm control is possible.

<作曲ゼネラルフロー> 第12図に作曲ゼネラルフローを示す。<Composition general flow> Fig. 12 shows the composition general flow.

12−1の初期設定では、使用者より自動作曲機に対し
て、作曲のための基本的な情報が入力される。使用者が
自動作曲機に知らせる情報として、(1)BEAT、(2)
パルススケールの種類(3)音階(4)全自動かモチー
フ入力が示されている。BEATは基本単位長の音符(最短
の音符)の数で表わされる1小節の長さであり、したが
って曲の拍子を規定するものである。例えば、4拍子系
の曲に対しては、音符の基本単位長を16分音符とすると
BEAT=16を設定すれば1小節の長さは4拍となる。12−
1で選択するパルススケールは自動作曲機が作曲する曲
のリズムを一次的に制御する情報である。パルススケー
ルは、基本単位長の間隔をもつ各パルス点に、音符の結
合のしやすさまたは音符の分割のしやすさを表わす重み
が付けられたスケールであり(第17図、第22図参照)、
このパルススケールを使用することによりメロディの音
長列が制御される。したがって、パルススケールの種類
を選択するということは、自動作曲機が作曲する曲のリ
ズムの特徴を選択していることに相当する。12−1で選
択される音階の種類(例えば、ダイアトニックスケー
ル)は、自動作曲機が作曲において使用する音階であ
る。さらに初期設定12−1においては、作曲を全自動で
行うか、モチーフを基に行うかが使用者により決定され
る。全自動のときは、作曲に必要なデータとして、
(1)コード進行、(2)プロダクションルール(3)
パルススケールがワークメモリ10上に読み込まれ(4−
3)、(1)基本とするリズム(音長パターン)、
(2)アルペジオの特徴(PCi:第15図参照)、(3)非
和声音の特徴(RSi:第15図参照)から成るエッセンスが
使用者の指示に従って生成される(12−4)。一方、モ
チーフを利用する作曲モードでは、データ読み込み12−
5として上述のデータ以外にモチーフ(入力メロディ)
も読み込まれ、エッセンスとしての(1)リズム(2)
アルペジオパターン(3)アルペジオパターンの特徴、
(4)非和声音の特徴は、このモチーフから抽出される
(12−5)。特に、非和声音の特徴はプロダクションル
ールに基づく推論によって得られる。全自動、モチーフ
利用モードのいずれの場合も、コード進行評価12−7が
行われ、ここで(1)階層構造(2)調性構造(3)ス
ケールがコード進行情報から抽出される。この階層構造
はコード進行に内在する曲の一貫性と多様性を表現した
ものである。また、調性構造は各区間において使用する
音階のキー(基音)を規定するものである。「スケー
ル」で示す処理は、ある種の特殊コードの区間では、初
期設定した音階にかかわらず特定の音階を使用するため
にある。この12−7までの処理で、作曲のための「分析
的作業」が完了している。例えば、アルペジオの特徴
は、アルペジオパターンの生成に必要な情報であり、非
和声音の特徴は、アルペジオに付加する非和声音を特徴
づけるものである。プロダクションルールは、アルペジ
オに付加する非和声音が適正か否かの推論に使用され
る。また調性構造は、各区間のメロディの音の候補を制
約する。階層構造は、新たにアルペジオパターンを生成
するか否かを決めるのに利用できる。またパルススケー
ルはリズムの生成に利用される。メロディ生成12−8で
は、(1)アルペジオパターン(LLi:第15図参照)の選
択的生成、(2)アルペジオパターンの音域の設定
(3)音高表現のアルペジオの生成(4)非和声音の付
加、(5)リズムの生成が実行される。
In the initial setting of 12-1, basic information for composing is input by the user to the automatic music machine. The information that the user informs the automatic composer includes (1) BEAT, (2)
The pulse scale type (3) scale (4) fully automatic or motif input is shown. BEAT is the length of one measure represented by the number of notes of the basic unit length (the shortest note), and thus defines the time signature of a song. For example, if the basic unit length of a note is a sixteenth note for a quadruple tune,
If BEAT = 16 is set, the length of one bar is 4 beats. 12−
The pulse scale selected in step 1 is information for temporarily controlling the rhythm of a song composed by the automatic composer. The pulse scale is a scale in which each pulse point having an interval of the basic unit length is weighted to indicate the ease of combining notes or dividing notes (see FIGS. 17 and 22). ),
The use of this pulse scale controls the melody tone train. Therefore, selecting the type of the pulse scale corresponds to selecting the rhythmic feature of the song composed by the automatic composer. The type of scale (for example, diatonic scale) selected in 12-1 is the scale used by the automatic composer in composing music. Further, in the initial setting 12-1, the user determines whether to compose the music automatically or to perform it based on the motif. In the case of full automatic, as data necessary for composition,
(1) chord progression, (2) production rules (3)
The pulse scale is read into the work memory 10 (4-
3), (1) basic rhythm (tone length pattern),
An essence composed of (2) arpeggio features (PCi: see FIG. 15) and (3) non-harmonic features (RSi: see FIG. 15) is generated according to the user's instructions (12-4). On the other hand, in the composition mode using motifs,
Motif (input melody) other than the above data as 5
(1) Rhythm (2) as essence
Arpeggio pattern (3) Features of arpeggio pattern,
(4) Non-harmonic features are extracted from this motif (12-5). In particular, non-harmonic features are obtained by inference based on production rules. In both cases of the fully automatic mode and the motif use mode, a chord progress evaluation 12-7 is performed, where (1) a hierarchical structure, (2) a tonality structure, and (3) a scale are extracted from the chord progress information. This hierarchical structure expresses the consistency and diversity of the songs inherent in the chord progression. Further, the tonality structure defines a key (fundamental tone) of a scale used in each section. The process indicated by "scale" is for using a specific scale in a certain special chord section regardless of the initially set scale. With the processing up to 12-7, the "analytical work" for composition has been completed. For example, the characteristics of the arpeggio are information necessary for generating an arpeggio pattern, and the characteristics of the non-harmonic sound characterize the non-harmonic sound added to the arpeggio. The production rule is used to infer whether the non-harmonic sound added to the arpeggio is appropriate. The tonality structure also restricts the melody sound candidates in each section. The hierarchical structure can be used to determine whether to generate a new arpeggio pattern. The pulse scale is used for generating a rhythm. In melody generation 12-8, (1) selective generation of arpeggio patterns (LLi: see FIG. 15), (2) setting of a range of arpeggio patterns (3) generation of arpeggios of pitch expression (4) non-harmonic sounds (5) Rhythm generation is performed.

<変数リスト、データ形式> 後述するフローで使用される主な変数のリストを第13
図に、データ形式を第14図〜第18図に示す。なおデータ
形式は単なる例示であり、その他の任意の適当なデータ
形式が使用可能である。
<Variable list, data format> The list of main variables used in the flow described later
The data format is shown in FIG. 14 to FIG. The data format is merely an example, and any other appropriate data format can be used.

<初期設定> 作曲ゼネラルフロー(第12図)における初期設定12−
1の詳細を第19図に例示する。この初期設定で選択する
BEATの意味、パルススケールの種類(PULS)、音階の種
類(ISCALE)の意味、全自動又はモチーフ入力の意味は
第12図に関して説明したのでここでは省略する。PULSの
値は、パルススケールメモリ8(第1図)に記憶される
特定のパルススケールへのポインタとなり、ISCALEの値
は音階データメモリ9に記憶される特定の音階データへ
のポインタとなる。
<Initial settings> Initial settings in the composition general flow (Fig. 12)
FIG. 19 shows an example of the details of (1). Select with this initial setting
The meaning of BEAT, the type of pulse scale (PULS), the type of scale (ISCALE), and the meaning of fully automatic or motif input have been described with reference to FIG. 12, and will not be described here. The value of PULS is a pointer to a specific pulse scale stored in the pulse scale memory 8 (FIG. 1), and the value of ISCALE is a pointer to specific scale data stored in the scale data memory 9.

<データ読み込み> 第12図の作曲ゼネラルフローに示すように、初期設定
の後、12−3または12−5においてデータ読み込みが実
行される。全自動の場合は、作曲の基礎データとしてモ
チーフは使用されないのでモチーフデータの読み込みは
行われない。各データの読み込みについて以下説明す
る。
<Data Reading> As shown in the composition general flow of FIG. 12, after initial setting, data reading is performed at 12-3 or 12-5. In the case of full automatic, motif data is not read because no motif is used as basic data for composition. The reading of each data will be described below.

第20図はコード進行データベース4(第1図)のうち
で、作曲に使用されるコード進行データ例を示す。第21
図はこのコード進行データをロードするフローチャート
である。第20図に示すメモリマップでは、コードの種類
(CDi)は偶数アドレスに置かれ、そのコードの長さが
次のアドレス(奇数アドレス)に置かれている。例え
ば、16進表示で507の値をもつCDiは、G7thのコードを表
わし、10の値をもつCRiはコード長が基本時間長(例え
ば16分音符)の16倍であることを表わしている。
FIG. 20 shows an example of chord progression data used for composition in the chord progression database 4 (FIG. 1). 21st
The figure is a flowchart for loading the chord progress data. In the memory map shown in FIG. 20, the code type (CDi) is placed at an even address, and the length of the code is placed at the next address (odd address). For example, CDi with hexadecimal value of the display 507 represents the code G 7th, CRi code length with a value of 10 indicates that a 16 times the fundamental time length (e.g., sixteenth note) .

第21図において、レジスタCDiには作曲する曲のi番
目の出現するコードが入り、CRiにはその長さが入る。
またCDNOにはコードの総数が入る。その他の点について
は第21図の記載から明らかであるので説明は省略する。
In FIG. 21, the register CDi contains the i-th appearing code of the tune to be composed, and CRi contains the length thereof.
CDNO contains the total number of codes. The other points are apparent from the description of FIG. 21 and will not be described.

第22図にパルススケールメモリ8(第1図)に記憶さ
れるパルススケールデータ例を示す。第23図はパルスス
ケールメモリ8から初期設定において選択した種類のパ
ルススケールをロードするフローチャートである。この
例の場合、初期設定において作曲する曲のリズムの特徴
を選択するために選択したパルススケールの種類(PUL
S)は、パルススケールメモリ8における特定のアドレ
ス(例えば0)を指しており、そのアドレスには、選択
したパルススケールデータの開始アドレスが入ってい
る。この開始アドレスには、パルススケールを構成する
サブスケール(0と1の重みしかもたないスケール)の
数が記憶され、後続アドレスに各サブスケールのデータ
が記憶されている。例えばノーマルのパルススケール
は、5つのサブスケールFFFF、5555、1111、0101、0001
(16進表現)から成り、対応する2進表現を第17図に示
してある。ノーマルのパルススケールの場合、最初のパ
ルス点(第17図の一番右側の位置)の重みが最大の5と
なっており、このことは、ノーマルのパルススケールを
選択した場合、生成されるリズムの各区間(小節)の最
初の位置に最も音符が存在しやすいことを表わしてい
る。
FIG. 22 shows an example of pulse scale data stored in the pulse scale memory 8 (FIG. 1). FIG. 23 is a flowchart for loading the pulse scale of the type selected in the initial setting from the pulse scale memory 8. In this example, the pulse scale type (PUL) selected in the initial setting to select the rhythm characteristics of the song to be composed
S) indicates a specific address (for example, 0) in the pulse scale memory 8, and the address contains the start address of the selected pulse scale data. The start address stores the number of sub-scales (scales having only weights of 0 and 1) constituting the pulse scale, and data of each sub-scale is stored in the subsequent address. For example, the normal pulse scale has five sub-scales FFFF, 5555, 1111, 0101, and 0001.
(Hexadecimal representation) and the corresponding binary representation is shown in FIG. In the case of the normal pulse scale, the first pulse point (the rightmost position in FIG. 17) has a maximum weight of 5, which indicates that the rhythm generated when the normal pulse scale is selected. Indicates that a note is most likely to be present at the first position of each section (measure).

第24図はプロダクションルールデータメモリ7(第1
図)に記憶されるプロダクションルールデータの例を示
している。第25図はこのメモリ6に記憶されたデータを
読み込むフローチャートである。プロダクションルール
の全体は、メロディに含まれる非和声音を分類するため
の音楽知識を表現したものであり、各プロダクションル
ールデータは、ルールの前提部を規定するデータとして
下限データLi、関数の種類を指示する関数指示データX
i、上限データUiを有し、ルールの結論部としてデータY
iとNiを有する。関数は分析するメロディの特徴を数値
表現したもので、その例は後述する第41図に示される。
データXiで示される関数の値FxiがLi以上でかつUi以下
である(Li≦Fxi≦Ui)というのがプロダクションルー
ルの前提部(命題)であり、この前提部が成立するとき
の結論がデータYiで示され、この前提部が不成立のとき
の結論がデータNiで示されている。そして、データYiま
たはNiが正の値をもつときは、その値が前向推論におい
て次に参照すべきプロダクションルールの番号を示し、
負の値をもつときは、その絶対値によって非和声音の種
類が表現される。前向推論は必ず1つのルールから開始
され、このルールのことをルートと呼ぶ。負の値をもつ
結論YiまたはNiをみつけたときに前向推論は終了する。
FIG. 24 shows the production rule data memory 7 (No. 1).
2) shows an example of production rule data stored in FIG. FIG. 25 is a flowchart for reading the data stored in the memory 6. The entire production rule expresses musical knowledge for classifying non-harmonic sounds included in the melody, and each production rule data includes lower limit data Li and a function type as data that prescribes a premise of the rule. Function instruction data X to indicate
i, upper limit data Ui, and data Y as the conclusion of the rule
It has i and Ni. The function is a numerical expression of the feature of the melody to be analyzed, and an example thereof is shown in FIG. 41 described later.
It is a premise (proposition) of the production rule that the value Fxi of the function represented by the data Xi is equal to or more than Li and equal to or less than Ui (Li ≦ Fxi ≦ Ui), and the conclusion when this premise is satisfied is data It is indicated by Yi, and the conclusion when this premise is not satisfied is indicated by data Ni. When the data Yi or Ni has a positive value, the value indicates the number of the next production rule to be referred in forward inference,
When it has a negative value, the type of the non-harmonic sound is represented by its absolute value. Forward inference always starts with one rule, and this rule is called a root. Forward finding ends when it finds a negative conclusion Yi or Ni.

第24図に示すプロダクションルールデータのアドレス
割当の場合、各プロダクションルールのデータは下限デ
ータLiのアドレスを先頭として5つの連続するアドレス
に、記憶される。詳細には5で割り切れるアドレスにLi
が、5で割った余り1のアドレスにXiが、余り2のアド
レスにUiが、余り3のアドレスにYiが、余り4のアドレ
スにNiのデータが記憶される。
In the case of address assignment of the production rule data shown in FIG. 24, the data of each production rule is stored in five consecutive addresses starting from the address of the lower limit data Li. For details, Li is an address divisible by 5.
Xi is stored at the address of remainder 1 divided by 5, Ui is stored at the address of remainder 2, Yi is stored at the address of remainder 3, and Ni is stored at the address of remainder 4.

第25図においてRULENOには、プロダクションルールの
総数がセットされる。その他の点については上述の説明
とフローの記載から明らかである。
In FIG. 25, RULENO is set with the total number of production rules. The other points are clear from the above description and the description of the flow.

第26図はモチーフメモリ5に記憶されるモチーフデー
タ(メロディデータ)の例を示す。第27図は作曲の基に
なるモチーフデータを読み込むフローチャートである。
第26図の場合、偶数アドレスに音符の音高データMDiが
その次の奇数アドレスに、その音符の音長データMRiが
記憶されている。第27図のMDNOにはモチーフの音符数が
セットされる。
FIG. 26 shows an example of motif data (melody data) stored in the motif memory 5. FIG. 27 is a flowchart for reading the motif data that is the basis of the composition.
In the case of FIG. 26, the pitch data MDi of the note is stored at the even address, and the pitch data MRi of the note is stored at the next odd address. The number of notes in the motif is set in MDNO in FIG.

以上でデータ読み込みの説明を終える。 This concludes the description of data reading.

<エッセンスの生成> モチーフを使用しない全自動の作曲のモードではデー
タ読み込みの後、曲のエッセンスとしてリズム、アルペ
ジオパターンの特徴、非和声音の特徴を生成する(第12
図の12−4)。第28図にこのエッセンス生成のフローチ
ャートを示す。これらのエッセンスは、使用者の指定あ
るいは完全自動で生成される。例えば、22−1における
基準リズムパターンの設定は、自動リズムパターン生成
手段、例えは拍子として4/4拍子、パルススケールとし
てノーマルが選択されているときに を基準リズムパターンとして自動生成するような手段あ
るいは使用者が好みのリズムパターンを入力することで
行われる。22−2のアルペジオパターンの特徴設定と22
−3の非和声音の特徴設定についても自動または使用者
の入力により行われる。第29図には乱数発生等によりア
ルペジオパターンの特徴を自動設定するフローチャート
を、第30図には非和声の特徴を使用者が入力することに
より設定するフローチャートを例示する。
<Generation of essence> In a fully automatic composition mode that does not use a motif, after data is read, rhythm, arpeggio pattern features, and non-harmonic features are generated as the essence of the song (No. 12).
Figure 12-4). FIG. 28 shows a flowchart of this essence generation. These essences are specified by the user or generated automatically. For example, the setting of the reference rhythm pattern in 22-1 is performed when the automatic rhythm pattern generation unit is selected, for example, when the time signature is 4/4 time and the pulse scale is normal. Is automatically generated as a reference rhythm pattern or the user inputs a favorite rhythm pattern. 22-2 Arpeggio pattern feature setting and 22
The feature setting of the non-harmonic tone of -3 is also performed automatically or by user input. FIG. 29 exemplifies a flowchart for automatically setting the features of the arpeggio pattern by random number generation and the like, and FIG. 30 exemplifies a flowchart for setting the non-harmonic features by the user inputting them.

アルペジオパターンの特徴設定(第29図)におけるPC
1〜PC5は所定長の区間(例えば小節)内のアルペジオを
構成する和声音の数、最高音の和声音、最低音の和声
音、隣り合う和声音間の差の最大値、隣り合う和声音間
の差の最小値をそれぞれ表わす(第15図参照)。各PC
は、区間毎に生成可能であり、そのとりうる値の上限と
下限を設定し、その間で乱数を発生することで得られ
る。あるいは、曲の進行に対するPCの系列をデータベー
スに用意しておき、所望のPC系列を選択するようにして
もよい。
PC in feature setting of arpeggio pattern (Fig. 29)
1 to PC 5 are the number of harmony to form an arpeggio in a section (for example, a bar) of a predetermined length, the highest harmony, the lowest harmony, the maximum value of the difference between adjacent harmony, the adjacent sum. The minimum value of the difference between voices is shown (see FIG. 15). Each PC
Can be generated for each section, and can be obtained by setting upper and lower limits of possible values and generating a random number therebetween. Alternatively, a series of PCs for the progress of the music may be prepared in a database, and a desired PC series may be selected.

第30図の非和声音の特徴設定では、モニターにより、
各非和声音の種類aに対応するキーワードを表示して、
使用者の入力を促している(24−2)。RSiの配列に使
用者の入力した非和声音識別子aの系列が入る(24−
3、24−6、24−7)。入力の終りを示すコードEOIを
呼んだとき、RSNOに非和声音の数を入れてフローを抜け
る(24−8)。
In the non-harmonic feature setting in Fig. 30,
Displaying the keyword corresponding to each non-harmonic tone type a,
The user is prompted for input (24-2). The sequence of the non-harmony identifier a input by the user is entered in the RSi array (24−
3, 24-6, 24-7). When the code EOI indicating the end of the input is called, the number of non-harmonics is put in RSNO and the flow exits (24-8).

<エッセンスの抽出> モチーフを利用する作曲モードではデータ読み込みの
後、モチーフから曲のエッセンス(リズム、アルペジオ
パターン、アルペジオパターンの特徴、非和声音の特
徴)が抽出される(第12図、12−6)。
<Extraction of essence> In the composition mode using a motif, after reading data, the essence (rhythm, arpeggio pattern, arpeggio pattern feature, and non-harmonic feature) of the song is extracted from the motif (Fig. 12, 12-). 6).

モチーフのリズム評価を第31図に、アルペジオパター
ンの抽出を第35図に、アルペジオパターンの特徴抽出を
第38図に、非和声音の特徴抽出を第39図に例示する。こ
れらのフローでは、各エッセンスは区間(小節)ごとに
行っている。
The rhythm evaluation of the motif is illustrated in FIG. 31, the arpeggio pattern extraction is illustrated in FIG. 35, the arpeggio pattern feature extraction is illustrated in FIG. 38, and the non-harmonic feature extraction is illustrated in FIG. 39. In these flows, each essence is performed for each section (measure).

第31図のリズム評価において、25−1におけるPsには
対象の小節の先頭の音符が曲の何番目の音符であるかを
示す位置情報が入り、PssにはPsで示される小節の先頭
の音符が前小節にはみ出している長さ(基本時間表現)
が入り、Peには対象の小節の最後の音符(次小節の先頭
の音符より1つ前の音符)の位置情報が入る。25−2に
示すrrは対象の小節のリズムパターンを格納する16ビッ
トのレジスタであり、1小節の長さを16とすると、レジ
スタrrの最初のビット位置は、小節の最初の基本時間を
表わし、同様にN番目のビット位置は小節の頭からN番
目の基本時間を表わす。25−3〜25−9までの処理は、
モチーフの音符Psから音符Peまでにある音符の位置をモ
チーフ音長データMRiを使って求め、レジスタrrの対応
するビット位置に記入する処理である。例えば、rrとし
て、 0001000100010001 の結果が得られたとすると、このパターンrrは対象の小
節の1拍目、2拍目、3拍目、4拍目に音が発生するこ
とを表わしている。
In the rhythm evaluation of FIG. 31, Ps in 25-1 contains position information indicating the number of the note at the beginning of the measure of the target bar, and Pss is the head of the bar indicated by Ps in Pss. Length of note protruding into previous bar (basic time expression)
, And Pe contains the positional information of the last note of the target bar (the note immediately preceding the first note of the next bar). Rr shown in 25-2 is a 16-bit register for storing the rhythm pattern of the target bar. If the length of one bar is 16, the first bit position of the register rr indicates the first basic time of the bar. Similarly, the Nth bit position represents the Nth basic time from the beginning of the bar. The processing from 25-3 to 25-9 is
In this process, the positions of the notes from the note Ps to the note Pe of the motif are obtained using the motif note length data MRi, and are written in the corresponding bit positions of the register rr. For example, if a result of 0001000100010001 is obtained as rr, this pattern rr indicates that a sound is generated at the first beat, second beat, third beat, and fourth beat of the target bar.

Ps、Pss、Pe、Peeの算出の詳細は第32図〜第34図に示
される。Peeは、Peの次の音符、すなわち次小節の先頭
の音符が対象の小節に割り込んでいる長さを表わす。
Details of the calculation of Ps, Pss, Pe, and Pee are shown in FIGS. 32 to 34. Pee represents the length of the note following Pe, that is, the length of the note at the beginning of the next bar interrupting the target bar.

第33図のPs、Pssの算出フローにおいて、beatは1小
節の長さ(基本時間長表現)、barは対象の小節の番号
(ユーザーの指定した小節番号を表わす。指定した小節
の番号が1より小さいか、曲の小節数(mno)より大き
いときは入力ミスである。指定した小節が1のときは、
Ps=1、Pss=0にする(27−4、27−5)。Ps=1に
なる理由は、最初の小節の場合、小節の先頭の音符は曲
の最初の音符ないし全モチーフデータの最初の音符にほ
かならないからであり、Pss=0になる理由は、先行小
節が存在しないからである。27−2で求めたa1は曲の頭
から対象の小節の前方小節線までの長さであり、この長
さa1をモチーフの音長データMRiを先頭から累算して得
た長さSと比較する(27−2、27−8、27−10、27−1
2)。S=a1が成立するときは、Sに最後に累算された
i番目の音高データの次の音符が対象の小節の頭から開
始する。したがってPs=i+1、Pss=0とする(27−
9)。一方、S>a1が成立するときは、Sに最後に加え
た音長データをもつ音符、すなわち、i番目の音符が対
象の小節の先頭の音符である。したがってPs=iとす
る。またPss=MRi−S+a1とする(27−9)。
In the calculation flow of Ps and Pss in FIG. 33, beat is the length of one measure (basic time length representation), bar is the number of the target measure (represents the measure number specified by the user. The designated measure number is 1). If it is less than or greater than the number of bars in the song (mno), it is an input error.
Ps = 1 and Pss = 0 are set (27-4, 27-5). The reason for setting Ps = 1 is that in the case of the first measure, the first note of the measure is the first note of the song or the first note of all motif data, and the reason for setting Pss = 0 is the preceding measure. Is not present. A 1 obtained in 27-2 is the length from the beginning of the music to the bar at the front of the target bar, and this length a 1 is the length obtained by accumulating the motif duration data MRi from the beginning. Compare with S (27-2, 27-8, 27-10, 27-1
2). When S = a 1 holds, the next note of the i-th pitch data finally accumulated in S starts from the beginning of the target bar. Therefore, Ps = i + 1 and Pss = 0 (27−
9). On the other hand, when S> a 1 holds, the note having the note length data added last to S, that is, the i-th note is the first note of the target bar. Therefore, Ps = i. The Pss = MRi-S + a 1 to (27-9).

第34図に示すPe、Peeの算出フローは第33図とよく似
た処理を行う。ただしa1には曲の冒頭から対象の小節の
後方小節線までの長さが入る、その他の点については説
明を省略する。
The calculation flow of Pe and Pee shown in FIG. 34 performs processing very similar to that of FIG. However the length of the beginning of the song to the rear bar line of the target bar enters the a 1, the description thereof is omitted for other points.

第35図に示すアルペジオパターンの抽出フローでは対
象の小節のモチーフからアルペジオパターン{LLi}を
抽出している。処理の概要を述べると、PsとPeで示され
る対象の小節に対し、コード進行情報における対応する
コードを使用して、モチーフデータが和声音かどうかを
判別し、和声音と判別された音に対しては、コードのな
かから対応するコード構成音をさがし出し、LLの形式の
データを得る、評細に述べると、まずモチーフデータの
なかから、評価の対象となる最初の音符(Ps)と最後の
音符(Pe)を求める(29−1)。次に、コードデータか
ら構成音データを生成する(29−2、第36図、第37
図)。第36図に示すようにコード構成音データメモリ
は、根音をCとするコードの種類別に、コード構成音を
16ビット中下位12ビットのデータで記憶している。各ビ
ット位置は各音名を表わし、最下位のビット位置がド
(C)である。例えば、cc=0091(16進)はドとミとソ
のビット位置に“1"があり、Cのメジャーの構成音を表
わす。いま、対象の区間のコードGmajだとすると、CDは
0007(16進)である。コード構成音データメモリより、
CDの上位8ビットで指定されるアドレスにあるメジャー
のコード構成音データcc(=0091)を読み出し、第37図
に示すようにその下位12ビットをCDの下位8ビットが示
す根音の値だけ左に転回することにより“1"のビット
は、ソとシとレを表わすビット位置7、11、2に移動
し、Gmajのコード構成音が表現される。このようにし
て、対象の区間のコードからコード構成音データが生成
される。次に、音階カウンタiと和声音カウンタkを初
期化する(29−3、29−4)。29−5の処理はモチーフ
の音高データMDiをコード構成音データccと同じデータ
形成に変換する処理である。例えば、“ソ”の音は、ビ
ット位置7に“1"をもつデータmmに変換される。
In the arpeggio pattern extraction flow shown in FIG. 35, an arpeggio pattern {LLi} is extracted from the motif of the target bar. An outline of the processing is as follows. For the measure indicated by Ps and Pe, the corresponding chord in the chord progression information is used to determine whether the motif data is a harmony, and the sound determined to be a harmony is determined. On the other hand, the corresponding note that constitutes the chord is searched for from the chord, and the data in the form of LL is obtained. To be more specific, first, the first note (Ps) to be evaluated is extracted from the motif data. The last note (Pe) is obtained (29-1). Next, constituent sound data is generated from the chord data (29-2, FIG. 36, FIG. 37).
Figure). As shown in FIG. 36, the chord constituent sound data memory stores chord constituent sounds for each type of chord whose root is C.
It is stored in the lower 12 bits of 16 bits. Each bit position represents each note name, and the lowest bit position is C (C). For example, cc = 0091 (hexadecimal) has "1" in the bit positions of "do", "mi" and "so", and represents a major constituent sound of C. Now, assuming that the code of the target section is Gmaj, the CD is
0007 (hexadecimal). From the chord configuration sound data memory,
The major chord constituent sound data cc (= 0091) at the address specified by the upper 8 bits of the CD is read out, and the lower 12 bits are replaced by the root value indicated by the lower 8 bits of the CD as shown in FIG. By turning to the left, the bit of "1" is moved to bit positions 7, 11, and 2 representing S, S, and L, and the chord constituting sound of Gmaj is expressed. In this way, chord constituent sound data is generated from the chord of the target section. Next, the scale counter i and the harmony sound counter k are initialized (29-3, 29-4). The process of 29-5 is a process of converting the pitch data MDi of the motif into the same data formation as the chord configuration sound data cc. For example, the sound of “G” is converted to data mm having “1” in bit position 7.

29−6でこの音高データmmがコード構成音か否かをチ
ェックしている。これは、音高データmmとコード構成音
データccとの論理積(mm∧cc)をとることで判別でき
る。29−7〜29−13では、コード構成音データccのビッ
ト“1"の中で、モチーフの音高データmmのビット“1"と
一致するのは何番目であるかを調べ、その結果cにモチ
ーフの音のオクターブ番号(MDi∧ffoo)を加えて、ア
ルペジオパターンデータLLkとしている。29−15で次の
音符にカウンタiを進め、音符番号がPeに達するまで
(29−16)、LLを求める。29−17のLLNOには対象の区間
の和声音数(アルペジオパターンの長さ)が入る。
At 29-6, it is checked whether or not this pitch data mm is a chord constituent sound. This can be determined by taking the logical product (mm∧cc) of the pitch data mm and the chord constituent sound data cc. In 29-7 to 29-13, it is checked which of the bits “1” of the chord constituent sound data cc matches the bit “1” of the pitch data mm of the motif, and as a result c To the arpeggio pattern data LLk. At 29-15, the counter i is advanced to the next note, and LL is calculated until the note number reaches Pe (29-16). The LLNO of 29-17 contains the number of chords (length of the arpeggio pattern) in the target section.

第38図のアルペジオパターンの特徴は、第35図のアル
ペジオパターンの抽出結果{LLi}、LLNOから導き出さ
れる。
The features of the arpeggio pattern in FIG. 38 are derived from the extraction results {LLi} and LLNO of the arpeggio pattern in FIG.

第39図の非和声音の特徴抽出では、対象の区間のモチ
ーフに分布する非和声音の種類のパターンを求めてい
る。非和声音のカウンタと音符カウンタをセットし(33
−2、33−3)、着目している音符が非和声音の場合
(33−4)、その音符を中心とするモチーフの特徴要素
を表わす関数Fを計算し、プロダクションルールによる
前向推論を実行して非和声音の種類を求めRSjに代入す
る(33−5〜33−8)。この非和声音の分類処理をPeに
達するまで行うことにより、配列{RSj}には、対象の
区間のモチーフの非和声音の種類の並びがセットされ
る。33−11のPSNOには対象の区間の非和声音の総数が入
る。
In the feature extraction of the non-harmonic sound in FIG. 39, the pattern of the type of the non-harmonic sound distributed in the motif of the target section is obtained. Set the non-harmonic counter and note counter (33
-2, 33-3), when the note of interest is a non-harmonic tone (33-4), a function F representing the characteristic element of the motif centered on the note is calculated, and forward inference by the production rule is performed. By executing, the type of non-harmonic sound is obtained and substituted into RSj (33-5 to 33-8). By performing this non-harmonic classification processing until Pe is reached, the arrangement of the types of non-harmonic sounds of the motif of the target section is set in the array {RSj}. The total number of non-harmonic tones in the target section is entered in the PSNO of 33-11.

33−4に示すMDiが非和声音かどうかの判別処理の詳
細は第40図に示される。この判別処理は、アルペジオパ
ターンの抽出(第35図)において、着目している音符が
和声音か否かを判別する処理と同様であり、対象の区間
のコードの構成音のなかに着目している音符の音名が含
まれるか否かで判別できる。
The details of the process for determining whether or not the MDi shown in 33-4 is a non-harmonic tone are shown in FIG. This discriminating process is the same as the process of discriminating whether or not the note of interest is a harmony in the extraction of the arpeggio pattern (FIG. 35), and focuses on the constituent sounds of the chord in the target section. It can be determined based on whether or not the note name of the note that is present is included.

33−6における関数Fの計算では、前向推論におい
て、非和声音を分類するために必要なモチーフ(メロデ
ィ)の条件ないし要因を計算する。第41図から第49図に
その具体例を示す。この例では関数Fとして、 F1:着目している音符(非和声音)の何個先に和声音が
位置するか(後方和声音の位置) F2:着目している音符の何個手前に和声音が位置するか
(前方和声音の位置) F3:前方和声音から後方和声音までにある非和声音の数 F4:前方和声音と後方和声音との音高差 F5:前方和声音と後方和声音との間における非和声音の
高さの分布 F6:前方和声音から後方和声音までのメロディの音高が
単調に変化するか否か F7:後方和声音とその1つ前の音との音高差(後方和声
音への音程進行) F8:前方和声音とその1つ後の者との音高差(前方和声
音からの音程進行) を計算している(第41図)。この他に、弱拍か強拍かを
示す情報、音長を区別する情報を関数Fのセットに加え
てもよい。個々の関数Fの算出のフローチャートはそれ
自体の記載から明らかであるので説明は省略する。
In the calculation of the function F in 33-6, in forward inference, a condition or a factor of a motif (melody) necessary for classifying a non-harmonic tone is calculated. FIGS. 41 to 49 show specific examples. In this example, as a function F, F 1 : the number of a note (non-harmonic) at which the harmony is located (the position of the rear harmony) F 2 : the number of notes before the note of interest F 3 : Number of non-harmonic tones from forward harmony to backward harmony F 4 : Pitch difference between forward harmony and backward harmony F 5 : Non-harmonic pitch distribution between forward and backward harmony F 6 : Whether the melody pitch from front harmony to backward harmony monotonically changes F 7 : backward harmony F 8 : Calculates the pitch difference between the preceding chord and the preceding chord, and the pitch difference between the preceding chord and the preceding chord (the pitch from the front chord). (Fig. 41). In addition, information indicating whether the beat is a weak beat or a strong beat, and information for distinguishing a sound duration may be added to the set of functions F. The flowchart for calculating each function F is clear from the description of the function itself, so the description is omitted.

33−7における前向推論の詳細は第50図に示す。ま
ず、ルールナンバーポインタPを、プロダクションルー
ルのなかでルートとなっているルールを指示する“1"に
セットする(44−1)。しかる後、ルールナンバーポイ
ンタPの示すルールの前提部(Lp≦Fxp≦Up)が成立す
るかどうかをチェックし、成立するときはそのルールの
肯定結論部のデータYpを次のルールへのポインタとして
使用し、不成立のときはそのルールの否定結論部のデー
タNpを次のルールへのポインタとして使用する。ただ
し、データYp、Npが、負の値のときは、最終結論に達し
ているので、その絶対値(−Yp、−Np)を非和声音の種
類の識別子として結論レジスタにセットする。フローに
従うと、44−3の条件Lp>Fxpか44−5の条件Fxp>Upが
成立するとき、ルールPの前提部Lp≦Fxp≦Upは不成立
であるのでそのルールの否定結論部のデータNpをaに代
入し(44−4、44−6)、それ以外の場合は前提部成立
なので、aにはルールPの肯定結論部のデータYpが入る
(44−2)。このaをPに代入し(44−7)、Pが正値
のときは、次のルールナンバーポインタとして次のルー
ルの検査に戻り、Pが負のときは、−Pを非和声音の分
類結果とする(44−8、44−9)。
Details of the forward inference in 33-7 are shown in FIG. First, the rule number pointer P is set to "1" indicating the rule that is the root of the production rules (44-1). Thereafter, it is checked whether or not the prerequisite part (Lp ≦ Fxp ≦ Up) of the rule indicated by the rule number pointer P is satisfied. If the rule is satisfied, the data Yp of the positive conclusion part of the rule is used as a pointer to the next rule. If not, the data Np of the negative conclusion part of the rule is used as a pointer to the next rule. However, when the data Yp and Np are negative values, the final conclusion has been reached, and the absolute values (−Yp and −Np) are set in the conclusion register as identifiers of the non-harmonic tone types. According to the flow, when the condition Lp> Fxp of 44-3 or the condition Fxp> Up of 44-5 is satisfied, the precondition Lp ≦ Fxp ≦ Up of the rule P is not satisfied, so the data Np of the negative conclusion part of the rule is not satisfied. Is substituted into a (44-4, 44-6). In other cases, since the premise is satisfied, the data Yp of the positive conclusion part of the rule P is entered in a (44-2). This a is substituted into P (44-7). When P is a positive value, the process returns to the next rule check as the next rule number pointer, and when P is negative, -P is set to the non-harmonic classification. The result is (44-8, 44-9).

非和声音の分類の一例として、先の関数Fの計算にお
いて、 F1=1:後方和声音は着目している非和声音より1つ後に
ある F2=−1:前方和声音は着目している非和声音の1つ前に
ある F3=1:前後の和声音間の音数は1つである F4=8:前後の和声音の音高差は8である F5=2:前後の和声音間にある非和声音は前後の和声音の
音高の中間に分布している F6=1:前方和声音から後方和声音までのメロディは音高
が単調に変化している F7=1:後方和声音へは1の音高差で進行する F8=7:前方和声音からは7の音高差で進行する が得られたとし、プロダクションルールデータとして第
24図に示すデータを使用して推論を行ってみる。
As an example of the classification of non-harmonics, in the calculation of the function F, F 1 = 1: the rear harmonics are one after the non-harmonics of interest F 2 = −1: the forward harmonics are focused on F 3 = 1 in front of the non-harmonic to be played, the number of notes between the preceding and following harmony is one F 4 = 8: The pitch difference between the preceding and following harmony is 8 F 5 = 2 : The non-harmonic between the preceding and following harmony is distributed in the middle of the pitch of the preceding and following harmony. F 6 = 1: The melody from the front harmony to the rear harmony has a monotonous change in pitch. F 7 = 1: Proceed with a pitch difference of 1 to the backward harmony F 8 = 7: Proceed with a pitch difference of 7 from the forward harmony
Let's make an inference using the data shown in Figure 24.

まず、P=1(ルート)のときは、その前提部 0≦F2≦0 はF2=−1であるため不成立である。したがって、ルー
トの否定結論部N1=3が次に検査するルールのポインタ
となる。
First, when P = 1 (root), the premise 0 ≦ F 2 ≦ 0 is not satisfied because F 2 = −1. Therefore, the negative conclusion part N 1 = 3 of the root becomes the pointer of the rule to be checked next.

P=3において、ルール3の前提部 0≦F1≦0 は、F1=1であるので不成立である。したがって、N3
5が次のルールのポインタとなる。
At P = 3, the prerequisite 0 ≦ F 1 ≦ 0 of Rule 3 is not satisfied because F 1 = 1. Therefore, N 3 =
5 becomes the pointer of the next rule.

P=5において、ルール5の前提部 0≦F4≦0 は、F4=8であるので成立しない。したがって、N5=6
がPとなる。
At P = 5, the premise 0 ≦ F 4 ≦ 0 of Rule 5 does not hold because F 4 = 8. Therefore, N 5 = 6
Becomes P.

P=6において、ルール6の前提部 1≦F6≦1 は、F6=1であるので成立する。したがって、ルール6
の肯定結論部のデータY6=7が次にアクセスするルール
のポインタPとなる。
At P = 6, the premise 1 ≦ F 6 ≦ 1 of rule 6 holds because F 6 = 1. Therefore, Rule 6
Positive conclusion part of the data Y 6 = 7 next the pointer P of the access rules of.

P=7において、ルール7の前提部 3≦F8≦∞ はF8=7であるので成立する。ここでY7=−2(負)で
ある。したがって、結論=2(分類された非和声音の識
別子)となる。
At P = 7, the premise 3 ≦ F 8 ≦ ∞ of Rule 7 holds because F 8 = 7. Here, Y 7 = −2 (negative). Therefore, the conclusion = 2 (the identifier of the classified non-harmonic sound).

<コード進行評価> 本実施例の装置は、作曲のためにコード進行を最大限
活用する。すなわち、第12図の作曲ゼネラルフローの12
−7に示すコード進行評価において、与えられたコード
進行を手がかりとして曲の階層構造、調性構造を求めて
いる。階層構造は曲の一貫性と多様性に係っており、後
述するメロディ生成においてアルペジオの生成制御に利
用される。一方、調性構造は、曲の進行に伴う調性(キ
ー)の変化を表わしており、後述するメロディ生成にお
いて各区間で使用するスケールのキーを選択するのに利
用される。さらに、コード進行詳細では特殊コードの区
間に対し、特種のスケールの使用を計画する処理も実行
している。
<Evaluation of Chord Progression> The apparatus of this embodiment makes the best use of chord progression for composition. In other words, the 12
In the chord progression evaluation shown in -7, the hierarchical structure and tonality structure of the music are found using the given chord progression as a clue. The hierarchical structure relates to the consistency and diversity of the music, and is used for controlling the generation of arpeggios in melody generation described later. On the other hand, the tonality structure represents a change in tonality (key) as the music progresses, and is used to select a scale key used in each section in melody generation described later. Further, in the chord progress details, a process for planning the use of a special scale for a section of the special code is also executed.

以下、第51図〜第53図を参照して階層構造の抽出の詳
細を述べる。
Hereinafter, the extraction of the hierarchical structure will be described in detail with reference to FIGS. 51 to 53.

第51図に示すフローは、楽節等の長さをもつブロック
を単位として、ブロック相互のコード進行の類似度を算
出するフローである。
The flow shown in FIG. 51 is a flow for calculating the similarity of the chord progression between blocks in units of a block having a length such as a passage.

まず、曲の長さSUMをカード進行情報の各コードの長
さCRiを累算することで求め(45−1)、barno(小節
数)で示されるブロックの長さを基本音長の表現に変換
してブロック長をlとし(45−2)、曲長SUMをブロッ
ク長lで割って曲に含まれるブロックの数mを計算する
(45−3)。比較するブロックの基準番号のためのカウ
ンタiを“0"に初期化する(45−4)。
First, the length SUM of the song is obtained by accumulating the length CRi of each chord of the card progress information (45-1), and the length of the block indicated by barno (number of measures) is used to express the basic tone length. After conversion, the block length is set to 1 (45-2), and the music length SUM is divided by the block length 1 to calculate the number m of blocks included in the music (45-3). The counter i for the reference number of the block to be compared is initialized to "0" (45-4).

45−8〜45−18において、i番目のブロックとj番目
のブロック(j≧i)とのコードの類似度Vijを算出し
ている。類似度の関数として、 を使用している。ここにlはブロックの長さであり、Vs
は、基準音長ごとにi番目のブロックのコードとj番目
のブロックのコードとを比較したときに得られるコード
の一致数を表わす。この類似度関数Vijは0から100まで
の値をとり、100のとき、2つのブロックのコード進行
は完全に(100%)一致し、0のときは完全に不一致で
ある。
In steps 45-8 to 45-18, the code similarity Vij between the i-th block and the j-th block (j ≧ i) is calculated. As a function of similarity, You are using Where l is the length of the block, Vs
Represents the number of matching codes obtained when the code of the i-th block and the code of the j-th block are compared for each reference tone length. The similarity function Vij takes a value from 0 to 100. When the similarity function Vij is 100, the chord progression of the two blocks completely matches (100%), and when 0, the chord progression completely does not match.

i番目のブロック対j番目のブロックの類似度の計算
はj=iの位置から開始され(45−6)、類似度が得ら
れるごとに、j=j+1により次のブロックとの類似度
の計算に移り(45−20、45−7)最終ブロックになるま
で行ったら(45−19)、i=i+1により、i番目のブ
ロックをシフトし(45−22、45−5)、iが最終ブロッ
クになるまで処理を繰り返す。
The calculation of the similarity between the i-th block and the j-th block starts from the position of j = i (45-6), and every time the similarity is obtained, the similarity with the next block is calculated by j = j + 1. (45-20, 45-7) When the operation is performed until the final block is reached (45-19), the i-th block is shifted (45-22, 45-5) by i = i + 1, and i is the final block. Repeat the process until.

この結果、i番目のブロックに対するj番目のブロッ
クのコードの類似度Vijとして、 が得られる。なおVij=Vji、すなわち、i番目のブロッ
クに対するj番目のブロックコード類似度と、j番目の
ブロックに対するi番目のブロックのコード類似度は等
しい。またVii=100である。
As a result, as the similarity Vij of the code of the j-th block to the i-th block, Is obtained. Vij = Vji, that is, the code similarity of the j-th block to the i-th block is equal to the code similarity of the i-th block to the j-th block. Vii = 100.

第50図のブロック間のコード一致度の算出結果{Vi
j}は、第52図の階層構造データ生成において使用され
る。
Calculation result of code coincidence between blocks in Fig. 50 {Vi
j} is used in the generation of the hierarchical structure data in FIG.

第52図において、cは階層構造の計算のためのカウン
タであり、Hjにj番目のブロックの階層構造識別子がセ
ットされる。Hjは値として、0、1、2……の整数値を
とる。これは通常の表現におけるa、a′b、b′……
に対応している(第16図のHIEi参照)。第52図のフロー
では、ある基準のブロックに対し、100%コードが一致
するブロックには基準ブロックの階層構造識別子と同じ
値(偶数値)の階層構造識別子が付き(46−10、46−1
1)、70〜100%の範囲で一致するブロックは、基準ブロ
ックのコード進行を修飾したコード進行をもつブロック
として、基準ブロックの階層構造識別子に1を加えた値
の階層構造識別子が付けられる(46−12、46−13)。ま
た、70%未満の類似度しかもたないブロックは、基準ブ
ロックとは独立の階層構造をもつブロックとして扱われ
る。最初の基準ブロックとして、曲の最初のブロックを
選んでおり(46−2)、この基準ブロックと100%ある
いは70〜100%で一致するブロックに対してはそれぞ
れ、Hj=0、Hj=1の評価値が付き、評価完了を示すた
め、これらのブロックのフラグfljは“1"にセットされ
る。この最初の評価ループ(46−2〜46−15)で評価が
確定しなかった曲のブロックのうち、一番若いブロック
が次の評価ループにおける基準ブロックとなり(46−
3、46−4、46−6)、この基準ブロックの階層構造識
別子は2となる。以下、同様に処理がくり返される。結
果として、曲のすべてのブロックに階層構造識別子Hjが
付くことになる。
In FIG. 52, c is a counter for calculating the hierarchical structure, and the hierarchical structure identifier of the j-th block is set in Hj. Hj takes an integer value of 0, 1, 2,... As a value. This is a, a'b, b 'in ordinary expressions.
(See HIEi in FIG. 16). In the flow shown in FIG. 52, a block having the same value (even value) as the hierarchical structure identifier of the reference block is attached to a block having a 100% code match with a certain reference block (46-10, 46-1).
1) A block having a code progression that is a modification of the code progression of the reference block is assigned a hierarchical structure identifier of a value obtained by adding 1 to the hierarchical structure identifier of the reference block, as a block having a code progression that modifies the code progression of the reference block ( 46-12, 46-13). A block having a similarity of less than 70% is treated as a block having a hierarchical structure independent of the reference block. The first block of the music is selected as the first reference block (46-2), and the blocks that match 100% or 70 to 100% with this reference block have Hj = 0 and Hj = 1, respectively. The flag flj of these blocks is set to "1" in order to indicate the evaluation value and indicate the completion of the evaluation. Of the blocks of the song whose evaluation has not been determined in the first evaluation loop (46-2 to 46-15), the youngest block becomes the reference block in the next evaluation loop (46-46).
3, 46-4, 46-6), and the hierarchical structure identifier of this reference block is 2. Hereinafter, the same processing is repeated. As a result, all blocks of the song have the hierarchical structure identifier Hj.

第53図の処理は、第52図で求めたブロック単位の階層
構造を小節単位の階層構造データに変換する処理であ
る。すなわち、第53図のHIEaにはa番目の小節に対する
階層構造識別子がセットされる。
The process of FIG. 53 is a process of converting the hierarchical structure in block units obtained in FIG. 52 into hierarchical structure data in measure units. That is, the hierarchical structure identifier for the a-th measure is set in HIEa in FIG.

次に、第54図から第57図を参照して調性構造の抽出に
ついて説明する。コード進行から調性構造を抽出するた
め、本実施例では、一般の楽曲が有する調性構造の性質
を考慮している。その性質とは、 (イ)調性は曲の進行において頻繁に変化するより、同
じ調性を保つ傾向をもつ。
Next, extraction of the tongue structure will be described with reference to FIGS. 54 to 57. In order to extract the tonality structure from the chord progression, the present embodiment takes into account the properties of the tongue structure of general music. The characteristics are as follows: (a) The tonality tends to maintain the same tonality rather than changing frequently in the progress of the music.

(ロ)コードの構成音は特定の調性の音階上にある。(B) The constituent sounds of a chord are on a musical scale of a specific tonality.

(ハ)転調が生じる場合には、無関係な調に転ずるより
属調または下属調等の近親調に転じやすい。
(C) When transposition occurs, it is easier to turn to a close relative such as a genus key or a subordinate key than to an unrelated key.

である。It is.

抽出する調性構造に上記の性質をもたせるため、本実
施例ではコード相互間に調性距離を定義し、現区間のコ
ードが前区間の調性から所定の距離の調性である場合に
は現区間の調性は前区間の調性と同じとみなす。
In order to provide the tonality structure to be extracted with the above properties, in the present embodiment, a tonality distance is defined between the chords, and if the chord in the current section has a tonality of a predetermined distance from the tonality in the previous section. The tonality of the current section is considered to be the same as the tonality of the previous section.

第57図にコード相互の調性処理を例示する。この図か
らわかるように、平行調の関係にあるコード(例えばAm
とC)間の調性距離はゼロであり、したがって同じ調性
(C)をもつ。また、完全5度下または完全5度上にあ
るコードとの調性距離を2または−2としている。いま
キーCのダアトニックスケール(ドレミファソラシド)
を考えると、コードCから±2の調性距離内にあるコー
ドC、Am、G、Em、F、Dmの6つのコードは、そのコー
ド構成音がすべてキーCのダイアトニックスケール上に
ある。後述するように、本実施例では、調性距離±2以
内のコード変化に対しては調性を維持するようにしてい
る。
FIG. 57 exemplifies the mutual tonality processing of the chords. As can be seen from this figure, codes having a parallel tone relationship (for example, Am
And C) are zero, and thus have the same tonality (C). In addition, the tonality distance with respect to a chord that is completely 5 degrees below or completely 5 degrees is 2 or −2. Now Key C Datonic Scale (Doremi Fasoraside)
, The six chords C, Am, G, Em, F, and Dm within the tonality distance of ± 2 from chord C all have their chord constituent sounds on the diatonic scale of key C. As will be described later, in the present embodiment, the tonality is maintained for a chord change within the tonality distance ± 2.

第54図において、48−1から48−5までの処理は、コ
ード進行における各コードに、第57図に例示する調性距
離の定義に従って調性距離データを割り当てているとこ
ろである。すなわち、48−1で曲の最初のコードに対す
る調性KEY1として“0"を設定し、48−2〜48−5におい
て、後続するコードCPiの調性KEYiを最初のコードCD1
調性KEY1との距離を計算することで求めている。48−3
の調性は第56図に示されている。
In FIG. 54, in the processing from 48-1 to 48-5, tonality distance data is assigned to each code in the chord progression according to the definition of the tonality distance illustrated in FIG. That is, set to "0" as the tonality KEY 1 for the first chord within 48-1 in 48-2~48-5, the first code tonality of CD 1 tonality KEYi subsequent encoding CPi It is calculated by calculating the distance from KEY 1 . 48-3
Its tonality is shown in FIG.

50−1におけるCDi∧ooffはi番目のコードCDiの根音
データの抽出(第14図参照)であり、その結果はa1とa2
に代入される。一方stには最初のコードCD1の根音デー
タが入る。50−5に示すように、a1の根音データは50−
3〜50−6のループを一周するたびに5度上に転回さ
れ、a2の根音データは5度下に転回される(第57図に示
すリングを反時計回り、または時計回りすることに相当
する)。50−3において、a1=stが成立するのは、CDi
の根音データi回を5度上に転回したときであり、50−
4においてa2=stが成立するのはCDiの根音データをi
を回5度以下に転回したときである。したがって前者に
対してはxに調性距離としてi×(−2)を入れ(50−
7)、後者に対してはxにi×2を入れる。50−9から
50−17は、最初のコードCD1と着目しているコードCDiと
が、共にメジャー系かマイナー系か、そうでないかによ
り、xを変換しているところである。例えば、CD1がAm
でCDiがGmajだとすると、50−7によりx=+4になっ
ている(根音AとGとの比較のため)。これは、第57図
によれば、x=−2にならなければならない。この場
合、第56図において、50−10から50−11、50−13と進
み、x=x−6によりx=−2が得られる。また、CD1
がCmajでCDiがBminだとすると、50−8によりx=−10
になっている。これは第57図の調性距離を定義に従え
ば、x=−4にならなければならない。この場合、第56
図において、50−14かに50−15、50−17と進み、x=x
+6により、x=−4が得られる。第56図の計算結果x
はKEYiに移される。
The CDi∧ooff in 50-1 is extracted in i-th code root data CDi (see FIG. 14), the result is a 1 and a 2
Is assigned to On the other hand root data of the first code CD 1 enters in st. As shown in 50-5, root data a 1 50-
Each time to go around the loop of 3~50-6 is turn on 5 degrees, root data a 2 is to be turn under 5 degrees (counterclockwise the ring shown in 57 FIG, or clockwise Equivalent). In 50-3, a 1 = st holds only when CDi
Is obtained when the root sound data i is turned up 5 degrees, and 50-
In a 4, a 2 = st is satisfied because the root data of CDi is i
Is turned 5 times or less. Therefore, for the former, i × (−2) is inserted into x as the tonality distance (50−
7) For the latter, insert i × 2 into x. From 50-9
50-17 is, and code CDi of interest as the first code CD 1 is, both or major system or minor system, by or not, is where you are converting the x. For example, CD 1 is Am
If CDi is Gmaj, x = + 4 by 50-7 (for comparison between root sounds A and G). This must be x = -2 according to FIG. In this case, in FIG. 56, the process proceeds from 50-10 to 50-11 and 50-13, and x = -2 is obtained by x = x-6. Also CD 1
Is Cmaj and CDi is Bmin, x = -10 by 50-8
It has become. This must be x = -4 according to the definition of the tonality distance in FIG. In this case, the 56th
In the figure, 50-14 advances to 50-15, 50-17, and x = x
By +6, x = -4 is obtained. Calculation result x in Fig. 56
Is transferred to KEYi.

48−1から48−5の処理例を第55図の(1)に示す。
コード進行C、C、F、G7、Bb、F、G7、cに対し、調
性距離{KEY}として、KEY1=0、KEY2=0、KEY3=+
2、KEY4=−2、KEY5=+4、KEY6=+2、KEY7=−
2、KEY8=0が得られる。
An example of the processing from 48-1 to 48-5 is shown in (1) of FIG.
Chord progression C, C, F, G 7 , Bb, F, as against G 7, c, tonality distance {KEY}, KEY 1 = 0 , KEY 2 = 0, KEY 3 = +
2, KEY 4 = -2, KEY 5 = +4, KEY 6 = +2, KEY 7 =-
2. KEY 8 = 0 is obtained.

このようにして得られた調性距離{KEY}は、続く48
−6から48−14の処理において、上述した調性の性質を
もつように変換される。すなわち、直前の調性データが
skeyに置かれ、現コードの調性データがこの直前調性デ
ータskeyから±2以内の距離にあるときは、現コードの
調性データを直前の調性データに変換して調性を維持
し、±2を越える距離にあるときにのみ転調とみなして
現コードの調性データを±2した値を最終的な調性デー
タとする。
The tonality distance {KEY} obtained in this way is the following 48
In the processing from −6 to 48−14, conversion is performed so as to have the tonality property described above. In other words, the tonality data immediately before
When the tonality data of the current chord is located within ± 2 from the immediately preceding tonality data skey, the tonality data of the current code is converted to the immediately preceding tonality data to maintain the tonality. , Is regarded as modulation only when the distance exceeds ± 2, and the value obtained by ± 2 from the tonality data of the current code is used as final tonality data.

48−6から48−14の処理側を第55図の(2)に示す。
コード進行C、C、F、G7、Bb、F、G7、Cに対する調
性{KEY}として、0、0、0、0、2、2、0、0が
得られる。
The processing side from 48-6 to 48-14 is shown in FIG. 55 (2).
Chord progression C, C, F, G 7 , Bb, F, as tonality for G 7, C {KEY}, 0,0,0,0,2,2,0,0 is obtained.

このようにして、楽曲として望ましい性質をもつ調性
構造が距離表現のデータ形式で抽出される。
In this manner, a tonality structure having a desired property as a musical piece is extracted in the data format of the distance expression.

第54図の48−15から48−25までは、距離表現の調性構
造データをスケールの根音を表わす音名表現に変換して
いるところである。この音名表現ではCに“0"C#に
“1"、……Bに“11"の数値が割り当てられる。例えば
曲の最初のコードをCmajとし、i番目のコードをFmajと
し、このFmajの調性が距離表現では“2"であるとしてみ
る。これに対応する音名表現は“5"である。この変換の
ため、処理は48−15より48−16、48−17と進んで、ここ
でa1=KEY1−KEYi×7/2が実行され、KEY1=0、KEYi=
2であるのでa1=−7となり、48−18、48−19の処理に
よりa1=5となり、これがKEYiとなる(48−20)。な
お、曲の最初のコードがメジャー系のときは、KEY1=00
ff∧CD1により最初のコード区間のスケールの根音が求
まるが、マイナー系のときは、Am=Cの関係に従って、
KEY1=(00ff∧CD1+3)mod12を実行して最初のコード
区間のスケールの根音を得ている(48−16、48−21〜48
−23)。
In FIG. 54, from 48-15 to 48-25, the tonality structure data of the distance expression is being converted into the pitch name expression representing the root of the scale. In this tone name expression, C is assigned a numerical value of “0”, C # is assigned a numerical value of “1”,. For example, assume that the first chord of a song is Cmaj, the i-th chord is Fmaj, and the tonality of this Fmaj is "2" in the distance expression. The corresponding pitch name expression is “5”. For this conversion, the process proceeds with 48-15 than 48-16,48-17, where a 1 = KEY 1 -KEYi × 7 /2 is performed, KEY 1 = 0, KEYi =
Since at 2 a 1 = -7 next, a 1 = 5 next by the processing of 48-18,48-19, which is KEYi (48-20). If the first chord of the song is a major chord, KEY 1 = 00
ff∧CD 1 gives the root of the scale of the first chord section, but in the case of a minor system, according to the relationship of Am = C,
KEY 1 = (00ff∧CD 1 +3) mod12 is executed to obtain the root note of the scale of the first chord section (48-16, 48-21 to 48
-23).

第55図の(3)に48−15から48−25の処理例を示す。
コード進行がC、C、F、G7、Bb、F、G7、Cであると
き、各コード区間で使用するスケールのキー(主音)
は、C、C、C、C、F、F、C、Cとなる。
FIG. 55 (3) shows an example of processing from 48-15 to 48-25.
When chord progression is C, C, F, G 7 , Bb, F, G 7, C, scale of the keys used in each code section (tonic)
Becomes C, C, C, C, F, F, C, C.

後述するように、各コード区間において生成するメロ
ディの各音は以上の処理によって抽出された調性構造デ
ータを主音とするスケール上から選択される。
As will be described later, each tone of the melody generated in each chord section is selected from a scale using the tonality structure data extracted by the above processing as the main tone.

次にスケール評価について第58図を参照して説明す
る。この処理の目的は特殊なコードが使用される区間に
対しては、メロディ生成のためのスケールとして特殊な
スケールを使用することである。第58図において、ISCA
LEは初期設定12−1(第12図)において選択されたスケ
ールである。コードCDiがデミニッシュコード“dim"の
ときにはその区間で使用するスケールSCACEiとしてコン
ビネーションデミニッシュスケールを設定し、コードCD
iがオーギュメントコード“aug"のときにはスケールと
してホールトーンスケールを設定し、コードCDiがセブ
ンスコード“7th"のときにはスケールとしてドミナント
7thスケールを設定している。また、これらのコードの
区間の調としては先の調性構造抽出処理で求めた調性デ
ータの代りに、コードの根音を用いている。したがっ
て、これらの例外的なコード区間以外の区間ではスケー
ルとしては初期設定で選択した種類のスケールが使用さ
れ、その主音は上述の調性構造抽出処理で得た調性デー
タにより定められる。
Next, scale evaluation will be described with reference to FIG. The purpose of this processing is to use a special scale as a scale for melody generation for a section where a special code is used. In Figure 58, ISCA
LE is the scale selected in the initial setting 12-1 (FIG. 12). If the code CDi is the deminish code "dim", set the combination deminish scale as the scale SCACEi to be used in that section, and set the code CDi
When i is an augment code "aug", set the whole tone scale as the scale, and when code CDi is the seventh code "7th", dominant as the scale
7th scale is set. As the tones of these chord sections, the root note of the chord is used instead of the tonality data obtained in the tonality structure extraction processing. Therefore, in a section other than these exceptional chord sections, a scale of the type selected in the initial setting is used as a scale, and its tonic is determined by tonality data obtained by the above-described tonality structure extraction processing.

<メロディ生成> 本実施例の装置は、外部から作曲の基礎となるデータ
が与えられ、その基礎データを内部で分析、評価した
後、メロディの生成の作業に移る。
<Melody Generation> In the apparatus of the present embodiment, data serving as a basis for composition is given from the outside, and the basic data is internally analyzed and evaluated, and then the operation of melody generation is started.

作曲ゼネラルフロー(第12図)の12−8に示すメロデ
ィ生成の概略フローを第59図に例示する。第59図におい
て、HIEiは先のコード進行評価で抽出したコード区間毎
の階層構造データであり、53−2〜53−4に示すよう
に、この階層構造データHIEiはアルペジオパターン(L
L)の生成制御に利用される。この制御の詳細について
は後述する。さらに階層構造データは53−5、53−6に
示すようにアルペジオパターン(LL)の音域を制御する
のにも利用できる。
FIG. 59 illustrates a schematic flow of the melody generation shown in 12-8 of the composition general flow (FIG. 12). In FIG. 59, HIEi is hierarchical structure data for each code section extracted in the previous chord progress evaluation, and as shown in 53-2 to 53-4, this hierarchical structure data HIEi is an arpeggio pattern (L
L) is used for generation control. Details of this control will be described later. Further, the hierarchical structure data can be used to control the range of the arpeggio pattern (LL) as shown in 53-5 and 53-6.

アルペジオパターン(LL)はコードデータCDiを用い
ることで音高表現の形式、すなわちメロディデータ形式
(アルペジオ)に変換される(53−7)。そしてこのア
ルペジオに対し、非和声音がプロダクションルールに従
って付加される(53−8)。この非和声音の付加で使用
するプロダクションルールはモチーフに含まれる非和声
音を分類するのに用いたものと同一であり、したがっ
て、メロディの分析と合成に関して可逆性が成り立つ。
The arpeggio pattern (LL) is converted to a pitch expression format, that is, a melody data format (arpeggio) by using the chord data CDi (53-7). Then, a non-harmonic tone is added to this arpeggio in accordance with the production rules (53-8). The production rules used for adding the non-harmonic sounds are the same as those used for classifying the non-harmonic sounds included in the motif, and therefore, the reversibility is established with respect to the analysis and synthesis of the melody.

アルペジオに非和声音を付加することにより、メロデ
ィの音高列は完成する。メロディの音高列り完成後は、
メロディの音長列(リズムパターン)の生成である(53
−9)。ここでは、所定の音符数から成る基本リズムパ
ターン(エッセンス生成4−4またはエッセンス抽出4
−6において決定した音長列)が、初期設定4−1にお
いて選択されたパルススケールにより変形され、メロデ
ィの音高列と等しい音符数の音長列に変換される。
By adding a non-harmonic tone to the arpeggio, the pitch sequence of the melody is completed. After completing the melody pitch line,
This is the generation of a melody pitch sequence (rhythm pattern) (53
-9). Here, a basic rhythm pattern (Essence generation 4-4 or Essence extraction 4
The pitch sequence determined in -6) is transformed by the pulse scale selected in the initial setting 4-1 and converted into a pitch sequence having the same number of notes as the pitch sequence of the melody.

アルペジオの生成、非和声音の付加、音長データの生
成は、第59図のフローの場合、コード区間毎に実行され
る。このため、53−10ではある区間で生成したメロディ
データを連続領域に移動している。
The generation of an arpeggio, the addition of a non-harmonic tone, and the generation of duration data are executed for each chord section in the case of the flow shown in FIG. Therefore, in 53-10, the melody data generated in a certain section is moved to the continuous area.

第60図はアルペジオパターン(音型)の生成、セー
ブ、ロードの詳細なフローチャートである(第59図の53
−2、53−3、53−4の詳細)。本例では、階層構造デ
ータHIEiによるアルペジオパターンLLの制御を次のよう
にして行っている。まず、着目している楽節が、過去の
楽節と構造上異なる区間であるかどうかを着目している
楽節の階層構造データを過去の階層構造データと比較す
ることにより判別する。異なる構造をもつ区間と認めた
楽節に対してのみ、新たにアルペジオパターンLLを生成
する。この生成は、上述したアルペジオパターンの特徴
パラメータPCに基づいて行われる。同様の構造をもつ区
間と認めた楽節については、新たにアルペジオパターン
LLは生成しない。代りに、過去において生成したアルペ
ジオパターンのうち、着目している区間と同様の構造を
もつ区間において生成したアルペジオパターンを使用す
る。
FIG. 60 is a detailed flowchart of generation, saving, and loading of an arpeggio pattern (sound pattern) (53 in FIG. 59)
-2, 53-3, 53-4). In this example, the control of the arpeggio pattern LL by the hierarchical structure data HIEi is performed as follows. First, it is determined whether or not the focused phrase is a section structurally different from the past phrase by comparing the hierarchically structured data of the focused phrase with the past hierarchically structured data. A new arpeggio pattern LL is generated only for a passage recognized as a section having a different structure. This generation is performed based on the feature parameter PC of the arpeggio pattern described above. A new arpeggio pattern will be added to passages recognized as having the same structure.
LL is not generated. Instead, of the arpeggio patterns generated in the past, an arpeggio pattern generated in a section having the same structure as the section of interest is used.

例えば、いま、4つの楽節から成る曲を想定し、これ
ら4つの楽節の構造がそれぞれa、b、c、aであると
してみる。最初の楽節の構造aは過去にみられない構造
であるのでアルペジオパターンの特徴パラメータに従っ
てアルペジオパターンが生成される。同様にして第2楽
節、第3楽節も過去にない新しい構造b、cをもってい
るので、独立にアルペジオパターンか生成される。しか
し、最終楽節は曲の最初の楽節と同じ構造aである。し
たがって、最終楽節のアルペジオパターンとしては、最
初の楽節に対して生成したアルペジオパターンをそのま
ま使用する。
For example, suppose a tune composed of four passages, and assume that the structures of these four passages are a, b, c, and a, respectively. Since the structure a of the first phrase is a structure not seen in the past, an arpeggio pattern is generated according to the feature parameters of the arpeggio pattern. Similarly, since the second and third phrases also have new structures b and c which have not been seen in the past, arpeggio patterns are independently generated. However, the final passage has the same structure a as the first passage of the song. Therefore, the arpeggio pattern generated for the first phrase is used as it is as the arpeggio pattern for the final phrase.

新しい構造をもつ楽節に対してアルペジオパターンを
新たに生成するということは、この新しい構造の楽節か
ら別のモチーフが発生することを意味する。いま、楽節
の最初の小節に対して生成したアルペジオパターンをそ
の楽節の後続する小節に対してくり返し使用したとする
と1小節の長さのモチーフが意識されよう。一般にモチ
ーフの長さは1〜数小節であり、曲の途中でモチーフの
長さが変化することも多い。第60図の例ではこのことを
考慮して、新しい構造の楽節が検知されたときに、その
楽節におけるモチーフの長さとして1または2小節を使
用することができる。2小節のモチーフが選択されたと
きは、楽節の最初の小節と2番目の小節で独立にアルペ
ジオパターンが生成され、後続する奇数番目の小節は最
初の小節のアルペジオパターンを使用し、後続する偶数
番目の小節は2番目の小節のアルペジオパターンを使用
する。
Generating a new arpeggio pattern for a phrase having a new structure means that another motif is generated from the phrase having the new structure. If the arpeggio pattern generated for the first measure of a passage is repeatedly used for subsequent measures of the passage, a motif having a length of one measure will be recognized. Generally, the length of a motif is one to several measures, and the length of the motif often changes in the middle of a song. Considering this, in the example of FIG. 60, when a phrase having a new structure is detected, one or two measures can be used as the length of the motif in the phrase. When a two-bar motif is selected, an arpeggio pattern is generated independently for the first bar and the second bar of the passage, and the odd-numbered bars that follow use the arpeggio pattern of the first bar and the even bars that follow. The second measure uses the arpeggio pattern of the second measure.

過去の区間における階層構造データへの参照、過去の
区間におけるアルペジオパターンのくり返しのために音
型(LL)データバッファが用意される。音型データバッ
ファの例を第61図に示す。
A sound (LL) data buffer is prepared for referencing the hierarchical structure data in the past section and repeating the arpeggio pattern in the past section. FIG. 61 shows an example of the sound data buffer.

第60図に従って説明すると、54−1で楽節(第51図に
示すbarno毎の区間)内の小節カウンタを“1"にセット
する。54−2では現小節の階層構造データHIEiを直前の
小節の階層構造データHIEi−1と比較することにより、
楽節の開始か否かをチェックする。例えば、|HIEi−HIE
i−1|≧2が成立するときが楽節の開始である。楽節の
開始と判別されたときは楽節内の小節カウンタを“1"に
リセットする(54−3)。続いて音型データバッファを
サーチして、現楽節がアルペジオパターンを新たに生成
すべき楽節かどうかを調べる(54−4)。音型データバ
ッファのサーチは次のようにして行われる。まず、音型
データバッファのアドレス0にあるデータ(既に何組の
音型が生成されているかを示すデータ)を読み、後続す
るアドレス1からNまで示されるデータをアドレスとす
るところのデータ(各音型のヘッド情報)を順次、読
み、その上位8ビットに示される階層構造データを現小
節の階層構造データHIEiと比較する。音型データバッフ
ァ内に現小節の階層構造データHIEiと同等な階層構造デ
ータ(例えば、HIEiと同じ値または(HIEi−1)の値を
もつデータ)がないとき、現小節はアルペジオパターン
を新たに生成すべき楽節の最初の小節である。同様の階
層構造データをもつヘッドが見つかったときは、後続す
るアルペジオパターンを現小節のアルペジオパターンと
してロードする。新しい楽節の場合は、まずモチーフを
何小節の構成にするかを決定する(54−5)。この決定
は例えば乱数発生で実現できる。2小節モチーフとなっ
たときは、フラグflを“1"にセットして(54−7、54−
8)、次の小節(楽節の2番目の小節)に対してもアル
ペジオパターンが新たに生成されるようにする。そし
て、アルペジオパターンを生成し(第62図参照)、音型
データバッファにセーブする(54−9)、詳細には、HI
Ei×0100+小節カウンタの値×0010+モチーフの小節数
によりヘッダを作成し、音型データバッファのアドレス
0における音型の組の数Nをインクリメントし、アドレ
スNにヘッダのアドレスを書き込み、そのアドレスか
ら、ヘッダ、LLNO(生成したアルペジオパターンの長
さ)、LL1、LL2……LLLLNO(生成したアルペジオパター
ンのデータ)を書き込む。その後、その他のメロディ生
成の処理を行い(54−10)、小節カウンタをインクリメ
ントする(54−11)。
Referring to FIG. 60, the bar counter in the passage (the section for each barno shown in FIG. 51) is set to "1" at 54-1. In 54-2, the hierarchical structure data HIEi of the current measure is compared with the hierarchical structure data HIEi-1 of the immediately preceding measure, whereby
Check whether the passage has started. For example, | HIEi-HIE
When i−1 | ≧ 2 holds, the passage is started. If it is determined that the passage has started, the bar counter in the passage is reset to "1" (54-3). Subsequently, the sound type data buffer is searched to determine whether the current phrase is a phrase for which an arpeggio pattern should be newly generated (54-4). The search of the sound data buffer is performed as follows. First, data at address 0 of the sound pattern data buffer (data indicating how many sets of sound patterns have already been generated) is read, and data indicated by subsequent addresses 1 to N as addresses (each data). The head information of the sound pattern is sequentially read, and the hierarchical structure data indicated by the upper 8 bits is compared with the hierarchical structure data HIEi of the current bar. If there is no hierarchical structure data (for example, data having the same value as HIEi or a value of (HIEi-1)) equal to the hierarchical structure data HIEi of the current bar in the sound type data buffer, the current bar newly sets the arpeggio pattern. This is the first measure of the passage to be generated. When a head having the same hierarchical structure data is found, the following arpeggio pattern is loaded as the arpeggio pattern of the current bar. In the case of a new passage, first determine how many measures the motif is composed of (54-5). This determination can be realized by random number generation, for example. When a two-bar motif is reached, the flag fl is set to "1" (54-7, 54-
8) An arpeggio pattern is newly generated for the next bar (the second bar of the passage). Then, an arpeggio pattern is generated (see FIG. 62) and saved in the sound pattern data buffer (54-9).
A header is created by Ei × 0100 + measure counter value × 0010 + the number of measures of the motif, the number N of the sound group at address 0 of the sound data buffer is incremented, the address of the header is written to the address N, and from that address. writes header, LLNO (length of the generated arpeggio pattern), LL 1, LL 2 ...... LL LLNO (data of the generated arpeggio pattern). Thereafter, other melody generation processing is performed (54-10), and the bar counter is incremented (54-11).

54−2において楽節が変っていないことが認められた
ときは、フラグflをチェックする(54−13)。fl=1の
ときは、現小節は2小節のモチーフを生成する楽節の2
番目の小節であるのでアルペジオパターンを再び生成し
音型データバッファにロードし(54−15)、フラグflを
“0"にリセットする(54−16)。fl=0のときは、現小
節の階層構造データHIEiに対応するヘッダをバッファか
らサーチし、そのヘッダの示すモチーフの長さの情報が
1小節のときは、そのヘッダに後続する音型データをロ
ードし、モチーフの長さが2小節のときは小節カウンタ
の2の剰余とヘッダの小節番号を比較し、一致すればそ
のヘッダに後続する音型データを現小節のアルペジオパ
ターンとしてロードする。
If it is found in step 54-2 that the phrase has not changed, the flag fl is checked (54-13). When fl = 1, the current measure is 2 in the phrase that generates a 2-bar motif.
Since this is the second measure, an arpeggio pattern is generated again, loaded into the sound data buffer (54-15), and the flag fl is reset to "0" (54-16). When fl = 0, the header corresponding to the hierarchical data HIEi of the current bar is searched from the buffer, and when the length information of the motif indicated by the header is one bar, the sound pattern data following the header is searched. When the motif is two measures long, the remainder of the measure counter is compared with the measure number of the header, and if they match, the tone data following the header is loaded as the arpeggio pattern of the current measure.

第60図の54−9、54−15で実行されるアルペジオパタ
ーン(音型)の生成の詳細を第62図に示す。56−1のck
noはコード構成音の数を表わす。コード構成音数は、コ
ード構成音データの16ビットのうちで“1"である数をカ
ウントすることで得られる(第36図参照)。第62図の例
では、PC1〜PC5を生成するアルペジオパターンの制御パ
ラメータとしている。r1は1〜cknoの範囲の乱数値をと
り、コード構成音番号を意味する(56−4)。r2はPC3
(アルペジオパターンの最低音)〜PC2(アルペジオパ
ターンの最高音)のオクターブコードの乱数値をとり、
生成するLLのオクターブ番号を表わす(56−5)。a=
r1+r2×0100により生成するLLの候補を計算し(56−
7)、この候補aが、PCの条件を満足するとき、候補a
はLLとして採用される(56−8、56−12、56−14)。た
だし、PCの値によっては、先行するLL(例えば一番目の
LL1)が決定された後、後続するLL2の候補は永久にPCの
条件を満たさなく可能性がある。例えば、PC2=501(ア
ルペジオの最高音は第5オクターブの第1コード構成
音)、PC3=401(アルペジオの最低音は第4オクターブ
の第1コード構成音)、PC4=3(隣り合うLLの差の最
大値はコード構成音3つ分)、PC5=3(隣り合うLLの
差の最小値はコード構成音3つ分)のときにLL1とし
て、LL1=403(最初のLLは第4オクターブの第1コード
構成音)が得られたとするとPC4、PC5の条件に合わせる
には、LL2=503または303(構成音数3のとき)とな
り、これはPC2、PC3の条件に合わない。このための予防
としてループカウンタLOOPCを用意し、ループカウンタL
OOPCがある値(例えば100)以上になったら強制的に候
補aをLLとして採用している。(56−9、56−10、57−
11)。
FIG. 62 shows details of the generation of the arpeggio pattern (sound pattern) executed in 54-9 and 54-15 in FIG. 56-1 ck
"no" indicates the number of chord components. The number of chord constituent sounds is obtained by counting the number of "1" in the 16 bits of chord constituent sound data (see FIG. 36). In the example of 62 view, and the control parameters of the arpeggio pattern that generates a PC 1 to PC 5. r1 takes a random value in the range of 1 to ckno, and means a chord component sound number (56-4). r 2 is PC 3
Take the random value of the octave code of (lowest note of the arpeggio pattern) ~ PC 2 (highest note of the arpeggio pattern)
Indicates the octave number of the LL to be generated (56-5). a =
LL candidates generated by r 1 + r 2 × 0100 are calculated (56−
7) When this candidate a satisfies the condition of PC, the candidate a
Is adopted as LL (56-8, 56-12, 56-14). However, depending on the value of PC, the preceding LL (for example,
After LL 1 ) has been determined, subsequent LL 2 candidates may not permanently satisfy the PC requirements. For example, PC 2 = 501 (the highest note of the arpeggio is the first chord component of the fifth octave), PC 3 = 401 (the lowest note of the arpeggio is the first chord component of the fourth octave), and PC 4 = 3 (the neighbor When PC 5 = 3 (the minimum difference between adjacent LLs is three chord constituent sounds), LL 1 is assumed as LL 1 and LL 1 = 403 (first). 's LL to match the fourth when the first chord member octave) is to obtain PC 4, PC 5 conditions, when LL 2 = 503 or 303 (constituting note number 3), which is PC 2 Does not meet the requirements of PC 3 . To prevent this, prepare a loop counter LOOPC and set the loop counter L
When OOPC exceeds a certain value (for example, 100) or more, candidate a is forcibly adopted as LL. (56-9, 56-10, 57-
11).

第63図は第62図のチェック56−8の詳細である。LLi
の候補aがPCの条件を満足するには、 (イ)a≦PC2(最高音以下であること) (ロ)a≧PC3(最低音以上であること) (ハ)|a−LLi−1|≦PC4(直前のLLとの差が最大値PC4
以下であること) (ニ)|a−LLi−1|≧PC5(直前のLLとの差が最小値PC5
以上であること) が成立しなければならない。第63図のフローではこれら
の条件が成立しないとき、フラグOKを“0"にセットして
いる(図中のoldaは直前のLLを表わす。56−13参照)。
FIG. 63 shows details of the check 56-8 in FIG. LLi
In order for the candidate a to satisfy the condition of PC, (a) a ≦ PC 2 (must be lower than the highest note) (b) a ≧ PC 3 (must be higher than the lowest note) (c) | a−LLi −1 | ≦ PC 4 (The difference from the previous LL is the maximum value PC 4
(D) | a−LLi−1 | ≧ PC 5 (the difference from the immediately preceding LL is the minimum value PC 5
Must be satisfied). In the flow of FIG. 63, when these conditions are not satisfied, the flag OK is set to “0” (olda in the figure represents the immediately preceding LL; see 56-13).

第64図は第59図の53−7の詳細である。目的は、(オ
クターブ番号+コード構成音番号)で示されるアルペジ
オパターンLLの形式を、コード構成音データccを使って
(オクターブ番号+音名番号)で示されるメロディ音高
データの形式に変換して、MEDiに格納することである。
58−5、58−6の処理は、LLiのコード構成音番号(LLi
∧00ff)が現区間のコードのコード構成音数(CKNO)よ
り大きいときに、LLiのコード構成音番号を現区間のコ
ード構成音のうちで一番高いコード構成音番像に変更す
る処理である。図中、cはコード構成音のカウンタ、LL
i∧ff00はLLiのオクターブ番号、jは音名のカウンタで
ある。
FIG. 64 is a detail of 53-7 in FIG. The purpose is to convert the format of the arpeggio pattern LL indicated by (octave number + chord component number) to the format of melody pitch data indicated by (octave number + note name number) using the chord component sound data cc. And store it in MEDi.
The processing of 58-5 and 58-6 is performed by the chord number of LLi (LLi
When {00ff) is greater than the number of chord constituent notes (CKNO) of the chord in the current section, the process of changing the LLi chord constituent note number to the highest chord constituent note image in the chord constituent sounds in the current section. is there. In the figure, c is a counter of chord constituent sounds, LL
i∧ff00 is the octave number of LLi, and j is a note name counter.

第65図と第66図は第59図の53−8における非和声音の
付与の詳細である。この処理の目的はアルペジオに所望
の非和声音を付与してメロディの音高列を完成すること
である。非和声音の付加のために、上述した非和声音の
特徴{RSi}、コード進行評価で得た調性構造{KEY
i}、非和声音を分類する知識を表現するプロダクショ
ンルールが利用される。付加される非和声音は次の条件
を満足しなければならない。
FIG. 65 and FIG. 66 show details of the non-harmonic tone addition in 53-8 in FIG. The purpose of this processing is to add a desired non-harmonic sound to the arpeggio to complete the pitch sequence of the melody. For the addition of non-harmonic tones, the above-mentioned non-harmonic features {RSi}, tonal structure obtained from chord progression evaluation {KEY
i}, a production rule expressing knowledge for classifying non-harmonic sounds is used. The added non-harmonic tone must satisfy the following conditions.

(イ)所定の音域内の音であること (ロ)コード進行評価で得たKEYiを主音とするスケール
上の音であること (ハ)コード構成外音であること (ニ)プロダクションルールで得た結論と計画された非
和声音識別子RSiとが一致すること 第65図において、59−4〜59−18の外側のループは計
画された非和声音識別子RSiの数だけ繰り返すループで
あり、59−5〜59−16のループはアルペジオの音符の数
だけ繰り返す。59−8〜59−14では、非和声音の候補と
して、下限loから上限upまでの音域内にある各音高デー
タkが順次検査される(第67図参照)。音高データkが
音階音であってコード構成外音であるときは(59−8、
59−9)、関数Fを計算して(59−10)、プロダクショ
ンルールによる前向推論を実行し(59−11)、その結論
が計画された非和声音識別子RSiと一致するかどうかチ
ェックする(59−11)。一致するとき、音高データkは
上述した非和声音のとしての条件をすべて満足してい
る。したがって、付加される非和声数を計数するノンコ
ードトーンカウンタnctctをインクリメントし、見つけ
出された非和声音の音高データkをVMnctctに入れ、非
和声音の付加位置jをPOSTnctctにセットし、関連する
フラグfljを“1"にセットする(59−19〜59−22)。本
例では、和声音間に高々1つの非和声音が付加されるよ
うにしており、flj=0は、和声音MEDjとMEDj+1の間に
非和声音がまだ付加されていないことを示す。
(B) The sound must be within a predetermined range. (B) The sound must be on a scale with the KEYi obtained in the chord progression evaluation as the main tone. (C) It must be a sound outside the chord structure. In FIG. 65, the loop outside 59-4 to 59-18 is a loop that repeats for the number of planned non-harmonic identifiers RSi. The loop from -5 to 59-16 repeats the number of notes in the arpeggio. In 59-8 to 59-14, each pitch data k in the range from the lower limit lo to the upper limit up is sequentially examined as non-harmonic candidates (see FIG. 67). When the pitch data k is a scale tone and a non-chord-structured sound, (59-8,
59-9), calculate the function F (59-10), perform forward inference based on the production rules (59-11), and check whether the conclusion matches the planned non-harmonic identifier RSi. (59-11). When they match, the pitch data k satisfies all of the above-mentioned conditions for non-harmonic sounds. Therefore, the non-chord tone counter nctct for counting the number of non-harmonics to be added is incremented, the pitch data k of the found non-harmonics is put in VMnctct, and the additional position j of the non-harmonics is set in POSTnctct. , The associated flag fl j is set to “1” (59-19 to 59-22). In this example, at most one non-harmonic sound is added between harmonic sounds, and fl j = 0 means that a non-harmonic sound has not yet been added between the harmonic sounds MEDj and MED j + 1. Is shown.

59−12における結論=RSiの条件が不成立のときは、
着目している音高データkは非和声音としての条件を満
たさないので、音高データkをインクリメントして(59
−13)、処理を繰り返す。59−14においてk>UPが成立
するときは、和声音MEDjとMEDj+1の間に非和声音が付加
されなかったことを意味する。したがってjをインクリ
メントして(59−15)、次の和声音間に非和声音が付加
できるかどうかの検査に進む。
Conclusion at 59-12 = When the condition of RSi is not satisfied,
Since the pitch data k of interest does not satisfy the condition as a non-harmonic tone, the pitch data k is incremented (59
-13), repeat the process. When k> UP is satisfied in 59-14, it means that a non-harmonic tone has not been added between the harmonics MEDj and MED j + 1 . Therefore, j is incremented (59-15), and the process proceeds to a check as to whether a non-harmonic sound can be added between the next harmonic sounds.

59−6における候補音の設定の詳細は第68図に示され
る。この例では、前後の和声音MEDi、MEDi+1の高い方の
音より5半音上から低い方の音より5半音下までをサー
チする音高の範囲としている(62−5〜62−7)。ただ
し、i=0のとき、すなわち、着目している区間の最初
の和声音の手前に非和声音を付加しようとするときに
は、最初の和声音の5半音上〜5半音下までを音高範囲
とし(62−1、2)、i=Vmednoのとき、すなわち着目
している区間の最後の和声音の後に非和声音を付加しよ
うとするときには、最後の和声音の5半音上〜5半音下
までを音高範囲としている(62−3、4)。
Details of the setting of the candidate sound in 59-6 are shown in FIG. In this example, the pitch is searched from 5 semitones above the higher tone of the preceding and following harmony notes MEDi and MED i + 1 to 5 semitones below the lower tone (62-5 to 62-7). ). However, when i = 0, that is, when an attempt is made to add a non-harmonic sound before the first harmonic sound in the section of interest, the pitch range from 5 semitones to 5 semitones below the first harmonic sound is set. (62-1, 2), when i = Vmedno, that is, when an attempt is made to add a non-harmonic tone after the last harmonic tone in the section of interest, a fifth semitone to a fifth semitone below the last harmonic tone Up to the pitch range (62-3, 4).

59−8における音高データkが音階音かどうかのチェ
ックの詳細を第71図に示す。図中のSCAUEiは、区間iで
使用する音階の種類を表わし、第70図に示すような音階
データメモリ5のアドレスポインタとなっている。この
アドレスにある12ビット長の音階データ*SCALEiを上述
したコード進行評価で得たKEYiだけ転回する(65−
2)。例えば、SCALEiが“0"(ダイアトニックスケー
ル)の場合、そのデータはCを主音とするドレミファソ
ラシドを表わす。KEYiが“5"(F)のとき、データを5
つ転回することにより、Fを主音とする音階データaに
変換される。65−3は、音高データk(図中、MDで示さ
れている)を音階データと同じデータ形式に変換する処
理であり、その結果bと音階データaとの論理積が“0"
ならば音高データkは音階音でないと結論され、論理積
が“0"でないとき、音階音と結論される(64−5〜64−
7)。
FIG. 71 shows details of checking whether or not the pitch data k in 59-8 is a scale tone. SCAUEi in the figure represents the type of the scale used in the section i, and is an address pointer of the scale data memory 5 as shown in FIG. The 12-bit scale data * SCALEi at this address is rotated by the KEYi obtained in the chord progression evaluation described above (65-
2). For example, when SCALEi is “0” (diatonic scale), the data represents Doremifasoraside having C as a main tone. When KEYi is “5” (F), the data
By turning it, it is converted into scale data a having F as the main tone. 65-3 is a process of converting the pitch data k (indicated by MD in the figure) into the same data format as the scale data, and as a result, the logical product of the b and the scale data a is "0"
Then, it is concluded that the pitch data k is not a scale note, and when the logical product is not "0", it is concluded that the pitch data k is a scale note (64-5-64-).
7).

59−10におけるFの計算の詳細を第69図に示す。本例
では、非和声音は前後の和声音間に1つだけ付加する構
成であるので、いくつかの関数(図中、F1〜F3)につい
ては所定の値にセットしている。
Details of the calculation of F in 59-10 are shown in FIG. In this example, since only one non-harmonic sound is added between the preceding and succeeding harmonic sounds, some functions (F 1 to F 3 in the figure) are set to predetermined values.

59−11の前向推論の詳細は上述した第50図に示され
る。
Details of the forward inference of 59-11 are shown in FIG. 50 described above.

第65図の処理が完了したとき、nctctには付加された
非和声音の総数が記憶され、配列{Vi}のi番目には、
第65図の処理においてi番目に付加された非和声音の音
高データが記憶され、配列{POSTi}のi番目には第65
図の処理においてi番目に付加された非和声音の位置情
報が記憶されている。
When the processing in FIG. 65 is completed, the total number of added non-harmonic sounds is stored in nctct, and the i-th in the array {Vi} is
The pitch data of the non-harmonic tone added i-th in the processing of FIG. 65 is stored, and the i-th of the array {POSTi} is
The position information of the i-th non-harmonic sound added in the processing of the figure is stored.

これらのデータは、第66図の処理によって、メロディ
の音高列{VMEDi}の形式に変換される。なお配列{VME
Di}は、アルペジオ{MEDi}に初期設定されている。60
−2〜60−9は付加位置の順番に、配列{POSTi}、{V
Mi}をソートする処理である。60−10〜60〜19におい
て、位置データPOSTiで示される位置に非和声音の音高
データVMiを挿入している。
These data are converted to the format of the melody pitch sequence {VMEDi} by the processing in FIG. Array {VME
Di} is initially set to arpeggio {MEDi}. 60
-2 to 60-9 are arrays {POSTi}, {V
This is the process of sorting Mi}. In 60-10 to 60 to 19, the pitch data VMi of the non-harmonic tone is inserted at the position indicated by the position data POSTi.

なお、本例では和声音の間に非和声音を1つだけ付加
可能にしているが、複数の非和声音が付加できるように
処理を変更してもよい。
In this example, only one non-harmonic sound can be added between the harmonious sounds, but the processing may be changed so that a plurality of non-harmonic sounds can be added.

ここまでで、メロディの音高列は完成する。残る処理
はメロディの音長列の生成である。
At this point, the pitch sequence of the melody is completed. The remaining processing is generation of a melody duration sequence.

第72図にメロディの音長列の生成のフローを示す(53
−9の詳細)。まず、エッセンス生成または抽出で得た
基準のリズムパターンの音符数を、着目している区間で
生成した音符数Vmedno(メロディの音高列のデータ数)
とを比較して、両者の差aを算出する(66−1)。生成
音符数の方が基準リズムパターンの音符数より少ないと
き(a>0のとき)は、パルススケールによる音符の最
適結合を、差の数だけ繰り返し実行する(66−2〜66−
6)。生成音符数の方が基準リズムパターンの音符数よ
り多いとき(a>0のとき)は、音符の最適分割を差の
分だけ繰り返し実行する(66−7〜66−11)。本例では
リズムパターンのデータ形式として、16ビット長のデー
タを使用し、各ビット位置を各タイミングに割り当て、
“1"の値をもつビット位置で音が発生することを表わし
ているので、最後にMERデータ形式に変換する(66−1
2)。
FIG. 72 shows the flow of generating a melody duration string (53
-9 details). First, the number of notes of the reference rhythm pattern obtained by generation or extraction of the essence is calculated as the number of notes Vmedno (the number of data in the pitch sequence of the melody) generated in the section of interest.
, And the difference a between them is calculated (66-1). When the number of generated notes is smaller than the number of notes in the reference rhythm pattern (when a> 0), the optimal combination of notes by the pulse scale is repeatedly executed by the number of differences (66-2 to 66-).
6). When the number of generated notes is larger than the number of notes in the reference rhythm pattern (when a> 0), the optimum division of the notes is repeatedly executed by the difference (66-7 to 66-11). In this example, 16-bit data is used as the rhythm pattern data format, and each bit position is assigned to each timing.
Since it indicates that sound is generated at the bit position having the value of “1”, it is finally converted to the MER data format (66-1
2).

結合処理の詳細は第73図に示す。図中、PSCALEjは使
用するパルススケールのj番目の成分スケールを表わ
し、RRは処理対象のリズムパターンである。RRのビット
が“1"のなかで、パルススケールの重みが最小のポイン
トを“0"にすることで音符を結合する。例えば、基準リ
ズムパターンが であるときに、ノーマルノパルススケール(第11図参
照)を使って、音符を1つ結合した場合、結果は、 となる。
Details of the combining process are shown in FIG. In the figure, PSCALEj represents the j-th component scale of the pulse scale to be used, and RR is a rhythm pattern to be processed. Notes are combined by setting the point with the smallest pulse scale weight to "0" in the bit of RR "1". For example, if the reference rhythm pattern is And if one note is combined using the normal no pulse scale (see Figure 11), the result is Becomes

これは、次のようにして得られる。 This is obtained as follows.

まず、RRは、当初 0001 0001 0101 0001 である。一方、ノーマルのパルススケールは 1213 1214 1213 1215 である。RRのビット“1"のうちでノーマルのパルススケ
ールが最小の重みをもつポイントは、右端から7番目の
位置である。この位置のビットが“0"になる。したがっ
て、結果のRRは、 0001 0001 0001 0001 となり、これは、 を表わしている。
First, RR is initially 0001 0001 0101 0001. On the other hand, the normal pulse scale is 1213 1214 1213 1215. The point where the normal pulse scale has the minimum weight among the bits “1” of the RR is the seventh position from the right end. The bit at this position becomes “0”. Thus, the resulting RR is 0001 0001 0001 0001, which is Is represented.

分割処理の詳細は第74図に示す。分割は、RRのビット
が“0"のなかでパルススケールの重みが最大のポイント
を“1"とすることで実行される。例えば、リズムパター
に対し、ノーマルのパルススケールで音符を分割したと
き、結果は、 となる。
Details of the dividing process are shown in FIG. The division is performed by setting the point at which the weight of the pulse scale is maximum to "1" among the bits of RR "0". For example, rhythm pattern On the other hand, when dividing notes with the normal pulse scale, the result is Becomes

MERデータ形式への変換66−12の詳細は第75図に示
す。図中、c1は音符のカウンタであり、c2は各音符の音
長を計測するカウンタである。この例で、MER0にはRRか
ら最初の“1"が現われるまで長さが入るので、区間の境
界線(小節線)をまたぐ音符も処理可能である(シンコ
ペーション対策)。
Details of conversion 66-12 to MER data format are shown in FIG. 75. In the figure, c 1 is the counter of a note, c 2 is a counter that measures the sound length of each note. In this example, since MER 0 has a length until the first “1” appears from RR, it is possible to process notes that straddle a section boundary line (measure line) (measures against syncopation).

データ移動53−10の詳細を第76図に示す。まず、MER0
(現在の生成区間の頭の空白部分)を生成済の最後の音
の音長データMELRmeldnoに加える。ここにmeldnoは既に
生成されている音符の数を表わす。今回生成した音高列
VMED1〜VMEDvmednoをMELDに移動し、今回生成した音長
列MER1〜MERvmednoをMELRに移動する(70−2〜70−
6)。meldnoを更新して終了する(70−7)。
Details of the data movement 53-10 are shown in FIG. First, MER 0
(The blank part at the beginning of the current generation section) is added to the duration data MELRmeldno of the last generated sound. Here, meldno represents the number of notes already generated. The pitch sequence generated this time
VMED 1 to VMEDvmedno are moved to MELD, and the generated tone length strings MER 1 to MERvmedno are moved to MELR (70-2-70-
6). Update meldno and finish (70-7).

[発明の効果] 以上のように、本発明はコード進行とメロディ特徴パ
ラメータとに基づいてメロディを自動生成するタイプの
自動作曲機において、コード進行を得るために、曲の感
覚の度合を設定入力する設定入力手段と、この設定入力
手段により設定された感覚の度合に従ってコード進行を
自動生成するコード進行生成手段とを設けたことを特徴
とするものである。したがって、使用者の設定した感覚
の度合がコード進行を介して曲のメロディに反映される
ことになるため、使用者はより効率的に所望の曲を得る
ことが可能となる。また、コードに関する音楽知識を全
くもたない人でもイメージに合わせて作曲を楽しむこと
ができる利点がある。
[Effects of the Invention] As described above, the present invention sets and inputs the degree of sensation of a song in order to obtain a chord progression in an automatic music machine of a type that automatically generates a melody based on a chord progression and a melody feature parameter. And a chord progression generating means for automatically generating a chord progression in accordance with the degree of feeling set by the setting inputting means. Therefore, the degree of feeling set by the user is reflected in the melody of the music via the chord progression, so that the user can obtain a desired music more efficiently. In addition, there is an advantage that even a person who has no musical knowledge about the chord can enjoy composing in accordance with the image.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の一実施例に係る自動作曲機の全体構成
図、第2図は感覚の度合を設定入力する入力装置の例を
示す図、第3図はコード進行データベースの例を示す
図、第4図は変数のリストを示す図、第5図は明るさの
度合が指定される場合のコード進行生成のゼネラルフロ
ーチャート、第6図はコードデータ読み出しのフローチ
ャート、第7図は明るさの度合を算出するフローチャー
ト、第8図は明るさの度合を照合するフローチャート、
第9図はコード進行を選択するフローチャート、第10図
はエッセンスの度合が指定される場合のコード進行生成
のゼネラルフローチャート、第11図は乱数的にコード進
行を生成するフローチャート、第12図は作曲モードにお
ける全体的な動作を示すフローチャート、第13図は作曲
処理において使用される主な変数のリストを示す図、第
14図、第15図、第16図、第17図、第18図は使用されるデ
ータの形式を示す図、第19図は初期設定のフローチャー
ト、第20図はコード進行データの例を示す図、第21図は
コード進行データの読み込みのフローチャート、第22図
はパルススケールメモリに記憶されるパルススケールデ
ータを例示する図、第23図はパルススケールデータの読
み込みのフローチャート、第24図はプロダクションルー
ルデータメモリに記憶されるプロダクションルールデー
タを例示する図、第25図はプロダクションルールデータ
の読み込みのフローチャート、第26図はモチーフメモリ
に記憶されるメロディデータ(モチーフデータ)を例示
する図、第27図はメロディデータの読み込みのフローチ
ャート、第28図はエッセンス生成のフローチャート、第
29図はアルペジオパターンの特徴を設定するフローチャ
ート、第30図は非和声音の特徴を設定するフローチャー
ト、第31図はモチーフのリズムを区間別に評価するフロ
ーチャート、第32図はPs、Pe、Pss、Peeの算出のフロー
チャート、第33図はPs、Pssの算出のフローチャート、
第34図はPe、Peeの算出のフローチャート、第35図はモ
チーフのアルペジオパターンを抽出するフローチャー
ト、第36図は各コードの構成音データの例を示す図、第
37図はコードデータから構成音データを生成するフロー
チャート、第38図はアルペジオパターンの特徴を抽出す
るフローチャート、第39図は非和声音の特徴を抽出する
フローチャート、第40図はコードに基づいてメロディ音
を和声音と非和声音とに分類するフローチャート、第41
図は分析対象のメロディの状況を表わす関数Fを計算す
るフローチャート、第42図は関数F1の算出のフローチャ
ート、第43図は関数F2の算出のフローチャート、第44図
は関数F3の算出のフローチャート、第45図は関数F4の算
出のフローチャート、第46図は関数F5の算出のフローチ
ャート、第47図は関数F6の算出のフローチャート、第48
図は関数F7、F8の算出のフローチャート、第49図は計算
した関数Fを一時記憶するフローチャート、第50図は非
和声音の種類を推論するフローチャート、第51図はブロ
ック間のコード進行の一致度を算出するフローチャー
ト、第52図は算出された一致度から階層構造データを生
成するフローチャート、第53図はブロックの階層構造デ
ータをコード区間ごとの階層構造データに変換するフロ
ーチャート、第54図はコード進行から調性構造を抽出す
るフローチャート、第55図は調性構造の抽出過程を例示
する図、第56図は最初のコードCD1とi番目のコードCDi
との調性距離を算出するフローチャート、第57図はコー
ド間の調性距離の定義を示す図、第58図はスケール(音
階)の処理を示すフローチャート、第59図はメロディ生
成のフローチャート、第60図は音型(アルペジオパター
ン)の生成、セーブ、ロードを示すフローチャート、第
61図は音型のデータバッファを例示する図、第62図はア
ルペジオパターン生成のフローチャート、第63図はアル
ペジオパターン生成におけるチェックのフローチャー
ト、第64図はアルペジオパターンをメロディデータ形式
に変換するフローチャート、第65図と第66図はアルペジ
オに非和声音を付加するフローチャート、第67図は非和
声音付加処理の順序を示す図、第68図は非和声音の候補
とする音高の範囲を設定するフローチャート、第69図は
関数Fの計算のフローチャート、第70図は音階データメ
モリに記憶されるスケールデータの例を示す図、第71図
は音階音の識別のフローチャート、第72図はメロディの
音長データを生成するフローチャート、第73図は音符の
最適結合のフローチャート、第74図は音符の最適分割の
フローチャート、第75図は生成したリズムパターンをME
Rデータ形式に変換するフローチャート、第76図は生成
したメロディデータを連続領域に移動するフローチャー
トである。 1……CPU、3……入力装置、4……コード進行データ
ベース、6……メロディ特徴パラメータメモリ。
FIG. 1 is an overall configuration diagram of an automatic music composer according to an embodiment of the present invention, FIG. 2 is a diagram showing an example of an input device for setting and inputting a degree of feeling, and FIG. 3 is an example of a chord progression database. FIG. 4, FIG. 4 shows a list of variables, FIG. 5 is a general flowchart of chord progression generation when a degree of brightness is designated, FIG. 6 is a flowchart of code data readout, FIG. A flowchart for calculating the degree of brightness, FIG. 8 is a flowchart for collating the degree of brightness,
FIG. 9 is a flowchart for selecting chord progression, FIG. 10 is a general flowchart for chord progression generation when the degree of essence is specified, FIG. 11 is a flowchart for generating chord progression in random numbers, and FIG. FIG. 13 is a flowchart showing the overall operation in the mode, FIG. 13 is a diagram showing a list of main variables used in the music composition process, FIG.
FIGS. 14, 15, 16, 17, and 18 show the format of data used, FIG. 19 shows a flowchart of initialization, and FIG. 20 shows an example of chord progression data , FIG. 21 is a flowchart for reading the chord progression data, FIG. 22 is a diagram illustrating pulse scale data stored in the pulse scale memory, FIG. 23 is a flowchart for reading pulse scale data, and FIG. 24 is a production rule FIG. 25 is a diagram exemplifying production rule data stored in a data memory, FIG. 25 is a flowchart for reading production rule data, FIG. 26 is a diagram exemplifying melody data (motif data) stored in a motif memory, FIG. Is a flowchart for reading melody data, FIG. 28 is a flowchart for generating essence, and FIG.
29 is a flowchart for setting the characteristics of the arpeggio pattern, FIG. 30 is a flowchart for setting the characteristics of the non-harmonic sound, FIG. 31 is a flowchart for evaluating the rhythm of the motif for each section, and FIG. 32 is Ps, Pe, Pss, Flowchart of calculation of Pee, FIG. 33 is a flowchart of calculation of Ps, Pss,
FIG. 34 is a flowchart for calculating Pe and Pee, FIG. 35 is a flowchart for extracting an arpeggio pattern of a motif, FIG. 36 is a diagram showing an example of constituent sound data of each chord, FIG.
FIG. 37 is a flowchart for generating constituent sound data from chord data, FIG. 38 is a flowchart for extracting arpeggio pattern features, FIG. 39 is a flowchart for extracting non-harmonic features, and FIG. 40 is a melody based on chords. Flowchart for classifying sounds into harmony and non-harmony, No. 41
Figure is a flowchart for calculating the function F representing the status of the analyte melody, the flow chart of FIG. 42 calculates functions F 1, the flow chart of FIG. 43 calculates the function F 2, FIG. 44 calculates the function F 3 of the flowchart, the flowchart of FIG. 45 calculates the function F 4, a flowchart of the calculation of FIG. 46 is a function F 5, FIG. 47 is a flow chart for calculating the function F 6, 48
The figure shows a flowchart for calculating the functions F 7 and F 8 , FIG. 49 shows a flowchart for temporarily storing the calculated function F, FIG. 50 shows a flowchart for inferring the type of non-harmonic tone, and FIG. 51 shows the chord progression between blocks 52 is a flowchart for generating hierarchical structure data from the calculated coincidence, FIG. 53 is a flowchart for converting the hierarchical structure data of the block into the hierarchical structure data for each code section, and FIG. Figure is a flow chart for extracting a chord progression color tonality structure, Figure 55 Figure illustrating the extraction process of tonality structure, FIG. 56 is first code CD 1 and the i-th code CDi
57 is a flowchart showing a definition of a tonal distance between chords, FIG. 58 is a flowchart showing a scale (scale) process, FIG. 59 is a flowchart of melody generation, and FIG. Figure 60 is a flowchart showing the generation, saving, and loading of sound patterns (arpeggios).
61 is a diagram illustrating a sound type data buffer, FIG. 62 is a flowchart of arpeggio pattern generation, FIG. 63 is a flowchart of a check in arpeggio pattern generation, FIG. 64 is a flowchart of converting an arpeggio pattern into a melody data format, Fig. 65 and Fig. 66 are flowcharts for adding a non-harmonic tone to an arpeggio, Fig. 67 shows a sequence of non-harmonic tone addition processing, and Fig. 68 sets a pitch range as a non-harmonic tone candidate. FIG. 69 is a flowchart of the calculation of the function F, FIG. 70 is a diagram showing an example of scale data stored in the scale data memory, FIG. 71 is a flowchart of the identification of scale notes, and FIG. FIG. 73 is a flowchart of the optimal combination of notes, FIG. 74 is a flowchart of the optimal division of notes, and FIG. ME rhythm pattern
FIG. 76 is a flowchart for converting the generated melody data to a continuous area. 1 ... CPU, 3 ... input device, 4 ... chord progress database, 6 ... melody feature parameter memory.

フロントページの続き (56)参考文献 特開 昭62−187876(JP,A) 「コンピュートピア」1975・12月号V ol.9 No.110(昭和50年12月1 日)株式会社コンピュ−タ・エージ社 P.12〜P.19Continuation of the front page (56) References JP-A-62-187876 (JP, A) "Computepia" Vol. 9 No. 110 (December 1, 1975) Computer Age, Inc. 12-P. 19

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】曲の感覚の度合を設定入力する設定入力手
段と、 上記感覚の度合に基づいてコード進行情報を生成するコ
ード進行生成手段と、 メロディの性格や様式を表わすメロディ特徴パラメータ
を付与するメロディ特徴パラメータ付与手段と、 上記コード進行情報と上記メロディ特徴パラメータとに
基づいてメロディを生成するメロディ生成手段と、 を有することを特徴とする自動作曲機。
1. A setting input means for setting and inputting a degree of sensation of a tune, a chord progression generating means for generating chord progression information based on the degree of sensation, and a melody characteristic parameter representing a character and a style of the melody. An automatic melody device comprising: a melody feature parameter assigning unit that generates a melody based on the chord progression information and the melody feature parameter.
JP63073379A 1988-03-29 1988-03-29 Automatic composer Expired - Fee Related JP2638905B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63073379A JP2638905B2 (en) 1988-03-29 1988-03-29 Automatic composer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63073379A JP2638905B2 (en) 1988-03-29 1988-03-29 Automatic composer

Publications (2)

Publication Number Publication Date
JPH01246584A JPH01246584A (en) 1989-10-02
JP2638905B2 true JP2638905B2 (en) 1997-08-06

Family

ID=13516494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63073379A Expired - Fee Related JP2638905B2 (en) 1988-03-29 1988-03-29 Automatic composer

Country Status (1)

Country Link
JP (1) JP2638905B2 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「コンピュートピア」1975・12月号Vol.9 No.110(昭和50年12月1日)株式会社コンピュ−タ・エージ社P.12〜P.19

Also Published As

Publication number Publication date
JPH01246584A (en) 1989-10-02

Similar Documents

Publication Publication Date Title
US4982643A (en) Automatic composer
US4926737A (en) Automatic composer using input motif information
JP3704980B2 (en) Automatic composer and recording medium
JP2638021B2 (en) Automatic accompaniment device
JP2010538335A (en) Automatic accompaniment for voice melody
US6294720B1 (en) Apparatus and method for creating melody and rhythm by extracting characteristic features from given motif
JPH02306283A (en) Melody analyzer
Alfonseca et al. A simple genetic algorithm for music generation by means of algorithmic information theory
Kumar et al. MellisAI—An AI generated music composer using RNN-LSTMs
JPH0990952A (en) Chord analyzing device
JP2638905B2 (en) Automatic composer
JP2615720B2 (en) Automatic composer
EP0288800B1 (en) Automatic composer
JP2615722B2 (en) Automatic composer
JP2615721B2 (en) Automatic composer
Camurri et al. An experiment on analysis and synthesis of musical expressivity
CN113066458A (en) Melody generation method, device and equipment based on LISP-like chain data and storage medium
JPH05181409A (en) Automatic music composing machine
Bergeron et al. Structured Polyphonic Patterns.
JPS6380299A (en) Automatic rearrangement system and apparatus
JP2621266B2 (en) Automatic composer
JP3088919B2 (en) Tone judgment music device
JP2666063B2 (en) Automatic composer
JP3835131B2 (en) Automatic composition apparatus and method, and storage medium
JPH05346781A (en) Key detecting device and automatic music arranging device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees