JP2666063B2 - Automatic composer - Google Patents

Automatic composer

Info

Publication number
JP2666063B2
JP2666063B2 JP62325180A JP32518087A JP2666063B2 JP 2666063 B2 JP2666063 B2 JP 2666063B2 JP 62325180 A JP62325180 A JP 62325180A JP 32518087 A JP32518087 A JP 32518087A JP 2666063 B2 JP2666063 B2 JP 2666063B2
Authority
JP
Japan
Prior art keywords
melody
sound
stage
data
scale
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
JP62325180A
Other languages
Japanese (ja)
Other versions
JPH01167882A (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 JP62325180A priority Critical patent/JP2666063B2/en
Publication of JPH01167882A publication Critical patent/JPH01167882A/en
Application granted granted Critical
Publication of JP2666063B2 publication Critical patent/JP2666063B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の技術分野] この発明は自動作曲機に関する。 [背 景] 通常の音楽のメロディラインを構成する音は、和声音
と非和声音に分けることができる。この点に着目して、
本件出願人は、特願昭62−86571号(昭和62年4月8日
出願)において、与えられたモチーフをコード進行か
ら、モチーフに含まれる分散和音の特徴パラメータと非
和声音の特徴パラメータを抽出し、その抽出結果に従っ
て、各メロディ生成区間において、コードの構成音を用
いて分散和音の音列を生成し、しかる後、非和声音を付
加してメロディの音列を完成する自動作曲機を出願して
いる。 したがって、この自動作曲機は和声的に好ましい曲を
作曲することが可能である。反面、各メロディ生成区間
に対するコードは自動作曲機に組み込まれたコードのセ
ットのなかから選択しなければならない。このことは、
生成されるメロディに和声的な制約を加えることにな
る。また、使用者がコード進行を入力するためには、予
備知識として和声学の知識を必要とする。 [発明の目的] この発明は上述した背景に鑑みてなされたもので、そ
の目的は、和声的な曲から和声的でないような曲まで幅
広く作曲が可能であり、使用する上で格別の音楽知識を
要しない自動作曲機を提供することである。 [発明の構成、作用] この発明によれば、上位目的を達成するため、モチー
フを入力するモチーフ入力手段と、音楽区間ごとに1ま
たは複数の音名から成る一次構成音を複数の連続する音
楽区間にわたって一次構成音進行として付与する一次構
成音進行付与手段と、上記モチーフと上記一次構成音進
行の所定部分であって、上記モチーフの時間長に相当す
る部分とを比較して、モチーフに当該部分の一次構成音
がどのように分布しているかを示す第1の特徴パラメー
タと、モチーフ内に当該部分の一次構成音以外の音がど
のように分布しているかを示す第2の特徴パラメータと
を生成する特徴パラメータ生成手段と、上記第1の特徴
パラメータを乱数によって変更し、これと各音楽区間の
一次構成音とに基づいて一次構成音のみから成る第1段
階のメロディを生成する第1段階メロディ生成手段と、
上記第2の特徴パラメータに応じて上記第1段階のメロ
ディに一次構成音以外の音を付加し、これをメロディと
して出力するメロディ生成手段と、を有することを特徴
とする自動作曲機が提供される。 本自動作曲機はメロディの生成を2段階で行ってお
り、第1段階のメロディは最終的に生成されるメロディ
の骨組を構成し、第2段階のメロディは、この骨組を装
飾あるいはつなぐように働く。この2重構造のメロディ
ラインは、一次構成音として、どのような音を選択する
かで、多様に変化し、ある場合には伝統的な曲が形成さ
れ、ある場合には斬新で実験的な曲が形成される。 [実施例] 以下、本発明の実施例について説明する。作曲機モー
ドにおいて、本自動作曲装置は音を第1段階メロディ音
と第2段階メロディ音とに分けて作曲するアプローチを
採用している。作曲の基礎となるデータとして、第1段
階メロディ音の音高組織を定める一次構成音(以下、複
音と呼ぶ)の進行情報、モチーフ(使用者から入力され
るメロディ)、生成するメロディのリズムないし音長列
の制御に用いるパルススケール、基本となる音階の種類
が与えられる。モチーフに含まれる各音は各区間に割り
当てた複音情報を用いることで、第1段階メロディ音と
第2段階メロディ音とに識別される。モチーフから第2
段階メロディ音を除いた部分はモチーフの第1段階メロ
ディ音の音列である。この音列から、第1段階メロディ
の音型の特徴が抽出される。また、第1段階メロディ音
と第2段階メロディ音との識別がつけられたモチーフに
対しては、第2段階メロディ音を分類する音楽知識(こ
れは後述するプロダクションルールデータメモリに記憶
されている)を利用することにより、モチーフに含まれ
る各第2段階メロディ音のタイプ(特徴)を抽出でき
る。すなわち、モチーフのなかに、どのような第2段階
メロディ音がどのように分布しているかを示す情報(第
2段階メロディの特徴)が得られる。さらに複音進行か
らは、曲の階層構造と調性構造とが抽出される。 メロディの生成は、第1段階メロディの生成工程、第
2段階メロディの付加工程、音長列の生成工程から成
る。第1段階メロディの生成工程では、複音進行情報か
ら抽出した上記階層構造によって、第1段階メロディの
音型の生成が制御される。階層構造により新しい第1段
階メロディの音型の生成が指示される場合、第1段階メ
ロディの音型の特徴(モチーフから抽出した第1段階メ
ロディの音型の特徴またはそれを修飾したもの)から第
1段階メロディの音型が生成され、生成された第1段階
メロディの音型に対応する複音情報を適用することによ
り音高列で表現される第1段階メロディが生成される。
このようにして生成された第1段階メロディに対して第
2段階メロディが付加される。第2段階メロディを付加
するのに上述した音楽知識が再度利用される。第2段階
メロディ音付加の推論において、付加可能な音は第2段
階メロディの特徴を満たすものであることと、音階音で
あることを条件とする。ここにおける音階音は、複音進
行から抽出した調性構造に従って基本とする音階の主音
(キー、調性)を転回した音階上の音である。第2段階
メロディ音の分類と第2段階メロディ音の付加とにおい
て、共通の音楽知識を使って推論が行われるため、本装
置によるメロディの分析と合成との間には「可逆性」が
与えられる。完全な可逆性とは、あるメロディを分析し
て、ある分析結果を得たとし、逆に、その分析結果を基
にしてメロディを生成した場合に、生成されたメロディ
が当初のメロディに一致することである。第1段階メロ
ディに第2段階メロディを付加することによりメロディ
の音高列が完成する。一方、メロディの音長列の方は、
次のようにして得られる。すなわち、基本となるリズム
(音長列)を目標音符数(例えば和声音と非和声音の合
計の数)になるように、パルススケールを使って最適結
合または最適分割する。との音符がどの位置で分割また
は結合されるかは選択したパルススケールがもつ各パル
ス点の重みに依存する。したがって一貫性のあるリズム
制御が可能である。 <全体構成> 第1図に本実施例に係る自動作曲機の全体構成図を示
す。CPU1は本装置における自動作曲機能を実現するため
の制御装置である。入力装置2からは、モチーフ(メロ
ディ)、複音進行、使用するパルススケールの種類、使
用する音階の種類などが入力される。モチーフメモリ3
には入力されたモチーフが記憶される。複音進行メモリ
4は複音進行情報を記憶するメモリであり、メモリ4の
情報は複音進行を分析する場合、第1段階メロディを抽
出または生成する場合などにCPU1により使用される。音
階データメモリ5はさまざまな種類の音階を表わす音階
データを記憶するメモリであり、作曲に先立ち、使用者
は曲で使用する音階として特定の音階をこのメモリ5の
音階セットのなかから選択することができる。プロダク
ションルールデータメモリ6には、第2段階メロディ音
を分類するための音楽知識が記憶される。この音楽知識
はモチーフに含まれる第2段階メロディ音を分類する場
合、生成した第1段階メロディに第2段階メロディを付
加する場合に利用される。パルススケールメモリ7は各
種のパルススケール(パルススケールのセット)を記憶
するメモリであり、作曲の開始時、使用者は曲にもたせ
るリズムの特徴を考慮して、このパルススケールのセッ
トのなかから所望のパルススケールを選択することがで
きる。選択されたパルススケールはメロディのリズム
(音長列)の生成に利用される。メロディデータメモリ
8には完成したメロディデータが記憶される。外部記憶
装置はメロディデータメモリ8に記憶したメロディデー
タの写し、別の音楽知識、別の作曲プログラムの資源と
して利用される。ワークメモリ10にはCPU1が動作中に使
用する各種のデータ、例えば調性構造、階層構造、各種
変数などが記憶される。モニター11はCRT12、五線譜プ
リンタ13、楽音形成回路14、サウンドシステム15から構
成され、作曲結果や分析結果をこれらの装置を通して表
示、出力できる。 <作曲ゼネラルフロー> 作曲機モードにおける本装置の全体フロー(作曲ゼネ
ラルフロー)を第2図に示す。 4−1の初期設定では、使用者より自動作曲機に対し
て、作曲のための基本的な情報が入力される。使用者が
自動作曲機に知らせる情報として、(1)BEAT、(2)
パルススケールの種類(3)音階(4)全自動かモチー
フ入力が示されている。BEATは基本単位長の音符(最短
の音符)の数で表わされる1小節の長さであり、したが
って曲の拍子を規定するものである。例えば、4拍子系
の曲に対しては、音符の基本単位長を16分音符とするBE
AT=16を設定すれば1小節の長さは4拍となる。4−1
で選択するパルススケールは自動作曲機が作曲する曲の
リズムを一次的に制御する情報である。パルススケール
は、基本単位長の間隔をもつ各パルス点に、音符の結合
のしやすさまたは音符の分割のしやすさを表わす重みが
付けられたスケールであり(第7図、第12図参照)、こ
のパルススケールを使用することによりメロディの音長
列が制御される。したがって、パルススケールの種類を
選択するということは、自動作曲機が作曲する曲のリズ
ムの特徴を選択していることに相当する。4−1で選択
される音階の種類(例えば、ダイアトニックスケール)
は、自動作曲機が作曲において使用する音階である。さ
らに初期設定4−1においては、作曲を全自動で行う
か、モチーフを基に行うかが使用者により決定される。
全自動のときは、作曲に必要なデータとして、(1)複
音進行、(2)プロダクションルール(3)パルススケ
ールがワークメモリ10上に読み込まれ(4−3)、
(1)基本とするリズム(音長パターン)、(2)第1
段階メロディパターンの特徴(PCi:第5図参照)、
(3)第2段階メロディの特徴(RSi:第5図参照)から
成るエッセンスが使用者の指示に従って生成される(4
−4)。一方、モチーフを利用する作曲モードでは、デ
ータ読み込み4−5として上述のデータ以外にモチーフ
(入力メロディ)も読み込まれ、エッセンスとしての
(1)リズム(2)第1段階メロディパターン(3)第
1段階メロディパターンの特徴、(4)第2段階メロデ
ィの特徴は、このモチーフから抽出される(4−5)。
全自動、モチーフ利用モードのいずれの場合も、複音進
行の評価4−7が行われ、ここで(1)階層構造(2)
調性構造が複音進行情報から抽出される。この階層構造
は複音進行に内在する曲の一貫性と多様性を表現したも
のである。また、調性構造は各区間において使用する音
階のキー(基音)を規定するものである。この4−7ま
での処理で、作曲のための「分析的作業」が完了してい
る。例えば、第1段階メロディパターンの特徴は、第1
段階メロディの音型の生成に必要な情報であり、第2段
階メロディの特徴は、第1段階メロディに付加する第2
段階メロディを特徴づけるものである。また調性構造
は、各区間のメロディの音の候補を制約する。階層構造
は、新たに第1段階メロディの音型を生成するか否かを
決めるのに利用できる。またパルススケールはリズムの
生成に利用される。メロディ生成4−8では、(1)第
1段階メロディの生成(2)第2段階メロディの付加
(3)リズムの生成が実行される。 <変数リスト、データ形式> 後述するフローで使用される主な変数のリストを第3
図に、データ形式を第4図〜第8図に示す。なおデータ
形式は単なる例示であり、その他の任意の適当なデータ
形式が使用可能である。 以下、本装置の作曲機モードについて詳細に説明す
る。 <初期設定> 作曲ゼネラルフロー(第2図)における初期設定4−
1の詳細を第9図に例示する。この初期設定で選択する
BEATの意味、パルススケールの種類(PULS)、音階の種
類(ISCALE)の意味、全自動又はモチーフ入力の意味は
第2図に関して説明したのでここでは省略する。PULSの
値は、パルススケールメモリ(第1図)に記憶される特
定の種類のパルススケールへのポインタとなり、ISCALE
の値は音階データメモリ5に記憶される特定の種類の音
階データへのポインタとなる。 <データ読み込み> 第2図の作曲ゼネラルフローに示すように、初期設定
の後、4−3または4−5においてデータ読み込みが実
行される。全自動の場合は、作曲の基礎データとしてモ
チーフは使用されないのでモチーフデータの読み込みは
行われない。各データの読み込みについて以下説明す
る。 第10図は複音進行メモリ4(第1図)に記憶された複
音進行データ例を示す。第11図は複音進行メモリ4に記
憶された複音進行データをロードするフローチャートで
ある。第10図に示すメモリマップでは、複音を構成する
音のデータ(CCi)は偶数アドレスに置かれ、その複音
の長さが次のアドレス(奇数アドレス)に置かれてい
る。例えば、16進表示で8A4の値をもつCCiは、G、B、
D、Fの4つの音を表わし、10の値をもつCRiは複音の
長さが基本時間長(例えば16分音符)の16倍であること
を表わしている。 第11図において、レジスタCCiには作曲する曲のi番
目に出現する複音データが入り、CRiにはその長さが入
る。またCDNOには複音の総数が入る。その他の点につい
ては第11図の記載から明らかであるので説明は省略す
る。 第12図にパルススケールメモリ7(第1図)に記憶さ
れるパルススケールデータ例を示す。第13図はパルスス
ケールメモリ7から初期設定において選択した種類のパ
ルススケールをロードするフローチャートである。この
例の場合、初期設定において作曲する曲のリズムの特徴
を選択するために選択したパルススケールの種類(PUL
S)は、パルススケールメモリ7における特定のアドレ
ス(例えば0)を指しており、そのアドレスには、選択
したパルススケールデータの開始アドレスが入ってい
る。この開始アドレスには、パルススケールを構成する
サブスケール(0と1の重みしかもたないスケール)の
数が記憶され、後続アドレスに各サブスケールのデータ
が記憶されている。例えばノーマルのパルススケール
は、5つのサブスケールFFFF、5555、1111、0101、0001
(16進表現)から成り、対応する2進表現を第7図に示
してある。ノーマルのパルススケールの場合、最初のパ
ルス点(第7図の一番右側の位置)の重みが最大の5と
なっており、このことは、ノーマルのパルススケールを
選択した場合、生成されるリズムの各区間(小節)の最
初の位置に最も音符が存在しやすいことを表わしてい
る。 第14図はプロダクションルールデータメモリ6(第1
図)に記憶されるプロダクションルールデータの例を示
している。第15図はこのメモリ6に記憶されたデータを
読み込むフローチャートである。プロダクションルール
の全体は、メロディに含まれる第2段階メロディ音を分
類するための音楽知識を表現したものであり、各プロダ
クションルールデータは、ルールの前提部を規定するデ
ータとして下限データLi、関数の種類を指示する関数指
示データXi、上限データUiを有し、ルールの結論部とし
てデータYiとNiを有する。関数は分析するメロディの状
況を数値表現したもので、その例は後述する第29図に示
される。データXiで示される関数の値FxiがLi以上でか
つUi以下である(Li≦Fxi≦Ui)というのがプロダクシ
ョンルールの前提部(命題)であり、この前提部が成立
するときの結論がデータYiで示され、この前提部が不成
立のときの結論がデータNiで示されている。そして、デ
ータYiまたはNiが正の値をもつときは、その値が前向推
論において次に参照すべきプロダクションルールの番号
を示し、負の値をもつときは、その絶対値によって第2
段階メロディ音の種類が表現される。前向推論は必ず1
つのルールから開始され、このルールのことをルートと
呼ぶ。負の値をもつ結論YiまたはNiをみつけたときに前
向推論は終了する。 第14図に示すプロダクションルールデータのアドレス
割当の場合、各プロダクションルールのデータは下限デ
ータLiのアドレスを先頭として5つの連続するアドレス
に、記憶される。詳細には5で割り切れるアドレスにLi
が、5で割った余り1のアドレスにXiが、余り2のアド
レスにUiが、余り3のアドレスにYiが、余り4のアドレ
スにNiのデータが記憶される。 第15図においてRULENOには、プロダクションルールの
総数がセットされる。その他の点については上述の説明
とフローの記載から明らかである。 第16図はモチーフメモリ3に記憶されるモチーフデー
タ(メロディデータ)の例を示す。第17図は作曲の基に
なるモチーフデータを読み込むフローチャートである。
第16図の場合、偶数アドレスに音符の音高データMDiが
その次の奇数アドレスに、その音符の音長データMRiが
記憶されている。第17図のMDNOにはモチーフの音符数が
セットされる。 以上でデータ読み込みの説明を終える。 <エッセンスの生成> モチーフを使用しない全自動の作曲モードではデータ
読み込みの後、曲のエッセンスとしてリズム、第1段階
メロディパターンの特徴、第2段階メロディの特徴を生
成する(第2図の4−4)。第18図にこのエッセンス生
成のフローチャートを示す。これらのエッセンスは、使
用者の指定あるいは完全自動で生成される。例えば、22
−1における基準リズムパターンの設定は、自動リズム
パターン生成手段、例えば拍子として4/4拍子、パルス
スケールとしてノーマルが選択されているときに を基準リズムパターンとして自動生成するような手段あ
るいは使用者が好みのリズムパターンを入力することで
行われる。22−2の第1段階メロディパターンの特徴設
定と22−3の第2段階メロディの特徴設定についても自
動または使用者の入力により行われる。第19図には乱数
発生等により第1段階メロディパターンの特徴を自動設
定するフローチャートを、第20図には第2段階メロディ
の特徴を使用者が入力することにより設定するフローチ
ャートを例示する。 第1段階メロディパターンの特徴設定(第19図)にお
けるPC1〜PC5は所定長の区間(例えば小節)内の第1段
階メロディを構成する音の数、最高音、最低音、隣り合
う第1段階メロディ音間の差の最大値、隣り合う第1段
階メロディ音間の差の最小値をそれぞれ表わす(第5図
参照)。各PCは、区間毎に生成可能であり、そのとりう
る値の上限と下限を設定し、その間で乱数を発生するこ
とで得られる。あるいは、曲の進行に対するPCの系列を
データベースに用意しておき、所望のPC系列を選択する
ようにしてもよい。 第20図の第2段階メロディの特徴設定では、モニター
により、各第2段階メロディ音の種類aに対応するキー
ワードを表示して、使用者の入力を促している(24−
2)。RSiの配列に使用者の入力した第2段階メロディ
音識別子aの系列が入る(24−3、24−6、24−7)。
入力の終りを示すコードEOIを呼んだとき、RSNOに第2
段階メロディ音の数を入れてフローを抜ける(24−
8)。 <エッセンスの抽出> モチーフを利用する作曲モードではデータ読み込みの
後、モチーフから曲のエッセンス(リズム、第1段階メ
ロディパターン、第1段階メロディパターンの特徴、第
2段階メロディ音の特徴)が抽出される(第2図、4−
6)。 モチーフのリズム評価を第21図に、第1段階メロディ
パターンの抽出を第25図に、第1段階メロディパターン
(音型)の特徴抽出を第26図に、第2段階メロディの特
徴抽出を第27図に例示する。これらのフローでは、各エ
ッセンスは区間(小節)ごとに抽出している。 第21図のリズム評価において、25−1におけるPsには
対象の小節の先頭の音符が曲の何番目の音符であるかを
示す位置情報が入り、PssにはPsで示される小節の先頭
の音符が前小節にはみ出している長さ(基本時間表現)
が入り、Peには対象の小節の最後の音符(次小節の先頭
の音符より1つ前の音符)の位置情報が入る。25−2に
示すrrは対象の小節のリズムパターンを格納する16ビッ
トのレジスタであり、1小節の長さを16とすると、レジ
スタrrの最初のビット位置は、小節の最初の基本時間を
表わし、同様にN番目のビット位置は小節の頭からN番
目の基本時間を表わす。25−3〜25−9までの処理は、
モチーフの音符Psから音符Peまでにある音符の位置をモ
チーフ音長データMRiを使って求め、レジスタrrの対応
するビット位置に記入する処理である。例えば、rrとし
て、 0001000100010001 の結果が得られたとすると、このパターンrrは対象の小
節の1拍目、2拍目、3拍目、4拍目に音が発生するこ
とを表わしている。 Ps、Pss、Pe、Peeの算出の詳細は第22図〜第24図に示
される。Peeは、Peの次の音符、すなわち次小節の先頭
の音符が対象の小節に割り込んでいる長さを表わす。 第23図のPs、Pssの算出フローにおいて、beatは1小
節の長さ(基本時間長表現)、barは対象の小節の番号
(ユーザーの指定した小節番号を表わす。指定した小節
の番号が1より小さいが、曲の小節数(mno)より大き
いときは入力ミスである。指定した小節が1のときは、
Ps=1、Pss=0にする(27−4、27−5)。Ps=1に
なる理由は、最初の小節の場合、小節の先頭の音符は曲
の最初の音符ないし全モチーフデータの最初の音符にほ
かならないからであり、Pss=0になる理由は、先行小
節が存在しないからである。27−2で求めたa1は曲の頭
から対象の小節の前方小節線までの長さであり、この長
さa1をモチーフの音長データMRiを先頭から累算して得
た長さSと比較する(27−7、27−8、27−10、27−1
2)。S=a1が成立するときは、Sに最後に累算された
i番目の音高データの次の音符が対象の小節の頭から開
始する。したがってPs=i+1、Pss=0とする(27−
9)。一方、S>a1が成立するときは、Sに最後に加え
た音長データをもつ音符、すなわち、i番目の音符が対
象の小節の先頭の音符である。したがってPs=iとす
る。またPss=MRi−S+a1とする(27−9)。 第24図に示すPe、Peeの算出フローは第23図とよく似
た処理を行う。ただしa1には曲の冒頭から対象の小節の
後方小節線までの長さが入る、その他の点については説
明を省略する。 第25図に示す第1段階メロディの音型抽出フローでは
対象の小節のモチーフから第1段階メロディパターン
{LLi}を抽出している。処理の概要を述べると、PsとP
eで示される対象の小節に対し、複音進行情報における
対応する複音情報を使用して、モチーフデータが第1段
階メロディ音かどうかを判別し、第1段階メロディ音と
判別された音に対しては、それが複音のなかで下から何
番目の音であるかを調べてLLの形式のデータを得る、詳
細に述べると、まずモチーフデータのなかから、評価の
対象となる最初の音符(Ps)と最後の音符(Pe)を求め
る(29−1)。次に、複音データをロードする(29−
2)。次に、音符カウンタiと第1段階メロディ音カウ
ンタkを初期化する(29−3、29−4)。29−5の処理
はモチーフの音高データMDiを複音データccと同じデー
タ形成に変換する処理である。例えば、“G"の音は、ビ
ット位置7に“1"をもつデータmmに変換される。 29−6でこの音高データmmが複音構成音か否かをチェ
ックしている。これは、音高データmmと複音データccと
の論理積(mm∧cc)をとることで判別できる。29−7〜
29−13では、複音データccのビット“1"の中で、モチー
フの音高データmmのビット“1"と一致するのは何番目で
あるかを調べ、その結果cにモチーフの音のオクターブ
番号(MDi∧ffoo)を加えて、第1段階メロディパター
ンデータLLkとしている。29−15で次の音符にカウンタ
iを進め、音符番号がPeに達するまで(29−16)、LLを
求める。29−17のLLNOには対象の区間の第1段階メロデ
ィの音符数が入る。 第26図の第1段階メロディの音型の特徴は、第25図の
第1段階メロディの音型の抽出結果{LLi}、LLNOから
導き出される。 第27図の第2段階メロディの特徴抽出では、対象の区
間のモチーフに分布する第2段階メロディ音の種類のパ
ターンを求めている。第2段階メロディ音のカウンタと
音符カウンタをセットし(33−2、33−3)、着目して
いる音符が第2段階メロディ音の場合(33−4)、その
音符を中心とするモチーフの状況を表わす関数Fを計算
し、プロダクションルールによる前向推論を実行して第
2段階メロディ音の種類を求めRSjに代入する(33−5
〜33−8)。この第2段階メロディ音の分類処理をPeに
達するまで行うことにより、配列{RSj}には、対象の
区間のモチーフの第2段階メロディ音の種類の並びがセ
ットされる。33−11のPSNOには対象の区間の第2段階メ
ロディ音の総数が入る。 33−4に示すMDiが第2段階メロディ音かどうかの判
別処理の詳細は第28図に示される。この判別処理は、第
1段階メロディの音型の抽出(第25図)において、着目
している音符が第1段階メロディ音(複音の構成音)か
否かを判別する処理の同様であり、対象の区間の複音の
構成音のなかに着目している音符の音名が含まれるか否
かで判別できる。 33−6における関数Fの計算では、前向推論におい
て、第2段階メロディ音を分類するために必要なモチー
フ(メロディ)の条件ないし要因を計算する。第29図か
ら第37図にその具体例を示す。この例では関数Fとし
て、 F1:着目している音符(第2段階メロディ音)の何個先
に第1段階メロディ音が位置するか(後方第1段階メロ
ディ音の位置) F2:着目している音符の何個手前に第1段階メロディ音
が位置するか(前方第1段階メロディ音の位置) F3:前方第1段階メロディ音から後方第1段階メロディ
音までにある第2段階メロディ音の数 F4:前方第1段階メロディ音と後方第1段階メロディ音
との音高差 F5:前方第1段階メロディ音と後方第1段階メロディ音
との間における第2段階メロディ音の高さの分布 F6:前方第1段階メロディ音から後方第1段階メロディ
音までのメロディの音高が単調に変化するか否か F7:後方第1段階メロディ音とその1つ前の音との音高
差(後方第1段階メロディ音への音程進行) F8:前方第1段階メロディ音とその1つ後の者との音高
差(前方第1段階メロディ音からの音程進行) を計算している(第29図)。この他に、弱拍か強拍かを
示す情報、音長を区別する情報を関数Fのセットに加え
てもよい。個々の関数Fの算出のフローチャートはそれ
自体の記載から明らかであるので説明は省略する。 33−7における前向推論の詳細を第38図に示す。ま
ず、ルールナンバーポインタPを、プロダクションルー
ルのなかでルートとなっているルールを指示する“1"に
セットする(44−1)。しかる後、ルールナンバーポイ
ンタPの示すルールの前提部(Lp≦Fxp≦Up)が成立す
るかどうかをチェックし、成立するときはそのルールの
肯定結輪部のデータYpを次のルールへのポインタとして
使用し、不成立のときはそのルールの否定結論部のデー
タNpを次のルールへのポインタとして使用する。ただ
し、データYp、Npが、負の値のときは、最終結論に達し
ているので、その絶対値(−Yp、−Np)を第2段階メロ
ディ音の種類の識別子として結論レジスタにセットす
る。フローに従うと、44−3の条件Lp>Fxpか44−5の
条件Fxp>Upが成立するとき、ルールPの前提部Lp≦Fxp
≦Upは不成立であるのでそのルールの否定結論部のデー
タNpをaに代入し(44−4、44−6)、それ以外の場合
は前提部成立なので、aにはルールPの肯定結論部のデ
ータYpが入る(44−2)。このaをPに代入し(44−
7)、Pが正値のときは、次のルールナンバーポインタ
として次のルールの検査に戻り、Pが負のときは、−P
を第2段階メロディ音の分類結果とする(44−8、44−
9)。 第2段階メロディ音の分類の一例として、先の関数F
の計算において、 F1=1:後方第1段階メロディ音は着目している第2段階
メロディ音より1つ後にある F2=−1:前方第1段階メロディ音は着目している第2段
階メロディ音の1つ前にある F3=1:前後の第1段階メロディ音間の音数は1つである F4=8:前後の第1段階メロディ音の音高差は8である F5=2:前後の第1段階メロディ音間にある第2段階メロ
ディ音は前後の第1段階メロディ音の音高の中間に分布
している F6=1:前方第1段階メロディ音から後方第1段階メロデ
ィ音までのメロディは音高が単調に変化している F7=1:後方第1段階メロディ音へは1の音高差で進行す
る F8=7:前方第1段階メロディ音からは7の音高差で進行
する が得られたとし、プロダクションルールデータとして第
14図に示すデータを使用して推論を行ってみる。 まず、P=1(ルート)のときは、その前提部 0≦F2≦0 は、F2=−1であるため不成立である。したがって、ル
ートの否定結論部N1=3が次に検査するルールのポイン
タとなる。 P=3において、ルール3の前提部 0≦F1≦0 は、F1=1であるので不成立である。したがって、N3
5が次のルールのポインタとなる。 P=5において、ルール5の前提部 0≦F4≦0 は、F4=8であるので成立しない。したがって、N5=6
がPとなる。 P=6において、ルール6の前提部 1≦F6≦1 は、F6=1であるので成立する。したがって、ルール6
の肯定結論部のデータY6=7が次にアクセスするルール
のポインタPとなる。 P=7において、ルール7の前提部 3≦F8≦∞ はF8=7であるので成立する。ここでY7=−2(負)で
ある。したがって、結論=2(分類された第2段階メロ
ディ音の識別子)となる。 この例からもわかるように、任意の種類の第2段階メ
ロディ音は、有限個の命題が成立(前提部が成立しない
ということは、前提部を偽とする題が成立することに等
しい)するという音楽知識で識別可能である。この知識
を表現するために、関数Fが計算され、プロダクション
ルールが作成されている。すなわち、関数Fは、第2段
階メロディ音を分類するための知識において使用するメ
ロディのチェック項目の情報であり、プロダクションル
ールデータは、各第2段階メロディ音の分類結果に至る
までのルールの列をポインタで連結したものである。 <複音進行評価> 本実施例の装置は、作曲のために複音進行を最大限活
用することを1つの特徴としている。すなわち、第2図
の作曲ゼネラルフローの4−7に示す複音進行評価にお
いて、与えられた複音進行を手がかりとして曲の階層構
造、調性構造を求めている。階層構造は曲の一貫性と多
様性に係っており、後述するメロディ生成において第1
段階メロディの音型の生成制御に利用される。一方、調
性構造は、曲の進行に伴う調性(キー)の変化を表わし
ており、後述するメロディ生成において各区間で使用す
るスケールのキーを選択するのに利用される。 以下、第39図〜第41図を参照して階層構造の抽出の詳
細を述べる。 第39図に示すフローは、楽節等の長さをもつブロック
を単位として、ブロック相互の複音進行の類似度を算出
するフローである。 まず、曲の長さSUMを複音進行情報の各複音の長さCRi
を累算することで求め(45−1)、barno(小節数)で
示されるブロックの長さを基本音調の表現に変換してブ
ロック長をlとし(45−2)、曲長SUMをブロック長l
で割って曲に含まれるブロックの数mを計算する(45−
3)。比較するブロックの基準番号のためのカウンタi
を“0"に初期化する(45−4)。 45−8〜45−18において、i番目のブロックとj番目
のブロック(j≧i)との複音進行の類似度Vijを算出
している。類似度の関数として、 を使用している。ここにlはブロックの長さであり、Vs
は、基準音長ごとにi番目のブロックの複音とj番目の
ブロックの複音とを比較したときに得られる複音の一致
数を表わす。この類似度関数Vijは0から100までの値を
とり、100のとき、2つのブロックの複音進行は完全に
(100%)一致し、0のときは完全に不一致である。 i番目のブロック対j番目のブロックの類似度の計算
はj=iの位置から開始され(45−6)、類似度が得ら
れるごとに、j=j+1により次のブロックとの類似度
の計算に移り(45−20、45−7)最終ブロックになるま
で行ったら(45−19)、i=i+1により、i番目のブ
ロックをシフトし(45−22、45−5)、iが最終ブロッ
クになるまで処理を繰り返す。 この結果、i番目のブロックに対するj番目のブロッ
クの複音の類似度Vijとして、が得られる。なおVij=Vji、すなわち、i番目のブロッ
クに対するj番目のブロック複音進行類似度と、j番目
のブロックに対するi番目のブロックの複音進行類似度
は等しい。またVii=100である。 第39図のブロック間の複音進行一致度の算出結果{Vi
j}は、第40図の階層構造データ生成において使用され
る。 第40図において、cは階層構造の計算のためのカウン
タであり、Hjにj番目のブロックの階層構造識別子がセ
ットされる。Hjは値として、0、1、2……の整数値を
とる。これは通常の表現におけるa、a′b、b′……
に対応している(第6図のHIEi参照)。第40図のフロー
では、ある基準のブロックに対し、100%複音進行が一
致するブロックには基準ブロックの階層構造識別子と同
じ値(偶数値)の階層構造識別子が付き(46−10、46−
11)、70〜100%の範囲で一致するブロックは、基準ブ
ロックの複音進行を修飾した複音信号をもつブロックと
して、基準ブロックの階層構造識別子に1を加えた値の
階層構造識別子が付けられる(46−12、46−13)。ま
た、70%未満の類似度しかもたないブロックは、基準ブ
ロックとは独立の階層構造をもつブロックとして扱われ
る。最初の基準ブロックとして、曲の最初のブロックを
選んでおり(46−2)、この基準ブロックと100%ある
いは70〜100%で一致するブロックに対してはそれぞ
れ、Hj=0、Hj=1の評価値が付き、評価完了を示すた
め、これらのブロックのフラグfljは“1"にセットされ
る。この最初の評価ループ(46−2〜46−15)で評価が
確定しなかった曲のブロックのうち、一番若いブロック
が次の評価ループにおける基準ブロックとなり(46−
3、46−4、46−6)、この基準ブロックの階層構造識
別子は2となる。以下、同様に処理がくり返される。結
果として、曲のすべてのブロックに階層構造識別子Hjが
付くことになる。 第41図の処理は、第40図で求めたブロック単位の階層
構造を小節単位の階層構造データに変換する処理であ
る。すなわち、第41図のHIEaにはa番目の小節に対する
階層構造識別子がセットされる。 次に第42図と第43図を参照して、複音進行から調性構
造を抽出して、各区間の音階の調を設定する処理につい
て説明する。 処理の基礎になっている考え方は次の通りである。 (A)調性は曲の進行において頻繁に変化するより同じ
調性を保つ傾向にある。 (B)複音の構成音がそれまでの調の音調音以外の音を
含むときには転調すべきである。 (C)転調する場合には、F属調、属調等の近親調に変
化するのが望ましい。 (D)複音の構成音が合計12種類あるいずれの調に対し
ても、音階音以外の音を含むときには、複音の構成音と
音階音との一致度が最大になる調を使用する。 第42図において、48−1のSCには、初期設定された音
階データ(基準の調、例えばCを主音とする音階デー
タ)がセットされる。このSCは現区間の調を判定する場
合に、直前の区間の音階データとして使用される。48−
2で複音のカウンタiを初期化し、48−3で音階データ
を転回した回数を示すカウンタcを初期化し、48−4
で、基準の調に対し、属調側に転調(完全5度上に転
回)していくための初期値としてSCをaに代入し、基準
の調に対し、下属調側に転調していくための初期化とし
てSCをbに代入する。 48−5で、i番目の複音が、音階aの部分集合かどう
かをチェックする。例えば、複音データCCと音階データ
aとの論理積をとったものが複音データCCと一致すれ
ば、複音CCは音階aの部分集合である。この条件が成立
するときは、aをSCに代入するとともに、現区間の音階
データSCALEiとしてaを使用する(48−13)。同様に、
48−6ではi番目の複音が音階bの部分集合かどうかを
チェックし、成立すれば、48−7でbをSCとSCALEiに代
入する。いずれの条件も不成立のときには、aを完全5
度上に転回し(48−7)、bを完全5度下に転回し(48
−8)、転回カウンタcをインクリメントして(48−
9)、調の判定をくり返す。調は全部で12種類あるの
で、48−5から48−10のループは6回くり返せばよい。
すなわち、48−10でc>6が成立するのは、現区間の複
音がいずれの調の音階にも含まれない音を含む場合であ
る。 この場合には、48−11の処理、すなわち第43図に示す
処理が実行される。この処理では、12の調の音階のなか
で、音階音と複音の構成音との一致度が最大になる調の
音階を求めている。すなわち、j=1〜12の各調につい
て、jはキーとする音階(スケール)と複音の構成音と
の一致度Vを算出し(49−3)、最大の一致度をmaxに
置き、最大の一致度を与えた調jをPとして求めている
(49−6)。最後に、直前の区間の音階データSCをP回
転回した音階データを現区間の音階データSCALEiとして
採用し、この音階データを次の区間の調判定のためにSC
にセットしている(49−9)。 現区間の調が決定されたときは(48−13、48−14、48
−11により)、複音のカウンタiをインクリメントし
(48−12)、すべての複音進行データの終了(48−15)
まで、調判定処理をくり返す。 例えば、音階の種類としてダイアトニックスケール
(ドレミファソラシド)が選択されているとし、前区間
の調がCで、現区間の複数がD、Fであるとしてみる。
この場合、SCには(C、D、E、F、G、A、B)を表
わすデータが入っている。したがって、第42図におい
て、48−3、48−4の処理の後、48−5で、複音が音階
a(これはSCと同じ)の部分集合であることが確認さ
れ、48−13で現区間の音階として、前区間と同じ調Cの
ダイアトニックスケールが採用される。この例からわか
るように、現区間の複音の構成音がいずれも前区間の調
の音階上にあるときは、現区間の調は前区間と同じ調に
維持される。 現区間の複音として上記D、Fの代りに、D、F#が
使用されるときには、48−3、4後の48−5ではaがキ
ーCのダイアトニックスケールのため、複音はaの部分
集合とならず、このaを48−7で5度上に転回して、G
のダイアトニックスケールを得た後で、48−5のチェッ
クを行ったときに複音がaの部分集合となる。そして、
Gのダイアトニックスケールが現区間の音階となる。こ
の例からわかるように、現区間の複音の構成音のなか
に、前区間の調の音階にない音が含まれるときは、前区
間の調を基準とみて、この基準の調から近親調への転調
をくり返した場合に(例えば、C→G→D→A……)、
複音の構成音をすべて含む音階となる最初の調が現区間
の調として採用される。 後述するように、各区間の音階データSCALEiは対応す
る区間で使用するメロディの音高組織を定める。すなわ
ち、各生成区間のメロディ音は音階データSCALEiの定め
る音階音のなかから選択される。 <メロディ生成> 本実施例の装置は、外部から作曲の基礎となるデータ
が与えられ、その基礎データを内部で分析、評価した
後、メロディの生成の作業に移る。 作曲ゼネラルフロー(第2図)の4−8に示すメロデ
ィ生成の概略フローを第44図に例示する。第44図におい
て、HIEiは先の複音進行評価で抽出した複音区間毎の階
層構造データであり、53−2〜53−4に示すように、こ
の階層構造データHIEiは第1段階メロディの音型(LL)
の生成制御に利用される。この制御の詳細については後
述する。さらに階調構造データは53−5、53−6に示す
ように音型(LL)の音域を制御するのにも利用できる。 第1段階メロディの音型はメロディの音列の基本的な
骨格を形成し、第1段階メロディの音域はメロディの音
域を基本的に規制する。本実施例ではその制御に複音進
行から得た階層構造を利用しており、これも実施例の特
徴の1つとなっている。もっとも、第1段階メロディの
音型の制御要因を複音進行から抽出した階層構造の情報
にのみ限定する必要はなく、例えば、階層構造と乱数の
それぞれに重みを付け、両データの荷重和で第1段階メ
ロディの音型を制御するようにし、重みを使用者が指定
できるようにしてもよい。要するに、使用者の作曲上の
意図が音型の生成に反映されるように変形することがで
きる。 第1段階メロディの音型(LL)は複音進行データCCi
を用いることで音高表現の形式、すなわちメロディデー
タ形式(第1段階メロディ)に変換される(53−7)。
そしてこの第1段階メロディに対し、第2段階メロディ
音がプロダクションルールに従って付加される(53−
8)。この第2段階メロディ音の付加で使用するプロダ
クションルールはモチーフに含まれる第2段階メロディ
音を分類するのに用いたものと同一であり、したがっ
て、メロディの分析と合成に関して可逆性が成り立つ。 第1段階メロディに第2段階メロディを付加すること
により、メロディの音高列は完成する。メロディの音高
列り完成後は、メロディの音長列(リズムパターン)の
生成である(53−9)。ここでは、所定の音符数から成
る基本リズムパターン(エッセンス生成4−4またはエ
ッセンス抽出4−6において決定した音長列)が、初期
設定4−1において選択されたパルススケールにより変
形され、メロディの音高列と等しい音符数の音長列に変
換される。 第1段階メロディの生成、第2段階メロディの付加、
音長データの生成は、第44図のフローの場合、複音区間
毎に実行される。このため、53−10ではある区間で生成
したメロディデータを連続領域に移動している。 第45図は第1段階メロディの音型の生成、セーブ、ロ
ードの詳細なフローチャートである(第44図の53−2、
53−3、53−4の詳細)。本例では、階層構造HIEiによ
る音型LLの制御を次のようにして行っている。まず、着
目している楽節が、過去の楽節と構造上異なる区間であ
るかどうかを着目している楽節の階層構造データを過去
の階層構造データと比較することにより判別する。異な
る構造をもつ区間と認めた楽節に対してのみ、新たに音
型LLを生成する。この生成、上述した音型の特徴パラメ
ータPCに基づいて行われる。同様の構造をもつ区間と認
めた楽節については、新たに音型LLは生成しない。代り
に、過去において生成した音型のうち、着目している区
間と同様の構造をもつ区間において生成した音型を使用
する。 例えば、いま、4つの楽節から成る曲を想定し、これ
ら4つの楽節の構造がそれぞれa、b、c、aであると
してみる。最初の楽節の構造aは過去にみられない構造
であるので音型の特徴パラメータに従って音型が生成さ
れる。同様にして第2楽節、第3楽節も過去にない新し
い構造b、cをもっているので、独立に音型が生成され
る。しかし、最終楽節は曲の最初の楽節と同じ構造aで
ある。したがって、最終楽節の音型としては、最初の楽
節に対して生成した音型をそのまま使用する。 新しい構造をもつ楽節に対して音型を新たに生成する
ということは、この新しい構造の楽節から別のモチーフ
が発生することを意味する。いま、楽節の最初の小節に
対して生成した音型をその楽節の後続する小節に対して
くり返し使用したとすると1小節の長さのモチーフが意
識されよう。一般にモチーフの長さは1〜数小節であ
り、曲の途中でモチーフの長さが変化することも多い。
第45図の例ではこのことを考慮して、新しい構造の楽節
が検知されたときに、その楽節におけるモチーフの長さ
として1または2小節を使用することができる。2小節
のモチーフが選択されたときは、楽節の最初の小節と2
番目の小節で独立に音型が生成され、後続する奇数番目
の小節は最初の小節の音型を使用し、後続する偶数番目
の小節は2番目の小節の音型を使用する。 過去の区間における階層構造データへの参照、過去の
区間における音型のくり返しのために音型(LL)データ
バッファが用意される。音型データバッファの例を第46
図に示す。 第45図に従って説明すると、54−1で楽節(第39図に
示すbarno毎の区間)内の小節カウンタを“1"にセット
する。54−2では現小節の階層構造データHIEiを直前の
小節の階層構造データHIEi−1と比較することにより、
楽節の開始か否かをチェックする。例えば、|HIEi−HIE
i−1|≧2が成立するときが楽節の開始である。楽節の
開始と判別されたときは楽節内の小節カウンタを“1"に
リセットする(54−3)。続いて音型データバッファを
サーチして、現楽節が音型を新たに生成すべき楽節かど
うかを調べる(54−4)。音型データバッファのサーチ
は次のようにして行われる。まず、音型データバッファ
のアドレス0にあるデータ(既に何組の音型が生成され
ているかを示すデータ)を読み、後続するアドレス1か
らNまで示されるデータをアドレスとするところのデー
タ(各音型のヘッダ情報)を順次、読み、その上位8ビ
ットに示される階層構造データを現小節の階層構造デー
タHIEiと比較する。音型データバッファ内に現小節の階
層構造データHIEiと同様な階層構造データ(例えば、HI
Eiと同じ値または(HIEi−1)の値をもつデータ)がな
いとき、現小節は音型を新たに生成すべき楽節の最初の
小節である。同様の階層構造データをもつヘッダが見つ
かったときは、後続する音型のデータを現小節の音型と
してロードする。新しい楽節の場合は、まずモチーフを
何小節の構成にするかを決定する(54−5)。この決定
は例えば乱数発生で実現できる。2小節モチーフとなっ
たときは、フラグflを“1"にセットして(54−7、54−
8)、次の小節(楽節の2番目の小節)に対しても音型
が新たに生成されるようにする。そして、音型を生成し
(第47図参照)、音型データバッファにセーブする(54
−9)。詳細には、HIEi×0100+小節カウンタの値×00
10+モチーフの小節数によりヘッダを作成し、音型デー
タバッファのアドレス0における音型の組の数Nをイン
クリメントし、アドレスNにヘッダのアドレスを書き込
み、そのアドレスから、ヘッダ、LLNO(生成した音型の
長さ)、LL1、LL2……LLLLNO(生成した音型のデータ)
を書き込む。その後、その他のメロディ生成の処理を行
い(54−10)、小節カウンタをインクリメントする(54
−11)。 54−2において楽節が変っていないことが認められた
ときは、フラグflをチェックする(54−13)。fl=1の
ときは、現小節は2小節のモチーフを生成する楽節の2
番目の小節であるので音型を再び生成し音型データバッ
ファにロードし(54−15)、フラグflを“0"にリセット
する(54−16)。fl=0のときは、現小節の階層構造デ
ータHIEiに対応するヘッダをバッファからサーチし、そ
のヘッダの示すモチーフの長さの情報が1小節のとき
は、そのヘッダに後続する音型データをロードし、モチ
ーフの長さが2小節のときは小節カウンタの2の剰余と
ヘッダの小節番号を比較し、一致すればそのヘッダに後
続する音型データを現小節の音型としてロードする。 第45図の54−9、54−15で実行される第1段階メロデ
ィの音型の生成の詳細を第47図に示す。56−1のcknoは
複音の構成音の数を表わす。複音構成音数は、複音デー
タCCiの16ビットのうちで“1"である数をカウントする
ことで得られる。第47図の例では、PC1〜PC5を生成する
音型の制御パラメータとしている。r1は1〜cknoの範囲
の乱数値をとり、複音構成音番号を意味する(56−
4)。r2はPC3(音型の最低音)〜PC2(音型の最高音)
のオクターブ複音の乱数値をとり、生成するLLのオクタ
ーブ番号を表わす(56−6)。a=r1+r2×0100により
生成するLLの候補を計算し(56−7)、この候補aが、
PCの条件を満足するとき、候補aはLLとして採用される
(56−8、56−12、56−14)。ただし、PCの値によって
は、先行するLL(例えば一番目のLL1)が決定された
後、後続するLL2の候補は永久にPCの条件を満たさなく
可能性がある。例えば、PC2=501(音型の最高音は第5
オクターブの第1複音構成音)、PC3=401(音型の最低
音は第4オクターブの第1複音構成音)、PC4=3(隣
り合うLLの差の最大値は複音構成音3つ分)、PC5=3
(隣り合うLLの差の最小値は複音構成音3つ分)のとき
にLL1として、LL1=403(最初のLLは第4オクターブの
第1複音構成音)が得られたとするとPC4、PC5の条件に
合わせるには、LL2=503または303(構成音数3のと
き)となり、これはPC2、PC3の条件に合わない。このた
めの予防としてループカウンタLOOPCを用意し、ループ
カウンタLOOPCがある値(例えば100)以上になったら強
制的に候補aをLLとして採用している(56−9、56−1
0、56−11)。 第48図は第47図のチェック56−8の詳細である。LLi
の候補aがPCの条件を満足するには、 (イ)a≦PC2(最高音以下であること) (ロ)a≦PC3(最高音以上であること) (ハ)|a−LLi−1|≦PC4(直前のLLとの差が最大値PC4
以下であること) (ニ)|a−LLi−1|≧PC5(直前のLLとの差が最小値PC5
以上であること) が成立しなければならない。第48図のフローではこれら
の条件が成立しないとき、フラグOKを“0"にセットして
いる(図中のoldaは直前のLLを表わす。56−13参照)。 第49図は第44図の53−7の詳細である。目的は、(オ
クターブ番号+複音構成音番号)で示される第1段階メ
ロディの音型LLの形式を、複音データccを使って(オク
ターブ番号+音名番号)で示されるメロディ音高データ
の形式に変換して、MEDiに格納することである。58−
5、58−6の処理は、LLiの複音構成音番号(LLi∧00f
f)が現区間の複音の複音の構成音数(CKNO)より大き
いときに、LLiの複音構成音番号を現区間の複音構成音
のうちで一番高い複音構成音番号に変更する処理であ
る。図中、cは複音の構成音のカウンタ、LLi∧ff00はL
Liのオクターブ番号、jは音名のカウンタである。 第50図と第51図は第44図の53−8における第2段階メ
ロディ音の付与の詳細である。この処理の目的は第1段
階メロディに所望の第2段階メロディ音を付与してメロ
ディの音高列を完成することである。第2段階メロディ
音の付加のために、上述した第2段階メロディの特徴
{RSi}、複音進行評価で得た調性をもつ音階データ{S
CALEi}、第2段階メロディ音を分類する知識を表現す
るプロダクションルールが利用される。付加される第2
段階メロディ音は次の条件を満足しなければならない。 (イ)所定の音域内の音であること (ロ)複音進行評価で得た音階データが示す音階音であ
ること (ハ)複音の構成音でないこと (ニ)プロダクションルールで得た結論と計画された第
2段階メロディ音識別子RSiとが一致すること 第50図において、59−4〜59−18の外側のループは計
画された第2段階メロディ音識別子RSiの数だけ繰り返
すループであり、59−5〜59−16のループは第1段階メ
ロディの音符の数だけ繰り返す。59−8〜59−14では、
第2段階メロディ音の候補として、下限loから上限upま
での音域内にある各音高データkが順次検査される(第
52図参照)。音高データkが音階音であって複音外音で
あるときは(59−8、59−9)、関数Fを計算して(59
−10)、プロダクションルールによる前向推論を実行し
(59−11)、その結論が計画された第2段階メロディ音
識別子RSiと一致するかどうかチェックする(59−1
1)。一致するとき、音高データkは上述した第2段階
メロディ音としての条件をすべて満足している。したが
って、付加される第2段階メロディ音数を計数するカウ
ンタnctctをインクリメントし、見つけ出された第2段
階メロディ音の音高データkをVMnctctに入れ、第2段
階メロディ音の付加位置jをPOSTnctctにセットし、関
連するフラグfljを“1"にセットする(59−19〜59−2
2)。本例では、第1段階メロディ音間に高々1つの第
2段階メロディ音が付加されるようにしており、flj
0は、第1段階メロディ音MEDjとMEDj+1の間に第2段階
メロディ音がまだ付加されていないことを示す。 59−12における結論=RSiの条件が不成立のときは、
着目している音高データkは第2段階メロディ音として
の条件を満たさないので、音高データkをインクリメン
トして(59−13)、処理を繰り返す。59−14においてk
>UPが成立するときは、第1段階メロディ音MEDjとMED
j+1の間に第2段階メロディ音が付加されなかったこと
を意味する。したがってjをインクリメントして(59−
15)、次の第1段階メロディ音間に第2段階メロディ音
が付加できるかどうかの検査に進む。 59−6における候補音の設定の詳細は第53図に示され
る。この例では、前後の第1段階メロディ音MEDi、MED
i+1の高い方の音より5半音上から低い方の音より5半
音下までをサーチする音高の範囲としている(62−5〜
62−7)。ただし、i=0のとき、すなわち、着目して
いる区間の最初の第1段階メロディ音の手前に第2段階
メロディ音を付加しようとするときには、最初の第1段
階メロディ音の5半音上〜5半音下までを音高範囲とし
(62−1、2)、i=Vmednoのとき、すなわち着目して
いる区間の最後の第1段階メロディ音の後に第2段階メ
ロディ音を付加しようとするときには、最後の第1段階
メロディ音の5半音上〜5半音下までを音高範囲として
いる(62−3、4)。 59−10におけるFの計算の詳細を第54図に示す。本例
では、第2段階メロディ音は前後の第1段階メロディ間
に1つだけ付加する構成であるので、いくつかの関数
(図中、F1〜F3)については所定の値にセットしてい
る。 59−11の前向推論の詳細は上述した第38図に示され
る。 第50図の処理が完了したとき、nctctには付加された
第2段階メロディ音の総数が記憶され、配列{Vi}のi
番目には、第59図の処理においてi番目に付加された第
2段階メロディ音の音高データが記憶され、配列{POST
i}のi番目には第59図の処理においてi番目に付加さ
れた第2段階メロディ音の位置情報が記憶されている。 これらのデータは、第51図の処理によって、メロディ
の音高列{VMEDi}の形式に変換される。なお配列{VME
Di}は、アルペジオ{MEDi}に初期設定されている。60
−2〜60−9は付加位置の順番に、配列{POSTi}、{V
Mi}をソートする処理である。60−10〜60−19におい
て、位置データPOSTiで示される位置に第2段階メロデ
ィ音の音高データVMiを挿入している。 なお、本例では第1段階メロディ音の間に第2段階メ
ロディ音を1つだけ付加可能にしているが、複数の第2
段階メロディ音が付加できるように処理を変更してもよ
い。 ここまでで、メロディの音高列は完成する。残る処理
はメロディの音長列の生成である。 第55図にメロディの音長列の生成のフローを示す(53
−9の詳細)。まず、エッセンス生成または抽出で得た
基準のリズムパターンの音符数を、着目している区間で
発生した音符数Vmedno(メロディの音高列のデータ数)
とを比較して、両者の差aを算出する(66−1)。生成
音符数の方が基準リズムパターンの音符数より少ないと
き(a>0のとき)は、パルススケールによる音符の最
適結合を、差の数だけ繰り返し実行する(66−2〜66−
6)。生成音符数の方が基準リズムパターンの音符数よ
り多いとき(a>0のとき)は、音符の最適分割を差の
分だけ繰り返し実行する(66−7〜66−11)。本例では
リズムパターンのデータ形式として、16ビット長のデー
タを使用し、各ビット位置を各タイミングに割り当て、
“1"の値をもつビット位置で音が発生することを表わし
ているので、最後にMERデータ形式に変換する(66−1
2)。 結合処理の詳細は第56図に示す。図中、PSCALEjは使
用するパルススケールのj番目の成分スケールを表わ
し、RRは処理対象のリズムパターンである。RRのビット
が“1"のなかで、パルススケールの重みが最小のポイン
トを“0"にすることで音符を結合する。例えば、基準リ
ズムパターンが であるときに、ノーマルノパルススケール(第7図参
照)を使って、音符を1つ結合した場合、結果は、 となる。 これは、次のようにして得られる。 まず、RRは、当初 0001 0001 0101 0001 である。一方、ノーマルのパルススケールは 1213 1214 1213 1215 である。RRのビット“1"のうちでノーマルのパルススケ
ールが最小の重みをもつポイントは、右端から7番目の
位置である。この位置のビットが“0"になる。したがっ
て、結果のRRは、 0001 0001 0001 0001 となり、これは、 を表わしている。 分割処理の詳細は第57図に示す。分割は、RRのビット
が“0"のなかでパルススケールの重みが最大のポイント
を“1"とすることで実行される。例えば、リズムパター
に対し、ノーマルのパルススケールで音符を分割したと
き、結果は、 となる。 MERデータ形式への変換66−12の詳細は第58図に示
す。図中、c1は音符のカウンタであり、c2は各音符の音
長を計測するカウンタである。この例で、MERoにはRRか
ら最初の“1"が現われるまで長さが入るので、区間の境
界線(小節線)をまたぐ音符も処理可能である(シンコ
ペーション対策)。 データ移動53−10の詳細を第59図に示す。まず、MERo
(現在の生成区間の頭の空白部分)を生成済の最後の音
符の音長データMELRmeldnoに加える。ここにmeldnoは既
に生成されている音符の数を表わす。今回生成した音高
列VMED1〜VMEDvmednoをMELDに移動し、今回生成した音
長列MER1〜MERvmednoをMELRに移動する(70−2〜70−
6)。meldnoを更新して終了する(70−7)。 <作曲機のまとめ> 以上の説明から明らかなように、自動作曲機としての
本装置は種々の特徴を備えており、そのいくつかを下記
に示す。 (A)メロディの骨格を形成する第1段階メロディの音
高の集合を規定するために複音(一次構成音)の進行情
報が入力される。 (B)メロディの音高列は、第1段階のメロディ生成
後、第2段階のメロディを付加するという2段階処理で
生成される。 (C)メロディの分析と合成において音楽知識を使って
推論を行うプロダクションシステムが組み込まれてい
る。 (D)メロディに含まれる第2段階メロディ音を分類す
る処理と、第1段階メロディに第2段階メロディを付加
する処理とが同一の音楽知識を表現するプロダクション
ルールデータに基づいて行われるため、両方の処理に可
逆性がある。 (E)作曲の材料として与えられる複音進行を分析し
て、曲の階層構造、調性構造を抽出することにより、曲
が計画される。 (F)抽出した調性構造は各区間で使用される音階のキ
ーを規定する。この結果、調性上コントロールされた曲
が保証される。 (G)抽出した階層構造は第1段階メロディの音型の生
成制御に利用される。これにより、生成される曲に多様
性と一貫性を盛り込むことができる。 なお、上述した実施例は単なる例示であり、種々の変
形、変更、改良が可能である。例えば、上述した実施例
ではモチーフから抽出した音型の特徴PCを、音型LLの生
成において制御データとして使用しているが、音型の特
徴PCを曲の進行に伴って変化させてもよい。これは、例
えば、曲の進行位置や階層構造を変数とする関数の演算
手段で実現できる。 同様に、第2段階メロディの特徴{RSi}に関して
も、曲の進行に伴って変化させることができる。例え
ば、モチーフから抽出した第2段階メロディの特徴のな
かの1つの第2段階メロディ音識別子を他の第2段階メ
ロディ音識別子に置換する。これは、第2段階メロディ
音の識別子のセットのなかから、乱数的に1つを選択す
ることで実現できる。 また、リズムに関し、上記実施例ではパルススケール
による音符の結合、分割により、リズムの制御を行って
いるが、モチーフに含まれる支配的なミニリズムパター
ンを抽出し、これを生成するメロディの音長列のなかに
組み込むようにしてもよい。 [発明の効果] 以上のように、本発明の自動作業機は、作曲の基礎デ
ータとして、モチーフと、生成するメロディラインに含
まれることになる第1段階のメロディの音として使用さ
れる音高の種類(一次構成音)の進行情報とを入力手段
から入力し、特徴パラメータ生成手段にて、モチーフと
一次構成音の進行の所定部分であってモチーフの時間長
に相当する部分とを比較し、モチーフ内に当該部分の一
次構成音がどのように分布しているかを示す第1の特徴
パラメータと、モチーフ内に当該部分の一次構成音以外
の音がどのように分布しているかを示す第2の特徴パラ
メータを生成し、第1段階メロディ生成手段にて、第1
の特徴パラメータを乱数によって変更し、これと各音楽
区間の一次構成音とに基づいて一次構成音のみから成る
第1段階のメロディを生成し、メロディ生成手段にて、
上記第2の特徴パラメータに基づき上記第1段階のメロ
ディに一次構成音以外の音を付加し、これをメロディ
(第2段階のメロディ)として出力生成している。した
がって、第1段階のメロディにより、最終的なメロディ
の骨組が形成され、第2段階のメロディはこの骨組を装
飾し、つなぎ、補助するように働く。 本自動作曲機は、与えられたモチーフを一次構成音進
行の角度から解釈して、メロディを生成しており、一次
構成音進行としてどのような進行が与えられるかによっ
て、異なる曲の計画を行なうことができる。したがっ
て、和声的な曲から、和声的でない曲まで幅広く作曲が
可能である。また、使用の上からは、コード進行を入力
する必要がないので、使用者は和声に関する知識を必要
としない。
DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention]   The present invention relates to an automatic composer. [Background]   The sound that makes up the melody line of normal music is a harmony
And non-harmonic sounds. Focusing on this point,
The present applicant filed a Japanese Patent Application No. 62-86571 (April 8, 1987)
Application), given a motif
The characteristic parameters of the dispersed chord included in the motif
Extract the characteristic parameters of the harmony and follow the extraction result.
In each melody generation section,
To generate a dispersive chord, and then add a non-chord
To apply for an automatic composer that completes the melody sequence
I have.   Therefore, this automatic composer can play harmony-friendly songs.
It is possible to compose. On the other hand, each melody generation section
The code for
Must be selected from the list. This means
This will add harmony restrictions to the generated melody.
You. Also, in order for the user to enter the chord progression,
Requires knowledge of harmony as background. [Object of the invention]   The present invention has been made in view of the above background, and has been developed.
The goal is to range from harmonious to non-harmonic
It is possible to compose music widely and to use special music knowledge
It is to provide an automatic composer that is unnecessary. [Structure and operation of the invention]   According to the present invention, the mochi
Motif input means for inputting music and one for each music section
Or the primary constituent sound consisting of multiple note names
Primary structure given as the primary component sound progression over the music section
Means for giving a sound progression, the motif and the primary constituent onset
A predetermined part of the line, corresponding to the time length of the motif
Motif and the primary constituent sound
The first characteristic parameter that shows how is distributed
Sound in the motif other than the primary constituent sound
And a second feature parameter indicating whether the distribution is
Characteristic parameter generating means for generating the first characteristic;
Change the parameters by random numbers,
A first stage consisting of only primary constituent sounds based on the primary constituent sounds
First stage melody generating means for generating a melody of the floor;
The melody of the first stage according to the second feature parameter
A sound other than the primary constituent sound is added to the
Melody generating means for outputting the melody
Is provided.   This automatic composer performs melody generation in two stages.
The melody of the first stage is the final melody
The melody of the second stage is equipped with this skeleton.
It works as a decoration or a connection. This double melody
Line, what sound to choose as the primary constituent sound
Change, and in some cases, traditional songs
In some cases, new and experimental songs are formed. [Example]   Hereinafter, examples of the present invention will be described. Composer Mo
In this mode, the automatic composition device converts the sound to the first stage melody sound.
And the second stage melody sound
Has adopted. The first stage of the composition
The primary constituent sound that determines the pitch organization of the scale melody sound (hereinafter
Progress information on motifs (called sounds)
Melody), the rhythm or length sequence of the melody to be generated
Scale and basic scale type used to control the sound
Is given. Each sound included in the motif is divided into sections.
By using the applied double tone information, the first stage melody sound
The second stage melody sound is identified. Second from motif
The part excluding the step melody sound is the first step melody of the motif.
This is the sound sequence of the D sound. From this sequence, the first stage melody
Are extracted. Also, the first stage melody sound
And the motif that distinguishes it from the second stage melody sound
On the other hand, the music knowledge (classification
Is stored in the production rule data memory described later.
Is included in the motif by using
Can extract the type (characteristic) of each second stage melody sound
You. That is, what kind of second stage is in the motif
Information indicating how the melody sounds are distributed (No.
Characteristic of a two-step melody). More double notes
Extract the hierarchical structure and tonality structure of the music.   Melody generation consists of the first stage melody generation process,
It consists of a two-step melody addition process and a tone sequence generation process.
You. In the process of generating the first melody,
According to the hierarchical structure extracted from the above, the first stage melody
The generation of the sound pattern is controlled. New first stage due to hierarchical structure
When the generation of the sound pattern of the floor melody is instructed, the first stage
Features of Lodi's sound pattern (first stage extracted from motif
From the characteristics of the Rody's sound pattern or its modifications)
One-step melody sound pattern is generated and the generated first step
By applying double tone information corresponding to the melody type
A first stage melody represented by a pitch sequence is generated.
The first stage melody generated in this way
A two-step melody is added. Add second stage melody
To do so, the music knowledge described above is used again. Second stage
In the inference of melody sound addition, the sound that can be added is the second stage
It must satisfy the characteristics of the scale melody, and
There is a condition. The scale note here is a double
Tonic of the basic scale according to the tonality structure extracted from the line
(Key, tonality) is the sound on the scale that is inverted. Second stage
Classification of melody sounds and addition of second stage melody sounds and smell
Because common music knowledge is used for inference,
"Reversibility" between melody analysis and synthesis
Given. Complete reversibility is the analysis of a melody
As a result, a certain analysis result was obtained.
To generate a melody,
Is consistent with the original melody. First stage melody
Melody by adding a second stage melody
Is completed. On the other hand, the melody pitch sequence
It is obtained as follows. That is, the basic rhythm
(Length sequence) is set to the target number of notes (for example,
Total number), use a pulse scale to optimize
Or optimal split. And where the note is split or
Is connected to each pulse of the selected pulse scale
It depends on the weight of the point. Therefore a consistent rhythm
Control is possible. <Overall configuration>   FIG. 1 shows an overall configuration diagram of the automatic music composer according to the present embodiment.
You. CPU1 is used to implement the automatic music function in this device.
Control device. From the input device 2, a motif (melody)
Di), compound sound progression, type of pulse scale used, usage
The type of scale to be used is input. Motif memory 3
Stores the input motif. Polyphonic memory
Reference numeral 4 denotes a memory for storing information on the progression of multiple sounds.
The information is extracted the first stage melody when analyzing the polyphonic progression.
Used by CPU 1 when issuing or generating. sound
The scale data memory 5 is a scale representing various kinds of scales.
This is a memory for storing data.
Sets a specific scale as a scale to be used in a song.
It can be selected from a scale set. Product
2nd stage melody sound
Music knowledge for classifying is stored. This music knowledge
Is a place to classify the second stage melody sounds included in the motif
If the second stage melody is added to the generated first stage melody
Used when adding. The pulse scale memory 7
Remembers the pulse scale (set of pulse scales)
This is a memory that allows the user to place the song at the beginning of composition.
Considering the characteristics of the rhythm,
You can select the desired pulse scale from
Wear. The selected pulse scale is the melody rhythm
(Length sequence). Melody data memory
8 stores the completed melody data. External memory
The melody data stored in the melody data memory 8
Transcripts, different musical knowledge, different composition program resources and
To be used. Work memory 10 is used while CPU 1 is operating.
Various data to be used, such as tonal structure, hierarchical structure, various
Variables and the like are stored. Monitor 11 is CRT12, staff notation
It consists of a linter 13, a tone generation circuit 14, and a sound system 15.
The results of composition and analysis are displayed through these devices.
Can be displayed and output. <Composition General Flow>   Overall flow of this device in the composer mode (composition general
Ralflow) is shown in FIG.   In the initial setting in 4-1
Then, basic information for composition is input. The user
As information to inform the automatic composer, (1) BEAT, (2)
Type of pulse scale (3) Scale (4) Fully automatic or mochi
Input is shown. BEAT is a note of the basic unit length (the shortest
Note) is the length of one measure expressed by the number of
This defines the time signature of the song. For example, 4 time system
For the song of BE, the basic unit length of the note is the 16th note BE
If AT = 16 is set, the length of one bar is 4 beats. 4-1
Select the pulse scale of the song composed by the automatic composer.
This is information that primarily controls the rhythm. Pulse scale
Is a combination of notes at each pulse point with the interval of the basic unit length.
Weight, which indicates the ease of dividing or dividing notes
This is the scale attached (see Figs. 7 and 12).
The melody duration by using the pulse scale
Columns are controlled. Therefore, the type of pulse scale
Choosing is the rhythm of the song that the automatic composer composes.
This is equivalent to selecting the feature of the program. Select with 4-1
Type of scale to be played (eg diatonic scale)
Is the scale used by the automatic composer in composing music. Sa
In the initial setting 4-1, the composition is performed automatically.
It is determined by the user whether to perform the operation based on the motif.
When fully automatic, (1) multiple data
Sound progression, (2) Production rules (3) Pulse schedule
Is read into the work memory 10 (4-3),
(1) Basic rhythm (length pattern), (2) First
Features of the step melody pattern (PCi: see Fig. 5),
(3) From the characteristics of the second stage melody (RSi: see Fig. 5)
Is generated according to the user's instructions (4
-4). On the other hand, in composition mode using motifs,
Motif other than the above data as data reading 4-5
(Input melody) is also read, as an essence
(1) Rhythm (2) First stage melody pattern (3) No.
Features of one-step melody pattern, (4) Second-step melody
The features of the motif are extracted from this motif (4-5).
In both automatic and motif use modes, double-tone
A row evaluation 4-7 is performed, where (1) hierarchical structure (2)
The tonality structure is extracted from the polyphonic progress information. This hierarchical structure
Expresses the coherence and diversity of the songs inherent in polyphonic progression
It is. In addition, the tonality structure indicates the sound used in each section.
It defines the key of the floor (fundamental tone). 4-7
Has completed the "analytical work" for composing
You. For example, the characteristics of the first stage melody pattern
The information required to generate the sound pattern of the step melody
The feature of the floor melody is the second melody added to the first stage melody.
It characterizes the step melody. Also tonal structure
Restricts the melody sound candidates in each section. Hierarchical structure
Determines whether to generate a new first-stage melody pattern
Can be used to decide. Also, the pulse scale
Used for generation. In melody generation 4-8, (1)
Generation of one-step melody (2) Addition of second-step melody
(3) Rhythm generation is performed. <Variable list, data format>   List of main variables used in the flow described later
The data format is shown in FIG. 4 to FIG. Data
The format is merely illustrative, and any other suitable data
Format is available.   Hereinafter, the composer mode of the present apparatus will be described in detail.
You. <Initial setting>   Initial setting 4- in the composition general flow (Fig. 2)
9 is illustrated in detail in FIG. Select with this initial setting
BEAT meaning, pulse scale type (PULS), scale type
(ISCALE) meaning, fully automatic or motif input meaning
Since it has been described with reference to FIG. 2, the description is omitted here. PULS
The values are stored in the pulse scale memory (Fig. 1).
Pointer to a certain type of pulse scale, ISCALE
Is a specific type of sound stored in the scale data memory 5.
Pointer to floor data. <Read data>   Initial setting as shown in the composition general flow of Fig. 2.
After that, data reading is executed in 4-3 or 4-5.
Is performed. In the case of fully automatic, the
Since the chief is not used, reading the motif data
Not done. The reading of each data is explained below.
You.   FIG. 10 shows the multiple sounds stored in the multiple sound progression memory 4 (FIG. 1).
An example of sound progress data is shown. Fig. 11 shows the note progression memory 4.
In the flowchart to load the remembered double tone progress data
is there. In the memory map shown in FIG.
The sound data (CCi) is placed at an even address and its double tone
Is located at the next address (odd address)
You. For example, a CCi with a value of 8A4 in hexadecimal notation is G, B,
CRi, which represents four sounds D and F, and has a value of 10,
The length is 16 times the basic time length (for example, 16th note)
Is represented.   In FIG. 11, the register CCi has the i-th
The double tone data that appears in the eyes is entered, and the length is entered in CRi.
You. CDNO contains the total number of multiple sounds. About other points
It is clear from the description in FIG. 11 that the description is omitted.
You.   FIG. 12 shows the data stored in the pulse scale memory 7 (FIG. 1).
An example of pulse scale data is shown below. Fig. 13 shows the pulse
Of the type selected in the initial setting from the scale memory 7
It is a flowchart which loads a loose scale. this
In the case of the example, the rhythm characteristics of the song to be composed by default
Select the pulse scale type (PUL
S) is a specific address in the pulse scale memory 7.
(For example, 0), and the address
Contains the start address of the pulse scale data
You. Configure a pulse scale for this start address
Sub-scale (scale with only 0 and 1 weights)
The number is stored, and the data of each subscale is stored in the subsequent address.
Is stored. For example, normal pulse scale
Is the five subscales FFFF, 5555, 1111, 0101, 0001
(Hexadecimal representation) and the corresponding binary representation is shown in Figure 7.
I have. For a normal pulse scale, the first pulse
The weight of the loose point (the rightmost position in FIG. 7) is 5 which is the maximum.
This means that the normal pulse scale
If you select this, the maximum of each section (measure) of the generated rhythm
This indicates that the note is most likely to exist in the first position.
You.   FIG. 14 shows the production rule data memory 6 (first
Figure) shows an example of production rule data stored in
doing. FIG. 15 shows the data stored in the memory 6.
It is a flowchart which reads. Production rules
Of the second stage melody sound included in the melody
It expresses musical knowledge to be similar to each product.
Action rule data is data that defines the prerequisites for the rules.
Function data indicating the lower limit data Li and the function type as data
Data Xi and upper limit data Ui.
Data Yi and Ni. Function is the shape of the melody to be analyzed
This is a numerical representation of the situation, an example of which is shown in Figure 29 below.
Is done. Whether the value Fxi of the function indicated by the data Xi is greater than or equal to Li
Is less than or equal to Ui (Li ≦ Fxi ≦ Ui).
Is a prerequisite (proposition) of the rule
The conclusions are shown in data Yi,
The conclusion when standing is shown by data Ni. And de
If the data Yi or Ni has a positive value,
Number of the next production rule to refer to
And when it has a negative value, the absolute value
The type of the step melody sound is expressed. Forward inference must be 1
Start with one rule, and refer to this rule as the root
Call. Before finding the negative conclusion Yi or Ni
Directional inference ends.   The address of the production rule data shown in FIG.
For quotas, the data for each production rule is
5 consecutive addresses starting from the address of data Li
Is stored. For details, Li is an address divisible by 5.
Xi at the address of remainder 1 divided by 5, and the address of remainder 2
Ui to the address, Yi to the surplus 3 address, and the address to the surplus 4
The data of Ni is stored in the memory.   In FIG. 15, RULENO contains the production rules.
The total number is set. Other points are described above.
It is clear from the description of the flow.   Fig. 16 shows the motif data stored in the motif memory 3.
An example of data (melody data) is shown below. Figure 17 is based on the composition
It is a flowchart which reads the motif data.
In the case of FIG. 16, note pitch data MDi is stored at even addresses.
At the next odd address, the note length data MRi of the note is
It is remembered. The MDNO in Fig. 17 contains the number of notes in the motif.
Set.   This concludes the description of data reading. <Generation of essence>   Data in fully automatic composition mode without motifs
After reading, rhythm as the essence of the song, the first stage
Generate the characteristics of the melody pattern and the characteristics of the second stage melody
(4-4 in FIG. 2). Figure 18 shows this essence student
4 shows a flowchart of the generation. These essences are used
Generated by user specification or fully automatic. For example, 22
The setting of the reference rhythm pattern at -1
Pattern generation means, for example, 4/4 time signature, pulse
When Normal is selected as the scale Automatically generate a reference rhythm pattern.
Or, the user can enter a favorite rhythm pattern
Done. 22-2 First stage melody pattern features
And the feature setting of the second stage melody of 22-3
This is performed by an action or input by a user. Figure 19 shows random numbers
Automatically sets the characteristics of the first stage melody pattern due to occurrence etc.
FIG. 20 shows the flowchart for the second stage melody.
Float that is set by the user inputting the features of
An example is illustrated.   In the first stage melody pattern feature setting (Fig. 19)
PC1~ PCFiveIs the first row in a section of a predetermined length (eg, bar)
Number of notes that make up the floor melody, highest note, lowest note, and neighbors
First stage The maximum value of the difference between the melody sounds, adjacent first stages
Represents the minimum value of the difference between the scale melody sounds (Fig. 5
reference). Each PC can be generated for each section, and
Set the upper and lower limits of the value, and generate random numbers between them.
And obtained. Or you can use a PC sequence
Prepare the desired PC series in the database
You may do so.   In the feature setting of the second stage melody in Fig. 20, the monitor
With the key corresponding to the type a of each second stage melody sound
A word is displayed to prompt the user for input (24-
2). Second stage melody input by user in RSi array
The sequence of the sound identifier a is entered (24-3, 24-6, 24-7).
When the code EOI indicating the end of the input is called, a second
Enter the number of step melody sounds and exit the flow (24-
8). <Extraction of essence>   In the composition mode using motifs,
Then, from the motif, the essence of the song (rhythm,
Rody pattern, first stage melody pattern features,
The characteristic of the two-stage melody sound is extracted (FIG. 2, 4-
6).   Fig. 21 shows the rhythm evaluation of the motif, the first stage melody.
Fig. 25 shows the pattern extraction, the first stage melody pattern
Fig. 26 shows the feature extraction of (sound type) and the features of the second stage melody.
Fig. 27 shows an example of the feature extraction. In these flows, each
Is extracted for each section (measure).   In the rhythm evaluation of FIG. 21, Ps at 25-1
The number of the note at the beginning of the target bar
Position information, and Pss is the beginning of the measure indicated by Ps
Length of note protruding into the previous measure (basic time expression)
Is entered, and Pe is the last note of the target bar (the beginning of the next bar).
The position information of the note (one note before the note). 25-2
The indicated rr is a 16-bit value that stores the rhythm pattern of the target bar.
If the length of one measure is 16, the register
The first bit position of the star rr is the first basic time of the measure.
Similarly, the Nth bit position is Nth from the beginning of the measure.
Represents the base time of the eye. The processing from 25-3 to 25-9 is
The position of the note between the note Ps and the note Pe in the motif is
Determined using chief length data MRi and correspond to register rr
This is the process of filling in the bit position to be executed. For example, rr
hand, 0001000100010001 Is obtained, the pattern rr is
Sounds are generated at the first beat, second beat, third beat, and fourth beat of the knot.
And   Details of the calculation of Ps, Pss, Pe, and Pee are shown in FIGS. 22 to 24.
Is done. Pee is the next note after Pe, ie the beginning of the next bar
Indicates the length of the note that interrupts the target bar.   In the calculation flow of Ps and Pss in FIG. 23, beat is one small
Bar length (basic time length expression), bar is the number of the target bar
(Indicates the bar number specified by the user. The specified bar
Number is smaller than 1, but larger than the number of measures (mno)
Is an input error. If the specified measure is 1,
Ps = 1 and Pss = 0 are set (27-4, 27-5). Ps = 1
The reason is that in the case of the first bar, the first note of the bar
First note of the first note or the first note of all motif data
The reason for Pss = 0 is that the leading small
There are no clauses. A found in 27-21Is the head of the song
To the front bar line of the target bar, and this length
A1Is obtained by accumulating the motif duration data MRi from the beginning.
(27-7, 27-8, 27-10, 27-1)
2). S = a1Holds, the last accumulation in S
The next note after the i-th pitch data starts from the beginning of the target bar.
Start. Therefore, Ps = i + 1 and Pss = 0 (27−
9). On the other hand, S> a1Is satisfied, S is added last.
Note with the note length data, i.e., the i-th note
This is the first note of the elephant bar. Therefore, Ps = i
You. Also, Pss = MRi-S + a1(27-9).   The calculation flow of Pe and Pee shown in FIG. 24 is very similar to FIG.
Perform the following processing. Where a1Contains the target bar from the beginning of the song
Explain the other points, including the length to the back bar line.
Description is omitted.   In the sound extraction process of the first stage melody shown in FIG.
The first stage melody pattern from the motif of the target bar
{LLi} is extracted. To summarize the processing, Ps and P
For the measure indicated by e,
Using the corresponding double tone information, the motif data is
Determine whether it is a floor melody sound, and
For the determined sound, what is it from the bottom
Check if it is the second sound and get the data in LL format.
To be specific, first of all, from the motif data,
Find the first note (Ps) and last note (Pe) of interest
(29-1). Next, double tone data is loaded (29-
2). Next, the note counter i and the first stage melody sound cow
Then, the center k is initialized (29-3, 29-4). 29-5 processing
Is the pitch data MDi of the motif
This is a process for converting to data formation. For example, the sound "G"
It is converted into data mm having "1" at the bit position 7.   Check at 29-6 whether this pitch data mm is a double tone
I have a lock. This is the pitch data mm and the double tone data cc.
Can be determined by taking the logical product (mm∧cc) of 29-7 ~
In 29-13, in the bit “1” of the double tone data cc,
What number matches the bit “1” of the pitch data mm
Check if there is, and as a result c octave of the motif sound
Add the number (MDifooffoo) and add the first stage melody pattern
Data LLk. 29-15 counter to next note
Advance i, and change LL until the note number reaches Pe (29-16).
Ask. The first stage melody of the target section is
Enter the number of notes.   The characteristics of the sound pattern of the first stage melody in FIG.
First stage melody sound type extraction result {LLi}, from LLNO
Is derived.   In the feature extraction of the second stage melody in FIG.
Of the type of the second stage melody sound distributed in the motif between
Seeking a turn. Second stage melody sound counter and
Set the note counter (33-2, 33-3)
If the note is a second-stage melody note (33-4),
Calculate the function F that represents the situation of a motif centered on a note
And perform forward inference with production rules
Find the type of two-step melody sound and substitute it for RSj (33-5
~ 33-8). This second stage melody sound classification processing is Pe
By doing so, the array {RSj} contains the target
The second stage of the section motif
Is set. The 33--11 PSNO contains the second stage
Enter the total number of rody sounds.   Determine whether MDi shown in 33-4 is the second stage melody sound
Details of the separate processing are shown in FIG. This determination process is
Focusing on the extraction of one-step melody tone patterns (Fig. 25)
Whether the note being played is the first-stage melody sound (compound sound of multiple sounds)
This is the same as the process for determining whether or not
Whether the note name of the note of interest is included in the constituent notes
Can be determined by   In the calculation of the function F in 33-6, the forward inference
The mochi needed to classify the second stage melody sound
Calculate the conditions or factors of the melody. Fig. 29
FIG. 37 shows a specific example thereof. In this example, the function F
hand, F1: How many notes ahead of the note (second melody sound) of interest
Is the first-stage melody sound (the first-stage melody
Di sound position) FTwo: First stage melody sound before the note of interest
Is located (the position of the first stage melody sound in front) FThree: From the first stage melody sound to the first stage back melody
Number of second stage melody sounds before the sound FFour: Forward first stage melody sound and backward first stage melody sound
Pitch difference with FFive: Forward first stage melody sound and backward first stage melody sound
Of the pitch of the second stage melody between F6: From the first stage melody sound to the first stage back melody
Whether the pitch of the melody up to the sound changes monotonically F7: Pitch of the first rear melody sound and the previous sound
Difference (Pitch progression to the first stage melody sound backward) F8: Pitch between the first stage melody sound and the one after it
Difference (Pitch advance from the first stage melody sound ahead) Is calculated (Fig. 29). Besides this, whether it ’s a weak beat or a strong beat
Information and information for distinguishing the duration are added to the set of functions F.
You may. The flowchart for calculating each function F
The description is omitted because it is clear from the description of itself.   Details of the forward inference in 33-7 are shown in FIG. Ma
First, move the rule number pointer P to the production
"1" indicating the rule that is the root in the
Set (44-1). After a while, the rule number poi
Premise (Lp ≦ Fxp ≦ Up) of the rule indicated by the counter P
Check if the rule is satisfied
Use the positive link data Yp as a pointer to the next rule
If the rule is not satisfied, the data of the negative conclusion
Use the data Np as a pointer to the next rule. However
When the data Yp and Np are negative values, the final conclusion is reached.
The absolute values (−Yp, −Np) in the second stage melody
Set to the conclusion register as an identifier of the sound type
You. According to the flow, the condition Lp> Fxp of 44-3 or the condition of 44-5
When the condition Fxp> Up is satisfied, the premise Lp ≦ Fxp of the rule P
≤Up is not established, so the data of the negative conclusion
Substitute Np into a (44-4, 44-6), otherwise
Is a prerequisite, so a contains the data of the positive conclusion of rule P.
Data Yp is entered (44-2). This a is substituted into P (44−
7) If P is a positive value, the next rule number pointer
Returns to the inspection of the next rule, and when P is negative, −P
Is the classification result of the second stage melody sound (44-8, 44-
9).   As an example of the classification of the second stage melody sound, the function F
In the calculation of F1= 1: Back 1st stage Melody sound is the 2nd stage where attention is focused
One after the melody sound FTwo= -1: The first stage melody sound in front is the second stage of interest
One before the floor melody sound FThree= 1: The number of notes between the first and second stage melody sounds is one FFour= 8: The pitch difference between the first and second melody sounds before and after is 8. FFive= 2: Second stage melody between first and second stage melody sounds
D sound is distributed in the middle of the pitch of the first and second melody sounds
doing F6= 1: From the first stage melody sound to the first stage melody
The melody up to the tone has a monotonous change in pitch F7= 1: It progresses by 1 pitch difference to the 1st backward melody sound
To F8= 7: Proceeds with a pitch difference of 7 from the first stage melody sound ahead
Do Is obtained, and the production rule data
Let's make an inference using the data shown in Figure 14.   First, when P = 1 (route), the premise 0 ≦ FTwo≤0 Is FTwo= −1, it is not established. Therefore, le
Negative conclusion N1= 3 is the point of the rule to be inspected next
Become   For P = 3, premise of rule 3 0 ≦ F1≤0 Is F1= 1, it is not established. Therefore, NThree=
5 becomes the pointer of the next rule.   At P = 5, premise of rule 5 0 ≦ FFour≤0 Is FFour= 8, so it does not hold. Therefore, NFive= 6
Becomes P.   At P = 6, premise of rule 6 1 ≦ F6≦ 1 Is F6= 1 holds. Therefore, Rule 6
Positive conclusion data Y6= 7 is the next rule to access
Pointer P.   At P = 7, the premise of Rule 7 3 ≦ F8≤∞ Is F8= 7 holds. Where Y7= -2 (negative)
is there. Therefore, conclusion = 2 (classified second stage melody
De sound identifier).   As you can see from this example, any type of second stage menu
Lody sounds have a finite number of propositions (the premise does not hold)
In other words, it means that the premise is false
) Can be identified by musical knowledge. This knowledge
The function F is calculated to represent
Rules have been created. That is, the function F is expressed in the second stage
The method used in the knowledge to classify the melody
Lodi check item information, production
Rule data leads to the classification result of each second stage melody sound
The sequence of rules up to is linked by a pointer. <Evaluation of double tone progression>   The device of this embodiment maximizes the progression of multiple sounds for composition.
Is one of the features. That is, FIG.
In the evaluation of the progression of multiple sounds shown in 4-7
And the hierarchical structure of the song
I want a structure and tonality structure. Hierarchy is consistent and versatile
The melody generation described later.
It is used for controlling the generation of the sound pattern of the step melody. On the other hand,
The gender structure represents the change in tonality (key) as the song progresses
Are used in each section in melody generation described later.
Used to select the scale key.   Hereinafter, the extraction of the hierarchical structure will be described in detail with reference to FIGS. 39 to 41.
Give details.   The flow shown in Fig. 39 is a block with a length such as a passage.
Calculates the similarity of the progression of multiple sounds between blocks using
It is a flow to be performed.   First, the song length SUM is calculated as the length of each compound sound CRi in the compound sound progress information.
Is obtained by accumulating (45-1), and barno (number of measures)
The length of the indicated block is converted to the
The lock length is set to 1 (45-2), and the music length SUM is set to the block length l.
To calculate the number m of blocks included in the song (45−
3). Counter i for reference number of block to compare
Is initialized to “0” (45-4).   In 45-8 to 45-18, the i-th block and j-th block
Calculates the similarity Vij of the progression of multiple sounds with the block (j ≧ i)
doing. As a function of similarity, You are using Where l is the length of the block, Vs
Is the compound of the i-th block and the j-th
Polyphony match obtained when comparing with block polyphony
Represents a number. This similarity function Vij takes a value from 0 to 100
So, at 100, the polyphonic progression of the two blocks is completely
(100%) match, and 0 means completely mismatch.   Calculation of similarity between i-th block and j-th block
Is started from the position of j = i (45-6), and the similarity is obtained.
Each time, the similarity with the next block is determined by j = j + 1
(45-20, 45-7) until the last block
(45-19), i = i + 1, i-th block
Shift the lock (45-22, 45-5) so that i is the last block.
The process is repeated until it becomes a click.   As a result, the j-th block for the i-th block
As the similarity VijIs obtained. Note that Vij = Vji, that is, the i-th block
J-th block multiple tone progression similarity to
Double progression similarity of the ith block to the block
Are equal. Vii = 100.   Calculation result of the degree of coincidence of double tone progression between blocks in Fig. 39 {Vi
j} is used in the generation of the hierarchical data in Fig. 40.
You.   In FIG. 40, c is a count for calculating the hierarchical structure.
Hj contains the hierarchical structure identifier of the j-th block.
Is set. Hj is an integer value of 0, 1, 2,...
Take. This is a, a'b, b 'in ordinary expressions.
(See HIEi in FIG. 6). Fig. 40 Flow
Then, for a certain reference block, 100%
Matching blocks have the same hierarchical structure identifier as the reference block.
With a hierarchical structure identifier of the same value (even value) (46-10, 46-
11), blocks that match in the range of 70-100%
A block with a compound sound signal that modifies the progression of rock sound
And the value obtained by adding 1 to the hierarchical structure identifier of the reference block.
A hierarchical structure identifier is attached (46-12, 46-13). Ma
In addition, blocks with similarity of less than 70% are
Treated as a block with a hierarchical structure independent of locks
You. The first block of the song as the first reference block
Selected (46-2), this reference block and 100%
Or for blocks that match 70-100%
The evaluation values of Hj = 0 and Hj = 1 are attached, indicating that the evaluation is completed.
Therefore, the flag flj of these blocks is set to “1”.
You. In this first evaluation loop (46-2 to 46-15)
The youngest block among the blocks of the song that were not confirmed
Becomes the reference block in the next evaluation loop (46-
3, 46-4, 46-6), the hierarchical structure of this reference block
Besshi is 2. Hereinafter, the same processing is repeated. Conclusion
As a result, the hierarchical structure identifier Hj is assigned to every block of the song.
Will be attached.   The processing in FIG. 41 is based on the block unit hierarchy obtained in FIG.
This is the process of converting the structure into hierarchical data in bar units.
You. That is, the HIEa in FIG.
The hierarchical structure identifier is set.   Next, referring to FIG. 42 and FIG.
Process to extract the pitch and set the scale key of each section.
Will be explained.   The concept behind the processing is as follows. (A) The tonality is the same rather than changing frequently in the progress of the song
It tends to maintain tonality. (B) Sounds other than the tones of the previous tones
When included, it should be transposed. (C) In the case of transposition, it changes to the close relatives such as F genus and genus.
Is desirable. (D) For any key that has a total of 12 different tones
However, if it contains sounds other than scale notes,
Use a key that maximizes the degree of coincidence with the scale.   In FIG. 42, the SC of 48-1 has an initially set sound.
Scale data (standard key, for example, scale data with C as the tonic)
Is set. This SC is used to determine the key of the current section.
In this case, it is used as the scale data of the immediately preceding section. 48−
Initializes the double tone counter i at 2 and scale data at 48-3
Initializes the counter c indicating the number of times that
With the key of the standard, it is transposed to the subordinate side (completely 5 degrees up
Substitute SC into a as the initial value for
Initialization for transposing to the lower subordinate side for the key of
To substitute SC for b.   48-5, whether the ith compound is a subset of scale a
Check if. For example, double tone data CC and scale data
If the result of logical AND with a matches the double tone data CC
For example, the double tone CC is a subset of the scale a. This condition holds
Substituting a into SC and the scale of the current section
A is used as the data SCALEi (48-13). Similarly,
In 48-6, it is determined whether the ith compound is a subset of scale b.
Check and if satisfied, substitute b for SC and SCALEi in 48-7.
Enter. If none of the conditions are satisfied, a
Turn b upward (48-7) and turn b completely down 5 degrees (48
-8), the rotation counter c is incremented (48-
9) Repeat the key determination. There are a total of 12 tones
The loop from 48-5 to 48-10 may be repeated six times.
That is, c> 6 is satisfied at 48-10 because of the duplication of the current section.
When the sound includes a sound that is not included in any scale
You.   In this case, the processing of 48-11, that is, as shown in FIG.
The processing is executed. In this process, the scale of the 12 keys
In the key that maximizes the degree of coincidence between the scale and
Seeking a scale. That is, for each key j = 1 to 12
Where j is the key scale and the constituent sounds of the compound
Is calculated (49-3), and the maximum degree of coincidence is set to max.
And find the key j that gives the highest degree of coincidence as P
(49-6). Finally, the scale data SC of the immediately preceding section is P times
The converted scale data is used as the scale data SCALEi of the current section.
This scale data is used to determine the key of the next section.
(49-9).   When the key of the current section is determined (48-13, 48-14, 48
−11), the counter i of the double tone is incremented.
(48-12), end of all double tone progression data (48-15)
Until the key determination process is repeated.   For example, diatonic scale
(Doremifasoraside) is selected and the previous section
Is C, and a plurality of current sections are D and F.
In this case, (C, D, E, F, G, A, B) is displayed in SC.
Contains data to be forgotten. Therefore, in FIG.
Then, after the processing of 48-3 and 48-4, the compound tone is scaled at 48-5.
a (this is the same as SC)
At 48-13, as the scale of the current section,
A diatonic scale is adopted. From this example
In this way, all of the constituent sounds of the
When it is on the scale of, the key of the current section is the same as the previous section.
Will be maintained.   Instead of D and F, D and F #
When used, a is the key in 48-3, and after 48-5.
Due to the diatonic scale of C, the double tone is a part
It is not a set, and this a is turned up 5 degrees by 48-7, and G
After obtaining a diatonic scale of 48-5,
When the sound is performed, the multiple sounds are a subset of a. And
The diatonic scale of G is the scale of the current section. This
As you can see from the example of
Contains sounds that are not in the scale of the previous section,
Transposition from key of this standard to close relatives, considering key between
Is repeated (for example, C → G → D → A ...)
The first key, which is the scale that contains all the constituent sounds of the double tone, is the current section
It is adopted as a key.   As described later, the scale data SCALEi of each section
The pitch organization of the melody to be used in the section to be used is determined. Sand
The melody sound of each generation section is determined by the scale data SCALEi.
Is selected from among the scale notes. <Melody generation>   The device according to the present embodiment is used for externally composable data.
And internally analyzed and evaluated the basic data
Then, it moves to the melody generation work.   Melody shown in 4-8 of the composition general flow (Fig. 2)
FIG. 44 illustrates a schematic flow of the key generation. Fig. 44 Smell
HIEi is the floor for each polyphonic section extracted in the previous polyphonic progress evaluation.
This is the layer structure data, as shown in 53-2 to 53-4.
Hierarchical data HIEi is the first stage melody type (LL)
It is used for generation control. More on this control later
Will be described. Further, the gradation structure data is shown in 53-5 and 53-6.
It can also be used to control the range of the sound type (LL).   The first melody type is the basic melody sequence.
Forming a skeleton, the range of the first stage melody is the sound of the melody
Regulate the area basically. In this embodiment, the control is
It uses the hierarchical structure obtained from the rows, which is also a feature of the embodiment.
It is one of the signs. But of the first stage melody
Hierarchical information extracted from polyphonic progression of tone control factors
It is not necessary to limit only to
Weight each of them, and calculate the first stage
Controls the sound type of the lodi, and specifies the weight by the user
You may be able to. In short, on the user's composition
It can be transformed so that the intention is reflected in the generation of the sound pattern.
Wear.   The melody of the first stage melody (LL) is the compound sound progress data CCi
Is used to express the pitch, that is, melody
(53-7).
Then, for the first stage melody, the second stage melody
Sound is added according to the production rules (53-
8). The product used to add this second stage melody sound
Action rules are the second melody included in the motif
It is the same as that used to classify the sound, and therefore
Therefore, reversibility is established for the analysis and synthesis of the melody.   Adding a second stage melody to the first stage melody
Thus, the pitch sequence of the melody is completed. Melody pitch
After the line is completed, the melody's length sequence (rhythm pattern)
Generation (53-9). Here, it consists of a predetermined number of notes.
Basic rhythm pattern (Essence generation 4-4 or E
Length sequence determined in the key extraction 4-6)
It depends on the pulse scale selected in setting 4-1.
Is changed into a pitch sequence with the same number of notes as the pitch sequence of the melody.
Is replaced.   First stage melody generation, second stage melody addition,
In the case of the flow shown in Fig. 44,
It is executed every time. Therefore, it is generated in a certain section in 53-10
The melody data is moved to the continuous area.   Figure 45 shows the generation, saving, and
44 is a detailed flowchart of the code (53-2 in FIG. 44,
53-3, 53-4). In this example, the hierarchical structure HIEi
The sound type LL is controlled as follows. First, wear
The section you are looking for is a section that is structurally different from the past
Whether or not the hierarchical data of passages
Is determined by comparing with the hierarchical structure data. Strange
Only for passages that are recognized as sections with
Generate type LL. This generation, the feature parameters
This is performed based on the data PC. Identify intervals with similar structure
No new sound pattern LL is generated for the music section. Instead
Of the sound patterns generated in the past,
Uses sound patterns generated in sections with the same structure as between
I do.   For example, assuming a song consisting of four passages,
If the structure of these four passages is a, b, c, a, respectively
I will try. The structure a of the first passage is a structure not seen in the past
Therefore, the sound pattern is generated according to the sound pattern feature parameters.
It is. Similarly, the second and third passages are new
Sound patterns are generated independently because
You. However, the final passage has the same structure a as the first passage of the song
is there. Therefore, as the sound pattern of the final passage,
Use the sound pattern generated for the verse as it is.   Generate a new sound pattern for a phrase with a new structure
That means another motif from this new structured passage
That occurs. Now in the first bar of the passage
The generated sound pattern is applied to the following measures of the passage.
When used repeatedly, a motif one bar long
Let's be aware. Generally, the length of a motif is one to several measures.
The length of the motif often changes in the middle of the song.
In the example of Fig. 45, taking this into account, the new structure
Motif length in the passage when is detected
One or two measures can be used. 2 bars
When the motif is selected, the first measure and 2
Independent measure is generated in bar no.
Measures of the first measure use the pattern of the first measure, and
Measure uses the note type of the second measure.   Reference to hierarchical data in the past section, past
Sound pattern (LL) data for repeating sound patterns in a section
A buffer is provided. Example of sound data buffer No. 46
Shown in the figure.   Explaining in accordance with FIG. 45, the passage at 54-1 (see FIG. 39)
Set the bar counter in the section indicated by each barno to "1"
I do. At 54-2, the hierarchical structure data HIEi of the current bar is
Measure Hierarchical Data HIEiBy comparing with -1,
Check whether the passage has started. For example, | HIEi-HIE
iThe time when −1 | ≧ 2 holds is the start of the passage. Passage
If it is determined to be the start, set the bar counter in the passage to “1”
It is reset (54-3). Then the sound data buffer
Search to see if the current phrase should generate a new note type
(54-4). Search sound type data buffer
Is performed as follows. First, the sound data buffer
Data at address 0 of the
Data indicating whether the address is
To the address of the data indicated from N to N
(Header information of each sound type) in sequence and read the top 8
The hierarchical structure data shown in the
Compare with Ta HIEi. The floor of the current measure in the sound data buffer
Hierarchical structure data similar to layer structure data HIEi (for example, HI
Same value as Ei or (HIEiData with a value of -1)
When the current measure is
It is a bar. A header with similar hierarchical data is found
If this is the case, the data of the following sound pattern is
And load. For a new passage, start with a motif
Decide how many measures will be composed (54-5). This decision
Can be realized by random number generation, for example. 2 bar motif
The flag fl is set to "1" (54-7, 54-
8) Sound pattern for the next bar (the second bar of the passage)
Is newly generated. And generate the sound pattern
(Refer to Fig. 47), save in the sound pattern data buffer (54
-9). For details, HIEi x 0100 + measure counter value x 00
Create a header based on 10 + motif measures
The number N of tone sets at address 0 of the buffer
Increment and write header address to address N
From the address, the header, the LLNO
Length), LL1, LLTwo…… LLLLNO(Generated sound data)
Write. After that, other melody generation processing is performed.
(54-10), the bar counter is incremented (54
−11).   In 54-2, it was recognized that the passage was not changed
At this time, the flag fl is checked (54-13). fl = 1
Sometimes, the current measure is a phrase 2 that generates a two-bar motif.
Since this is the second measure, the sound pattern is generated again and the sound pattern data
And reset the flag fl to “0”.
(54-16). When fl = 0, the hierarchical structure data of the current bar
The header corresponding to the data HIEi is searched from the buffer, and
When the length information of the motif indicated by the header is 1 bar
Loads the following sound pattern data into its header and
When the bar length is 2 bars, the remainder of 2 in the bar counter is
Compare the measure numbers in the header, and if they match, add
Loads the subsequent note data as the note of the current measure.   First stage melody executed at 54-9 and 54-15 in FIG.
FIG. 47 shows the details of the generation of the sound pattern of the sound. The ckno of 56-1 is
Represents the number of constituent sounds of the compound sound. The number of polyphonic sounds is
Count the number that is "1" in the 16 bits of data CCi
Obtained by: In the example of Fig. 47, PC1~ PCFiveGenerate
This is a sound-type control parameter. r1Is in the range of 1 to ckno
Means the number of the compound sound (56-
4). rTwoIs PCThree(Lowest sound of sound type) ~ PCTwo(The highest sound of the sound type)
Octave of LL
Indicates the node number (56-6). a = r1+ RTwo× 0100
A candidate LL to be generated is calculated (56-7), and this candidate a is
When the condition of PC is satisfied, candidate a is adopted as LL
(56-8, 56-12, 56-14). However, depending on the value of PC
Is the preceding LL (for example, the first LL1) Was decided
Followed by LLTwoNo longer satisfies PC requirements
there is a possibility. For example, PCTwo= 501 (the highest note of the sound pattern is the fifth
1st double tone of octave), PCThree= 401 (minimum of sound type)
The sound is the first double tone of the fourth octave), PCFour= 3 (next
The maximum value of the difference between the LLs that match each other is three double tone constituent sounds), PCFive= 3
(The minimum value of the difference between adjacent LLs is three sound components)
To LL1As LL1= 403 (The first LL is the fourth octave
Assuming that the first polyphonic sound was obtained, PCFour, PCFiveOn the condition
To match, LLTwo= 503 or 303 (with 3 sounds
This is a PCTwo, PCThreeDoes not meet the conditions. others
Prepare a loop counter LOOPC as a preventive measure
Strong when the counter LOOPC exceeds a certain value (for example, 100)
Candidate a is regularly adopted as LL (56-9, 56-1
0, 56-11).   FIG. 48 shows the details of the check 56-8 in FIG. 47. LLi
In order for candidate a to satisfy the condition of PC, (B) a ≦ PCTwo(Below the highest note) (B) a ≦ PCThree(Must be higher than the highest note) (C) | a-LLi−1 | ≦ PCFour(The difference from the previous LL is the maximum value PCFour
Below) (D) | a-LLi−1 | ≧ PCFive(The difference from the previous LL is the minimum value PCFive
Above) Must be established. In the flow of Fig. 48
If the condition is not satisfied, set the flag OK to “0”
(Olda in the figure represents the immediately preceding LL; see 56-13).   FIG. 49 shows details of 53-7 in FIG. The purpose is (O
1st step menu indicated by
The format of Lody's sound type LL is converted to
Melody pitch data indicated by tab number + pitch name number)
And store it in MEDi. 58−
The processing of 5, 58-6 is performed by the compound sound number of LLi (LLi∧00f
f) is greater than the number of notes (CKNO) of the compound of the current section
At the time, the compound sound number of LLi
Is the process of changing to the highest compound sound number
You. In the figure, c is a counter of the constituent sounds of the double tone, LLi∧ff00 is L
Li is an octave number, and j is a note name counter.   FIGS. 50 and 51 show the second stage menu at 53-8 in FIG. 44.
It is the details of addition of a loddy sound. The purpose of this process is the first stage
Add the desired second stage melody sound to the floor melody
It is to complete the pitch sequence of D. Second stage melody
Features of the above-mentioned second stage melody for adding sound
{RSi}, scale data with tonality obtained from the evaluation of polyphony 進行 S
CALEi} expresses the knowledge to classify the second stage melody sound
Production rules are used. Second added
The step melody sound must satisfy the following conditions. (B) Sound within the specified range (B) The scale sound indicated by the scale data obtained in the evaluation of polyphonic progression
That (C) The sound is not a compound sound (D) Conclusions obtained by the production rules and the planned
Match with the two-step melody sound identifier RSi   In FIG. 50, the loops outside of 59-4 to 59-18 are total
Repeat for the number of drawn second stage melody sound identifiers RSi
The loop from 59-5 to 59-16 is the first stage menu.
Repeat for the number of Lody notes. In 59-8 to 59-14,
From the lower limit lo to the upper limit up as candidates for the second stage melody sound
Each pitch data k within the range of the sound is inspected sequentially (No.
See Figure 52). The pitch data k is a scale sound,
At some point (59-8, 59-9), the function F is calculated (59
−10), execute forward-looking inference based on production rules.
(59-11), the second stage melody sound whose conclusion is planned
Check if it matches the identifier RSi (59-1
1). When they match, the pitch data k is in the second stage described above.
Satisfies all the conditions as a melody sound. But
To count the number of added second stage melody sounds.
Increments nctct and finds the second stage
The pitch data k of the floor melody sound is put into VMnctct,
Set the additional position j of the floor melody sound to POSTnctct, and
Consecutive flags fljTo “1” (59-19 to 59-2
2). In this example, at most one first melody
A two-step melody sound is added, and flj=
0 is the first stage melody sound MEDj and MEDj + 1The second stage during
Indicates that the melody sound has not been added yet.   Conclusion at 59-12 = When the condition of RSi is not satisfied,
The pitch data k of interest is the second stage melody sound
Is not satisfied, the pitch data k is incremented.
(59-13) and repeat the process. K at 59-14
> When UP is established, the first stage melody sounds MEDj and MED
j + 1That the second stage melody sound was not added during
Means Therefore, j is incremented (59−
15) Second stage melody sound between next first stage melody sounds
Proceed to check whether or not can be added.   Details of setting candidate sounds in 59-6 are shown in Fig. 53.
You. In this example, the first and second stage melody sounds MEDi, MED
i + 15 semitones above the higher sound and 5 and a half lower than the lower sound
The pitch range to search down to the pitch is set (62-5 to
62-7). However, when i = 0, that is, paying attention
2nd stage before the first 1st stage melody sound of the section
When adding a melody sound, the first stage
The pitch range from 5 semitones to 5 semitones below the melody
(62-1, 2), when i = Vmedno, that is, paying attention
After the last stage 1 melody sound of the section
When trying to add a rody sound, the final first stage
The pitch range from 5 semitones up to 5 semitones below the melody tone
(62-3, 4).   Details of the calculation of F in 59-10 are shown in FIG. This example
Then, the 2nd stage melody sound is between the 1st stage melody before and after
Because only one is added to the
(F in the figure1~ FThree) Is set to the specified value.
You.   Details of the forward inference of 59-11 are shown in Figure 38 above.
You.   When the processing in Fig. 50 is completed, nctct is added.
The total number of the second stage melody sounds is stored, and i in the array {Vi} is stored.
First, the i-th added in the processing of FIG. 59
The pitch data of the two-step melody sound is stored, and the array {POST
The ith of} is added to the ith in the processing of FIG.
The position information of the obtained second stage melody sound is stored.   These data are stored in the melody
Is converted to the pitch sequence {VMEDi}. Array {VME
Di} is initially set to arpeggio {MEDi}. 60
-2 to 60-9 are arrays {POSTi}, {V
This is the process of sorting Mi}. 60-10 to 60-19 smell
To the position indicated by the position data POSTi
The pitch data VMi is inserted.   In this example, the second stage melody sound is generated during the first stage melody sound.
Although only one rody tone can be added,
The processing may be changed so that a step melody sound can be added.
No.   At this point, the pitch sequence of the melody is completed. Remaining processing
Is the generation of a melody duration sequence.   FIG. 55 shows the flow of generating a melody pitch sequence (53
-9 details). First, obtained by essence generation or extraction
Increase the number of notes in the reference rhythm pattern in the section of interest
Number of generated notes Vmedno (number of melody pitch train data)
, And the difference a between them is calculated (66-1). Generate
If the number of notes is smaller than the number of notes in the reference rhythm pattern
(When a> 0), the maximum of the note by the pulse scale
The appropriate coupling is repeatedly executed by the number of differences (66-2 to 66-
6). The number of generated notes is better than the number of notes in the reference rhythm pattern.
When the number of notes is large (when a> 0), the optimal division of the
It is repeated for the number of minutes (66-7 to 66-11). In this example
16-bit data is used as the rhythm pattern data format.
Assign each bit position to each timing using
Indicates that sound is generated at the bit position with the value of “1”.
Finally, convert to MER data format (66-1
2).   Details of the combining process are shown in FIG. In the figure, PSCALEj is used
Represents the j-th component scale of the pulse scale to be used
RR is a rhythm pattern to be processed. RR bits
Is the point with the smallest pulse scale weight in “1”
The notes are combined by setting the note to “0”. For example,
Rhythm pattern , The normal no pulse scale (see Fig. 7)
)), The result of combining one note is Becomes   This is obtained as follows.   First, RR was initially 0001 0001 0101 0001 It is. On the other hand, the normal pulse scale is 1213 1214 1213 1215 It is. Normal pulse schedule in bit “1” of RR
The point with the lowest weight is the seventh point from the right end.
Position. The bit at this position becomes “0”. Accordingly
And the resulting RR is 0001 0001 0001 0001 And this is Is represented.   Details of the dividing process are shown in FIG. The split is a bit of the RR
Is the point where the pulse scale weight is the largest among “0”
Is set to “1”. For example, rhythm putter
N On the other hand, if you divide the note with the normal pulse scale
And the result is Becomes   Details of conversion to MER data format 66-12 are shown in Figure 58.
You. In the figure, c1Is a note counter, cTwoIs the sound of each note
This is a counter that measures the length. In this example, MERo has RR
Since the length is entered until the first “1” appears,
It can also process notes that straddle boundary lines (bar lines) (Shinko
Measures).   Details of the data movement 53-10 are shown in FIG. First, MERo
The last sound that has generated (the blank part at the beginning of the current generation section)
Add to note length data MELRmeldno. Here meldno is already
Represents the number of notes being generated. The pitch generated this time
Column VMED1Move ~ VMEDvmedno to MELD
Long train MER1Move ~ MERvmedno to MELR (70-2-70-
6). Update meldno and finish (70-7). <Summary of composer>   As is clear from the above description, the automatic composer
This device has various features, some of which are described below.
Shown in (A) First stage melody sound that forms the melody skeleton
Progression of multiple sounds (primary constituent sounds) to define the set of highs
Information is entered. (B) The melody pitch sequence is the first stage melody generation
Then, in a two-stage process of adding a melody in the second stage
Generated. (C) Using music knowledge in melody analysis and synthesis
A production system that performs inference
You. (D) Classify the second stage melody sound included in the melody
Processing and adding the second stage melody to the first stage melody
Production that expresses the same musical knowledge
Because it is based on rule data, it can be used for both processes
There is inversion. (E) Analyze the progression of the double tone given as the composition material
By extracting the hierarchical structure and tonality structure of the song,
Is planned. (F) The extracted tonal structure is the key of the scale used in each section.
Stipulate. As a result, the tune controlled in tonality
Is guaranteed. (G) The extracted hierarchical structure is the sound of the first stage melody.
It is used for composition control. This allows for a variety of generated songs
Can incorporate gender and consistency.   The above-described embodiment is merely an example, and various modifications may be made.
Shapes, modifications and improvements are possible. For example, the embodiment described above
Then, the feature PC of the sound pattern extracted from the motif is used to create the sound pattern LL.
Used as control data in the
The sign PC may be changed as the music progresses. This is an example
For example, calculation of a function using the progress position of a song or the hierarchical structure as a variable
It can be realized by means.   Similarly, regarding the feature of the second stage melody {RSi}
Can also be changed as the song progresses. example
For example, the characteristics of the second stage melody extracted from the motif
One second-stage melody sound identifier is transferred to another second-stage melody.
Replace with rody tone identifier. This is the second stage melody
Randomly select one from a set of sound identifiers
This can be achieved.   Further, regarding the rhythm, in the above embodiment, the pulse scale is used.
Control the rhythm by combining and dividing notes
But the dominant minirhythm putter in the motif
And extract it into the melody sequence
It may be incorporated. [The invention's effect]   As described above, the automatic working machine of the present invention provides a basic
Data in the motif and the generated melody line.
Used as the sound of the first stage melody
Input means for inputting the progress information of the type of pitch (primary constituent sound)
From the motif, and the motif and
The length of the motif, which is a predetermined part of the progression of the primary constituent sound
Is compared with the part corresponding to
First characteristic indicating how the next constituent sounds are distributed
Other than the parameter and the primary constituent sound in the motif
A second characteristic parameter showing how the sounds are distributed
The first stage melody generating means generates the first
Feature parameters are changed by random numbers, and this and each music
Consists of only primary constituent sounds based on the primary constituent sounds of the section
The first stage melody is generated, and the melody generating means
The melody of the first stage based on the second feature parameter
Sound other than the primary constituent sound to the melody
(Second stage melody). did
Therefore, the final melody is created by the first stage melody.
The melody of the second stage is equipped with this skeleton.
Works to decorate, connect and assist.   This automatic composer uses the given motif as the primary constituent
The melody is generated by interpreting from the angle of the line, and the primary
Depending on what progression is given as the component sound progression
You can plan different songs. Accordingly
A wide range of compositions, from harmonious to non-harmonic
It is possible. Also, enter the chord progression from the top
Users need knowledge of harmony as there is no need to
And not.

【図面の簡単な説明】 第1図は本発明の一実施例に係る自動作曲機の全体構成
図、第2図は作曲機モードにおける全体的な動作を示す
フローチャート、第3図は作曲処理において使用される
主な変数のリストを示す図、第4図、第5図、第6図、
第7図、第8図は使用されるデータの形式を示す図、第
9図は初期設定のフローチャート、第10図は複音(一次
構成音)進行メモリに記憶される複音進行データの例を
示す図、第11図は複音進行データの読み込みのフローチ
ャート、第12図はパルススケールメモリに記憶されるパ
ルススケールデータを例示する図、第13図はパルススケ
ールデータの読み込みのフローチャート、第14図はプロ
ダクションルールデータメモリに記憶されるプロダクシ
ョンルールデータを例示する図、第15図はプロダクショ
ンルールデータの読み込みのフローチャート、第16図は
モチーフメモリに記憶されるメロディデータ(モチーフ
データ)を例示する図、第17図はメロディデータの読み
込みのフローチャート、第18図はエッセンス生成のフロ
ーチャート、第19図は第1段階メロディ音型の特徴を設
定するフローチャート、第20図は第2段階メロディの特
徴を設定するフローチャート、第21図はモチーフのリズ
ムを区間別に評価するフローチャート、第22図はPs、P
e、Pss、Peeの算出のフローチャート、第23図はPs、Pss
の算出のフローチャート、第24図はPe、Peeの算出のフ
ローチャート、第25図はモチーフの第1段階メロディ音
型を抽出するフローチャート、第26図は第1段階メロデ
ィ音型の特徴を抽出するフローチャート、第27図は第2
段階メロディの特徴を抽出するフローチャート、第28図
は複音データによりメロディ音を第1段階メロディ音と
第2段階メロディ音とに分類するフローチャート、第29
図は分析対象のメロディの状況を表わす関数Fを計算す
るフローチャート、第30図は関数F1の算出のフローチャ
ート、第31図は関数F2の算出のフローチャート、第32図
は関数F3の算出のフローチャート、第33図は関数F4の算
出のフローチャート、第34図は関数F5の算出のフローチ
ャート、第35図は関数F6の算出のフローチャート、第36
図は関数F7、F8の算出のフローチャート、第37図は計算
した関数Fを一時記憶するフローチャート、第38図は第
2段階メロディ音の種類を推論するフローチャート、第
39図はブロック間の複音進行の一致度を算出するフロー
チャート、第40図は算出された一致度から階層構造デー
タを生成するフローチャート、第41図はブロックの階層
構造データを複音区間ごとの階層構造データに変換する
フローチャート、第42図と第43図は複音進行から各区間
の調とスケールを判定するフローチャート、第44図はメ
ロディ生成のフローチャート、第45図は第1段階メロデ
ィ音型の生成、セーブ、ロードを示すフローチャート、
第46図は音型のデータバッファを例示する図、第47図は
音型生成のフローチャート、第48図は音型生成における
チェックのフローチャート、第49図は音型をメロディデ
ータ形式に変換するフローチャート、第50図と第51図は
第1段階メロディに第2段階メロディ音を付加するフロ
ーチャート、第52図は第2段階メロディ音付加処理の順
序を示す図、第53図は第2段階メロディ音の候補とする
音高の範囲を設定するフローチャート、第54図は関数F
の計算のフローチャート、第55図はメロディの音長デー
タを生成するフローチャート、第56図は音符の最適結合
のフローチャート、第57図は音符の最適分割のフローチ
ャート、第58図は生成したリズムパターンをMERデータ
形式に変換するフローチャート、第59図は生成したメロ
ディデータを連続領域に移動するフローチャートであ
る。 1……CPU、2……入力装置、3……モチーフメモリ、
4……複音進行メモリ、CCi……複音データ、LLi……第
1段階メロディ音型、PSi……第2段階メロディの特
徴、PCi……第1段階メロディ音型の特徴。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is an overall configuration diagram of an automatic composer according to an embodiment of the present invention, FIG. 2 is a flowchart showing an overall operation in a composer mode, and FIG. Figures showing a list of the main variables used, FIG. 4, FIG. 5, FIG.
7 and 8 are diagrams showing the format of data used, FIG. 9 is a flowchart for initialization, and FIG. 10 is an example of compound sound progression data stored in a compound sound (primary sound) progression memory. FIG. 11, FIG. 11 is a flow chart of reading the multi-tone progression data, FIG. 12 is a diagram exemplifying pulse scale data stored in the pulse scale memory, FIG. 13 is a flow chart of reading of pulse scale data, FIG. FIG. 15 is a diagram exemplifying production rule data stored in a rule data memory, FIG. 15 is a flowchart for reading production rule data, FIG. 16 is a diagram exemplifying melody data (motif data) stored in a motif memory, FIG. The figure shows a flow chart for reading the melody data, FIG. 18 shows a flow chart for generating the essence, and FIG. Flowchart for setting the characteristics of the stage melody sound type, FIG. 20 is a flowchart for setting the characteristics of the second stage melody, the flowchart FIG. 21 to evaluate the motif rhythm each section, FIG. 22 Ps, P
e, Pss, Pee calculation flowchart, FIG. 23 shows Ps, Pss
24 is a flowchart for calculating Pe and Pee, FIG. 25 is a flowchart for extracting a first-stage melody tone of a motif, and FIG. 26 is a flowchart for extracting a feature of a first-stage melody tone. Figure 27 shows the second
FIG. 28 is a flowchart for extracting characteristics of a step melody, FIG. 28 is a flowchart for classifying a melody sound into a first-step melody sound and a second-step melody sound based on compound sound data, and FIG.
Figure is a flowchart for calculating the function F representing the status of the analyte melody, the flow chart of FIG. 30 calculates functions F 1, the flow chart of FIG. 31 calculates the function F 2, FIG. 32 calculates the function F 3 of the flowchart, FIG. 33 is a flowchart of the calculation of the function F 4, FIG. 34 is a flowchart of the calculation of the function F 5, FIG. 35 is a flowchart of the calculation of the function F 6, 36
FIG. 37 is a flowchart for calculating the functions F 7 and F 8 , FIG. 37 is a flowchart for temporarily storing the calculated function F, FIG. 38 is a flowchart for inferring the type of the second-stage melody sound, and FIG.
FIG. 39 is a flowchart for calculating the degree of coincidence of the polyphony progression between blocks, FIG. 40 is a flowchart for generating hierarchical structure data from the calculated degree of coincidence, and FIG. 41 is a diagram showing the hierarchical structure data of the block for each polyphonic section 42 and 43 are flowcharts for determining the key and scale of each section from the progression of multiple sounds, FIG. 44 is a flowchart of melody generation, and FIG. 45 is a first-stage melody tone generation. Flowchart showing save and load,
FIG. 46 is a diagram exemplifying a sound pattern data buffer, FIG. 47 is a flow chart of sound pattern generation, FIG. 48 is a flowchart of check in sound pattern generation, and FIG. 49 is a flow chart of converting a sound pattern to a melody data format. 50 and 51 are flowcharts for adding a second-stage melody sound to a first-stage melody, FIG. 52 is a diagram showing an order of a second-stage melody sound adding process, and FIG. 53 is a second-stage melody sound. 54 is a flowchart for setting a range of pitches as candidates for the function F. FIG.
55 is a flowchart for generating melody note length data, FIG. 56 is a flowchart for optimal combination of notes, FIG. 57 is a flowchart for optimal note division, and FIG. 58 is a flowchart for the generated rhythm pattern. FIG. 59 is a flow chart for converting the generated melody data to a continuous area. 1 ... CPU, 2 ... input device, 3 ... motif memory,
4: Multitone progression memory, CCi: Multitone data, LLi: First-stage melody type, PSi: Features of the second-stage melody, PCi: Features of the first-stage melody sound type.

Claims (1)

(57)【特許請求の範囲】 1.モチーフを入力するモチーフ入力手段と、 音楽区間ごとに1または複数の音名から成る一次構成音
を複数の連続する音楽区間にわたって一次構成音進行と
して付与する一次構成音進行付与手段と、 上記モチーフと上記一次構成音進行の所定部分であっ
て、上記モチーフの時間長に相当する部分とを比較し
て、モチーフに当該部分の一次構成音がどのように分布
しているかを示す第1の特徴パラメータと、モチーフ内
に当該部分の一次構成音以外の音がどのように分布して
いるかを示す第2の特徴パラメータとを生成する特徴パ
ラメータ生成手段と、 上記第1の特徴パラメータを乱数によって変更し、これ
と各音楽区間の一次構成音とに基づいて一次構成音のみ
から成る第1段階のメロディを生成する第1段階メロデ
ィ生成手段と、 上記第2の特徴パラメータに応じて上記第1段階のメロ
ディに一次構成音以外の音を付加し、これをメロディと
して出力するメロディ生成手段と、 を有することを特徴とする自動作曲機。
(57) [Claims] Motif input means for inputting a motif; primary constituent sound progression providing means for providing a primary constituent sound consisting of one or more note names for each music section as a primary constituent sound progression over a plurality of continuous music sections; A first characteristic parameter indicating how the primary constituent sounds are distributed in the motif by comparing a predetermined part of the primary constituent sound progression with a part corresponding to the time length of the motif; And a second characteristic parameter for generating a second characteristic parameter indicating how the sounds other than the primary constituent sounds are distributed in the motif; and changing the first characteristic parameter by a random number. A first-stage melody generating means for generating a first-stage melody composed of only the primary constituent sounds based on the primary melody and the primary constituent sounds of each music section; A melody generating means for adding a sound other than the primary constituent sound to the melody of the first stage in accordance with the characteristic parameter of and outputting the melody as a melody.
JP62325180A 1987-12-24 1987-12-24 Automatic composer Expired - Fee Related JP2666063B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62325180A JP2666063B2 (en) 1987-12-24 1987-12-24 Automatic composer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62325180A JP2666063B2 (en) 1987-12-24 1987-12-24 Automatic composer

Publications (2)

Publication Number Publication Date
JPH01167882A JPH01167882A (en) 1989-07-03
JP2666063B2 true JP2666063B2 (en) 1997-10-22

Family

ID=18173901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62325180A Expired - Fee Related JP2666063B2 (en) 1987-12-24 1987-12-24 Automatic composer

Country Status (1)

Country Link
JP (1) JP2666063B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3303617B2 (en) * 1995-08-07 2002-07-22 ヤマハ株式会社 Automatic composer

Also Published As

Publication number Publication date
JPH01167882A (en) 1989-07-03

Similar Documents

Publication Publication Date Title
US4982643A (en) Automatic composer
US5451709A (en) Automatic composer for composing a melody in real time
JP2671495B2 (en) Melody analyzer
KR101854706B1 (en) Method and recording medium for automatic composition using artificial neural network
JPH11237881A (en) Automatic composing device and storage medium
CN111630590A (en) Method for generating music data
Alfonseca et al. A simple genetic algorithm for music generation by means of algorithmic information theory
JP2666063B2 (en) Automatic composer
KR101934057B1 (en) Method and recording medium for automatic composition using hierarchical artificial neural networks
Khalifa et al. Evolutionary music composer integrating formal grammar
JPH05181409A (en) Automatic music composing machine
Oliwa Genetic algorithms and the abc music notation language for rock music composition
JP2615720B2 (en) Automatic composer
JP2615722B2 (en) Automatic composer
Wang et al. Context-aware hidden Markov models of jazz music with variable Markov oracle
JP2615721B2 (en) Automatic composer
JP3088919B2 (en) Tone judgment music device
Bergeron et al. Structured Polyphonic Patterns.
JP2958795B2 (en) Melody analyzer
JP4319805B2 (en) Music data impression system and program
JP3364940B2 (en) Automatic composer
Hadimlioglu et al. Automated musical transitions through rule-based synthesis using musical properties
JP2621266B2 (en) Automatic composer
JP3835131B2 (en) Automatic composition apparatus and method, and storage medium
JP2638905B2 (en) Automatic composer

Legal Events

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