JPH02160296A - コード進行生成装置、コードパターン決定装置及び作曲機 - Google Patents

コード進行生成装置、コードパターン決定装置及び作曲機

Info

Publication number
JPH02160296A
JPH02160296A JP1235706A JP23570689A JPH02160296A JP H02160296 A JPH02160296 A JP H02160296A JP 1235706 A JP1235706 A JP 1235706A JP 23570689 A JP23570689 A JP 23570689A JP H02160296 A JPH02160296 A JP H02160296A
Authority
JP
Japan
Prior art keywords
chord
pattern
passage
progression
chord progression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1235706A
Other languages
English (en)
Other versions
JPH079587B2 (ja
Inventor
Mayumi Ino
猪野 真弓
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 JP1235706A priority Critical patent/JPH079587B2/ja
Publication of JPH02160296A publication Critical patent/JPH02160296A/ja
Publication of JPH079587B2 publication Critical patent/JPH079587B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の技術分野1 本発明は音楽装置に関し、特にコード進行生成装置、コ
ードパターン決定装置及び作曲機に関する。
[発明の背景] 与えられたメロディに使用できるコードの列。
即ちコード進行を生成する装置は既に知られており1例
えば、特開昭58−87593号や本件出願人に係る特
開昭58−114097号に示されている。
この種の装置は一般に!Ili楽器のような電子楽器に
組み込まれてきた0通常、動作の際にキーボードを弾く
ことによりメロディ情報が入力され楽器内のメモリに記
録される0次いで記録されたメロディ情報を区間毎例え
ば小節毎に分析してメロディに・よって暗示されるハー
モニーの進行即ちコード進行を求める。このようにして
得たコード進行は再びキーボードからメロディが演奏さ
れる際その演奏に合わせて自動的な伴奏を付けるのに利
用される。
動作原理上、上記のコード進行生成装置はコード進行を
(りるために楽曲のメロディの情報を必要とし、メロデ
ィの和声付装置と呼ぶのがふされしいものである。
メロディの情報がまったく与えられない状況の下で楽曲
のコード進行を生成する装置はメロディ和声付装置とは
相当異なるアプローチをとる必要がある。このようにメ
ロディ情報を必要とせずにコード進行を生成する装置が
本件発明者により提案され1本件出願人にかかる特願昭
63−90226号(昭和63年4月14日出願)に出
願されている。この特許出願に開示する装置は既存の多
くの楽曲に関するコード進行を収集する手段を持ってい
る。収集したコード進行の2つのコードの順序もしくは
順列の夫々について頻度測定手段によりその第1コード
から第2コードへの遷移の回数を測定し測定して2コー
ド遷移の頻度表を作成する。動作の際この頻度表を乱数
発生器と組み合せてその結果に基づきコードを次々と求
めてコード進行を生成する。即ち現コードが与えられる
と次のコードは頻度表におけるそのコードの頻度の大き
さと乱数的に得られた数値との合計が最大となるコード
によって決定される。この乱数成分の相対的な重みはユ
ーザーによって調整できるようになっている。
上記の装置はメロディを必要とせずにコードの連鎖によ
ってコード進行を生成することができるが次のような欠
点がある。
(1)装置の動作が収集した(サンプルした)コード進
行の統計的なパラメータである頻度表に大きく依存する
為に、次コード決定に影響を与える乱数成分の相対的な
重みにも依存するが、同じ頻度表からコード進行をいく
つか作った場合に互いに似たようなものになってしまう
、従って実買上異なるコード進行を得るためにはコード
進行の収集をやり直しその収集結果から新しい頻度表を
作り直す必要がある。
(2)コード進行の生成が全自動で行われるため、ユー
ザーにとってコード進行の作成に積極的に参加したり、
ユーザーが中心となるようなコード進行作成を行う余地
がほとんど残されない。
(3)次のコードが現コードからの遷移の最尤度によっ
て基本的に決定されるようになっている。
これはコード進行生成における短い長さ(2コードの長
さ)の制御であり、音楽性をコード進行に保証するため
の長い長さの制御や構造的な制御を欠いている。
[発明の目的] 従って、この発明の目的はメロディが作成されるより前
にコード進行を生成する改良されたコード進行生成装置
を提供することである。
本発明のもう1つの目的は自然さや一様性、多様性等の
豊かな音楽性を備えたコード進行を生成可能なコード進
行生成装置を提供することである。
本発明のもう1つの目的は意図する楽曲の構造的な特徴
に従ってコード進行を生成可能なコード進行生成装置を
提供することである。
更に、本発明のもう1つの目的はデータベースの手法に
従ってコード進行を生成可能なコード進行生成装置を提
供することである。
更に1本発明の目的はコード進行の生成におけるユーザ
ーの積極的な関与の度合をユーザーの好みや経験、知識
等に応じて広い範囲で変えることができるコード進行生
成装置を提供することである。
本発明のもう1つの目的は装置とユーザーとの間でとり
行われる会話ないし対話を通じてコード進行を生成可能
なコード進行生成装置を提供することである。
更に本発明の目的は本発明のコード進行生成装置を利用
することによってメロディを合成回部な自動作曲機を提
供することである。
更に本発明の目的はコードパターンを利用してコード進
行を生成可能なコード進行生成装置を提供することであ
る。
更に末完IJIのもう1つの目的はコード進行の一部と
して使用されるコードパターンの決定を、コードパター
ンを試聴させそれに対するユーザーの最良の判断に従っ
て行うことのできるコードパターン決定装置を提供する
ことである。
[発明の構成1作用] 本発明の1つの側面によれば、楽曲のコード進行を生成
するコード進行生成装置において、コードパターンの集
合体を表わすデータベースを記憶するコードパターンデ
ータベース手段(第2図の3D、第35図の440 、
450 )と、前記コードパターンデータベース手段と
動作ト結合し、該コードパターンデータベース手段から
複数のコードパターンを1度に1つずつ選択するコード
パターン選択手段(第3図17)F6、第34図(7)
410,420.460.第36図の38−4)と、前
記コードパターン選択手段と動作上結合し、前記複数の
コードパターンを連結して楽曲のコード進行を生成する
連結手段(第3図のF8、第34図の410.420 
、480、第36図の38−9)とから成るコード進行
生成装置が提供される。
この構成によれば、何らメロディを必要とせずに楽曲に
対するコード進行を生成することが可能である。換言す
るとメロディの代わりに本装置によって生成されるコー
ド進行が音楽的な基礎乃至音楽的な材料となり、それに
基づいて本装置のユーザーあるいは自動作曲機がコード
進行に適したメロディを作ることができる。更に本装置
はコードパターンをつないでいくことによりコード進行
を生成することができる。上記データベースはコードパ
ターン源として機能し、そこから適当なコードパターン
が選び出され、コード進行として連結されていく、従っ
て、荊提条件としてユーザーの方でコードパターンの学
習(学習すべきコードパターンは比較的多く従って覚え
るのに相当な時間がかかると考えられる)を行う必要は
全くない。
上記コードパターンデータベース手段(ファイル手段)
はその物理的なデータ構造、論理的なコードパターンの
組織や記録媒体の種類(内部。
外部のROM、RAM、各種のメモリカード)等に関し
て種々の形態を取り得る。
簡単な構成例ではコードパターンデータベース手段は単
一のファイルのコードパターンを含み、各コードパター
ンがコードの接続に関する音楽的な規則を破ることなし
にファイル上の任意のコードパターン(同じコードパタ
ーンも含む)の後につなぐことができるように構成され
る。このようなファイルは2例えばトニック(T)機能
のコードで終わるコードパターンの後には調性音楽の特
徴を損なうことなく任意のコードもしくは実質上任意の
コードをつなぐことができるという調性和声の理論を利
用することによって実現し得る。このような構成のコー
ドパターンデータベース手段は手動型のコードパターン
選択手段に有効である。なぜならデータベースからユー
ザーがどのコードパターンを選択しても前コードパター
ンとの接続に関して音楽的な妥当性が与えられるからで
あり、ユーザーはコードパターンの選択にあまり気を使
わなくてもよいことになる。さらにこのタイプのコード
パターンデータベースは自動型のコードパターン選択手
段の構成を簡略化するのに有効であり、自動コードパタ
ーン選択手段を電子的な乱数発生器を使用することで容
易に実現できる。
別の構成例のコードパターンデータベース手段は複数の
ファイルからなり各ファイルはコードパターンの集合体
を含んでいるが、その意味レベルがファイル毎に異なっ
ている0例えば第1のファイルは抽象的乃至は機能的な
レベルのコードパターンに関しており(例えばトニック
(T)、ドミナント(D)、サブドミナン) (S)の
ような機能コードの列で表わされる)、一方、第2のフ
ァイルはより具体的なレベルのコードパターン、例えば
各コードが板金とタイプとで特定される(例えばCメジ
ャー、Gセブンス、Dマイナー)ような具体的なコード
パターンを取り扱う、第1のファ・イルに置かれる機能
的な各コードパターンは好ましくは第2のファイルに置
かれる相互に異なる11体的なコードパターンのグルー
プに対応づけられる。各グループは少なくとも1つ(好
ましくは多他)のコードパターンからなる。データベー
スの用語に従うと第1のファイル(オブジェクト)は第
2のファイル(オブジェクト)に対し、一対多数の関係
、階層的関係にあり、これらのファイルは階層的なデー
タベース、即ち複数のレベル化されたコードパターンに
ついて階層化されたデータベースを構成するということ
ができる。このような複数のレベルを持つコードパター
ンデータベース手段は、単一レベルのコードパターンフ
ァイル例えば上述したような簡単な例のコードパターン
データベース手段に比べ、コード進行の過程において1
つのコードパターンを選ぶ際にその選択?比較的小さな
コードパターンのサブセットから行うことかでさるとと
もに全体としてはコード進行の為に非常に多数のコード
パターンの組合せが可能になるという利点がある。その
理由は、上の例でいえば第2のファイルが第1のファイ
ルに置かれる機能的コードパターン(ケーデンス)毎に
グループを持つように細分化(分類)されているからで
ある。
更に、別の構成例のコードパターンデータベース手段は
、複数のノードとノード間を結んでノード間にIlll
l間係を規定する複数のリンクとを有し、前記複数のノ
ードのそれぞれが少なくとも1つのコードパターンを含
み、各ノードにおける各コードパターンが前記複数のリ
ンクのなかの関連するリンクを介して別のメートに結ば
れてなるようにしたコードパターンの階層的ネットワー
クを記憶するコードパターンネットワーク手段(第45
図)によって構成される。この場合、コードパターン選
択手段と連結手段の組合せとして前記階層的ネットワー
クの前記リンクによる案内に従って前記コードパターン
データベ−ス手段を探索しながら、探索したコードパタ
ーンを順次連結してコード進行を生成するネットワーク
探索手段(第34図の4」O1第36図)が使用できる
。このコードパターンネットワーク手段は階層的なデー
タベースとみることができるが上述した抽象/具体的な
レベルのデータベースとは階層の方向の点で異なってい
る。即ちコードパターンネットワーク手段は時間方向に
階層的に組織化されており、即ちコードパターンの5a
味レベル(抽象的あるいは具体的なレベル)ではなくあ
るコードの次に別のコードがリンクし更に別のコードが
リンクするという方向で階層的に組織化されている。こ
のようなコードパターンの時間的な階層関係はコードパ
ターンのノード間を結ぶ複数のリンク乃至ポインタによ
って規定される。従って階層的ネットワーク上をあるリ
ンクのラインに沿って探索していけばコード進行を形成
するようなコードパターンの連鎖が見つかることになる
本発明のこのgI面に関して、コードパターンのファイ
ルを記憶するコードパターンファイル手段(第34図の
440)と、前記コードパターンファイル手段の各コー
ドパターンに対して、そのコードパターンに後続し得る
次コードパターン候補のセットを規定する次候補セット
規定手段(第34図の450)と、前記コードパターン
ファイル手段のコードパターンを前記次候補セット規定
手段に従って連結してコード進行を得る連結手段(第3
4図の410.420.460,480.第36図の3
6−3〜3B−Ill)とから成るコード進行生成装置
が提供される。
このコードパターンファイル手段と次候補セット規定手
段との組合せは上述したコードパターンネットワーク手
段の構成例と考えられる0次候補セット規定手段はメモ
リ上に実現されるポインタのテーブルの形式、即ち各ポ
インタが同一のコードパターンファイル内にあるコード
パターンを指すようにしたポインタのテーブルの形式を
とるのが好ましい、この構成によれば、それ以上コード
パターンファイルを追加する必要がないので記憶容量を
大幅に節約できる。
1つの好ましい構成例にかかる連結手段は、前記コード
パターンファイル手段内のコードパターンが生成中のコ
ード進行における現コードパターンとして確定する都度
、該現コードパターンに対して前記次候補セット規定手
段により規定された次コードパターン候補のセットを前
記コードパターンファイル手段から取り出し、表示装置
(第34図の470)に表示する問合せ手段(第36図
の38−3)と、前記問合せ手段により取り出され、表
示された前記セットのなかから候補を選択するユーザー
操作可能な入力手段(第34図の480)を含み、その
候補を前記現コードパターンに続く次コードパターンと
して決定する次コードパターン決定手段(第36図の3
6−4〜3B−7)と、前記次コードパターン決定手段
により決定された前記次コードパターンを前記コード進
行に連結して該次コードパターンを連結後のコード進行
における現コードパターンとして確定するコード進行延
長手段(第36図の38−11)とを有する。
この発明のもう1つの側面によれば、コード進行を生成
するフード進行生成装置において、各コ−ドパターン発
生手段において、他のコードパターン発生手段の発生す
る可変コードパターンのクラスとは異なるクラスに属す
る可変コードパターンを発生する複数のコードパターン
発生手段(第15図の15−10.15−13、15−
18)と、前記複数のコードパターン発生手段から一度
に1つのコードパターン発生手段を可変に選択するクラ
ス選択手段(第15図の15−1〜15−3)と、前記
クラス選択手段により選択されたコードパターン発生手
段から1度に1つのコードパターンを選択して、前記ク
ラス選択手段とインスタンス選択手段による選択の系列
に従って特定されるコードパターンの列によって構成さ
れるコード進行を生成するインスタンス選択手段(第1
8図;第29図、第27図;第29図〜第31図)とか
ら成るコード進行生成装置が提供される。
この構成の場合、コード進行を異なるクラスのコードパ
ターンの選択的かつ混在的な連鎖によって構成すること
ができる。したがって、単一のクラスのコードパターン
発生器で達成できるよりもはるかにバラエティ−に富む
コード進行が得られる。ここにいうインスタンスとはコ
ードパターンのクラスに属するコードパターン例を指し
ている。各クラスのコードパターン生成器は可変のコー
ドパターンを発生可能でありそのような可変のコードパ
ターンのセットによってコードパターンの1つのクラス
が4I成されるわけである。
コードパターン発生手段は、各コードが次の後続コード
に対して、トニック、ドミナント、サブドミナントのい
ずれかとして機能する比較的短いコード進行を生成する
手段を含むのが望ましい。
更に、コードパターン発生手段は各コードが次の後続コ
ードに対してドミナントコードとして働くドミナントコ
ード進行を生成するドミナント進行手段(第15図の1
5−18 )を含むことができ、更には各コードが次の
後続コードに対してサブドミナントコードとして働くサ
ブドミナントコード進行を生成するサブドミナント進行
手段(第15図の15−13)を含み得る。
複数のコードパターン発生手段の夫々はクラスを構成す
るコードパターンのファイルを記憶するファイルメモリ
の形態を取り得る。この代わりに処理装置と共に機能し
て内蔵されるアルゴリズムもしくはルールに従ってコー
ドパターンを可変に算出乃至生成する演算方式又はルー
ル型のパター、ン発生器で実現することもできる1例え
ばドミナント(D)進行のクラスのコードパターンはそ
の最初のコードと(ユーザーから供給され得る)と発生
器に内蔵されるD進行の隣り合うコード間の関係を定め
るルールから容易に演算することができる。
クラス選択手段は新たにコードパターンのクラスを指定
する入力手段、即ちコード進行の生成作業中に必要に応
じて複数のコードパターン発生器の中からアクティブと
なる発生器を選択変更するためのユーザー操作可能な入
力手段を含み得る。
このセフシコンで説明するようなコード進行生成装置を
用いてコードパターンを連結することでコード進行を作
り出すような場合には新しいコードパターンを有効かつ
妥当に決定するのが望ましい。
本発明のこの側面によれば、コード進行の一部として用
いるべきコードパターンを決定するコードパターン決定
装乙において、コードパターンのデータベースを記憶す
るコードパターンデータベース手段(第2図の3D、第
35図の440.450.第45図)と、前記コードパ
ターンデータベース手段からコードパターンを選択する
コードパターン選択手段(第3図のF6.第34図の4
10.420.480、f536図の38−4)と、前
記コードパターン選択手段の選択したコードパターンを
自動演奏する試聴手段(第34図の410.420.5
10.520 、第36図の36−5)と、前記試聴手
段の演奏に対するユーザーの応答として、演奏されたコ
ードパターンの光査を示す応答を入力するユーザー操作
可能な入力手段(第34図の480)と、前記ユーザー
操作可能な入力手段からの前記ユーザ一応答が是を示し
ているとき、前記試聴手段の演奏した前記コードパター
−4コ一ド進行の一部として決定する決定手段(第34
図の410.420、第36図の36−7.3B−9)
とから成るコードパターン決定装置が提供される。
この構成によればユーザーは選択したコードパターンを
コード進行の一部として使用するかどうかにつき的確な
判断をそのコードパターンの試着を通じて下すことがで
きる0選択されたコードパターンは自動的に演奏される
のでユーザーはその演奏を聞くのに集中でき、生成中の
コード進行との関係において演奏されるコードパターン
を正しく評価することができる。
コードパターン選択手段は手動であってもよいし自動で
あってもよい0手動構成の場合にはコードパターンデー
タベースからコードパターンを手動で選択するためのユ
ーザー操作可能な入力装置が使用でき、自動の構成の場
合には電子的に動作する乱数発生器を用いてコードパタ
ーンデータベース中のコードパターンを特定する乱数を
発生させるようにすればよい。
入力装置を用いてユーザー自身のコードパターンの知識
に従ってユーザー自身が直接1つずつコードパターンを
入力する全手動のコードパターン選択手段を採用する構
成では上述したコードパターンデータベース手段を省略
することができる。
好ましくは、試聴手段は選択したコードパターンの演奏
に先立って(できれば直前に)コード進行の演奏を自動
的に行うとよい、これにより、ユーザーは選択したコー
ドパターンと、それに先行するコード進行の部分とを直
接に且つ連続的に比較することができ、コードパターン
をコード進行に加えるべさかどうかを一層容易かつ確実
に判断でさる。
この発明のもう1つの特徴は、楽曲のコード進行の生成
のために構造的なアプローチを取るコード進行生成装置
に関している。
この発明のこの側面によれば、楽曲の少なくとも1つの
レベルにおける音楽構造を設定する音楽構造設定手段(
第3図のF1、F2、F3)と、可変のコードパターン
を生成するコードパターン生成手段(第2図の3D、第
3図のF6)と、前記コードパターン生成手段の生成し
た前記コードパターンを、前記音楽構造設定手段の設定
した前記音楽構造に基づいて1選択的に連結して前記楽
曲のコード進行を得るコード進行形成手段(第3図のF
8、F9、F10)とから成るコード進行生成装置が提
供される。
この構成によれば、音楽構造設定手段の設定した音楽構
造がコード進行形成手段に対する制御信号として働き、
設定した音楽構造がコード進行形成手段の生成するコー
ド進行に反映されることになる。
音楽構造設定手段は、楽曲における少なくても1つのレ
ベルないしデイメンジョンにおける音楽構造(例えば、
もっとも大きなデイメンジョンにおける基本的な音楽構
造、楽節レベル等の中程度のデイメンジョンにおける音
楽的な構造ないし枠組)を設定するものであれば、自動
タイプでもよければ手動のタイプであってもよい。
−構成例において、構造的アプローチによりコード進行
を生成するコード進行生Irt、装置は、楽曲において
、互に同じコード進行をもつことになる複数のブロック
を選択する反復ブロック選択手段(第3図のF2.F3
)と、可変のコードパターンを生成するコードパターン
生成手段(第2図の3D、第3図のF6)と4前記コ一
ドパターン生成手段の生成した前記コードパターンを選
択的に連結して楽曲のコード進行を生成する連結手段(
第3図のF8)と、前記連結手段の生成した楽曲のコー
ド進行が、前記反復楽!ti選択手段の選択した前記複
数のブロックのそれぞれに対して同じコード進行をもつ
ように前記連結手段を制御する反復制御手段(第3図の
F10)とを備える。
上記反復ブロック選択手段は、上述した音楽構造設定手
段の一旦体例と見ることができ、連結手段と反復制御手
段はコード進行形成手段の一具体例とみなせる1反復ブ
ロック選択手段は、楽曲の各’imのタイプを表わす楽
節構造を設定する楽節構造設定手段(第3図のF2)の
形態を取り得る。これに関連し、反復制御手段は、楽節
構造設定手段の設定した*部構造にタイプが同様な複数
の楽節が含まれる場合に、連結手段の生成したコ−ド進
行がこのタイプが同様な複数の楽節に対して、同じコー
ド進行を持つように連結手段を制御するように構成され
る。
別の構成例において、構造的アプローチによる楽曲のコ
ード進行生成装置は、楽曲の各楽節について、その楽節
が開始するときの開始音楽機能とその楽節が終了すると
きの終了音楽機能とを設定することにより楽曲の各楽節
を特徴付ける楽節特徴付は手段(第3図のF3)と、コ
ードのミニパターンを可変に生成するミニパターン生成
手段(第2図の3D、第3図のF6)と、前記ミニパタ
ーン生成手段の生成した前記ミニパターンを連結して楽
曲のコード進行を生成する連結手段(第3図のF8)と
、前記連結手段の生成したコード進行が、楽曲の各楽節
について、前記楽節特徴付は手段の設定した前記開始音
楽機能と同一の音楽機能で開始し、かつ前記楽節特徴付
は手段の設定した前記終了音楽機能と同一の音楽機能で
終了するコード進行をもつように、前記連結手段を制御
する開始/終了制御手段(第3図のF9)とから構成さ
れる。
以−Lのような構造指向のコード進行生成装置における
音楽構造設定手段は1種々の楽曲に関する音楽構造のデ
ータベースを記憶する音楽構造データベース手段と、デ
ータベースから所ψの任意の楽曲に関する音楽構造を選
択する自動あるいは手動タイプの選択手段とで構成する
のが好ましい。
これによりユーザーはコード進行の基礎としての音楽構
造をより筒中に決めることができ、しかも音楽構造に関
する知識はユーザー側には要求されない、更に、この構
成の場合2デ一タベース手段に非常に多くの音楽構造を
蓄積できるので必要に応じ種々の楽曲構造を決定するこ
とができる。
好ましい構成例に係る音楽構造データベース手段は、種
々の楽曲に関する複数の階層レベルにおける音楽構造の
データベースで構成される。このデータベースにおいて
、ある階層レベルにある各音楽構造はそれより1つ下位
の階層レベルにある音楽構造に対して1対多数ないし階
層的な関係を持つ、言い換えると、あるレベルにある音
楽構造はそれより1つ上位の階層レベルの各音楽構造に
従って分類されている。このような音楽構造データベー
ス手段(音楽構造知識記憶手段)に適する構造選択手段
では、種々の楽曲の中の任意の1つの楽曲を楽曲インス
タンスとしてこの楽曲インスタンスに関する複数の階層
レベルの各レベルについて、音楽構造データベース手段
から音楽構造を選択する。このような楽曲インスタンス
に関する選択は、音楽の階層構造の中でもっとも広範な
構造に関する最高位のレベルから始め、次いで2#目に
高いレベルに進み、以下第3、第4というように選択し
ていくとよい、これは大量の情報を含むデータベースか
ら楽曲に関する所望の階層構造を選択するのに有効な方
法である。実はこの利点は、音楽構造データベースの組
織に基づくものである。即ち、このデータベースでは各
階層レベル(但し、最高位のレベルは除く)にある音楽
構造のセットは、それより1つ上のレベルの音楽構造の
それぞれに対応するサブセットないしグループに細分化
(分類)されており、従って所望の音楽構造を選択する
ために、データベース全体をアクセスする必要はないか
らである。
一構成例の音楽構造データベース手段は、音楽形式によ
って分類された楽節構造のファイルを記憶する楽節構造
ファイル記憶手段(第2図の3A)と、前記楽節構造に
よって分類された各楽節に対する楽百開始と楽節終了の
機能のファイルを記憶する楽節特徴ファイル記憶手段(
第2図の36)とから構成される。
本発明のもう1つの特徴によれば、コード進行を生成す
るコード進行生成装置において、楽曲の少なくとも1つ
の部分に対し、ユーザーの指定したコードを設定してコ
ードを埋めるべき少なくとも1つの空白部がその楽曲に
残るようにしたコード設定手段(第3図のF3)と、可
変のコードパターンを生成するコードパターン生成手段
(第2図の3D、第3図のF6)と、前記少なくとも1
つの空白部に前記可変の一コードパターンを選択的に適
用することにより、譲歩なくとも1つの空白部にコード
を埋めて前記楽曲に対するコード進行を完成する空白埋
め手段(第3図のF6、F9)とから成るコード進行生
成装置が提供される。
この構成によれば、2段階でコード進行が生成できる。
最初の段階でユーザー操作可能なコード設定手段により
楽曲の少なくても1つの部分に。
好ましくは重要あるいは基本的ないし目立つと考えられ
る部分にコードを設定する。ここでユーザーは、このよ
うな基本的な箇所に好みのコードパターンを割り当てる
ことができる。第2段階で空白埋め手段を用いて残りの
空白部にコードパターン発生手段(これは上述したよう
なデータベースで構成できる)からの可変のコードパタ
ーンを選択的に適用することにより、空白部にコードを
埋めて楽曲のコード進行を完成させる。
所望であれば、コード設定手段は各楽曲について楽節が
開始するときのコードもしくはコードのパターンと、楽
節が終了するときのコードもしくはコードのパターンを
設定することにより、楽曲の各楽節を特徴付ける楽f!
5#徴付は手段の形態を取り得る。
更に、この発明のもう1つの側面は、装置とユーザーと
の間で取り交わされる対話や会話に基づいてコード進行
を生成するコード進行生成装置に関している。
これを連成するために、ユーザーに選択肢のリスト(そ
のなかからユーザーが1つの選択肢を選ぶ)を提示する
問合せ手段(第1図の6.第12図の12−19〜12
−28 、第13図の13−18〜13−23 、第1
86の18−6〜16−13、第33図の110 、等
)と、提示された選択肢のリストから選択された選択肢
を入力するユーザー操作可能な入力手段(第1図の5、
i12図の12−27 、第13図の13−24 、第
186の1fi−14、第33図の120 、等)と、
前記ユーザー操作可能な入力手段に応答し、前記選択肢
によって特定されるジョブを実行して対話動作の1サイ
クルを完了させるジョブ実行手段(第13図の13−1
〜13−3、第14図の14−1−14−13 、第1
6図の18−18〜18−29 、第33図の1301
等)と、前記ジョブ実行手段に応答し、選択肢のリスト
を作成して前記問合せ手段に次の対話動作のサイクルに
おいて、後・者の選択肢リストをユーザーに提示させる
ことにより、次の対話動作のサイクルを開始させる対話
譜読手段(第13図の13−14 、第186の1ft
−1〜16−4、第16図の18−1〜18−4、第3
3図の140、等)とを具備し、以って、一連の対話動
作が行われ、この一連の対話動作が対話動作の(諸)サ
イクルにおける前記ジョブ実行手段のくり返し動作によ
ってなされる一連のジョブを含み、この一連のジョブの
結果、コード進行が生成されるようにしたコード進行生
成装置が提供される。
この対話方式による構成は、上述した何れのコード進行
生成装置にも組み合わせることかでさる0例えば、1つ
の好まいし構成例では、種々の楽曲について、複数の構
造レベルにおける音楽階層構造を表現するデータベース
を記憶する音楽構造データベース手段(第2図の3A、
38、第33図の150)と、コードパターンのデータ
ベースを記憶するコードパターンデータベース手段(第
2図の3D、3D、第33図の160)と、前記音楽構
造データベースと前記コードパターンデータベースから
のデータ検索を含み、結果としてコード進行の生成をも
たらす一連の対話動作においてユーザーとの対話を行う
メニュー式インターアクティブ手段(第1図の1.2.
5.6、第33図の100)とを備え、前記メニュー式
インターアクティブ手段が、ユーザーに選択肢のリスト
(第9図のPr1sca()、第11図のform()
 、第15図のway()、等)(そのなかからユーザ
ーが1つの選択肢を選ぶ)を提示する問合せ手段(第1
図の6、第12図の12−19〜12−2[1、第13
図の13−Ift〜13−23 、第18図の16−8
〜16−13 、第33図の11O1等)と、提示され
た選択肢のリストから選択された前記選択肢を入力する
ユーザー操作可能な入力手段(第1図の5、第12図の
12−27 、第13図の13−24 、第18図の1
6−14 、第33図の120、等)と、前記ユーザー
操作可能な入力手段に応答し、前記選択肢に対応するジ
ョブを実行して対話動作の1サイクルを完了させるジョ
ブ実行手段(第1図の1.2、第13図の13−1〜1
3−3、第14図の14−1〜14−13 、第18図
の18−18〜16−29、第33図の13D、等)と
、選択肢のリストを作成して次の対話動作のサイクルに
おいて前記問合せ手段に該選択肢のリストをユーザーに
提供させることによって該次の対話動作のサイクルを開
始させる対話継続手段(第1図の1.2、第13図の1
3−14 、第186の18−1〜lB−4゜第18図
の18−1〜18−4、第33図の1401等)とを有
し、前記問合せ手段、前記ユーザー操作可能な入力手段
、前記ジョブ実行手段及び前記対話継続手段の組合せに
より、一連の対話動作が行われるようにし、以って、前
記コードパターンデータベース手段から選択した一連の
コードパターンを含み、かつ前記音楽構造データベース
手段から選択した音楽階層構造に適合した関係をもつコ
ード進行が得られるようにしたコード進行生成装置が提
供される。
好ましくは、前記選択肢のリストの代表例は、前記音楽
構造データベース手段または前記コードパターンデータ
ベース手段から選択したデータ項目のグループとともに
以前に行われた対話動作のサイクルに対応するサイクル
への復帰選択肢(“1.l?ETURN” :第12図
の12−19第13図の13−18゜第186の+e−
e 、 $)を含み、以って、ユーザーと前記メニュー
式インターアクティブ手段との間で対話が行きつ戻りつ
行われるようにするとよい。
また、重犯選択肢のリストの代表例は前記音楽知識デー
タベース手段または前記コードパターンデータベース手
段から選択したデータ項目のグループとともに自動の選
択肢(“2.AUTO”:第12図の12−19 、第
13図の13−I8 、第186の18−[1゜等)を
含んでおり、ユーザーが前記ユーザー操作可使な入力手
段により、前記自動の選択肢を選択入力した場合に、前
記ジョブ実行手段がユーザーのために前記データ項目の
グループから1つのデータ項目を選択しく第13図の1
3−4〜13−7.第14図の14−4〜14−7、第
186の18−19〜16−22、$)、それに対応す
るジョブ(第13図の13−8〜13−13、第14図
の14−8〜14−13 、第186の18−23〜1
6−29゜等)を実行し、以って、コード進行の生成に
対するユーザーの寄与を可変にし得るようにすると更に
よい。
上記メニュー式インターアクティブ手段の代りにあるい
はこれと組み合わせてユーザー主導のインターアクティ
ブ手段を設けてもよい、1つの組み合わせの例では、選
択リスト中に更にユーザー主導のモードの選択肢を追加
する。このユーザー主導のモードの選択肢が選択される
と、第2のユーザー操作可能な入力手段(これは選択リ
ストの中から1つの選択肢を選ぶための上述したユーザ
ー操作可能な入力手段と、同一の入力バードウェアを共
有し得る)にて直接的にデータ項目(例えば、コードパ
ターン)やコマンド(例えば、対話の任意のサイクルに
ジャンプすることを指示するコマンド)を入力する。こ
れにより、ジョブ実行手段は、入力されたデータ項目あ
るいはコマンドに対応するジョブもしくはプロセスを実
行する。
このセクションで説明した何れのコード進行生成装置も
楽曲を作曲するための作曲機に応用できる。1つの好ま
しい構成例において、ある楽曲に対するl以りの構造レ
ベルにおける音楽構造を設定する7キ楽構造1没定手段
(第3図のF1、F2、F3)と、IiT変のコードパ
ターンを生成するコードパターン生成手段(第2図の3
D、第3図のF6)と、前記コードパターン生成手段の
生成した前記コードパターンを、前記音楽構造設定手段
の設定した前記音楽構造に基づJ、選択的に連結して前
記楽曲のコード進行を得るコード進行生成手段(第3図
のF6、F9.F10)と、前記コード進行に基づき、
前記楽曲のメロディを合成するメロディ合成手段(第3
3図の200)とから成る作曲機が提供される。
以上の説明及び特許請求の範囲において、図面の参照符
号を関連する要素についてかっこ入りで使用している。
これは本件の主題の特徴が千つ堆り速く読者に理解され
るようにしたものであり。
請求項の範囲や意味の解釈に使用されることは意図して
いない。
[実施例] 以下、本発明を実施例について詳細に説明する0便宜上
、各節には見出しを付けである。最初に、本発明の理解
を容易にすべく1本書で使用されるいくつかの用語につ
いて説明する。
肚−」 「音楽構造」 (全体)という用語は、音楽の動的な過
程から導かれる楽曲の階層的乃至は複数のレベルの構造
の意味で使用する。音楽の過程に従い人間の感覚と経験
を通じて似たような知覚が人間の心に引き起こされるも
のである。更に同一の用語は本発明の装置のように物理
的な装置内部で使用される場合にそのような音楽構造を
表わすデータの意味としても使用する。用語「凸形式」
は主として楽曲における最も広いレベル或は最も高いレ
ベルにおける楽曲構造(上述した全体の楽曲の一部)を
指すものとする。用語「楽節構造」は楽節レベルにおけ
る音楽構造を意味する。楽節構造は楽曲における各楽節
のタイプの連鎖によって表わすことができる6例えばA
−B−A−B ’で示される楽節構造は第1楽節がタイ
プAであり、第2楽節が第1楽節とは違っていて従って
タイプBであり、第3楽節が第1楽節と同じでタイプA
であり、4番目のすなわち最後の楽節がB′であること
を示している0曲形式のレベルから言うと、このA−B
−A−B ’の音楽は2部形式であると言うことができ
る。
即ち、最初の2つの楽[A−Bは1つの大楽節Xと見る
ことができ、この最初の大楽節X(=A−6)に対し2
番目の大楽節はA−B ’で異なっているのでYと呼ぶ
ことができる。従って、A−B−A−B ’の音楽はx
−Yの形に書き直すことができる。従って、XとYの2
つの部分から成るので2部形式の音楽と言うことができ
る。もう1つの例としてA−B−C−D−A−Bで示さ
れる楽節構造を考えてみると、X=A−8、Y=C−D
とtくことによりx−y−xの3つの部分に還元できる
。従って、A−B−C−D−A−Bの音楽は3部形式の
音楽に属するということができる。
この発明の実施例では、音楽を形式レベルにおいて3つ
のカテゴリーに分類する。第1は1部形式、第2は2部
形式、第3は3部形式である。しかしながら音楽の凸形
式レベルでの分類としてその他の分類法が採用できる0
例えば音楽をそれ以り小さな自己完結した形式に分ける
ことのできない単純形式と複数の単純形式(例えば、楽
章)を含む複合形式とに分けることができる。
用語「楽節」は音楽の構成(シンタックス)単位の意味
で使用する。比較的大きくて2あるいはそれ以上の小さ
な楽節を含む大楽節も楽節であり、比較的短く大楽節の
一部として使用されるような小楽節も楽節である。楽節
が対をなして結合して階層構造を呈することがしばしば
ある。上述したA−B−A−B ’の音楽の場合で言え
ば八−−Bの2楽箇(それぞれ例えば4小節の長さをも
つ)で単一の8小節の楽節が形成される。
用語「楽節開始機能」は、楽節が開始するとさの音楽機
能(例えば、SIt性和声機能)であり、−方、楽節終
了機能は楽節が終了するときの音楽機能である。楽節の
開始機能と終了機能との対はその楽節を特徴づける音楽
要素あるいはその楽節内での基本的な音楽構造乃至は進
行を示すと見ることができる。従って、楽曲の各楽節に
対する1組の楽節開始終了機を七によりその楽曲の楽節
特徴構造が定められる。
コードパターンはコードのパターンであり、抽象的なレ
ベル(!lk能レベル)あるいはより具体的なレベルで
表現することができる0例えば機能的なコードパターン
は、トニック(T)、ドミナント(D)及びサブドミナ
ン) (S)の3つの和声機山のうち少なくても1つを
使用した和声機能の組合せ(ケーデンス)によって表現
できる。あるいは機部的コードパターンをローマ文字の
系列例えばIV−V−1、V (V−I) ヤII (
II−V−■)などで表現してもよい、この発明の1つ
の側面によれば可変のコードパターンを一度に1つずつ
選択し、互いに連結して楽曲のコード進行を形成する。
したがって各コードパターンは長いコード進行のユニッ
トとして機能する。より具体的なコードパターンは根音
とタイプを特定するシンボルの列1例えばDais  
Gr  Caaj  (コ、:ニDsi自はタイプがマ
イナーの3和音で根音がDのコード、したがってその構
成音はり、F、Aであり、C7はタイプがセブンスで根
音がGのコード、したがってコード構成音がG、8、D
、Fのコードを指し、 C5aj はタイプがメジャー
の3和音で根音がCのコード、したがってコード構成音
がC,E、Fのコードを指す)のような系列によって表
現できる。
先生貞羞 第1図に本実施例に係るコード進行生成装置の全体構成
を示す、同図において、lはCPUであり、プログラム
メモリ2にあるコード進行生成プログラムに従って動作
し、コード進行を生成する。3はファイルメモリであり
、コード進行を生成するために、各階層のファイルが置
かれている。4はワークメモリであり、CPUIの作業
用メモリとして使用され、生成されたコード進行のデー
タもここに蓄えられる。5は入力装置であり、ファイル
メモリ3上の各種ファイル内のデータの選択のための入
力等がこれを介して行われる6表示装置6はユーザーか
らの入力の選択項目(メニュー)の表示、ファイルメモ
リ3上の各種ファイルのデータの表示、生成したコード
進行の表示等を行う。
ファイル編成 次に、第2図を参照して第1図のファイルメモリ3に置
かれる各種ファイルについて説明する。
楽節構造ファイル3Aは楽曲の形式毎に分類された楽節
構造のファイルを持っている0図では、−部形式用と、
二部形式用と三部形式用のサブファイルがあり、外部に
示す選択された楽曲形式によって、各形式のサブファイ
ルが選択できる。つまり、選択された楽曲形式が楽節構
造ファイル3A内の各サブファイルを指示するポインタ
として働く、各形式用のサブファイルには1以上の楽節
構造のグループが入っており1図では、第X番目の楽節
構造がA−B−A’−B’、第(x+1)番目の楽節構
造がA−A−B−Bで示されている。
この楽節構造ファイル3A内で選択した楽節構造は楽節
開始終了機部ファイル3Bへのポインタとして働く、す
なわち、楽節開始終了機能ファイル3Bは各楽節の開始
機能と終了機能のデータを楽節構造によって分類された
形式で有しており21つの楽節構造に対して選択可能な
1以上の開始機能の列と終了機能の列をもっている0例
えば、A−B−C−Aの楽節構造に対しては、第1楽節
Aの開始機能がT(トニック)、第2楽tMBの開始機
能がS(サブドミナント)、第3楽@Cの開始機能がD
(ドミナント)、第4楽gAの開始機能がTであること
を表わすデータT−5−D−Tの他に、全楽節の開始機
能がトニックであることを表わすデータT−T−T−T
を持っている。したがって、楽節構造A−B−C−Aに
対してはT−3−D−Tの開始機能の列か、T−T−T
−Tの開始機能の列が選択可ftである。
3Cはケーデンス機能ファイルであり、ここに、楽曲の
コード進行の単位としてのケーデンス(ミニコードパタ
ーンの機能表現)のデータが記憶される。ケーデンス機
能ファイル3Cはメジャー用ファイルとマイナー用ファ
イルとに分かれており、外部で選択されたモード(メジ
ャー/マイナー)によってそれぞれをアクセスできる0
図ではメジャー用のケーデンスのNo、lとしてT−D
−Tを、陽、2としてT−5−Tを示しである。
このケーデンス機能ファイル3C内で選択したケーデン
スにより、コードパターンファイル3Dとリズムパター
ンファイル3Eにおけるケーデンス対応のコードパター
ンとリズムパターン(コード長の列)のデータをアクセ
スできる。コードパターンファイル3Dとリズムパター
ンファイル3Eはメジャー用とマイナー用とに分かれて
おり、コードパターンファイル3Dには1つのケーデン
スに付き、1以上の具体的なコードパターンが用意され
ている0例えば、T−D−Tの機能ケーデンスを具体的
なコードのパターンに変換したものとして、CMAJ−
G7−CMAJ (第1候補)、CMAJ−CS2−C
MAJ (第2候補)等がある。ただし、後述の例では
、リズムパターンファイル3Eにはケーデンスとl対l
対応のリズムパターンを持たしている。
コード進行 酸機能 本実施例におけるコード進行生成の主な機能を第3図に
示す、楽曲形式選択部Flにおいて、楽曲の形式が選択
される。この選択はユーザーが入力装置5を介して直接
指定してもよければ、コード進行生成装置が自動的に選
択してもよい(他の選択要素F3、F4、F5、F6に
ついても同様であり、これにより、コード進行の生成に
関してユーザーが関与する度合を広範囲に変えることが
できる)0選択された曲の形式のデータはIJ1’f構
造選択部F2に送られ、ここでその形式に属する楽節構
造のファイル(グループ)のなかから1つの楽節構造が
選択される。(第2図参照)、すなわち、楽節構造選択
部F2はファイル上より、選択された面形式に属する楽
節構造グループ(ファイル3Aの一部)を取り出し、そ
れを表示装置6(第1図)に表示して、ユーザーに入力
装置5からの楽節構造の選択入力をうながすか、ユーザ
ーからの自動指示の下でその楽節構造のグループのなか
から1つの楽節構造を自動選択する。楽節構造選択部F
2により選択された楽節構造のデータは楽節開始終了機
能生成部F2に送られ、ここで選択された楽節構造に対
する楽節開始・終了機能グループ(ファイル3Bの一部
)が取り出され、そのなかから、各楽節の開始機能と各
楽節の終了機能が選び出される。
F4は調性選択部であり、ここで、調性(モードと主音
)が選択され1選択されたモード(メジャー/マイナー
)はケーデンス選択部F5に送られてモードに属するケ
ーデンスグループ(ケーデンス機能ファイル3Cの一部
)を特定する。コード進行の生成実行時において、コー
ド進行形成部F8からケーデンスが要求される都度、ケ
ーデンス選択部F5は新しいケーデンスを選択する。し
たがって、ケーデンス選択部F5からは可変のケーデン
スの列が出力されることになる。ケーデンス選択部F5
で選択されたケーデンスのデータはコードパターン選択
部F6に渡され、ここで、そのケーデンスに属するコー
ドパターンのグループ(コードパターンファイル3Dの
一部)のなかから1つのコードパターンが選択され、こ
れがコード進行形成部F8に入力される。更に、ケーデ
ンス選択部F6からの選択ケーデンスはリズムパターン
選択部F7に送られてリズムパターンに変換され、それ
がコード進行形成部F8に入力される。
コード進行形成部F8は曲のコード進行を楽節ごとに分
けて生成するところであり、コードパターン選択部F6
からのコードパターンを連結してコード進行におけるコ
ード名の列を得るとともに、リズムパターン選択部F7
からのリズムパターンを連結してコード進行におけるコ
ード長の列を得る。コード進行を楽節によって分けるた
め。
コード進行形成部F8はコード進行の生成開始時に楽節
構造選択部F2より楽曲の楽節数の情報をもらい受け、
生成中は、開始/終了マツチング部F9に進行中のコー
ド進行の楽節番号を送り、開始/終了マツチング部F9
から楽節の境界の合図があったときはコード進行に楽節
の区切りを付け1次の楽節のコード進行の生成に移る。
開始/終了マツチング部F9はコード進行における楽節
の境界を検出するために、楽節開始終了機能生成部F3
から、各楽節の開始機能と終了機能のデータをもらい受
け、ケーデンス選択部F5からのケーデンスの流れ(機
能コードの列)をモニターし、そのなかに、現楽節の終
了機能を前の機能コードとし、法楽節の開始機能を後の
機能コードとする機能コードの対を見つけたときに、前
の機能コードが現楽節のコード進行の終わりであり、後
の機能コードが次の楽節のコード進行の始まりであると
して楽節の境界を検出する。なお、曲の最初の楽節の開
始コードのチエツクと曲の最後の楽節の終了コードの検
出については単純化される。
以上の構成により、コード進行形成部F8において、楽
節開始終了機能生成部F3の指定した各楽節の開始機能
と終了機能とに一致するコード進行が得られることにな
る。
以上の機能によるコード進行生成例を第4図に示しであ
る。この例では楽曲形式として二部形式を選択し、二部
形式に属する楽節構造グループのなかから、A−B−A
−Bの楽節構造を選択し、このA−B−A−Bの楽節構
造に属する開始終了機能グループから開始機能としてT
−D−T−Dを選択し終了機能として5−T−3−Tを
選択している。同図(E)に示すようにケーデンス連結
(機f七しベルのコード進行の生成)は、l!上の構造
的特徴に従って行われる。すなわち、第1楽節Aの第1
ケーデンスT−D−Tは、第1楽節Aの開始機能である
トニックTから始まり、以下、第1ケーデンスに後続す
るケーデンス列のなかで、第1楽箇Aの終了機能である
サブドミナントSと第2楽節Bの開始機能であるドミナ
ン)Dを一致する機能コード対の境界が第1楽!11A
の機能コード進行と第2楽[8の機能コード進行との境
界となる。以下、同様にして、他の楽節の機能コード進
行も区分けされる。第4図(F)に示すのは機能レベル
のコード進行(E)の各ケーデンスをコードパターンに
変換したものである(図の例ではハ長調を想定しである
)。
なお、第3図では、コードパターンへの変換はケーデン
ス選択部F5で新しいケーデンスが選択される都度、コ
ードパターン選択部F6によって行っているが、第4図
の(E)、(F)から明らかなように、いったん機能レ
ベルにおいて曲のコード進行を完成させた後で具体的な
コード進行に変換してもよい、あるいは、機能レベルの
コード進行の完成をもって処理を完了させてもよい、第
4図ではコード進行の各コードの長ざの列(リズム)に
ついては示していないが、これは、 第31iUのリズ
ムパターン選択部F7はなくてもよいからである。
第3図のコード進行生成機能には上述した機能以外にコ
ード進行の楽節反復機能が含まれる。これに関係する要
素は反復検査部F10である。すなわち、反復検査部F
10は楽節構造選択部F2からの楽節構造データと楽節
開始終了機f先生酸部F3からの各楽節の開始終了の機
能データを受け、コード進行を反復すべき楽節の有無に
ついて調べる0反復楽節の条件は、その楽節のタイプと
開始機能と終了機能とが先行する楽節のタイプと開始機
能と終了機能とに一致することである1例えば、第4図
に示す楽節構造A−B−A−Bでは第3楽節は第1楽節
と同じタイプAであり、第4楽節は第2楽節と同じタイ
プBである。更に、開始終了機能に関し、第3楽節は第
1楽簡と同じT−5であり、第4楽節は第2楽節と同じ
D−Tである。したがって、第3楽節は第1楽節の反復
楽節であり、第4楽節は第2楽節の反復楽節である。こ
のような情報が、反復検査部F10からコード進行形成
部F8に渡され、これを受けてコード進行形成部F8は
反復楽節のコード進行を指定された先行某所のコード進
行に一致させて生成する。
なお、後述するフローでは先行楽節として直前楽節のみ
を考慮しているので、第4図の楽節構造A−B−A−B
の場合はコード進行の反復は行われない。
第3図に示すコード進行生成機能はフローチャー4に従
って後述する実施例におけるすべての機能を示したもの
ではなく、そのなかには、第3図に示されないものとし
て、S(サブドミナント)進行を実現する機能とD(ド
ミナント)進行を実現するaf先とが含まれる。S進行
というのは後のコードに対して前のコード示すブドミナ
ントとして機能するコードの連鎖であり、D進行という
のは後のコードに対して前のコードがドミナントとして
機能するコードの連鎖である。このS進行とD進行と上
述したケーデンスの連鎖による進行(ケーデンス進行)
は後述するフローにおいて、コード生成法の選択酸とな
っており、使用者は曲のコード進行の生成過程において
、適宜、所望のコード生成法を選択することにより、ケ
ーデンス進行にD進行やS進行が付随した/(リエーシ
迩ンに豊み、自然な感じのコード進行が得られる。
正−1 以下、フローチャートを参照してコード進行生成プロセ
スの詳細を述べる。
くゼネラルフロー〉 第5図にコード進行生成のゼネラルフローを示す、5−
1でCPUIは初期設定を行い、5−2でファイルメモ
リ3上にある各データファイルをワークメモリ4に読み
込む、5−3ではコード進行の生成における各種の選択
の項目に関して自動で行うか使用者の指定で行うかが決
められる。
5−4で調性が決定される1次に5−6で楽曲の形式が
選択され、5−7で楽節構造が決められ、5−8で各楽
節の開始機能と終了機能が決められる。ここまで楽曲の
構造が決定され、5−10において、コード進行生成法
がケーデンス法、S進行、D進行のなかから選択され、
選択されたコード進行生成法に従ってコード進行が生成
される。
5−9においてすべての楽節に対するコード進行が生成
されたことが確認されると、5−11でそのコード進行
を表示装置6に表示し、それに対するユーザーの返事を
入力装置5より受は取る。ユーザーの返事が満足のとき
は5−5において0K=1が成立し、コード進行生成処
理が完了する。
なお第5図では示していないが、実際のプログラムには
コード生成作業の前段階にリターンできる機能が付いて
おり、これを利用することにより、ユーザーはいったん
選択したものを撤回してより望ましいものに変更するこ
とができる。
くデータファイルの読出し〉 ゼネラルフローの5−2で実行されるデータファイルの
読出し処理の詳細を第6図に示す、6−1でファイルメ
モリ3上のLISTdtファイルをオープンする。この
ファイルはデータファイルのリスト用のファイルであり
、第7図(A)に示すように各アドレスに各データファ
イルの先頭アドレスの情報が入っている。詳細には最初
のアドレスには某所構造ファイルの番地情報があり、以
下1開始機能ファイル、終了機能ファイル、ケーデンス
ファイル、メジャーコードパターンファイル、マイナー
コードパターンファイル、リズムパターンファイルの記
憶場所が示されている。最後のアドレスにあるEOFは
ファイル終了コードである。これらのデータファイルの
フォーマットは第7図(6)に示すようになっており、
1つのファイルが1乃至複数のグループから成り、グル
ープ間にはグループを仕切るマーク°崩°があり。
1つのグループは1乃至複数の行から成り、行間マーク
として“/ n ”が付いており、1つの行はl乃至複
数の列から成り、列間マークとして° ′が付けられる
。したがって、第6図の6−2でL I STd tフ
ァイルのアドレスポインタPを初期化し、6−3〜6−
20において、LISTdtファイルのアドレスを走査
しながら、各データファイルのアドレスを走査し、デー
タファイルの各アドレスにあるデータを、ファイル名f
、グループ名g1行番号n、列番号dnで特定されるd
ata (f、g、n、dn)にセットしている。
詳細には、6−3で、ポインタPの示すLISTdtフ
ァイル上のアドレスにあるデータを読み込み、それが、
ファイル終了コードEOFでなければ(6−4でNo)
 、そのデータはデータファイルを指すのでそのデータ
ファイルをオープンしく6−5)、そのデータファイル
の番号fをセットするとともに、そのファイルのグルー
プ名、行番号1列番号を初期化し、そのデータファイル
のポインタP2を初期化する(6−6.6−7)。
以下、ポインタP2で示されるデータファイル上のアド
レスにあるデータをロードしく6−8)。
そのデータファイルのファイル終了コードEOFが見つ
かるまで、ポインタP2をインクリメントしながら(6
−17)、次の処理を行う、すなわち1列区切りマーク
゛ °でも、行区切りマーク°/n°でもグループ区切
りマーク“陥′でもないデータを読んだときには(6−
10〜6−14いずれも陽の場合)、そのデータをda
t a(f、g、n、dn)にセットしく6−16)。
列置切り° ゛を読んだときには列番号dnをインクリ
メントしく8−11)、行区切りマーク“/ n ’を
読んだときには先行する行に含まれる列のデータの数を
dnmax (f、g、n)にセットするとともに、列
番号dnを先頭に戻し、行番号をインクリメントしく6
−13)、グループ区切りマーク“陥゛を読んだときに
は先行するグループに含まれる行の数をnmax (f
、g)にセットし1行番号nを先頭に戻し、グループ番
号gをインクリメントする(6−15)、6−9でデー
タファイルの終了コードEOFを読んだときにはそのデ
ータファイルに含まれるグループの数をgmax (f
)にセットし、そのデータファイルをクローズしく6−
18) 、LISTdtファイルのアドレスポインタP
をインクリメントして(6−19)、6−3に戻る。6
−4でLISTdtファイルの終了コードEOFを読ん
だときには1IsTdtフアイルをクローズしく6−2
0)、データファイルの読出し処理を完了する。
この読出し処理で得たdat a (f、  g、  
11、dn)はファイルf、グループg、行n、列dn
のデータであり、dnmax (f、g、n)はファイ
ルf、グループg1行nに含まれるデータの数であり、
gmax (f、g)はファイルf−グループgに含ま
れる行の数であり、gmax(f)はファイルfに含ま
れるグループの数である。
以下の説明では、便宜上、なじみやすい名前を付けて、
データファイルの情報を呼ぶことにする0例えば、f=
1は楽節構造データファイルを示すので、楽節構造デー
タファイルflと呼び。
f=1.g=1は楽節構造データファイルにある一部形
式のグループを示すので、楽節構造データファイルfl
の一部形式のグループglと呼ぶことにする。
く自動化部分決定〉 ゼネラルフローの5−3で実行される自動化部決定処理
の詳細を第8図に示す。
自動化の項目には、1、調性、2.楽曲形式、3、楽節
構造、4、コード機能(楽節の開始終了機能)、5、コ
ード生成法、6.コードパターン、7、リズムパターン
があり、各項目について、自動にするかユーザーの選択
によるかの決定をt58図のフローで行っている。これ
は、8−2に示すように表示装R6に項目を表示してユ
ーザーに自動かユーザー選択かを問い合わせ、8−3に
示すように入力装置5を介して入力されたユーザーの返
事をaut i ng (i)にセットすることによっ
て行っている。 aut i ng (i) =0はi
番目の項目についてはユーザー自身で選択することを意
味し、auting(i)=1はi番目の項目が自動的
に行われることを意味する。なお、この決定は最終決定
ではなく、リターン機能等を用いることにより、変更可
能である。
く調性決定〉 次にゼネラルフローの5−4で実行される調性決定を詳
細に説明する。
調性の決定処理は主音の決定とモード(メジャー/マイ
ナー)の決定とに分かれており、第9図のフローで主音
が決定され、第1O図のフローでモードが決定される。
1庁の決定(第9図)では、最初に、自動化部決定処理
(第8図)で調性を自動決定にしたかユーザに選択した
かをauL i ng (0)の内容から確認しく9−
1)、ユーザー選択を示しているならば、第9図の右下
に示すような主音選択メニューPr1sca ()を表
示する0番号3から14が主g CからBに対応し、番
号lはリターンの選択岐であり1番号2は自動の選択岐
である。
これらの選択岐のなかから、ユーザーは1つの番号を選
択し、それがCPUIにより5CALEにセットされる
(9−3)、調性を自動選択したときには5caleに
は自動°2′がセットされる( 9−−1.9−4)。
9−5で、処理済判定用のフラグdum+n17を′l
′にセットし、9−6から9−13において、調の主音
データが決められる。ここに、調の主音データは0″が
Cを表わし、“loがC#を表わし、以下同様にして1
1’がBを表わすようになっている。この数値表現は主
音選択メニューprisca()における番号から3引
いた値をもつ、したがって、ユーザーが主音のいずれか
を選択したときには、9−8から9−9に進んで5ca
leの値を3つ減らす処理を行う、そして、9−1Oで
は主音決定完了を示すためdummyに0°を代入する
。一方、自動を選択した場合には、9−9で5cale
=2が成立し、ループ9−11.9−12で、乱数発生
により、主音の選択酸に対応する数を生成し2それを5
caleに代入しく9−13)、再び9−6に戻った後
、9−7.9−8を通り、9−9で、5ea1eが最終
的な主音の数値表現にデータ変換される。主音選択メニ
ューprisca()においてリターン(番号l)を選
択したときには、9−8から自動化部分決定処理(第8
図)ヘリターンする。9−6でdummy=0により、
主音が決定されたことが確認されたとさは、モード決定
処理(第1O図)に進む。
要約すると、主音決定のフローでは、調性の自動/ユー
ザー選択に従い、ユーザー選択の場合には、主音の選択
メニューを表示してユーザーの選択をうながし、ユーザ
ーの選択した主音を採用し、自動の場合には乱数により
、主音を決める。
メニューにはリターンと自動の選択酸も付いており、リ
ターンを選択したときには1つ前のプロセスである自動
化部分決定処理に戻ることができる。また、自動化部分
決定処理でユーザーによる指定を選択していた場合でも
、メニュー表示に対する入力の段階で自動に変更するこ
とが可ttである。このリターン機能と自動への変更機
能は他の処理段階にも付いている。
モード決定熱8!(第10図)のフローは調性決定処理
のフローとよく似ているので簡単に説明する。まず、調
性が自動かユーザー選択かを調ベユーザー選択のときは
、モード選択メニューfuncaiを表示し、メニュー
(1、リターン、2゜自動、3、長調、4、短調)のな
かからユーザーの選択したものをaoiにセットする(
l O−1〜1O−3)、一方、自動選択のときには乱
数によってモードaoiを決める(10−1.10−4
.1O−7〜1O−10)、モードは”Ooが長調(メ
ジャー)、1が短i1(マイナー)を表わすので、ao
iのデータ変換を行う(10−11〜1O−13)、メ
ニューのなかでリターンが選択されたときには主音決定
処理(第9図)にリターンする。
く楽曲形式の決定〉 次にゼネラルフローの5−6で実行される楽曲形式の決
定処理の詳細を説明する。この処理は第11図の11−
1から11−11で行われる。
まず、楽曲形式が自動かユーザー選択かをaut i 
ng [11の内容から判別しく11−1)、ユーザー
選択の場合には面形式の選択メニューfarm()を表
示する(11−2)、このメニ、−form()は1、
リターン、2、自動。
3、一部形式、4、二部形式、5、三部形式である。こ
のメニューのなかからユーザーの選択した番号をCm 
Hにセットする(11−3)、一方、自動の場合にはc
mnに自動“2°を代入する(11−1、11−4)。
メニューからリターンを選択したときには、Cmn= 
1であるので、11−5.11−6.11−7、ti−
sと進んで、モード決定処理(第1O図)ヘリターンす
る。メニューからいずれかの形式を選択したときは、c
mnは3〜5であるので11−51.11−6.11−
7を経て、11−12以降の楽節構造選択処理へ進む、
自動を選択したときにはc m n = 2であるので
、11−6より、11−7.11−8を経て、11−9
から11−11において、乱数により、形式が選択され
てcmnにセットされ、その後、11−7に戻ってから
、11−12以降の楽節構造選択処理へ進む。
以上のように、実施例の場合、選択可能な楽曲の形式と
して、一部形式、二部形式、三部形式があり、自動生成
またはユーザーの選択した形式の情報がcmnに格納さ
れることになる。
く楽節構造選択〉 次にゼネラルフローの5−7で実行される楽節構造選択
処理の詳細を説明する。この処理は第11図の11−1
2〜11−25.11−6と第12図の12−I N1
2−7.12−8〜12−12で行われる。
上述したように、楽節構造データファイルflは楽凸形
式別に分類されている。したがって、上述の楽曲形式選
択処理で得た曲の形式情報(cmn−2)をgにセット
し、f=1とすることにより、楽節構造データファイル
flのなかで選択された形式に属するグループgを呼び
出す(11−12,11−13)、ここでのn=tはそ
のグループgのなかの最初の楽節構造の番号であり。
dn=1はその最初の楽節構造の最初の楽節の番号を意
味する。また、N0=3は後述する楽節構造選択メニュ
ーにおいて表示される最初の楽節構造候補に対する選択
酸の番号を表わしている6次に、11−14で楽節構造
の項目が自動かユーザー選択かをaut i ng [
2]の内容から判別する。
ユーザー選択の場合には11−15から11−23にお
いて、楽節構造の選択メニューを表示し、そのなかで、
ユーザーの選択したものを取り込む、楽節構造の選択メ
ニューは、選択番号lがリターン、2が自動であり1選
択番号3以降に、楽節構造データファイルfl内の選択
した凸形式gρ属する楽節構造のリストが表示される。
詳細には、11−15で“11 リターン、2、自動”
を表示し、11−16でNoとdata(f、g、n、
dn)すなわち、楽節構造データファイルflの形式g
におけるn番目の楽節構造データ(例えば、 A−B−
A−6) ノd n番目の楽mのタイプを表示する。1
1−16.11−17゜11−18をループして、n番
目の楽節構造のデータの読出しの完了をその楽節構造の
楽節の数dnmax (f、g、n)から検知したら、
楽節番号dnを先頭に戻す(11−19)、そして。
11−20で選択された形式gに含まれる全ての楽節構
造の読出しが完了したかどうかをその形式gの楽節構造
の数nmax(f、g)を参照してチエツクし、完了で
なければ、選択酸の番号崩と楽節構造の番号nをインク
リメントして11−15に戻る。したがって、nmax
 (f、g)=nが11−20で成立したときには1表
示装置I!6の画面に1選択形式gに属する楽節構造の
リストが表示されていることになる。そして、n=1に
戻しく11−22)、入力装置5から1選択番号が入力
されたら4それをfrnにセットする。
frn=1はリターン、2は自動、3は形式gの1番目
の楽節構造基、4は形式gの2番目の楽節構造基(以下
同様)を表わす。
一方、11−14で楽節構造が自動になっているときは
、frnに自動“2′がセットされる。
この自動frn=2のときには、第12図の12−4で
YESに分岐し、12−5.12−6.12−7におい
て、乱数により1選択楽節番号が生成され、frnにセ
ットされる。
選択メニューでリターンfrn=1を選択したときには
、12−4でNOに分岐し、楽曲形式決定処理(第11
図の11−1)ヘリターンする。
12−3−c、3≦frn≦nmax [f、gl12
が成立するとさは楽節構造が決定されているので、12
−8から12−12において、決定された楽節構造のデ
ータをfLIST(dn)にセットする。これは、楽節
構造データファイルflのなかから1選択曲形弐gにお
ける選択構造番号nの行にあるdata (f、g、n
、dn)をdn=1−dnmax (f、g、n)だけ
取り出して配列f1.l5T(dn)に移すことで行わ
れる。
く楽節開始終了機能生成処理〉 次に、ゼネラルフローの5−8で実行される楽節開始終
了機能生成処理について詳細に述べる。
この処理は楽節開始機能生成処理と楽節終了機能生成処
理とに分かれており、前者は第12図の12−13〜1
2−29.12−2、第13図の13− I N13−
13で行われ、後者は第13図の13−14〜13−2
5と第14図において行われる。
上述したように、楽節開始機能ファイルf2と楽節終了
機能ファイルf3は楽節構造データファイルflにある
楽節構造別に分類されている。したがって、楽節開始機
能生成処理の最初の処理は1選択された楽節構造の情報
に対応する楽節開始機能ファイルナ3内のグループgを
見つけることである。このグループに対するアドレス計
算は、第12図の12−13から12−16で行われて
いる。すなわち、楽節構造データファイルflにおける
形式Xのn番目の楽節構造に対するファイルf3のグル
ープ番号gは。
構造データファイルflの形式iに属する楽節構造の数
を表わす、12−17で楽節開始機能ファイルf2にお
ける選択楽節構造に対応するグループどの先頭をセット
する。
そして、12−18で楽節機能の項目が自動(auL 
i ng [3] =1)がユーザー選択(0)のいず
れになっているかを判別し、ユーザー選択の場合には、
表示装置6に“1、リターン、2、自動”に続いて、選
択した楽節構造に対する各楽節の開始機能のリスト(例
えば3、T−T−T−T、4、T−D−T−I)、等)
が付く選択メニューを表示し、ユーザーから入力された
選択酸の番号を5connにセットする(12−18〜
12−27)、したがって、いずれかの開始機能を選ん
だときには、5connには3からnmax (f、g
)12よ−c’tyt値が入る。一方、楽tt+機能の
項目が自動化の項目になっていたときは5connに自
動°2′をセットしく12−16、12−28)、第1
3図の13−4の後の13−5〜13−7で乱数により
、開始機能の番号を生成し、5connにセットする・
なお・選択メニューでリターン5conn=1を選んだ
ときには、13−4より楽曲形式決定処理(il1図の
1t−i)ヘリターンする。
楽節開始機能が決定されたことが、13−3で確認され
たとぎは、この決定された楽節開始機能のデータを記憶
する。すなわち13〜Bから13−11において、楽節
開始機能ファイルf2の選択楽節構造に属するグループ
gのなかから選択した楽節開始機能の行n (n=sc
onn−2)のデータdata (f、g、n、dn)
を取り出し、配列5func(dn)にセットする。
楽節開始機能も楽15 Bl # m能と同様にして選
択される。すなわち、13−14で楽節終了機能ファイ
ルf3から呼び出すべきグループgの先頭を決める。こ
こでは、グループ名gは開始機能の番号C5conn−
2)と開始機ず先ファイルf2の選択グループから計算
できるようになっている。
すなわち、終了機能は、1つの開始機能に付さ、1以上
の候補があることを想定しである。以下、楽節開始機能
の生成処理の場合と同様にして、ユーザー選択の場合に
は、終了機能グループgに含まれる終了a山(例えば、
D−T−D−T)のリストがファイルf3から取り出さ
れて1、リターン、2目動とともにメニュー表示され、
そのなかから、1つがユーザーによって選択される(1
3−17〜13−24)、また、自動の場合には、乱数
により終了機ず駈の番号econnが生成される(13
−15.13−25.14−4〜14−7参照)、決定
された終了機能のデータは配列efunc(dn)にセ
ットされる(14−8〜14−11)、また、メニュー
のなかからリターンを選択したときには楽節開始機能の
決定処理(第12図の12−1)ヘリターンする。
なお、楽節開始機能のデータと楽節終了機能のデータと
を1対l対応にした場合には、楽節開始機能生成処理と
楽節終了機ず先生酸処理を分ける必要はなく、1つの楽
節開始終了機能ファイルにおける楽節開始終了機能デー
タのフォーマットを第1楽市の開始機能→第1楽簡の終
了機能→第2楽簡の開始機能→第2楽節の終了機能・・
・・・・のようにストリングで構成し、決定した楽節構
造に対する各楽荀の開始終了機能のリストを楽節開始終
了機能ファイルから取り出してメニュー表示し、このリ
ストのなかからユーザーが選択するようにしてもよい。
くコード進行生成性決定〉 次にゼネラルフローの5−1Oで実行されるコード進行
の生成方法の決定処理について説明する。この処理の詳
細を第15図に示す、まず、15−1でコード生成法の
項目が自動かユーザー選択であるかをauting[4
]の内容から判別し、ユーザー選択の場合にはコード生
成の選択メニューWAY()として、1、リターン、2
自動、3、ケーデンス、4、S進行、5.D進行を表示
しユーザーからの選択入力をWAYHにセットする。リ
ターンWATN= 1のときには15−5から15−6
.15−7.15−9.15−12.15−15を経て
楽節開始終了機能決定処理(第13図の13−1)ヘリ
ターンする。メニューから自動WAYN=2を選択した
ときには15−7より15−8に進んでケーデンスWA
YN=3にセットし直し、15−9をYESで1分岐し
、15−10で示すケーデンス進行によるコード進行生
成処理を実行する。S進行WAYN=4を選択したとき
には、15−12からY E S テ分岐して15−1
3に示すS進行によるコード進行生成処理を実行する。
また、Diffi行WAYN=5を選択したときには1
5−15からYESで分岐して15−16に示すD進行
によるコード進行生成処理を行う、なお、15−1でコ
ード生成法の項目が自動になっている場合は、ケーデン
スWAYN=3となりケーデンス進行によるコード進行
の生成が実行される。
以上のように、コード進行の生成性決定処理では、コー
ド生成法としてケーデンスによる方法と、S進行による
方法とD進行による方法が選択岐としてあり1選択され
た方法がそれぞれのコード進行生成処理15−10.1
5−13、15−16で実行される。
以下1個々のコード進行生成処理について詳細に説明す
る。
くケーデンス生成〉 ケーデンスによるコード進行生成処理15−10は上述
した各処理で得た楽曲の構造に関する情報(凸形式、1
g!I性、楽節構造、楽節の開始終了機能)に従ってケ
ーデンスファイルf4にあるケーデンスデータを連結す
ることにより、コード進行を生成する処理である。この
処理のルーチンを第186に示す。
第186において、16−1から16−22まではケー
デンスファイルf4からケーデンスを選択するための処
理であり、この選択されたケーデンスのデータ(例えば
T−D−T)は16−23から16−26において配列
func (funcn)にセットされる。そして、1
6−27に示す、f  compair(機能”F +
7チング処理)において、ケーデンスの流れが各楽節の
開始、終了機能に対して調べられ、ケーデンスの流れに
おける楽節の開始、境界、終了位置等が検出される。更
に、16−30に示すルーチアtreel()では選択
ケーデンスに基づいてコードパターンファイルf5、f
6からコードパターンが選択され、そのコードパターン
がf  compairlB−27の処理結果等に従っ
て曲のコード進行ノコード名の配列mcp (f Ia
se、dnn)にセットされる。ルーチンtreel(
)内のサブルーチン5tructure ()では反復
楽節の有無が調べられ、反復条件を満たす楽節のコード
進行パターンmcp(flase、clnn)も生成さ
れる。更に、16−32のルーチンrhythm()で
は選択したケーデンスに対応するリズムパターンがリズ
ムパターンファイルf7から取り出され、曲のコード進
行のコード長の配列rhmbox (f 1ase、d
nn)にセットされる。ルーチンrhythm()では
ファイルf7から取り出したりリズムパターンをユーザ
ーが自由に変更することも可能である。
以下、ケーデンス生成処理を詳細に説明する。
ケーデンス選択処理(16−1−16−22)では、ま
ず16−1でモードの長/短調をaoiの内容から判別
し、長調のときには、グループg=1、短調のときには
グループg=1、を選び(16−2,16−3)、f=
4、dn=1、n=1.N0=3を実行する(16−4
)ことにより、調性選択処理5−4(第5図)で選択し
たモードgのケーデンスファイルf4を呼び出す0次に
16−5でケーデンスの項目が自動になっているがユー
ザー選択になっているかを、自動化部分決定処理5−3
(第5図)で設定したaut i ng[6]の内容か
ら判別する。ユーザー選択の場合には、ケーデンスファ
イルf4から選択されているモードgに属するケーデン
スパターン(例えばT−3−T)のリストを取り出し、
それを、ケーデンス選択メニュー(メニューlがリター
ン、2が自動であり3以降がケーデンスのリスト)とし
て表示する(16−6〜16−13)、そして、この選
択メニューからユーザーの選択した番号をfuncにセ
ットする(16−14)、この選択メニューからリター
ンfunc=1を選択したときには16−16、16−
19を通ってコード生成性決定処理(第15図の15−
1)ヘリターンする0選択メニューから自動を選択した
場合、またはaut i ng [6]が自動のときに
はfunc=2となり(16−15参照)、16−19
のYES側にある16−20〜16−22において乱数
によりケーデンス番号が生成されてfuncに設定され
る。
ケーデンスが決定されると、16−18に示すチエツク
が成立し、16−23から16−26において、決定さ
れたケーデンスのデータがfunc(funcn)に設
定される6例えば決定されたケーデンスがT−5−Tの
ときは、最初の機能コードTはfunc(1)に入り2
番目のSはfunc(2)に入り、最後のTはfunc
(3)に入る。
次にルーチンf  compair16−27が実行さ
れる。この詳細を第17図に示す、この処理は、ケーデ
ンスの流れのなかに曲の開始、楽節の境界、または曲の
終了の条件を満足する場所を見つけるためにある。17
−1のpflag=1は最初の楽節のコード進行を開始
するときか、1に述するサブルーチン5tructur
eによりある楽節のコード進行が反復された後でその次
の楽節のコード進行を開始するときに成立する。すなわ
ち、新しい楽節の開始のときである。17−9で、f 
1ase=dnmax (1,cmn−2゜frn−2
)が成立するのは現在生成中のコード進行の楽節が曲の
最後の楽節のときである。
17−1が成立するときには、今回選択したケーデンス
パターンfunc (funcn)のなかに、新しい楽
節の開始機能と一致する機能コード(例えばドミナント
D)が含まれるかどうかを判別し、含まれる場合には、
その位置を5tart(開始位M)にセットするととも
に開始フラグfSを1にセットし、含まれない場合には
開始フラグfsを0にリセットする(17−2〜17−
8)、後者の場合は、楽節開始の失敗が第186の16
−29で検出され、16−1に戻って、再度、ケーデン
スの選択をやり直すことになる。
現在の楽節が最後の楽節の場合(17−9成立時)は、
今回選択したケーデンスパターンfunc(funcn
)のなかに最終楽節の終了機能と一致する機能コード(
例えばトニックT)が含まれるか否かを調べ、含まれる
場合はケーデンスパターン上のその位置をend(終了
位置)にセットするとともに、終了フラグfeを1にセ
ットし、含まれない場合には終了フラグfeをOにリセ
ットする(17−10〜17−16)。
17−1と17−2のいずれも不成立の場合は、17−
17から17−24に示す楽節境界のチエツクを行う、
17−17に示す1astfuncは第186cy)t
a−27(f  campairの次の処理)かられか
るように、前回選択したケーデンスの最後の機能コード
である。これは、楽節の境界が、1つのケーデンスの内
部の位置だけでなく、1つのケーデンスの端即ち2つの
ケーデンスの境界でも発生し得ることを考慮したもので
ある、17−18から、17−24において、この前回
の機能コードとそれに続く今回のケーデンスの機能コー
ドの列のなかに、現在の楽節の終了機能と体の楽節の開
始機能と一致する機能コードの対が含まれるかどうかを
調べ、含まれる場合にはその対の先頭の位置をend 
(楽節終了位置)にセットするとともに楽節境界フラグ
fbを1にセットし、含まれない場合には楽節境界フラ
グfbを0にリセットする。
なお、17−20に示すefunc (f 1ase)
は現楽節の終了機能を表わし、17−21に示す5fu
nc (f 1ase+1)は次楽節の開始機能を表わ
す、これらの機能は第5図の5−8で楽節の開始終了フ
ァイルf2.f3から選択した機能である(17−4.
17−12についても同様である)。
このように、f  compairではコード進行生成
の計画において設定した各楽節の開始機能と終了機能と
を目安として、ケーデンスまたはケーデンスの列のなか
から、各楽節の開始、境界、終了に適した位置を調べて
いる。
ルーチンtreel ()16−30ではケーデンス選
択処理(16−1−16−26)で選択したケーデンス
に従ってコードパターンを選択し、11!択したコード
パターンを楽節別のコード進行の配列mcp (f 1
ase、dnn)上に連結して設定する。この連結の際
に上述の機能マツチング処理(f  compai r
lB−27)の処理結果が利用される。また、次の楽節
が反復楽節がどうかについても調べられ、反復楽節の場
合には先行楽節のコード進行mcp(flase、dn
n)が反復楽節のコード進行mc、p(flasea1
、dnn)として繰り返される。
ルーチンtreel()の詳細を第18図に示す0図中
、18−1から18−24で選択したケーデンスに適し
たコードパターンを選択している。詳細には18−1か
ら18−4でコードパターンファイルf5、f6のなか
から決定済のケーデンスに対する部分を呼び出している
。なおf5(f=5)はメジャー用のコードパターンフ
ァイルでありf6はマイナー用のコードパターンファイ
ルである0次に18−5でコードパターンの項目が自動
aut ing [6] =1になっているかユーザー
選択になっているかを調べ、ユーザー選択の場合にはコ
ードパターンファイルf5、f6から選択したケーデン
スに対するグループgにあるコードパターンのリストを
取り出してコードパターンの選択メニューを表示してユ
ーザーに選択メニューから1つを選択させる(18−6
〜18−15)、自動になっている場合には、そのコー
ドグループどのなかから1つを乱数で自動選択する(1
8−16.1g−20−18−24)、なお選択メニュ
ーからリターンを選択した場合にはケーデンスの選択処
理(第186の16−1)ヘリターンする。コードパタ
ーン(例えばCma j−G7−Cmaj)が選択され
ると18−19で3≦cdn≦nmax (f、g)1
2 (ここにcdnは選択したコードパターンの番号、
n m ax(f、g)は呼び出したコードグループg
に含まれるコードパターンの総数である)が成立し、1
8−25でコードパターン生成ルーチンが実行される。
このルーチン18−25の詳細を第19図に示す。
第19図において、mcp(flase、dnn)はf
lase番目の楽節のdnn番目のコードを格納するコ
ード進行の配列である。flaseの値は現在の楽節番
号を示し、dnnの値はこの現楽節において次に生成す
るコードの楽節内の番号を表わしている。したがってf
lase番目の楽節の(dnn−1)番目のコードまで
はコード進行が生成法である。19−1のkeepは後
で実行されるルーチンrhythm()において使用さ
れるコード長の配列rhmbox()における楽節番号
の変数であり、dnn2はこの配列における楽節内のコ
ード番号の変数である。
第19図のコードパターン生成により、コード名のコー
ド進行が生成されて、コード名の配列mcp (f l
 ase、dnn)上の現在位置が移動するため、その
配列を操作する前の段階のflaseとdnnの値をそ
れぞれ、keepとdnn2に代入している(19−1
)、19−4に示すdata (f、g、n、dn)は
上述のコードパターン選択処理で選択したコードパター
ンのdn番目のコードを表わす、19−1のn=cdn
−2は選択したコードパターン番号の設定であり、dn
=1は選択したコードパターン内のコード番号を1に初
期化する処理である。
通常の場合は、上述のf  compair(第17図
)において、選択ケーデンスが新しい楽節の開始条件(
fs=1)も、楽節の境界条件(fb=1)も、曲の終
了条件(f e= 1)のいずれも満足しないものとす
る。この場合、第19図において、19−2で境界また
は終了条件の不成立が確認され、19−3で開始条件の
不成立が確認され、19−4から19−6において1選
択したコードのバターydata (f、g、n、dn
)が先頭data (f、g、n、1)から、順次、コ
ード進行の配列mcp (f 1ase、dnn)に設
定される。これは、19−1に入る前までに生成してい
た楽節のコード進行に今回選択したコードパターンをそ
のまま連結したことに相当する。一方、f  comp
airにおいて新しい楽節の開始時に1選択ケーデンス
中に楽節を開始する機能コードが見つかった場合には、
開始フラグfsが立ち、ケーデンス上の開始コードの位
置5tartが設定される。この場合、第19図におい
て19−3で開始条件の成立が確認されることになり、
19−7で、開始位置5tartがdnにセットされる
。この結果、19−4から19−6の処理では選択した
コードパターンのうちで楽節開始機能と一致するコード
以降のものがコード進行の配列mCp (f 1ase
、dnn)に設定されることになる。
また、f  compairで最終楽節のときに選択ケ
ーデンス中に最終楽節の終了a1能と一致するコードが
見つかったときは曲終了フラグfeが立ち、ケーデンス
上の終了位a!16ndが設定されるし、直前ケーデン
スの最終機能とそれに続く選択ケーデンスの中に現楽節
の終了機能と次楽節の開始機能とに一致する機能コード
の対が見つかったときには楽節境界フラグfbが立ち、
ケーデンス上の現楽節終了位M e n dが設定され
る。この場合、第19図のフローにおいて、19−2で
楽節の境界条件または曲の終了条件の成立が確認され、
第20図に詳細するflase  end()のルーチ
ン19−8が実行される。
このルーチンでは楽節終了のためにユーザーの判断を仰
いでおり、ユーザーが否定的な判断を下した場合は、ノ
ーマルとして取り扱って19−4から19−6で選択コ
ードパターンが先頭から現楽節のコード進行に連結され
るようにしている。
すなわち、構造上、楽節の境界条件あるいは曲の終了条
件が成立する場合でも最終決定はユーザーが行うことに
している。第20図のフローに従うと、20−1で、現
楽節終了の問い合わせを行い、ユーザーからの返答を1
nsverにセットする(20−2)、20−3でユー
ザーからの返答が否定answer=0の場合にはfl
aseend()のルーチンを抜けて、19−9.19
−10を経て19−4以降のコード進行配列への設定処
理を行う、ユーザーからの返答が肯定answer=1
の場合は、20−4で現楽節のコード進行に含まれるコ
ードの数をandとdnnから計算してdnnmax 
(f 1ase)にセットし、20−5〜20−8のル
ープで現楽節のコード進行として既に生成している配列
m Cp(f Ia’se、dnn)に、選択したコー
ドパターンdat a (f、g、n、dn)を先頭(
dn=1)から、終了位置(dn=end)まで連結す
る。これにより、現楽節のコード進行が完成するので、
完成後は、現楽Pj511!1号flaseを更新し、
楽節内のコード番号dnnを先頭の1にセットする(2
0−9)、なお、20−5 テe n d =0が成立
するのは、前回選択したコードパターンの最後のコード
が現楽節の最後のコードとなる場合であり、ここまでの
コード進行(現楽節のコード進行)は既に配列mcp 
(f 1ase、dnn)に出来上っているので、現楽
節のコード進行完成処理20−6〜20−8を行う必要
はない。
次に20−10で楽節境界条件(f b= 1)と曲の
終了条件(fe= 1)のいずれか成立しているかを調
べ、楽節境界条件成立の場合には、詳細を第21図に示
す5tructure20−11のルーチンを実行する
ことにより、20−5〜20−8で完成した現楽節の次
の楽節が反復楽節かどうかを調べて、反復楽節の場合は
法楽節のコード進行を先行楽節のコード進行を反復させ
て生成する0曲の終了の場合には、最終楽節のコード進
行は20−5〜20−8で完成しているので。
反復楽節の条件を調べる必要はなく、flaseend
()のルーチンを抜ける。この場合、コードパターン生
成(第19図)のルーチンの19−9で、answer
=1  and  fe=1が成立し、コードパターン
生成のルーチンを抜けることになる。すなわち、現楽節
が最終楽節のとさにf  compair(第17図)
で選択ケーデンス中に最終楽節の終了機能と一致する機
能コードが見つかってケーデンス上の曲終了位置end
が書き留められ、flasa  e  n  d()ル
ーチンでユーザーから曲終了の確認が得られた場合は、
flase  end()ルーチン内の現楽節のコード
進行完了処理20−6〜20−8において、選択コード
パターンのend位置までのコードを配列mCp (f
 1ase、dnn)に連結して最終楽節のコード進行
を完成させている。
を述したように、20−10で楽節境界条件成立のとき
には、第21図に示す反復楽節処理ルーチンst ru
cture ()が実行される。第21図の場合は1法
楽m(f+1)(20−6〜20−8で完成した現楽節
のコード進行の次の楽節の意味で、処理上はflase
の番号をもつ楽1!I)が現楽節iと似たタイプであっ
て(21−2,21−3または21−4.21−5成立
)楽節の開始機能が一致しく2l−6)、楽節の終了機
能が一致する(21−7)場合を反復楽節の条件として
いる。ここに、fliSt(x)はゼネラルフロー(第
5図)の楽節構造決定処理5−7で決定済の楽節構造の
データであり、5fun(x)、efunc (x)は
楽節開始終了機能決定処理5−7で決定されている各楽
節の開始機能のデータと終了機能のデータである。
反復条件が成立するときは反復flagが立ち(21−
8)、現楽節のコード進行のデータmcp (j、x)
を法楽節のコード進行のデータmcp (i+1.x)
に写しとり(21−9〜2l−12)、その後、法楽節
のコード進行に含まれるコードの数dnnmax−(i
+1)を現楽節のコード進行のコード数dnnmax 
(i)に一致させ(21−13)、最後に楽節番号fl
aseを更新し、コード番号dnnを初期化する(21
−14)、      − なお、第21図のフローに代え、flase番目の楽節
が反復楽節となる条件を、lから(flase−1)番
目のいずれかの楽節と同様のタイプであって、同じ開始
機能と終了機能をもつ場合としてもよく、このための変
形は自明である。
以上のように1反復楽節検査のルーチン5tructu
ra()は、楽節の境界条件(f b=l)が成ケし、
それがユーザーに認められて、現f!節のコード進行を
完成したときに、次の楽節のために実行される処理であ
る。
この場合において1反復楽節処理21−8〜21−14
が実行されたときには、コードパターン生成(第19図
)の19−9において、反復フラグflagが立ってい
ることが確認され、このチエツク19−9をYESを分
岐してコードパターン生成のルーチンを抜ける。この場
合、ケーデンス生成処理(第186)の最後(第25図
)においてpflagが立つことになり、再びケーデン
ス生成処理を実行するときに、f  compairで
新しい楽m(反復楽節の法楽W1)の開始時として選択
ケーデンス中に新しい楽節の開始機能の有無が調べられ
ることになる。
ルーチンst ructure ()の実行において反
復楽節の条件が成立しなかったときは、第19図のコー
ドパターン生成処理のチエツク19−10’t’fb=
1かつanSwer=1(楽節の境界条件とユーザーの
現楽節を終了してもよいことを示す返答)が成立するの
で19−11に進み、dn−=elnd+1を実行する
。すなわち、コードパターンdat a (f、g、n
、dn)cy)*m終了位N e n dまでのデータ
はflaseand()のルーチン内の現楽節のコード
進行完成処理20−6〜20−8で現楽節のコード進行
の配列mcp (f 1ase、dnn)に設定したの
で、第19図の19−4から19−6でコードパターン
の残りのデータを法楽節のコード進行の最初の部分とし
て配列mc’p (f 1 a s e。
dnn)に設定するため、この19−11で、コードパ
ターン上で法楽節の開始コードとなる位1t(end+
1)をdnに設定しているわけである。
以上でtreel()(第18図)のルーチンとそれに
関連する動作説明を終える。
ケーダンス生成(第186)におけるrhythm()
のルーチン1 B−31はtreel()のルーチン1
6−29で生成した各コードにコード長を付ける処理で
ある。すなわち、ルーチンtreel()がコードパタ
ーンを選択し、コード名についてのコード進行の配列m
ap(flase、dnn)にコード名データを設定す
る処理であるのに対し、ルーチン16−16−31rh
ythはリズムパターンを選択し、コード長についての
コード進行の配列rhmbox(keep  dnn)
にコード長データを設定する処理である。
このルーチンrhythm()の詳細を第22図と第2
3図に示す、動作は第22図のフローから始まる。第2
2図はリズムパターンファイルf7から決定されたケー
デンスに対応するリズムパターンを選択するリズムパタ
ーン選択の処理であり、このリズムパターンの呼出しが
−22−1から22−5で行われる。リズムノぐターン
ファイルf7には、1つのケーデンスに1つのリズムノ
くターンを持たしであるので、他の選択処理と異なり、
リズムパターンのリスト(複数のリズムノくターン)か
ら1つをユーザーが選択する作業と乱数により自動選択
する処理はない、すなわち、リズムパターンの項目がユ
ーザー選択aut ing[6]=0のときに選択メニ
ューとして表示されるのは1、リターン、2、自動、3
、(決定されたケーデンスに対応する1つのリズムパタ
ーン、例えば、JJ)のみである(22−6〜22−1
0)、リズムパターンの項目が目動aut i ng[
6]=1または選択メニューから2.自動を選択したと
き22−14でdata=2が確認され、リズムパター
ンの選択番号data=3に変更され、フラグYESに
Oがセットされる。このYES=Oは第23図のユーザ
ーによるリズムパターンの修正処理をスキップするのに
用いている。なお1、リターンを選択した場合はdat
 a=1となり、コードパターンの選択処理(第18図
の18−1)ヘリターンする。
ユーザーがリズムパターンをメニューから選択した場合
は第23図のチエツク23−1でYES=1が成立しく
22−1参照)、23−2から23−8でユーザーによ
るリズムパターンの修正が対話方式で行われる。すなわ
ち、リズムパターンファイルf7から取り出したリズム
パターンに訂正したいリズム(コード長)があるかどう
かを問い合わせ、ユーザーから訂正の要求YES=1の
あるときには訂正箇所を問い合わせてユーザーの訂正箇
所人力nを受は訂正リズムの入力をうながし、ユーザー
からの訂正リズムの入力Vを受は付ける(23−2〜2
3−8)。
この後、第23図の23−9で行われるリズムパターン
生成の詳細を第24図に示す0選択したケーデンスに楽
節を更新する条件が含まれてい゛ない通常のケースでは
第24図において、24−2の現楽節終了承認anSw
er=1も24−317)曲の開始fs=1も成立しな
いので24−4から24−6で今回選択したリズムパタ
ーンのデータdat a (f、g、n、dn)を現楽
節のコード進行のコード長の配列rhymbox (k
eep、dnn2)に先頭から順次連結する。なおユー
ザーの指示によるリズムパターン修正処理23−2〜2
3−8によりリズムパターンのデータが修正された場合
は修正されたリズムパターンがrhymbox (ke
ep、dnn2)に連結されることになる(第24図に
は示さないが、リズムパターンフアイルから選択したリ
ズムパターンdata (f、g、n、dn)を別の配
列rhym(dn)に写しとり、リズムパターンの修正
処理内で修正したデータでrhym(dn)の要素を変
更し、この配列rhym(dn)を24〜4〜24−6
 (及び24−8〜24−1o)内に示すdata (
f、g、n、dn)として用いればよい)、一方、新し
い楽節の開始条件fs=1が成立する場合に24−4で
cinをリズムパターンにおける楽節開始位置5tar
t (f  conpairで既に得られている)にセ
ットし、24−4から24−6で新しい楽節のコード進
行を生成するため、リズムパターン上の楽節開始位置の
コード長以降のコード長を配列rhymbox(kee
p、dnn2)に設定する。
f  compair(第17図)で選択ケーデンスに
楽節の境界条件または曲の終了条件が成立し、それに対
するユーザーの承認がflaseend(第20図)で
得られた場合には24−2の1nsver=1が成立す
るので、24−8から24−1oに示す現楽節のコード
進行゛のリズム完成処理(第20図の20−5〜20−
8に対応する処理)を実行し、リズムパターンを先頭か
ら東部終了位置endまで配列rhymbox(kee
p、dnn2)に連結し、その後、楽節番号keepを
更新し楽節内のコード番号dnn2を先頭lにセットす
る(24−11.24−12)、ついで、fb=1かつ
flag=0が成立するかどうかを24−13でチエツ
クする。これが成立するのは、f  compairで
楽節の境界条件が成立し、その承認がflase  e
ndで得られたが、5tructure (第21図)
において次の楽節が反復楽節でないことが利用した場合
である。したがってこれが成立するとさには24−4〜
24−6において、法楽節のコード進行のリズムの最初
の部分を生成するため、配列rhymbox (kee
p、dnn2)にリズムパターンの残りの部分である法
楽節の最初のコード(その位置はdn=end+1で与
えられる)のコード長以降のデータをセットする。
チエツク24−13が不成立のときは24−14に進み
flag=1かどうかをチエツクする。
これが成立するのは法楽節が反復楽節の場合であるので
、24−15から24−j9において現楽節のコード進
行のリズムの配列rhymbox(keep−1,dn
n2)ty)データの写しを法楽節のコード進行のリズ
ムの配列rhymbox(keep、dnn2)にとり
、その後、楽節番号keepの更新と楽節内のコード番
号dnn2の初期化を行う(24−18)。
24−14t’flag=oとなるのは曲の終了条件の
成立がf  compairで検知され(fe=1)、
その承認がflase  endで得られたときなので
、そのままリズムパターン生成のルーチンを抜ける。
最後に、次のコード進行処理のパスのために、第25図
に詳細を示すフラグ処理23−10が実行される。すな
わち、1nsver=1になっているときには現楽節を
完了させているので1nsver=oに戻しく25−1
.2.5−2)、f 1ag=1になっているときは楽
節の反復を行ったのでflag=0に戻すとともに次の
ケーデンス生成時に新しい楽節のコード進行を生成する
ためにpflag=1にする(25−3、25−4)、
一方、pflag=1になっているときは今回のケーデ
ンス生成で新しい楽節のコード進行を生成したのでpf
lag=oに戻す(25−5,25−6)、最後の25
−7でその他のフラグfs、fb、feもノーマルの値
に戻す。
以上でケーデンスの連結によるコード進行生成処理の説
明を終える。
くS進行とD進行によるコード進行生成〉S進行による
コード進行生成処理15−13(第15図)とD進行に
よるコード進行生成処理15−16は上述したケーデン
スによるコード進行に付加するコード進行を生成するも
のである。
広義にはS進行もD進行もコードパターンである、した
がって上述したケーデンスファイルf4にS進行用のサ
ブファイルとD進行用のサブファイルを追加し、これに
合わせて、コードパターンファイルf5.f6にもS進
行のサブファイルとD進行のサブファイルを追加して、
ケーデンスによるコード進行生成実行中に、適宜、S進
行またはD進行のコード進行を挿入するようにしてもよ
いが、この実施例ではS進行、D進行専用のファイルは
用意せず、ユーザーの直接的なコード指定等によりSま
たはD進行を得るか、演算によってSまたはD進行を得
るようにしている。
このS進行によるコード進行生成処理15−13とD進
行によるコード進行生成処理15−16は処理の上での
相違はほとんどないので以下の説明ではD進行によるコ
ード進行生成(第29図〜第32図)を代表中心として
述べることとし、S進行に関しては異なる点を述べるに
留める(S進行の処理の詳細は第26図、第27図、第
29図に示しである)。
第29図はD進行生成処理の最初の部分を示し、ここで
はD進行の生成処理を続行するかどうかの処理と、D進
行の最初のコードの根音を選択する処理を実行している
すなわち、29−1でコードパターン(ここではD進行
の意味)の項目が自動になっているかユーザー選択にな
っているかをaut i ng [5]の内容から判別
し、ユーザー選択の場合はD進行を続けるか終了するか
をユーザーに問い合わせ(29−2)、ユーザーからの
応答をWA Y 3 Nにセットする。ユーザーからの
返事がリターンWAY3N=1のときは(29−5)コ
ード進行の生成状決定処理(第15図の15−1)に戻
り、継続WAY3N=2のときには29−6〜29−2
8に示すように、D進行の最初のコードの根音選択処理
に進む、なお、実際のプログラムは、コードパターンの
項目が自動になっているときは初めて図示のフローに入
るときにはWAY3N=2が与えられ、ループして再び
フローにRるときにリターンWAY3N=1が与えられ
るようになっている。
根音選択処理29−6〜29−28では、基本として1
通常のときは最初のコード根音をI(へ長調の場合のC
)とし、楽節がS機能(サブドミナントマイナー機能を
含む)で開始するとさの根音はIT(F)とし、楽節が
D機能で開始するときの根音はV (G)としている、
ただし、D進行の項目がユーザー選択aut i ng
 [5] =0になっているときはユーザーによって他
の根音に変更することができるようにしている。詳細に
は29−6のdnn=1は楽節の最初のコードのときを
示しており、これが成立しないときは29−7に進み、
D進行がユーザーの選択項目auting[5]=0な
ら、D進行の最初のコードの根音を■にしてよいかどう
か問い合せ(29−8)、ユーザーの応答が否data
=0の場合には(29−9,29−25)、他の根音大
力をうながしく29−26)、ユーザーから指定のあっ
た根音をroot box [0]に設定する(29−
27.29−28) 、ユーザーが同意したときには2
9−10でroot box [0]に設定した根1W
I(ここでのデータO)が有効となる。D進行の項[1
が自動aut ing [5] =1、dat a=1
の場合も同様である(29−4.29−7.29−1o
、29−25)、これから生成するコードが楽節の最初
のコードのときには29−6が成立し、その楽節の開始
機能がSR能ならば29−11が成立し、D機能ならば
29−16が成立する。したがって、楽節の開始機能が
S機能のときは通常は■がコード根音rootbox[
o]として選択され(29−15)、楽節の開始機能が
Dal能のときは通常はVがコード根音として選択サレ
(29−19) 、 ソt7)他+7)機能(Tll催
)の場合は通常はIがコード根音として選択ネれる(2
9−24)。
D進行の最初のコードの根音が選択されると第30図の
フローに進み、ここでD進行の長さ(D進行に含めるコ
ードの数)とD進行の各コードの根音が決められて表示
される。すなわち、30−1でD進行の項目が自動au
t i ng [5] =1になっているかユーザー選
択になっているかを判別し、ユーザー選択の場合には、
ユーザーにD進行の長さを入力するようにうながしく3
O−2)、その入力をnにセットする(30−3)。
D進行の長さがわからないとき、あるいは目動の場合に
は長さ4がnにセットされる(30−4.30−5.3
O−6)、続いて、30−7から30−12において、
D進行の長さnだけ、ro。
t box [ilの配列に前の根音より5度下(4度
上)の音が次のコード根音になるようにして、根音デー
タをセットする。これにより、D進行の最初ノコード根
音rootbox[o]より5度下の音が2番目のコー
ド根音rootbox[11となり、以下、同様にして
、前より5度下(4度上)のコード根音が続くことにな
る。S進行のコード生成処理では、このところで、前の
根音より5度上(4度下)の音が次のコードの根音とし
て生成される。なお、30−8〜30−10の処理は、
根音データがθ〜11の範囲をとり、OでC,lでC#
、2でD、以下同様にして11でBを表現するフォーマ
ットに則している。
DiII行のすべてのコードの根音が生成されると、そ
れが30−14〜30−16において表示装2i6に表
示される。
次に処理は第31図のフローに進み、ここで、D進行の
コードのタイプが決められ、配列ro。
tbox[xl内に先のコード根音とともにセットされ
、コード名の列(例えばA7−D@7−G7−Cr )
として表示される。なお、各コードに対するコードの長
さもここで生成している。第31図の31−1から31
−17でD進行のコードのタイプが決められる。最初に
31−1でD進行の項目がユーザー選択aut ing
 [5] =Oになっているか自動になっているか査調
べ、ユーザー選択の場合にはコードタイプの選択メニュ
ーt ree3 ()を表示し、ユーザーからの選択入
力を受は取る(31−2.3l−3)、選択メニューか
ら1.自動を選択した場合、あるいはD進行の項目につ
いて自動aut i ng [5] =1が選択されて
いる場合には、31−6〜31−8で乱数によりコード
タイプtree3Nを生成する(31−4.31−5参
照)、31−9〜31−17の処理はtree3Nに入
っているコータドタイプ選択データを、システムで用い
ているコードタイプの値Yに変換する処理である。シス
テムのデータフォーマットでは1例えば、トライアト(
長3和音)はOで表現され、マイナートライアト(類3
和音)はlで表現される。この変換されたコードタイプ
データYは、31−18〜31−22において、既に得
られているコード根音データとともに配列root b
ox [xlに設定される。なお、第31図のフローで
は、D進行のすべてのコードに1つのコードタイプを一
括して設定しているが、Dli行のそれぞれのコード別
にコードタイプを設定するようにしてもよく、この変形
は自明である。この場合、調性を考慮してコードタイプ
を自動的に限定することが可能である(例えば、調のス
ケールにない音を含むコードは除外する)、さらに図示
のループ31−19〜31−22ではD進行の各コード
のコード長(D進行のリズムパターンrhyt hmb
ox2 [xlも設定している(31−21)、ここで
のリズムパターン処理は各コードに全音符の長さ(数値
表現で16)を割り当てているだけであり、このリズム
パターンが気に入らない場合には第32図のフローでユ
ーザー自身による修正ができるようになっている。
Da行の各コード名のデータ(コードパター7)roo
t box  [xl は31−24〜31−26で表
示され、続いて、第32図の32−1〜32−4でD進
行のリズムパターンrhythmbox2[xlが表示
される。
次に32−5でリズムパターンの項目が自動autin
g[6]=1になっているか、ユーザー選択になってい
るかが調べられ、ユーザー選択YES=0 (32−6
)の場合には訂正リズムの有無をユーザーに問い合わせ
(32−9)、ユーザーから訂正入力があった場合には
対応する配列rhyt hmbox2 [X]の要素を
書き換える(32−10)、自動YES=1 (32−
7)の場合にはリズム修正処理32−8〜32−10は
実行されない0以上の処理で、D進行のコードパターン
root box [xlとリズムパターンrhyth
mbox2 [xlが得られたので、それぞれを最終的
なコード進行のコード名の配列mcp [f 1ass
、dnn] とコード長の配列rhmbox [f 1
ase、dnn]に連結する(32−11〜32−15
)、この後、再び、第29図の29−1に戻り、リター
ンが選択されればこのD進行生成ルーチンを抜けてコー
ド生成の方法を決定する処理に戻る。
ファイルメモリ3のデータ例 実施例の欄の末尾に示す各表は第1図のファイルメモリ
3に記憶されるデータを例示したものである。“Li5
t Dt File”の表は各データ7フイルの名前な
いしアドレスをリストアツブしたものである。データフ
ァイルは全部で7つある。
“filel dL”には自形式によって分類された種
々の楽曲に関する楽節構造のファイルが記憶され。
5condt”には楽tMa造によって分類された各楽
節の開始機能のファイルが記憶され、” ecQndi
”には楽節構造によって分類された各楽節の終了機山の
ファイルが記憶され、  ”function dt″
には機能的コードパターン(ケーデンス)のファイルが
記憶され“caden dt”には機能的コードパター
ン(ケーデンス)ごとに分類され、根音とタイプとで特
定される形式を持つメジャー用のコードパターンのファ
イルが記憶され、“mcadendi″には機能的コー
ドパターン(ケーデンス)ごとに分類され、根音とタイ
プとで特定される形式のマイナー用のコードパターンの
ファイルが記憶され“rh2sfile dt ”には
“function dt″7フイルとl対lの対応関
係で各コードパターンの時間の長さの列、即ちリズムパ
ターンのファイルが記憶される。′旧E−5TRUCT
URE ”で示す表は楽節構造用の“file I d
t”、楽節開始機能用の“gcondt” 、楽節終了
機能用の“econ dt ”の各ファイルのデータを
例示したものであり1曲形式と楽節構造と楽節開始41
fl及び終了機能との間に階層的な関係を定めることに
よって種々の楽曲における階層的な音楽構造を表現して
いる8例えば、表において、2部形式に属する最初の楽
曲例はA−A’−A−A″の楽節構造を持っている。
これは第1の楽節がAタイプで、第2の楽節がA′タイ
プ(第1楽節とにている)で、第3楽箇がAタイプで、
第4楽節がA″タイプあることを示している。又、第1
楽節AはTすなわちトニック機能で開始し、Dすなわち
ドミナント機能で終了し、第2楽@A’はDで開始しD
で終了し、第3楽節AはTで開始しSすなわちサブドミ
ナント機能で終了し、第4楽節はTで開始しTで終了す
ることがわかる。この“旧!−9TRUC丁tlRI’
″に示すデータは本発明の対話的な側面について後述す
る第33図の音楽構造データベース150に記憶させる
ことができる。
表“function dt ”は機能的コードパター
ン(ケーデンス)のファイルであり、同表の第2行乃至
第8行に示すメジャー用のグループと第1θ行乃至第1
2行に示すマイナー用のグループとに分かれている。こ
の“function dt ”の表において、Tはト
ニック機能のコードを示し、Dはドミナント機能、Sは
サブドミナント機能、S、はサブドミナントマイナー機
能を示している。従って、例えばT−D−Tのパターン
は1番目のコードがトニック機能で、2#目のコードが
ドミナント機能で、3IIi目のコードがトニック機能
であることを示している。
表“caden dt”はメジャー用の音楽に対するよ
り具体的なコードパターンのファイルであり1表−履c
aden dt ”はマイナー用の音楽に対するコード
パターンのファイルである。  ”caden dt″
とBaden dt″の各7フイルは“functio
n dt”にある各機能的コードパターン(ケーデンス
)ごとに分類されている0例えば、” functio
n dt″のファイルの最初の5つのコードノくターン
すなわち o    sob    。
はメジャー用の“function dt ”のファイ
ルにおかれる最初の機能的コードパターン(ケーデンス
)T−D−Tに属するコードパターンのグループを形成
している。  ” caden dt”と“mcade
ndt”の6表において、3桁又は1桁の数字データは
根音とタイプによって特定されるコードを表わしている
。1桁の表現は3桁の省略形でありその上位2桁が0に
等しい3桁表現に対するものである(例えば、“0″;
“000″、“5”=“O05”)、最上位の桁(実際
には16ビツトワードの上位8ビツト)でコードのタイ
プを表現し、16ビツトワードの下位8ビツトにてコー
ドの根音を表現したものである(表参照)0例えば、0
−507−0のデータのパターンは最初のコードがCメ
ジャーで、28目のコードがGドミナントセブンスで、
3番目のコードがCメジャーとなるコードパターンを表
わしている。
表″rhBfile dt”は7フイル“functi
ondt”とl対l関係にあるコードの長さの列、すな
わちコードのリズムパターンのファイルであり。
ファイル“rh7層file dt″において、数字デ
ータのそれぞれは基本となる音楽時間の整数倍で表現し
たコードの長さを示しており1例えば数字データ16は
1小節の長さ、即ち全音符の長さに対応しており、デー
タ8は1小節の半分すなわち2分音符の長さに対応して
いる。
“function dt”と“caden dt”と
“5cadendi”と“rbysfile dt ”
の各7フイルは第33図のコードパターンデータベース
160に記憶させることができる。
実施例の特徴 以上の説明から実施例の特徴、利点は明らかである0例
えば、 (A)楽曲から計画され、袖山された特徴構造に従って
コード進行が生成されるので、音楽性、自然さ、多様性
、一貫性のあるコード進行を得ることかでさる。
(6)例えば、各楽節のコード進行の開始機能と終了機
能は予め構造的に計画された楽節の開始終了機能データ
と一致するように制御される。
(C)また、予め計画され設定された楽節構造データに
タイプの似た楽節が複数台まれ、設定した楽節開始終了
機能データにおけるこれらの楽節の開始と終了機能がそ
れぞれ一致する場合には、楽節のコード進行を反復させ
る機能がある。
(D)楽曲の構造に関する知識がファイルメモリ3のデ
ータによって表現できる。すなわち。
ファイルメモリ3にある楽曲の各Muレベルにおける特
徴構造のデータは有機的にリンクされたデータ構造をも
っている。
(E)したがって、ファイルメモリ3からどのようなデ
ータ選択を行っても1階層的に秩序づけられた音楽構造
が得られる。したがってそれによって生成されるコード
進行に音楽性が保証される。
(F)ファイルメモリ3のデータの選択はニーデーが行
うこともできれば自動で行うこともでき、その選択は項
目ごとにユーザーにまかされる。したがって、ユーザー
の好み、レベルに合わせて、コード進行生成におけるユ
ーザーの関7Fする度合を広範囲に変えることができる
。すなわち、完全自動のコード進行生成からユーザーの
意図が充分に反映したコード進行の生成までが可能であ
る。
(G)本コード進行生成装置を使用するユーザーは、コ
ード進行は単独で存在するものではなく、楽曲の構造な
いしダイナミズムを背景として生成(創造)されるもの
であるという、音楽の特質についての理解が得られる。
また、コード進行を機能レベルで把えることが可能にな
る。したがって、多くのユーザーにとって有用なコード
進行学習機にもなり得る。
(H)本コード進行生成装置は自動作曲機におけるコー
ド進行生X&al能として利用することができる0例え
ば、本件出願人はコード進行に従って楽曲のメロディを
生成する自動作曲機を出願しており(特願昭62−86
571号)、この種の自動作曲機に利用できる。
(り本コード進行生成装置によれば、本装置とユーザー
との間でメニュ一方式でなされる対話を通じてコード進
行が生成されるという利点がある。
等が挙げられる。
メニュー式コード進行  装置と作 機への応マンマシ
ーンインターフェースの観点かラバ本コード進行生成装
置をユーザーと対話して所望のコード進行を生成するメ
ニュー式のシステムと見ることがでさる。この特徴を第
33図の上半分に示す、即ち、メニュー式の対話装置1
00と音楽構造データベース150とコードパターンデ
ータベース160とコード進行メモリ170とから成る
構成である。この構成において、対話装置100は音楽
構造データベース150とコードパターンデータベース
160とから選択的にデータを検索し、生成物であるコ
ード進行をコード進行メモリ170に記憶するようにな
っている0本構成は、上述したコード進行生成装置(例
えば、第2図と第3図参照)と同一であり得る。もっと
も第33図の構成は、対話能力の側面に焦点を当ててい
る為、−見した所では前のものと異なるように見える。
対話装置lOOはユーザーに選択のリストを提示する問
合せ部110を備えている1選択リストの一例は音楽構
造データベース150に記憶される曲形式のリストであ
り得る0選択リストの別の例は音楽構造データベース1
50から取り出した楽節構造のグループであり得る。更
に2別の例ではコードパターンデータベース160から
選択した機能レベルあるいは根音/タイプ指定レベルノ
コ−ドパターンのグループであり得る。更には又特定の
問題についてユーザーからYES又はNOの回答を要求
する質問であり得る0代表的な選択リストにはデータ項
目(例えば、曲形式。
楽節構造、コードパターン)のグループに加え。
前回の対話サイクルに対応するサイクルへの復帰に関す
る選択肢と、ユーザーの代りにデータ項目のグループか
ら1つのデータ項目の選択を自動的に行う自動の選択肢
とが更に含まれる。この復帰機能(リターン機能)によ
り、ユーザーと対話装置100との間で珈り交される対
話を行きつ戻りつ行うことが可能となり、ユーザーは一
旦選択したデータ項目を自由に別のデータ項目に変更で
き、よりよいコード進行を見つけ出すのが容易となる。
自動機能はユーザーが希望するときに何時でも利用でき
る。全てを自分自身で選択したいユーザーもいれば、い
くつかの項目は自分自身で選択するが、いくつかの別の
項目は目動機能による自動選択にまかせるユーザーもい
ると考えられる。このように1選択的に動作可能な自動
機能は、初心者と経験者の双方にとって有益なユーザー
インターフェースの環境を提供することができる。
提示される選択リストはその時点におけるシステムの状
態、すなわちユーザーとシステムとの間の対話の段階に
依存する。提示された選択リストの中からユーザーは1
つの選択肢(例えば、1つの凸形式、楽節構造、コード
パターン、YESの回答)を選択し、ユーザーの応答と
して入力部120に入力する1次いでユーザーの入力は
ジョブ実行部130に渡され、ここで、ユーザーの選択
した選択肢によって特定されるジョブあるいは選−択肢
に関連するジョブが実行される0例えば1曲形式を選択
する対話サイクルではユーザーからの応答は特定の曲形
式である。この場合、関連するジョブとしてその特定の
曲形式が音楽構造データベース150の曲形式のセット
の中から選択されたことを確認もしくは決定し、その特
定の曲形式がコード進行を形成する為の楽曲における1
番大きな構造レベルの音楽構造として使用されるように
する。これはその特定の曲形式のデータを対話装置10
0内の専用メモリないしレジスタ(図示せず)に格納す
ることによって実現できる。ユーザーの応答が特定の楽
節構造の場合には、関連するジ1ブとしてその特定の楽
節構造が音楽構造データベース150内において既に曲
形式を選択する為の対話サイクルにおいて1選択済の曲
形式に属するグループの楽節構造の中から選択されたこ
とを決定承認し、その特定の楽節構造がコード進行を生
成する為の楽曲の楽節レベルにおける音楽構造として使
用されるようにする。これはその特定の楽節構造のデー
タを対話装Htoo内の選択楽節構造記憶用のメモリ(
図示せず)に格納することによって実現できる。楽曲の
各楽曲の開始終了機能を選択する対話サイクルでは、ユ
ーザーの応答は既に楽節構造選択の対話サイクルで決定
済の楽節構造に属するグループの楽節開始終了機能の中
から選び出した特定の楽節開始終了機能となる。この場
合、関連するジョブは対話装置1100内のもう1つの
専用メモリ(図示せず)に、この特定の楽節開始終了機
能のデータを記憶することによって実行される。又ユー
ザーの応答が機能レベル、例えば、トニック、ドミナン
ト、サブドミナント機能で表現される機能レベルでの特
定のコードパターンである場合には、関連するジョブと
して、その特定の機能的コードパターン(ケーデンス)
が現楽節について、その時点までに生成された機能的コ
ード進行に対して連結されるものとして選択されたこと
を決定し、その特定の機能コードパターン(ケーデンス
)の中に、既に楽曲の各楽曲の開始終了機能の選択サイ
クルにおいて決定済の現楽節の終了機能と一致する機能
が含まれるかどうかを調べ、成立するならば現楽節のコ
ード進行が決定済の終了機能と一致するこの特定のコー
ドパターン上の位置で終りうるようにする。
何れの場合でもジョブ実行部がユーザーの応答に関連す
るジョブを実行した後1つの対話サイクルが終了し、次
の対話サイクルが対話継続部140によって開始され、
ユーザーとの対話が継続される。この目的の為、対話継
続部140はジョブ実行部130のジョブ結果に基づき
、選択リストを作成し、それを問合せ部110に渡し、
そのリストがユーザーに提示されるようにする。リスト
の作成には音楽構造データベース150あるいはコード
パターンデータベース160に対するデータ検索処理を
選択的に含む。
一連の対話サイクルを通じてジョブ実行部130は一連
のジゴブを実行し、その結果として、楽曲のコード進行
が生成される。このコード進行はコードパターンデータ
ベース160から選択したコードパターンを連結したも
のからなり、予め音楽構造データベース150から選択
した階層的な音楽構造(例えば、面形式、楽節構造、楽
節開始終了機能)と整合する関係を持っている。
第33図には、上述した構成をコード進行源として利用
するメロディ合成装置(作曲部)200も示されている
。このメロディ合dL装fi200としては1本件出願
人に係る特願昭62−86571号、特願昭62−12
1037号、特願昭62−325177号、特願昭62
−325178号に示されるタイプのものが使用できる
。なお、これらの出願は参考文献として本書で使用、す
る、メロディ合成装置200は、コード進行メモリ17
0に記憶されたコード進行に基づいて、メロディを生成
ないし合成するようになっている0図示のメロディ合成
装置200は、モチーフ(比較的短いメロディで最初に
ユーザーから入力することがでjる)を記憶するモチー
フメモリ220を含む、モチーフ分析/パラメータ発生
部230は、モチーフを分析しメロディの特徴パラメー
タ(例えば、小節等の区間毎のアルペジオ特徴パターン
、非和声音の分布、音域)を生成しメロディ発生部24
0に供給する。コード分析部21O(オプションである
)を設けて、コード進行メモリ170上のコード進行を
評価して付加的な特徴パラメータ(例えば、音楽の階層
構造)を生成してメロディ発生部240に供給するよう
にしてもよい、メロディ発生部240は楽曲の小節毎に
コード進行メモリ170からのコード進行における関連
するコードに基づき関連するメロディ特徴パラメータを
メロディに変換する0例えば、アルペジオ特徴パターン
即ち各和声音をオクターブの種類を特定する数値とコー
ド構成音の種類を特定する数値とで表現したパターンを
、各和声音がピッチで(音高で)表現されるパターンに
変換する為に、供給されたコード進行中の関連するコー
ドの音高の種類の集まりの情報を利用する。生成された
楽曲のメロディのデータはメロディメモリ250に記憶
される。楽曲演奏モード時に記憶されたメロディの各音
符は音源300(任意の通常のタイプであり得る)に供
給される。音源300は、各音符が与えられる都度、楽
音波形信号を合成し通常のサウンドシステム400に供
給して対応する音響信号を再生させる。
i星1 以下、第34図〜第47C図を参照して楽曲のコード進
行生成装置の変形例について説明する。
この変形例では、コードパターンのファイルが設けられ
る。このファイルの各コードパターンは、次コードパタ
ーン候補ファイルと呼ばれる別のファイル上に示された
少なくとも1つのコードパターンと関係している。即ち
、この少なくとも1つのコードパターンは、それぞれが
関連するコードパターンの次に続くことのできるコード
パターン候補のセットを構成するようにグループ化され
ている。この変形例によれば、コードパターンファイル
上から一旦1つのコードパターンが選択され、楽曲のコ
ード進行上の現コードパターンCP(i)として決定さ
れると(ここでは楽曲のコード進行はCP (i)の所
まで完成しているものとする)1次コードパターン候補
ファイル上からこの現コードパターンCP (i)に関
連するコードパターンセットが取り出され、CP (i
)に後続する次コードパターンの選択リストとしてユー
ザーに提示される。この選択リストのなかから1つの選
択肢がユーザーにより選ばれる。最終的に選択されたコ
ードパターン(これはCP(++1)で表現することが
できる)は現コードパターンCP (i)に連結される
。これによりコード進行はCP (++1)の所まで作
成されるのでCP(++1)を現コードパターンと呼び
直すのが適当である。ここで、CP(L+1)は上述し
たコードパターンファイル上に含まれるものとする。
次いで、再びユーザーには次コードパターン候補ファイ
ル上から現コードパターンCP(++1)に続くことの
できるコードパターンのセットが提示されることになり
、このセットの中から1つのコードパターンが選択され
決定され、CP (+12)として上述したのと同様な
仕方でCP (++1)に連結される6以上の処理を繰
り返すことによりコードパターンの選択的な連結によっ
て構成される楽曲のコード進行が成長し完成する。
第34図に上で概要を説明した変形例に係るコード進行
生成装置400の全体構成を示す。
第34図において、CPU410はプログラムメモリ4
20に記憶されるプログラムに従って動作する。ワーク
メモ、す430は、データの一時的記憶の為CPU41
0によって使用される。コードパターンファイルメモリ
440には、生成すべき楽曲のコード進行のユニットと
して働くコードパターンのファイルが記憶される。ファ
イル440上の各コードパターンは、次コードパターン
候補ファイル450上のコードパターンのグループと関
係しており、各グループが関連するコードパターンに後
続することのできる次コードパターン候補のセットを規
定するようになっている。
第35図は、コードパターンファイルメモリ440と次
コードハターン候補ファイルメモリ450のデータ構造
と共に両者間の関係を示したものである。コードパター
ンファイルメモリ440において、連続するアドレスに
記憶される複数のコーFデータによりその順番で接続さ
れたコードのパターンが表現される6例えば、最初の3
つの記憶場所に記憶されるCHORD# (1)、CI
(011D# (2)、CWORD# (3)の3つの
コードによりファイル440上の最初のコードパターン
が構成される。ここに各コードパターンは、2あるいは
それ以上の任意の数のコードから成ってよく、又、種々
の長さのコードパターンがファイル440に置かれても
良い・ ファイル440の各コードパターンをファイル450の
次コードパターン候補のグループないしテーブルに間連
付ける為、ファイル440上にはポインタのエリアが設
けられ、ここに総括的にTABLE#で示すファイル4
50上の各テープルへのポインタが記憶されている。第
35図では、各ポインタをコードパターンの終りにおい
ている0例えば、ファイル440の4番目の記憶場所に
記憶されるポインタTABLE#lは、CHORD# 
(1)、CHORD# (2)、CHORD# (3)
からなる第1のコードパターンCP#lをファイル45
0上の同じ<TABLE#1で示す次コードパターンテ
ーブルに関連付けるmきをする。ファイル450上の各
テーブルには、ファイル440上の関連するコードパタ
ーンの次に続くことのできるコードパターンのグループ
に関する情報が記憶される。ファイル450の記憶容量
を節約する為に、この情報は第35図に示すようにファ
イル440上のコードパターンを指すポインタの形式を
取るのが好ましい0例えば、第1のコードパターンCP
#1に対する次コードパターンテーブルであるTABL
E#1について述べると、このTABLE#lは、N個
の次コードパターン候補をADDROF  NCP#X
1〜ADDROF  NCP#Xnで示すポインタの形
式で持っている。第1のポインタであるADDROF 
 N CP # X 1 ハ第1コードパターンCP#
1に対する次コードパターンの最初の候補に係るファイ
ル440上の7ドレスを指しており、具体的には、ファ
イル440上の中で次コードパターンとしての最初の候
補のデータが開始する記憶場所を指している。第35図
の場合、ADDROF  NCP#X1は点線で示され
るようにファイル440上の第2のコードパターンCP
#2に対するポインタにたまたまなっている。これは第
1コードパターンCP#1の後に、第2コードパターン
CP#2を続けることができることを意味している。
ファイル450上の各テーブルには、それぞれの次コー
ドパターン候補の使用頻度に関する情報(総括的にFR
EQで示している)も記憶される。各頻度データは、関
連するコードパターンがコード進行のユニットとして使
用された回数の相対的な大きさを表わしている。コード
進行生成プロセスにおいてファイル450上の次コード
パターン候補テーブルからコードパターンが選択され、
次コードパターンとして決定される度にそのコードパタ
ーンの頻度データが後述する仕方でインクリメントされ
る。ファイル450の各テーブルは、コードEOTで終
っている。
第34図に戻って入力装置460は、楽曲のコード進行
生成作業の開始や終了、コード進行で使用されるコード
パターンの選択等ユーザーの応答やコマンドを入力する
のに用いられる0表示装置470はユーザーが入力装置
460を介して選択肢を入力する為のコードパターン候
補のリスト等のデータやメツセージを表示するのに使用
される。コード進行メモリ480には生成されたコード
進行が記憶されるようになっている。コード構成音メモ
リ490には、コード進行で使用される各コードに関す
るピッチを表わすノートナンバーの形式のコード構成音
データが記憶される。コード進行を生成する過程におい
て、コード構成音メモリ490はCPU410によって
アクセスされ、メモリ4Bθ上の生成されたコード進行
(ここでは、各コードは根音とタイプとで表現されてい
る)から音源510の動作に適したフォーマットを持つ
コード演奏データに変換するのに利用される。即ち、C
PU410はコード構成音メモリ490を参照すること
により根音とタイプで特定されるコードをコード構成音
の音高に分解する。
メモリ500にはその他のデータ、例えば音源510の
動作に必要なデータ(例えば、音色データ)や表示装置
470の動作に必要なデータ等が記憶される。
音源510は任意の通常のタイプでよく電子的に楽音を
合成する。コード進行の生成過程においてコードパター
ンが選択されると、その選択されたコードパターンに対
応するコード演奏データと共に、その選択コードパター
ンに先行するメモリ480上の生成済のコード進行又は
その一部に対応するコード演奏データがCPU410に
より生成される0次いで、CPU410は、そのコード
演奏データを処理しくデコードし)、ノートオン/オフ
のコマンドを含むデコードされた演奏データを音源51
0に転送し、これにより音源510で対応する楽音が形
成され、サウンドシステム520に送られ対応する音響
信号が出力される。
このようにして1選択されたコードパターンは、それに
先行するコードパターンの演奏に引き続いて自動演奏さ
れることになる。この機能により、ユーザーは選択した
コードパターンをそれまでの間にメモリ480上で生成
したコード進行につなぐのが本当に妥当かどうかを容易
に判断することが可能となる。
本装置400は、第36図に示すゼネラルフローに従っ
て楽曲のコード進行を生成する。
真ず、3B−1でコード進行の生成のために装置400
が初期化され、続<36−2で曲の最初のコードパター
ンが決定される。この決定は例えば次のようにして行う
ことができる。CPU410の制御のもとで、コードパ
ターンファイルメモリ440から全コードパターンを読
み出して表示@@470上に適当なフォーマットで表示
する。
次いで、ユーザーが入力装置460により表示されてい
るコードパターンの1つを選択する。所望であればユー
ザーの確認を得る為選択したコードパターンを自動演奏
することができる。このようにして選択され決定された
コードパターンは、コード進行メモリ480に最初のコ
ードパターンとして記憶される。
以降の処理36−3〜3B−10において、楽曲のコー
ド進行が配列480上で完成するまでの間1つずつコー
ド進行が選択され決定され連結されていく、以下の説明
では、コード進行配列400上の中で最後に決定され記
憶されたコードパターンのことを現コードパターンと呼
ぶことにする。
36−3でメモリ450から現コードパターンに接続可
能な次コードパターン候補のテーブル(NEXT−TB
L)を呼び出しその情報を表示装M470に表示する0
次の36−4でこの表示装置470に表示されたコード
パターンの中からユーザーが1つを次コードパターンと
して選択するのを待つ、ユーザーがコードパターン(N
EXT−CP)を選択すると、プログラムは試聴処理3
6−5に進み、この処理において1選択されたコードパ
ターンと共に選択されたコードパターンに先行するコー
ド進行の少なくとも一部がユーザーの確認の為に演奏さ
れる(但し、3B−4からの最初のバスでは現コードパ
ターンと、次コードパターンとして選択されたコードパ
ターンのみが演奏される)、試聴の後、36−6でユー
ザーの応答を待機する。この時点でユーザーは再びコー
ド演奏を、多分別の場所から聞き直したい場合には1選
択コードパターンNEXT−CPの適否を更に調べるた
めにそのような演奏開始位置(LOC)を指定する。こ
の場合、3B−7でこの位置LOGが識別され、36−
5の試聴処理に戻り、ここで指定された位MLOcから
コード演奏を行う。
選択したコードパターンが気に入らなければユーザーは
NGの応答を入力する。そしてこのことが36−7で検
出され、36−4に戻って1次のコードパターンとして
別のコードパターンの選択を1f(能とする。
選択したコードパターンに聞届がなければユーザーはO
Kの応答を入力する。このことが36−7で確認される
と36−8に進み、ここで次コードパターンテーブル、
NEXT−TBLの配列要素を頻度順に並べ変える(ソ
ートする)処理を行う0次いで、36−9で選択され決
定されたコードパターンNEXT−CPをコード進行配
列(CPA)に連結してNEXT−CPがCPA(7)
末尾に来るようにする。この結果、NEXT−CPはコ
ード進行の最後のコードパターン、従って現コードパタ
ーンとなる。
36−10で楽曲のコード進行を完了させてよいかどう
かをユーザーに問い合せその返事を受は取る。ユーザー
の返事がコード進行の継続を指示している場合には、3
6−3に戻り、そうでなければ第36図のフローから抜
ける。この時点でコード進行アレイ480には楽曲のコ
ード進行が完成している。
第36図のフローの個々の詳細な説明に進む藺に、個々
の処理で参照される主なレジスタ、メモリ類について説
明することにする。
このようなレジスタとメモリ類を第37A図と第37B
図に示す、TBLNPのレジスタは、ファイル450上
の次コードパターン候補TABLE、NEXT−TBL
へのポインタである。フラグFは1ビツト情報を記憶し
試聴処理36−5で参照される。36−4でコードパタ
ーンNEXT−CPの選択に続けて試聴(36−5)が
行われる場合には、このフラグFは1回目を示す(論理
l)となる、36−7から戻って試聴(36−5)が行
われる場合には、フラグFは論理0、即ち1回目でない
ことを示す、F=“1回目”の場合、36−5でコード
演奏を現コードパターンの所から初め、一方、F=“1
回目でない”ときには、36−6でユーザーが指定した
位置LOGからコード演奏を行う、レジスタNEXT−
CPは次コードパターン候補テーブル、NEXT−TB
Lから選択した次コードパターンへのポインタである。
即ち、NEXT−CPポインタは、コードパターンファ
イル440上において、この次コードパターンの最初の
コードデータが置かれるアドレスを指す(第35図参照
) 、LOGレジスタは試聴処理36−5で最初に演奏
されるコードパターンを指すポインタである。
メモリFDには、試聴処理36−5で作成され演奏され
るコード演奏データが記憶される。データFDにはコー
ド音の音高もしくは音高クラスをそれれぞれ示す各ノー
トナンバーが含まれる。各ノートナンバーに関連してO
N10 F Fビットが設けられており、これによりノ
ートナンバーで示される音高の楽音についてのノートオ
ン又はノートオフのイベントが規定される。イベントデ
ータ(ノートナンバーとON10 F Fビット)の間
には次イベントタイムのデータが挿入される。それぞれ
の次イベントタイムデータは、イベントからイベントま
での時間、換言すれば次のイベントが発生するまでの残
り時間を示す、第37A図では、各次イベントタイムデ
ータは次イベントデータの先頭に位置している。
第37A図に示す全てのレジスタ、メモリ類及び第37
B図に示すレジスタCURR−Pは、第34図に示すワ
ークメモリ430内に設けられている。
コード進行配列(CPA)であるメモリ480のデータ
構造を第37B図に示す、上述したように、CPAは第
36図のフローにおいて生成される。CPAのデータは
各コードを根音とタイプで特定する形式でコードパター
ンを連結したものである。任意のコードパターンの所か
らコード演奏が容易に行えるようCPAの各コードパタ
ーンにはパターン崩のデータが付属している。レジスタ
CURR−PはCPA上の現コードパターン(最後のコ
ードパターン)を指すポインタとして使用される。
第36図は第36図のフローのうち、次コードパターン
候補テーブル、NEXT−TBLを取り山して表示する
処理36−3の詳細を示したものである。第36図のフ
ローは、TBLNPのポインタで示される次コードパタ
ーン候補のテーブルを検索して、その情報を次のコード
パターン候補の選択リストとして表示装置470に表示
し。
特にN E X T −T B L−hの頻度に応じて
各次コードパターン候補が番号付けされる形式で表示す
る。
詳細に述べると、先ずAレジスタをTBLNPに初期設
定する(38−1)、NEXT−TBLのテーブル上か
らAにあるデータ(例えば、第35図のTABLE#l
)を読み出しく38−2)、そのデータの種類を調べる
(38−3、38−4)、もしデータがファイル440
上に記憶される次コードパターンへの“ADDR″ポイ
ンタならばBレジスタをこのポインタの値に設定する(
38−5)、続いて、38−6でBポインタで示される
次コードパターンに対する番号を(A−TBLNP)÷
2+1によって求め、この番号を38−7で表示装置4
70に表示する。この番号は次コードパターンの頻度の
ランクを示すようになっている6例えば、NEXT−T
BL上でl番高い頻度を持つ次コードパターンにはNo
lが付けられ1次に高い頻度を持つ次コードパターンに
はNo2が付くといった具合である。38−8でファイ
ル440上からBポインタで示されるアドレスにあるデ
ータを読み出す、読み出したデータがコードであれば(
38−9)、そのコードをコードネームの形式(例えば
、G7 、 Da )で表示する(38−10)、次い
で、Bポインタをインクリメントしく38−11) 、
Bポインタにあるデータの読み出しとコードの表示の処
理(38−8〜38−11)を38−9でファイル45
0へのテーブルポインタが見つかるまで繰り返す(第3
5図参照)、この時点で表示装置470の画面には、s
号に続いて次のコードパターンの候補を示すコードネー
ムの列が表示されている0次いで、38−13でNEX
T−TBLのAポインタをインクリメントし38−2の
処理に戻る。
38−4でNEXT−TBL(7)Aポインタの位置に
あるデータが頻度を示している場合には、38−12で
その頻度情報を関連するコードパターンの近くに表示し
、38−13でAポインタをインクリメントする。
38−3でNEXT−TBLのAポインタニするデータ
が、NEXT−TBLのTABLEの終りを示すコード
EOTである場合には(第35図参照)第36図のフロ
ーから抜は出す、この時点で表示装置の画面には、次コ
ードパターン候補のリストが頻度付きで表示されている
第39図は第36図のゼネラルフローにおける試聴処理
36−5の詳細を示したものである。39−1でフラグ
Fが1回目を示しているかどうかを調べる。これが成立
するのは、36−4での次コードパターンの選択後の最
初のパスでコード演奏を行うとする時である。従って、
これが成立す  。
る場合には、39−2でLOGを1の値、すなわち現在
の/#(これはコード演奏が現コードパターンの所から
開始することを示す)にセットする。
次いで、39−3でフラグFを1回目でない状態に変更
し、これにより36−7からの戻りのパスで試聴処理3
6−5を行う場合に、そのコード演奏が36−5にてユ
ーザーが指定した位5fLOC1多分現コードパターン
の位置とは異なる位置LOGから始まるようにする1次
いで、39−4でLOG、NEXT−CP、CPA、C
URR−P、コード構成音メモリ490等を用いて第3
7A図に示すようなコード演奏データFDを作成する。
この詳細を第40図に示す、第40図の40−1ではL
OCとCURR−Pに基づき、最初に鳴らすべさCPA
(第37B図参照)上のコードパターンのアドレスを求
める0例えば(LOX−1)をCURR−Pにある現コ
ードパターン陥から差し引くと、この結果の数字が最初
に鳴らすべきコードパターンに対して割り当てられたコ
ードパターン動である。そこで、CPA上からこの計算
したコードパターン陽を記憶している場所を捜し求める
。求めるべきコードパターンのデータは(計算したコー
ドパターンNo−1)から計算したコードパターン番号
が記憶される位置の間に連続的に記憶されている0次の
ステップ40−2でコード演奏データPDを現コードパ
ターンの所まで作成する。これは次の如く行われる。先
ず、40−1の所でAポインタには、最初に鳴らすべき
最初のコードのデータを記憶するCPA上のアドレスが
設定されているものとする。CPA上において、この最
初のコードのうち(Aポインタの初期Iff定値)から
CURR−Pで特定される最後のコードの位置までにあ
るコードデータをコード構成音メモリ460を参照する
ことによってノートナンバーに変換する。変換後の各ノ
ートナンバーには、ON又t′±OFFのビットを付け
てノートオン、ノートオフのイベントを定め、更にイベ
ント間に次イベントタイムデータを挿入し、現コードパ
ターンの所までコード演奏データFDを作成する(第3
7A図参照)、処理40−2の詳細なフローを第41図
に自明な形で示しであるので参照されたい(その詳細な
説明はここでは省略する)、更に、コード演奏データP
Dは40−3で延長される。即ち、NEXT−TBLか
ら選択した次コードパターンNEXT−CPに関する演
奏データが含まれるように延長される。なお、第37A
図に示すFDのデータフォーマットは単なる例示であり
、当業者はこの演奏データの為に他の任意の通常のフォ
ーマットを採用することができる。
第39図に戻り、39−5のステップでコード演奏デー
タに従う音を鳴らす、35−5の処理にはPDのデータ
をデコードし、それを音源510に送って対応する楽音
を発生させる為の処理を含んでいる。この種の処理は自
動演奏機能を持つ電子楽器の分野では周知であるので詳
細な説明は省略する。
試聴処理36−5の機能により、ユーザーにとって選択
したコードパターンNEXT−CPが現コードパターン
につなぐのに最適かどうか容易に判断できることになる
第42図に次コードパターン候補テーブル。
NEXT−TBLをソーティングする処理36−8(第
36図)の詳細を示す、先ず、42−1でフラグFを一
回目にセットして次のノぐスの36−5(第36図)に
てコード演奏が現コードパターンの所から始まるように
する0次の42−2で次コードパターンN E X T
 −CTが36−(i(7)ユーザーの判断により次の
コードパターンとして決定されたのでその頻度データを
インクリメントする。続いて42−3でインクリメント
された頻度データが使用フォーマットで表現可能な最大
値に達したかどうか調べる。その場合には42−4でN
EXT−TBL内にある全ての頻度データを右にシフト
して全ての頻度を2で割る。そうでない場合には42−
4はスキップされる。ステップ42−5がN E X 
T −T B L c7) ソー テ4 ングfiJl
の本体を構成している。このソーティングは次のように
して行われる。まずソーティング処理36−8に入る曲
においてNEXT−TBL内の全ての要素はNEXT−
TBLの一番上から下に向かって頻度が減少する方向に
配列されているものとする。42−5では42−2で更
新した頻度をもツ次コードパ9−7 N E X T 
−CPがNEXT−TBLの一番上に位置しているかど
うか調べ、もしこれが成立すればなにもしない、そうで
なければこのNEXT−CPの直前にあるコードパター
ンの頻度データを取り出し両頻度を比較し、NEXT−
CPの頻度の方が直前のコードパターン(ICP)の頻
度より小さければなにもしない。
そうでなければ両者の位置を入れ換え、ICPがあツタ
位置にNEXT−CPが位tし、NEXT−CPがあっ
た位置にICPが位置するようにする8以上の処理を終
了条件すなわちNEXT−CPがNEXT−TBL(7
)一番上ニ達すルカNEXT−CPの頻度より高い頻度
をもつICPにICPを発見するまで続ける。
第43図は第36図の連結処理36−9の詳細を示した
ものである。まず、ファイル440上において次のコー
ドパターンのデータが開始する記憶場所を示すNEXT
−CPポインタの値をAレジスタにセットする(43−
1)、続いて43−2〜43−5の処理でファイル44
0上にある次コードパターンの各コードデータを順次、
コード進行配列CPAのCURR−Pポインタで示され
る位置にコピーし、AポインタとCURR−Pポインタ
をインクリメントし、これをファイル440上からテー
ブルポインタがみつかるまで綴り返す(43−3)、決
定された次のコードパターンはこのようにしてコード進
行配列CPAにその最後の要素として連結される。
この時点で次のコードパターンはCPAの最後のコード
パターンとなるので、このコードパターンを現コードパ
ターンと呼び直すことにする。
43−3の所で検出されるテーブルポインタはフラグ4
50上における次のコードパターンテーブル、NEXT
−TBLを指しており、その情報はコード進行の継続の
ためにジェネラルフローの次のパスの38 ’2の所で
表示する必要がある。この点に鑑み、43−6でこのT
ABLEポインタの内容をTBLNPポインタに格納し
、43−7にてコードパターン尚とCURR−Pポイン
タをインクリメントし、43−8でインクリメントされ
たパターン陥をCPAのCURR−Pポインタで示され
る位aに格納する。
第44図はコードパターンの木構造を例示したものでこ
こでは最初のコードパターンヲc  Ds7−G7−C
としている。第44図に示す各矢印は1つのコードから
別のコードへの接続を示している0例えばC−Dol−
G7−CのコードパターンはCD*7  # dam 
 EelかC−017−G7−Cのいずれかにつなぐこ
とができる。理解されるように上述したファイル440
の各テーブルポインタとそれに関連するファイル450
のADDROF  NCPにより第44図の矢印が実現
される。しかしながら第44図に示すようなコードパタ
ーンの論理的な構造あるいは接続関係は他のいくつかの
方法で実現することができるものである。第45図に実
現例の概要を示す、第45図においてTBL#1はコー
ドパターンCPのセットを記憶するメモリ形式の最初の
コードパターンテーブルを表わしている。各CPには次
のコードパターンテーブルを指すポインタが付いている
(5IJ中ドツトマークで示している)0例えばTBL
#lはTBL#2−1.7BL#2−2等にリンクして
いる。モしてTBL#2−1の方はTBL#31等にリ
ンクしている。このようにして第45図の構成は基本的
にコードパターンの階層的なデータ構造を形成するもの
であるが、純粋な階層ではない、即ち、ポインタの中に
はアースに似たシンボルにつながったものがありこのア
ースシンボルの他端は最初のコードパターンテーブルT
BL#1につながっている。このことはアースされた格
好のドツトマークをもつコードパターンには最初のTB
L#1内のコードパターンが後続しうろことを示してい
る。従って、第45図の構成には戻りの経路が設けられ
ており、これにより戻りの経路なしの構成に比べ記憶容
量を簡約できる利点が生じる。更にアースされた格好の
ポインタは、楽曲のコード進行が終りに達したかどうか
の判定を行うのに利用できる。ここに、アースされたポ
インタ(実際にはTBL#lを指すデータ)が付いた各
コードパターンに和声的な終了や終止形が含まれるもの
とする0例えば、そのようなコードパターンをコード進
行アレイに連結した後で装置側からユーザーに対しコー
ド進行をこの時点で終らせることができる旨のメツセー
ジを伝えることができる。このメツセージに対しユーザ
ーは更にコード進行の継続を要求する場合にはNGの返
事を、又終了を認めた場合にはOKの返償を入力するこ
とになる。なお第37A図、37B図、39図〜41図
で説明した試聴処理36−5は単なる例示にすぎない、
状況によっては意図する楽曲にあうようなリズム(可変
のコード音の長さを持つ)付のコード演奏を行なうのが
望ましい。
第46図に基本となるコード演奏データBPDを示す、
BPDはコード進行の生成作業を始める前あるいは作業
中にBPDのセットの中から選択することができる。こ
のBPDは第37A図に示すようなコード演奏データP
I)の基礎として機能する。BPDのフォーマットをP
Dのフォーマットに変換するためにBPDに含まれる各
構成音IDC特定のコード構成音を示すもので例えば。
1番低いコード構成音は1、2番目に低いのは2等で表
わされる〕を変形にかかる試聴処理の所で処理して特定
のピッチデータすなわちノートナンバーに変換する。詳
細にはコード構成音メモリ490を参照してコードの各
ノートナンバーヲ得。
その中から構成音Inによって特定されるコ−ド構成音
のノートナンバーを選択する。FDの大きさはBPDの
大きさよりも大さく(長く)なリラるのでこの試聴処理
では矢印付のループ46Aで示すようにBPDパターン
を繰り返し読み出しシード演奏が続けられるようにする
。BPDにある各コードチェンジデータはコードを切り
換えるタイミングを表わしている。即ち、試聴処理にお
いてBPDメモリ上からコードチェンジが検出される都
度CPA (NEXT−CPを含ム)上カら次のコード
を試聴のために選択する0次いでこの選択したコードに
基づきコード構成音IDを再びコードチェンジがみつか
るまでの間ノートナンバーに変換する。試聴処理におい
てBPD上から次イベントタイムが得られる都度それに
よって示される時間が経過するのを待つ、そしてその時
間の経過後に関連する構成音Inをノートナンバーに変
換し、そのノートナンバーを含むノートオン/オフコマ
ンドを音源510に転送することによりイベントを実行
する。上述した試聴処理の詳細なフローチャートを第4
7A図、478図、47C図に示す、フローの記載内容
から明らかであるのでこれ以上の詳細な説明は省略する
L囚皇豊l亙1 以上で実施例の説明を終えるがこの発明は上記実施例に
は限定されず、種々の変形、変更が可能である。
例えば、楽曲の構造データの選択に関し、上記実施例で
は上位の階層レベルの特徴構造から下位の階層レベルの
特徴構造に向ってデータを選択しているが、所望ならこ
の順番を任意にしてもよい6例えば、各楽節の開始終了
機能が選択されたとすると、この開始終了機能データが
開始終了機能ファイルf2.f3 (36)のどのグル
ープ(あるいはどれとどれの)に属するかは容易に特定
できる6例えば、dat a (f2.g、n、dn)
(ここにd n= lNd nmax (f 2、g、
n))に選択した開始機能のデータがあれば、このとき
のgの値が目的とするグループである。このグループか
ら逆に、1つ上位の特徴構造ファイルである楽節構造フ
ァイルfl(3A)上のアドレスを計算できる。あるい
は開始終了機能ファイルの開始終了機能データごとに楽
節構造ファイルf1へのポインタ(アドレス)を持たし
てもよい。
このアドレスにあるデータが選択された楽節構造データ
となる6選択した開始終了機能データが、開始終了機能
ファイルの複数のグループ内に存在する場合は楽節構造
ファイルには対応する楽節構造が同じ数だけある。この
場合、これらの楽節構造の候補のなかから、1つをユー
ザー指示または自動で選択すればよい。
実施例の第2図に例示するように楽曲の構造をファイル
として記憶する方式は種々の楽曲に関する構造の知識を
表現するのに有効であり、これらのファイルから音楽構
造データ(例えば、楽曲形式、楽節構造、楽節開始終了
機能)を任意に選択したとしても楽曲の特徴が得られる
という、音楽的な保証を与える。しかしながら、演算手
段(例えばルール型の推論システム)によって各階層レ
ベルの特徴構造を生成(選択)するようにすることも可
能である0例えば、その種の手段は、楽曲の形式が与え
られた場合に、その形式に関連する楽節構造生成ルール
ないしアルゴリズムに従って、複数の楽節構造を生成し
、そのなかから乱数により1つを選択する。また、ケー
デンス機能パターンからコードパターンを演算によって
生成し、そのなかから1つを選択することも可能である
あるいは、コード進行生成装置側で楽曲の特徴構造を生
成する機構をなしにしてもよい、すなわち、ユーザーが
直接、入力装置より楽節構造、楽ffi!iM始終了機
能のデータを設定入力するわけである。
また、ファイルメモリ3に関しては、上述した楽節構造
のファイル、楽節開始終了機能のファイル以外に、長い
曲におけるより大きな構造(例えば楽章構造)のファイ
ルを設けてもよい、あるいは、楽節のその他の性格を表
わすデータのファイルを、;シけ、この性格データによ
ってケーデンス機能ファイル3Cおよび/またはコード
パターンファイル3Dから取り出すケーデンス機能パタ
ーンあるいはコードパターンのセットに制限を加え。
制限されたセットのみがコード進行に使用できるように
することもrIT能である0例えば、楽曲の進行の所定
の区間(楽節構造における各楽節と一致してもよいし一
致しなくてもよい)において支配的な調性を表わすデー
タのファイルを用意し、コード進行の生成工程において
処理が新しい区間に移ったら、それに対応する調整デー
タを上記調性構造のファイルから選択し、その後、ケー
デンス機能ファイルから取り出したケーデンスパターン
が現在の調性データに合うパターンの場合のみ(例えば
、調性がメジャーのときはメジャーケーデンスパターン
であり、マイナーのときはマイナーケーデンスパターン
であるときに)、そのパタ−ンを採用するように制御す
る。また現在の調性データの主音データはケーデンスパ
ターンを具体的なコードパターンに変換するときに利用
することができる。
また、コード進行の生成においてコード進行を反復させ
る場合に、楽節構造データの楽節のタイプが同じである
ことをその条件としてもよく、楽節の開始機能同士の一
致、終了機能同士の一致は調べないようにしてもよい。
更に楽節を更新するための条件に楽節の長さの項目(例
えばコード17)数)を加えることもできる0例えば、
楽節の長さを管理する範囲データを記憶しておき、コー
ド進行生成の際、現楽節のコード進行の長さが、管理デ
ータの示す範囲内にあることを楽節更新の必要条件とす
る。
また、楽曲のコード進行を生成する場合に、ユーザーが
重要と考える場所のコード進行を決めてから残りのコー
ド進行が生成できるように変形することも容易である。
もちろん、楽曲のコード進行をいったん作成した後で部
分修正のできるニブイト機能を設けることも容易である
Li2丁、D丁 FILE 1   file1、dt 2  5con、dt 3   econ、dt 4   function、dt 5   caden、dt 6   mcaden、dt 7   rh7mfile、dt HIE−9TRUmE (そのl HIE−硝a釘捷(その2) HIE−茸囮石皿E(その3) funct ion、dt I  No、l(メジャー用) 2   ↑ DT 3   TST TSmT 5   ↑ S  Ss  T 8    TSDT ?    79層 D 丁 8   TSS■ D 丁 9  No、2(マイナー用) 0TDT 11Ts  ↑ 12    TSDT 080b 0 050550a 0 0505908 G 08025Qa 0 0 BO25080 050b 8020 050b 5Qa O 050b 5080 050b 9080 050b 9010 0 BOB 1050 0 BOB 5Qa 0 [1,5 05Bob 0 o 5o55070 050560b 0 050530? 0 0802 Bob 0 0 BO23070 Q 50b 5070 050b 10 050b 60b O 050b 30? 0 050b 2080 0 BOB 10 o eos sob 。
050a 5070 05Qa 5010 0105 sob 。
080260b 0 050a Bob 0 0508130b 0 0908 EiOb O 090160b O 05Qa 3070 050B 3070 05Qa 201110 [1,7 0550a 5070 0590850? 0 050550a 5010 050590B 5010 050510560b O Q 505 BO26ob 0 050550a 80b 0 050550880b O 050590880b O 050590180b 0 05055Qa 5070 050550850? 0 080250a 5070 0802 !9085070 080290150? 0 0550a 5010 0510580b 0 051302 Bob 0 055Qa 80b 0 05508 Bob 0 05908 BOb 0 0590180b O 0[1028025010 080250a 5010 0 BO25085010 0Ei02105 Bob 0 0 BO26026ob 0 08025Qa 60b 0 0 BO2508Bob 0 0 BO2908[iob 0 0 BO29016ob 0 IIcaden、dt Q 8028070 050880? 0 050a 8070 0505507 Q 0 E1025o? 0 09085G70 05Qa 5G70 Q 50550a 0 09015Qa 0 08055Qa 0 08025Qa 0 09085Qa 0 05085Qa 0 05Qa 5Qa 0 0 BO25010 050a 5010 rhBfile、dt I   No、1 5   18 8 8 111i 7  1θ 8816 9   No、2 c発IJIの効果1 最後に、特許請求の範囲に記載する各請求項の発明の作
用、効果について説明する。
請求項1、2.31.4.5.6.16、!9.20に
示すコード進行生成装置によれば、構造的なアプローチ
によりコード進行を生成することができる。換言すれば
、予め、コード進行の骨組ないし概略、主要部を決めて
おいてから、その骨組等に合うコード進行をコードパタ
ーンの連結によって形成できる。なお、これと同様な利
点は請求項17の構成からも生じ得る。請求項1の場合
には、各楽節の開始音楽機能と終了音楽機ず七を決めて
おいて、それに合うようにコード進行が生成される。請
求項2の場合は楽節構造を決めておき、そのなかに同様
なタイプの楽節があれば、それらの楽節に対するコード
進行が同一に形成され、いわゆるコード進行の反復を構
造的なアプローチに基づいて実現でさる。請求項3では
階層的な音楽構造記憶手段として有利なデータ構造につ
いても言及しである。請求項4は請求項3の構成におけ
る音楽の構造選択手段としての有利な#i成とミニコー
ドパターン生成手段としての好都合な構成とを示したも
のであり、これにより1階層的な音楽構造を大容量であ
り得る音楽構造記憶手段(データベース)から、効率的
に選択できるとともに。
コードパターンに関する知識の少ないユーザーでも容易
にコードパターンを選択でさる。請求項18の場合は、
予め、同じコード進行とすべさ複数のブロックを選択し
ておきさえすれば、反復制御手段により、これらのブロ
ックに対するコード進行が自動的に反復されるという利
点がある。
請求項7,6、9.lOに共通な利点は、装置とユーザ
ーとの間で取りかわされる対話ないしインターアクシ遭
ンを通じてコード進行が生成でき、したがって、コード
進行の有効な学習機としての機能も実現できることであ
る。更に、請求項7では音楽知識源として、音楽構造デ
ータベース手段とコードパターンデータベース手段とが
装置側にあり、対話時にそのなかの必要の情報をメニュ
ー式インターアクティブ手段を介してユーザーがアクセ
ス可能であり、ユーザー自身のコード進行に関する音楽
知識は実質上要求されない、請求項8の場合は、コード
進行の進行の度合に関連する対話のサイクルを過去のサ
イクルに戻すことができるので、手直しや再考の要求さ
れるコード進行の作成作業に極めて有利である。また、
請求項9の場合は、コード進行における各種の処理項目
を自動(装置主導)にするか手動(ユーザー主導)にす
るかを処理に係る選択リスト別に選択できるので、コー
ド進行の作成作業におけるユーザーの関与の度合をユー
ザーの好み、経験、知識等に合わせて自由にかえること
ができ、したがって様々なユーザーにとって有意義なコ
ード進行の作成環境を提供できる。
請求項11.12.13、14から生じ得る利点は、コ
ードパターンの連結によりコード進行を得る場合におい
て、適宜、所望のクラスのコードパターンを発生するコ
ードパターン発生手段を選択し、その可変のコードパタ
ーン出力を選択できる点にあり、したがってコードパタ
ーン発生手段ごとに異なるコード進行生成法が提供でき
、異なるコード進行生成法の利用によるバリエーション
の豊富なコード進行を得ることができる。
請求項15はこの発明の作曲機への応用例を示したもの
であり、構造的なアプローチによって生成されたコード
進行を音楽材料としてそれに合うメロディを生成するこ
とにより、よりよいメロディができる可能性が高まる。
請求項16ではコードパターンデータベース手段をコー
ドパターン源として使用し、そのなかからひとつずつコ
ードパターンを選択、連結してコード進行を生成してい
るので、格別、音楽知識のないユーザーでも容易に希望
するコード進行が得られるとともに、単なるコード間の
遷移の頻度表等に基づくコード進行生成装置に比べ、性
格や特徴の異なる様々なコード進行を容易に構成し得る
請求項21.22.23、24では音楽の時間軸の方向
にコードパターンの階層的な構造をとるような特殊な構
造のコードパターンデータベース(コードパターンネッ
トワーク手段)を用い、このようなデータベース上に定
義されるコードパターン間の階層的関係ないし連結可能
関係を選択的に辿ることによってコード進行を形成して
いるので、音楽的に゛自然でかつ、ユーザーの好みに合
うコード進行が容易に得られ、しかも、ユーザーに格別
の音楽知識は要求されない。
請求項25.26は上述したようなコードパターンの連
結によってコード進行を得るような場合に、重要な問題
の1つとなる次のコードパターンの決定問題を有効かつ
確実に解決したものである。即ち、次コードパターンの
候補として選択したコードパターンについては、試聴手
段により自動演奏(好ましくは、先行するコード進行の
自動演奏に続けて演奏)してユーザーに試聴させ、コー
ドパターンの採用の適否を十分に吟味できるようにして
いるので、常に満足のゆくコードパターン決定が可能と
なり、その効率もよい。
【図面の簡単な説明】
第1図はこの発明の実施例に係るコード進行生成装置の
全体構成図。 第2図は第1図のファイルメモリ3におけるファイル編
成を示す図。 第3図は第1図の実施例に組み込まれた、コード進行生
成の主な機能を示す機能ブロック図、第4図は実施例の
動作の理解に適したコード進行生成例を示す図。 第5図は実施例の全体的動作のフローチャート、 第6図はデータファイルの読出しのフローチャート、 第7図はリストファイルとデータファイルのデータフォ
ーマットを示す図。 第8図は各処理項目につき自動/マニュアルモードを選
択するフローチャート、 第9図は調性の主音を決定するフローチャート、 第1O図は調性のモードを決定するフローチャ−ト、 第11図は楽曲形式を決定するフローチャート、 第12図は楽節構造を選択するフローチャート、 第13と第14図は楽節の開始終了機能を決定するフロ
ーチャート、 第15図はコードの生成法を選択するフローチャート、 第186はケーデンスによりコード進行の生成を行うフ
ローチャート、 第17図、第18図、第19図、第20図、第21図、
第22図、第23図、第24図、第25図はケーデンス
によるコード進行生成に含まれるサブプロセスの詳細を
示すフローチャート、第26図、第27図、第29図は
S進行によるコード進行生成の詳細を示すフローチャー
ト、第29図、第30図、第31図、第32図はD進行
によるコード進行生成の詳細を示すフローチャート。 第33図はユーザーと装置との間で取り行われる対話を
通して生成されたコード進行に基づいてメロディを合成
する自動作曲機のブロック図5第34図は本発明の変形
例に係るコード進行生成装置のブロック図。 第35図は第34図に示すファイル440と450のデ
ータ構造と共に両者の間の関係を示す図、 第36図は第34図に示す変形例の動作の全体的なフロ
ーチャート、 第37A図と第378図は第36図のフローで使用する
レジスタメモリ部のフォーマットを示す図、 第36図は第36図のブロック36−3で行われる次コ
ードパターンテーブルの検索及び表示の処理の詳細を示
すフローチャート、 第39図は第36図のブロック36−5で行われる選択
したコードパターンの試聴処理のフローチャート。 第40図は第39図のブロック39−4のフローチャー
ト、 第41図は第40図のブロック40−2の詳細なフロー
チャート。 第42図は第36図のブロック36−8で行われる次コ
ードパターンテーブルをソートする処理のフローチャー
ト、 :543図は第36図のブロック36−9で行われる決
定されたコードパターンをコード進行配列に連結する処
理の詳細なフローチャート、第44図はコードパターン
の階層的なネットワークを示す図、 第45図は第44図に例示するコードパターンの階層的
ネットワークを実現するためのコードパターンのファイ
ル組織を模式的に示す図、第46図は基本となるコード
演奏データ(HPD)の構造を示す図、 t547A図、第47B図及び第47C図は第39図の
ブロック39−4と39−5で行われる選択されたコー
ドパターンの試聴のためのコード演奏処理の変形例に係
るフローチャートである。 l・・・・・・CPU、2・・・・・・プログラムメモ
リ、3・・・・・・ファイルメモリ、4・・・・・・ワ
ークメモリ、5・・・・・・入力装置、6・・・明表示
装置、3A・・・・・・楽節構造ファイル、3B・・・
・・・楽節開始終了機能ファイル、3C・・・・・・ケ
ーデンス機能ファイル、3D・・・・・・コードパター
ンファイル、F2・・・・・・楽節構造選択部、F3・
・・・・・楽節開始終了機能選択部、F5・・・・・・
ケーデンス選択部、F6・・・・・・コードパターン選
択部。 F8・・・・・・コード進行形成部、F9・・・・・・
開始/終了機能マツチング部、F10・・・・・・反復
検査部、100・・・・・・対話装置、110・・・・
・・問合せ部、120・・・・・・入力部、130・・
・・・・ジップ実行部、140・・・・・・対話継続部
、150・・・・・・音楽構造データベース。 160・・・・・・コードパターンデータベース、17
0・・・・・・コード進行メモリ、200・旧・・メロ
ディ合成装置、410・・・・・・CPU、420・・
・・・・プログラムメモリ、440・・・・・・コード
パターンファイル、450・・・・・・次コードパター
ン候補ファイル、460・・・・・・入力?を置、47
0・・・・・・表示装置、480・・・・・・コード進
行メモリ、510・・・・・・音源。 仝体購成 楽曲形式 %式% ファイIL纒仄 第3図 コード浪イ〒虫j(馴残貴旨 1:1うIし70− アドレス                     
      f(IL)7フイルーーーーグループi 
、’Th グループ(ill)、−−−EOF(b)グ
ループー−−一行j、’/n 行(j+1) 、ン+行
(i12)−(c)行  −−−一列に、 ”列(k+
1) 、 ”列(k12)−第7図 ファイルテ°−タフt−マット 第8図 5−3Q#a 1631’5)WIFECI’ニートl)15−76り
巳≠糸田(ノマート4) 第36図 第37A図 5図 第378図 第36図 第39図 第40図 第42図 第43図 BPD 第46図 第47A図

Claims (26)

    【特許請求の範囲】
  1. (1)楽曲のコード進行を生成するコード進行生成装置
    において、 楽曲の各楽節について、その楽節が開始するときの開始
    音楽機能とその楽節が終了するときの終了音楽機能とを
    設定することにより楽曲の各楽節を特徴付ける楽節特徴
    付け手段(第3図のF3)と、 コードのミニパターンを可変に生成するミニパターン生
    成手段(第2図の3D、第3図のF6)と、 前記ミニパターン生成手段の生成した前記ミニパターン
    を連結して楽曲のコード進行を生成する連結手段(第3
    図のF8)と、 前記連結手段の生成したコード進行が、楽曲の各楽節に
    ついて、前記楽節特徴付け手段の設定した前記開始音楽
    機能と同一の音楽機能で開始し、かつ前記楽節特徴付け
    手段の設定した前記終了音楽機能と同一の音楽機能で終
    了するコード進行をもつように、前記連結手段を制御す
    る開始/終了制御手段(第3図のF9)と、 から成るコード進行生成装置。
  2. (2)楽曲のコード進行を生成するコード進行生成装置
    において、 楽曲の各楽節のタイプを表わす楽節構造を設定する楽節
    構造設定手段(第3図のF2)と、コードのミニパター
    ンを可変に生成するミニパターン生成手段(第2図の3
    D、第3図のF6)と、 前記ミニパターン生成手段の生成した前記ミニパターン
    を連結して楽曲のコード進行を生成する連結手段(第3
    図のF8)と、 前記楽節構造設定手段の設定した前記楽節構造にタイプ
    が同様な複数の楽節が含まれる場合に、前記連結手段の
    生成したコード進行が、このタイプが同様な複数の楽節
    に対して同じコード進行をもつように前記連結手段を制
    御する反復制御手段(第3図のF10)と、 から成るコード進行生成装置。
  3. (3)コード進行を生成するコード進行生成装置におい
    て、 ある階層レベルにある音楽構造をそれより高い階層レベ
    ルにある音楽構造ごとに分類した木構造のデータベース
    によって表現した、種々の楽曲に関する、複数の階層レ
    ベルにおける音楽構造を記憶する音楽構造記憶手段(第
    2図の3A、3B)と、 前記音楽構造記憶手段から、任意の1つの楽曲インスタ
    ンスとして、この楽曲インスタンスに関する、前記複数
    の階層レベルの各々における音楽構造を選択する構造選
    択手段(第3図のF1、F2、F3)と、 コードのミニパターンを可変に生成するミニパターン生
    成手段(第2図の3D、第3図のF6)と、 前記ミニパターン生成手段の生成したミニパターンを、
    自記構造選択手段の選択した楽曲インスタンスの音楽構
    造に従って連結することにより、楽曲インスタンスのコ
    ード進行を生成する連結手段(第3図のF9、F10、
    F8)と、 から成るコード進行生成装置。
  4. (4)請求項3に記載のコード進行生成装置において、 前記構造選択手段は、 上位の階層レベルの音楽構造によって分類される、階層
    レベルの音楽構造のリストを前記音楽構造知識記憶手段
    から呼び出して出力する第1の出力手段(第1図の6、
    第11図の11−12〜11−22、第12図の12−
    17〜12−28、第13図の13−14〜13−23
    )と、 前記リストのなかからユーザーの選択した音楽構造を入
    力する第1の入力手段(第1図の5、第11図の11−
    23、第12図の12−27、第13図の13−24)
    と、 を有し、 前記ミニパターン生成手段は、 選択可能なミニパターンのリストを記憶するミニパター
    ン記憶手段(第2図の3D)と、 前記ミニパターン記憶手段から前記ミニパターンのリス
    トを呼び出して出力する第2の出力手段(第1図の6、
    第18図の18−1〜18−14)と、前記ミニパター
    ンのリストのなかからユーザーの選択したミニパターン
    を入力する第2の入力手段(第1図の5、第18図の1
    8−15)と、を有することを特徴とするコード進行生
    成装置。
  5. (5)コード進行を生成するコード進行生成装置におい
    て、 音楽形式によって分類された楽節構造のファイルを記憶
    する楽節構造ファイル記憶手段(第2図の3A)と、 前記楽節構造によって分類された、各楽節に対する楽節
    開始と楽節終了の機能のファイルを記憶する楽節特徴フ
    ァイル記憶手段(第2図の3B)と、 コードパターンにおける各コードの音楽機能を表わす機
    能パターンのファイルを記憶する機能パターンファイル
    記憶手段(第2図の3C)と、前記機能パターンによっ
    て分類されたコードパターンのファイルを記憶するコー
    ドパターンファイル記憶手段(第2図の3D)と、 音楽形式を選択する形式選択手段(第3図のF1、第5
    図の5−6、第11図の11−2、11−3)と、 前記楽節構造ファイル記憶手段(第2図の3A)に、前
    記形式選択手段により選択された音楽形式に属するもの
    として記憶されたグループの楽節構造のなかから、1つ
    の楽節構造を選択する楽節構造選択手段(第3図のF2
    、第5図の5−7、第11図の11−12〜11−23
    )と、前記楽節特徴ファイル記憶手段(第2図の3B)
    に、前記楽節構造選択手段により選択された楽節構造に
    属するものとして記憶されたグループの楽節開始と楽節
    終了の機能のなかから、各楽節に対する楽節開始と楽節
    終了の機能を選択する楽節特徴選択手段(第3図のF3
    、第5図の5−8、第12図の12−17〜12−27
    、第13図の13−14〜13−24)と、 前記機能パターンファイル記憶手段(第2図の3C)か
    ら、一度に1つずつ、機能パターンを選択する機能パタ
    ーン選択手段(第3図のF5、第16図の16−4〜1
    6−14)と、 前記コードパターンファイル記憶手段(第2図の3D)
    に、前記機能パターンファイル記憶手段により選択され
    た機能パターンに属するものとして記憶されたグループ
    のコードパターンのなかから、1度に1つずつ、コード
    パターンを選択するコードパターン選択手段(第3図の
    F6、第18図の18−1〜18−15)と、 前記コードパターン選択手段の選択したコードパターン
    を連結して楽曲に対するコード進行を生成する連結手段
    (第3図のF8、第18図)と、前記連結手段により生
    成されたコード進行に含まれる、楽曲の各楽節に対する
    コード進行の開始と終了時におけるコードの機能(関連
    する機能パターンによって表現される)がそれぞれ、前
    記楽節特徴選択手段の選択した楽節開始と楽節終了の機
    能と一致とするように、前記連結手段を制御する制御手
    段(第3図のF9、第17図)と、から成るコード進行
    生成装置。
  6. (6)請求項5記載のコード進行生成装置において、前
    記楽節構造選択手段の選択した楽節構造に含まれる複数
    の楽節が同様なタイプであり、前記楽節特徴選択手段が
    この複数の楽節の各々に対して選択した楽節の開始、終
    了機能がこの複数の楽節の間で同じである場合、前記連
    結手段により生成されたコード進行が、この複数の楽節
    に対して同じコード進行をもつように前記連結手段を制
    御する反復制御手段(第3図のF10、第21図)を更
    に具備することを特徴とするコード進行生成装置。
  7. (7)コード進行を生成するコード進行生成装置におい
    て、 種々の楽曲について、複数の構造レベルにおける音楽階
    層構造を表現するデータベースを記憶する音楽構造デー
    タベース手段(第2図の3A、3B、第33図の150
    )と、 コードパターンのデータベースを記憶するコードパター
    ンデータベース手段(第2図の3C、3D、第33図の
    160)と、 前記音楽構造データベースと前記コードパターンデータ
    ベースからのデータ検索を含み、結果としてコード進行
    の生成をもたらす一連の対話動作においてユーザーとの
    対話を行うメニュー式インターアクティブ手段(第1図
    の1、2、5、6、第33図の100)とを備え、 前記メニュー式インターアクティブ手段が、ユーザーに
    選択肢のリスト(第9図のPrisca( )、第11
    図のform( )、第15図のway( )、等)(
    そのなかからユーザーが1つの選択肢を選ぶ)を提示す
    る問合せ手段(第1図の6、第12図の12−19〜1
    2−26、第13図の13−16〜13−23、第16
    図の16−6〜16−13、第33図の110、等)と
    、提示された選択肢のリストから選択された前記選択肢
    を入力するユーザー操作可能な入力手段(第1図の5、
    第12図の12−27、第13図の13−24、第16
    図の16−14、第33図の120、等)と、前記ユー
    ザー操作可能な入力手段に応答し、前記選択肢に対応す
    るジョブを実行して対話動作の1サイクルを完了させる
    ジョブ実行手段(第1図の1と2、第13図の13−1
    〜13−3、第14図の14−1〜14−13、第16
    図の16−16〜16−29、第33図の130、等)
    と、 選択肢のリストを作成して次の対話動作のサイクルにお
    いて前記問合せ手段に該選択肢のリストをユーザーに提
    供させることによって該次の対話動作のサイクルを開始
    させる対話継続手段(第1図の1、2、第13図の13
    −14、第186の16−1〜16−4、第18図の1
    8−1〜18−4、第33図の140、等)とを有し、
    前記問合せ手段、前記ユーザー操作可能な入力手段、前
    記ジョブ実行手段及び前記対話継続手段の組合せにより
    、一連の対話動作が行われるようにし、以って、前記コ
    ードパターンデータベース手段から選択した一連のコー
    ドパターンを含み、かつ前記音楽構造データベース手段
    から選択した音楽階層構造に適合した関係をもつコード
    進行が得られるようにしたコード進行生成装置。
  8. (8)請求項7記載のコード進行生成装置において、前
    記選択肢のリストの代表例は、前記音楽構造データベー
    ス手段または前記コードパターンデータベース手段から
    選択したデータ項目のグループとともに以前に行われた
    対話動作のサイクルに対応するサイクルへの復帰選択肢
    (“1.RETURN”:第12図の12−19、第1
    3図の13−16、第16図の16−6、等)を含み、
    以って、ユーザーと前記メニュー式インターアクティブ
    手段との間で対話が行きつ戻りつ行われることを特徴と
    するコード進行生成装置。
  9. (9)請求項7記載のコード進行生成装置において、前
    記選択肢のリストの代表例は前記音楽知識データベース
    手段または前記コードパターンデータベース手段から選
    択したデータ項目のグループとともに自動の選択肢(“
    2.AUTO”:第12図の12−19、第13図の1
    3−16、第16図の16−8、等)を含んでおり、ユ
    ーザーが前記ユーザー操作可能な入力手段により、前記
    自動の選択肢を選択入力した場合に、前記ジョブ実行手
    段がユーザーのために前記データ項目のグループから1
    つのデータ項目を選択し(第13図の13−4〜13−
    7、第14図の14−4〜14−7、第16図の16−
    19〜16−22、等)、それに対応するジョブ(第1
    3図の13−8〜13−13、第14図の14−8〜1
    4−13、第16図の16−23〜16−25、等)を
    実行し、以って、コード進行の生成に対するユーザーの
    寄与を可変にし得ることを特徴とするコード進行生成装
    置、
  10. (10)コード進行を生成するコード進行生成装置にお
    いて、 ユーザーに選択肢のリスト(そのなかからユーザーが1
    つの選択肢を選ぶ)を提示する問合せ手段(第1図の6
    、第12図の12−19〜12−26、第13図の13
    −16〜13−23、第16図の16−6〜16−13
    、第33図の110、等)と、 提示された選択肢のリストから選択された選択肢を入力
    するユーザー操作可能な入力手段(第1図の5、第12
    図の12−27、第13図の13−24、第16図の1
    6−14、第33図の120、等)と、前記ユーザー操
    作可能な入力手段に応答し、前記選択肢によって特定さ
    れるジョブを実行して対話動作の1サイクルを完了させ
    るジョブ実行手段(第13図の13−1〜13−3、第
    14図の14−1〜14−13、第16図の16−16
    〜16−28、第33図の130、等)と、 前記ジョブ実行手段に応答し、選択肢のリストを作成し
    て前記問合せ手段に次の対話動作のサイクルにおいて、
    後者の選択肢リストをユーザーに提示させることにより
    、次の対話動作のサイクルを開始させる対話継続手段(
    第13図の13−14、第16図の16−1〜16−4
    、第18図の18−1〜18−4、第33図の140、
    等)とを具備し、以って、一連の対話動作が行われ、こ
    の一連の対話動作が対話動作の(諸)サイクルにおける
    前記ジョブ実行手段のくり返し動作によってなされる一
    連のジョブを含み、この一連のジョブの結果、コード進
    行が生成されるようにしたコード進行生成装置。
  11. (11)コード進行を生成するコード進行生成装置にお
    いて、 各コードパターン発生手段において、他のコードパター
    ン発生手段の発生する可変コードパターンのクラスとは
    異なるクラスに属する可変コードパターンを発生する複
    数のコードパターン発生手段(第15図の15−10、
    15−13、15−16)と、前記複数のコードパター
    ン発生手段から一度に1つのコードパターン発生手段を
    可変に選択するクラス選択手段(第15図の15−1〜
    15−3)と、前記クラス選択手段により選択されたコ
    ードパターン発生手段から1度に1つのコードパターン
    を選択して、前記クラス選択手段とインスタンス選択手
    段による選択の系列に従って特定されるコードパターン
    の列によって構成されるコード進行を生成するインスタ
    ンス選択手段(第18図、第26図、第27図、第29
    図〜第31図)と、から成る装置。
  12. (12)請求項11記載のコード進行生成装置において
    、前記複数のコードパターン生成手段は各コードが次の
    後続コードに対して、トニック、ドミナント、サブドミ
    ナントのいずれかとして機能する比較的短いコード進行
    を生成する手段(第15図の15−10)を含むことを
    特徴とするコード進行生成装置。
  13. (13)請求項12記載のコード進行生成装置において
    、前記複数のコードパターン生成手段は各コードが次の
    後続コードに対してドミナントコードとして働くドミナ
    ントコード進行を生成するドミナント進行手段(第15
    図の15−16)を更に含むことを特徴とするコード進
    行生成装置。
  14. (14)請求項13記載のコード進行生成装置において
    、前記複数のコードパターン生成手段は各コードが次の
    後続コードに対してサブドミナントコードとして働くサ
    ブドミナントコード進行を生成するサブドミナント進行
    手段(第15図の15−13)を更に含むことを特徴と
    するコード進行生成装置。
  15. (15)楽曲を作曲する作曲機において、 ある楽曲に対する1以上の構造レベルにおける音楽構造
    を設定する音楽構造設定手段(第3図のF1、F2、F
    3)と、 可変のコードパターンを生成するコードパターン生成手
    段(第2図の3D、第3図のF6)と、 前記コードパターン生成手段の生成した前記コードパタ
    ーンを、前記音楽構造設定手段の設定した前記音楽構造
    に基づき、選択的に連結して前記楽曲のコード進行を得
    るコード進行生成手段(第3図のF8、F9、F10)
    と、 前記コード進行に基づき、前記楽曲のメロディを合成す
    るメロディ合成手段(第33図の200)と、 から成る作曲機。
  16. (16)楽曲のコード進行を生成するコード進行生成装
    置において、 コードパターンの集合体を表わすデータベースを記憶す
    るコードパターンデータベース手段(第2図の3D、第
    35図の440、450)と、前記コードパターンデー
    タベース手段と動作上結合し、該コードパターンデータ
    ベース手段から複数のコードパターンを1度に1つずつ
    選択するコードパターン選択手段(第3図のF6、第3
    4図の410、420、460、第36図の36−4)
    と、前記コードパターン選択手段と動作上結合し、前記
    複数のコードパターンを連結して楽曲のコード進行を生
    成する連結手段(第3図のF8、第34図の410、4
    20、480、第36図の38−9)と、から成るコー
    ド進行生成装置。
  17. (17)コード進行を生成するコード進行生成装置にお
    いて、 楽曲の少なくとも1つの部分に対し、ユーザーの指定し
    たコードを設定してコードを埋めるべき少なくとも1つ
    の空白部がその楽曲に残るようにしたコード設定手段(
    第3図のF3)と、 可変のコードパターンを生成するコードパターン生成手
    段(第2図の3D、第3図のF6)と、前記少なくとも
    1つの空白部に前記可変のコードパターンを選択的に適
    用することにより、該少なくとも1つの空白部にコード
    を埋めて前記楽曲に対するコード進行を完成する空白埋
    め手段(第3図のF8、F9)と、 から成るコード進行生成装置。
  18. (18)コード進行を生成するコード進行生成装置にお
    いて、 楽曲において、互に同じコード進行をもつことになる複
    数のブロックを選択する反復ブロック選択手段(第3図
    のF2、F3)と、 可変のコードパターンを生成するコードパターン生成手
    段(第2図の3D、第3図のF6)と、前記コードパタ
    ーン生成手段の生成した前記コードパターンを選択的に
    連結して楽曲のコード進行を生成する連結手段(第3図
    のF8)と、前記連結手段の生成した楽曲のコード進行
    が、前記反復楽節選択手段の選択した前記複数のブロッ
    クのそれぞれに対して同じコード進行をもつように前記
    連結手段を制御する反復制御手段(第3図のF10)と
    、 から成るコード進行生成装置。
  19. (19)コード進行を生成するコード進行生成装置にお
    いて、 楽曲の少なくとも1つのレベルにおける音楽構造を設定
    する音楽構造設定手段(第3図のF1、F2、F3)と
    、 可変のコードパターンを生成するコードパターン生成手
    段(第2図の3D、第3図のF6)と、前記コードパタ
    ーン生成手段の生成した前記コードパターンを、前記音
    楽構造設定手段の設定した前記音楽構造に基づいて、選
    択的に連結して前記楽曲のコード進行を得るコード進行
    形成手段(第3図のF8、F9、F10)と、 から成るコード進行生成装置。
  20. (20)請求項19記載のコード進行生成装置において
    、 前記コードパターン発生手段は、コードパターンの集合
    体を表わすデータベースを記憶するコードパターンデー
    タベース手段(第2図の3D)と、 前記コードパターンデータベース手段に動作上結合して
    おり、該コードパターンデータベース手段から複数のコ
    ードパターンを1度に1つずつ選択するコードパターン
    選択手段(第3図のF6)と、 を有することを特徴とするコード進行生成装置。
  21. (21)コード進行を生成するコード進行生成装置にお
    いて、 コードパターンのファイルを記憶するコードパターンフ
    ァイル手段(第34図の440)と、前記コードパター
    ンファイル手段の各コードパターンに対して、そのコー
    ドパターンに後続し得る次コードパターン候補のセット
    を規定する次候補セット規定手段(第34図の450)
    と、前記コードパターンファイル手段のコードパターン
    を前記次候補セット規定手段に従って連結してコード進
    行を得る連結手段(第34図の410、420、460
    、480、第36図の36−3〜36−9)と、から成
    るコード進行生成装置。
  22. (22)請求項21記載のコード進行生成装置において
    、 前記連結手段は、 前記コードパターンファイル手段内のコードパターンが
    生成中のコード進行における現コードパターンとして確
    定する都度、該現コードパターンに対して前記次候補セ
    ット規定手段により規定された次コードパターン候補の
    セットを前記コードパターンファイル手段から取り出し
    、表示装置(第34図の470)に表示する問合せ手段
    (第36図の36−3)と、 前記問合せ手段により取り出され、表示された前記セッ
    トのなかから候補を選択するユーザー操作可能な入力手
    段(第34図の460)を含み、その候補を前記現コー
    ドパターンに続く次コードパターンとして決定する次コ
    ードパターン決定手段(第36図の36−4〜36−7
    )と、 前記次コードパターン決定手段により決定された前記次
    コードパターンを前記コード進行に連結して該次コード
    パターンを連結後のコード進行における現コードパター
    ンとして確定するコード進行延長手段(第36図の36
    −9)と、 を有することを特徴とするコード進行生成装置。
  23. (23)請求項21記載のコード進行生成装置において
    、前記連結手段はコード進行のコードパターンをひとつ
    ずつ決定する決定手段を有し、該決定手段は、 生成済のコード進行の少なくとも一部の演奏に続いて、
    前記コードパターンファイル手段から次のコードパター
    ン候補として選択したコードパターンの演奏を行う自動
    演奏手段(第34図の410、420、510、第36
    図の36−5)と、前記自動演奏手段の演奏に対するユ
    ーザーの応答として、演奏された前記次コードパターン
    候補が前記コード進行に新たに連結されるコードパター
    ンとして決定されたかどうか示す応答を与えるユーザー
    操作可能な入力手段(第34図の460、第36図の3
    6−6)と、 を有することを特徴とするコード進行生成装置。
  24. (24)コード進行を生成するコード進行生成装置にお
    いて、 複数のノードとノード間を結んでノード間に階層的関係
    を規定する複数のリンクとを有し、前記複数のノードの
    それぞれが少なくとも1つのコードパターンを含み、各
    ノードにおける各コードパターンが前記複数のリンクの
    なかの関連するリンクを介して別のノードに結ばれてな
    るようにしたコードパターンの階層的ネットワークを記
    憶するコードパターンネットワーク手段(第45図、第
    34図の440、450)と、 前記階層的ネットワークの前記リンクによる案内に従っ
    て前記コードパターンネットワーク手段を探索しながら
    、探索したコードパターンを順次連結してコード進行を
    生成するネットワーク探索手段(第34図の410、第
    36図)と、 から成るコード進行生成装置。
  25. (25)コード進行の一部として用いるべきコードパタ
    ーンを決定するコードパターン決定装置において、 コードパターンのデータベースを記憶するコードパター
    ンデータベース手段(第2図の3D、第35図の440
    、450、第45図)と、前記コードパターンデータベ
    ース手段からコードパターンを選択するコードパターン
    選択手段(第3図のF6、第34図の410、420、
    460、第36図の36−4)と、 前記コードパターン選択手段の選択したコードパターン
    を自動演奏する試聴手段(第34図の410、420、
    510、520、第36図の36−5)と、前記試聴手
    段の演奏に対するユーザーの応答として、演奏されたコ
    ードパターンの是否を示す応答を入力するユーザー操作
    可能な入力手段(第34図の460)と、 前記ユーザー操作可能な入力手段からの前記ユーザーの
    応答が是を示しているとき、前記試聴手段の演奏した前
    記コードパターンをコード進行の一部として決定する決
    定手段(第34図の410、420、第36図の36−
    7、36−9)と、から成るコードパターン決定装置。
  26. (26)請求項25記載のコードパターン決定装置にお
    いて、前記試聴手段は、前記コードパターン選択手段の
    選択したコードパターンの演奏に先立ち、前記コード進
    行の少なくとも一部を自動演奏することを特徴とするコ
    ードパターン決定装置。
JP1235706A 1988-09-28 1989-09-13 コード進行生成装置、コードパターン決定装置及び作曲機 Expired - Fee Related JPH079587B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1235706A JPH079587B2 (ja) 1988-09-28 1989-09-13 コード進行生成装置、コードパターン決定装置及び作曲機

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP63-240660 1988-09-28
JP24066088 1988-09-28
JP1235706A JPH079587B2 (ja) 1988-09-28 1989-09-13 コード進行生成装置、コードパターン決定装置及び作曲機

Publications (2)

Publication Number Publication Date
JPH02160296A true JPH02160296A (ja) 1990-06-20
JPH079587B2 JPH079587B2 (ja) 1995-02-01

Family

ID=26532277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1235706A Expired - Fee Related JPH079587B2 (ja) 1988-09-28 1989-09-13 コード進行生成装置、コードパターン決定装置及び作曲機

Country Status (1)

Country Link
JP (1) JPH079587B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04110898A (ja) * 1990-08-30 1992-04-13 Casio Comput Co Ltd コード進行選択装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5272213A (en) * 1975-12-12 1977-06-16 Nippon Gakki Seizo Kk Automatic accompaniment device for electronic musical instruments
JPS564187A (en) * 1979-06-25 1981-01-17 Nippon Musical Instruments Mfg Electronic musical instrument
JPS5913295A (ja) * 1982-07-15 1984-01-24 カシオ計算機株式会社 自動演奏装置におけるコード訂正装置
JPS60107080A (ja) * 1983-11-15 1985-06-12 株式会社東京コンピユーター・システム 作曲装置
JPS6380299A (ja) * 1986-09-22 1988-04-11 日本電気株式会社 自動編曲方式及び装置
JPS63192097A (ja) * 1987-02-05 1988-08-09 カシオ計算機株式会社 自動演奏装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5272213A (en) * 1975-12-12 1977-06-16 Nippon Gakki Seizo Kk Automatic accompaniment device for electronic musical instruments
JPS564187A (en) * 1979-06-25 1981-01-17 Nippon Musical Instruments Mfg Electronic musical instrument
JPS5913295A (ja) * 1982-07-15 1984-01-24 カシオ計算機株式会社 自動演奏装置におけるコード訂正装置
JPS60107080A (ja) * 1983-11-15 1985-06-12 株式会社東京コンピユーター・システム 作曲装置
JPS6380299A (ja) * 1986-09-22 1988-04-11 日本電気株式会社 自動編曲方式及び装置
JPS63192097A (ja) * 1987-02-05 1988-08-09 カシオ計算機株式会社 自動演奏装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04110898A (ja) * 1990-08-30 1992-04-13 Casio Comput Co Ltd コード進行選択装置
JPH06103436B2 (ja) * 1990-08-30 1994-12-14 カシオ計算機株式会社 コード進行選択装置

Also Published As

Publication number Publication date
JPH079587B2 (ja) 1995-02-01

Similar Documents

Publication Publication Date Title
US5052267A (en) Apparatus for producing a chord progression by connecting chord patterns
JP3271282B2 (ja) 自動メロディ生成装置
US6297439B1 (en) System and method for automatic music generation using a neural network architecture
JP3303617B2 (ja) 自動作曲装置
US20060230910A1 (en) Music composing device
JP3484986B2 (ja) 自動作曲装置、自動作曲方法および記憶媒体
EP1638077A1 (en) Automatic rendition style determining apparatus, method and computer program
JP2671495B2 (ja) メロディ分析機
US5085118A (en) Auto-accompaniment apparatus with auto-chord progression of accompaniment tones
CN1770258B (zh) 表演风格确定设备和方法
JP2000315081A (ja) 自動作曲装置及び方法並びに記憶媒体
EP1391873B1 (en) Rendition style determination apparatus and method
JP3707122B2 (ja) スタイル変更装置およびカラオケ装置
JPH09244648A (ja) 自動作曲機
Unemi SBEAT3: A tool for multi-part music composition by simulated breeding
JPH02160296A (ja) コード進行生成装置、コードパターン決定装置及び作曲機
JP3364941B2 (ja) 自動作曲機
RU2145121C1 (ru) Способ преобразования аккордов
JP3623557B2 (ja) 自動作曲システムおよび自動作曲方法
JP3664126B2 (ja) 自動作曲装置
JP3775249B2 (ja) 自動作曲装置及び自動作曲プログラム
JP2002032079A (ja) 自動作曲装置及び方法並びに記憶媒体
JP3364940B2 (ja) 自動作曲機
JP3651241B2 (ja) 音列合成装置
JP3832421B2 (ja) 楽音生成装置及び方法

Legal Events

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

Free format text: PAYMENT UNTIL: 20090201

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees