JP3364940B2 - Automatic composer - Google Patents

Automatic composer

Info

Publication number
JP3364940B2
JP3364940B2 JP36054591A JP36054591A JP3364940B2 JP 3364940 B2 JP3364940 B2 JP 3364940B2 JP 36054591 A JP36054591 A JP 36054591A JP 36054591 A JP36054591 A JP 36054591A JP 3364940 B2 JP3364940 B2 JP 3364940B2
Authority
JP
Japan
Prior art keywords
melody
pitch
sound
pattern
music
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
JP36054591A
Other languages
Japanese (ja)
Other versions
JPH05181408A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP36054591A priority Critical patent/JP3364940B2/en
Priority to US07/998,561 priority patent/US5451709A/en
Publication of JPH05181408A publication Critical patent/JPH05181408A/en
Application granted granted Critical
Publication of JP3364940B2 publication Critical patent/JP3364940B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は音楽装置に関し、特に
メロディを自動的に生成(compose)する自動作
曲機に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a music apparatus, and more particularly to an automatic composer that automatically composes a melody.

【0002】[0002]

【従来の技術】従来において、メロディを自動生成する
いくつかの自動作曲機が知られている(USP4,399,73
1、USP4,664,010、WO NO.86/05619、特開昭62-187
876号)。USP4,399,731の自動作曲機はメロディ音高
列の生成に乱数を用いた試行錯誤方式をメロディ生成原
理としている。したがってメロディ生成空間は無限であ
るが、作曲知識を欠くため、好ましいメロディを得るた
めの効率があまりにも低い。USP4,664,010とWO N
O.86/05619の作曲機は与えられたメロディを変換するタ
イプのメロディ生成装置であり、変換のために数学的手
法(音高列の鏡象変換、音高・音長列の2次元空間に対
する線形的変換)を使用する。したがって変換空間は限
定されており、固定的で数学的な(音楽的とはいえな
い)作曲能力しかもたない。特開昭62-187876号の作曲
機は音高列の生成にマルコフモデルを利用したメロディ
生成装置である。音高列のマルコフ過程を表わす音高の
遷移表から作成されるメロディは、遷移表に内在する音
楽スタイルに束縛される。したがってこのメロディ生成
装置は、比較的よい効率で音楽的なメロディを生成でき
るものの、限られたスタイルのメロディしか生成でき
ず、提供できる作曲空間は狭い。以上の従来技術に共通
していることは、(1)作曲機にメロディの分析、評価
能力が欠けていること、(2)メロディの分析、評価能
力をメロディの生成に利用していないこと、(3)した
がって、音楽的なメロディを生成する能力が低いこと、
である。
2. Description of the Related Art Conventionally, some automatic composers that automatically generate a melody are known (USP 4,399,73).
1, USP 4,664,010, WO NO.86 / 05619, JP-A-62-187
No. 876). The automatic composer of USP 4,399,731 uses a trial-and-error method in which random numbers are used to generate a melody pitch sequence as a melody generation principle. Therefore, although the melody generation space is infinite, the efficiency for obtaining a desirable melody is too low because the composition knowledge is lacking. USP 4,664,010 and WO N
The composer of O.86 / 05619 is a melody generator of the type that transforms a given melody, and a mathematical method (conversion of pitch sequence, two-dimensional space of pitch / length sequence) is used for conversion. (A linear transformation for) is used. Therefore, the conversion space is limited, and it has only fixed and mathematical (not musical) composition ability. The composer disclosed in Japanese Patent Laid-Open No. 62-187876 is a melody generator that uses a Markov model to generate pitch sequences. The melody created from the pitch transition table that represents the Markov process of the pitch sequence is bound by the musical style inherent in the transition table. Therefore, although this melody generating device can generate a musical melody with relatively good efficiency, it can generate only a limited style of melody, and the composition space that can be provided is narrow. What is common to the above prior arts is that (1) the composer lacks melody analysis and evaluation capabilities, (2) melody analysis and evaluation capabilities are not used for melody generation, (3) Therefore, the ability to generate musical melody is low,
Is.

【0003】このような点に鑑み、本件発明者は特開昭
63-250696号、63-286883号において、メロディの分析、
評価能力を利用した自動作曲機を提案している。この自
動作曲機はメロディの音楽知識として、メロディを和声
音と非和声音の混合列としてとらえ、非和声音が和声音
との間に形成される関係を分析して非和声音を分類する
非和声音分類知識を有している。この非和声音分類知識
はユーザーからの入力メロディ(モチーフ)の分析に利
用される。更に、非和声音分類知識はメロディの生成に
も利用される。この作曲機はメロディを2段階で生成す
る。第1段階で和声音列(アルペジオ)を生成する(和
声音列はモチーフを基に展開して生成したアルペジオ特
徴パターンを音楽進行(進行中のコード)に適合化させ
ることにより得られる。)。第2段階で非和声音を生成
し、それらを和声音列間に挿入する(非和声音はモチー
フを基に展開して生成した非和声音特徴パターンを音楽
進行(進行中のスケール)に適合させながら、非和声音
分類知識に通すことにより得られる。)。この作曲機は
モチーフの特徴を反映した音楽的なメロディを生成する
ことができるが、次のような欠点をもっている。 (a)メロディ生成の前処理としてモチーフの分析、及
びモチーフからの生成メロディのアイデア(アルペジオ
と非和声音の特徴パターン)の作成に相当量のデータ処
理を要する。 (b)メロディを2段階で生成する方式は人間の通常の
メロディ作成プロセスとは異なる。したがって作曲の忠
実な人工知能化を実現できない。 (c)前処理と2段階メロディ生成のために、リアルタ
イムのメロディ生成が困難である。事実、この作曲機は
非実時間で1小節を単位として作曲を行っており、いっ
たん作曲を完了した後、作曲したものを音源を通して演
奏する構成になっている。この作曲の方式によれば、あ
らかじめメロディアイデア(アルペジオと非和声音の特
徴パターン)が与えられる場合においても、そのアイデ
アの具体化(メロディ生成)をリアルタイムで実行する
のが困難である。というのは、アイデアの具体化処理
(メロディの2段階生成処理)を小節線タイムのような
特定の時点で集中的に行うことになるからであり、作曲
機を演奏系と組み合わせた場合に、(コンピュータ)処
理が集中するところで演奏の時間遅れ(例えばメロディ
音の発音の遅れ)が発生してしまうからである。したが
って、(A)音楽的なメロディを1段階で生成でき、
(B)リアルタイムのメロディ生成、演奏が可能な自動
作曲機が望まれる。
In view of such a point, the inventor of the present invention discloses
63-250696, 63-286883, melody analysis,
We propose an automatic composer that uses the evaluation ability. This automatic composer regards the melody as musical knowledge of the melody, and considers the melody as a mixed sequence of harmony and non-harmonic sounds, and analyzes the relationship between the non-harmonic sounds and the harmonic sounds to classify the non-harmonic sounds. Has harmony classification knowledge. This non-harmonic classification knowledge is used to analyze the melody (motif) input by the user. Furthermore, the non-harmonic sound classification knowledge is also used for melody generation. This composer produces a melody in two stages. In the first stage, a harmony tone sequence (arpeggio) is generated (a harmony tone sequence is obtained by adapting an arpeggio characteristic pattern generated by developing a motif based on a motif to a music progression (chord in progress)). Non-harmonic sounds are generated in the second stage, and they are inserted between the harmony sound strings (The non-harmonic sounds are developed based on motifs and the generated non-harmonic sound characteristic patterns are adapted to the music progress (scale in progress). It is obtained by passing through the non-harmonic classification knowledge. This composer can generate musical melody that reflects the characteristics of the motif, but has the following drawbacks. (A) A considerable amount of data processing is required as a pre-processing for melody generation, in order to analyze motifs and create ideas of melody generated from motifs (feature patterns of arpeggios and non-harmonic tones). (B) The method of generating a melody in two steps is different from the normal human melody creation process. Therefore, it is impossible to realize faithful artificial intelligence in composition. (C) Real-time melody generation is difficult because of preprocessing and two-step melody generation. In fact, this composer composes in a unit of one bar in non-real time, and has a structure in which after the composition is completed, the composition is played through a sound source. According to this composition method, even if a melody idea (characteristic pattern of arpeggio and non-harmonic sound) is given in advance, it is difficult to realize the idea (melody generation) in real time. This is because the idea concrete processing (two-stage melody generation processing) is intensively performed at a specific point such as bar time, and when the composer is combined with the performance system, This is because a time delay in performance (for example, delay in sounding a melody sound) occurs when (computer) processing is concentrated. Therefore, (A) musical melody can be generated in one stage,
(B) An automatic composer capable of real-time melody generation and performance is desired.

【0004】[0004]

【発明が解決しようとする課題】したがってこの発明の
目的は音楽分析、評価能力のサポートの下に音楽的なメ
ロディを1段階で生成できる自動作曲機を提供すること
である。更にこの発明の目的は実時間ベースでメロディ
を生成、演奏可能な自動作曲機を提供することである。
SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide an automatic composer capable of generating a musical melody in one stage with the support of music analysis and evaluation capabilities. Another object of the present invention is to provide an automatic composer capable of generating and playing a melody on a real time basis.

【0005】[0005]

【課題を解決するための手段、作用】この発明によれ
ば、音楽進行を与える音楽進行付与手段と、メロディの
音列を音種列と音程列とでパターン化したメロディパタ
ーンのルールベースを記憶するメロディパターンルール
ベース手段と、ユーザーによるメロディ入力が可能なメ
ロディ入力手段と、このメロディ入力手段で入力された
メロディの各音の音種を、音楽進行付与手段により付与
されている音楽進行に基づいて判定すると共に、隣接す
るメロディ音の音程を判定することにより、音種列と音
程列とで表現されるメロディパターンを作成するメロデ
ィパターン作成手段と、このメロディパターン作成手段
で作成されたメロディパターンを、追加ルールとしてメ
ロディパターンルールベース手段に追加するメロディパ
ターンルールベース拡張手段と、音楽進行付与手段から
の音楽進行に適合し、かつメロディパターンルールベー
ス手段内のメロディパターンルールを満たすメロディを
生成するメロディ生成手段と、を有することを特徴とす
る自動作曲機を有することを特徴とする自動作曲機が提
供される。この構成によればメロディの生成を和声音
列の生成と非和声音列の加入とに分けずに行うことがで
きる。また、生成されるメロディはそのメロディの音楽
的背景である音楽進行に適合し、かつメロディパターン
ルールベース手段に置かれるルール(メロディパターン
ルール)に適合するものなので、本構成は音楽的に好ま
しいメロディを比較的効率よく提供できる。即ち、生成
されるメロディをそのメロディの音楽的背景(文脈)で
ある音楽進行(例えば進行中のコード、キー、スケール
のような調性和声背景で評価した場合の特徴(音種列と
音程列)がメロディパターンルールを満足する。換言す
るとメロディパターンルールを作曲すべきメロディの音
楽的文脈に応じて具体化(適用)したものがメロディと
なる。また、この構成は、従来の技術で述べた特開昭63
-250696号、特開昭63-286883号の自動作曲機に比べ、は
るかに少ないデータ処理量でメロディを生成することを
可能にする。したがって、実時間ベースでのメロディ生
成、演奏の実現を容易にするものである。更に、この構
成では、ユーザーによってメロディパターンルールを追
加することができるので、ユーザーの好みに合うメロデ
ィ生成の能力を高 めることができ、ユーザーの作曲への
積極的な参加を可能にする。
According to the present invention, a music progression giving means for giving a music progression and a rule base of a melody pattern in which a tone sequence of a melody is patterned by a tone type sequence and a tone sequence are stored. and the melody pattern rule-based means for the eyes that can be melody input by the user
It is input by the body input means and this melody input means
Add the sound type of each sound of the melody by the music progression adding means
Based on the progress of music being recorded,
By determining the pitch of the melody sound that
A melody that creates a melody pattern expressed as a sequence
Pattern creating means and this melody pattern creating means
The melody pattern created in
Melody pa to add to rodi pattern rule base means
An automatic tune comprising: a turn rule base expanding means , and a melody generating means adapted to generate a melody that matches the music progression from the music progression giving means and that satisfies the melody pattern rule in the melody pattern rule base means. There is provided an automatic composer having a machine. According to this configuration, it is possible to generate the melody without dividing into the generation of the harmony tone sequence and the addition of the non-harmonic tone sequence. Further, since the generated melody is suitable for the music progression which is the musical background of the melody and also for the rule (melody pattern rule) placed in the melody pattern rule base means, this configuration is a musically preferable melody. Can be provided relatively efficiently. That is, the characteristics of the generated melody evaluated by a musical progression (context) of the melody (for example, a tonal harmony background such as an ongoing chord, key, or scale (note sequence and pitch). columns) that embodies (applied) is the melody in accordance with the musical context of the melody to be composed of. in other words the melody pattern rule satisfies the melody pattern rule. Moreover, this arrangement is described in the prior art JP-A-63
-250696, it is possible to generate a melody with a much smaller amount of data processing than the automatic composer disclosed in Japanese Patent Laid-Open No. 63-286883. Therefore, it facilitates the real-time basis of melody generation and performance. Furthermore, this structure
In addition, the melody pattern rule is added by the user.
You can add a melody that suits your taste.
The ability of the I generation can be high Mel, to the user of the composer
Enable active participation.

【0006】この発明の他の構成によれば、メロディ音
を順次自動生成する自動作曲機において、音楽進行を与
える音楽進行付与手段と、メロディの音列を音種列と音
程列とでパターン化したメロディパターンのルールベー
スを記憶するメロディパターンルールベース手段と、こ
のメロディパターンルールベース手段に記憶されている
メロディパターンルールベースを参照することなく、現
在のメロディ音の候補を生成するメロディ音候補生成手
段と、このメロディ音候補生成手段で生成された現在メ
ロディ音候補の音種を、音楽進行付与手段により付与さ
れている音楽進行に基づいて判定する音種判定手段と、
メロディ音候補生成手段で生成された現在メロディ音候
補と既に生成されている直前のメロディ音との音程を判
定する音程判定手段と、音種判定手段で判定された音種
及び音程判定手段で判定された音程を含む過去の音種列
及び音程列のパターンが、メロディパターンルールベー
ス手段に記憶されているか否かを判断するルールベース
検索手段と、このルールベース検索手段で記憶されてい
ると判断されたときに、現在メロディ音候補を現在のメ
ロディ音として決定すると共に、このメロディ音に続く
次のメロディ音の候補の生成をメロディ音候補生成手段
に指示し、ルールベース検索手段で記憶されていないと
判断されたときに、現在メロディ音候補に代わる新たな
メロディ音候補の生成をメロディ音候補生成手段に指示
する指示手段と、を有することを特徴とする自動作曲機
が提供される。 この構成によれば、メロディの生成を和
声音列の生成と非和声音列の加入とに分けずに時系列に
順次行うことができ、実時間ベースでのメロディ生成及
び演奏の実現を容易にするものである。また、生成され
るメロディはそのメロディの音楽的背景である音楽進行
とメロディパターンルールベース手段に置かれるルール
とに適合するものなので、音楽的に好ましいメロディを
生成することができる。
According to another aspect of the present invention, a melody tone
The automatic music composer that automatically generates
And a means for adding music progression,
Rule base of melody pattern patterned with
Melody pattern rule-based means to store
Stored in the melody pattern rule base means of
Without referring to the melody pattern rule base, the current
Melody sound candidate generator for generating existing melody sound candidates
And the current song generated by this melody sound candidate generation means.
The sound type of the rody sound candidate is assigned by the music progression assigning means.
Sound type determination means for determining based on the progress of music,
Current melody tone generated by melody tone candidate generation means
The pitch between the complement and the previously generated melody sound is determined.
Pitch determination means to be determined and the sound type determined by the sound type determination means
And a past tone series including the pitch determined by the pitch determination means
And the pitch sequence pattern is the melody pattern rule base.
Rule base to determine whether or not it is stored in
Stored by the search means and this rule-based search means
If it is determined that the current melody sound candidate is
Followed by this melody sound as it was decided as a Roddy sound
Next melody sound candidate generation means for generating melody sound candidate
And the rule-based search means
When judged, the new melody sound alternative
Instruct the melody sound candidate generation means to generate melody sound candidates
Automatic composer comprising:
Will be provided. With this configuration, the melody generation is
Time series without dividing into voice sequence generation and non-harmonic sequence addition
Can be performed in sequence, and can generate melody on a real-time basis.
And performance is easy. Is also generated
Melody is a musical background of the melody
And rules placed in melody pattern rule base means
Since it is compatible with
Can be generated.

【0007】[0007]

【0008】[0008]

【実施例】以下、図面を参照してこの発明の実施例を説
明する。特徴 本実施例にかかる自動作曲機(自動メロディ生成装置)
の主な特徴は作曲の条件付機能、メロディの音高列生成
機能、及びメロディパターンルールの拡張機能である。
以下、それぞれの特徴について述べる。作曲条件付装置(図1A) 実施例に組み込まれる作曲条件付装置100の機能ブロ
ック図を図1Aに示す。作曲条件付装置100は音楽構
造データベース110とコード進行データベース(CP
DB)に基づいて選択コード進行(CP)160を生成
する。更に作曲条件付装置100は音楽構造データ11
0、曲風入力130及びリズムパターンデータベース1
50とに基づき選択リズムパターン170を生成する。
選択コード進行160の列は作曲される曲のコード進行
を表わす。選択リズムパターン170の列は作曲される
メロディのリズム(音長列)を表わす。選択コード進行
160はコード進行データベース140の中から選択音
楽構造120に適したコード進行を取ることによって得
られる。選択リズムパターン170はリズムパターンデ
ータベース150から選択音楽構造120と曲風入力1
30とに合うリズムパターンを取り出すことによって得
られる。図1Aにおいて、音楽構造データベース110
は、上位構造データベース111と下位構造データベー
ス112とからなる。上位構造データベース111は音
楽の上位構造(例えば楽節)のデータベースを記憶す
る。下位構造データベース112は音楽の下位構造(例
えば楽節内部構造)のデータベースを記憶する。例えば
下位構造データベース112の各階構造エントリーは上
位構造を8小節の楽節とみたときの8小節構造を表わす
情報をもっている。選択モジュール116は上位構造デ
ータベース111から上位構造データを取りそれを選
択上位構造121として選択音楽構造120に記憶す
る。適モジュール145は選択上位構造121に合う
コード進行をコード進行データベース140から取り出
それを選択コード進行160として生成する。適性
モジュール117は下位構造データベース112の中か
ら選択上位構造121に合う属性をもつ下位構造列(例
えば8小節構造)を取り出しそれを選択下位構造12
2として選択音楽構造120に設定する。選択下位構造
122は適性モジュール155に属性テストのために与
えられる。曲風入力130は指定リズム131と指定ビ
ート(又はテンポ)132とからなる。指定リズム13
1と指定ビート(又はテンポ)132は共に適性モジュ
ール155に属性テストのために与えられる。適性モジ
ュール155はリズムパターンデータベース150の中
から選択下位構造122に適合し、かつ指定リズム13
1と指定ビート(又はテンポ)132に適合する属性を
もつリズムパターンを探し出しそれを選択リズムパタ
ーン170として生成する。このようにして生成される
選択リズムパターン170は自動メロディの音長列(各
メロディ音の発音、消音タイミング)を定める。このよ
うにして作曲条件付装置100は知識の資源である各種
データベースとユーザーからの曲風入力に基づき適正な
条件付がなされた音楽情報(選択コード進行、選択リズ
ムパターン)を作曲の一部として生成するものである。
メロディの音長列は選択リズムパターン170から得ら
れるので、後はメロディの音高列を生成することでメロ
ディが出来上がる。なお、図1Aの音楽構造データ11
0では構造の階層レベルを上位と下位の2レベルとして
いるが階層レベル数が1或いは3以上であってもよ
い。したがって、選択音楽構造の階層レベル数も1以上
任意の数であり得る。また、曲風入力を図1Aでは指定
リズム131と指定ビート(テンポ)132とによって
与えているが他の曲風パラメータを用いてもよい。
Embodiments of the present invention will be described below with reference to the drawings. Features Automatic composer (automatic melody generator) according to the present embodiment
The main features of are the composition function of composition, the function of generating pitch sequence of melody, and the expansion function of melody pattern rule.
The features of each are described below. Composition Conditioning Device (FIG. 1A) FIG. 1A shows a functional block diagram of the composition condition device 100 incorporated in the embodiment. The music composition device 100 includes a music structure database 110 and a chord progression database (CP
Generate a selected chord progression (CP) 160 based on DB). Furthermore, the music composition condition device 100 uses the music structure data 11
0, song style input 130 and rhythm pattern database 1
A selection rhythm pattern 170 is generated based on 50.
The selected chord progression 160 column represents the chord progression of the song being composed. The row of the selected rhythm pattern 170 represents the rhythm (sound length row) of the melody to be composed. The selected chord progression 160 is obtained by taking a chord progression suitable for the selected music structure 120 from the chord progression database 140. The selected rhythm pattern 170 is selected from the rhythm pattern database 150.
It is obtained by extracting the rhythm pattern that matches 30. In FIG. 1A, the music structure database 110
Consists of an upper structure database 111 and a lower structure database 112. The superstructure database 111 stores a database of superstructures of music (for example, passages). The substructure database 112 stores a database of a substructure of music (for example, a passage internal structure). For example, each floor structure entry of the lower structure database 112 has information indicating an 8-bar structure when the upper structure is regarded as a 8-bar passage. Selection module 116 takes the upper structure data from the upper structure database 111, and stores the selected music structure 120 it as the selected upper structure 121. Aptitude module 145 removed from the chord progression database 140 chord progressions that match the selected upper structure 121, and generates it as the selected chord progression 160. The aptitude module 117 extracts a lower structure column (for example, an 8-bar structure) having an attribute that matches the selected upper structure 121 from the lower structure database 112 , and selects it from the selected lower structure 12.
2 is set in the selected music structure 120. The selection substructure 122 is provided to the fitness module 155 for attribute testing. The musical style input 130 includes a designated rhythm 131 and a designated beat (or tempo) 132. Designated rhythm 13
Both 1 and the designated beat (or tempo) 132 are provided to the fitness module 155 for attribute testing. The suitability module 155 matches the selected substructure 122 from the rhythm pattern database 150, and specifies the rhythm 13
1 and find a rhythm pattern having a matching attribute specified beat (or tempo) 132, and generates it as the selected rhythm pattern 170. The selected rhythm pattern 170 generated in this way defines the tone length sequence of the automatic melody (pronunciation and muffling timing of each melody tone). In this way, the music composition condition device 100 uses various databases as knowledge resources and music information (selection chord progression, selection rhythm pattern) that is appropriately conditionalized based on the music style input from the user as a part of composition. To generate.
Since the tone length sequence of the melody is obtained from the selected rhythm pattern 170, the melody is completed by generating the tone sequence of the melody. The music structure data 11 of FIG. 1A
In the case of 0, the hierarchical levels of the structure are upper and lower, but the number of hierarchical levels may be 1 or 3 or more. Therefore, the number of hierarchical levels of the selected music structure may be one or more and may be any number. Although the musical style input is given by the designated rhythm 131 and the designated beat (tempo) 132 in FIG. 1A , other musical style parameters may be used.

【0009】音高列生成装置(図1B) 本自動作曲機に組み込まれるメロディの音高列生成装置
200を図1Bに機能ブロックで示す。音高列生成装置
200の目的はメロディの音高列を生成することであ
る。音高列生成装置200は図1Aに示すような作曲条
件付装置100と組み合わせることが出来る(必ずしも
これには限定されないが)。その場合音高列生成装置
200は選択リズムパターン170がメロディ音の発音
タイミングを指示する都度、決定現ピッチ224を生成
する。決定現ピッチ224の列がメロディの音高列を定
める。図1Bにおいて決定現ピッチ224を生成する
際、音高列生成装置200は加算器206において前ピ
ッチ202乱数発生モジュール204からの乱数とを
加算して最初の現ピッチ候補をマルコフ生成する。現ピ
ッチ候補が入力される音種・音程列生成モジュール20
8は生成された音高列に現ピッチ候補を加えた音高列の
音種と音程の列を生成する。音種・音程列生成モジュー
ル208は現ピッチ候補の音種と音程を分類するため現
調性210(キー、スケール)と現コード212の情報
を利用する。音種・音程列生成モジュール208の出力
は現ピッチ候補までのメロディ音列のパターンを表わ
し、その情報がマッチングモジュール214に与えられ
る。マッチングモジュール214は与えられるメロディ
(音列)パターンについてメロディパターンルール(デ
ータ)ベース216を検索する。検索の結果、メロディ
パターンルールベース216にモジュール208の出力
が定めるメロディパターンに相当するエントリーが含ま
れない場合、検索結果判定モジュール218でNOとな
り、次候補生成モジュール220で次の現ピッチ候補が
生成される。次候補生成モジュール220は222に示
ピッチ+乱数の情報を用いて次の現ピッチ候補を生
成する。再び音種・音程列生成モジュール208とマッ
チングモジュール214の動作が繰り返され、この新た
な現ピッチ候補についてその妥当性が評価される。メロ
ディパターンルールベース216に音種・音程列生成モ
ジュール208の出力が相当するメロディパターンがエ
ントリーされていれば検索結果判定モジュール218
でYESが成立し、その時の現ピッチ候補が決定現ピッ
チ224として生成される。次のメロディ音の生成時
決定現ピッチ224は前ピッチ202となり上述
した動作が繰り返されて新たな現ピッチが決定される。
このようにして音高列生成装置200はメロディパター
ンルールベース216を利用することにより、メロディ
の音高をリアルタイムで順次生成することが出来る。し
たがって音高列生成装置200の出力(決定ピッチ2
24)を実時間演奏系228(電子音源を含み、リズム
パターンが与えられている)に与えることにより作曲
と演奏とを同時にリアルタイムで実行することが出来
る。すなわち音高列生成装置200はリアルタイムの作
曲能力を有するものである。
Pitch Sequence Generating Device (FIG. 1B) FIG. 1B is a functional block diagram of a melody pitch sequence generating device 200 incorporated in the automatic composer. The purpose of the pitch string generation device 200 is to generate a pitch string of a melody. The pitch string generation device 200 can be combined with (but not necessarily limited to) the composition / conditional device 100 as shown in FIG. 1A. In this case , the pitch string generation device 200 generates the determined current pitch 224 each time the selected rhythm pattern 170 indicates the sounding timing of the melody sound. The row of the determined current pitch 224 defines the pitch row of the melody. When generating the determined current pitch 224 in FIG. 1B, the pitch train generation device 200 adds the previous pitch 202 and the random number from the random number generation module 204 in the adder 206 to generate the first current pitch candidate Markov. A tone type / pitch sequence generation module 20 to which the current pitch candidate is input
8 to generate the column of note type and pitch of the pitch sequence plus the current pitch candidate in the generated pitch sequence. The tone type / tone sequence generation module 208 uses the information of the current tonality 210 (key, scale) and the current chord 212 to classify the tone type and tone of the current pitch candidate. The output of the tone type / tone string generation module 208 represents the pattern of the melody tone string up to the current pitch candidate, and the information thereof is given to the matching module 214. Matching module 214 gives a melody
(Sound sequence) pattern Melody pattern rule (data
Database) 216. As a result of the search, when the melody pattern rule base 216 does not include an entry corresponding to the melody pattern defined by the output of the module 208, the search result determination module 218 is NO, and the next candidate generation module 220 generates the next current pitch candidate. To be done. The next candidate generation module 220 generates the next current pitch candidate using the information of the previous pitch + random number shown in 222. The operations of the tone type / tone string generation module 208 and the matching module 214 are repeated again, and the validity of this new current pitch candidate is evaluated. If a melody pattern corresponding to the output of the tone type / tone string generation module 208 is entered in the melody pattern rule base 216 , the search result determination module 218
The answer is YES, and the current pitch candidate at that time is generated as the determined current pitch 224. When the next melody tone is generated, the determined current pitch 224 becomes the previous pitch 202, and the above-described operation is repeated to determine a new current pitch.
In this way, the pitch string generation device 200 can sequentially generate the pitches of the melody in real time by using the melody pattern rule base 216. Therefore, the output of the pitch train generation device 200 (determined current pitch 2
Only contains the real-time performance-based 228 (electronic sound source 24), rhythm
Pattern is given ) , composition and performance can be executed simultaneously in real time. That is, the pitch train generation device 200 has a real-time composition capability.

【0010】メロディパターンルール拡張装置(図1C) 図1Cにメロディパターンルール拡張装置300の機能
ブロック図を示す。メロディパターンルール拡張装置3
00は図1Bに示すような音高列生成装置(自動メロデ
ィ生成装置)が参照するメロディパターンルールベース
216を拡張する機能を実現するものである。メロディ
パターンルール(データ)ベース330(216)のう
ち330Fは自動作曲機に固定的に組み込まれた固定メ
ロディパターンルールベースであり、330Eの部分が
メロディパターンルールベースの拡張部である。メロデ
ィパターンルール拡張装置300によれば、この拡張部
330Eのメロディパターンルールをユーザー入力メロ
ディ302に基づいて作成することが出来る。このルー
ル作成を行う部分がメロディパターン(音種・音程列)
生成ブロック310である。ユーザー入力メロディ30
2はメロディパターン生成ブロック310の音程分類モ
ジュール312と音種分類モジュール316に入力され
る。音程分類モジュール312はユーザー入力メロディ
302の隣り合う音の間に形成される音程を評価して音
程列を形成する。例えば314に示すように音程分類
モジュールは音が同音(モーションなし)か上行順次
進行か下行順次進行か上行跳躍進行か下行跳躍進行かと
いったように音程を分類する。316はユーザー入力メ
ロディ302の各音の音種を分類して音種列を形成す
る。音種分類モジュール316はメロディ音の音種を分
類するためにキー・スケール・コード318の情報と
各音種の標準ピッチクラスセット(PCS)メモリ32
0の情報を利用する。例えば322に示すように音種
分類モジュール316はメロディ音の音種がコードトー
ンかスケールノートかアェイラブルノートかテンショ
ンノートかアヴォイドノートかといったようにして音種
を分類する。音程分類モジュール312の音程列出力と
音種分類モジュール316の音種列出力はユーザー入力
メロディ302のパターン即ちユーザー入力メロディか
ら導かれるメロディパターンのルールを表わす。このル
ールはメロディパターンルールベースの拡張部330E
に記憶される。メロディ生成の際、自動メロディ生成モ
ジュール340(例えば図1Bの音高列生成装置20
0)は拡張部330Eを含むメロディパターンルールベ
ース330の全体を利用してメロディを生成する。この
ようなメロディパターンルール拡張装置300を設ける
ことによりユーザーが希望するメロディを生成する能
力が高い自動作曲機を提供することが出来る。
Melody Pattern Rule Expansion Device (FIG. 1C) FIG. 1C shows a functional block diagram of the melody pattern rule expansion device 300. Melody pattern rule expansion device 3
00 is a melody pattern rule base that is referred to by a pitch sequence generation device (automatic melody generation device) as shown in FIG. 1B.
The function to extend 216 is realized. Of the melody pattern rule (data) base 330 (216) , 330F is a fixed melody pattern rule base fixedly incorporated in the automatic composer, and 330E is an extension of the melody pattern rule base. According to the melody pattern rule expansion device 300, the melody pattern rule of the expansion section 330E can be created based on the user input melody 302. The part that creates this rule is the melody pattern (tone type and pitch sequence)
The generation block 310. User input melody 30
2 is input to the pitch classification module 312 and the tone type classification module 316 of the melody pattern generation block 310. The pitch classification module 312 evaluates pitches formed between adjacent sounds of the user input melody 302 to form pitch strings. For example, as shown in 314, pitch classification module sound column to classify the pitch as such homophones (Motion no) or ascending order progress or descending order progress or ascending leap progress whether descending leap progress. 316 classifies the sound types of the sounds of the user input melody 302 to form a sound type sequence. The tone type classification module 316 uses the information of the key scale code 318 and the standard pitch class set (PCS) memory 32 of each tone type to classify the tone type of the melody tone.
Use 0 information. For example, as shown in 322, the note type classification module 316 classifies the note type as such note type code or tone or scale notes or A Vu Eiraburunoto or tension notes or Avoidonoto melody sound. The pitch sequence output of the pitch classification module 312 and the pitch string output of the pitch classification module 316 represent the pattern of the user input melody 302, that is, the rule of the melody pattern derived from the user input melody. This rule is an extension 330E of the melody pattern rule base.
Memorized in. When the melody is generated, the automatic melody generation module 340 (for example, the pitch string generation device 20 of FIG. 1B) is used.
0) uses the entire melody pattern rule base 330 including the extension section 330E to generate a melody. By providing such a melody pattern rule expansion device 300, it is possible to provide an automatic composer having a high ability to generate a melody desired by a user.

【0011】ハードウェア構成(図2) 図1A、図1B、図1Cで述べたような機能を実現する
代表的なハードウェア構成を図2に示す。CPU2はR
OM4に記憶されるプログラムに従ってシステム全体を
制御する。ROM4はプログラムの他各種固定データ
(上述したデータベース等)を記憶するRAM6は種
々の変数一時データを記憶するものでCPU2のワ
ーキングメモリとして使用される。鍵盤8は通常の電子
鍵盤楽器の鍵盤で構成できユーザーのメロディ入力に
使用される。入力装置10には曲風入力装置や自動メロ
ディ生成の開始、停止入力装置等まれる。鍵盤8と
入力装置10の状態は適宜CPU2に読み取られ対応
する処理が行われる。音源12はCPU2の制御のもと
に楽音信号を発生する。サウンドシステム14は音源1
2からの楽音信号を受けそのサウンドを再生する。表
示装置16はCPU2の制御のもとにシステムの機能や
メッセージ等を表示する。表示装置16にはLEDや液
晶ディスプレイ等が含まれる。クロック発振器18は音
楽分解能時間が経過する毎にパルスを発生してCPU2
に割込みをかけ、割込みプログラム(後述するインター
ラプトルーチン)を実行させる。
Hardware Configuration (FIG. 2) FIG . 2 shows a typical hardware configuration that realizes the functions described in FIGS. 1A, 1B and 1C. CPU2 is R
The entire system is controlled according to the program stored in the OM4. The ROM 4 stores various fixed data (such as the database described above) in addition to the program . The RAM 6 stores various variables and temporary data, and is used as a working memory of the CPU 2. Keyboard 8 can be configured in a conventional electronic keyboard musical instrument of the keyboard, it is used for the user of the melody input. Input device the start of the musical style input device and automatic melody generation to 10, stop input device or the like including Murrell. The states of the keyboard 8 and the input device 10 are appropriately read by the CPU 2 and the corresponding processing is performed. The sound source 12 generates a tone signal under the control of the CPU 2. Sound system 14 is sound source 1
Receiving the tone signal from the 2, it reproduces the sound. The display device 16 displays system functions and messages under the control of the CPU 2. The display device 16 includes an LED and a liquid crystal display. The clock oscillator 18 generates a pulse every time the music resolution time elapses, and the CPU 2
To execute an interrupt program (interrupt routine described later).

【0012】自動メロディ生成機能(図3) 図2の構成に組み込まれる自動メロディ生成機能のブロ
ック図を図3に示す。自動メロディ生成機能はメロディ
生成に必要な情報を入力する入力手段20、音楽データ
を生成する手段30、メロディの分析評価を行う分析評
価手段40、クロック発振器60、リズムカウンタ7
0、メロディメモリ80、音源50を含む。入力手段2
0には指定リズム種RHYを入力するリズムセレクタ2
1、キーコードKCを入力する鍵盤装置22、指定テン
ポTMPを入力するテンポ設定手段23を含む。なお、
入力手段20にはこの他に自動メロディ生成開始停止を
指示する手段含むが図示省略してある。生成手段3
0において構造生成手段32は音楽構造データベース3
1から音楽構造データを取り出す。取り出された音楽構
造データは上位構造データとそれに合う下位構造データ
からなる。コード生成手段34はコード進行データベー
ス33から音楽構造と曲風(指定リズム種RHY)に合
うコード進行を取り出しリズムカウンタ70からの現
時刻TにおけるコードCHOを出力する。リズムパター
ン生成手段36はリズムパターンデータベース35から
音楽構造と曲風(指定リズム種RHYと指定テンポTM
P)に合うリズムパターンPATを取り出す。詳細には
指定テンポTMPはテンポビート対応マップ48によ
りビート種BEAT変換され、これがリズムパターン生
成手段36におけるリズムパターン生成の条件付の1つ
としてリズムパターン生成手段36に与えられる。この
ようにコード生成手段34、構造生成手段32、リズム
パターン生成手段36は図1Aで述べたような適性モジ
ュールの機能を有している。乱数発生手段38は乱数メ
モリ手段37からの乱数データをRANとして音高デー
タ生成手段39に与える。音高データ生成手段39は乱
数データRANと前ピッチとから現音高(ピッチ)候補
PITを生成する。分析評価手段40において音種分類
手段42は(現調性の)キーと(現)コードCHOと音
高データ(音高データ生成手段39の出力或いは鍵盤装
置22の出力)を受けてその音種NTを標準ピッチク
ラスセットメモリ41を参照して分類する。音程分類手
段43は前音高と現音高(候補)の間に形成される音程
Tとして分類する。音種分類手段42と音程分類手
段43の分類結果は音種、音程列メモリ47に記憶され
る。固定メロディパターンデータベースメモリ45は図
2のROM4におかれる。拡張メロディパターンデータ
ベースメモリ46はメロディパターンデータ(ルール)
ベースの拡張用としてRAM6におかれる。評価手段4
4は音種、音程列メモリ47からの音種、音程列(メロ
ディパターン)について固定メロディパターンデータベ
ースメモリ45と拡張メロディパターンデータベースメ
モリ46を検索し、検索の結果、該当するルールがあれ
OKとの評価結果JDGを出力する。これにより現
音高PIT(またはKC)が確定する。リズムカウンタ
70はクロック発振器60から音楽分解能時間毎に与え
られクロックパルスをカウントして現時刻データTを
出力するメロディメモリ80にはPIT(音高)とT
(タイミング)の列であるメロディ音列のデータが記憶
される。音源50はメロディ音の発音タイミングの都
度、その音高データPITを受け対応する楽音信号を
発生する。
Automatic Melody Generation Function (FIG. 3) FIG. 3 shows a block diagram of the automatic melody generation function incorporated in the configuration of FIG. The automatic melody generation function has an input means 20 for inputting information necessary for melody generation, a means 30 for generating music data, an analysis and evaluation means 40 for analyzing and evaluating a melody, a clock oscillator 60, a rhythm counter 7.
0, a melody memory 80, and a sound source 50. Input means 2
Rhythm selector 2 for inputting designated rhythm type RHY to 0
1, a keyboard device 22 for inputting a key code KC, and a tempo setting means 23 for inputting a designated tempo TMP. In addition,
The input means 20 also includes means for instructing the start / stop of automatic melody generation in addition to this, but the illustration is omitted. Generation means 3
At 0, the structure generation means 32 uses the music structure database 3
Extract music structure data from 1. The extracted music structure data is composed of upper structure data and lower structure data matching it. Code generating means 34 extracts the chord progression that fits the music structure and musical style from the chord progression database 33 (designated rhythm species RHY), and outputs the code CHO at the current time T from the rhythm counter 70. Rhythm pattern generation means 36 uses the rhythm pattern database 35
Music structure and style (specified rhythm type RHY and specified tempo TM
The rhythm pattern PAT that matches P) is taken out. Specifically, the designated tempo TMP is subjected to beat type BEAT conversion by the tempo / beat correspondence map 48, and this is given to the rhythm pattern generation means 36 as one of the conditions for the rhythm pattern generation in the rhythm pattern generation means 36. Thus, the chord generating means 34, the structure generating means 32, and the rhythm pattern generating means 36 have the function of the suitability module as described in FIG. 1A. The random number generating means 38 gives the pitch data generating means 39 the random number data from the random number memory means 37 as RAN. The pitch data generation means 39 uses the random number data RAN and the previous pitch to select a current pitch (pitch) candidate.
Generate PIT . Note type classification means 42 in the assay unit 40 receives the (output of the output or the keyboard device 22 of the tone pitch data generating means 39) (local procurement of) key and (now) code CHO and pitch data, the sound The seed NT is classified by referring to the standard pitch class set memory 41. The pitch classifying unit 43 classifies the pitch formed between the previous pitch and the current pitch (candidate) as M T. The classification results of the pitch type classifying unit 42 and the pitch classifying unit 43 are stored in the pitch type and pitch string memory 47. The fixed melody pattern database memory 45 is stored in the ROM 4 of FIG. The extended melody pattern database memory 46 stores melody pattern data (rules).
It is stored in the RAM 6 for expanding the base. Evaluation means 4
4 searches the fixed melody pattern database memory 45 and the extended melody pattern database memory 46 for the tone type and tone sequence and tone sequence (melody pattern) from the tone sequence memory 47, and if there is a corresponding rule as a result of the search , OK is determined . The evaluation result JDG is output. This determines the current pitch PIT (or KC) . Rhythm counter 70 outputs the present time data T by counting <br/> is that the clock pulses supplied from the clock generator 60 for each music resolution time. Melody memory 80 has PIT (pitch) and T
The data of the melody tone sequence that is the sequence of (timing) is stored. Source 50 each of tone generation timing of the melody tone, receives the pitch data PIT, generates a corresponding musical tone signals.

【0013】各種音楽要素の表現形式(図4〜図6) 以下の実施例の説明(特にフローの説明)において各種
音楽要素は主として文字表現(記号表現)を使用し、必
要に応じて数値表現を使用してある。以下に各種音楽要
素の文字表現と数値表現(マシンレベルの表現)との対
応関係を図4〜図6に参照して説明する。コードタイプ
の文字表現はCHO(TYPE)である。コードタイプ
MAJは数値0、MINは数値1、7THは数値2、M
IN7は数値、MAJ7は数値4でそれぞれ数値表現
される。マシンにおけるコードタイプのデータ長は例え
ば6ビットであり、これにより最大64種類のコードタ
イプを表現可能である。コードルートとキーの文字表現
はそれぞれCHO(ROOT)とKEYである。コード
ルート又はキーはそのピッチクラス(音名)によって特
定される。ピッチクラスCは数値0、C#は1、Dは
以下同様にしてBは11で数値表現される。従っ
て、コードルートとキーの有効データ調は4ビットであ
る。音楽構造(上位/下位)における上位音楽構造はS
TR1Dで文字表現され、下位音楽構造はSTR2Dで
文字表現される。AAの上位音楽構造は1H、BBは2
H、CCは4H……によって数値表現される。下位音楽
構造aaは1H、bbは2H、ccは4H……により数
値表現される。実施例の装置では構造データの有効長を
4ビット(ニブル)で表現している。リズム種はRHY
で文字表現する、リズム種ROCK(ロック)は1H、
DISC(ディスコ)は2H、16BE(16ビート)
は4H、SWIN(スウィング)は8H、WALT(ワ
ルツ)は10Hでそれぞれ数値表現される。音高データ
とキーコードはそれぞれPITとKCによって表現され
る。音高データとキーコードはピッチクラスとオクター
ブとによって特定される。実施例では数値0がC2(ピ
ッチクラスがCでオクターブが第2オクターブ)のピッ
チを表わしピッチが半音上がるごとに+1する数値でピ
ッチを表現している。音種はNTで文字表現される音種
コードトーン(CHOT)は数値0、アェイラブルノ
ート(AVAI)は数値1、スケールノート(SCA
L)は数値2、テンションノート(TENS)は数値
3、アヴォイドノート(AVOI)は数値4で表現さ
れ、エンドマーク(END)はHで表現される、音程
の記号表現はMTである、同音(SAME)は数値0、
上行順次進行(+STEP)は数値1、下行順次進行
(−STEP)は数値2、上行跳躍進行(+JUNP)
は数値3、下行跳躍進行(−JUNP)は数値4で表現
され区切りマーク(SEP)はHで表現される。評価
結果はJDG(フラグJDG)で文字表現され、NGの
評価結果は数値0、GOODの評価結果は数値1で表現
される。USER_MELはNOを数値0、YESを数
値1で表現する。ピッチクラスセットの要素(ピッチク
ラス)は次のように表現される。ピッチクラスCが1
H、C#が2H、Dが4H以下同様にしてBが800
Hで表現される。即ちピッチクラスは12ビット中のビ
ット位置(例えば最下位即ち第0ビット位置がC)にお
けるビット値“1”によって表わされる。ピッチクラス
の集合であるピッチクラスセットはこのような12ビッ
トデータ表現間のビットごとの論理和で表現される。例
えばCとDからなるピッチクラスセットは1Hと4Hと
の論理和即ち5Hによって表現される。ピッチクラスセ
ットの各文字表現はコードトーンのピッチクラスセット
はPCS(CT)であり、CTの代りにN、SN、A
N、AVを用いればそれぞれテンションノート、スケ
ールノート、アェイラブルノート、アヴォイドノート
のピッチクラスセットを文字表現する。リズムパターン
の文字表現はPATである。リズムパターンの要素は1
6ビットデータで表現され、各ビット位置が1小節を1
6分割したときの各タイミングを表わす。リズムパター
ンはキーオンパターン(発音タイミングのパターン)と
キーオフパターン(消音タイミングのパターン)とから
なる。小節線における発音タイミング或いは消音タイミ
ングは1Hで数値表現される。小節線から1/16小節
後における発音・消音タイミングは2Hで表現される。
以下同様である。リズムパターンの要素の集合であるキ
ーオンパターン或いはキーオフパターンは16ビットデ
ータ要素間のビットごとの論理和によって表現される。
例えば1小節が4拍の拍子において1拍目と2拍目が発
音タイミングとなるキーオンパターンは1Hと10Hの
論理和11Hによって表現される。ビート種は4BEA
Tが1H、8BEATが2H、16BEATが4Hでそ
れぞれ数値表現される。
Expression Format of Various Music Elements (FIGS. 4 to 6) In the following description of the embodiments (especially, the description of the flow), various music elements mainly use a character expression (symbol expression), and if necessary, a numerical expression. Is used. Correspondence between the character representation and the numerical representation (machine level representation) of various music elements will be described below with reference to FIGS. The character representation of the code type is CHO (TYPE). Code type MAJ is number 0, MIN is number 1, 7TH is number 2, M
IN7 is numerically expressed as 3 and MAJ7 is numerically expressed as 4. The data length of the code type in the machine is 6 bits, for example, and it is possible to represent a maximum of 64 code types. The character representations of the chord root and the key are CHO (ROOT) and KEY, respectively. A chord root or key is specified by its pitch class (note name) . The pitch class C is numerically expressed as 0, C # is 1, D is 2 , and so on, B is numerically expressed as 11. Therefore, the effective data tone of the chord root and the key is 4 bits. The upper music structure in the music structure (upper / lower) is S
It is expressed in TR1D and the lower music structure is expressed in STR2D. Higher music structure of AA is 1H, BB is 2
H and CC are numerically expressed by 4H. Lower music structure aa is numerically expressed by 1H, bb is 2H, cc is 4H. In the apparatus of the embodiment, the effective length of the structure data is represented by 4 bits (nibbles). Rhythm type is RHY
Rhythm type ROCK (rock) expressed by letters is 1H,
DISC (Disco) is 2H, 16BE (16 beats)
Is 4H, SWIN (swing) is 8H, and WALT (waltz) is 10H. The pitch data and the key code are represented by PIT and KC, respectively. The pitch data and the key code are specified by the pitch class and octave. In the embodiment, the numerical value 0 represents the pitch of C2 (the pitch class is C and the octave is the second octave), and the pitch is expressed by the numerical value which is incremented by 1 each time the pitch increases by one semitone. Note type numerical note type code tones character representation (Chot) in NT 0, A Vu Eiraburunoto (AvaI) numeric 1, scale notes (SCA
L) is a numerical value, tension note (TENS) is a numerical value 3, a void note (AVOI) is a numerical value 4, end mark (END) is a f H, pitch symbolic expression is MT, same tone ( (SAME) is the number 0,
Ascending sequential progress (+ STEP) is number 1, downward ascending sequential progress (-STEP) is number 2, ascending leap progress (+ JUNP)
Is represented by the numerical value 3, the downward jumping progress (-JUNP) is represented by the numerical value 4, and the delimiter mark (SEP) is represented by f H. The evaluation result is expressed in characters by JDG (flag JDG), the evaluation result of NG is expressed by the numerical value 0, and the evaluation result of GOOD is expressed by the numerical value 1. USER_MEL expresses NO by the numerical value 0 and YES by the numerical value 1. The elements of the pitch class set (pitch class) are expressed as follows. Pitch class C is 1
H, C # is 2H, D is 4H , and so on, B is 800
Expressed as H. That is, the pitch class is represented by the bit value "1" at the bit position in 12 bits (for example, the least significant or 0th bit position is C). A pitch class set, which is a set of pitch classes, is expressed by a bitwise logical sum between such 12-bit data expressions. For example, a pitch class set consisting of C and D is expressed by a logical sum of 1H and 4H, that is, 5H. Each character representation of the pitch class set pitch class set of code tones are PCS (CT), in place of CT T N, SN, A
N, the use of the AV, the tension notes respectively, scale note, A Vu Eiraburunoto, characters representing a pitch class set Avoidonoto. The character representation of the rhythm pattern is PAT. The element of the rhythm pattern is 1
It is expressed by 6-bit data, and each bit position is 1 bar.
Each timing when dividing into 6 is shown. The rhythm pattern consists of a key-on pattern (sound generation timing pattern) and a key-off pattern (silence timing pattern). The sound generation timing or the mute timing on the bar line is numerically expressed by 1H. The sounding / silence timing at 1/16 bar after the bar line is expressed by 2H.
The same applies hereinafter. A key-on pattern or a key-off pattern, which is a set of elements of a rhythm pattern, is expressed by a bitwise logical sum of 16-bit data elements.
For example, a key-on pattern in which the first beat and the second beat are the sounding timings in the case where one measure has four beats is expressed by a logical sum 11H of 1H and 10H. The beat type is 4 BEA
T is 1H, 8BEAT is 2H, 16BEAT is 4H.
Each is expressed numerically.

【0014】各種データの記憶形式(図7〜図14) 次に各種データの例を図7〜図14を参照して説明す
る。データ長(1ワード)は16ビットである。データ
メモリの呼び名とデータメモリの先頭アドレス(先頭記
号番地)は同じ呼び名で呼ぶ。例えばコード進行データ
メモリはCPMで呼ばれ、コード進行データメモリの先
頭アドレスも同じくCPMで呼ばれる。図7に標準ピッ
チクラスセットデータベースメモリを示す。標準ピッチ
クラスセットデータベースメモリはコードトーンメモリ
CT、テンションノートメモリN、スケールノート
モリSNとからなる。コードトーンメモリCTはコード
タイプを受けてそのコードタイプの標準ピッチクラス
セットをかえすテーブルである。例えばコードトーンメ
モリCTの記号番地MAJにあるデータ91Hはコード
タイプMAJの標準ピッチクラスセットがC、E、Gで
あることを示している。ここに標準ピッチクラスセット
とはコードルートをCとした時のピッチクラスセットの
ことである。言すると、標準ピッチクラスセットデー
タベースメモリは各音種のピッチクラスセットを相対的
な音程(音程構造)で表現したものである。テンション
ノートメモリNはコードタイプに対してテンションノ
ートの標準ピッチクラスセットをかえすテーブルであ
る。例えばコードタイプMAJに対してテンションノー
トメモリPNは、F#、A、Bが標準ピッチクラスセ
ットであることを示すデータ44Hをかえす。スケー
ルノートメモリSNはリズム種(又はスケールの種類)
に対してスケールノートの標準ピッチクラスセットデー
タベースメモリをかえすテーブルである。例えばリズム
種ロック(ROCK)に対してスケールノートメモリS
Nはデータab5Hをかえしてスケールノートの標準ピ
ッチクラスセットデータベースメモリがC、、E、
F、G、A、Bであることを知らせる。図8に固定メロ
ディパターンデータ(ルール)ベースメモリMPM1
と、音種、音程データメモリNTM、MTMを示す
定メロディパターンデータベースメモリMPM1は図2
のROM4におかれる。メモリMPM1はメロディパタ
ーンのルールベースを実現するものであり、各ルールは
2ワード(32ビット)で表現される。各ルールは音種
列と音程列からなる。例えばメモリMPM1の最初のル
ールはコードトーン(CHOT)から上方向(上行)
次進行(+STEP)によりアヴェイラブルノート(A
VAI)に進み、アヴェイラブルノートから上方向順次
進行(+STEP)によりコードトーン(CHOT)に
進むパターンを表わしている。2ワードのルールデータ
において各音種、各音程は4ビット(1ニブル)で表現
される。従ってこの記憶形式の場合ルールで表現され
るメロディパターンの音の数は最大で4つである。ルー
ルの第2ワードである音程列ワードのSEPニブルはル
ールの終了マーク(ルールエントリー間の区切りマー
ク)である。メモリMPM1の最終アドレスには固定メ
ロディパターンルールベースの終端を示すコードEND
が書かれている。MPM1と同様の記憶形式をもつメモ
リMPM2はRAM6にメロディパターンルールベース
の拡張用として設けられる。
Storage Format of Various Data (FIGS. 7 to 14) Next, examples of various data will be described with reference to FIGS. 7 to 14. The data length (1 word) is 16 bits. The name of the data memory and the start address (start symbol address) of the data memory are called with the same name. For example, the chord progression data memory is called CPM, and the head address of the chord progression data memory is also called CPM. FIG. 7 shows a standard pitch class set database memory. Standard pitch class set database memory is code tone memory CT, tension notebook memory T N, scale notes menu
It consists of Mori SN. Chord tone memory CT receives the chord type is a table that returns a standard pitch class set of the code type. For example, the data 91H at the symbol address MAJ of the code tone memory CT indicates that the standard pitch class set of the chord type MAJ is C, E, G. Here, the standard pitch class set is a pitch class set when the chord root is C. When conversion words, the standard pitch class set database memory is a representation of a pitch class set for each note type in a relative pitch (pitch structure). The tension note memory T N is a table for changing the standard pitch class set of tension notes for chord types. For example, for the chord type MAJ, the tension note memory PN returns data a 44H indicating that D 1 , F #, A and B are standard pitch class sets. Scale note memory SN is rhythm type (or scale type)
It is a table that returns the standard pitch class set database memory of scale notes. For example, scale note memory S for rhythm type rock (ROCK)
N is the standard pitch class set database memory of the scale note in which the data ab 5H is replaced by C, D , E,
Notify that it is F, G, A, B. FIG. 8 shows the fixed melody pattern data (rule) base memory MPM1.
And the tone type and pitch data memory NTM and MTM . The fixed melody pattern database memory MPM1 is shown in FIG.
It is stored in ROM4. The memory MPM1 realizes a melody pattern rule base, and each rule is represented by 2 words (32 bits). Each rule consists of a note type string and a pitch string. For example the first rule memory MPM1 upward from the chord tone (Chot) (ascending) sequence proceeds (+ STEP) by available note (A
VAI), and an upward sequence (+ STEP) from an available note to a chord tone (CHOT). In the 2-word rule data, each tone type and pitch is represented by 4 bits (1 nibble). Therefore, in the case of this storage format, the number of sounds of the melody pattern expressed by the rule is four at maximum. The SEP nibble of the pitch sequence word that is the second word of the rule is the end mark (separation mark between rule entries) of the rule. A code END indicating the end of the fixed melody pattern rule base is provided at the final address of the memory MPM1.
Is written. A memory MPM2 having a storage format similar to that of the MPM1 is provided in the RAM 6 for expanding the melody pattern rule base.

【0015】音種列メモリNMと音程列メモリM
は入力メロディパターン(鍵盤8からのユーザー入力メ
ロディから導かれるメロディパターン、又は自動生成メ
ロディから導かれるメロディパターン)を表現するもの
である。NMとMMは共にRAM6に形成される1
ワード(16ビット)音種列メモリNMにおいて、各
音種は1ニブル(4ビット)で表わされ同様に1ワード
(16ビット)の音程列メモリMMにおいて、各音程
データ項目は1ニブル(4ビット)で表現される。従っ
てNM、MMにより最大4音分の入力メロディパタ
ーンが表現される。後述するように新たなメロディ音の
生成(自動生成或いは鍵盤8からの新しいメロディ音の
入力)に対してNMとMMはニブルを単位とする右
シフトレジスタとして操作される。生成開始の際或い
は小節線のタイミングでNTMとMTMの内容は右端の
ニブルがENDニブルとなるように初期化される。従っ
て図8に示すNTMとMTMは初期化の後3音までの
パターンが入った状態を示している。メロディパターン
ルールベースの拡張処理においてNTMとMTMの内容
は追加ルールとしてRAM6内の拡張メロディパターン
ルールベースに追加される。メロディの自動生成処理に
おいてNTMとMTMの内容はメロディパターンルール
ベースから対応するルールエントリーの有無を検索する
ために用いられる。図9にテンポ・ビト変換マップT
BTMと乱数メモリRANMを示す。TBTMとRAN
Mは共にROM4におかれる。テンポ・ビト変換マッ
プTBTMは入力装置10からの指定テンポに対してビ
ート種(例えば16ビット)をかえすテーブルである。
テンポ・ビト変換マップTBTMの出力は図1Aで述
べたようにリズムパターンの条件付に使用される。乱数
メモリRANMは乱数データを記憶する。乱数メモリR
ANMはメロディの自動生成モードにおいて新たなメロ
ディ音の音高候補を得る際に利用される。乱数メモリR
ANMの最終アドレスには乱数データの終端を示すエン
ドマーク(ffffH)が記憶される。図10にコード
進行データベースメモリCPMを示す。このメモリCP
Mは図2のROM4におかれる。メモリCPMはコード
進行のデータベースを実現するものである。データベー
スCPMの各コード進行エントリーは次のデータ項目か
らなる。第1ワードがリズム種の属性を表わす。例えば
00111の属性データはそのコード進行がリズム種ロ
ック(ROCK)、ディスコ(DISC)、16ビート
(16BE)に合う属性を有することを示している。コ
ード進行エントリーのリズム種属性データ項目は図1A
で述べたように指定リズム種との間の属性テストに用い
られる。コード進行エントリーの第2ワードには上位に
長さ、下位に音楽構造属性が記憶される。例えば音楽構
造属性データ項目が101ならばそのコード進行が上
位構造AA又はCCには合う属性をもつが上位構造B
Bには適さない属性をもつことを表わす。音楽構造属性
データ項目は図1Aで述べたように選択上位構造に関す
るコード進行の属性テストで用いられる。コード進行エ
ントリーの第3ワード以降にはコード進行のデータ本体
が記憶される。各ワードは上位ワード(1ニブル)にコ
ードのルート、中位(2ニブル)にコードタイプ、下位
(1ニブル)にコードを記憶する。各コード進行エン
トリーの終端にはエントリー間のセパレータ(区切りマ
ーク)としてワード0000Hが記憶される。コード進
行データベースメモリCPMの終端にはデータベースの
終端マークを表わすワードffffHが記憶される。
The tone sequence memory N T M and the tone sequence memory M T M
Represents an input melody pattern (a melody pattern derived from a user input melody from the keyboard 8 or a melody pattern derived from an automatically generated melody). N T M and M T M are both formed in RAM 6 1
In the word (16-bit) tone string memory N T M, each tone type is represented by 1 nibble (4 bits), and similarly, in the 1-word (16-bit) tone string memory M T M, each tone data item is It is represented by 1 nibble (4 bits). Therefore, N T M and M T M represent an input melody pattern for up to four tones. As will be described later, for generation of a new melody sound (automatic generation or input of a new melody sound from the keyboard 8), N T M and M T M are operated as right shift registers in units of nibbles. During production start, or the contents of the NTM and MTM at the timing of a bar line at the right end of the nibble is initialized so that END nibbles. Therefore NTM and MTM shown in FIG. 8 after the initialization, and shows a state that contains the pattern up to three sounds. In the expansion processing of the melody pattern rule base, the contents of NTM and MTM are added to the expansion melody pattern rule base in the RAM 6 as additional rules. In the automatic melody generation process, the contents of NTM and MTM are used to search the melody pattern rule base for the presence or absence of the corresponding rule entry. Tempo-bi in Figure 9-1 door conversion map T
BTM and random number memory RANM are shown. TBTM and RAN
Both M are stored in ROM4. Tempo bi over preparative conversion map TBTM is a table that returns a beat type for the specified tempo from the input device 10 (e.g., 16 bits).
Output tempo bi over preparative conversion map TBTM is used to conditionally rhythm pattern as described in Figure 1A. The random number memory RANM stores random number data. Random number memory R
The ANM is used to obtain a pitch candidate of a new melody tone in the melody automatic generation mode. Random number memory R
An end mark (ffffH) indicating the end of random number data is stored at the final address of the ANM. FIG. 10 shows the chord progression database memory CPM. This memory CP
M is stored in the ROM 4 of FIG. The memory CPM realizes a database of chord progressions. Each chord progression entry in the database CPM consists of the following data items. The first word represents the attribute of the rhythm type. For example, the attribute data of 00111 indicates that the chord progression has attributes suitable for rhythm type rock (ROCK), disco (DISC), and 16 beats (16BE). The rhythm type attribute data item of the chord progression entry is shown in FIG. 1A.
It is used for the attribute test with the specified rhythm type as described in. In the second word of the chord progression entry, the length is stored in the upper part and the music structure attribute is stored in the lower part. For example, if the music structure attribute data item is 101 , the chord progression has an attribute that matches the superstructure AA or CC, but the superstructure B
B has an attribute that is not suitable for B. The music structure attribute data item is used in the chord progression attribute test for the selected superstructure as described in FIG. 1A. The data body of the chord progression is stored in the third and subsequent words of the chord progression entry. Each word stores the code root in the upper word (1 nibble), the code type in the middle (2 nibbles), and the code length in the lower (1 nibble). The word 0000H is stored at the end of each chord progression entry as a separator (separation mark) between the entries. At the end of the chord progression database memory CPM is stored the word ffffH representing the end mark of the database.

【0016】図11に音楽構造データベースメモリを示
す。音楽構造データベースメモリは図2のROM4にお
かれる。音楽構造データベースメモリは上位構造データ
ベースメモリSTR1と下位構造データベースメモリS
TR2とからなる。上位構造データベースメモリSTR
1は曲の構造を楽節構造列として表現した上位構造列の
データベースを記憶する。従って各ワードに最大4楽節
の上位構造列データが記憶される例えば第1ニブルがA
A、第2ニブルがBB、第3ニブルがAA、第4ニブル
がENDの曲構造ワードは第1楽節がAA、第2楽節が
BB、第3楽節(最終楽節)がAAであることを示す。
上位構造データベースメモリSTR1の終端にはデータ
ベースの終端を示すワードffffHが記憶される。下
位構造データベースメモリSTR2は楽節内部構造(8
小節構造)のデータベースを記憶する。下位構造データ
ベースメモリSTR2の各下位構造エントリーは3ワー
ドからなり第1ワードが属性に割り当てられ、第2と第
3ワードが8小節の構造表現に割り当てられる。属性ワ
ード(第1ワード)はそのエントリーの楽節内部構造
(8小節の構造列)が適合する上位構造を示す情報をも
つ。例えば1100の属性データ項目はその楽節内部構
造がCCかDDの楽節には適合するがAAやBBの楽節
には適合しないものであることを表わす。下位構造デー
タベースメモリにおける属性データは図1Aで述べたよ
うに上位構造に適合する下位構造を選択するための属性
テストで用いられる。下位構造エントリーの第2と第3
ワードにおいて各小節の構造は1ニブル(4ビット)で
表現される。詳細には第2ワードの第1ニブル(最上位
4ビット)が第1小節の構造、第2ニブルは第2小節の
構造、以下同様にして第3ワードの第1ニブルは第5小
節の構造、第3ワードの第4ニブル(最下位4ビット)
が第8小節の構造を表わす。下位構造データベースメモ
リSTR2の最終アドレスにはエンドマークを示すワー
ドffffHが記憶される。
FIG. 11 shows a music structure database memory. The music structure database memory is located in ROM 4 of FIG. The music structure database memory includes an upper structure database memory STR1 and a lower structure database memory S.
It consists of TR2. High-level structure database memory STR
Reference numeral 1 stores a database of higher-order structure sequences representing the structure of a piece of music as a phrase structure sequence. Therefore, for example, the first nibble in which the upper structure sequence data of up to 4 movements is stored in each word is A
A, the second nibble is BB, the third nibble is AA, and the fourth nibble is END, the musical composition word is AA for the first verse, BB for the second verse, and AA for the third verse (final verse). .
A word ffffH indicating the end of the database is stored at the end of the upper structure database memory STR1. The substructure database memory STR2 has a passage internal structure (8
Store a database of bar structure). Each substructure entry of the substructure database memory STR2 consists of 3 words, the first word is assigned to the attribute and the second and third words are assigned to the structural representation of 8 bars. The attribute word (first word) has information indicating a higher-order structure to which the entry internal structure (structure sequence of 8 measures) conforms. For example, the attribute data item 1100 indicates that the internal structure of the phrase is compatible with the CC or DD phrase but not with the AA or BB phrase. The attribute data in the lower structure database memory is used in the attribute test for selecting the lower structure that matches the upper structure as described in FIG. 1A. Substructure entry 2nd and 3rd
The structure of each bar in a word is represented by one nibble (4 bits). In detail, the first nibble (most significant 4 bits) of the second word is the structure of the first measure, the second nibble is the structure of the second measure, and the like, the first nibble of the third word is the structure of the fifth measure. , 4th nibble of 3rd word (least 4 bits)
Indicates the structure of the eighth measure. The word ffffH indicating the end mark is stored at the final address of the lower structure database memory STR2.

【0017】図12にリズムパターンデータベースメモ
リRPMを示す。リズムパターンデータベースメモリR
PMは図2のROM4におかれる。リズムパターンデー
タベースメモリRPMは自動生成されるメロディのリズ
ムパターン(音列)のデータベースを実現するもので
ある。リズムパターンデータベースメモリRPMの各エ
ントリーは4ワードからなり第1ワードがリズム種に関
する属性を表わし、第2ワードが上位にビート種の属
性、下位に音楽の下位構造に関する属性を記憶し、第3
ワードがキーオンパターンを表わし、第4ワードがキー
オフパターンを表わす。エントリーの第1ワードにおか
れるリズム種属性データ項目が00111ならばそのエ
ントリーのリズムパターンがリズム種ロック(ROC
K)、ディスコ(DISC)、16ビート(16BE)
には適するが、スウィング(SWIN)ワルツ(WA
LT)には適さないことを表わす。又、リズムパターン
エントリーの第2ワード下位におかれる構造属性データ
項目が101であればそのエントリーのリズムパター
ンがaa又はccの小節構造には適するがbbの小節構
造には適さないことを表わす。エントリーの第3ワード
に記憶されるキーオンパターンは1小節における各音の
発音タイミングを記述する。第4ワードにおかれるキー
オフパターンは1小節内の各音の消音タイミングを記述
する。リズムパターンデータベースメモリRPMの最終
アドレスには終端マークを表わすワードffffHが記
憶される、各リズムパターンエントリーの第1と第2ワ
ードにある属性データは図1Aで述べたようにリズムパ
ターンデータベースから選択下位構造、指定リズム、指
定ビート(テンポ)に合うリズムパターンを検索する際
性テストで使用される。実施例で使用されるその他
の定数、変数について図13と図14を参照して説明す
る。MPM2はユーザー演奏による拡張メロディパター
ンデータ(ルール)ベースないしその先頭アドレスを表
わす。拡張メロディパターンデータベースMPM2は図
2のRAM6に作成される、MPM2SIZEは拡張メ
ロディパターンデータベースのメモリサイズを表わす。
MEASは1小節の長さを表わすCP_Cはコード進
行の長さのカウンタ(コード長のアキュムレータ)であ
Tは現時刻を表わすリズムカウンタであるBAR
は小節カウンタであ、小節カウンタBARの値はT/
MEASの整数部で定められる。TMPは指定テンポを
表わすBEATは指定ビート種を表わすもので指定
テンポMPをテンポ・ビート変換マップに通すことに
よって得られる。STR1Dは上位構造データベースメ
モリSTR1から選択された上位構造(例えばAAの楽
節構造)を表わすSTR2Dは下位構造データベースメ
モリSTR2から選択した下位構造(小節構造例えばa
a)を表わす。PITは現在の音高を表わしPREV_
PITは前音高を表わす。
FIG. 12 shows the rhythm pattern database memory RPM. Rhythm pattern database memory R
The PM is stored in the ROM 4 of FIG. The rhythm pattern database memory RPM realizes a database of automatically generated melody rhythm patterns (note length sequences). Each entry of the rhythm pattern database memory RPM is made up of 4 words, the first word stores the attribute of the rhythm type, the second word stores the attribute of the beat type in the upper part, and the attribute of the lower structure of the music in the lower part.
The word represents the key-on pattern and the fourth word represents the key-off pattern. If the rhythm type attribute data item in the first word of the entry is 00111, the rhythm pattern of the entry is rhythm type lock (ROC
K), disco (DISC), 16 beats (16BE)
Suitable for, but swing (SWIN) and waltz (WA
It is not suitable for LT). Moreover, indicating that structural attribute data item to be placed in the second word subordinate rhythm pattern entry if 101, but the rhythm pattern of the entry is suitable for measure the structure of aa or cc unsuitable for bar structure bb . The key-on pattern stored in the third word of the entry describes the sounding timing of each note in one bar. The key-off pattern in the 4th word describes the muffling timing of each note within one bar. The word ffffH representing the end mark is stored at the final address of the rhythm pattern database memory RPM. The attribute data in the first and second words of each rhythm pattern entry is selected from the rhythm pattern database as described in FIG. 1A. structure, specified rhythm, is used in the attribute test of when searching for a rhythm pattern that matches the specified beat (tempo). Other constants and variables used in the embodiment will be described with reference to FIGS. 13 and 14. MPM2 represents an extended melody pattern data (rule) base or its head address played by the user. The extended melody pattern database MPM2 is created in the RAM 6 of FIG. 2, and MPM2SIZE represents the memory size of the extended melody pattern database.
MEAS represents the length of one bar . CP_C is a chord progression length counter (code length accumulator) . T is a rhythm counter indicating the current time . BAR
Ri is bar counter der, the value of the bar counter BAR T /
It is defined by the integer part of MEAS . T MP represents a specified tempo. BEAT represents a designated beat type and is obtained by passing the designated tempo T MP through the tempo / beat conversion map. STR 1D represents an upper structure (eg, AA passage structure) selected from the upper structure database memory STR 1, and STR 2D represents a lower structure (bar structure, eg, a) selected from the lower structure database memory STR 2.
It represents a). P IT represents the current pitch and PREV_
PIT represents the front pitch.

【0018】STR1_Pは上位構造データベースのワ
ード(アドレス)ポインタであるSTR2_Pは下位
構造データベースのワード(アドレス)ポインタであ
る。STR1_Pは上位構造要素のカウンタ(上位構
造データベースメモリにおける曲構造を表わすワード内
の楽節カウンタ)であるSTR2_Pは下位構造要
素のカウンタ(下位構造データベースメモリのエントリ
ーにおける第2、第3ワードにしめる8小節構造への小
節カウンタ)である。カウンタSTR1D_Pはデータ
ベースSTR1から選択した曲構造ワードの中から現在
の時刻における楽節構造を取り出す際に使用される。カ
ウンタSTR2D_PはデータベースSTR2の中から
選択したエントリーに対し現在の時刻における小節構
造を取り出す際に用いられる。RPM_Pはリズムパタ
ーンデータベースメモリRPMへのワード(アドレス)
ポインタである。CPM_Pはコード進行データベース
CPMへのワード(アドレス)ポインタである。RAN
M_Pは乱数データメモリRANMへのワード(アドレ
ス)ポインタである。MODEは自動作曲機のモードを
表わす。メロディを自動生成しない通常のモードはNO
RMALで示され、メロディが自動生成されるモードは
RMELODYで示されるKEYONは押鍵状態のフ
ラグであ、このフラグKEYONは押鍵状態をYE
S、離鍵状態をNOで示すPKEYONは直前のタイ
ミングでの押鍵状態を示すフラグであり押鍵状態をY
ES、離鍵状態をNOで示す。USER_MELはユー
ザーの演奏が小節内にあったかどうかを示すフラグであ
る。このフラグUSER_MELは自動生成モードRM
ELODYにおいてユーザーのメロディ演奏によるメロ
ディパターンをメロディパターンデータベースに追加す
るためのメロディパターンルール拡張モード(その間メ
ロディの自動生成は禁止される)を設定するためのフラ
グとして用いられる。
STR1_P is a word (address) pointer of the upper structure database . STR2_P is a word (address) pointer of the substructure database. STR 1 D _P is higher structural element counter (passage counter in the word representing the song structure in the upper structure database memory). STR2 D _P is a counter of a substructure element (a bar counter to an 8-bar structure which can be the second and third words in the entry of the substructure database memory). The counter STR 1D _P is used to retrieve the phrase structure at the current time from the music structure word selected from the database STR1. Counter STR 2D _P whereas the selected entry from the database STR 2, used when taking out the measure structures in the current time. RPM_P is a word (address) to the rhythm pattern database memory RPM
It is a pointer. CPM_P is a word (address) pointer to the chord progression database CPM. RAN
M_P is a word (address) pointer to the random number data memory RANM. MODE represents the mode of the automatic composer. NO in normal mode that does not automatically generate melody
The mode indicated by RMAL and in which the melody is automatically generated is indicated by RMELODY . KEYON the Ri flag der key depression state, the flag KEYON is YE key depression state
S and NO indicate the key release state . PKEYON is a flag indicating the pressed key state at timing immediately before the pressed key state Y
ES and key release state are indicated by NO. USER_MEL is a flag indicating whether or not the user's performance is within the bar. This flag USER_MEL is an automatic generation mode RM
In ELODY, it is used as a flag for setting a melody pattern rule expansion mode for adding the melody pattern by the user's melody performance to the melody pattern database (the automatic generation of the melody is prohibited during that time).

【0019】実施例の動作概要 実施例の自動作曲機はリアルタイムで作曲を行い作曲作
業と平行して作曲したものをリアルタイム演奏する。入
力装置からの生成開始指示に対し自動作曲機の動作モー
ドは自動メロディ生成モードに移行し、生成開始指示に
応答して自動作曲機は作曲にかかる曲の構造を決定す
る。この決定は音楽構造データベースから曲構造ワード
を取り出すことによって始められる。更に曲構造ワード
に含まれる最初の楽節の構造を生成開始時の構造として
選択して、選択楽節構造に適した楽節内部構造(小節構
造、下位構造)を下位構造データベースから取り出し
その最初の小節構造を曲の最初の小節構造として選択す
る。更に自動作曲機はコード進行データベースから楽節
の構造(上位構造)に適し、かつ入力装置からの指定リ
ズムに適したコード進行を取り出し、そのコード進行の
最初のコードを曲の最初のコードとして決定する。更に
自動作曲機は小節構造(下位構造)に合い、かつ、入力
装置からの指定リズムと指定ビートに合うリズムパター
ンをリズムパターンデータベースから取り出す。取り出
したリズムパターンは1小節の長さをもっており、その
1小節における自動生成メロディ音の発音タイミング情
報と消音タイミング情報がそれぞれキーオンパターン、
キーオフパターンとして書かれている。指定テンポに従
う音楽時間の進行に伴い取り出したリズムパターンから
各音楽時点における情報が読み出される。読み出した情
報が自動生成メロディ音の発音タイミングを示す時に自
動作曲機はメロディ音の音高を決定する。自動生成メロ
ディ音の決定は次のようにして行われる。自動作曲機は
乱数データメモリから乱数データを取り出しそれに前
メロディ音を加え(又は減じ)て新たに生成すべきメロ
ディ音の音高候補を作る。次に自動作曲機は音高候補ま
でのメロディパターン(音種列NTMと音程列MTMと
で定められる)を作成し、そのメロディパターンについ
てメロディパターンルール(データ)ベースMP1、
MP2を検索する。検索が失敗すれば別の音高候補を
生成して検索を繰り返す。検索が成功すればその時の候
補が新たなメロディ音の音高となる、このようにして新
たに生成されたメロディ音の音高データは音源を通して
サウンドとして再生される(演奏される)。現在の時刻
におけるリズムパターンのタイミング情報がメロディ音
の消音タイミングを示している場合には発音中のメロデ
ィ音を音源を介して消音する。リズムパターンデータベ
ースから取り出したリズムパターンは1小節の長さなの
作曲機は1小節の音楽時間が経過する毎に再度リズ
ムパターンデータベースから音楽の進行に合う適当なリ
ズムパターンを取り出す。即ちリズムパターンデータベ
ースから指定リズム、指定ビートに合い、かつ新たな小
節の構造に合うリズムパターンを取り出す。作曲機は、
コード進行データベースから取り出したコード進行をリ
ズムカウンタからの現時刻に従って走査する。本実施例
ではコード進行の長さは上位構造(楽節)の長さと同じ
である。選択中のコード進行が終了すると(1つの楽節
が終了すると)、自動作曲機は曲構造ワードの中から次
の楽節構造(上位構造)を取り出しその楽節構造に合
うコード進行をコード進行データベースから取り出す。
以上の様にしてメロディの自動生成が行われる。なお、
コード進行データベースから取り出したコード進行に基
づいて自動伴奏を行うことは容易である。本実施例の自
動作曲機は自動メロディ生成モードにおいて鍵盤からユ
ーザーのメロディ入力が行われた場合にそのメロディ
をパターン化(ルール化)し、それを追加ルールとして
メロディパターンルールベースに追加することが出来
る。これをメロディパターンルール拡張機能と呼ぶ。即
ち1小節中に鍵盤で最初の押鍵が発生すると自動作曲機
のモードはメロディルールベース拡張モード(USER
_MEL=YESで示される)に移行する。自動作曲機
は鍵盤からのユーザーメロディ音に対しその音種と音
程を評価する。評価した音種と音程はそれぞれ音程列メ
モリMTMと音種列メモリNTMに右シフト方式でロー
ドされる。次の小節線のタイミングでNTMとMTMに
は1小節の間に入力したユーザーのメロディをルール化
したメロディパターン情報が記憶される。そこで自動作
曲機はNTMとMTMにあるメロディパターン情報を拡
張メロディパターンルールベースMPM2に書き込んで
メロディパターンルールベースの拡張を実現する。小節
線タイミングでメロディパターンルールベース拡張モー
ドは自動的に解除され、メロディの自動生成が行われる
自動生成モードに復帰する。
Outline of operation of the embodiment The automatic composer of the embodiment composes in real time, and performs the composition in parallel with the composition work in real time. In response to the generation start instruction from the input device, the operation mode of the automatic composer shifts to the automatic melody generation mode, and in response to the generation start instruction, the automatic composer determines the structure of the music composition. This decision is initiated by retrieving the song structure word from the music structure database. Furthermore, the structure of the first passage contained in the song structure word is selected as the structure at the start of generation, and the internal structure of the passage (bar structure, substructure) suitable for the selected passage structure is retrieved from the substructure database ,
Select that first bar structure as the first bar structure of the song. Furthermore, the automatic composer is suitable for the structure of the passages (upper structure) from the chord progression database , and can be specified by the input device.
The chord progression suitable for the song is extracted, and the first chord of the chord progression is determined as the first chord of the song. Further, the automatic composer retrieves from the rhythm pattern database a rhythm pattern that matches the bar structure (subordinate structure) and that matches the specified rhythm from the input device and the specified beat. The extracted rhythm pattern has a length of one measure, and the sounding timing information and the mute timing information of the automatically generated melody sound in that one measure are key-on patterns,
It is written as a key-off pattern. Information at each music point is read from the rhythm pattern extracted as the music time progresses in accordance with the designated tempo. The automatic composer determines the pitch of the melody tone when the read information indicates the timing of the automatically generated melody tone. The automatically generated melody sound is determined as follows. Automatic composer retrieves random data from the random number data memory, it makes the pitch candidates of the previous melody tone added (or subtracted) Te melody tone to be newly generated. Next, the automatic composer creates a melody pattern (defined by the tone type sequence NTM and the tone sequence MTM) up to the pitch candidate, and regarding the melody pattern, the melody pattern rule (data) base MP M 1,
Search for MP M 2. If the search fails, another pitch candidate is generated and the search is repeated. If the search is successful, the candidate at that time becomes the pitch of the new melody tone. The pitch data of the melody tone newly generated in this way is reproduced (played) as a sound through the sound source. When the timing information of the rhythm pattern at the current time indicates the mute timing of the melody sound, the melody sound being sounded is muted via the sound source. Since the rhythm pattern fetched from the rhythm pattern database is one bar long , the composer again fetches an appropriate rhythm pattern suitable for the progress of music from the rhythm pattern database every time the music time of one bar elapses. That is, a rhythm pattern that matches the specified rhythm and specified beat and that matches the structure of the new measure is extracted from the rhythm pattern database. The composer is
The chord progression retrieved from the chord progression database is scanned according to the current time from the rhythm counter. In this embodiment, the length of chord progression is the same as the length of the higher-level structure (section). When the chord progression being selected ends (when one passage ends), the automatic composer retrieves the next passage structure (upper structure) from the song structure word, and selects the chord progression that matches the passage structure from the chord progression database. Take it out.
The melody is automatically generated as described above. In addition,
It is easy to perform automatic accompaniment based on chord progressions retrieved from the chord progression database. In the automatic composer of the present embodiment, when the user inputs a melody in the automatic melody generation mode , the melody is patterned (ruled) and added to the melody pattern rule base as an additional rule. Can be done. This is called a melody pattern rule extension function. That is, when the first key depression occurs on the keyboard within one bar, the mode of the automatic composer is the melody rule extension mode (USER
_MEL = YES). Automatic composer is to the user melody sound from the keyboard, to evaluate the sound type and pitch. The evaluated pitch type and pitch are loaded into the pitch string memory MTM and the pitch string memory NTM by the right shift method, respectively. At the timing of the next bar line, the NTM and MTM store melody pattern information which is a rule of the user's melody input during one bar. Therefore, the automatic composer writes the melody pattern information in the NTM and MTM into the extended melody pattern rule base MPM2 to realize the extension of the melody pattern rule base. At the bar line timing, the melody pattern rule-based expansion mode is automatically canceled and the melody is automatically generated to return to the automatic generation mode.

【0020】フローの説明 以下、図15〜図36を参照して実施例を更に詳細に説
明する。メインフロー(図15) 図2のCPUが実行するメインルーチンのフローを図1
5に示す。先ず、メインルーチンはステップ15−1で
システムを初期化する。メインループ15−2〜15−
16のエントリー15−2でキースキャンを実行して鍵
盤8と入力装置10の状態を読み込む。続いて操作され
た各キーに対応して所要の処理を実行する即ち、生成
開始指示があった場合には(ステップ15−3)、生成
開始処理15−4(図18)を実行し、停止指示があっ
た時には(ステップ15−5)、停止処理15−6(図
24)を実行し、鍵盤で押鍵があった時には(ステップ
15−7)、押鍵処理15−8(図25)を実行し、鍵
盤で離鍵があった時には(ステップ15−9)、離鍵処
理15−10(図26)を実行し、入力装置10からリ
ズム切換が指示された時には(ステップ15−11)、
リズム切換15−12を実行してリズム種レジスタRH
Yに指定されたリズム種を設定し、入力装置10からテ
ンポ設定が入力された時には(15−13)、テンポ設
定15−14を実行してテンポレジスタテンポに指定さ
れたテンポを設定しその他の入力に対しては(ステッ
プ15−15)、その他の処理15−16を実行する。インタラプトルーチン(図16) 図16にインターラプトルーチンのフローを示す。イン
ターラプトルーチンは図2のロック発振器18から音
楽分解能時間の経過を表わす信号が発生する都度起動さ
れる。先ず16−1でMODE=NORMALかどう
即ちモードがノーマルかどうかを判定する。モード
がノーマルならばそのままリターンしノーマルでな
いならば(自動メロディ生成モードならば)、以下の処
理を行う。即ち、ステップ16−2で押鍵中かどうかを
調べ押鍵中なら押鍵中の処理16−3(図27)を実
行してからステップ16−9に進む。押鍵中でなけれ
ステップ16−4でUSER_MEL=YESかど
うか即ち現在の小節でユーザーからのメロディ入力が
あったかどうか(メロディパターンルールベース拡張モ
ードかどうか)を判定しUSER_MEL=YESが
そのままステップ16−9に進み、USER_MEL=
NOが成立するなら、ステップ16−5に進んでGet
B(*(RPM_P+1),TmodMEAS,1)=
1かどうか即ち自動生成メロディ音の発音時刻かどう
かを判定する自動生成メロディ音の発音時刻であれ
発音時刻の処理16−6(図33)を実行してから
ステップ16−9に進む発音時刻でなければステッ
プ16−7に進みGetB(*(RPM_P+2),
TmodMEAS,1)=1かどうか即ち自動生成
ロディ音の消音時刻かどうかを判定する自動生成メロ
ディ音の消音時刻であれば消音時刻の処理16−8
(図35)を実行してからステップ16−9に進み
音時刻でなければ直ちにステップ16−9に進む。ステ
ップ16−9ではInc CP_C,T PKEYON
=KEYONを実行してコード進行のカウンタ、リズ
ムカウンタを更新し現在の鍵状態レジスタの内容を直
前の鍵状態レジスタに写し取る。次にステップ16−1
0でコード進行の終端かどうかを調べ、終端に達して
ればステップ16−11を実行して、上位構造生成処理
(図19)及びコード進行生成処理(図2)を行う
そしてステップ16−12で小節線位置かどうかをTm
odMEAS=0から判定し小節線タイムであればス
テップ16−13を実行して下位構造生成処理(図2
0)リズムパターン生成処理(図23)及びメロディ
パターンDB拡張処理(図36)を実行する。
Description of Flow Hereinafter, the embodiment will be described in more detail with reference to FIGS. Main Flow (FIG. 15) FIG. 1 shows a flow of a main routine executed by the CPU of FIG.
5 shows. First, the main routine initializes the system in step 15-1. Main loop 15-2 to 15-
A key scan is executed at entry 15-2 of 16 to read the states of the keyboard 8 and the input device 10. Then, required processing is executed corresponding to each operated key . That is, when there is a generation start instruction (step 15-3), the generation start processing 15-4 (FIG. 18) is executed, and when there is a stop instruction (step 15-5), the stop processing 15-6. (FIG. 24) is executed, and when a key is pressed on the keyboard (step 15-7), a key pressing process 15-8 (FIG. 25) is executed, and when a key is released on the keyboard (step 15-9). ), The key releasing process 15-10 (FIG. 26) is executed, and when the rhythm switching is instructed from the input device 10 (step 15-11),
Rhythm switching 15-12 is executed to execute rhythm type register RH
When the rhythm type designated in Y is set and the tempo setting is input from the input device 10 (15-13), the tempo setting 15-14 is executed to set the tempo designated in the tempo register tempo, and other For the input of (step 15-15), other processing 15-16 is executed. Interrupt Routine (FIG. 16) FIG. 16 shows the flow of the interrupt routine. Interrupt routine signal representing the course of the music-resolution time from the clock oscillator 18 of FIG. 2 is activated each time that occurs. First, in 16-1, it is determined whether MODE = NORMAL , that is, whether the mode is normal. If the mode is normal , the process directly returns , and if it is not normal (in the automatic melody generation mode), the following processing is performed. That is, in step 16-2, it is checked whether or not the key is being pressed, and if the key is being pressed, the key pressing process 16-3 (FIG. 27) is executed and then the process proceeds to step 16-9. If the key is not being pressed , it is determined in step 16-4 whether USER_MEL = YES , that is , whether there is a melody input by the user at the current measure (whether the melody pattern rule base expansion mode is set), and USER_MEL = YES remains unchanged. Proceed to step 16-9, USER_MEL =
If NO is established, the process proceeds to step 16-5 and Get.
B (* (RPM_P + 1), TmodMEAS, 1) =
It is determined whether it is 1 or not , that is , whether it is the sounding time of the automatically generated melody sound . If it is the sounding time of the automatically generated melody sound, the processing 16-6 (FIG. 33) of the sounding time is executed and then the process proceeds to step 16-9 . If it is not pronunciation time, the process proceeds to step 16-7, GetB (* (RPM_P + 2),
It is determined whether TmodMEAS, 1) = 1 , that is , whether it is the time to silence the automatically generated melody sound . If it is the mute time of the automatically generated melody sound , mute time processing 16-8
After executing (FIG. 35), the process proceeds to step 16-9, and if it is not the muffling time, the process immediately proceeds to step 16-9. In step 16-9, Inc CP_C, T PKEYON
= Running KEYON, updated code counter of progress, the rhythm counter, Utsushitoru the contents of the current key state register just before the key state register. Next, step 16-1
0 to determine whether the end of the chord progression, the running <br/> lever steps 16-11 have reached the end, the upper structure generation processing (FIG. 19) and the chord progression generating process (FIG. 2 2) To do .
And whether or not the small section line position in the step 16-12 Tm
It is determined from odMEAS = 0, and if it is a bar line time, steps 16-13 are executed, and the lower structure generation processing (see FIG.
0) , rhythm pattern generation processing (FIG. 23) and melody pattern DB expansion processing (FIG. 36).

【0021】初期化(図17) メインルーチンの初期化15−1の詳細を図17に示
す。17−1でSTR1_P=STR1、STR2_P
=STR2、RPM_P=RPM、CPM_P=CP
M、STR1D_P=0、STR2D_P=0、CPM
D_P=0、RANM_P=RANMを実行して各種ポ
インタを初期化し、17−2でRHY=ROCK、ME
AS=16、TMP=120、BEAT=*(TBTM
+TMP)、*MPM2=f000H、KEY=C(=
0)、PREV_PIT=24(=C4)を実行し
7−3でMODE=NOMAL、KEYON=NOを
実行してセットし、最後に17−4でNTM=f000
H、MTM=f000Hを実行して音種と音程データメ
モリを初期化する。生成開始処理(図18) 生成開始処理ルーチンの詳細を18に示す。このルー
チンは入力装置生成開始指示があった時に行われるルー
チンである。先ず(18−1)音楽構造を選択するため
音楽の上位構造生成(図19)と下位構造生成(図
20)を実行する。次にコード進行生成処理18−2
(図22)を実行してコード進行データベースから上位
構造に合い、かつ指定リズムに合うコード進行を選択す
る。次にリズムパターン生成処理18−3(図23)を
実行してリズムパターンデータベースから音楽の下位
構造に合い、指定リズムに合い、かつ指定ビートに合う
リズムパターンを選択する。次にステップ18−4でT
=0によりリズムカウンタを初期化し18−5で*N
TM=f000Hにより音種メモリを初期化しステップ
18−6で*MTM=f000Hにより音程メモリを初
期化しステップ18−7でMODE=RMELODYに
より状態フラグを生成モードに設定する。上位構造生成(図19) 図19に上位構造生成ルーチンの詳細なフローを示す。
このルーチンは入力装置10から生成開始指示があった
場合、或いはコード進行の終端に達したときに実行され
る。上位構造生成ルーチンの目的は、楽曲の上位構造を
生成し且つ上位構造に合う下位構造を設定することであ
る。上位構造の生成は上位構造データベースSTR1か
ら上位構造データを取り出すことで行われる。詳細に述
べると、ステップ19−1でpost=STR1D_P
×4+3、STR1D=GetB(*STR1_P,p
ost,4)を実行して上位構造データベースSTR1
から上位構造(楽節構造)データSTR1Dを取り出
す。続いて19−2から19−5(19A)で次回の上
位構造生成ルーチンのために次の上位構造をロケートす
る。即ち19−2でSTR1D_Pをインクリメント
し、STR1D_P=4(ステップ19−3)、或いは
*STR1D_P=END(ステップ19−4)であれ
STR1D_P=0、Increment STR
1_P(ステップ19−5)を実行する。次に19−6
〜19−10(19B)において、19−1で取り出し
た上位構造に合う下位構造列をロケートする。ここでロ
ケートされた下位構造列の中から個々の下位構造が取り
出される(図20参照)。詳細に述べると、ステップ1
9−6でSTR2_P=STR2_P+3を実行し、そ
の結果*STR2_P=ffffH(ステップ19−
7)が成立するならSTR2_P=STR2(ステップ
19−8)を実行し、属性テスト19−9でGetB
(*STR2_P,STR1D,1)=1が成立するか
どうかを調べる。GetB(*STR2_P,STR
,1)=1が成立するならばSTR2D_P=0(ス
テップ19−10)を実行する。図11に示すように、
下位構造データベースSTR2にエントリーされる8個
の下位構造列(8小節構造)が選択上位構造に合うかど
うかはその下位構造エントリーの属性データを選択上
位構造データSTR1D(例えばAA)と比較すること
で判定される。
Initialization (FIG. 17) FIG. 17 shows details of the initialization 15-1 of the main routine. 17-1: STR1_P = STR1, STR2_P
= STR2, RPM_P = RPM, CPM_P = CP
M, STR1D_P = 0, STR2D_P = 0, CPM
D_P = 0, RANM_P = RANM is executed to initialize various pointers, and RHY = ROCK, ME in 17-2.
AS = 16, TMP = 120, BEAT = * (TBTM
+ TMP), * MPM2 = f000H, KEY = C (=
0) , PREV_PIT = 24 (= C4) is executed, and 1
In 7-3, MODE = NO R MAL and KEYON = NO are executed to set, and finally in 17-4, NTM = f000.
H, MTM = f000H is executed to initialize the tone type and pitch data memory. Generation Start Processing (FIG. 18) The details of the generation start processing routine are shown in FIG . This routine is a routine that is executed when an input device generation start instruction is given. First (18-1) in order to select the music structure, run-level structure generation of music (Figure 19) the lower structure generation (Figure 20). Next, chord progression generation processing 18-2
Running (Figure 22) fit the chord progression database to the upper structure, and selecting the focus cormorants chord progression to a specified rhythm. Next, the rhythm pattern generation process 18-3 (FIG. 23) is executed to select a rhythm pattern that matches the substructure of music, the specified rhythm, and the specified beat from the rhythm pattern database. Next, in step 18-4, T
= 0 to initialize the rhythm counter , 18-5 * N
The tone type memory is initialized by TM = f000H, the pitch memory is initialized by * MTM = f000H in step 18-6, and the state flag is set to the generation mode by MODE = RMELODY in step 18-7. Generation of Upper Structure (FIG. 19) FIG. 19 shows a detailed flow of the upper structure generation routine.
This routine is executed when there is a generation start instruction from the input device 10 or when the end of chord progression is reached. The purpose of the superstructure generation routine is to generate the superstructure of the music and set the substructure that matches the superstructure. The superstructure is generated by extracting the superstructure data from the superstructure database STR1. More specifically, in step 19-1, post = STR1D_P
× 4 + 3, STR 1D = GetB (* STR1_P, p
ost, 4) to execute superstructure database STR1
The upper structure (sentence structure) data STR 1D is extracted from. Subsequently, in 19-2 to 19-5 (19A), the next superstructure is located for the next superstructure generation routine. That is incremented STR1D_P at 19-2, STR1D_P = 4 (step 19-3), or * STR1D_P = If END (step 19-4), STR1D_P = 0, Increment STR
1_P (step 19-5) is executed. Next 19-6
19-10 (19B), the lower structure sequence that matches the upper structure extracted in 19-1 is located. Individual substructures are extracted from the located substructure sequence here (see FIG. 20). In detail, step 1
9-6 executes STR2_P = STR2_P + 3 and, as a result, * STR2_P = ffffH (step 19-
If 7) is satisfied, STR2_P = STR2 (step 19-8) is executed, and GetB is executed in the attribute test 19-9.
It is checked whether (* STR2_P, STR 1D , 1) = 1 holds. GetB (* STR2_P, STR 1
If D 1,1) = 1 is satisfied, STR2D_P = 0 (step 19-10) is executed. As shown in FIG.
Whether eight substructures columns entry into the substructure database STR 2 (8 bars structure) fits to the selected upper structure compares the attribute data of the sub-structure entry and selecting upper structure data STR 1D (eg AA) It is judged by that.

【0022】下位構造生成(図20) 図20に下位構造生成ルーチンの詳細フローを示す。こ
のルーチンは生成開始処理の最初のステップ18−1の
中で上位構造の生成ルーチンに続いて呼び出される。
又、現時刻が小節線タイムのときインターラプトルーチ
ン(図16)のステップ16−1の中で呼び出され
る。下位構造生成ルーチンの目的は新しい下位構造デー
タ(新しい小節構造データ)を得ることである。詳細に
述べると、ステップ20−1でpost=(STR2D
_P×4+3)mod16、STR2D=GetB(*
(STR2_P+STR2_P/4+1),post,
4)を実行して下位構造を得ている。20−2〜20−
4(20A)において下位構造生成ルーチンの次回の実
行のために次の下位構造をロケートしている。即ちステ
ップ20−2で下位構造要素カウンタSTR2D_P
(8小節楽節内の小節構造へのポインタ)をインクリメ
ントしSTR2D_P=8(ステップ20−3)が成立
すればSTR2D_P=0(ステップ20−4)を実行
している。GetB(図21) 図21は関数命令GetBの詳細なフローである。関数
命令GetB(data、post、nbit)は1ワ
ード中の所望の部分データ項目を得る関数である。即
ち、GetB(data、post、nbit)は16
ビットの1ワードdataのpostビット目から右に
nビットのデータをとる関数命令であり、既に述べた上
位構造生成ルーチンのステップ19−1など各種ルーチ
ンにおいて適宜呼び出されて実行される。先ず、ステッ
プ21−1でx1=dataを実行し、ステップ21−
2でX1を右に(post+1−nbit)シフトし、
ステップ21−3でx2=ffffhを実行し、21−
4でX2を左にnbitシフトし、ステップ21−5で
X2を反転し、ステップ21−6でX1とX2のビット
ごとの論理積をとる。図21の動作例では16ビットの
1ワードデータからその第8ビットから右に2ビット分
(01)を取り出している。GetB関数命令の実行の
結果、この01の2ビットは16ビットワードの第1ビ
ットと第0(最下位)ビット位置に取り出される。コード進行生成ルーチン(図22) コード進行生成ルーチンの詳細を図22に示す。このル
ーチンは生成開始処理のステップ18−2、或いは1つ
のコード進行が終了する都度ステップ16−1中で呼
び出される。コード進行生成ルーチンではコード進行デ
ータベースメモリCPMの中から指定リズム種に合い
且つ上位構造に合うコード進行を取り出している。詳細
に述べると、ステップ22−1でGetB(*CPM_
P,RHY,1)=1をチェックしてアクセスしたコ
ード進行が指定リズム種に合うかどうかの属性テストを
行ないこの属性テストに合えばステップ22−2でG
etB((*(CPM_P+1),STR1D,1)=
1をチェックしてそのコード進行が上位構造に合うか
どうかを判定している。22−1、22−2のいずれか
の属性テストに失敗した場合には、22−3〜22−6
においてコード進行データベースメモリCPMから次の
コード進行をロケートしている。即ち、22−3でコー
ド進行データメモリのワードポインタCPM_Pをイン
クリメントし22−4で*CPM_P=ffffH
(コード進行データベースの終端)かどうかをチェック
し、ステップ22−6で*(CPM_P−1)=0H
(コード進行エントリーの初め)かどうかをチェック
し、*(CPM_P−1)=0Hが不成立なら22−3
に戻り、22−4で*CPM_P=ffffHが成立す
るならポインタCPM_Pをコード進行データメモリの
先頭CPMに戻してステップ22−1に戻り、ステップ
22−6で*(CPM_P−1)=0Hが成立すれば同
じくステップ22−1に戻る。ステップ22−1と22
−2の両方の属性テストに合格した時はポインタCPM
_Pは適正なコード進行をロケートしている。そこで、
コードポインタがコード進行の最初のコードを指すよう
に設定し、ステップ22−7でCP_C=0(コード進
行長カウンタの0リセット処理)を実行している。
Lower Structure Generation (FIG. 20) FIG. 20 shows a detailed flow of the lower structure generation routine. This routine is called following the superstructure generation routine in the first step 18-1 of the generation start processing.
Further, the current time is called in the step 16-1 3 when barline time interrupt routine (FIG. 16). The purpose of the substructure generation routine is to obtain new substructure data (new bar structure data). More specifically, in step 20-1, post = (STR2D
_P × 4 + 3) mod16, STR 2D = GetB (*
(STR2_P + STR2_P / 4 + 1), post,
4) is executed to obtain the substructure. 20-2 to 20-
4 (20A), the next substructure is located for the next execution of the substructure generation routine. That is, in step 20-2, the lower structural element counter STR2D_P
If (STR2D_P = 8 (step 20-3)) is satisfied by incrementing (pointer to the bar structure in the 8 bar section), STR2D_P = 0 (step 20-4) is executed. GetB (FIG. 21) FIG. 21 is a detailed flow of the function instruction GetB. The function instruction GetB (data, post, nbit) is a function for obtaining a desired partial data item in one word. That is, GetB (data, post, nbit) is 16
This is a function instruction that takes n bits of data to the right of the post bit of one word data of bits, and is called and executed in various routines such as step 19-1 of the upper structure generation routine already described. First, in step 21-1, x1 = data is executed, and then step 21-
2 shifts X1 to the right (post + 1-nbit),
In step 21-3, x2 = ffffh is executed, and 21−
In step 4, X2 is shifted to the left by n bit, in step 21-5, X2 is inverted, and in step 21-6, the bitwise logical product of X1 and X2 is calculated. In the operation example of FIG. 21, 2 bits (01) are extracted to the right from the 8th bit of 1-word data of 16 bits. As a result of the execution of the GetB function instruction, the two bits of 01 are fetched into the 1st bit and 0th (least significant) bit position of the 16-bit word. 22. Chord progression generation routine (FIG. 22) The details of the chord progression generation routine are shown in FIG. This routine step 18-2, or one of the chord progression of generation start process is called in step 16-1 1 each time ends. In the chord progression generation routine, the specified rhythm type is selected from the chord progression database memory CPM ,
And the chord progression that matches the upper structure is taken out. More specifically, in Step 22-1, GetB (* CPM_
P, RHY, 1) = 1 check to the chord progression that access is performed whether or not the attribute test fit the specified rhythm species, G at step 22-2 if someone in this attribute test
etB ((* (CPM_P + 1), STR 1D , 1) =
Check the 1, the chord progression is determined whether it fits in the upper structure. 22-3 to 22-6 when the attribute test of either 22-1 or 22-2 fails.
In, the next chord progression is located from the chord progression database memory CPM. That is, incrementing the word pointer CPM_P chord progression data memory 22-3, at 22-4 * CPM_P = ffffH
It is checked whether or not (the end of the chord progression database), and * (CPM_P-1) = 0H in step 22-6.
It is checked whether or not (beginning of chord progression entry), and if * (CPM_P-1) = 0H is not established, 22-3
Returning to step 22-4, if * CPM_P = ffffH is established, the pointer CPM_P is returned to the head CPM of the chord progression data memory and the process returns to step 22-1, and * (CPM_P-1) = 0H is established in step 22-6. If so, the process similarly returns to step 22-1. Steps 22-1 and 22
Pointer CPM when both attribute tests of -2 are passed
_P locates the proper chord progression. Therefore,
So that the chord pointer points to the first chord in the chord progression
Set to CP_C = 0 in step 22-7 ( code advance
The line length counter is reset to 0 ).

【0023】リズムパターン生成ルーチン(図23) リズムパターン生成ルーチンの詳細フローを図23に示
す。リズムパターン生成ルーチンは生成開始処理のステ
ップ18−3、小節線タイムに対するステップ16−1
3の中で呼びだされる。リズムパターン生成ルーチンの
目的はリズムパターンデータベースメモリRPMの中か
ら指定リズム種に合い、下位構造に合い、且つテンポ乃
至ビート種に合うリズムパターン(1小節リズムパター
ン)を取り出すことである。取り出されたリズムパター
ンは自動生成される1小節メロディのリズムパターン
(音長列)を定めるものである。詳細に述べると、ステ
ップ23−1でGetB(*RPM_P,RHY,1)
=1が成立するかどうかを見ることでアクセスしたリ
ズムパターンが指定リズム種に合うかどうかを調べてい
る。ステップ23−2ではGetB(*(RPM_P+
1),STR2D,1)をチェックすることにより、リ
ズムパターンが下位構造に合うかどうかを調べている。
23−3と23−4(23A)ではリズムパターンがテ
ンポに対応するリズム種に合うかどうかを調べている。
即ち、23−3でdata=*(RPM_P+1)、p
ost=*(TBTM+TMP)を実行し、23−4で
GetB(data,15,4)=postが成立する
かどうかをチェックする。23−1、23−2、23A
のいずれかの属性テストに失敗した場合は23B(23
−5〜23−7)においてリズムパターンデータベース
の次のリズムパターンをロケートしている。即ち、23
−5でRPM_P=RPM_P+4を実行し23−6
で*RPM_P=ffffHが成立してリズムパターン
データベースの終端が検出された時は23−7でRP
M_P=RPMを実行してリズムパターンポインタRP
M_Pをリズムパターンデータベースの先頭RPMに戻
している。全ての属性テスト(23−1、23−2、2
3A)に合格した時にはステップ23−8に進みUS
ER_MEL=NOを実行してメロディパターンルール
データベース拡張モードを解除する。停止処理ルーチン(図24) 図24は停止指示15−5に応答して行なわれる停止処
理15−6の詳細である。24−1に示すようにMOD
E=NORMALを実行してシステムの状態を通常のモ
ード(メロディの自動生成が行なわれない通常の状態)
に戻している。押鍵処理ルーチン(図25) 押鍵15−7に応答して実行される押鍵処理15−8の
詳細を図25に示す。25−1でKEYON=YESを
実行して押鍵フラグを設定し25−2でKEYBUF
=KC、PIT=KCを実行し25−3でPITを発
音する。このように鍵盤8の押鍵に対する音源12の発
音処理はメインルーチン(図15)内の押鍵処理ステッ
プ15−8内で行なわれる。
Rhythm Pattern Generation Routine (FIG. 23) FIG. 23 shows a detailed flow of the rhythm pattern generation routine. The rhythm pattern generation routine is step 18-3 of the generation start processing, and step 16-1 for the bar line time.
Called out in 3. The purpose of the rhythm terpolymers emissions generation routine is fit to the designated rhythm species from the rhythm pattern database memory RPM, fit the substructure, is to take out the rhythm pattern (one measure rhythm pattern) and fit the tempo or beat species. The extracted rhythm pattern defines the rhythm pattern (sound length sequence) of the automatically generated one-measure melody. More specifically, in Step 23-1, GetB (* RPM_P, RHY, 1)
By checking whether or not = 1 holds, it is checked whether or not the accessed rhythm pattern matches the designated rhythm type. In Step 23-2, GetB (* (RPM_P +
By checking 1), STR 2D , 1), it is checked whether the rhythm pattern matches the substructure.
23-3 and 23-4 (23A) check whether the rhythm pattern matches the rhythm type corresponding to the tempo.
That is, in 23-3, data = * (RPM_P + 1), p
ost = * (TBTM + TMP) is executed, and it is checked at 23-4 whether GetB (data, 15,4) = post holds. 23-1, 23-2, 23A
23B (23
-5 to 23-7), the next rhythm pattern in the rhythm pattern database is located. That is, 23
Execute RPM_P = RPM_P + 4 at -5 , 23-6
When * RPM_P = ffffH is established and the end of the rhythm pattern database is detected, the RP is performed at 23-7.
Execute M_P = RPM and execute rhythm pattern pointer RP
M_P is returned to the head RPM of the rhythm pattern database. All attribute tests (23-1, 23-2, 2
3A) pass, go to step 23-8 , US
ER_MEL = NO is executed to cancel the melody pattern rule database expansion mode. Stop Processing Routine (FIG. 24) FIG . 24 shows details of the stop processing 15-6 performed in response to the stop instruction 15-5. MOD as shown in 24-1
Execute E = NORMAL to change the system state to normal mode (normal state where melody is not automatically generated)
Have returned to. 25. Key-depression processing routine (FIG. 25) FIG. 25 shows details of the key-depression processing 15-8 executed in response to the key-depression 15-7. 25-1 executes KEYON = YES to set the key depression flag, and 25-2 displays KEYBUF
= KC, PIT = KC is executed , and PIT is pronounced at 25-3. In this way, the sound generation processing of the sound source 12 for the key depression of the keyboard 8 is performed in the key depression processing step 15-8 in the main routine (FIG. 15).

【0024】離鍵処理ルーチン(図26) 鍵盤8での離鍵15−9に対して行なわれる離鍵処理ス
テップ15−10の詳細を図26に示す。26−1でK
EYON=NOを実行して押鍵フラグを離鍵状態に設定
26−2でPITを消音する。押鍵中の処理ルーチン(図27) 図27に押鍵中の処理ルーチンの詳細を示す。このルー
チンはインターラプトルーチン(図16)の中で押鍵中
16−2(KEYON=YES)が検出されたときに呼
びだされるルーチンである。押鍵中の処理ルーチンでは
小節内の最初の押鍵を合図とするメロディパターン
ルールベース拡張モードの設定及び拡張モードにおける
ユーザー入力メロディのパターン化(音種列、音程列の
作成作業)を行なう。詳細に述べると、27−1でMO
DE=NORMALが成立すれば直ちに27−12にジ
ャンプしてPREV_PIT=PITを実行する。MO
DE=NORMAL(ステップ27−1)が不成立の場
合、即ちモードが生成モード(RMELODY)の場
ステップ27−2に進みPKEYON=NOかど
うか即ち鍵盤8で新たに押鍵が発生したかどうかを見
る。押鍵が続いている場合はステップ27−12にジャ
ンプする。新たな押鍵の発生時にはステップ27−3に
進みUSER_MEL=YESかどうか即ち既に拡
張モードになっているかどうかを調べる。既に拡張モー
ドならばステップ27−7にジャンプする。拡張モー
ドになってなければステップ27−4に進みUSER
_MEL=YESを実行して小節中にユーザーからのメ
ロディ入力があったことを記録する。次に27−5で*
NTM=f000H、*MTM=f000Hを実行して
音種と音程列のメモリを初期化する。続いて27−6で
消音命令を実行し、発音中の自動生成メロディ音を消音
する。27−3〜27−6が拡張モード設定処理27A
を定める。27−7でコード情報作成(図28)により
現在のコード情報を求め、27−8で音種分類(図2
9)を行なって押鍵されたメロディ音の音種を分類す
る。27−9で分類された結果を音種列メモリNTMに
ストアする(図30の音種ストア)。27−10で音程
分類(図31)を実行して押鍵にかかるメロディ音の前
音からの音程を分類しその結果を27−11で音程
メモリMTMにストアする(図32の音程ストア)。し
かる後、27−12に進みPREV_PIT=PITを
実行して現ピッチレジスタの内容を前回ピッチレジスタ
に移す。
Key Release Processing Routine (FIG. 26) FIG. 26 shows details of the key release processing step 15-10 performed for the key release 15-9 on the keyboard 8. 26-1 K
Set key depression flag key released state running EYON = NO, to mute the PIT at 26-2. Processing routine during key depression (FIG. 27) FIG. 27 shows the details of the processing routine during key depression. This routine is a routine called when 16-2 during key depression (KEYON = YES) is detected in the interrupt routine (FIG. 16). In the processing routine during key depression
Melody pattern rule-based (with the key pressed in the measure as a cue ) is set and the user input melody is patterned in the extended mode (work of creating tone series and pitch sequences). Specifically, 27-1 MO
If DE = NORMAL is established, the program immediately jumps to 27-12 and executes PREV_PIT = PIT. MO
If DE = NORMAL (step 27-1) are not satisfied, i.e., if the mode is the production mode (RMELODY), the flow proceeds to step 27-2, whether the newly depressed key is generated by either i.e. keyboard 8 if PKEYON = NO I see. If the key is continuously pressed, the process jumps to step 27-12. When a new key depression occurs , the routine proceeds to step 27-3, where it is checked whether or not USER_MEL = YES , that is , whether or not it is already in the extension mode. If the already extended mode, jumps to step 27-7. If there is in extended mode, USER proceeds to the step 27-4
_MEL = YES is executed and the fact that there is a melody input from the user in the measure is recorded. Then at 27-5 *
NTM = f000H, * MTM = f000H is executed to initialize the memory of the tone type and the pitch sequence. Then, the mute command is executed at 27-6 to mute the automatically generated melody sound being sounded. 27-3 to 27-6 are extended mode setting processing 27A
Determine. In 27-7, the chord information is created (FIG. 28) to obtain the current chord information, and in 27-8, the sound type classification (FIG.
9) is performed to classify the sound type of the melody sound that is pressed. The results classified in 27-9 are stored in the tone type string memory NTM (tone type store in FIG. 30). Running pitch classification (Fig. 31) classifies the pitch from the preceding tone melody sound according to the key depression at 27-10, and stores the result in pitch column <br/> memory MTM at 27-11 (Fig. 32 pitch store). After that, the program proceeds to 27-12 to execute PREV_PIT = PIT to transfer the contents of the current pitch register to the previous pitch register.

【0025】コード情報作成ルーチン(図28) 図28にコード情報作成ルーチンの詳細フローを示す。
このルーチンはユーザーの入力メロディをパターン化す
るために押鍵中の処理ルーチン(図27)のステップ2
7−7で呼びだされると共に、自動メロディ生成のため
に後述する発音時刻の処理ルーチン(図33)のステッ
プ33−6で呼びだされる。コード情報作成ルーチンの
目的はコード進行データベースから選択しているコード
進行の中から現在の時刻におけるコード情報を取り出す
ことである。詳細に述べると、28−1でi=0により
コード長のアキュムレータを初期化し、28−2でj=
CPM_P+2により選択コード進行データの先頭コー
ドをロケートする。次に28A(28−3〜28−5)
において現コード(現在時刻におけるコード)をロケー
トする。即ち、28−3でi=i+GetB(*j,
5,6)を実行し28−4でi>CP_Cかどうかを
チェックし、不成立なら28−5でJをインクリメント
する。現コードをロケートしたらステップ28−6に進
みCHO=*jにより現コードのデータをCHOレジス
タに取り込む。続いて28−7でCHO(ROOT)=
(GetB(CHO,15,4)+KEY)mod1
2、CHO(TYPE)=GetB(CHO,11,
6)を実行して現コードのルートとタイプの情報を得
る。音種分類ルーチン(図29) 音種分類ルーチンの詳細を図29に示す。このルーチン
はユーザ入力メロディのパターン化のためにステップ2
7−8で呼びだされると共に、自動メロディの生成のた
めに後述する発音時刻の処理ルーチン(図33)のステ
ップ33−7の中で呼びだされる。音種分類ルーチンの
目的は着目しているメロディ音(押鍵にかかるメロディ
音或いは自動生成メロディ音のための音候補)の音種を
分類することである。このような音種分類のためのコー
ド情報作成ルーチン(図28)からのコード情報、キー
情報KEY指定リズム種情報RHY及びコードトー
スケールノート、テンションノートの標準ピッチク
ラスセットが使用される。詳細に述べると、ステップ2
9−1でpos1=(12+PIT−CHO(ROO
T))mod12、pos2=(12+PIT−KE
Y)mod12を実行する。ここにPOS1は音高PI
Tのコードルートからの音程を表わしPOS2は音高P
ITのキーからの音程を表わす。次に29−2でx1
PCS(CT)=*(CT+CHO(TYPE))、x
=PCS(TN)=*(TN+CHO(TYP
E))、x3=PCS(SN)=*(SN+RHY)に
よりコード、テンション、スケールの各ピッチクラスセ
ット(PCS)を得る。次に29−3でGetB(x
1,pos1,1)=1(コードトーン)かどうかを調
べ、成立するなら29−4でNT=CHOTを実行す
NT=CHOTは音高PITを有するメロディ音が
コードトーンであることを宣言したものである。ステッ
プ29−5ではGetB(x2,pos1,1)=1a
ndGetB(x3,pos2,1)=1が成立するか
どうか即ちアヴェイラブルノートかどうかを調べ成立
するならば29−6でNT=AVAIを実行する。NT
=AVAIは着目しているメロディ音がアヴェイラブル
ノートであることを宣言したものである。ステップ29
−7でGetB(x3,pos2,1)=1により着目
している音がスケールノートかどうかをチェックし、成
立すればその旨を宣言するため29−8でNT=SCA
Lを実行する。ステップ29−9ではGetB(x2,
pos1,1)=1によりメロディ音がテンションノー
トかどうかをチェックし、成立すればその旨を宣言する
ために29−10でNT=TENSを実行する。29−
3、29−5、29−7、29−9がいずれも不成立で
あれば29−11でNT=AVOIによりメロディ音が
アヴォイドノートであることを宣言する。参照番号29
0の動作例ではコードがD MAJORの時PITがF
#3の音がコードトーンとして分類される様子を示して
いる。ベン(Venn)図291に示すように円X1は
コードトーンのPCS(CT)、円X2はテンションノ
ートのPCS(TN)、円X3はスケールノートのPC
(SN)である。X1の要素と判定されるメロディ音
はコードトーンである。集合X2とX3とが重なる部分
はアヴェイラブルノートとして判定される。集合X3の
うち集合X1と重ならず且つ集合X2と重ならない部
分がスケールノートと判定される領域である。集合X2
のうち集合X3と重ならない部分がテンションノートと
判定される領域である。集合円X1、X2、X3の外部
がアヴォイドノートとして判定される領域である。
Code Information Creating Routine (FIG. 28) FIG. 28 shows a detailed flow of the code information creating routine.
This routine is step 2 of the processing routine (FIG. 27) during key depression in order to pattern the melody input by the user.
In addition to being called in step 7-7, it is called in step 33-6 of the processing routine (FIG. 33) of the onset time to be described later for automatic melody generation. The purpose of the chord information creation routine is to retrieve the chord information at the current time from the chord progression selected from the chord progression database. More specifically, the code length accumulator is initialized by i = 0 at 28-1 and j = at 28-2.
The head code of the selected code progress data is located by CPM_P + 2. Next, 28A (28-3 to 28-5)
Locate the current code (code at the current time). That is, in 28-3, i = i + GetB (* j,
5 and 6) is executed, and at 28-4, it is checked whether i> CP_C. If not satisfied, J is incremented at 28-5. After locating the current code, the process proceeds to step 28-6 to fetch the data of the current code into the CHO register by CHO = * j. Then at 28-7, CHO (ROOT) =
(GetB (CHO, 15,4) + KEY) mod1
2, CHO (TYPE) = GetB (CHO, 11,
6) Obtain the root and type information of the current code by executing 6). Sound Type Classification Routine (FIG. 29) The details of the sound type classification routine are shown in FIG. This routine is step 2 for patterning the user-entered melody.
It is called in step 7-8 and is called in step 33-7 of the processing routine of the sounding time (FIG. 33) which will be described later in order to generate an automatic melody. The purpose of the sound type classification routine is to classify the sound type of the melody sound of interest (a melody sound on a key depression or a sound candidate for an automatically generated melody sound). The chord information, the key information KEY , the designated rhythm type information RHY and the standard pitch class set of chord tone , scale note, and tension note from the chord information creation routine (FIG. 28) for classifying such note types are used. In detail, step 2
9-1 pos1 = (12 + PIT-CHO (ROO
T)) mod12, pos2 = (12 + PIT-KE
Y) Execute mod12. POS1 is pitch PI here
It represents the pitch from the chord root of T, and POS2 is the pitch P.
Indicates the pitch from the IT key. Next, at 29-2, x1 =
PCS (CT) = * (CT + CHO (TYPE)), x
2 = PCS (TN) = * (TN + CHO (TYP
E)), x3 = PCS (SN) = * (SN + RHY) to obtain each pitch class set (PCS) of chord, tension and scale. Next, at 29-3, GetB (x
1, pos1, 1) = 1 (code tone) is checked, and if satisfied, NT = CHOT is executed at 29-4 . NT = CHOT declares that the melody sound having the pitch PIT is a chord tone. In Step 29-5, GetB (x2, pos1,1) = 1a
Whether or not ndGetB (x3, pos2,1) = 1 is satisfied, that is, whether or not it is an available note , is checked , and if so, NT = AVAI is executed at 29-6. NT
= AVAI is a declaration that the focused melody sound is an available note. Step 29
At -7, GetB (x3, pos2,1) = 1 is used to check whether the sound of interest is a scale note, and if so, to declare that fact, NT = SCA at 29-8.
Execute L. In Step 29-9, GetB (x2,
It is checked whether the melody sound is a tension note by pos1, 1) = 1, and if satisfied, NT = TENS is executed at 29-10 to declare that. 29-
If any of 3, 29-5, 29-7, and 29-9 is not established, 29-11 declares that the melody sound is an void note by NT = AVOI. Reference number 29
In the operation example of 0, the PIT is F when the code is D MAJOR.
It shows how the sound of # 3 is classified as a chord tone. Ben (Venn) circle X1 as shown in FIG. 291 code tone PCS (CT), the circle X2 is tension note PCS (TN), the circle X3 is a scale note PC
S (SN) . The melody sound determined to be an element of X1 is a chord tone. The portion where the sets X2 and X3 overlap is determined as an available note. Not overlap with the set X1 of the set X3, and does not overlap with the set X2 moiety is a region that is determined to scale note. Set X2
A portion that does not overlap with the set X3 is an area determined as a tension note. The area outside the gathering circles X1, X2, and X3 is an area determined as an void note.

【0026】音種ストアルーチン(図30) 図30に音種ストアルーチンの詳細を示す。このルーチ
ンはユーザー入力メロディのパターン化(ステップ27
)と自動メロディ音の評価のための処理(ステップ
33−8内)において呼びだされる。音種ストアルーチ
ンでは音種メモリNTMを右シフトレジスタとして音
種分類NTをNTMにストアしている即ち30−1で
NTMを4ビット右シフトし30−2でNTを12ビ
ット左シフトし30−3でNTとNTMの論理和をN
TMに代入している。音程分類ルーチン(図31) 図31に音程分類ルーチンの詳細を示す。音程分類ルー
チンはステップ27−1と33−7内で呼びだされ
る。音程分類ルーチンでは現ピッチPITを前ピッチP
REV_PITと比較して両音の間に形成される音程
(モーション)を分類している。即ちPIT=PREV
_PIT(ステップ31−1)ならMT=SAME(ス
テップ31−2)としてモーションなしを宣言しPI
T−PREV_PIT>2(ステップ31−3)ならM
T=+JUMP(ステップ31−4)により上方向の跳
躍進行を宣言しPREV_PIT−PIT>2(ステ
ップ31−5)ならMT=−JUMP(ステップ31−
6)により下方向の跳躍進行を宣言しPIT−PRE
V_PIT>0(ステップ31−7)ならMT=+ST
EP(ステップ31−8)により上方向の順次進行と宣
言しPREV_PIT−PIT>0(ステップ31−
9)ならMT=−STEP(ステップ31−10)によ
り下方向の順次進行と宣言する。音程ストアルーチン(図32) 図32に音程ストアルーチンの詳細を示す。このルーチ
ンはステップ27−1(メロディパターンルールベー
ス拡張系)とステップ33−8(自動メロディ音生成
系)の中で呼びだされる。音程ストアルーチンは音程列
メモリMTMを右シフトレジスタとして操作し、分類結
果である音程データTをTMにストアする。即ち3
−1でTMを4ビット右シフトし−2で
を12ビット左シフトし−3でTとTMの論
理和をTMに代入する。
Sound Type Store Routine (FIG. 30) FIG. 30 shows the details of the sound type store routine. This routine patterns the user-input melody (step 27).
- 9) and Invoked in the process for the evaluation of automatic melody tone (in step 33-8). In the tone type store routine, the tone type string N is stored in the NTM using the tone type string memory NTM as a right shift register . That is, 30-1 shifts NTM right by 4 bits , 30-2 shifts NT left by 12 bits , and 30-3 shifts the logical sum of NT and NTM by N.
Substituted in TM. Pitch Classification Routine (FIG. 31) FIG. 31 shows details of the pitch classification routine. Pitch classification routine is Invoked in the step 27-1 0 and 33-7. In the pitch classification routine, the current pitch PIT is changed to the previous pitch P.
Compared to REV_PIT, it is classified pitch formed between Ryooto the (motion). That is, PIT = PREV
If _PIT (step 31-1), MT = SAME (step 31-2) is declared to indicate no motion , and PI
If T-PREV_PIT> 2 (step 31-3), M
T = + JUMP (step 31-4) declares the upward jumping progress, and if PREV_PIT-PIT> 2 (step 31-5), MT = -JUMP (step 31-
6) Declare the downward jump progress, and PIT-PRE
If V_PIT> 0 (step 31-7), MT = + ST
EP successively progress declared upward (step 31-8), PREV_PIT-PIT> 0 ( step 31-
If it is 9), MT = -STEP (step 31-10) is used to declare downward sequential progress. Pitch Store Routine (FIG. 32) FIG. 32 shows the details of the pitch store routine. This routine Invoked in Step 27-1 1 (melody pattern rule base extension system) and the step 33-8 (Automatic melody tone generating system). The pitch store routine operates the pitch string memory MTM as a right shift register to store the pitch data M T which is the classification result in M TM. Ie 3
2 -1 shifts M TM to the right by 4 bits , and 3 2 2 shifts M T
The 12-bit left shift, and substitutes a logical OR of M T and M TM 3 2 -3 M TM.

【0027】発音時刻の処理ルーチン(図33) 図33に発音時刻の処理ルーチンの詳細を示す。このル
ーチンは自動生成メロディ音の発音時刻(16−)の
時に実行されるルーチンである。即ち、現時刻がリズム
パターンのキーオンパターン中のビット“1”のタイミ
ングの時に呼びだされるルーチンである。発音時刻の処
理ルーチンの目的はメロディ音の音高を決定し発音する
ことである。このために発音時刻の処理ルーチンでは乱
数メモリRANMからの乱数を前メロディ音のピッチに
加えて現メロディ音の音高候補を作りその候補までの
メロディパターンをメロディパターンルールベースによ
って検査する。現音高候補までのパターンに一致するエ
ントリーをルールベースがもてばその現メロディ音候
補は現音のピッチとして決定される。メロディパターン
ルールベースに該当するエントリーがない場合は別の音
高候補を作りルールベースにより検査を繰り返され
る。詳細に述べると、33−1で音種音程メモリNT
M、MTNを4ビット右シフトする。33−2により音
高候補の乱数マルコフ生成を行なう。即ち、乱数メモリ
からの乱数*RANM_Pに前音のピッチPREV_P
ITを加えて現音候補を生成する。次に、33A(33
−3〜33−5)において次回のルーチン実行のために
次の乱数をロケートする。即ち、33−3で乱数ポイン
タRANM_Pをインクリメントし、33−4で*RA
NM_P=fffHにより乱数メモリの終端が検出され
た時はRANM_P=RANM(ステップ33−5)に
より乱数ポインタを乱数メモリの先頭に戻す。33−6
でコード情報作成ルーチンを呼びだす。ループ33−7
〜33−12の入口33−7で音種分類ルーチン(図2
9)と音程分類ルーチン(図31)を呼び出して音高
候補PITについてその音種と音程を分類する。33−
8で音種ストアルーチン(図30)と音程ストアルーチ
ン(図32)を呼び出して音種と音程の分類結果をそ
れぞれ音種メモリNTM、音程列メモリMTMにその
右端のニブルとしてロードする。ステップ33−9で評
価ルーチン(図34)を呼び出してNTMとMTMに
よって定められる現音高候補PITまでのメロディパタ
ーンがメロディパターンルールベースにあるかどうかを
検査する。ルールベースにエントーされてなければN
Gとなり33B(33−10〜33−12)において
次の音高候補を生成する。即ち、33−10でをイン
クリメントし33−12でZ=−1×Zを実行する。
そして、ステップ33−7に戻り、33Bで生成された
音高候補について処理を繰り返す。33Bは実行の都度
33−2で得た最初の音高候補±1、±2、±3……と
いうように順次音高候補を生成していく(ここに+1は
半音上、−1は半音下、+2は2半音上、−2は2半音
下……を表わす)。評価ルーチン33−9で音高候補ま
でのメロディパターンに一致するエントリーがルールベ
ースから見つかった場合にはGOODと成り、PREV
_PIT=PIT(ステップ33−13)を実行し、3
3−14でKEYON=YESによりキーオンフラグを
オンに設定し決定した音高PITを発音する。このよう
に自動メロディ生成モードにおいてキーオンパターンか
らキーオンの合図があるとメロディパターンルールベ
ースのルールに従うメロディ音が決定され、発音され
る。
Sounding Time Processing Routine (FIG. 33) FIG. 33 shows the details of the sounding time processing routine. This routine is a routine that is executed at the time of the onset time of the auto-generated melody tone (16 6). That is, this routine is called when the current time is the timing of bit "1" in the key-on pattern of the rhythm pattern. The purpose of the processing routine for the pronunciation time is to determine the pitch of the melody tone and generate it. For this reason to make a pitch candidate in the processing routine of the onset time by adding a random number from the random number memory RANM to the pitch of the previous melody tone current melody tone, to inspect the melody pattern of up to the candidate by the melody pattern rule-based. If the rule base has an entry that matches the pattern up to the current pitch candidate , the current melody candidate is determined as the pitch of the current note. If there is no entry corresponding to the melody pattern rule base, another pitch candidate is created and the inspection is repeated by the rule base. More specifically, in 33-1, the tone pitch interval memory NT
Right shift M and MTN by 4 bits. 33-2 generates a pitch candidate random Markov. That is, the random number * RANM_P from the random number memory is added to the pitch of the preceding sound PREV_P.
IT is added to generate a current sound candidate. Next, 33A (33
-3 to 33-5), locate the next random number for the next routine execution. That is, the random number pointer RANM_P is incremented in 33-3 and * RA is calculated in 33-4.
When the end of the random number memory is detected by NM_P = fffH, the random number pointer is returned to the head of the random number memory by RANM_P = RANM (step 33-5). 33-6
Call the code information creation routine with. Loop 33-7
~ 33-12 at the entrance 33-7 of the sound type classification routine (Fig. 2
9) and calls the pitch classification routine (FIG. 31), classifies the note type and pitch for the pitch candidate PIT. 33-
Call 8 sound type store routine (FIG. 30) the pitch Store routine (FIG. 32), loads the classification result of the sound type and pitch note type column memory NTM respectively, as a right end of the nibble in the pitch column memory MTM. Call the evaluation routine (FIG. 34) at step 33-9, the melody pattern to the current sound pitch candidate PIT defined by NTM and MTM is to check which melody pattern rule base. Without the rule base is entry over N
It becomes G, and the next pitch candidate is generated in 33B (33-10 to 33-12). That is, n is incremented at 33-10 executes Z = -1 × Z at 33-12.
Then, the process returns to step 33-7 and the process is repeated for the pitch candidate generated in 33B. 33B successively generates pitch candidates such as the first pitch candidate ± 1, ± 2, ± 3 obtained in 33-2 each time (here, +1 is a semitone and -1 is a semitone). Lower, +2 is 2 semitones up, -2 is 2 semitones down ...). Become a GOOD if the entry in the evaluation routine 33-9 to match the Merodipa Tar down until the sound pitch candidate is found from the rule base, PREV
_PIT = PIT (step 33-13) is executed and 3
In 3-14, the key-on flag is set to ON by KEYON = YES, and the determined pitch PIT is sounded. Thus there is a sign of key-on from the key-on patterns in the automatic melody generation mode, melody sound is determined in accordance with the melody pattern rule base rules, it is pronounced.

【0028】評価ルーチン(図34) 図33のステップ33−9で呼び出される評価ルーチン
の詳細を図34に示す。評価ルーチンの目的は音種列N
TMと音程列MTMとによって定められるメロディパタ
ーンがメロディパターンルールに従うかどうかを判定す
る(メロディパターンルールベースにエントリーされた
ルールに一致するかどうかを判定する)ことである。こ
こにメロディパターンルールベースはROM4に置かれ
る固定メロディパターンルールベースMPM1とRAM
6に形成される拡張メロディパターンルールベースMP
M2とがある。評価ルーチンではこの両方のルーチンを
検索してNTMとMTMのパターンに合うルールを探し
ている。34A(34−1〜34−4)は固定メロディ
パターンルールベースの検索であり、34B(34−5
〜34−8)は拡張メロディパターンルールベースの検
索である、34−1でi=MPM1により固定メロディ
パターンルールベースの先頭をロケートし、ループ34
−2〜34−4の入口で*i=NTMand*(i+
1)=MTM(ステップ34−2)によりアクセスし
たルールの音種列と音程列がそれぞれNMとMMに
一致するかどうかをチェックしている。一致しなけれ
i=i+2(ステップ34−3)により次のルール
をロケートしステップ34−4で固定メロディパター
ンルールベースの終端(GetB(*i,15,4)=
END)が検出されないうちは34−2以下の処理を繰
り返す。ステップ34−2の(*i=NTMand*
(i+1)=MTM)が成立すればGOODを返す、3
4−で固定メロディパターンルールベースの終端が検
出されたら34−5でi=MPM2により拡張メロディ
パターンルールベースの先頭をロケートしループ34
−6〜34−8の入口(34−6)でアクセスしたル
ールの音種列と音程列がそれぞれNTMとMTMに一致
するかどうかを調べる。一致しなければi=i+2(ス
テップ34−7)により次のルールをロケートし、ステ
ップ34−8で拡張メロディパターンルールベースの終
端(GetB(*i,15,4)=END)が検出され
なければ34−6に戻る、34−6の条件が成立すれば
GOODを返す、34−8で拡張メロディパターンルー
ルベースの終端に達したらNGをかえす。消音時刻の処理ルーチン(図35) 自動メロディ音の消音時刻(キーオフパターンからキー
オフを表わすビット“1”が与えられる時刻)の時にス
テップ16−8で呼びだされる消音時刻の処理ルーチン
の詳細を図35に示す。KEYON=YES(ステップ
35−1)ならば発音中なのでその音PITを消音し
キーオンフラグをKEYON=NOに設定する(35−
2)。メロディパターンDB拡張ルーチン(図36) 小節線タイムでステップ16−13の中で呼び出される
メロディパターンデータベース拡張ルーチンの詳細を図
36に示す。このルーチンの目的はユーザーから入力
されたメロディのパターン(1小節の間に入力されたメ
ロディのパターン)をRAM6のメロディパターンルー
ルベースMPM2に追加することである。詳しく述べる
と、USER_MEL=YES(ステップ36−1)が
不成立であれば1小節の間にユーザーからのメロディ
入力はないのでそのままリターンするUSER_M
EL=YES(36−1)が成立する時は36A(3
6−2〜36−7)において拡張メロディパターンルー
ルベースMPM2の終端を検出する。即ちi=MPM2
(36−2)によりポインターを拡張メロディパターン
ルールベースの先頭にロケートし、ループの入口で*i
=ffffH(36−3)が不成立ならiをインクリメ
ントし(36−6)、36−7でメモリーオーバー(i
>MPM2+MPM2SIZE)かどうかをチェックす
る、*i=ffffH(36−3)が成立すれば*i=
*NTM、*(i+1)=*MTM、*(i+2)=f
fffH(ステップ36−4)を実行してユーザーメロ
ディパターンをメロディパターンデータベースMPM2
に書き込み*NTM=f000H、*MTM=f000
H(ステップ36−5)により音種と音程列メモリを再
初期化する。
Evaluation Routine (FIG. 34) FIG. 34 shows the details of the evaluation routine called in step 33-9 of FIG. The purpose of the evaluation routine is the tone series N
It is to determine whether the melody pattern defined by TM and the pitch sequence MTM follows the melody pattern rule (determines whether it matches the rule entered in the melody pattern rule base). Here, the melody pattern rule base is a fixed melody pattern rule base MPM1 and RAM placed in the ROM4.
Extended melody pattern rule base MP formed in 6
There is M2. The evaluation routine searches both routines for a rule that matches the NTM and MTM patterns. 34A (34-1 to 34-4) is a fixed melody pattern rule-based search, and 34B (34-5).
34-8) is a search for the extended melody pattern rule base. In 34-1, the head of the fixed melody pattern rule base is located by i = MPM1 and the loop 34
At the entrance of -2 to 34-4, * i = NTMand * (i +
1) = MTM (step 34-2) , it is checked whether the tone type sequence and the tone sequence of the accessed rule match N T M and M T M, respectively. If they do not match, i = i + 2 (step 34-3) to locate the next rule, fixed melody pattern rule base end at step 34-4 (GetB (* i, 15,4 ) =
Until END) is not detected, the processes of 34-2 and below are repeated. In step 34-2, (* i = NTMand *
If (i + 1) = MTM) holds, GOOD is returned, 3
Locate the beginning of the extended melody pattern rule base by 4-4 in a fixed melody pattern rule-based 34-5 with i = MPM2 After termination is detected, the loop 34
At the entrance (34-6) of -6 to 34-8, it is checked whether the tone type sequence and the tone sequence of the accessed rule match NTM and MTM, respectively. If they do not match, the next rule is located by i = i + 2 (step 34-7) and the end of the extended melody pattern rule base (GetB (* i, 15,4) = END) must be detected in step 34-8. If the condition of 34-6 is satisfied, GOOD is returned. If the end of the extended melody pattern rule base is reached at 34-8, NG is returned. Mute Time Processing Routine (FIG. 35) The details of the mute time processing routine called in step 16-8 at the time of mute of the automatic melody sound (the time when the bit "1" representing the key off is given from the key off pattern) are described. It shows in FIG. If KEYON = YES (step 35-1), the sound PIT is muted because it is sounding ,
Set the key-on flag to KEYON = NO (35-
2). 36. Melody pattern DB expansion routine (FIG. 36) FIG. 36 shows the details of the melody pattern database expansion routine called in steps 16-13 at the bar line time. The purpose of this routine is to add the melody pattern input by the user (the melody pattern input during one bar) to the melody pattern rule base MPM2 of the RAM 6. More specifically, if USER_MEL = YES (step 36-1) is not satisfied , there is no melody input from the user during one bar , and the process returns . USER_M
When EL = YES (36-1) is satisfied , 36A (3
6-2 to 36-7), the end of the extended melody pattern rule base MPM2 is detected. That is, i = MPM2
(36-2) locates the pointer to the beginning of the extended melody pattern rule base, and * i at the entrance of the loop.
= FfffH (36-3) is not established, i is incremented (36-6), and the memory is over (i
> MPM2 + MPM2SIZE), if * i = ffffH (36-3) holds, * i =
* NTM, * (i + 1) = * MTM, * (i + 2) = f
fffH (step 36-4) is executed to set the user melody pattern to the melody pattern database MPM2.
Write to * NTM = f000H, * MTM = f000
H (step 36-5) re-initializes the tone type and pitch sequence memory.

【0029】パターンのデータフォーマット調整(図3
7〜図39) 図37〜図39のフローはNTM、MTMとメロディパ
ターンルールベースMPM1、MPM2との間のフォー
マット調整に関する処理である。図37のルーチンは評
価ルーチン(図34)の最初のステップ(図34の34
−1)及びメロディパターンルールベース拡張ルーチン
(図36)のステップ36−4のなかで呼び出される
(ステップ36−4の詳細なフローである図39参
照)。図37のルーチンはNTMとMTMによる入力な
いし評価対象のメロディパターンのフォーマットをルー
ルベースMPM1、MPM2のルールのフォーマットに
合わせるためのものである。実施例の場合、評価ルーチ
ンの入力ないしメロディパターンルールベース拡張ルー
チンの入力でMTMにはNTM上で捨てられた過去のメ
ロディ音種からの音程データ項目が1つだけ余分に入っ
ている。これをルールベースのルールの音程列のフォー
マットに合わせるには、この余分な音程データ項目(ニ
ブル)をENDニブルに変換する必要がある。この処理
を図37のルーチンは行っている。図中、記号“∨”は
ビット毎の論理和、“∧”はビット毎の論理積を表わし
ている。図38のルーチンは評価ルーチン(図34)の
ステップ34−2、34−6の評価である。このルーチ
ン(図38)では、ルールベースMPM1、MPM2か
らのルールが示すメロディパターンの全体でなくても、
その部分パターンが評価対象のメロディパターン(NT
MとMTMとで定められる)に一致すれば、評価対象の
メロディパターンはルールに従うものとする(YESを
返す)処理を行っている(これはルールベース内のルー
ル数を節約するのに有効である)。図39はメロディパ
ターンデータベース拡張ルーチンのステップ36−4の
詳細である。以上の説明、図37〜図39自体の記載、
その他の図面の記載と明細書での説明から図37〜図3
9のルーチンの詳細は明らかであるので、これ以上の説
明は省略する。
Pattern data format adjustment (see FIG. 3)
7 to 39) The flow of FIGS. 37 to 39 relates to the format adjustment between the NTM and MTM and the melody pattern rule bases MPM1 and MPM2. The routine of FIG. 37 is the first step (34 of FIG. 34) of the evaluation routine (FIG. 34).
-1) and the melody pattern rule base expansion routine (FIG. 36) are called in step 36-4 (see FIG. 39, which is a detailed flow of step 36-4). The routine of FIG. 37 is for adjusting the format of the melody pattern to be input or evaluated by NTM and MTM to the format of the rules of the rule bases MPM1 and MPM2. In the case of the embodiment, the MTM has only one extra pitch data item from the past melody tone type discarded on the NTM at the input of the evaluation routine or the input of the melody pattern rule base extension routine. In order to match this with the pitch sequence format of the rule-based rule, it is necessary to convert this extra pitch data item (nibble) into an END nibble. This processing is performed by the routine of FIG. In the figure, the symbol "∨" represents the bitwise logical sum, and "∧" represents the bitwise logical product. The routine of FIG. 38 is the evaluation of steps 34-2 and 34-6 of the evaluation routine (FIG. 34). In this routine (FIG. 38), even if not the entire melody pattern indicated by the rules from the rule bases MPM1 and MPM2,
The partial pattern is the melody pattern (NT
If it matches with M and MTM), the melody pattern to be evaluated is processed according to the rule (returning YES) (this is effective in saving the number of rules in the rule base). is there). FIG. 39 shows details of step 36-4 of the melody pattern database expansion routine. The above description, the description of FIGS. 37 to 39 itself,
37 to 3 from the description of other drawings and the description in the specification.
Since the details of the routine of No. 9 are clear, further explanation is omitted.

【0030】[0030]

【変形例】以上で実施例の説明を終えるが、この発明の
範囲内で種々の変形、変更が可能である。例えば、メロ
ディパターンルールベース216は音楽スタイル別にメ
ロディパターン(MP)ルールベースをもつものであっ
てもよい。図40に音楽スタイル別のメロディパターン
ルールベースとその関連構成を示す。メロディパターン
ルールベースは複数(図40では3つ)の音楽スタイル
の各々に対するルールベースを有する。図40におい
て、216AはスタイルNo.1〜No.3に共通の
(いずれのスタイルでも使用できる)MPルールグルー
プを表わし、216BはスタイルNo.1とNo.2に
共通のMPルールグループを表わし、216Cはスタイ
ルNo.1に固有のMPルールグループを表わし、21
6DはスタイルNo.2に固有のMPルールグループを
表わしている。スタイルNo.3に固有のMPルールグ
ループはない。したがって、スタイルNo.1のメロデ
ィパターンルールベースは216Aと216Bと216
Cの組合せで定められ、スタイルNo.2のメロディパ
ターンルールベースは216Aと216Bと216Dと
で定められ、スタイルNo.3のメロディパターンルー
ルベースは216Aによって定められる。自動作曲機の
動作において、選択モジュール230は曲風入力(例え
ば図1の指定リズム131)に従い、指定された音楽ス
タイルに対する選択MPルールベース232を作成する
(ルールベース216から選択する)。選択MPルール
ベース232は図1Bのメロディ音高列生成装置200
のマッチング214のような評価モジュールによってア
クセスされる。図40のような構成を用いることによ
り、自動作曲機は曲風に合うメロディを更に効率よく生
成することが容易となる。また、作曲の完全なリアルタ
イム応答を支援するために、データベースからのデータ
検索を高速化することは容易である。例を図41と図4
2に示す。図41に音楽素材データベースとその検索方
式の変形例400を示す。図41において、音楽素材
(例えばリズムパターン、コード進行)のデータベース
は、インデクステーブル403と素材データベース本体
405から成る。作曲条件として401に示すように第
1属性(例えば音楽構造)が“α”、第2属性(例えば
曲風)が“β”が与えられたとする(なお属性項目数は
2に限られないが図示の便宜上、属性項目数を2として
いる)。第1属性はM種類、第2属性はN種類あるもの
とする。インデクステーブル403は素材データベース
本体405へのインデクス情報を与えるもので、各作曲
条件(属性の組み合わせ)に対して、素材データベース
本体405に置かれる、その作曲条件に合う素材の記憶
場所(の先頭アドレス)と、その素材のエントリ数を記
憶する。動作において、作曲条件4−1からブロック4
02に示すように、INDEX+(N×α+β)×2を
計算して、インデクステーブル403をアドレッシング
し、それに書かれている素材データベース本体405へ
のアドレスX(例えば第1属性が“1”で第2属性が
“1”の素材エントリ群の先頭アドレスX1)と、次ア
ドレスに書かれているエントリ数S(例えばS1)を読
む。次に検索モジュール410の411で示すように0
〜1の乱数RANを生成し、アドレスXとエントリ数S
とデータベース本体405におけるワード数/エント
リ、例えば3を用いて、412〜414により、(RA
N×S)×3+Xを計算して検索すべき音楽素材エント
リのアドレスADDRを生成する。このアドレスADD
R(及びワードル数/エントリ分の連続後続アドレス)
で音楽素材データベース本体405をアクセスすること
により所望の音楽素材、即ち作曲条件401に合う音楽
素材をデータベースから検索出来、それを作曲の一部と
して生成できる。
[Modification] Although the description of the embodiment has been completed, various modifications and changes can be made within the scope of the present invention. For example, the melody pattern rule base 216 may have a melody pattern (MP) rule base for each music style. FIG. 40 shows a melody pattern rule base for each music style and its related configuration. The melody pattern rule base has a rule base for each of a plurality (three in FIG. 40) of music styles. In FIG. 40, 216A is a style No. 1-No. 3 represents an MP rule group common to all styles (which can be used in any style). 1 and No. 2 represents a common MP rule group, and 216C is a style number. 1 represents an MP rule group unique to 1
6D is style No. 2 represents the MP rule group unique to the item 2. Style No. There is no MP rule group specific to 3). Therefore, the style No. The melody pattern rule base of 1 is 216A, 216B, and 216.
Style No. The melody pattern rule base of No. 2 is defined by 216A, 216B, and 216D. The melody pattern rule base of 3 is defined by 216A. In the operation of the automatic composer, the selection module 230 creates a selection MP rule base 232 for the designated music style (selects from the rule base 216) in accordance with the musical style input (for example, the designated rhythm 131 in FIG. 1). The selection MP rule base 232 is the melody pitch string generation device 200 of FIG. 1B.
Is accessed by an evaluation module, such as Matching 214 of. By using the configuration as shown in FIG. 40, the automatic composer can more efficiently generate a melody that matches the musical style. It is also easy to speed up data retrieval from the database to support full real-time response of composition. 41 and 4 for an example.
2 shows. FIG. 41 shows a modified example 400 of the music material database and its search method. In FIG. 41, the database of music materials (for example, rhythm pattern, chord progression) includes an index table 403 and a material database body 405. It is assumed that the first attribute (for example, music structure) is given as “α” and the second attribute (for example, musical style) is given as “β” as the composition condition as shown in 401 (the number of attribute items is not limited to 2, though). For convenience of illustration, the number of attribute items is 2.) It is assumed that there are M types of first attributes and N types of second attributes. The index table 403 gives index information to the material database main body 405, and for each composition condition (combination of attributes), the storage location of the material which is placed in the material database main body 405 and matches the composition condition (start address ) And the number of entries for that material. In operation, from composition condition 4-1 to block 4
02, INDEX + (N × α + β) × 2 is calculated, the index table 403 is addressed, and the address X to the material database body 405 written in the index table 403 (for example, if the first attribute is “1” 2 Read the starting address X1) of the material entry group whose attribute is "1" and the number of entries S (for example, S1) written at the next address. Next, as indicated by 411 in the search module 410, 0
Generate a random number RAN of ~ 1, and generate address X and number of entries S
And the number of words / entry in the database main body 405, for example, 3 is used, 412 to 414 (RA
N * S) * 3 + X is calculated to generate the address ADDR of the music material entry to be searched. This address ADD
R (and the number of consecutive words / number of consecutive addresses)
By accessing the music material database main body 405, it is possible to search the database for a desired music material, that is, a music material satisfying the composition condition 401, and generate it as a part of composition.

【0031】図41の構成によれば、音楽素材データベ
ース405に対する所望のデータ検索を非常に高速に行
える。ただし、データベース本体405は重複したデー
タを含むことになり、メモリ効率はよくない。図42に
音楽素材データベースとその検索方式のもう1つの変形
例500を示す。この変形例500では音楽素材データ
ベースは第1と第2のインデクステーブル503、50
4とデータベース本体505から成る。この場合、デー
タベース本体405上でデータは重複しない。第1イン
デクステーブル503には第2インデクステーブル50
4へのインデクス(アドレス)情報が書き込まれる。第
1インデクステーブル503へのアクセスは、作曲条件
(第1属性=α、第2属性=β)からただちに行える。
即ち502に示すようにINDEX=1(第1インデク
ステーブル503の先頭アドレス)+(N×α+β)の
計算でただちにテーブル503をアドレッシングでき
る。511に示すように第1インデクステーブル503
から読んだデータXで第2インデクステーブル504を
アクセスする。第2インデクステーブル504には作曲
別条件にデータベース本体505における素材エントリ
数S(例えば条件1、1に対してS1)と各素材エント
リのアドレスリストが書かれている。したがって、51
2に示すようにアドレスリストの(RAN×S)番目
(ここにRANは0〜1の乱数)の項目を読み、それで
素材データベース本体505をアクセスすることにより
所望の作曲条件401に合う素材をただちに取り出すこ
とができる。図42の構成によればデータベース本体5
05におけるデータ重複を回避しつつ、設定した作曲条
件に合う音楽素材(例えばメロディのリズム、コード進
行)を高速に生成することができる。その他、種々の変
形、応用が可能である。
According to the configuration shown in FIG. 41, desired data retrieval with respect to the music material database 405 can be performed very quickly. However, the database body 405 contains duplicated data, and the memory efficiency is not good. FIG. 42 shows another modification 500 of the music material database and its search method. In this modified example 500, the music material database has first and second index tables 503, 50.
4 and a database body 505. In this case, the data does not overlap on the database body 405. The second index table 50 is stored in the first index table 503.
The index (address) information for No. 4 is written. The first index table 503 can be immediately accessed from the composition condition (first attribute = α, second attribute = β).
That is, as shown by 502, the table 503 can be immediately addressed by the calculation of INDEX = 1 (the start address of the first index table 503) + (N × α + β). As indicated by 511, the first index table 503.
The second index table 504 is accessed with the data X read from. In the second index table 504, the number S of material entries in the database main body 505 (for example, S1 for conditions 1 and 1) and the address list of each material entry are written as composition conditions. Therefore, 51
As shown in FIG. 2, the (RAN × S) th item (where RAN is a random number from 0 to 1) in the address list is read, and the material database main body 505 is accessed to immediately find the material that meets the desired composition condition 401. You can take it out. According to the configuration of FIG. 42, the database main body 5
It is possible to quickly generate a music material (for example, melody rhythm, chord progression) that meets the set composition condition while avoiding data duplication in 05. In addition, various modifications and applications are possible.

【0032】[0032]

【発明の効果】以上、詳細に述べたように、この発明に
よれば音楽知識表現の工夫(メロディパターンルールベ
ースの使用)、音楽進行の利用、メロディの生成方式等
を通して、音楽進行に合い、かつ音楽知識に支えられた
良好なメロディをリアルタイムあるいはリアルタイムに
近い環境で作曲することができる。
As described above in detail, according to the present invention, it is possible to adapt to music progression through devising musical knowledge expression (use of melody pattern rule base), utilizing music progression, generating melody, etc. Moreover, a good melody supported by music knowledge can be composed in real time or in an environment close to real time.

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

【図1A】この発明による自動作曲機に組み込まれる作
曲条件付け装置の機能ブロック図。
FIG. 1A is a functional block diagram of a composition conditioner incorporated in an automatic composer according to the present invention.

【図1B】自動作曲機に組み込まれるリアルタイムメロ
ディ音高列生成装置の機能ブロック図。
FIG. 1B is a functional block diagram of a real-time melody pitch string generation device incorporated in an automatic composer.

【図1C】自動作曲機に組み込まれるメロディパターン
ルールベース拡張装置の機能ブロック図。
FIG. 1C is a functional block diagram of a melody pattern rule-based expansion device incorporated in an automatic composer.

【図2】自動作曲機を実現する代表的なハードウェアの
ブロック図。
FIG. 2 is a block diagram of typical hardware that realizes an automatic composer.

【図3】図2の自動作曲機に組み込まれる自動メロディ
生成装置の機能ブロック図。
FIG. 3 is a functional block diagram of an automatic melody generator incorporated in the automatic composer of FIG.

【図4】実施例で使用する音楽要素の文字(記号)表現
と数値表現を示す図。
FIG. 4 is a diagram showing character (symbol) expressions and numerical expressions of music elements used in the embodiment.

【図5】さらに別の音楽要素の文字及び数値表現を示す
図。
FIG. 5 is a diagram showing character and numerical expressions of still another music element.

【図6】さらに別の音楽要素の文字及び数値表現を示す
図。
FIG. 6 is a diagram showing character and numerical expressions of still another music element.

【図7】標準ピッチクラスセットメモリを示す図。FIG. 7 is a diagram showing a standard pitch class set memory.

【図8】固定メロディパターンデータベースメモリと音
種・音程データメモリを示す図。
FIG. 8 is a view showing a fixed melody pattern database memory and a tone type / pitch data memory.

【図9】テンポ・ビット変換マップと乱数メモリを示す
図。
FIG. 9 is a diagram showing a tempo / bit conversion map and a random number memory.

【図10】コード進行データベースメモリを示す図。FIG. 10 shows a chord progression database memory.

【図11】音楽構造データベースメモリを示す図。FIG. 11 is a diagram showing a music structure database memory.

【図12】リズムパターンデータベースメモリを示す
図。
FIG. 12 is a view showing a rhythm pattern database memory.

【図13】その他の定数及び変数を説明する図。FIG. 13 is a diagram illustrating other constants and variables.

【図14】さらにその他の変数を説明する図。FIG. 14 is a diagram for explaining other variables.

【図15】図2のCPUが実行するメインルーチンのフ
ローチャート。
15 is a flowchart of a main routine executed by the CPU of FIG.

【図16】図2のCPUが実行するインターラプトルー
チンのフローチャート。
16 is a flowchart of an interrupt routine executed by the CPU of FIG.

【図17】初期化の詳細なフローチャート。FIG. 17 is a detailed flowchart of initialization.

【図18】生成開始処理ルーチンのフローチャート。FIG. 18 is a flowchart of a generation start processing routine.

【図19】上位構造生成ルーチンの詳細なフローチャー
ト。
FIG. 19 is a detailed flowchart of an upper structure generation routine.

【図20】下位構造生成ルーチンの詳細なフローチャー
ト。
FIG. 20 is a detailed flowchart of a lower structure generation routine.

【図21】GetBの詳細なフローチャートと動作例を
示す図。
FIG. 21 is a diagram showing a detailed flowchart of GetB and an operation example.

【図22】コード進行生成ルーチンの詳細なフローチャ
ート。
FIG. 22 is a detailed flowchart of a chord progression generation routine.

【図23】リズムパターン生成ルーチンの詳細なフロー
チャート。
FIG. 23 is a detailed flowchart of a rhythm pattern generation routine.

【図24】停止処理のフローチャート。FIG. 24 is a flowchart of stop processing.

【図25】押鍵処理のフローチャート。FIG. 25 is a flowchart of key depression processing.

【図26】離鍵処理のフローチャート。FIG. 26 is a flowchart of key release processing.

【図27】押鍵中の処理のフローチャート。FIG. 27 is a flowchart of processing during key depression.

【図28】コード情報作成ルーチンの詳細なフローチャ
ート。
FIG. 28 is a detailed flowchart of a code information creation routine.

【図29】音種分類の詳細なフローチャート。FIG. 29 is a detailed flowchart of sound type classification.

【図30】音種ストアの詳細なフローチャート。FIG. 30 is a detailed flowchart of the sound type store.

【図31】音程分類の詳細なフローチャート。FIG. 31 is a detailed flowchart of pitch classification.

【図32】音程ストアの詳細なフローチャート。FIG. 32 is a detailed flowchart of pitch store.

【図33】発音時刻の処理の詳細なフローチャート。FIG. 33 is a detailed flowchart of processing of pronunciation time.

【図34】評価ルーチンの詳細なフローチャート。FIG. 34 is a detailed flowchart of an evaluation routine.

【図35】消音時刻の処理のフローチャート。FIG. 35 is a flowchart of processing of muffling time.

【図36】メロディパターンデータベース拡張ルーチン
の詳細なフローチャート。
FIG. 36 is a detailed flowchart of a melody pattern database expansion routine.

【図37】MTMフォーマット変更の詳細なフローチャ
ート。
FIG. 37 is a detailed flowchart of MTM format change.

【図38】ステップ34−2、34−6の詳細なフロー
チャート。
FIG. 38 is a detailed flowchart of steps 34-2 and 34-6.

【図39】ステップ36−4の詳細なフローチャート。FIG. 39 is a detailed flowchart of step 36-4.

【図40】音楽スタイル別メロディパターンルールベー
スをそれに関連する構成を示す図。
FIG. 40 is a view showing a configuration related to a melody pattern rule base for each music style.

【図41】音楽素材データベースとその検索方式の変形
例を示す図。
FIG. 41 is a diagram showing a modification of the music material database and its search method.

【図42】音楽素材データベースとその検索方式のさら
に別の変形例を示す図。
FIG. 42 is a diagram showing still another modified example of the music material database and its search method.

【符号の説明】[Explanation of symbols]

200 メロディ音高列生成装置 216 メロディパターンルールベース(メロディパタ
ーンルールベース手段) 132 指定ビート又はテンポ(テンポ指定手段) 228 実時間演奏系(リアルタイムメロディ演奏手
段) 302 ユーザー入力メロディ(ユーザーメロディ入力
手段) 310 メロディパターン(音種・音程列)生成ブロッ
ク(メロディパターン認識手段) 330E メロディパターンルールベース拡張部 208 音種・音程列生成モジュール(メロディパター
ン記憶手段、音程・音種分類手段、評価対象メロディパ
ターン形成手段) 214 マッチングモジュール(ルールベース検索手
段) 220 次候補生成モジュール(別候補生成手段) 208、214、218、220 (繰り返し手段) 224 決定現ピッチ(音高決定手段) 110、116、117、120、140、145、1
60 (コード進行生成手段) 210 現調性(調性指示手段)
200 Melody Pitch Sequence Generator 216 Melody Pattern Rule Base (Melody Pattern Rule Base Means) 132 Specified Beat or Tempo (Tempo Designating Means) 228 Real Time Performance System (Real Time Melody Performance Means) 302 User Input Melody (User Melody Input Means) 310 melody pattern (tone type / tone sequence) generation block (melody pattern recognition means) 330E melody pattern rule base extension unit 208 tone type / tone sequence generation module (melody pattern storage means, tone / tone type classification means, evaluation target melody pattern) Forming means) 214 Matching module (rule-based searching means) 220 Next candidate generating module (different candidate generating means) 208, 214, 218, 220 (repeating means) 224 Determined current pitch (pitch determining means) 110,116,117,120,140,145,1
60 (chord progression generation means) 210 current tonality (tonality indication means)

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/12 G09B 15/00 - G10B 15/08 G10G 1/00 - 7/02 ─────────────────────────────────────────────────── ─── Continuation of front page (58) Fields investigated (Int.Cl. 7 , DB name) G10H 1/00-7/12 G09B 15/00-G10B 15/08 G10G 1/00-7/02

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 音楽進行を与える音楽進行付与手段と、 メロディの音列を音種列と音程列とでパターン化したメ
ロディパターンのルールベースを記憶するメロディパタ
ーンルールベース手段と、ユーザーによるメロディ入力が可能なメロディ入力手段
と、 該メロディ入力手段で入力されたメロディの各音の音種
を、上記音楽進行付与手段により付与されている音楽進
行に基づいて判定すると共に、隣接するメロディ音の音
程を判定することにより、音種列と音程列とで表現され
るメロディパターンを作成するメロディパターン作成手
段と、 該メロディパターン作成手段で作成されたメロディパタ
ーンを、追加ルールとして上記メロディパターンルール
ベース手段に追加するメロディパターンルールベース拡
張手段と、 上記音楽進行付与手段からの音楽進行に適合し、かつ上
記メロディパターンルールベース手段内のメロディパタ
ーンルールを満たすメロディを生成するメロディ生成手
段と、 を有することを特徴とする自動作曲機。
1. A music progression giving means for giving a music progression, a melody pattern rule base means for storing a rule base of a melody pattern in which a tone series of a melody is patterned by a tone series and a tone series, and a melody input by a user. Melody input means
And the tone type of each sound of the melody input by the melody input means
To the music progress given by the above-mentioned music progress giving means.
Judgment based on line and sound of adjacent melody
By determining the pitch, it is represented by a pitch sequence and a pitch sequence.
Melody pattern creator
And a melody pattern created by the melody pattern creating means.
The above melody pattern rule as an additional rule
Expansion of melody pattern rule base to be added to bass means
An automatic composer comprising: an extension means; and a melody generation means adapted to generate a melody adapted to the music progression from the music progression giving means and satisfying the melody pattern rule in the melody pattern rule base means. .
【請求項2】 メロディ音を順次自動生成する自動作曲
機において、 音楽進行を与える音楽進行付与手段と、 メロディの音列を音種列と音程列とでパターン化したメ
ロディパターンのルールベースを記憶するメロディパタ
ーンルールベース手段と、 該メロディパターンルールベース手段に記憶されている
メロディパターンルールベースを参照することなく、現
在のメロディ音の候補を生成するメロディ音候補生成手
段と、 該メロディ音候補生成手段で生成された現在メロディ音
候補の音種を、上記音楽進行付与手段により付与されて
いる音楽進行に基づいて判定する音種判定手段と、 上記メロディ音候補生成手段で生成された現在メロディ
音候補と既に生成されている直前のメロディ音との音程
を判定する音程判定手段と、 上記音種判定手段で判定された音種及び上記音程判定手
段で判定された音程を 含む過去の音種列及び音程列のパ
ターンが、上記メロディパターンルールベース手段に記
憶されているか否かを判断するルールベース検索手段
と、 該ルールベース検索手段で記憶されていると判断された
ときに、上記現在メロディ音候補を現在のメロディ音と
して決定すると共に、該メロディ音に続く次のメロディ
音の候補の生成を上記メロディ音候補生成手段に指示
し、上記ルールベース検索手段で記憶されていないと判
断されたときに、上記現在メロディ音候補に代わる新た
なメロディ音候補の生成を上記メロディ音候補生成手段
に指示する指示手段と、 を有する ことを特徴とする自動作曲機。
2. Automatic music for automatically generating melody sounds in sequence
In the machine, a music progression giving means for giving a music progression and a method in which the tone sequence of the melody is patterned into a tone sequence and a tone sequence.
A melody pattern that memorizes the rule base of the roddy pattern
Stored in the melody pattern rule base means and the melody pattern rule base means
Without referring to the melody pattern rule base, the current
Melody sound candidate generator for generating existing melody sound candidates
And the current melody sound generated by the melody sound candidate generation means.
The candidate sound type is added by the music progression adding means.
Sound type determination means for determining based on the progress of music, and the current melody generated by the melody sound candidate generation means.
The pitch between the sound candidate and the immediately preceding melody sound that has already been generated
The pitch determination means, the pitch type determined by the pitch type determination means, and the pitch determination hand.
The sequence of past note types and pitch sequences that includes the
The turn is recorded in the above melody pattern rule base means.
Rule-based search means to determine whether or not it is remembered
And it is determined that the rule-based search means stores it.
Sometimes, the current melody sound candidate is used as the current melody sound.
And the next melody following the melody sound
Instructing the melody sound candidate generation means to generate sound candidates
However, it is determined that it is not stored by the above rule-based search means.
When rejected, a new alternative to the current melody candidate above
Generating a melody sound candidate
Automatic composer, characterized in that it comprises an instruction means for instructing, to the.
【請求項3】 請求項記載の自動作曲機において、 ユーザーによるメロディ入力が可能なメロディ入力手段
と、 メロディ入力手段入力されたメロディの各音の音種
を、上記音楽進行付与手段により付与されている音楽進
行に基づいて判定すると共に、隣接するメロディ音の音
程を判定することにより、音種列と音程列とで表現され
るメロディパターンを作成するメロディパターン作成
段と、 メロディパターン作成手段で作成されたメロディパタ
ーンを、追加ルールとして上記メロディパターンルール
ベース手段に追加するメロディパターンルールベース拡
張手段と、 を更に有することを特徴とする自動作曲機。
3. A automatic composer according to claim 2, melody input means capable melody input by user, the sound type <br/> each sound of the melody inputted by the melody input means, the Music progression provided by the music progression providing means
Judgment based on line and sound of adjacent melody
By determining the extent, and the melody pattern created hand <br/> stage to create a melody pattern represented by a note type column and pitch sequence, the melody pattern generated by the melody pattern creating means, as additional rules An automatic composer, further comprising: a melody pattern rule base expansion means added to the melody pattern rule base means.
【請求項4】 請求項記載の自動作曲機において、 上記メロディ音候補生成手段は、上記音楽進行付与手段
にて与えられる音楽進行を参照することなく、現在のメ
ロディ音の候補を生成する、 ことを特徴とする自動作曲機。
4. The automatic composer according to claim 2, wherein the melody sound candidate generation means is the music progress addition means.
Without referring to the music progression given in
An automatic composer characterized in that it generates candidates for a rody sound .
JP36054591A 1991-12-30 1991-12-30 Automatic composer Expired - Fee Related JP3364940B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP36054591A JP3364940B2 (en) 1991-12-30 1991-12-30 Automatic composer
US07/998,561 US5451709A (en) 1991-12-30 1992-12-29 Automatic composer for composing a melody in real time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36054591A JP3364940B2 (en) 1991-12-30 1991-12-30 Automatic composer

Publications (2)

Publication Number Publication Date
JPH05181408A JPH05181408A (en) 1993-07-23
JP3364940B2 true JP3364940B2 (en) 2003-01-08

Family

ID=18469862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36054591A Expired - Fee Related JP3364940B2 (en) 1991-12-30 1991-12-30 Automatic composer

Country Status (1)

Country Link
JP (1) JP3364940B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3646703B2 (en) * 2002-02-01 2005-05-11 ヤマハ株式会社 Voice melody music generation device and portable terminal device using the same
SE0600243L (en) * 2006-02-06 2007-02-27 Mats Hillborg melody Generator

Also Published As

Publication number Publication date
JPH05181408A (en) 1993-07-23

Similar Documents

Publication Publication Date Title
US5451709A (en) Automatic composer for composing a melody in real time
USRE40543E1 (en) Method and device for automatic music composition employing music template information
JP2638021B2 (en) Automatic accompaniment device
JP2562370B2 (en) Automatic accompaniment device
JP3829439B2 (en) Arpeggio sound generator and computer-readable medium having recorded program for controlling arpeggio sound
US6294720B1 (en) Apparatus and method for creating melody and rhythm by extracting characteristic features from given motif
US6100462A (en) Apparatus and method for generating melody
JPH079586B2 (en) Automatic musical instrument accompaniment device
JP3364941B2 (en) Automatic composer
JP3196604B2 (en) Chord analyzer
US6486390B2 (en) Apparatus and method for creating melody data having forward-syncopated rhythm pattern
JP3364940B2 (en) Automatic composer
JP3531507B2 (en) Music generating apparatus and computer-readable recording medium storing music generating program
JPH0764561A (en) Electronic musical instrument
JP3216529B2 (en) Performance data analyzer and performance data analysis method
JP3195111B2 (en) Automatic performance device
JP3143039B2 (en) Automatic performance device
JP3163654B2 (en) Automatic accompaniment device
JP3427413B2 (en) Automatic arrangement device
JP3807333B2 (en) Melody search device and melody search program
JP2638820B2 (en) Accompaniment line fundamental tone determination device
JP3158918B2 (en) Automatic accompaniment device
JP2666063B2 (en) Automatic composer
JP2513340B2 (en) Electronic musical instrument
JP2929498B2 (en) Electronic musical instrument

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081101

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091101

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101101

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111101

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees