JPH07113828B2 - 自動作曲機 - Google Patents

自動作曲機

Info

Publication number
JPH07113828B2
JPH07113828B2 JP62121037A JP12103787A JPH07113828B2 JP H07113828 B2 JPH07113828 B2 JP H07113828B2 JP 62121037 A JP62121037 A JP 62121037A JP 12103787 A JP12103787 A JP 12103787A JP H07113828 B2 JPH07113828 B2 JP H07113828B2
Authority
JP
Japan
Prior art keywords
motif
scale
melody
note
pulse
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 - Lifetime
Application number
JP62121037A
Other languages
English (en)
Other versions
JPS63286883A (ja
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 JP62121037A priority Critical patent/JPH07113828B2/ja
Priority to US07/177,592 priority patent/US4926737A/en
Priority to DE19883854168 priority patent/DE3854168T2/de
Priority to EP19880105606 priority patent/EP0288800B1/en
Publication of JPS63286883A publication Critical patent/JPS63286883A/ja
Priority to US07/447,581 priority patent/US5099740A/en
Publication of JPH07113828B2 publication Critical patent/JPH07113828B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 [発明の技術的分野] この発明は自動作曲機に関する。
[背景] 自動作曲機の良否に関し、考慮すべき重要な要素の1つ
は、人間がこれまで親しんできたような楽曲、換言すれ
ば、純機械的ではなく音楽性に富む曲を生成する潜在能
力をその作曲機がもちあわせているかどうかということ
である。
例えば、特願昭56-125603号(特公昭60-40027号)に
は、一連の音高データ(例えば、12音階のデータ)から
個々の音高データをランダムにサンプルし、サンプルし
たものが限られた条件を満足すれば、それをメロディノ
ートとして採択し、条件を満たさなければメロディノー
トとしては採択せず、再度、サンプルし直して条件検査
をくり返す方式の自動作曲機が開示されている。したが
って、この自動作曲機のメロディ生成プロセスは基本的
にトライアンドエラー方式である。音高データをランダ
ムにサンプルした段階では完全に無秩序な音高の列がで
きあがる。この無秩序な音高の列のままでは、全くメロ
ディとしては成立し得ない(天文学的な偶発性によって
よいメロディができる可能性はあるが)。そこで、この
無秩序になんらかの秩序をもたらすために、条件検査と
いう一種のフィルタリング(選別)を行っている。この
場合、選別の程度が重要な要素になる。選別がきつすぎ
れば、生成されるメロディはワンパターン化するであろ
うし、ゆるすぎれば、元の無秩序性が支配的となるであ
ろう。
上記の自動作曲機は、人間がなれ親しんできたメロディ
というよりは、作風のとらえどころがないメロディを作
曲するのに適しており、主として、聴音訓練や演奏練習
用の曲作成装置として有効である(なじみのない斬新な
曲は採譜や演奏が一般に困難になる)。この意味で冒頭
にあげた能力はもちあわせていない。
本発明はまさにこの能力を配慮したものである。
[発明の目的、特徴、構成] すなわち、本発明の主たる目的は、よくコントロールさ
れたメロディの流れをもつ曲を作曲可能な自動作曲機を
提供することである。
さらに、本発明の目指すところは、ユーザの作成したモ
チーフを素材として作曲を行う自動作曲機を提供するこ
とである。本発明によれば、モチーフに忠実なメロディ
を作曲することもできれば、モチーフを自由に展開、成
長させたメロディも作曲することができる。あるモード
ではモチーフの特徴が十分メロディに現われるようにコ
ントロールされる。コントロールの力をゆるめ、変える
ことにより、モチーフの特徴のみに拘束されないメロデ
ィ、つまりモチーフを修飾、展開、成長させたメロディ
がつくられる。さらにコントロールの力をゆるめ、性質
を変えることにより、さらに自由なメロディを得ること
もできる。
第1の発明(特許請求の範囲第1項参照)では、モチー
フの特徴のうちリズム画の特徴に着目している。すなわ
ち、ユーザが入力装置より入力したモチーフに対し、そ
のリズムの特徴を評価、抽出するモチーフリズム特徴抽
出手段が使用される。さらに、メロディ生成手段内のメ
ロディ音長列生成手段により、上記のモチーフリズムの
特徴抽出結果に基づいてメロディの音長の列が生成され
る。
モチーフリズム特徴抽出手段の構成例や、メロディ音長
列生成手段の構成例については、第2項より第20項に明
記されている。
第2の発明(特許請求の範囲第21項参照)では、第1発
明におけるリズム要素に関する機能に加え、コード進行
情報を付与する手段と、メロディを制御するためのメロ
ディ制御情報(メロディ計画情報)を発生するメロディ
制御情報発生手段が付加される。この構成の場合、メロ
ディはコード進行に則してつくられる。さらに、メロデ
ィ制御情報発生手段はモチーフの特徴からメロディの特
徴を連想または変換する役目を果たす。例えば、モチー
フ特徴のどの要素をどの程度、メロディの特徴要素に組
み込むかをこのメロディ制御情報発生手段において自由
にコントロールすることができる。
第3の発明(特許請求の範囲第29項参照)では使用する
ことのできるノートスケール(音階)について着目して
いる。すなわち、メロディ音高列生成手段のなかに使用
音高制御手段が設けられる。この使用音高制御手段は音
階上の各音についてその有効性の尺度を示す重みを割り
当てた重み付きのノートスケールを発生するノートスケ
ール発生手段と、メロディノートの候補が挙げられた場
合、その候補を正式のメロディノートと認めるか否かに
つき、ノートスケール上の対応する音高の重みによって
決定する有効音高決定手段とを有している。したがっ
て、上記使用音制御手段により、どのノートを有効にす
るかを自由にコントロールでき、メロディ音高列生成手
段は多種多様にコントロールされたメトディラインを形
成することができる。
[実施例] 以下、図面を参照して本発明の実施例について説明す
る。
〈全体構成〉 本実施例に係る自動作曲機の全体回路構成を第1図に示
す。図中、1は入力装置、2はコード構成音メモリ、3
はコード進行メモリ、4は根音データメモリ、5は音階
の重みデータメモリ、6はモチーフメモリ、7はパラメ
ータBメモリ、8は楽節識別データメモリ、9はCPU、1
0はワークメモリ、11はパラメータCメモリ、12は学習
データメモリ、13はメロディデータメモリ、14はモニタ
ー、15はCRT、16は五線譜プリンタ、17は楽音形成回
路、18はサウンドシステム、19は外部記憶装置である。
上記モチーフメモリ4は、入力装置1より入力されるモ
チーフ(入力メロディ)の情報を格納するところであ
る。モチーフ情報は音高と音長(音価)のデータの列で
構成される。自動作曲に際し、CPU9はこのモチーフ情報
からそのモチーフを特徴づけるパラメータ(モチーフ特
徴パラメータ)を抽出することになる。
上記コード進行メモリ3には、コードネームの列で表現
されるコード進行情報が格納される。コード進行情報
は、入力装置1より、ユーザーが逐次、コードを指定し
て入力してもよく、あるいは、大ざっぱな指定(例えば
楽曲の形式の指定)に応答して、CPU9がコード進行を自
動生成するようにしてもよい。コード進行の自動生成
は、例えば、基本的なコードパターン(多用されるコー
ドパターン)の連結、あるいは許されるコード相互の連
結によって可能であり、連結の論理としては、例えばマ
ルコフ連鎖のモデルが使用できる。ただし、コード進行
がユーザーにより直接的に指定されるか、マシンにより
自動的に生成されるかは本発明にとって重要なことでは
ない。
コード構成音メモリ2には各種のコードの構成音(コー
ドメンバーの音高データ)が格納されており、本例の場
合、上記コード進行メモリ3の各アドレスの内容(コー
ドネーム)より、コード構成音メモリ2上の特定のコー
ド構成音データの格納エリアが指定されるようになって
いる。CPU9は、自動作曲の際、コード変更のタイミング
ごとに(例えば1小節ごとに)、コード進行メモリ3の
アドレスを進め、その内容であるコードネームからコー
ド構成音メモリ2上のアドレスを算出し、コードを構成
する各音高データを読み出す。
根音データメモリ4にはコードの根音データが記憶さ
れ、音階の重みデータメモリ5には音階(ノートスケー
ル)を構成する各音高についてその有効性の度合を示す
重みデータ、すなわち重み付けられたノートスケールデ
ータが記憶されている(ノートスケールデータのセット
を記憶するメモリ)。自動作曲の際、適当な方法により
音階が選択され、この音階の重みデータが読み出され
る。根音データメモリ4は読み出した音階の重みデータ
を根音シフトするのに利用される。
一方、パラメータBメモリにはメロディの流れにおける
一貫性と多様性をコントロールするためのデータ(パラ
メータB)が格納されている。また、より高次の階層性
を曲にもたせるために、楽式識別データメモリ8が使用
される。自動作曲の際、CPU9はパラメータB、楽式識別
データ(デコード後のデータ)、上記モチーフ特徴パラ
メータ、楽曲進行区間変数(例えば小節番号)に依存す
るパラメータC(メロディ計画情報)を作成する。パラ
メータCは生成するメロディを制御もしくは特徴づける
性質をもっている。生成されたパラメータCはパラメー
タCメモリに格納される。
ワークメモリ7には、CPU9が自動作曲するプロセスにお
いて生成する中間データ(例えば、加工中のメロディデ
ータ)などが記憶される。
メロディデータメモリ13には完成された曲を構成するメ
ロディデータが記憶される。
完成された曲は必要に応じて、モニター14に出力するこ
とができる。例えば、楽音形成回路17、サウンドシステ
ム18を通して試聴することができる。また、五線譜プリ
ンタ16より、楽譜の写しを得ることができる。
モニター14を通じて使用者は、部分的に曲を修正するこ
とを望む場合がある。本実施例においては、このようば
場合、CRT15と入力装置1を介して、ユーザーは修正を
要求することができ、インターラクティブな形式で修正
が実行される。修正されたデータは学習データメモリ12
に知識として蓄積される。後の自動作曲に際し、CPU9は
この知識を利用して、メロディを生成する。
外部記憶装置19は、完成した曲のバックアップコピー
や、学習した知識、その他の写し、あるいは、代りとな
る自動作曲プログラムの資源として利用される。
〈自動作曲機能〉 次に本実施例に係る自動作曲機の全体的な機能につい
て、第2図を参照して説明する。
図に示すように、主な機能として、モチーフデータより
その特徴を評価、抽出するモチーフ特徴パラメータ抽出
手段F10と、この手段F10より与えられる情報(包括的に
PAで示してある)からメロディを制御するための情報
(包括的にPCで示してある)を発生するメロディ制御情
報発生手段F20と、この手段F20より与えられる情報PCに
従って具体的にメロディ(単旋律)を生成するメロディ
生成実行手段F30がある。メロディ制御情報発生手段F20
はモチーフ特徴パラメータPAを基にメロディを連想し、
計画する能力をもっており、メロディ生成実行手段F30
はこの計画(PCにより表現される)を解読し、計画に沿
ってメロディを生成する規則を備えている。広義には、
手段F20とF30とによりメロディ生成手段が構成される。
一方、推論の面からはモチーフ特徴パラメータ抽出手段
F10とメロディ生成実行手段F30とは基本的に逆の関係に
なっており、モチーフ特徴パラメータ抽出手段F10が具
体的なモチーフ(入力メロディ)からそのエッセンスで
ある特徴パラメータPAを導出する推論能力を備えるのに
対し、メロディ生成実行手段F30はエッセンスであるメ
ロディ特徴パラメータPCから具体的なメロディを導出す
る推論能力を備えている。メロディ制御情報発生手段F2
0の計画空間は広大であり、PAをPCに反映される度合を
自由にそして多様にコントロールすることができる。図
の例では、メロディ制御情報発生手段F20への入力は手
段F10からのPAのみとなっているが、他の入力データ
(例えば入力装置1より入力されるユーザの要求、曲に
関する大局的な指示情報(手段F20が連想する範囲をし
ぼり込むように作用する情報))を受けるように構成し
てもよい。例えば、図示していないが、第1図のパラメ
ータBメモリよりどのパラメータBを使用するか、また
楽式識別データメモリ8よりどの楽式識別データを使用
するかに関して、ユーザの選択に全てをあるいは一部を
ゆだねることができる。
一般に曲はその進行に従って変化する。しかし、限られ
た時間を見れば、ある特徴は固定的である。本自動作曲
機はこの点をも配慮しており、固定的とみなす「区間」
の単位の概念をもっている。例えば、モチーフ特徴パラ
メータ抽出手段F10内の各機能はある区間を単位としてP
Aを抽出する。同様に、メロディ制御情報発生手段F20は
ある区間ごとに割り当てられたPCの値をメロディ生成実
行手段F30に渡し、メロディ生成実行手段F30はそのPCの
値を用いてその区間のメロディを生成する。もちろん、
このことは、すべてのPCが同じ区間を単位として変化す
るという意味ではない(PAについても同様)。PCの種類
により、値が固定化できる区間は一般に等しくはならな
い。したがって、原理的には、PCの種類ごとに異なる区
間の単位をもたせ、種類別に、異なる区間で値を発生さ
せるようにすることも可能である。しかし、このこと
は、処理を複雑化する。そこで実施例では、PCの種類よ
りはるかに少ない種類の区間、好ましくはすべてのPCに
ついて共通となり得る単位の区間(最大公約数の区間)
を使用する。モチーフ特徴パラメータ抽出手段F10につ
いても同様である。
特に後述の詳細な説明においては、最も単純化された例
として、各機能F10、F20、F30が共通の区間をもつよう
にしている。この区間として「1小節」を選んでいる。
もちろん、本発明はこれに限定されるものではなく、2
つ以上の異なる区間を各機能がもち得る。例えば、音高
列に対する区間と音長列に対する区間は常に同一である
必要はない。また、手段F20が小節ごとにPC値を割り当
てるのに対し、コード進行は小節を単位としない区間で
進行させることも可能である。
第2図の主機能F10、F20、F30の詳細について述べよ
う。
モチーフ特徴パラメータ抽出手段F10はモチーフ音高パ
ターン抽出手段F11とモチーフ音長(リズム)パターン
抽出手段F12より成る。モチーフ音高パターン抽出手段
はモチーフの音高列に関する特徴を抽出するものであ
り、モチーフに含まれる非和声音を抽出する非和声音抽
出手段F11−1と、モチーフから非和声音を取り除いた
音高のパターン、つまり分散和音の型(後述するLLi)
を抽出する分散和音パターン抽出手段F11−2とを含ん
でいる。F11-1Aは非和声音の種類を分類化して抽出する
手段であり、手段F11−1の1つの態様である。一方、
モチーフ音長(リズム)パターン抽出手段F12はモチー
フの音長列に関する特徴を評価、抽出するものであり、
モチーフに含まれる特徴的なミニパターンを抽出する特
徴ミニパターン抽出手段F12−1と、モチーフに含まれ
る非和声音の音長を和声音の音長に吸収させて和声音の
みの音長列、すなわち分散和音パターンを形成する分散
和音(リズム)パターン抽出手段F12−2とから成る。
手段F11−2とF12−2とにより分散和音の音高パターン
とリズムパターンを抽出しているのは、和声音をメロデ
ィの基礎におくという、実施例の考え方に基づいている
(機能F30における要素F31−1、F31−2なども同様の
考え方に基づいている)。
メロディ制御情報発生手段F20のブロック内には区間カ
ウンタF23の示す区間番号に依存するパラメータを発生
する進行依存パラメータ発生手段F22が示されている。
このようなパラメータのなかには、曲進行により規則的
に変動するパラメータも含まれ、この種のパラメータは
F22−1で示す規則変動パラメータ発生手段F22−1によ
り生成される。手段F22が発生するパラメータに対し
て、乱数発生手段F24が作用し、パラメータによりコン
トロールされた乱数あるいは変動を同パラメータに導入
することができる。上記F22とF23の要素は、PCのなか
に、上述の性質をもつパラメータが含まれることを示す
ために図示したものであり、また、演算型でない型式
(例えばパラメータCのデータベース)でもパラメータ
C(メロディ制御情報)を発生できることを明らかにす
るために示したものである。実際には、本実施例では、
パラメータCを演算型で発生させており、この演算を実
行する部分がF21で示す演算手段である。演算手段F21
は、手段F10からのモチーフ特徴パラメータPA、I1で示
すパラメータBの情報、小節カウンタF23−1の示す小
節番号、楽式識別データ発生手段F25からの楽式識別デ
ータ、を入力として受け、これらの入力を変数としてパ
ラメータCを演算する。楽式識別データ発生手段F25は
楽節カウンタF25−1をもっており、これを使って楽式
識別データI2より特定の楽節に関する情報を選択する。
楽節に関する情報のなかには楽節のタイプ(反復型、展
開型)が含まれている。楽式識別データ発生手段F25は
小節カウンタF23−1の示す小節番号を読み、その小節
番号と楽節との位置関係を検査し、その検査結果に基づ
いて関連する楽式識別データを解読(デコード)する。
解読された楽式識別データが演算手段F21に渡される。
楽式識別データ発生手段F25の役割は、曲におけるより
高次の階層性を与えることである。
以上の説明からわかるように、メロディ制御情報発生手
段F20より出力されるPCはさまざまであり、あるPCは比
較的長期にわたって一定であり、あるPCは単位区間(こ
こでは1小節)に匹敵する程度のサイクルで変動し、あ
るPCは楽式の影響を受け、特定の区間、ポイントで別の
値に変化する、といった具合である。パラメータBの
値、楽式識別データの値、演算手段F21が使用する関数
のタイプなどにより、同じPAであっても、実にさまざま
なPCが発生することになる。
メロディ生成実行手段F30はその主要素として、音高列
生成手段F31と音長列生成手段F32とを有している。音高
列生成手段F32は、コード進行データI3からの進行中の
コードとメトディ制御情報発生手段F20からのPCそのも
のか、乱数発生手段F31−4により変動が導入されたPC
とを使用して分散和音の音高列を発生する分散和音発生
手段F31−1と、発生された分散和音の前後あるいは間
に、PCの計画に沿ってかつ内部の付加ルールに従って非
和声音を付加する非和声音付加手段F31−2を有してい
る。各非和声音分類付加手段F31−2Aは手段F31−2の一
構成例である。F31−3は使用音高制御手段であり、上
記の手段F31−1またはF31−2においてその生成過程に
おいて得られたメロディノートの候補についてその使用
を制御する機能をもっている。すなわち、使用音高制御
手段F31−3はノートスケール発生手段F31-3Aにより音
階の各音高に重みをつけたデータを発生させ、有効音高
検査手段F31-3Bにその重みに基づいて候補の音高の有効
性を検査させる。検査に合格したメロディノートは手段
F31−1、F31−2に送り返され、ここで正式のメロディ
ノートとして使用される。
音長列生成手段F32は最適結合手段F32−1と最適分割手
段F32−2と特徴パターン組込手段F32−3より構成さ
れ、PCの計画に従って音長列を生成する。最適結合手段
F32−1と最適分割手段F32−2は本実施例の場合、分散
和音の音長列を形成するのに使用される。最適結合手段
F32−1は初期の音長列(例えばF10の分散和音(リズ
ム)パターン抽出手段F12−2により抽出された分散和
音パターンまたはこれを修飾したパターン)を基に、目
標とする分散和音の音符数(PCによって与えられる)に
なるまで最小の結合回数で音長を結合する。同様に、最
適分割手段F32−2は初期の音長列を分散和音数PCに達
するまで最小の分割回数で音長を分割する。さらに、両
手段32−1、F32−2はパルススケールを使用して分
割、結合を実行する。パルススケールはPC(メロディ計
画情報)の一種として手段F20より与えられるようにし
てもよいが、後述する実施例の動作を示すフローでは、
両手段の分割、結合ルールのなかにパルススケールが内
在している。一方、特徴パターン組込手段F32−3は関
連するPCに従って動作し、メロディの音長列のなかに特
徴ミニパターンを組み入れる。本例では、メロディの生
成の最終過程で特徴ミニパターンを注入するようにして
いる。
制御手段F33は、メロディ生成実行手段F30の各要素の起
動や要素間のデータの転送を制御するためのものであ
る。メロディ生成実行手段F30の実行結果であるメロデ
ィデータはメロディデータメモリ13(第1図)に格納さ
れる。
〈ゼネラルフロー〉 第3図に本実施例に関わる自動作曲機の全体的動作を一
部フロー的に一部ブロック的に示してある。この図は各
々の処理の位置づけと、参照すべき図面の番号を示した
ものであり、ここではこれ以上の説明はしない。
〈予備事項〉 以下、実施例の詳細な動作説明に入るが、その前に予備
的な事項について説明する。
第4図に示すのは自動作曲機で使用する主な変数のリス
トである。記載自体明白であり、ここでは説明は省略す
る。第5図はパラメータCのリストである。メロディ制
御情報には図示以外のパラメータも含み得るが、ここで
は後の図面において、PCの文字を使用するパラメータの
みについて示してある。記載自体明白であるのでここで
は説明を省略する。
第6図は音階の各音高に割り当てられる音高データの例
を示したものである。以下の説明では、特記しない限
り、音高に対するデータ(音高データ)の割り当ては同
図のbに示すものを使用する。すなわち、半音上がるご
とに値がプラス1になる連続する整数値を音階の各音高
に割り当てたものである。なお休符は特別の値で表現す
る。これ以外に、いくつかの音高データの割り当てが可
能であり、その一例を第6図のaに示してある。
また、音長(音価)の最小単位は16分音符とする。すな
わち、16分音符の音長データは1であり、その2倍の8
分音符の音長データは2である。
また、「抽出区間」や「進行区間」の単位は1小節とす
る。これに関連し、コード進行情報も1小節当り1コー
ドとする。
さらに、モチーフ(入力メロディ)の長さも特記しない
限り、1小節とする。
また小節の長さも、小節番号によらず同じ長さでさるこ
とを想定する。
説明の便宜上、各コードは、4つの音高から成るとす
る。ここでは、コードとして独立の4声の和音、例えば
(ド、ミ、ソ、シ)のCメジャーセブンスのようなタイ
プと、そのうち2声がオクターブ差になる3和音(トラ
イアド)のタイプがある。したがって、(ド、ミ、ソ)
の3和音は、本例では としている。これに関連し、コード構成音メモリ2の各
コードエリアは4つあり、各アドレスに、各構成音の音
高に対応する値が入っている。例えば、 の場合は、(1、5、8、13)のデータになっている。
以上の前提は、説明の便宜のためにすぎず、単なる例示
的前提である。
第7図は、動作説明の為のデータ例(その1)である。
第7図(1)に示す楽譜は、以下の動作説明で例として
挙げるモチーフである。第7図の残りは自明な記載なの
で、ここでは説明を省略する。
第8図は動作説明の為のデータ例(その2)であり、PC
の値に関するものである。
第9図は過程毎の生成されたメロディを楽譜で示したも
のである。第7図と第8図の入力データの場合に作成さ
れたメロディである。
以上で、予備的な事項の説明を終え、いまから詳細な説
明に入ることにする。
〈モチーフ評価〉 モチーフの情報は、第1図の入力装置より入力され、モ
チーフメモリ6に格納されている。このモチーフ情報に
対し、自動作曲機が最初に行う仕事は評価である。
第10図にCPU9が実行するモチーフ評価のフローを示す。
CPU9は、このフローに従い、1小節を評価または抽出の
区間の単位として、モチーフを評価する。
第10図のフローの要部は10-11のリズム評価と10-12の非
和声音抽出である。図中、iはモチーフデータの番号、
すなわち、着目しているモチーフ小節における何番目の
音符であるかを示す変数、AFTは、i番目の音符に関し
て、同小節内の後にある音符数の変数(レジスタ)、BE
Fは前にある音符数の変数である(10−2、10−3)。1
0−4〜10-10は、i番目の音符MDiの前後にある合計6
個の音符の音高列MDi-1〜MDi+4における隣り合う音符の
音高の差、つまり音程を算出しているところである。例
えば、a1はMDが(着目している音符)に対するMD
i+1(次の音符の音高)の音程である。なお、休符には
音高の概念が存在しないので特別に処理している(10−
5、10−8)。
後述するように、10-12の非和声音抽出では、着目して
いる音符の小節線に対する位置関係AFT、BEFとその音符
の前後における音程の進行a0〜a4とから、モチーフに含
まれる非和声音を分類化して抽出している。したがっ
て、上記10−2〜10-10までの処理は、非和声音抽出処
理10-12のための下準備である。NOはモチーフ小節に含
まれる音符(休符も数える)の総数であり、全ての音符
について評価が完了した時点(i>NOが成立の時点)で
図示のフローを抜ける。第10図のフローチャートの記載
は10-11と10-12を除きそれ自体で明確であり、これ以上
の説明は要しない。
★リズム評価★ 第10図のリズム評価10-11の詳細なフローの一例を第11
図に示す。ここでリズム評価の目的は、モチーフにどの
ようなミニパターンがどの程度含まれているかを調べる
ことである。第11図では、調査するミニパターン(音長
列)として、 音長比が3対1のパターン、例えば、 音長比が1対3のパターン、例えば、 音長比が1対1のパターン、例えば、 音長比が2対1対1のパターン、例えば、 音長比が1対2対1のパターン、例えば、 音長比が1対1対2対パターン、例えば、 を例示している(音符には休符も含まれる)。
モチーフに含まれる3対1の音長比のパターンの数はHR
1にカウントされ、1対3のミニパターンの数はHR2に、
1対1のパターンの数はHR3に、2対1対1のパターン
の数はHR4に、1対2対1のパターンの数はHR5に、1対
1対2のパターンの数はHR6は格納される。
隣り合う音符の音長MRj、MRj+1の比の計算は11−3で実
行している。検査は小節内の音符に対して行われるの
で、3つの音符の音長比のパターンチェックは、小節内
の最後の音符より2つの手前まで行えばよい(そのとき
11-10でj=NO−1が成立する)。
ちなみに、第9図の第1小節目に示すモチーフ の場合、1対1パターンのカウンタHR3は2 2対1対1のパターンのカウンタHR4は1 1対1対2のパターンのカウンタHR6は1 となり、その他のパターンのカウンタHR1、HR2、HR5は
個数ゼロを示す。
後述するように、各ミニパターンカウンタHR1〜HR6のカ
ウント値(モチーフに含まれる各音長パターンの数)の
大小を調べることにより、モチーフを特徴づけるミニパ
ターン(支配的なミニパターン)を知ることができる。
さらに特徴ミニパターンを生成するメロディの音長列に
組み込むことにより、モチーフのリズム的な特徴をメロ
ディに反映させることができる。
★非和声音抽出★ 第10図の10-12で示す非和声抽出の詳細なフローの一例
を第12図に示す。図示のようにこのフロー12−1〜12-5
8はツリー構造を成しており、自動作曲機はある音符の
小節線に対する位置関係AFT、BEFと、その音符のまわり
の音符列が形成する音程の進行a0〜a6を調べることによ
り、前向き推論方式で、どの音符がどのタイプの非和声
音であるかを導き出す。特定の音符が特定の非和声音で
あるという導出結果は、配列{HDi}上の特定番号のレ
ジスタHDiに固有の値を書き込むことにより記憶される
(なお、配列{HDi}は、モチーフ評価のために、ワー
クメモリ10上に用意されるエリアであり、このエリアに
はイニシャルデータとして、モチーフの音高データ{MD
i}が初期設定される)。例えばHDi=−40は、着目して
いる小節のモチーフのi番目の音符が経過音という名の
非和声音であることを意味する。図では、非和声音とし
て、先取音、倚音、刺しゅう音、経過音、その他の非和
声音が示されている。各非和声音の名前は、説明の適宜
上にすぎない。いいかえれば、ツリー構造のフロー(ネ
ットワーク)終端にはある結論(例えば12-41のHDi+1
−40、すなわち(i+1)番目の音符は経過音であると
いう結論)が示されているが、その結論に至るツリーの
トップからのルートは1つ以上存在する。これらのルー
トは、その結論を真とする条件であり、定義である。つ
まり、第12図のフローは、各非和声音を分類、定義した
ものである。このことは、各非和声音について別の定義
が可能であることを示唆している。当業者は、本発明の
教示することに従い、他の定義による非和声音抽出を容
易に実現できよう。
第12図のフローの記述は明白であり、その記述をもって
明細書の説明に代える。
〈モチーフパラメータ抽出〉 上述したモチーフ評価をモチーフの「第1分析」と呼ぶ
ならば、これから述べるモチーフパラメータ抽出はモチ
ーフの「第2分析」である。いずれの機能も、モチーフ
の特徴について分析を行っている点で変わりない。
第13図にモチーフのパラメータ抽出の全体的フローを例
示する。このフローに従うと、13−1で、和声音の型の
パラメータ、すなわち、モチーフに含まれる分散和音に
ついての音高の流れ、または垂直成分のパターン{LL
i}が抽出され、13−2ではモチーフに含まれる分散和
声についての音長の流れ、または水平成分のパターン
{RHi}が抽出(形成)される。また、13−3では各非
和声音の数が算出され、13−4では和声音の数が求めら
れる。13−6ではモチーフの音高列のなめらかさのパラ
メータが抽出され、13−7では同じ高さで連続する音の
数(同音進行)のパラメータが抽出される。13−7はモ
チーフに含まれる最小の音長を抽出するところである。
最後の13−8ではモチーフの特徴的リズムパラメータが
抽出される。なお、これらの処理の順序は図示通りであ
る必要はない。
少し説明を加えると、本例の自動作動機では、和声音と
非和声音を区別して取扱っており、第13図の13−1から
13−6まではこのことと関係している。例えば、13−2
では、モチーフ自体の音長列のうち、非和声音を除去し
ている。すなわち非和声音の音符を和声音の音符に吸収
させ、和声音のみの音長パターンを形成している。ま
た、13−5や13−6のなめらかさや、同音進行のパラメ
ータは、「分散和声音」についてのパラメータであり、
「非和声音」は抽出の対象からはずしている。このよう
な抽出アプローチは、和声音を基本とする考え方に基づ
いている。
★和声音の型のパラメータ抽出★ 第14図は第13図の処理13−1の詳細であり、モチーフ
(入力メロディ)が示す分散和声の型(和声音の時系列
のパターン)のパラメータを抽出するフローである。こ
こでの処理の目的は、モチーフの流れに沿って分散して
いるそれぞれの和声音が、そのモチーフ全体の和声音の
集まりのなかで何番目の音高であるかを知ることであ
る。副次的目的は、何番目の音符が休符になっているか
を知ることである。図中、ONPUで示す変数は本自動作曲
機で使用される音域(システム音域)を表わすもので、
入力されるモチーフの音域を包含するように決められて
いる。
図示のフロー14−1〜14-16では、システム音域の一番
下の音高から、順にその音(和声音)がモチーフに含ま
れているかどうかを調べ、ある場合にのみ和声音高番号
の変数Mをインクリメントして、LLiの値としている。
また、HDiが“休符”のとき、すなわち、i番目のモチ
ーフデータが休符のときにはそのLLiをゼロとして、i
番目のモチーフデータが休符であることを記憶してい
る。また、HDiが負のとき、すなわち非和声音の音符に
対してはスキップしている。
第4図のフローの右上方にこのフローの処理結果の一例
を挙げている。この例では、モチーフの一番目の音(HD
1で示してある)が和声音で、図示のモチーフのなかで
は一番高い和声音になっている。2番目の音HD2は非和
声音である。3番目の音HD3は和声音(モチーフの2番
目に表われる和声音)だが、最初の和声音より低い音高
の和声音である。モチーフの4番目の音符HD4も和声音
(モチーフの3番目に表われる和声音)だが、さらに低
い音高になっている。モチーフの5番目HD5は休符であ
る。モチーフの6番目(この場合最後)の音符HD6は和
声音であり、モチーフのなかで4番目の音符と同じく、
最低の音高になっている。この図からわかるように、モ
チーフの和声音の流れは、全体として下行のパターンを
もっている。第4図のフローの結果はこのモチーフ例に
対して次のようになる。まず、HD5に対してはそのLLiと
して符号を示しゼロが割当てられる。HD4に対してはそ
のLLiとしてモチーフのなかで最低音の和声音であるこ
とを示す1が割り当てられる。HD6に対しても同様であ
る。HD3にはそのLLiとしてモチーフのなかで下から2番
目の高さの和声音であることを示す2が割り当てられ
る。HD2は非和声音であり、LLiは割り当てられない。HD
1はモチーフに含まれる和声音のなかで最高音であり、
下から数えれば3番目の和声音高なのでそのLLiには3
が割り当てられる。つまり、HD1(1番目の和声音)のL
L1は3、HD3(2番目に現われる和声音のLL2は2、HD4
(3番目に現われる和声音)のLL3は1、3番目の和声
音に次いで休符がきてLL4は0、その次の和声音HD6のLL
5は1となりモチーフの和声音の流れ、または型(ここ
では休符も含む)が特定されたことになる。すなわち、
{LL}=(LL1、LL2、LL3、LL4、LL5)=(3、2、
1、0、1)が得られる。
この和声音(分散和音)の型のパラメータはPAの形式で
は示していないが、これもモチーフを特徴づけるパラメ
ータである。この型を後で詳述するメロディ生成におい
て、なんらの変更も加えることなく使用すれば、非常に
反復性に富む統一性の高いメロディが生成されることに
なる。
なお、第7図(第9図)のモチーフ に対しては、1番目に現われる和声音ドのLL1=1、2
番目に現われる和声音ミのLL2=2、3番目に現われる
和声音ソのLL3=3、4番目に現われる和声音 のLL4=4となる。これは上行のパターンである。
★和声音の音長パターン抽出★ 第13図の処理13−2の詳細なフローの一例を第15図に示
す。ここでの処理の目的は、非和声音を含むモチーフか
ら、非和声音を取り除いたかたちの音長パターン(和声
音のみの音長列)を形成することである。つまり、個々
の非和声音の音長を、隣りにある和声音の音長に吸収さ
せる処理を行っている。そして、どの非和声音をどの和
声音に吸収させるかについては、第16図に例示する4拍
子系のパルススケールによって決定している。いま、あ
る非和声音がある音との間にはさまれていると、その非
和声音の開始位置におけるパルススケール上の重みと、
その非和声音の次の音符(簡単のため和声音としてみ
る)の開始位置の重みとを比較し、次の音符の開始位置
の重みの方が軽ければその非和声音の音長は次の音符
(簡単のため、和声音を想像する)の音長に吸収され、
次の音符の開始位置の方が重ければ、その非和声音は前
の音符(簡単のための和声音を想像するとよい)に吸収
される。以上が、パルススケールによる非和声音の音長
吸収の論理である(正論理)。非和声音の音長を吸収し
た和声音は、その分、もとの長さより音長が広がる。
第16図に示すパルススケール(5、1、2、1……)は
論理スケールであり、第15図のフローの論理のなかに組
み込まれたスケールである。
第15図において、SUMは次の音符の開始位置から小節線
(手前の小節線)までの距離もしくは長さを示すレジス
タ、SUMBは現在の音符の開始位置から手前の小節線まで
の距離、長さを示すレジスタ、MRiはモチーフのi番目
の音符の長さ、RHNはモチーフのN番目の「和声音」の
長さであり、第15図の処理完了後は、前または後に位置
するゼロないし複数の非和声音の長さを加えた長さをも
つことになる。NOはモチーフの音符の総数である。SUM
MOD 2jはSUMの値を2jで割った余りであり、同様にSUMB
MOD 2JはSUMBの値を2jで割った余りである。
15−4はi番目の音符が和声音かどうかのチェックであ
り、和声音の場合にはNをインクリメントしてN番目の
和声音長RHNに加える(15−5)。15−6は非和声音が
最初の音符かどうかのチェック、15−8は非和声音が最
後の音符かどうかのチェックである。非和声音が最初の
音符の場合、その音の開始位置はパルススケール(第16
図)上の先頭のパルスポイントと一致する。その重みは
最大の5である。したがって、パルススケールの論理に
従いこの音の長さは次の音符に吸収される(15−7)。
同様に、非和声音が最後の音符の場合、次の音符の開始
位置は最大の重みをもつので(小節線をクロスする音符
はないことを想定)、この最後の音符は前の音符に吸収
される(15−9)。15-10から15-15は、小節の最初でも
最後でもない非和声音について、その音長を手前の音符
(和声音)の音長RHNに加えるか、次の音符(和声音)
の音長RHN+1に加えるかをパルススケールによる論理に
従って決めて処理しているところである。
ちなみに、第9図のモチーフの場合、 であり、ファが非和声音で、その他は和声音である。フ
ァの次の音であるソの開始位置は、1小節を16の長さと
して、小節の頭から8番目である(第16図の一番上を参
照のこと)。その重みは、4である。一方ファの開始位
置は6であり、その重みは2である。ソの重み(4)>
ファの重み(2)であるから、非和声音ファは前の和声
音ミに吸収される(フロー上は、j=2のとき、15-11
が真となり、15-12でNF=0、15-16でRH2=RH2+MR3
なる)。
結局、 となる。すなわち、和声音の音長パターン{RHi}は、
{RHi}=(RH1、RH2、RH3、RH4)=(4、4、4、
4) 以上の説明と第15図のフローの明確な記載から、和声音
の音長パターン抽出の動作は明らかであり、これ以上の
詳細な説明は省略する。
ここにおいて、第16図のパルススケールは例示にすぎ
ず、他のパルススケールによる和声音の音長列の形成も
可能である。このことは明らかである。例えば、(非和
声音の開始位置の重み)>(次の和声音の開始位置の重
み)のときに、非和声音を「前」の音に吸収させ、(非
和声音の開始位置の重み)<(次の和声音の開始位置の
重み)のときに非和声音を「次」の音(和声音)に吸収
させるという、逆の論理を使用すれば、モチーフに対す
る結果は、 となる({RHi}=(4、2、6、4))。
★各非和声音、和声音の数★ 第13図の処理13−3と13−4の詳細なフローを第17図に
例示する。17−1〜17−7はパラメータPAijの初期化で
ある。モチーフに含まれる先取音の数はPA5、2に、倚音
の数はPA2、2に、刺しゅう音の数はPA4、4に、経過音の数
は、PA3、3に格納される。SUMの結果はモチーフの小節に
含まれる非和声音の総数を示す。PA1、3の内容はモチー
フの小節に含まれる和声音の総数を示す。
★なめらかさ、同音進行のパラメータ★ 第13図の処理13−5と13−6の詳細なフローを第18図に
例示する。上述したように{LLk}はモチーフ小節に現
われる分散和声の音型である。図示のフローでは、PA
1、2に、隣り合う和声音間の最大の跳躍の度合(なめら
かのパラメータ)が抽出、設定され、PA1、6には、同音
進行のパラメータとして同音で進行する音(和声音)の
数が抽出、設定される。なお音高の意味をもたない休符
のLLkはゼロの値をとる。これに関連し、LLkかLLk+1
のいずれかが休符のときは、18−4と18−6のチェック
の結果NOとなる(例えば、18−3の処理の後、LLk=0
か、LLk+1=0を判別し、成立するときはL=−1とす
ることで実現できる)。
★特徴的リズムパラメータ★ 第19図は第13図の処理13−8のフローの一例である。
第11図のところで述べたように、本実施例の自動作曲機
では、モチーフにどのようなミニリズムパターンがどの
くらい含まれているかを求めている。残る問題は、どの
ミニパターンがモチーフを特徴づけるパターンになるか
ということである。ここでは、モチーフに含まれる支配
的なミニパターンをもって、モチーフの特徴ミニパター
ンとしている。
このようなアプローチに基づく評価の例が第19図に示す
フローである。このフローでは、モチーフのなかに、音
長比が3対1のミニパターン と、音長比が1対1のミニパターン のどちらが数の上で支配的であるかを調べている。音長
比が1対1のミニパターンの数HR3の方が多ければ、PA
6、1はゼロを示し、音長比が3対1のミニパターンの数H
R1の方が支配的であれば、PA6、1は3の値に設定され
る。
ちなみに、第9図のモチーフの場合、HR1=0、HR3=2
であり、1対1のミニパターンが支配的である。したが
ってPA6、1の値はゼロとなる(1対1のミニパターンが
モチーフを特徴づけるミニパターンであることを意味す
る)。
第9図のフローは一例にすぎず、当業者はその他の特徴
的リズムパラメータの抽出フローを容易につくることが
できる。例えば、その他の音長比のミニパターンの数
(HR2、HR4、HR5、HR6など)を考慮してもよい。
後述するようにPA6、1の値が示す特徴ミニパターンをメ
ロディの音長列に組み込むことにより、モチーフのリズ
ム的な特徴を生成するメロディに反映させることができ
る。
★最小の音長抽出★ 第20図は第13図の処理13−7の詳細なフローの一例であ
る。このフロー例では、モチーフの音長MRiのなかでみ
つけられた最小の音長が更新的にminに設定され、最終
的に得られた最小の音長がPA3、3に格納される。
最小音長情報PA3、3は生成するメロディの最小(最短)
音長に関連づけることができる。例えば、モチーフの最
小音長PA3、3を生成するメロディの最小音長PC3、3と等し
くすれば、モチーフにあるのより短いメロディノートは
つくられないことになる(もちろん、等しくなければな
らないという意味ではなくコントロールできるという意
味である)。とにかくPA3、3はモチーフの音長パラメー
タ(リズムパラメータ)の1つである。
メロディ発生 ここまでの説明で、本実施例の自動作曲機が、与えられ
たモチーフをどのように評価し、その特徴をどのように
抽出するかについて明らかとなった。
本自動作曲機のこの後の仕事は、これらの特徴評価、特
徴抽出の結果に基づいてメロディを生成することであ
る。本自動作曲機にあっては、メロディ発生機能は大き
く分けて、生成するメロディのアウトラインを計画する
部分(メロディの計画立案部)と、このメロディ計画立
案部が作成した計画に、沿って具体的にメロディを発生
する部分(メロディ生成実行部)とから成っている。
メロディ計画立案部は第2図でいえば、メロディ制御情
報発生手段F20に相当する(ただし、コード進行情報も
自動的に発生する機能にした場合にはその機能もメロデ
ィ計画立案部に含まれることになる。コード進行情報も
生成するメロディを規制する情報であることに変わりな
い)。メロディ計画立案部の主な仕事はモチーフ特徴メ
ラメータ抽出部が抽出した結果から、生成するメロディ
を「連想」または「計画」することである。メロディ計
画立案部はメロディ生成実行部(第2図でいえばF30)
の各部に、計画情報すなわちメロディ制御情報を与え
る。メロディ生成実行部では送られてきたメロディ制御
情報に則してメロディの生成を実行する。メロディ生成
実行部の主な2つの機能はメロディの音高列の生成機能
とメロディの音長列の生成機能である。
〈メロディの計画立案〉 メロディ計画情報(メロディ制御情報)のことを以下、
パラメータC(PCと書くこともある)と呼ぶことにす
る。
メロディ生成実行部が作成するメロディはパラメータC
によって大きく左右される。逆のいい方をすれば、パラ
メータCは生成されるメロディを特徴づけるパラメータ
である。
本自動作曲機の全体的仕事はモチーフ(入力メロディ)
を基にメロディ(ここでは曲の意味)を作曲することで
ある。
よく経験するように、曲のなかには、モチーフがそのま
まあるいは非常によく似た形で何度も現われるものもあ
れば、モチーフが変形され、展開され、成長、発展する
曲もあれば、あるモチーフは一時的にしか存在せず、別
のモチーフが現われ、さらに別のモチーフに移っていく
といった曲もある。最初に挙げたクラスに属する曲は、
「一貫性」の度合が高く、2番目のクラスに属する曲は
「一貫性」を残しながらも「多様性」にも富む。3番目
のクラスに属する曲は「一貫性」は希薄になっているが
より「自由」な「多様性」をもっているといえよう。
本発明によれば、ユーザの入力したメロディ(モチー
フ)に忠実な作曲から、モチーフに対する忠実性よりも
自由性、多様性に重きを置いた作曲まで自由にコントロ
ールすることができる。
パラメータC(PC)の特性やパラメータCのさまざまな
発生の仕方などについては、本件出願人に係る特許出願
(出願日、昭和62年4月8日、名称「自動作曲機」)に
おいて詳述してあるのでここでは詳細な説明はしない。
パラメータCの第1の性質は、曲の進行区間に依存する
ということである。第2の性質はモチーフ特徴パラメー
タに依存することである。第1の性質は曲の一貫性や多
様性と係っている。第2の性質は作成される曲における
モチーフの反映の度合と係っている。
本実施例では、曲の進行区間として、「小節」を単位と
する区間を使用し、小節ごとにパラメータCが割り当て
られるようにしている。また、パラメータCは演算によ
ってつくられ、演算のための成分パラメータとして、メ
ロディの流れの一貫性と多様性をコントロールするパラ
メータB(PBと書くこともある)と、モチーフ特徴パラ
メータ(PAと書くこともある)を使用している。さら
に、より高次な階層性を曲にもたせるため、楽式識別デ
ータ(楽式識別パラメータ)もパラメータCの演算にお
ける成分パラメータとして利用している。
上記パラメータBは第1図のパラメータBメモリ7に置
かれており、楽式識別データは同図の楽式識別データメ
モリ8に置かれている。所望であれば、ユーザは入力装
置1により特定のパラメータBの使用を自動作曲機に直
接的または間接的に要求することができ、同様に、入力
装置1を通して曲の楽式を指定することにより、特定の
楽式識別データの使用を自動作曲機に要求することがで
きる。ただし、これと関係するマンマシンインターフェ
ース(例えば、ユーザ用の概念空間と自動作曲機の内部
表現空間、例えばパラメータBとの間の変換、あるいは
パラメータBへのユーザーアクセスの仕方など)は本発
明の眼目ではないのでこれ以上の説明は省略する。
〈パラメータCの演算〉 第21図はパラメータCの演算のフローを例示したもので
ある。21−1ではモチーフ特徴パラメータPAが読み出さ
れ、21−2では一貫性多様性コントロールパラメータPB
が読み出され、21−3では楽式識別データがメモリ8よ
り読み出される。この3つのステップは小節のたびに行
う必要はなく、一括して行うことができる。つまり、生
成するメロディの小節番号とは処理的に無関係なステッ
プである。21−4、21−5、21−6は小節ごとに実行さ
れる(後述する第25図におけるステップ25−9のPC演算
はこの21−4〜21−6に対応している)。21−4は楽式
識別データのデコードであり、21−5で生成するメロデ
ィの小節番号に割り当てるパラメータPCを演算してい
る。図示のように、パラメータPCは、小節番号とPA(モ
チーフ特徴パラメータ)と、PB(一貫性多様性コントロ
ールパラメータ)と、SB(楽式識別パラメータ、高次階
層制御パラメータ)とを変数ないし成分パラメータとす
る関数として形式的に表現される。ただし、このこと
は、個々のパラメータPCのいずれもが、小節番号、PA、
PB、SBのいずれにも実際に依存しなければならないとい
う意味ではない。第5図に例示するように、パラメータ
Cは数多くのパラメータの集まりであり、そのうちのい
くつかにDC特性(小節に依存しない性質)をもたせても
かまわない。また、小節番号とPAとPBとSBが与えられれ
ば、「一義的」にPCの値が決定されなければならないと
いう意味でもない。一義的に得られた中間PC値に対して
乱数発生手段(第2図のF24)によりランダム化を導入
することができる。好ましくは、ランダム化は「制御」
されたランダム化であり、中間PC値により制御された乱
数を導入することにより(例えば中間PC値を基準とする
ゆらぎを導入することにより)、最終的なパラメータPC
を求めることができる。上述した特許出願にはコントロ
ールされたランダム化の例が開示されている。
21−6は学習によるパラメータの変更処理である。ここ
では、21−5で発生したパラメータCよりもユーザが修
正により設定したパラメータCを優先させる処理が実行
される。例えば、ある小節のあるパラメータCの値が自
動作曲機の学習機能を通して、ユーザの好みの値に設定
されているとすると、その小節のそのパラメータについ
ては、ユーザの選んだ値が採用される(詳細については
後述する)。
★楽式の制御★ 一般に曲の展開部に関しては、展開部(サビ)全体がサ
ビ以前と異なる様相を示す特徴と、サビに突入する区切
りのところの特徴とをもっている。例えば、サビの直前
の小節では終止感を伴うのが普通であり、これからサビ
に入るという予期的な心理効果をもたらす。また、サビ
全体にわたっては、音域や音数、リズムなどが変化して
異なる様相が示されるというのが通例である。
このようなハイレベルの階層性をもたらすために、本実
施例では楽式識別データを発生させて楽式の制御を図っ
ている(上述した第21図の21−3、21−4、21−5がこ
れと関係している)。
第22図は楽式識別データメモリ8(第1図)に記憶され
るデータの例について示している。ここではデータの型
式は、上位桁のA1と下位桁のA2より成り、A1のところは
小節番号、すなわち、ある楽節が開始する小節番号を示
している。A2部はA1で示す小節番号から始まる楽節のタ
イプを定義している。特に、A2の値がゼロのときは反復
型を表わし、非ゼロのときは展開部であることを示し、
その値が展開の型を表わす。一例として、SB1=10、SB2
=91、SB3=130のデータは、曲の楽式がA→B→Aであ
ることを記述しており、第1楽節Aは第1小節から第8
小節までであり、型は反復型、第2楽節Bは第9小節か
ら始まり第12小節で終わる展開型の楽節、第3楽節Aは
第13小節から始まる反復型の楽節である。
第23図は第21図の21−3の詳細なフローの一例である
(ただし、読みやすくするために追加して描いてある23
−1は第21図の21−2と同じものである)。
第23図のフローの記述と上述の第22図の楽式識別データ
(オリジナルの楽式識別データ)から、本列の楽式制御
の態様が容易に理解できよう(第24図も参照された
い)。
すなわち、本例の楽式制御では、展開部(サビ)全体に
わたってメロディを特徴づけるために、ホールド型(SB
H)を用意しており、区切れ(楽節間の区切れ)を特徴
づけるためにパルス型(SBPi)を用意している。
第23図のフローに従って説明すると、メロディを生成す
る小節の番号がIのとき、CPU9(第1図)は23−2に入
り、パルス型の楽式識別パラメータのレジスタSBPjをリ
セットする。この例では、第24図からもわかるように、
パルス型パラメータはSBP1、SBP2、SBP3の合計3つ用意
されており、SBP3は展開部(第24図では第9小節目より
始まるもの)の楽節が始まるより2小節前に付くパルス
パラメータ、SBP2は展開部より1小節前に付くパルスパ
ラメータ、SBP1は展開部の開始小節に付くパルスパラメ
ータとなっている。また、ホールド型はSBHの1個だけ
用意されており、展開部の間(第9小節から第12小節の
間)付けられる。
第23図の23−3から23−12までの処理は上述の機能を実
現するための処理である。23−3で楽節番号カウンタj
を初期化し、23−4では楽式識別データフォーマットの
上位桁、すなわち、jで示される楽節の開始小節番号を
レジスタa1に入れ、下位の桁、すなわちその楽節のタイ
プをレジスタa2に入れている。メロディ生成のための小
節番号Iが楽節の開始小節番号a1より2小節前のとき変
数a3を第3のパルス型楽式識別パラメータSBP3として設
定し(23−9、23-10)、メロディ小節番号Iが楽節の
開始小節より1小節前を指しているとき、楽節のタイプ
の変数a2を第2のパルス型楽式識別パラメータSBP2とし
て設定し(23−7、23−8)、メロディ小節番号と楽節
の開始小節番号とが一致するときはa2を第1のパルス型
パラメータSBP1にセットするとともにホールド型パラメ
ータSBHにセットしている(23−5、23−6)。23-12の
SBNは曲を構成する楽節の総数である。つまり、このフ
ローでは、生成するメロディの小節番号をキーデータと
し、曲を構成するすべての楽節のなかでこの小節番号と
一致するものをサーチし、対応する処理を行っている。
そして、SBPiはメロディ小節番号の更新ごとにリセット
されるのでパルス型になる。一方、SBHにはメロディ小
節番号と一致する開始小節番号をもつ楽節のタイプが一
致の時点で入るだけである。したがって、その楽節が展
開型のときはその間、SBHは非ゼロの値となり、反復型
のときはゼロとなってパラメータCには反映されない。
解読した楽式識別データ(楽式識別パラメータ)はパラ
メータCの演算(第21図の21−5)において成分パラメ
ータとして使用される。例えば、DC成分として使用され
る。
★メロディの生成★ 第25図は連続的にメロディを生成するときの全体フロー
である。このフローの要部は25−9のPC演算(第21図の
21−4〜21−6)と25-10のメロディ発生(メロディの
具体的発生、詳細は後述する)である。残りはメモリ間
の転送等のため処理であり、第3図でいえばメロディコ
ントローラの役目である。
すなわち、25−1から25−5までの処理は、モチーフメ
モリ6(第1図)にあるモチーフデータをメロディデー
タメモリ13に転送する処理である。25−5に示すNoはモ
チーフに含まれる音符数である。
25−6や25-16に示すMN0は連続的にメロディを作成する
ときの既に作られているメロディの音符の総数である。
メロディの生成は小節単位で行うので、モチーフの小節
数を計算している(例えばモチーフデータの音長データ
から計算できる)(25−7)。なお、ここではモチーフ
が2小節以上でもよいことを示してある。2小節以上の
モチーフに対する取り扱いは後述するとし、一応、最初
の想定通り、1小節としておく。計算されたモチーフ小
節数の値に1を加算し(25−8)、1小節のメロディが
発生したら(25−9、25-10)、そのデータをメロディ
データメモリ13に書き込む(25−1〜25-15)。25-15の
Noはもちろん25-10の処理で発生した1小節分のメロデ
ィの音符数である。25-17に示すCN0はコード進行で使用
するコードの総数であり、本例ではコード/小節である
ので、小節番号がコード総数に達したところでメロディ
の生成は完了する。
さて、メロディの具体的発生(第25図の25-10)の詳細
についてこの後、説明しよう。
〈メロディの具体的発生〉 メロディの具体的な生成を実行する機能は大きく分け
て、メロディの音高列を生成する機能(メロディ音高列
生成機能)とメロディの音長列を生成する機能(メロデ
ィ音長列生成機能)から成っている。いずれの機能も、
上述したメロディ計画立案部より1小節ごとに送られて
くるメロディ計画情報(メロディ制御情報)に沿って動
作し、それぞれのメロディ制御情報(包括的にパラメー
タCと呼ぶ)を内部の生成規則のなかに組み込んだ形
(例えば、制約条件として組み込んだ形)でメロディノ
ートを作成していく。
メロディ音高列生成機能は分散和音の音高の列を生成す
る分散和音部と、分散和音部により生成された分散和音
の音高の間または前後に非和声音を付加する非和声音付
加部を含む。さらに、メロディ音高列生成機能は、上記
分散和音部と非和声音付加部が使用する音階(ノートス
ケール)を決め、メロディノート候補の音高についての
有効性をチェックする使用音高制御部を備えている。有
効と認められた候補のみがメロディノートとして採択さ
れる。
一方、メロディ音長列生成機能は分散和音の音長列を生
成する部分と、上記非和声音付加部による非和声音の音
高付加に伴う音長列調整部と、メロディ音長列の仕上げ
として休符の付加と特徴ミニパターンの組み込みを行う
部分から成っている。
以下、例示する各フローチャート上においては上記の各
機能が適時アクティブとなって動作するようになってい
る。
プロセスの面から述べると、まず、分散和音のみのメロ
ディ(音長列と音高列)が作成され、次に非和声音が付
加されて分散和音と非和声音を含むメロディ(音長列と
音高列)が作成され、最後にメロディの音長列について
最終的な仕上げが行われる。
分散和音の発生 第26図は分散和音の発生を含むフローの一例である。
26−1から26−5までの処理は、基本的には、26−6〜
26−42までの分散和音の音高列の作成の下準備である。
26−1はこれから生成するメロディ小節に割り当てられ
た和音の構成音の読み出しであり、26−5は和音の構成
音の転回である。26−3のPC1,12は転回数を最適転回数
にするか、通常の転回数(パラメータC演算部が与える
PC1、7が示す転回数)にするかのチェックであり、PC
1、12>0のときは26−4で最適転回数が算出され、PC
1、7はこの算出された値に変更、更新される。コード構
成音の転回は生成するメロディ小節の音域を左右するも
のであり、本例の場合、転回回数の多いほど使用音域は
高くなる。最適転回の機能は前の小節のメロディの流れ
と最適に連結するようなメロディが今回の小節で作成さ
れるようにするためにある。特に、前小節の音型と同様
の音型を連結する場合に効果がある。
26−2の音階の重み変更では、重み付けられたノートス
ケールデータ{SCLi}が読み出され、読み出した各音高
の重みが所定の条件(コード構成音か否か、根音シフト
が要求されているかどうかなどの条件)により変更され
る。
この変更後のノートスケールデータ{SCLi}は、分散和
音のメロディノートの候補を得たときに参照され、パラ
メータ演算部より送られてきたしきい値(PC1、1)以上
であれば正式のメロディノートとして採択されるように
なっている。変更後のノートスケールデータ{SCLi}は
後述する非和声音の付加のプロセスにおいても参照さ
れ、付加候補の音高が各非和声音のしきい値以上の重み
を持てば正式のメロディノートとして採用される。
第26図の最後の処理26−44は音長の決定すなわち分散和
音の音長列の形成処理である。
以上で第26図の概要説明を終える。以下、個々について
より詳細な説明を行う。
★コード構成音の読み出し★ 分散和音を発生するためには、進行中のコード(和音)
が何であるかをまず知る必要がある。このコード進行情
報を与えるものが第1図のコード構成音メモリ2とコー
ド進行メモリ3である。
第27図にコード進行メモリ3に格納されたコード進行の
例とコード構成音メモリ2に格納された各コードの構成
音データを例示してある。さらに第27図にはコードの根
音データメモリ4の内容も示されている。
図の例では、各コードは4つの構成音(独立の4声タイ
プまたは2声がオクターブ関係にあるタイプ)から成る
としてある関係上、コード構成音メモリ2の夫々のコー
ド構成音格納エリアは4つの連続アドレスになってお
り、若いアドレスからコード構成音の音高データが低い
順番で入っている。例えば、コード構成音メモリ2の1
〜4のアドレスの内容は1(=ド)、5(=ミ)、8
(=ソ)、13 となっており、これらのデータはCmajの構成音を記述し
ている。
一方、コード進行メモリ3には、連続する各アドレスに
コードネームまたはコードタイプを示すデータが格納さ
れている。このデータの列によりコード進行が記述され
ているわけである。コード進行メモリ3の各アドレスに
格納されたデータ(コードタイプを表わす)からコード
構成音メモリ2の対応するコードを記憶するエリアの開
始アドレスが計算できるようになっている。同様に、コ
ード進行メモリ3の各アドレスに格納されたデータから
根音データメモリ4の対応するコードの根音格納アドレ
スが得られるようになっている。図示の例では、コード
タイプを表わすデータの値を使って(データー1)×4
+1を計算することにより、そのコードを格納するコー
ド構成音メモリ2の開始アドレスが得られる。
コード構成音の読み出しは、コード進行メモリ3より進
行中のコードを読み出し、そのコードの値をポインタと
して使って、そのコード構成音のデータをコード構成音
メモリ2から読み出すことによって実行できる。
本例では1コード/小節を想定してあるので、I番目の
小節のときには、コード進行メモリ(コード進行のファ
イル)3のI番目のコードを読み出すことになる(I番
目のアドレスを指定することにより)。コード進行ファ
イルの末尾には、コード進行の完了を示すEOF(エンド
オブファイル)が記入されている。
ただし、コード構成音の読み出しに関し、本例ではコー
ド進行ファイルのコードをすべて読み出し、読み出した
すべてのコードの構成音をコード構成音のファイルから
取り出している(もちろん、第26図の26−3以降では進
行中のコードの構成音に対して転回を行う)。
すなわち、第28図に示すフローがコード構成音の一括読
み出しである(第26図の26−1の詳細)。
第28図のコード構成音の読み出しフローにおいて、28−
1から28−4までの処理は、コード進行メモリ3(第27
図参照)からコードナンバーデータ(コードネーム)を
順次、読み出しているところである。28−2はiの値で
示されるコード進行メモリ3のアドレスの内容、すなわ
ちi番目のコードネームをレジスタCNiに設定すること
を表わす。28−3のEOFは最後のコードネームの次のア
ドレスに格納されている終了コードであり、終了コード
を読んだところでコードネームの読み出しは完了する。
第28図の28−5から28−12までの処理は、読み出した各
コードネームからコード構成音メモリ2を参照し、各コ
ードネームのコード構成音の音高データを読み出してい
るところである。28−7のj=(CNi−1)×4+1は
各コードの読み出し開始アドレスの計算であり、28−8
から28−10は、その開始アドレスから4つ分の音高デー
タを読み出し、レジスタKDijに設定しているところであ
る。
以下の説明では、KDi1、KDi2、KDi3、KDi4の代りに、単
にKD1、KD2、KD3、KD4ということにする。KD1は和声音
の一番低い音、KD2は低い和声音、KD3は次に低い和声
音、KD4は一番高い和声音のレジスタとして用いられ
る。いまの段階では、KD1、KD2、KD3、KD4には、(i番
目の小節における)コード構成音の音高が基本形の形式
で、つまり、コード構成音メモリ2の通りに入っている
わけである。例えば、第9図の楽譜の第3小節目のコー
ドはG7であり、これに対するKD1〜KD4は、KD1=3、KD2
=6、KD3=8、KD4=12(レ、ファ、ソ、シ)である。
★音階の重み変更★ 後述するように、分散和音部や非和声音付加部のプロセ
スでメロディノートの候補が得られると、その候補の音
高が有効な音高(使用することのできる音高)かどうか
チェックされる。このようなチェックの基礎となる情報
は音階(ノートスケール)である。
本実施例では第1図の音階の重みデータメモリ5に、重
み付けられたノートスケールのセットが記憶されてい
る。その一例を第29図に示す。ここでは、4種類のノー
トスケールのデータが例示されている。ヨナ抜き短音階
とヨナ抜き長音階と沖縄音階と長音階(欧)である。例
えば、長音階(欧)のノートスケールには、ド、レ、
ミ、ファ、ソ、ラ、シの音高には75の値が付けられてお
り、その他の音高には25の値(重み)が付けられてい
る。各音高に割り当てられた重みはその音高が使用され
る可能性の尺度を表わしている。メモリの用語でいえ
ば、この長音階(欧)のスケールデータは、音階の重み
データメモリ5の36〜47番地に格納されており、第30A
図のフローにおけるデータ読み出し30A−1において、
この長音階(欧)のデータを読み出したときには、配列
{SCLi}の1番目のレジスタすなわちSCL1に36番地のデ
ータ、すなわちドの重み75がセットされ、同様にSCL2に
は37番地のドのシャープの重み25がセットされ、以下、
SCL3=75、SCL4=25、SCL5=75、SCL6=75、SCL7=25、
SCL8=75、SCL9=25、SCL10=75、SCL11=25、SCL12=7
5となる。
第30A図のデータ読み出し30A−1の詳細を第30B図に例
示する。ユーザは入力装置1により音階の種類を入力す
る(30B−1)。この入力された情報をもとにCPU9は音
階の重みデータメモリ5上における指定音階データの開
始アドレスを計算し(30B−2)、この開始アドレスに
続く12個のアドレスのそれぞれのデータを配列{SCLi}
に書き込む。
第30A図の30A−2に示すPC1、14はパラメータC演算部か
ら与えられた根音のシフトの有無を示すパラメータであ
り、PC1、14>0が成立するときは、30A−3以降の根音
シフトのルーチンに進むが、不成立のときはなにもせ
ず、このフローを抜け、第31図のフローに進む(第30A
図と第31図を合わせたフローが第26図の26−2の詳細で
ある)。
第30A図の30A−3以降は根音シフトのためのフローであ
る。30A−3では現在のコードネーム(CNi)に対する根
音データを根音データメモリ4より読み出している。読
み出した根音データRが1のときは音階の根音(基音ま
たはトニック)とコードの根音とが一致しているので、
根音シフトは不要である。一方、コードの根音と音階の
根音が不一致のときはRは1より大きな値、つまり1に
不一致の分の音高差を加えた値を示す。例えばコードの
根音がGで音階の根音がC(第29図に示すスケールデー
タはいずれの音階の根音(基音)もCであるように記述
されている)のときはR=7となる。この場合、30A−
5から30A−13までの根音シフトの処理が実行される。
上記の例(GとC)でいえば、SCL1にあった根音の重み
が、Gの位置を示すSCL8に移され、同様に、SCL2→SCL
9、……SCL5→SCL12、SCL6→SCL1、SCL7→SCL2、……SC
L12→SCL8に移される。ここでの根音シフトの機能は、
例えば、ジャズのモード(旋法)などに適用できる。
なお、第9図の動作例の場合は、いずれの小節も長音階
(欧)であり、また、PC1、14はゼロであり、根音シフト
はなされない。
説明の便宜上、以下の説明では根音シフトはなかったも
のとする。すなわち、第30A図のフローによる音階の重
み変更はなされず、第31図のフローに入る時点で、{SC
Li}には音階の重みデータメモリ5上の所定の音階デー
タのままの値が入っているとする。
第31図は根音シフトとは別の意味の重み変更を行うフロ
ーである。ここで、再び第29図を参照すると、図示の各
音階は、一番高い値(重み)は75であり、一番低い値は
25である。中間値として50を含む音階もある。この最高
値75が付けられた音を「音階音」と呼ぶことにする。例
えば、長音階(欧)は、ド、レ、ミ、ファ、ソ、ラ、シ
のダイアトニックスケール上の音に75点が付いており、
その他は25点の低い値になっている。一般に、西洋の長
音階は、ド、レ、ミ、ファ、ソ、ラ、シであり、この事
実をシミュレートしたのが第29図の(4)に示すスケー
ルデータである。
上の説明から第31図のフローの意味は明らかであろう。
すなわち、第31図の音階の重み変更処理は、「音階音」
であって、かつコード構成音でもある音高については、
100点の重みをつけ、単なる「音階音」には75点のまま
にしておくというものである。31−7の((KDK−1)M
OD 12)+1の計算は、下からk番目のコード構成音
が、音階(選択したノートスケール)の何番目の音であ
るか)を求める処理であり、その番号の音の重み(SCL
a1)が70以上(すなわち音階音であることを示す)なら
ばその重みを100に増やしている(31−8、31−9)。
なお、31−1〜31−5までは新しい和音のための初期化
処理であり、前の和音により100の値になっていた音階
重みレジスタSCLKを音階音の重みである75に戻してい
る。
要するに、第30A図のフローの方は、音階の基準となる
音の高さのシフト(配列{SCLi}のサイクリックシフ
ト)であるのに対し、第31図の方はコード構成音になっ
た音階音の重みの格上げである。
★最適転回★ 一例として、ドミソドのメロディと最良に連結できるF
の分散和音を考えてみよう。
の連結の場合、小節線の前後のドとファのつながり方が
不自然である(曲にもよるが)。最も自然なつながり
は、|ドミソド|ドファラド|であろう。
本実施例では、このような音型同士の最適連結のため
に、最適転回の機能が設けられている。
すなわち、第26図に示すように、PC1、12>0が成立する
ときには最適転回数が算出されるようになっている(26
−3、26−4)。
この最適転回数算出の詳細なフローを第32図に例示す
る。同図において、PC1、10はパラメータ(演算部より渡
された最適転回数の上乗せ分)である(32−18、32−19
参照)。PC1、11は同じくパラメータC演算部より送られ
てきた最適転回数の上限である(32−22、32−23)。LL
1は前小節の最初に現われる和声音の位置情報(下から
何番目の和声音かを示す情報)、LL2は前小節の2番目
に現われる和声音の位置情報である(32−12、14参
照)。PC1、13は音型を上下逆転するか否かのパラメータ
である。また、KDiは今回の小節における和声構成音の
下からi番目の音高であり、コード構成音メモリ2から
読み出した通りの転回前の音高を示している。
第32図の1列目(32−1〜32−11)で、前小節の最後の
音(休符でない最後の音)と今回の小節のコードを構成
する音(転回前の構成音)のうちでどれか一番近いかを
調べている。ただし、同等のものが2つあるときは上側
の音を優先している。この結果、前小節の最後の音に最
も近いコード構成音が下から何番目の構成者であるかが
レジスタa2にセットされる。
第32図の2列目の32−12〜32−17では、前小節の最初の
和声音(ここでは休符は含まれない)の位置情報と、今
回の小節の音型の逆転の有無に関する情報PC1、13とか
ら、今回の小節の最初の和声音の位置情報a1を求め、こ
の情報a1(コード転回後における位置情報)と、コード
転回前における最適な位置情報a2とから、転回すべき数
a6を求めている。33−18〜32−24は、最適転回数に上乗
せ分(PC1、10)がある場合や、求めた最適転回数(a6
が負のときや、最適転回数の上限(PC1、11)を超えてい
る場合に、最適転回数を補正しているところである。最
終的に得られた最適転回数a6がPC1、7に入れられる。す
なわち、パラメータ演算部が直接、生成した転回パラメ
ータPC1、7の値が、ここで更新されるわけである。
★コード構成音の転回★ 第33図に第26図の26−5に示すコード構成音の転回の詳
細なフローを例示する。
コード構成音の転回機能は生成するメロディの音域を時
間の経過に従って(本例では小節単位で)変更、調整を
することであり、これにより、曲の盛り上りをコントロ
ールできる。
第33図のフローでは、例えば、 なら、1回の転回で 2回の転回で となり、レファソシなら、1回の転回で 2回の転回で となるようにしている。
(Cmaj)のように両端がオクターブ関係になるコード
と、レファソシ(G7)のように両端がオクターブ関係に
ならないコードとでは、転回の論理が異なる。すなわ
ち、転回前のコードの音高の並びを、KD1(旧)、KD
2(旧)、KD3(旧)、KD4(旧)(低い順)で表わす
と、オクターブ関係にならないコードに対しては、転回
後の並びKD1(新)、KD2(新)、KD3(新)、KD4(新)
を、 KD1(新)=KD2(旧)……(ファ) KD2(新)=KD3(旧)……(ソ) KD3(新)=KD4(旧)……(シ) (M1)KD4(新)=KD1(旧)より にし、オクターブ関係になるコードに対しては、 KD1(新)=KD2(旧)……(ミ) KD2(新)=KD3(旧)……(ソ) KD3(新)=KD4(旧)……(ド) ここまでは同じだが、 (M2)KD4(新)=KD2(旧)より にする必要がある。
ポオクターブ関係かどうかは33−3で見ており、(M1)
と(M2)の区別を33−4と35−5で行っており、33−6
〜33−10まではシフト、33−11で(M1)と(M2)の区別
の仕上げである。第33図のPC1、7は転回を何回実行する
かを示すパラメータであり、パラメータC演算部から直
接与えられた値か、最適転回のために更新された値かを
とる。
★分散和音の音高列発生★ 第26図の26−1から26−5のところまでで分散和音の音
高列発生のための下準備完了である。例えば、これから
発生させる分散和音の音域が決められており、この音域
の下の方から、4つのコード構成音の音高が処理26−5
を通してKD1、KD2、KD3、KD4にセットされている、この
音域は、パラメータC演算部より直接与えられたPC1、7
か、音型の最適連結のために実行される最適転回数算出
26−4を介して間接的に与えられたPC1、7により、制御
されている。さらに、処理26−2を通して、今回のコー
ド構成音には通常の「音階音」より高い重みが付けられ
ている。
以上の下準備の後、26−6から26−42のところで分散和
音の音高列を具体的に発生している。理解を容易にする
ため、ここでの処理の簡略化フローを第35図に示す。こ
の処理のなかには、いくつかの特徴が含まれている。ま
ず、パラメータC演算部が発生するPCのなかには音型を
維持すべきか否かの情報(PC1、3)があり、維持すべき
ときには、どこから(PC1、4)からどこまで(PC1、3)の
範囲で音型を維持すべきかの範囲情報も与えられる。こ
れに対し分散和音の音高列生成部はその範囲で音型の維
持を実行する。さらに、音型を逆転すべき指示のあると
き((PC1、13>0のとき)は、音型{LLi}を逆転する
(前小節の音型に対して)。例えば、前の小節が上行の
パターンであれば、下行のパターンをもつ{LLi}を発
生する。
音型の維持を最初から計画しない場合、パラメータC演
算部は小節の頭の音を前小節の最終音から決定する旨の
指示情報(PC1、5>0)を与えることができる(そうし
なくてもよいが)。これに対し、分散和音の音高列生成
部は小節の先頭の音を前音に対しなめらかに連結する
(この手段は、コードの最適転回による音のなめらかな
連結(音型の最適連結)の代りとして機能し得る)。も
ちろん、小節間のなめらかな連結が必要でないときは、
パラメータC演算部は関係するパラメータCにそれを意
味する値をつけて分散和音の音高列生成部に渡す。
さらに、パラメータC演算部は分散和音の跳躍進行を制
御するパラメータ(PC1、9)を発行する。これに対し、
分散和音の音高列生成部では、PC1、9がゼロのときには
跳躍の禁止であると解読し、1のときには1回だけ跳躍
可能と解釈し、2のときには連続の跳躍進行は不可と解
釈し、3以上のときは跳躍進行の制限なしと解釈する。
音高列生成部はPC1、9による指示を守るため、跳躍の有
無を検査し、確認のためにフラグを使用する。
パラメータC演算部は乱数による分散和音の生成を許可
することもある(音型を維持しない場合など)。ただ
し、完全にランダムな分散和音がつくられないようにい
くつかの制約も与える(例えば、跳躍の上限PC1、2、同
音進行の可否PC1、6)。これに対し、分散和音の音高列
生成部はこの決められた制約を満たす音高列、つまりPC
によりコントロールされた音高列を生成する。
さらに、分散和音の音高列生成部は分散和音の候補を得
たときには、その音が有効な音かどうかを検査するため
にノートスケールデータ{SCLi}を参照して、その音の
重みを取り出す。パラメータC演算部からは有効音高の
しきい値のパラメータ(PC1、1)が発行されており、取
り出した重みがこのしきい値以上であるとき、その音は
有効な音、つまり分散音のメロディノートとして採択さ
れる。
目標分散和音数(PC演算部より与えられるPCの値)の数
だけ、音高列を生成することにより、分散和音の音高列
生成部の仕事は完了する。
以上の説明からもわかるように、パラメータC演算部は
分散和音の発生のために、種々のパラメータCに計画し
た値をつけて分散和音の音高列生成部に引き渡す。音高
列生成部側では、パラメータC演算部より渡された各種
のパラメータCを「解読」し、解読結果に従って分散和
音を発生する。分散和音の音高列生成部は、計画された
パラメータCに沿う音高列の生成のためのルールをもっ
ている(同様の関係が、パラメータC演算部とその他の
メロディ生成実行部との間にも存在する)。
第26図の26−6から26−42において、iは音符番号、fl
とf1bは跳躍進行を制御するためのフラグ、NFは、26−3
6でSLCa1<PC1、1(無効な音高)であったことを示すた
めのフラグである。PC1、9=2は跳躍の連続禁止を意味
する(26−8参照)。fl=flbは、前回は跳躍でなかっ
たことを示す(26−38、26−39参照)。26−16から26−
28はランダマイズによるLLiの決定処理である。上記の
フラグNFはこのランダマイズ処理を含む無限ループ動作
を避ける意味も有している(36−37、26−19、26−23、
26−27参照)。また、跳躍の制御パラメータPC1、9の各
種が示す指示内容よりも音高の有効/無効チェック(26
−36)、つまり、重みコントロールパラメータPC1、1
よる制限の方を優先させている(26−38参照)。これ
は、4つのコード構成音{KDi}が1つ置きに音階の重
みによる制限を受けるような場合(PC1、1より低い場
合)、跳躍進行の制限(PC1、9)と矛盾することを考慮
したものである。26−15の前の音より決定の処理の詳細
は第34図に示す通りである。すなわち、コード構成音
{KDk}のうちで、有効な音高であって(36−6のチェ
ックが真)、前音MEDi-1との差が一番少ない音(36−
3、34−5、34−7、34−8参照)が、コード構成音の
下から何番目の和声音であるかがLLi(実際にはLL1)に
セットされる。
以上の説明と、第26図の26−6〜26−42のフロー自体の
明白な記述から、分散和音の音長列の具体的発生につい
ての動作は明らかである。よって、これ以上の説明は省
略する。
★分散和音の音長列発生★ 本実施例では、メロディの音長列の生成プロセスは、メ
ロディの音高列の生成プロセスとは基本的に独立のプロ
セスで実行される。
より一般化していえば、音符の数と、それらの音符の全
体の長さ(本例では1小節の長さ)が与えられれば、何
らかの音長列生成規則により、その音符の数をもつ音長
列を生成することができる。
本例の場合、それぞれの小節の分散和音の数はパラメー
タC演算部において計画され、発行される(第5図のPC
の初期値)。
また、上述したように、モチーフの分散和音の音長パタ
ーン形成(第15図)のところで、モチーフに含まれる非
和声音を除去し、その音長を和声音に吸収させることに
より、和声音のみの音長列を形成、抽出している。この
音長列を、モチーフ分散和音パターンと呼ぶことにす
る。
パラメータC演算部が計画する分散和音の数は曲の進行
に依存する。したがって、あるメロディ小節の分散和音
の数は、モチーフ小節の分散和音の数と等しいか、モチ
ーフの分散和音数より多いか、少ないかのいずれかであ
る。
メロディ小節の分散の分散和音数とモチーフ小節の分散
和音数が等しい場合、どのような分散和音の音長列がそ
のメロディ小節の分散和音パターンとして好ましいであ
ろうか。
本実施例では、数が一致する場合のメロディの分散和音
パターンとして、モチーフ分散和音パターンを使用して
いる。これは、モチーフのリズム的特徴をメロディに強
力に反映させるためである。もちろん、所望であれば、
モチーフの分散和音パターンを修飾もしくは変形したパ
ターンをメロディの分散和音をパターンとしてもよい
(その実現手段の一例は、別の項で説明する)。本実施
例では、モチーフのリズム的特徴を忠実に維持する音長
列について配慮しているのである。
次に、メロディ小節の分散和音数とモチーフ小節の分散
和音数が不一致の場合が問題である。
これに対し、本実施例では、最小回数の音長分割または
音長結合によりメロディ小節の分散和音パターンを作成
している。自由度よりも一貫性を重視したアプローチで
ある。すなわち、最小回数の分割、結合操作により、初
期パターンから最も変化の度合の少ないパターン(モチ
ーフ分散和音パターンを初期パターンとすればモチーフ
分散和音パターンに最も近いパターン)が得られる。さ
らに、本実施例では、モチーフ分散和音パターンを得る
ときに使用したパルススケール(第16図参照)と同一の
パルススケールにより音長の分割、結合を実行してい
る。これにより、パルススケールのもつ特徴が生み出さ
れていくことになるが、不規則的に音長パターンが変化
していくのではなく、パルススケールと関係するリズム
の一貫性が保たれた形でパターンが変化する。要する
に、よくコントロールされた音長パターン変換が実行さ
れるわけである。
分散和音の音長列の発生は第26図の26−44で行っている
(ほかの時点で行ってもよいが)。この処理の詳細を第
36図から第41図に例示する。
第36図において、iは小節内音符番号、RHiはモチーフ
のi番目の和声音の長さ、MERiは生成途中のメロディの
i番目の音長(ここではi番目の和声音の音長を意味す
る)、PCは現在の小節に割り当てられた分散和音数(パ
ラメータ演算部にて計画された分散和音数、PA1、3はモ
チーフ小節に含まれる分散和音数、Sは両分散和音数の
差を示す。36−1〜36−4のところで、モチーフ分散和
音パターン{RHi}をメロディ分散和音パターン{MER
i}の初期パターンとしている。S=0,すなわち数が一
致すれば、このモチーフ分散和音パターンがメロディの
分散和音パターンとなり、仕事は完了する。
S>0のとき、すなわち、モチーフの分散和音数よりメ
ロディの分散和音数が少ないときは、最適結合処理(第
37図)が実行され、S<0のとき、すなわち、モチーフ
の分散和音数の方が少ないときは最適分割処理(第38
図)が実行される。
音符の最適結合では、 (イ)最小回数だけ音長を結合し、音符数が計画値PCに
達したら処理完了する。
(ロ)パルススケール(第16図)上の低い値をもつパル
スポイントで開始する音符をその前の音符と優先的に結
合する。
という論理を採用している。
例えば、第16図でいって、位置0〜15のうち、1、3、
5、7、9、11、13、15の位置(重みが1の位置)で次
の音符が開始しているかどうかが最初に調べられ、その
ような次の音符があるときは、その音符を1つ前の音符
に結合する(あるかぎり結合する)。目標数PCに達しな
ければ、次に、重みが2の位置で開始する音符があるか
どうかをチェックし、あれば、その音符を前の音符(現
在着目している音符)と結合する。なおも目標数PCに達
しなければ重みが3の位置で開始する音符の有無を検査
し、その音符をその前の音符と音長結合する。以下、同
様なので説明を省略する。要するに、軽い重みをもつパ
ルスポイントで開始する音符を優先的に、前の音符と結
合するという論理である。第37図中、SUMは次の音符の
開始位置(小節線からその音符までの長さ)を表わす。
VTは配列{MERj}の長さ、すなわち現在の分散和音数を
表わす(正確には、現在の分散和音数マイナス1であ
り、次に達成すべき分散和音数)。37−9でi>4が成
立するのは、全音符の場合である。37−11が次の音符の
音長MERj+1と現在の音符の音長MERjとの結合処理であ
る。37−12から37−16は配列{MERj}のシフトである。
37−5の意味は、例えば、j=1のときは、次の音符が
第16図のパルススケール上の重み1で開始するかどうか
の判別であり、成立すれば37−10以下の音長結合の実行
ルーチンに進む。j=2のときは次の音符が重み2の位
置(パルスポイント)で開始するかどうかのチェックと
なり、j=3のときは次の音符が重み3の位置で開始す
るかどうかのチェック、j=4のときは次の音符が重み
4の位置で開始するかどうかのチェックである。分散和
音数が目標数PCに達するとS=0が成立し、完了である
(37−17)。
一方、音符の最適分割では、 (イ)最小回数だけ音長を分割し、音符数が計画値PCに
達したら処理完了する。
(ロ)重いパルスポイントをクロスする音符をそのパル
スポイントを境として優先的に分割する。
という論理を採用している。
第38図及び第39〜第41図のフローに則していえば、ま
ず、パルススケール(第16図)上の重み3以上をもつパ
ルスポイントをクロスする音符をサーチし、見つけたた
びに、そのパルスポイントを分割線として2個の音符を
分割、生成する。上記のパルスポイントをクロスする音
符が1つもないとき、あるいは分割の結果、上記パルス
ポイントをクロスする音符が1つもなくなったがなおも
計画数PCに達しないときは、重み2をもつパルスポイン
トをクロスする音符をサーチし、同様のしかたで分割を
実行する。
第39図のチェックのルーチンにおいて、問題のパルスポ
イントをクロスする音符をサーチしている。見つかった
場合、その音符番号がフラグflに書き留められ、その音
符の開始位置情報がフラグffに記入される(39−8から
39−10参照)。39−1でflをゼロにリセットしているの
で、サーチの結果、問題のパルスポイントをまたぐ音符
が存在しないときは、メインフロー(第38図)の38−4
でfl=0が成立し、より低い重みをもつパルスポイント
をまたぐ音符のチェックに移行する(なお、図示のメイ
ンフローではj=2(重み2のパルスポイントのとこ
ろ)までしか調べていないが、厳密にいえば、目標の分
散和音数PCの達成が保証されるまで行う必要がある。パ
ラメータC演算部を極端に多い分散和音数を計画してい
る場合を考慮して。このためのフローの変形は非常に容
易である。)。
チェック(第39図)の結果、問題のパルスポイントをま
たぐ音符が見つかった場合は、音長配列{MERj}をシフ
トし、一音符分長くする(第40図)。そして、第41図に
示すように分割を実行する。すなわち、分割対象である
fl番目の音符を、その音符がクロスしているパルスポイ
ントを境として分割する。
以上の説明と第36図から41図のフロー自体の明確な記述
から音長決定、すなわち分散和音の音長列の形成に関す
るフローの動作は明らかであるのでこれ以上の説明は省
略する。
ここまで説明したところで、分散和音の音高列と音長列
が完成している。第9図(イ)は生成例である。
非和声音の付加 分散和音の発生完了後、非和声音の付加が行われる。
非和声音の付加に関しては、「付加すべきか否か」、付
加するとして「どこに」、「どの高さ」で「どの長さ」
の非和声音を付けたらよいか、といった問題がある。
上述したように、本実施例にあっては、パラメータC演
算部がメロディを計画する。したがって、非和声音に関
するパラメータもこのパラメータC演算部において、曲
風、モチーフの特徴抽出結果、曲の進行などを考慮して
作成される。作成された非和声音関係のパラメータは非
和声音の付加の実行部に渡される。非和声音付加実行部
は、送られてきたパラメータを解読してその計画に沿う
非和声音付加を行う論理ないし規則を備えている。この
規則とは、上述したような非和声音の付加に関する問題
を解決するためのルールのことである。本実施例におけ
る非和声音付加のルールは、パラメータCの値(デー
タ)によって、付加の結果を多様に変化させる。この意
味で、データ駆動型のルールである。しかし、パラメー
タCがどのような値であっても、「違法な」非和声音の
付加は決して行わない。つまり、データ(パラメータ)
はルールを破壊する力は持っていない。
図示の例では、非和声音の付加は種類別に行われる。倚
音付加(第42図)と経過音付加(第43図)と刺しゅう音
付加(第44図)と逸音付加(第45図)である。ここで
も、「倚音」、「経過音」、「刺しゅう音」、「逸音」
の名称は便宜上のものである。例えば倚音付加が行われ
るのは、パラメータCの制約のもとで所定の条件が満足
されたときである。換言すれば、各非和声音不下部は推
論を行って非和声音を付加しているといえる。
つまり、与えられた状況は、和声音のみのパターン(分
散和音のみのメロディ)であり、付加実行部は、「隠さ
れている」非和声音を、和声音のみのパターンを手がか
りにして、かつパラメータC演算部からの計画に沿って
見つけ出していく。このような推論は、非和声音を含む
メロディから、非和声音を抽出して除去する場合の推論
と基本的に逆の関係にある(前者が、A→A+Bのタイ
プとすれば、後者はA+B→Aのタイプである)。
これから説明する各非和声音の付加のルールは例示にす
ぎず、当業者は本発明の説示するところに従い、その他
のルールを容易に考案することができる。例えば、非和
声音の付加が確定することにより、音符数が増加するこ
とになる(ただし、本例では逸音は例外的に扱ってい
る)。これに対し、以下の非和声音の付加のフローで
は、付加すべき非和声音の前または後の音符(和声音)
の音長を削り、削りとった分を非和声音の音長とするこ
とにより、増加した音符数の音長列を形成している。こ
の代りに、上述したパルススケールによる分割が可能で
ある。
各非和声音の付加のフロー説明を読む前に、第9図を見
ることが理解の助けになる。
★倚音付加★ 第42図に倚音付加のフローチャートを示す。このフロー
の場合、倚音が付加されるためには次の条件が成立しな
ければならない。
(i)パラメータC演算部からの倚音の重みのパラメー
タPC2、2が倚音の付加を許可していること(PC2、2>0で
あること、42−1)。
(ii)倚音の次の音符が休符でないこと(42−5)。
(iii)次の音符が、パラメータPC2、7が示している最短
許容音長より長いこと(42−6)。
42−2から42−4は倚音が付加される音符番号を決定し
ているところであり、その情報はレジスタa1にセットさ
れる。42−7〜42−11はメロディの音高列{MEDi}を音
長列{MERi}の配列シフトである(倚音データのための
場所の確保)。42−12から42−14は倚音を上に付けるか
(a2=1)、下に付けるか(a2=−1)を指示情報PC
2、4に従って決めているところである。42−15から42−2
1は倚音の音高決定処理である。ここでは、次の音符
(倚音の次の音)の音高より4度(K=5)上または下
の音から始め、半音ずつ音程を狭くしていって、最後に
見つかった有効な音高(SCLa4>PC2、1が成立する音高)
を倚音の音高としてMEDa1にセットしている。42−22か
ら42−16は次の音符から倚音の取り分の長さを決めてい
るところである。
42−27で次の音符の音長を倚音の取り分だけ減らしてME
Ra1+1にセットし、42−28倚音の音長をMERa1にセット
し、最後の42−29で音等数のカウンタPCをインクリメン
トしている。
第9図(ロ)に倚音付加の動作例を示す。
★経過音付加★ 第43図は経過音付加のフローチャートである。本例で
は、跳躍進行の後、順次進行が生じやすいように工夫が
こらされている(43−2〜43−16、43−27、43−30参
照)。r1の値は経過音が付加されやすい尺度を示す。43
−2はPC3、2に基づくr1のランダム算出である。前が跳
躍進行であるときには(a1≧PC3、4が成立するときに
は)、r1に強制的に高い値(ここでは5)を入れてい
る。
図示のフローにおいて、経過音が付加されるための必要
条件は次の通りである。
(i)経過音の前後における音の音高差がある程度以上
あること(43−7、ここでは全音より広いこと)。
(ii)前と後のいずれも休符でないこと(43−7、43−
8)。
(iii)前と後の音のいずれもある程度以上の音長をも
っていること(43−32、43−3)。
さらにその他の条件も必要であるが、こちら条件は、43
−15から43−24で示す経過音の候補のサーチないしチェ
ックの結果に依存する。その前の43−10〜43−14はサー
チのための下準備であり、例えば、前音より後音の方が
高ければ(上方進行なら)、前音より半音上の音を経過
音の最初の候補にし、下行進行なら前音より半音下の音
を最初の経過音候補としている。サーチのところで、1
回ループを回るたびに候補が半音ずつシフトされる(43
−24)。43−10〜43−14のサーチにおいて、SUMには有
効音高をもつ候補の数がカウントされる。ただし、前音
から後音までの間に和声音になっている音高が含まれる
場合にはSUMに特別の値を入れる(経過音付加を禁止す
るためである)。配列{bSUM}には有効音高検査(43−
15、43−16)に合格した各音高データが書き込まれる。
サーチは、後音と半音差になるまでくり返される。
ここで、経過音の付加がサーチの結果、禁止される条件
を例示する(不成立の条件)。
(イ)サーチにおいて、前音と後音との間の半音階スケ
ール上に、有効な音高が1つも見つからなかったこと。
つまり、前音から後音までのクロマチックスケール上に
有効な音高が存在しないこと(43−25参照)。
(ロ)前音から後音までのクロマチックスケール上に和
声音が含まれること(43−21、43−22、43−25参照)。
(ハ)前音から後音までのクロマチックスケール上に多
すぎる数(ここでは3つ以上)の有効な音高が含まれる
こと(43−16、43−29より今回はスキップを示すへ抜
ける)。
肯定的条件、すなわち、経過音が付加されるための残り
の条件は、43−25から43−31に記述されている。すなわ
ち、前音から後音までのクロマチックスケール上に、 (V)和声音が含まれていないこと。
(VI)1つか2つの有効音高存在すること。そして、 (a)1つのときには、付加のしやすさの尺度がある値
(ここではr1>1)より大きいこと、一方 (b)2つのときには、付加のしやすさの尺度がある値
(ここでr1>2)より大きいこと。
1つのときにはa2=1となり、前音と後音との間に挿入
する非和声音(経過音)が1つであることが示され、2
つのときにはa2=2となり、前音と後音との間に挿入す
る経過音が2つであることが確定する。
第3列目の43−34から43−39は音長の取り分の決定であ
る。
第3列目の43−40から43−43までは、経過音挿入のため
の配列{MEDi}、{MERi}のシフトである。
a2=1(付加数1)のときは、43−44で、経過音の音符
のためのレジスタMEDi+1、MERi+1に、すでに確定してい
る音高データと音長データを入れ、前の音符の音長レジ
スタMERiを書き換える。つまり、1つのときの経過音の
音長は前音の長さの一部をもらい受けることによって得
ている。43−44の後、43−45が不成立で、43−47(音符
数カウンタの処理等)に進む。a2=2(付加数2)のと
きは、43−44で1番目の経過音の音長、音高をセットし
た後、43−46で2番目の経過音の音長、音高をセットす
る。2番目の経過音の音長は後音からもらい受ける。
★刺しゅう音付加★ 第44図に刺しゅう音の付加のフローチャートを示す。前
の経過音付加のところで念入りにフロー(第43図)の説
明をしたので、フロー中の記号の意味等は例外的なもの
を除いて説明不要であろう。ここでは、簡単に説明す
る。
刺しゅう音が付加され得るためには、前音と後音の高さ
が同じでなければならない(44−2〜44−4)。また、
刺しゅう音の音長は前音からもらい受けることにしてあ
る(44−6〜44−8、44−31、44−32)ので、前音はあ
る程度以上の長さがなければならない(44−5)。
パラメータC演算部は刺しゅう音の付加に対し、PC4、4
というパラメータを送り出している。PC4、4がゼロのと
きは、刺しゅう音の付加の禁止を意味し、1のときは1
回だけの付加を許し、2のときは、複数の付加は許すも
のの連続して付加することは禁止する。3以上であれば
自由に付加できる。このようなパラメータC演算部から
の要求を満たすため、44−9から44−14に示す処理が用
意されている。
さらに、パラメータC演算部は刺しゅう音を上に付ける
か下に付けるかの指示をPC4、2の値によって発行する。
これに対する措置は44−21から43−23で行っている。
44−16から44−20は刺しゅう音付加のための配列{MED
i}、{MERi}シフトである。また、44−24から44−30
は刺しゅう音の音高決定処理である(上述した42−15か
ら42−21と同様の処理)。
★逸音付加★ 第45図に逸音付加のフローチャートを示す。本例のフロ
ーでは、逸音の場合は、音符数が変化しないルールを採
用しており、連続する3つの音の音程進行に着目してい
る。また、逸音は小節の最後の音ということにしてあ
る。したがって前小節の最後から2番目の音と次小節の
先頭の音との音高差に基づいて、適合する逸音の音高を
求め、その音高ですでに生成されている小節の最後の音
を変更している(音高の差替)。
パラメータC演算部より逸音付加の禁止が指示されてい
るとき(PC3、2≦0のとき)はこの指示に従う(45−
1)。また、逸音付加は3つの連続音(休符でない音)
に対する処理であるので、前、後の音符が休符のときに
は付加は行わない(45−2、45−3)。
3つの音の音程進行の違いから、逸音は3つのタイプに
分かれる。フローチャートの下方に図示してある。
(i)刺しゅう型は、前小節の最後から2番目の音MED
-1と次小節の先頭のMED1とが同音のときに発生する。
(ii)経過型はMED-1とMED1との間のクロマチックスケ
ール上に有効音高(音高有効検査45−11、45−12で合格
した音)がある場合、特に図示のフローでは1つのみ存
在するときに発生する。(iii)倚音型はMED-1からMED1
までを半音きざみで進めてみた場合において、有効音高
がまったく存在しないときに発生する。
2つの音MED-1、MED1の間に有効音高がいくつあるかは4
5−4から45−15、(特に45−9〜45−15)で検査して
いる。flに見つかった有効音高の数が計数される。有効
音高数が2以上のときは付加しない(45−16)。
上記の3つの型のいずれも、上と下の型がある。例え
ば、刺しゅう型の場合には、逸音を前後の同音MED-1、M
ED1より高く(上に)するか低く(下に)するかで2つ
に分かれる。これに関連する処理は45−17から45−19で
ある(PC5、3の値により決まる)。経過型の場合は、MED
-1からMED1への音程進行が上向か下向かで2つに分かれ
る。倚音型の場合も同様である。ただし、倚音型の場合
は、MED-1からMED1までのクロマチックスケール上に有
効な音(使用できる音)が存在しないので、エスケープ
させている。すなわち、MED-1からMED1への進行が上行
すなわち なら、両方の音より高い音が選ばれ、MED-1からMED1
の進行が下行すなわち なら両方の音より低い音が選ばれるようにしている(45
−4〜45−7と45−23とから、 のときはa7=1、 のときはa7=−1である。さらに45−24以降で、(MED1
+5×a7)で示す音高から半音きざみで有効音高をサー
チしている。)。
この45−24から45−30までは第44図の44−24〜44−30と
同様の処理である。ここでは、次小節の先頭の音MED1
り4度上か4度下の音高から始めて(上か下かはa7で決
まる)、半音ずつ先頭の音高MED1へ近づけていきながら
有効音を捜し出す。最後に見つかった有効音、すなわ
ち、次小節の先頭の音の高さに最も近い有効な音が逸音
として確定する。デクリメント方式(ある音の高さ、こ
こでは先頭の音に近づる方式)で有効音をサーチしてい
るが、インクリメント方式で有効音をサーチしてもよ
い。この場合、最初に見つけた有効な音が付加される音
として確定する(もっとも何らかの理由で、有効音が全
く存在しない状況が発生することを考慮すると、あると
ころまで離れたら、強制的にループを抜けるようにする
必要がある)。
休符の付加 第46図は休符(ブレス)の付加のフローチャートであ
る。この例では、16分休符が付加可能な場合に付加して
いる(46−2〜46−4)。46−1のPC9、1はパラメータ
C演算部より与えられた休符付加の可否のパラメータで
ある。代表的には、パラメータC演算部は楽節の最終小
節のときに、PC9、1を許可値にする。
特徴リズム生成 既に述べたように、本実施例の自動作曲機は、リズム評
価部において、モチーフにどのようなミニリズムパター
ンがどの程度、含まれているかを抽出し、特徴的リズム
パラメータの抽出部において、どのミニパターンがモチ
ーフを特徴づけるミニパターンであるかを評価してい
る。そして、この評価結果を基にしてパラメータC演算
部がメロディの各小節を特徴づけるミニパターンの尺度
(メロディリズム制御情報)を計画的に発生する。この
パラメータC演算部より与えられるメロディリズム制御
情報に従って、メロディの音長列にミニパターンを注入
する部分が特徴リズム生成部(特徴パターン組込部)で
ある。
特徴リズム生成部に必要な機能は、パラメータC演算部
より送られてくるメロディリズム制御情報が示す計画を
解読し、その計画に沿ってメロディの音長列を変更させ
得る能力である。
第47図は特徴リズム生成部が実行するフローの一例を示
している。このフローでは、メロディリズム制御情報と
して1つのパラメータPC6、1だけを使用している。これ
は、説明の便宜上であり、パラメータC演算部から複数
のメロディリズム制御用のパラメータが特徴リズム生成
部に渡されるようにしてもよく、特徴リズム生成部の方
はそれらのパラメータを解読し、解読結果に沿うリズム
生成を行うようにその機能を複合化してもよい。
第47図におけるパラメータPC6、1(47−1参照)の意味
は次の通りである。まず、PC6、1が負またはゼロのとき
はミニパターンの注入は禁止される。PC6、1が1のとき
は1回だけは注入が許される。2のときは連続の注入は
禁止される。3のときはミニパターンを自由に注入する
ことが許される。さらに、パラメータPC6、1はこれまで
説明してきたリズム関係の処理(例えば、第19図、PC
6、1など)との関係において次の意味をもっている。そ
れは、3対1の音長比をもっミニパターンと関係してい
るということである。すなわち、システマチックの意味
において、パラメータPC6、1の大きさは、メロディの小
節において3対1の音長比のミニパターンが出現する度
合を示している。したがって、第47図のフローは、PC
6、1の値に依存して、3対1の音長比をもつミニパター
ンを生成するアルゴリズムをもっている。
さらに、第47図に示す特徴リズムの生成プロセスは、メ
ロディの生成の最後のプロセスになっており、このプロ
セスに入る前に、分散和音の発生プロセス、非和声音付
加のプロセスが完了している。すなわち、分散和音の発
生プロセスにおいては、分散和音の音長列(メロディ分
散和音パターン)がモチーフから非和声音を消去したモ
チーフ分散和音パターンを基にして作成され、非和声音
付加のプロセスでは隠されている非和声音を推論して決
定し、前または後にある和声音の音長の一部を削り、そ
の削った分を非和声音の音長とする音長列の最小変更を
行っている。そして、非和声音を含むモチーフから非和
声音が省略されたモチーフ分和和音パターンを形成する
までの変換プロセスと、非和声音が省略されたメロディ
分散和声音パターンから非和声音を含むメロディを形成
するまでの変換プロセスとは、形式上、逆の推論関係に
ある。したがって、本例の特徴リズムの生成プロセスに
入る段階で、メロディの音高列についてはすでに完成し
ている。またメロディの音長列についてもほとんど完成
している場合が少なくない。したがって、この最後のプ
ロセスは慎重に行う方がよい。別のいいかたをすると、
仮に、いくつかの音符の音長をデタラメに削ったり増や
したりすることにより、3対1の音長パターンを強制的
に作成したとすると、この強力な音長パターンの形成の
ために、とんでもない音長パターンが副産物として発生
したりする可能性が高い。つまり、本来、あってはなら
ないようなリズムが生まれてくるわけである。このよう
な点に鑑み、本例の特徴リズム生成では、既に出来上っ
ている音長列がもつリズムをできるだけ損なわないよう
にしつつ、パラメータC演算部の計画に沿うミニパター
ンを注入するようにしている。ひとことでいえば、与え
られた音長列の最小変形のルールをもたせている。
より具体的に述べると、第47図の特徴リズム生成にあっ
ては、限定された条件を満足する音長対に対してのみ、
音長変換、すなわち、3対1の音長比への変換を行って
いる。
この条件は次の通りである。
(i)連続する2つの音符の音長が等しいこと(47−
9) (ii)その音長が8分以上であること(47−10) (iii)その音長が8分の整数倍であること(47−11) (iv)連続する2つの音符が(正確にはそのうちの前音
が)4の倍数(0も含む)の位置から開始していること
(47−12)。
以上の条件が成立し、かつPC6、1の値と関係する条件(P
C6、1の計画条件)が成立するときに、上記の連続する2
つの音符の音長比が3対1の音長比に変換される(47−
13〜47−19)。なお(iv)の条件にはシンコペーション
が入らないようにしたものである(それ以外に特に意味
はない)。
47−5から47−8までの処理は、PC6、1各値が示す制約
を守るまでの処理である。フラグflはPC6、1が1のとき
(1回のみ注入可のとき)と2のとき(連続注入は禁止
のとき)のために用いられる。注入の際、フラグflは0
から1になる(47−14)。PC6、1=1のときは、1回注
入されてflになった後は47−5より47−6、47−7を経
て、完了を示すにてフローを抜ける。PC6、2のとき
は、注入によりfl=1になると、その次のパスで47−7
より47−8を経、で示すように次の音処理へジャンプ
することで、fl=1の次のパスでの注入を禁止してい
る。
図示のフローは例示にすぎず、当業者は他のルールに従
って、メロディを特徴づけるミニパターンを音長列に組
み込むことができる。
ちなみに、第9図の動作例では、特徴リズムの生成動作
はNOPで終っている。
第25図に示すメロディ生成の場合は、これまで述べてき
た、分散和音の発生、非和声音の付加、休符の付加、特
徴リズムの生成の処理が小節単位で実行される。第9図
に例示するように、モチーフが1小節で、自動生成すべ
きメロディが7小節の場合、7回分これらの処理が実行
されたところで曲が完成する。
〈修正学習〉 本実施例においては、完成された曲に対して、使用者サ
イドよりはモニターを通じて自動作曲機に修正を要求す
ることができる(第2図には示さず)。以下、修正学習
について説明する。本実施例では、修正は小節別に行わ
れる。
第48図は修正学習のフローである。まず、最初に、上述
したのと同様にして、モチーフから特徴パラメータPAを
抽出する(48−1)。ここで、生成するメロディのすべ
ての小節について、パラメータCなどを発生させ、記憶
させておいてもよいが(出来上るメロディは前と同様に
なる)、記憶容量の面では、好ましくない。
どの小節を修正したいかを使用者に入力してもらう(48
−2)。これに対し、自動作曲機は内部のパラメータC
演算機能を起動して、修正要求のあった小節のパラメー
タC(PCX)をすべて演算する(48−3)。
次は客観データもしくは内部表現データ(パラメータ
C)から主観データもしくは使用者向け概念データへの
パラメータへのパラメータ変換である(48−4)。この
パラメータ変換の目的は、使用者にとって理解しやす
い、判断しやすい情報を与えることである。例えば、転
回のパラメータCPC1、7は主に盛り上がりを制御するも
のであるため、PC1、7=2であるとき、盛り上がりの度
合がこの小節では90%になっています」のように、知ら
せてあげた方が主観的に判断しやすくユーザにとって修
正の作業がしやすくなる。
パラメータ変換の結果(メッセージ)はCRT12(第1
図)などに表示させる(48−5)。
これに対し、ユーザはパラメータの種類EDBを入力し、
修正値EDC′を入力する(48−6、7)。例えば、盛り
上りを90%から50%に変更したいのであれば、ユーザ
は、修正のパラメータの種類が盛り上りであることを48
−6で入力し、修正値の50%(EDC′)を48−7で入力
するわけである。
これに対し、自動作曲機は主観パラメータの値(ED
C′)を客観パラメータの値に逆変換する(48−8)。
上の例でいえば、盛り上りを50%にする要求に対し、逆
変換を実行し、転回のパラメータPC1、7の値(EDC)を1
にする。
続いて、48−8から48−9に示すように学習データメモ
リ9に、修正内容を書き込んでいく。ここでのPは、学
習メモリ12のポインタである。ポインタPをインクリメ
ントして次々に修正データを書き込んでいるわけであ
る。
修正したい小節や、修正したいパラメータの種類、値が
なくなったところでユーザは修正完了を入力し、これに
より修正学習の処理は終了する(48−12)。
以上の修正学習はユーザの好みを生成するメロディに反
映させるように働く。このことは第49図に例示する学習
によるパラメータ変更の動作からさらに明らかになる。
すなわち、学習によるパラメータ変更のところでは、パ
ラメータC演算部により通常、生成されるパラメータC
よりも修正学習により学習したところのパラメータCを
優先させる。第49図の49−3のところは、通常のパラメ
ータCの計算である。
49−4から49−13の部分で、学習メモリ12をサーチし、
メロディ発生に使用するパラメータCを学習したもので
置き換えている。すなわち、現在の小節(iの値)と一
致する修正小節が見つけ出され(i=*Pa)、着目して
いるパラメータの種類と一致するパラメータの種類が見
つけ出される(j=*(Pa+1))と、修正データEDC
が、その小節におけるそのパラメータPCjの値になる(P
Cj=EDC)。
要するに、いったん学習メモリ12に記憶された学習デー
タは、使用者からの作曲の要求の都度、読み出され、学
習したところがパラメータCに直接的に反映され、この
パラメータCによってメロディの生成が制御されるわけ
である。したがって、作曲されたメロディは、各使用者
のみ好みを反映するところとなり、ここに学習の成果が
現われることになる。
〈実施例の特徴〉 以上の詳細な説明から本実施例に係る自動作曲機の特徴
は明白である。そのいくつかを以下に挙げる。
(イ)モチーフを評価して得たモチーフ特徴パラメータ
とコード進行情報に基づいてメロディを生成しているの
で、モチーフがもつ曲のエッセンスやセプトが曲自体に
わたって反映されるとともにコード進行に沿ってコント
ロールされ、かつ多様に変化可能なメロディがつくられ
る。
(ロ)メロディ生成手段内に、生成するメロディを制御
するためのパラメータC(メロディ特徴パラメータ、メ
ロディ制御情報)を発生する手段を設けており、進行区
間(小節)を単位として、小節別にパラメータCを決め
ている。この小節別に割り当てられたパラメータCの値
によって、それぞれの小節のメロディを発生制御してい
る。したがって、メロディの流れにおける統一性と多様
性を表現することができる。
(ハ)上記パラメータCの発生手段は、圧縮されたデー
タ(パラメータB)とモチーフ特徴パラメータを使用
し、演算によってパラメータCを発生している。したが
って、多種多様なパラメータCの値を比較的少ない記憶
容量で得ることができる。
(ニ)さらにパラメータCの発生手段(メロディ制御情
報発生手段)は楽式識別データ発生手段を含んでおり、
これにより、より高次の階層性を曲にもたせることがで
きる。
(ホ)非和声音と和声音とを区別して取り扱っているの
で、曲の流れが非常に音楽的になる。
(ヘ)モチーフはユーザから入力されるようになってお
り、そのモチーフが反映されたかたちで曲ができるの
で、ユーザは作曲への参加意識とともに作曲された曲に
対する満足感を同時に得ることができる。
(ト)モチーフの特徴のメロディへの反映に関し、モチ
ーフの特徴要素別にコントロールされるようになってお
り、作曲可能な空間がすこぶる広い。
(チ)リズム面に関しては、モチーフに含まれる特徴的
なミニパターンが抽出され、その結果に基づいて特徴ミ
ニパターンが計画的にメロディに組み込まれるようにな
っている。したがって、モチーフのリズム的な特徴を任
意の度合でメロディに反映させることができる。
(リ)さらに、分散和音の音長列の形成に関し、パルス
スケールによる最小回数の音長分割と音長結合の手段が
設けられている。パルススケールの影響によりモチーフ
にはないリズム的特徴がメロディに表われる可能性はあ
るが、その変化は一貫性があり、よくコントロールされ
た音長パターン変換を達成する。
(ヌ)メロディノートの候補の有効性に関して使用音高
制御手段が使用されている。メモリに用意される音階の
種類をはるかに超える有効ノートスケールを得ることが
できる。例えば、しきい値をコントロールすることによ
り達成可能である。
(ル)また、パラメータの設定次第により分散和音(ア
ルペジオ)作成装置になる。
(ヲ)人口知能的機能が盛り込まれており、前向き推論
や後向き推論により、モチーフの評価、分析(モチーフ
からパラメータへの変換)やパラメータからメロディへ
の変換が行われる。
(ワ)さらに、専門的な音楽知識は不要であり、わずか
なモチーフさえ想いつけば、後は自動作曲機の方でそれ
に合わせて作曲してくれる。
(カ)修正学習機能が組み込まれており、ユーザの好み
をこの機能が学習する。自動作曲機は、この学習機能が
習得した学習データを優先させて以降の作曲を行う。し
たがって、作曲された曲はユーザの好みを反映するとこ
ろとなり、ユーザはますます興味をひかれることにな
る。
[変形、展開、応用] 上記実施例は本実施例の一態様にすぎない。以下、変
形、展開、応用について説明する。
区間 まず、上記実施例では小節の長さをどの小節も同じ長さ
にしているが、可変長の小節であってもよい。これは例
えば、小節カウンタを設け、その計数値(小節番号)に
割り当てられた小節の長さを使用することによって実現
できる。
また、モチーフの小節は上記実施例では、曲の冒頭とし
て与えられることを想定してあったが、何番目の小節を
モチーフの入力小節にしてもよい。このための変形は容
易である。
また、上記実施例では、入力されるモチーフの長さは1
小節を想定してあったが、複数小節であってもよい。こ
のためには、例えば、2小節の場合には、第1小節目の
モチーフから第1のモチーフ特徴パラメータ(例えば音
型のパラメータLLi)を抽出し、第2小節目のモチーフ
から第2のモチーフ特徴パラメータを抽出し、2種類の
パラメータBの一方と第1のモチーフ特徴パラメータと
から第1のパラメータCを演算し、もう片方のパラメー
タBの第2のモチーフ特徴パラメータから第2のパラメ
ータCを演算する。そして、第1のパラメータCは例え
ば奇数番号の小節のメロディ生成を制御するために使用
し、第2のパラメータCは偶数番号の小節(モジュロ2
がゼロの小節)のメロディ生成を制御するのに使用する
(小節番号のカウンタの値を2でわれば、どちらのパラ
メータCを発生させればよいかただちに判別できる)。
ただし、楽曲によっては、例えばA、B、Aの形式をと
り、Aが8小節の楽節、Bが7小節の楽節、最後のAが
8小節の楽節、といったようなケースでは、例えば、各
楽節の値(8、7、8)=(第1楽節の小節数、第2楽
節の小節数、第3楽節の小節数)と小節番号のカウンタ
の値とを比較し、小節番号が9となり曲の冒頭から第9
小節目になったこと、つまり第2楽節の開始が検出され
た時点で、小節番号のカウンタをリセットすればよい。
要する各楽節内の奇数番目の小節で第1のパラメータC
を発生させ、偶数番目の小節で第2のパラメータCを発
生させればよい。
また、上記実施例では、1小節当りのコード数は1個
(1コード/小節)を想定してあるが、1小節当りのコ
ード数は2つ以上にすることも可能である。例えば、最
初の2拍が第1のコード(例えばC)で後の2拍が第2
のコード(例えばF)となる小節を仮定してみよう。第
1の構成例では、パラメータC発生機能(メロディ制御
情報発生部)は小節単位でパラメータCを発生する。一
方、分散和音発生機能は、第1コードの区間ではこの第
1コードに従って分散和音を発生し、第2コードの区間
ではこの第2コードに従って分散和音を発生させる。た
だしパラメータCは小節区間で使用する。残る非和声音
付加機能は小節区間単位で非和声音を付加する。第2の
構成例では、非和声音付加機能も2拍単位(コード単
位)で非和声音を付加する。その他の構成例も考えられ
る。また、所望であれば、音長修正機能を変更し、コー
ド単位のメロディの各音長合計をコードの長さ(または
それに近い長さ)に修正する機能を盛り込んでもよい。
さらに、曲風などの選択機能を付加してもよい。例えば
パラメータBの全体のデータを分類する。すなわちパラ
メータBメモリのデータ構造を分類化された構造にす
る。そして入力装置からの選択入力により、パラメータ
Bメモリより読み出すデータを決め、これらの選択され
たパラメータBによりパラメータCを発生させる。上述
したように、パラメータCはパラメータBに依存してお
り、パラメータBの値が変わればパラメータCの値も変
わり、結果として、生成される曲のメロディが変化す
る。また、コード進行と関係するコード構成音メモリ2
のデータ構造についても曲風などに基づいて分類化され
た構造にすることができる。選択されたコード構成音の
セットのなかから、コード進行メモリ上のコード進行を
示すコードネーム列に従って、各コード構成音を読み出
す。これにより、分散和音発生機能が発生する分散和音
が、別のコード構成音のセットに基づく場合とは異なっ
てくる。この結果、メロディの特徴も変化する。
音階関係(使用音高制御) 次に、メロディ音高列の生成に関与する使用音高制御機
能の変形について述べる。
実施例で述べたように、使用音高制御機能はノートスケ
ール発生手段(ノートスケール付与手段)と有効音高検
査ないし決定手段から成っている(第2図参照)。実施
例の動作を示すフローチャートによれば、ノートスケー
ル発生手段は音階の重みデータメモリ5(第29図参照)
より音階の重みデータ(重み付けられたノートスケー
ル)を読み出す手段と、読み出したノートスケールの重
みをコードの根音や、コード構成音により変更する手段
から構成されている。また、有効音高検査手段は、分散
和音の発生過程や非和声音の付加過程において中間的に
つくり出されるメロディノートの候補に対し、その候補
に割り当てたノートスケール上の重みを検査し、詳しく
いえば、その重みをパラメータC演算部(メロディ制御
情報発生部)の計画したしきい値(例えば、PC2、1)と
比較し、候補の重みがしきい値以上のときに、その候補
を有効なノートと決定するようになっている。
第29図の例では、ある音階は2種類の重みをもってお
り、ある音階は3種類の重みをもっている。また、第30
B図の音階の重みデータ(スケールデータ)の読み出し
が示すように、どのノートスケールを使用するかはユー
ザーが入力装置1より決めることができるようになって
いる。ただし、この例では、説明の便宜上、メモリより
読み出されるノートスケールはコードなどの情報とは独
立であることを想定してある。
第50A図、第50B図、第51図に示すものは、メモリから読
み出されるノートスケールがコードの種類に依存する例
である。ここではアベイラブルノートスケールの概念を
使用している。あるコードに対して使用できるアベイラ
ブルノートスケールは1以上存在する。特定のコードに
対しどのアベイラブルノートスケールを使用するかは、
ユーザーサイドより選択することも可能であるが、ここ
では自動的に行っている(第51図参照)。
詳細に述べると、第50A図と第50B図において、メモリ1
はコード進行情報を記憶するメモリであり、連続するア
ドレスに、コードタイプを表わす数値(コードナンバ
ー)が並べられている((ロ)参照)。このコードナン
バーの配列{CNi}によりコード進行が表現されてい
る。メモリ2は、各コード(CNi)に対するアベイラブ
ルノートスケールの数を記述したテーブルである。一
方、メモリ3は、夫々のコードに対するアベイラブルノ
ートスケール(ANS)の名前が数値で表現されている。
このアベイラブルノートスケールの名前情報から、メモ
リ4に入っているスケールデータ(アベイラブルノート
スケールを重みパターンで示したデータ)を特定するこ
とができる。すなわち、メモリ3のANSの欄における
“0"はナチュラルモードを“1"はペンタトニックスケー
ルを、“2"はブルーノートスケールを“3"はホールトー
ンスケールを、“4"はオルタードスケールを意味してい
る。このANSの値からメモリ4上のスケールデータの開
始アドレスが計算できる。一方、メモリ2とメモリ3の
間では、メモリ2の内容から、メモリ3の特定のANSを
指定できるようになっており、メモリ1とメモリ2の間
では、メモリ1の内容(コードタイプ)からそのコード
タイプに対するアベイラブルノートスケールの数をメモ
リ2から読み出せるように構成されている。例えば、CN
iがV7を示す“7"の値のときは、その値から1を引いた
値(ここでは6)でメモリ2をアクセスすることによ
り、3、つまりV7のアベイラブルノートスケールは3つ
あることがわかる。このV7の3つのアベイラブルノート
スケールを具体的に知りたければ、すなわち重みづけら
れたスケールデータの形式で知りたければ、次のように
する。まず(CNi−1)ここでは6のところまでアベイ
ラブルノートスケールの数を累算する(メモリ2を使っ
て)。この累算値(ここでは10)はメモリ3上におい
て、コードタイプV7についてのアベイラブルノートスケ
ール(ANS)の名前のリストの開始アドレスを指してい
る。既にV7のANSの数は3つあることがわかっている。
したがって、この開始アドレスと、次のアドレスとその
次のアドレスを個々に計算して、メモリ4より読み出す
べき各アベイラブルノートスケールの開始アドレスを計
算する。メモリ4上の各ノートスケールデータの長さは
12アドレスである。この結果、V7のアベイラブルノート
スケールであるナチュラルモードとパンタトニックスケ
ールとブルーノートスケールのデータがメモリ4より読
み出されることになる。
したがって、第50A図と第50B図に例示するメモリはアベ
イラブルノートスケールのデータベースとして使用で
き、所望であれば、目的のコードに対するアベイラブル
ノートスケールのデータもしくは名前のリストをCRT等
により表示することも容易である。このようなモニター
を使って、ユーザー側から曲の進行にマッチしたアベイ
ラブルノートスケールを選択することも容易である。
さらに、第50A図と第50B図に例示するアベイラブルノー
トスケールのデータベースは拡張も容易である。例えば
コードのリスト((ロ)参照)に入っていないコードを
リストに加えることができる。新しいコードタイプに
は、例えば、現在の最大値をもつCNiより1つ大きな値
を付ける。新しいコードタイプの各アベイラブルノート
スケールの名前が与えられれば、メモリ2を拡張して、
そのコードタイプ(コードナンバー)とそのアベイラブ
ルノートスケール数を次アドレスに書き込むとともに、
メモリ3も拡張して名前を書き込む。いままでにないア
ベイラブルノートスケールのデータが与えられたとき
は、新しい名前(図の例では5)が付けられ、メモリ4
が拡張される。したがって、ユーザより、新しいコード
の登録、そのコードに対するアベイラブルノートスケー
ルの数、名前、重みパターン(スケールデータ)の登録
も容易にできる。その他、登録済のコードに対するアベ
イラブルノートスケールのリストの変更(追加、削除、
訂正)なども容易である。
さて、第51図に示すフローにおいては、与えられたコー
ド(CNi)に対するアベイラブルノートスケールの選択
は乱数を使って実行している(51−5、51−6参照)。
その他の点については上述した特定のコードに対するア
ベイラブルノートスケールの名前またはスケールデータ
の読み出しに関する方法と同様である。第51図のフロー
の右側には注釈を入れており、これ以上の説明は不要で
あろう。
★ノートスケールの合成★ 重み付けられたノートスケールのセットは音階の重みデ
ータメモリ(第1図のメモリ5、第50B図のメモリ4)
に記憶させることができる。
ここでの問題は、ノートスケール(音階の重みデータ)
の合成に関する。いま、クロマチックスケールのスケー
ルデータ{SCLi}を次のように表わしてみよう。
次にペンタトニックスケールのスケールデータ{SCLi}
を次のようなものにしてみる。
欧長音階のスケールデータ{SCLi}は次のようにする。
上記の3つのスケールデータを加算すると、 が得られる。この(ニ)が第29図の(2)ヨナ抜き長音
階のデータと完全に一致している。また、(ハ)の各デ
ータの2倍に(イ)の各データを加えると第29図の
(4)長音階欧のデータと一致する。
以上の例示は、ある音階のデータは2つ以上の音階のス
ケールデータを一次結合などによって組み合わせること
により合成できることを示すためである。このことは、
2つの意味をもつ。第1は、既知の音階を表わすスケー
ルデータを別の複数の既知の音階を表現するスケールデ
ータを合成することによって得ることができるという点
である。第2はいままでに存在しないタイプの音階を表
わすスケールデータを既知の2つ以上の音階を表現する
スケールデータを合成することによって得られるという
点である。したがって、実験的なスケールによる自動作
曲の可能性をもっている。
記憶容量の面からいえば、音階重みデータメモリに収め
るスケールデータのセットを小さくすることができ、有
利である。必要なときに、一次結合により所望のスケー
ルデータを自動的に発生させればよい。この種の一次結
合は、一次結合される各スケール名と各スケールについ
ての係数が決まれば容易に実行できる。SCLijをi番目
(iという名の)スケールのj番目の音の重みデータと
し、合成後のスケールのデータをSCLi、NEWで表わすと、
SCLi、NEWは、SCLi、NEW=ΣajSCLij(ajは係数)を演算
することにより、容易に得られる。
★しきい値★ 有効音高検査のためのしきい値(例えばPC2,1)は、実
施例の場合、メロディ制御情報発生部において作成され
る。有効音高決定手段は、候補の音高に対して当てられ
ている重み(ノートスケール発生手段より与えられた重
み)としきい値とを比較し、所定の条件が成立すると
き、実施例の場合では、その重みがしきい値以上の重み
をもつときに、候補をメロディノートとして採択してい
る。
有効音高の条件を、 候補の重み≧しきい値 とする場合において、しきい値による候補への作用は次
のようになる。まず、ノートスケール発生手段により与
えられるノートスケールが2種類の重みしかない場合を
考えてみる。この場合、しきい値がいずれの重みより重
いときは、有効音高は発生しない。しきい値が両方の重
みの中間にあるときは、重い方の音高は有効として扱わ
れ、他方は無効である。しきい値が、いずれの重みより
低いときは、ノートスケール上のすべての音高が有効と
して扱われる(クロマチック的になる)。ノートスケー
ルの重みが3種類以上ある場合も同様にしてしきい値の
作用を理解することができる。
実施例の場合、コード構成音でもある音階音は、通常の
音階音より格上げされ、高い値をもつ。したがって、 重み(音階音)<しきい値<重み(コード構成音かつ音
階音) になるように、しきい値を選択すれば、実施例の自動作
曲機は分散和音発生機となる。
実施例の場合、ノートスケール発生手段内には変動また
はゆらぎを導入する手段は含まれていない。このような
変動導入手段は容易に実現できる。その結果は、ある音
高を確率的に有効音とする。例えば、ノートスケールデ
ータの配列{SCLi}の各要素に対し、各要素の大きさに
より制御される変動(例えば上乗せ)を乱数により導入
する。あるいは、しきい値との差がある程度以上小さい
要素に対して、乱数で発生させた比較的小さな値を加算
する。このような制御された変動導入手段を用いること
により、常に有効音となる音高、たまに有効音となる音
高、決して有効音とならない音高が規定されることにな
る。
ノートスケールの一次結合手段とは別の意味において、
発生可能なノートスケールの豊富化がもたらされる。
ノートスケールデータをユーザプログラマブルにできる
ことはすでに説明した。所望であれば、しきい値につい
ても、入力装置よりその値を自由に設定することができ
る(この実現は非常に容易である)。
リズム関係 〈実施例のレビューと展開〉 上記実施例においては、メロディのリズムに関して次の
ような手段を構じてきた。第1はミニパターンの抽出と
注入であり、第2はパルススケールによる音長の結合と
分割である。
もう少し、詳しく述べると、モチーフの評価において、
非和声音込みのモチーフに含まれる支配的な小音長列を
特徴ミニリズムパターンとして評価、抽出し、その抽出
結果を基に、メロディの生成の最終過程において特徴ミ
ニリズムパターンをメロディの音長列に組み込んでい
る。一方、パルススケールによる音長の結合と分割は、
モチーフから非和声音を省略したモチーフ分散和声音パ
ターン(モチーフの分散和声音の音長列)を形成する手
段として、また、メロディの分散和音パターン(分散和
声音のみのメロディから成るものの音長列)を形成する
手段として用いている。
ミニパターンによる手段は、直接的であり、ごく皮相的
にいえば、自然言語における「単語」と共通する面をも
っている。一方、パルススケールによる手段は、ミニパ
ターンによる手段よりは間接的なアプローチである。
上記実施例にあっては、音高列の分析と合成のために、
「分散和音」という概念をメロディの基礎とするアプロ
ーチを採用しており、この「分散和音」の抽出(モチー
フに関して)と生成を(メロディに関して)行うのに、
パルススケールによる音長結合と分割の手段が有効に機
能している。そして、パルススケールによる手段とミニ
パターンによる手段との両者により、リズムもしくは音
長列をきめ細かく調整、制御している。
しかしながら、このことは、両方の手段が必ず必要であ
るということを意味しない。すなわち、本発明によれ
ば、ミニパターンによる手段だけでも、あるいはパルス
スケールによる手段だけでもリズムの調整、制御の手段
として機能し得る。また、パルススケールによる手段を
「分散和音」のためにしか利用できないと解してはなら
ない。「分散和音」とは無関係にパルススケールによる
手段、ミニパターンによる手段を使用することが可能で
ある。パルススケールによる手段と分散和音との関係
は、分散和音の音長列形成の1つの有効な手段がパルス
スケールによる手段であるという関係であり、他の手段
による分数和音の音長列の形成を否定するものではな
い。逆にいえば、パルススケール手段という、分散和音
の音長列形成に有効な一手段がその他の音長列(一般の
メロディの音長列など)の形成にも利用可能である。そ
の具体例等については後で詳述する。
〈テーブル参照による音符の結合と分割〉 上記実施例においては、音符を結合、分割するために各
パルス点が重み付けられたパルススケールを使用してい
る。ただし、パルススケールはプログラムのなかに内在
すう形式になっている(第15図と第16図参照)。
これとは別のパルススケール発生手段では、パルススケ
ールのデータをテーブル(メモリ)に持たせる。テーブ
ルでパルススケールを実現する利点は、様々なパルスス
ケールのデータを用意し、選択的に音符結合・分割手段
に送り込むことにより、音符結合・分割手段のルールは
同一でも、異なる分割、結合結果、つまり様々な音長列
変更が可能になる点である。逆にいえば様々なパルスス
ケールを内在する複雑で複合的なルールが不要になる。
以下、テーブル参照型の音長結合と分割の手段について
具体的に例示する。
まず、第52図に、モチーフの分散和音パターンを得るの
に使用されるテーブル参照型パターン抽出のフローを例
示する。明記していないところは、第15図のフローと同
様である。
52−1において、TSUMBは着目している音符の開始位置
(SUMB)における重みであり、パルススケールのテーブ
ル{Ti}のSUMB番目のデータである。TSUMは次の音符の
開始位置(SUM)におけるパルススケール{Ti}上の重
みである。したがって、52−1から52−4までの処理の
意味は次のようになる。すなわち、 (i)次の音符の開始位置の方が重い重みをもつとき
は、着目している音符(上記の次の音符より1つ前の音
符)の音長MRiを、その前の音符(前にある和声音)の
音長RHNに加える。
(ii)着目している音符の開始位置の方が重い重みをも
つときは、その音長MRiを次の音符(後にある和声音)
の音長RHN+1に加える(ただし、重みが同じときは、一
応、次音符に吸収させている)。
したがって、テーブルが、図示のフローの右上に示すよ
うなパルススケール、すなわち第16図と同一のパルスス
ケールである場合、第52図のフロー実行による和声音の
音長パターン抽出結果と、第15図による和声音の音長パ
ターン抽出の結果は同一となる。注目すべき点は、第15
図のフローは第16図に例示するような重みの順序付け
(T0>T8>T4=T12>T2……=T14>T1=……T15)がな
されたパルススケールでしか抽出できないのに対し、第
52図のフローは任意のパルススケールを使用できること
であり、どのパルススケールを用いるかで結果も様々に
変化する、ということである。
第53図は第37図の変形であり、テーブル参照による音符
の最適結合のフローを例示したものである。53−1で、
パルススケールの各値(T1〜T16)を小さい順に並び替
えてSORTiに代入しているのは後の処理を速くするため
である。53−2では次の音符の開始位置SUMにおけるパ
ルススケール上の重みをSORTiの値と比較している。最
初SORTiはSORT1であり、パルススケール上の一番軽い重
みをもつ。この一番軽い重みと同じ重みの点で開始する
次の音符(MERj+1)が優先的に、前の音符(MERj)と結
合される。以下、同様にして、軽い順に音長結合が行わ
れる。
第54図と第55図はテーブル参照による音長結合のフロー
例である。第54図のフローは第55図におけるチェック55
−2の詳細である。第55図は上述した実施例の第38図の
代りとして使用できる。第55図のシフト55−3と実行55
−4の詳細はそれぞれ第40図と第41図に示す通りであ
る。
第54図において、SUMは次の音符の開始位置(現在の音
符の終了位置)をSUMBは現在の音符の開始位置を表わ
す。54−3では現在の音符がクロスしているパルス点の
なかで最も重いパルス点の値を求めている。54−2から
54−8のループを、K>PCが成立するまで(全ての音符
についてのチェックが完了するまで)繰り返すことによ
り、全ての音符のなかで最も重いパルス点をまたぐ音符
の開始位置がフラグffにセットされ、その音符の番号が
フラグflにセッされ、クロスしているパルス点の最大の
重みがレジスタMAXに書き込まれる。
第55図の実行55−4において、チェック55−2の結果、
見つけ出された音符が、最大の重みのパルス点を境とし
て2つに音長分割される。音符数が目標数に達するとi
>|S|が成立し、分割作業は完了する。
上述したテーブル参照型による音符の分割と結合の具体
的動作例を第56図と第57図に示す。いずれも、オリジナ
ルの音長パターンとして を使用している。第56図の方は、パルススケールとし
て、図示のスケール(正論理スケールと呼ぶことにす
る)を用いて、分割、結合したものであり、第57図の方
は第56図に示すパルススケールとは対照的(相補な)ス
ケール(逆論理スケールと呼ぶことにする)を用いて分
割、結合を行った例である。
★正論理、逆論理、評価値★ ここで、パルススケールを{Ti}(i=0〜15)で表わ
す。したがってTiはパルススケール上のi番目のポイン
トにおける重みである。また、リズムパターンを{Ri}
とする。ここにRiはゼロか1であり、Ri=1は、i番目
のポイントに音符の開始位置があることを示し、Ri=0
はi番目のポイントでは音符は開始していないことを表
わす。したがって音符の数Nは で表わされる。
次に、 で表わされる関数(評価値)を考えてみる。
ここで、この関数を目安として、上述した音符の分割と
結合の論理を復習してみよう。
上述の音符分割手段の基本ルールは、与えられている音
符のうちで「最大」の重みをもつパルスポイントをクロ
スする音符を、そのパルスポイントを境として、2つに
音長分割するというものである。したがって、分割前の
評価値V(BD)と分割後の評価値V(AD)との差は、上
記の「最大」の重みと関係する。つまり、上記の音符分
割の論理は、分割することによって、関数Vを最大変化
(増加)させる。
一方、上記の音符結合手段の基本ルールは、与えられて
いる音符のうちで「最小」の重みをもつパルスポイント
で開始している音符を(そのパルスポイントを結合線と
して)前の音符と音長結合するというものである。した
がって、結合前の評価値V(BT)と結合後の評価値V
(AT)との差は上記「最小」の重みと関係する。
上記の2つの基本ルールを「正論理」のルールまたは単
に「正論理」と呼んでみよう。
この意味における「正論理」は、使用されるパルススケ
ールの重みのパターンによって破壊されることのないル
ールである。しかし、あるパルススケールと、それと相
補な(対照的な)パルススケールを考えてみると、ルー
ルの実行は逆の結果を生み出す。互いに相補なパルスス
ケールとは、片方のパルススケール上の最大の重みをも
つ点が、他方のパルススケールでは最小の重みをもつよ
うな2つのパルススケールのことである。例えば、第56
図に示すパルススケールと、第57図に示すパルススケー
ルとは相補である。
第56図に示すパルススケールを「正論理」のルールで分
割するときには、そのパルススケール上のうちで音符が
クロスする「最大」の重みのポイントが音符の分割線と
なり、同パルススケールを「正論理」のルールで結合す
るときには、リズムパターンと同パルススケールを重ね
合わせた場合に、リズムパターン中の音符のうちで「最
小」の重みのポイントが注目され、この最小値のポイン
トが音符の結合線となる。これに対し、第56図のパルス
スケールとは相補なパルススケール(第57図)を使用し
た場合には、「第56図」のパルススケール上のうちで音
符がクロスする「最小」の重みのポイントが音符分割線
となり、「第56図」のパルススケール上のうちで音符が
開始する「最大」の重みのポイントが音符結合線とな
る。同一のルールで実行しても、相補なパルススケール
同士は逆の結果をもたらす。したがって、第56図に示す
パルススケールを「正論理」スケールと呼ぶのに対し、
第57図に示すパルススケールは「逆論理」のスケールと
呼んでいる。
音長分割、結合手段の使用するルールを「正論理」の代
え、「逆論理」にすることができる。あるいは、選択的
に「正論理」と「逆論理」とにより音長の分割、結合を
行うように構成することも容易である。
「逆論理」のルールでは、分割のとき、パルススケール
上のうちで音符がクロスする「最小」の重みのポイント
が音符の分割線となる。したがって、評価値Vの変動
(増加)は最小になる。結合のときはパルススケール上
のうちで音符が開始する「最大」の重みのポイントが音
符の結合線となる。したがって、評価値Vの変動(減
少)は最大になる。
したがって、分割と結合に関し、可能な論理の組み合わ
せは次のようになる。
(i)分割、結合とも正論理 (ii)分割は正論理で、結合は逆論理 (iii)分割は逆論理で、結合は逆論理 (iv)分割、結合とも逆論理 この論理の組み合わせについては後で再び別の角度から
説明する。
★パルススケールの合成、分解★ パルススケールはいくつかのパルススケールから合成で
きる性質と、逆にいくつかの単純なパルススケールに分
解できる性質をもっている。
第58図には、いくつかのリズムパターンやリズのノリが
例示されている。(A)に示すのはサンバのリズムの一
例である。ここでは3つ(あるいは括弧で示すように4
つ)の楽器で演奏されている。各楽器の演奏による音の
個数を単純加算したものを(A)の下に示している。す
なわち、 2122 3212 1213 3111 である。高い値がついているところは発生音圧の高いと
ころでもある。この数値表現されたパターンをパルスス
ケールとして活用することができる。ここでのパターン
は、全体としてサンバらしさをもつポリリズム(複合リ
ズム)の数値表現でもある。第58図の(B)に示すのは
16ビートの一例である。この複合リズムの数値表現は、 3010 4010 3111 4020 で示されている(ここでも単純加算である)。
第58図の(C)〜(G)は、モノリズム(ノリ)の例で
ある。純粋なリズムの特徴を直接的に示すものである。
よく見ると、16ビートの複合リズムは4拍子らしさ、ロ
ックぽさ、8ビートらしさなどを含んでいることがわか
る。換言すれば、(C)や(D)や(E)、(F)など
で示すノリのパターンを数値的に一次結合すると、
(B)に示す16ビート(複合化されたリズム)の数値表
現であるパターンとそっくりになる。
ある側面からいえば、3種類以上の重みのパターンで表
現されるパルススケールは複合リズムを表わしている。
そして、いま例示したように、既知の複合リズムはより
純粋なモノリズムの組合せである(いくつかの楽器の演
奏により形成されたリズムである)。このモノリズムを
1と0の重みパターン(パルススケール)で表わせば、
いくつかのパルススケールを一次結合等で組み合わせる
ことにより、特定のポリリズムを特徴づけるパターンが
得られる。
さらに、新規なポリリズムを特徴づけるパルススケール
も容易に得られる。例えば(A)で示すサンバの2列目
のリズムパターン を表わすパルススケール 1010 1101 0101 1000 と、ロックのノリを表わすパルススケール 0000 1000 0000 1000 とを一次結合することにより、サンバ・ロックの複合リ
ズムを特徴づけるパルススケールを得ることができる。
1つの実現例では、パルススケールTijのセットがメモ
リに記憶される。2つ以上のパルススケールのデータを
使って を演算することにより、一次結合されたパルススケール
Ti(合成)が合成される。
このような構成は、限られた数のパルススケールから非
常に数多くのパルススケールを生み出す。記憶容量を最
大限に節約するには、1と0の2つの重みしか持たない
独立なパルススケールtijのセットを用意するのがよ
い。
★パルススケールの曲進行依存性★ 例えば、フィルイン、サビ(尾開部)、4Barバリエーシ
ョンのところなどではメロディのリズムの特徴が変化す
るのが普通である。
この目的のため、パルススケールを曲の進行によって変
化させることができる。例えば、パラメータC演算部に
より、パルススケールを計画的に発生または選択する。
また、ごく小さな変動ないしゆらぎをパルススケールに
導入する手段も使用できる。例えば、 の小節の次に、 というリズム(音長列)が得られるように、パルススケ
ールを小変動させることができる。
〈PSによるモチーフ評価とメロディ生成〉 いま、モチーフが与えられているとする。上述したよう
に、モチーフは本実施例にあっては音高列のデータと音
長列のデータとで表現される。
ここで、モチーフの音長列のデータ{MRi}あるいは、
各音長の開始位置のデータ{Ri}を上述したようなパル
ススケールにより評価することが可能である。評価関数
としていろいろなものが使用できるが、ここでは、説明
の便宜上、 を評価関数として選択してみる。ここで、{Ti}は3つ
以上の重みをもつパルススケールを表わすものとする。
i番目のパルスポイントがTiの重みをもっている。Nは
モチーフの音符数である。
また、説明の便宜上、パルススケール{Ti}は特定の複
合リズムの数値表現と考えることにする。
さて、モチーフを入力する者、すなわちユーザはモチー
フの後何を期待しているか。これは難問である。この問
題は後で検討しよう。
あるパルススケール{Ti}を適用して、モチーフの評価
値Vが算出できる。評価値はモチーフの音長列に依存す
る。ある場合には比較的大きな値となり、ある場合には
小さな値となろう。
パルススケール{Ti}が複合リズムの数値表現であると
いう想定において、評価値Vが大きな値を示したという
事実は、適用されたモチーフのリズムパターンが、使用
したパルススケールのなかで値の大きな位置に多くの音
符開始点Riをもつ可能性が高い、ということを示唆して
いる。つまり、複合されている要素(例えばロックらし
さ、8ビートらしさ)の性格や印象が強く出ているリズ
ムパターンとみることができる。逆に、評価値Vの値が
小さいということは、複合されている要素のなかの一番
弱い性格を目立たせるような音符が多くなる、といった
ことを示唆する。
ここで、メロディのリズムパターン(ここでは音長列の
意味)を生成するための音符分割、結合手段が使用でき
る論理もしくはルールのいくつかについて提示する。
第1のアプローチでは、分割と結合の両方を「正論理」
で実行する。すなわち、評価関数Vの値が、最小の分割
回数で一番増えるポイントを音符分割線とし、最小の結
合回数で最小の減少を与えるポイントを音符結合線とす
る。このアプローチによれば、パルススケールにおいて
複合されている性格が維持されるように作用する。
第2のアプローチでは、評価関数Vが、分割により最小
の増加を示し、結合により最大の減少を示すポイントを
それぞれ音符分割線、音符結合線とする(逆論理アプロ
ーチ)。このアプローチによれば、パルススケールの特
徴から独立した新たな特徴が生み出される傾向になる。
第3のアプローチでは、分割、結合とも評価関数Vが最
小変動するようなポイントを分割、結合線とする。
第4のアプローチでは評価関数Vの値が大きいときは正
論理を使用し、評価関数Vの値が小さいときは負論理を
使用する。
第1のアプローチはパルススケールに内在する複合リズ
ムの性格に合わせてモチーフからメロディへのリズム展
開を意図するユーザに適する。
第2のアプローチは、複合リズムは意識しているが、複
合リズムとは別の特徴をメロディリズムに表現すること
を意図するユーザに適する。
第3のアプローチは複合リズムを意識していないユーザ
に適する。分割、結合によって意図しない複合リズムの
特徴が表面化することはユーザの期待に反するからであ
る。
上記のアプローチは、各々のユーザに対して有効なアプ
ローチである。
ただし、ユーザが「何を」意図してモチーフを作ったの
かは、モチーフのみからは知ることができないことがら
である。これを解決するには、自動作曲機とユーザとの
間で交流(インターアクション)を図る必要がある。イ
ンターアクションの形式はいろいろと考えられるが(例
えば、ロックパターンをユーザが欲しているなら、ユー
ザに「ロック風」の要求を入力装置を介して行わせるな
ど)、本発明の主題ではないので説明は省略する)。
にもかかわらず、モチーフのリズムと最も良くマッチす
るパルススケールは存在する。そして、このパルススケ
ールをメロディのリズムの生成のための基準とすること
は有意義である、と考えられる。
★シンコペーションの度合の評価★ ここでは、モチーフのリズムの評価例として、シンコペ
ーションの度合を測定する例を挙げてみる。一般にシン
コペーションはパッセージ(楽句)におけるアクセント
の通常位置からの移動である。シンコペーションの度合
測定用のパルススケール(4拍子系)として、第1拍目
(T0)が最大の重みをもち、第3拍目(T8)が次に重
く、第2拍目(T4)と第4拍目(T12)がさらに軽いパ
ルススケールを使用する。さらに、一拍を4等分し、そ
の第1パルスがそのなかで最も重く、第3のパルスが次
に重く、第2パルスと第4パルスが一番軽くなるように
してみる(重みパターンの階層構造)。このようなタイ
プのパルススケールの一例を第59図のフローの下方に示
してある。ここでは、 である。
第59図のフローにおいて、iは音符番号、SUMは59−4
の計算時は、(i+1)番目の音符の開始位置(小節の
先頭からi番目までの音符の各音長の合計)、Sは、59
−5からループを抜けるとき、各音符の開始位置の列
{SUM}についての重みの累算値、すなわち、 S=ΣTSUM(SUM=0から最後のSUMの値まで)である。
これは、上述のRi、Tiを使用すると、 と等価である。したがって、59−6の計算によるVは、 となり(Nは音符数)、上で挙げた評価関数と同一形式
である。ここでは、Vはモチーフのリズム(音長列{MR
i})のシンコペーションの尺度を表わす。
第60図は各種のリズムパターンに対し、第59図に示すパ
ルススケールとフローにより算出したシンコペーション
評価値を示すものである。
★コントロールされた音長パターンの発生★ 上述のように、与えられたモチーフのリズムに対して
は、パルススケールを使用することにより、リズムの評
価値を算出することができる。
いまから述べる事項は、このようにして得たモチーフの
リズム評価値を基にして、コントロールされた音長パタ
ーン(メロディの音長パターンとして使用できる)を発
生する技術である。
評価関数Vは、評価対象である音長列により値が変化す
る。したがって、一般に評価関数Vは評価対象の音長列
の音符数nにも依存する。いま、音符数Nのオリジナル
(モチーフ)音長列の評価関数Vの値がV(N)であっ
たとする。任意の音符数nに対し、オリジナルの音長列
の展開を考える。この場合、評価関数VはNのときV
(N)の点を通る曲線となり得る。この評価曲線はいろ
いろな仕方で得ることができる(例えば、上述した分
割、結合手段により得た音長列の評価値をすべての音符
数について計算することにより)。
乱数発生手段によりランダムな音長列を発生させる。こ
のランダムな音長列が上記の評価曲線とよく一致してい
るかどうかを検査する。検査の結果が合格であれば、そ
の音長列を採択する(メロディの音長列として、あるい
は中間的なメロディの音長列として)。これによって、
評価関数により制御された音長列を得ることができる。
第61図はコントロールされた音長パターンを発生するフ
ローの一例である。61−2において、 (TRiはRi番目のパルスポイントの重み)を計算してい
るが、この演算式は一例にすぎない。例えば、パルスス
ケール{Ti}とランダムな音発生ポイントの列{Ri}と
の一致度を評価する一致度関数(最もよく一致するとき
例えば1となり、最も不一致のとき0となるような関
数)を使用してもよい。例えば、 あるいは、パルススケール{Ti}を1と0の重みしかも
たない複数(M個としてみる)のサブパルススケール
{tij}に分解し、このM個のサブパルススケールを使
って、 なども使用できる。
フローに従って述べると、第61図の61−1の詳細は第62
図に示されている。第62図のフロー自体の明白な記述か
ら動作は明らかであるので詳しい説明は省略する。要す
るに、第61図に記載するように、乱数により1から15ま
での異なる数値をN−1個(音発生ポイントRiを表わ
す)を発生させている。62−7のR0=1は小節の先頭に
は常に音符が開始することを示唆している(必ずしも、
こうする必要はない)。第63図は第61図の61−2の詳細
である。説明は不要であろう。第64図は第61図の61−4
の詳細である。第64図のフロー自体の明白な記述と、フ
ロー上方に示す動作例(MERiはi番目の音符の音長デー
タを表わす)から説明は不要である。
第61図の61−3に示すPCxとPCyは例えば、メロディ制御
情報発生手段より与えられるパラメータである。許容さ
れる評価値Vの下限と上限をそれぞれ表わしている。61
−3のテストに合格したものが61−4でメロディの音長
列のデータに変換されている。
★モチーフリズムに対する最適PS推定★ モチーフのリズムに対し最も良く適合するパルススケー
ルを推定もしくは連想することは、後のメロディ生成の
ために有効である。
一例として、第65図に、サンバらしいパターン を素材として、3つの異なるパルススケール、すなわ
ち、正論理スケール、逆論理スケール、サンバスケール
を用いて音符の分割、結合を行った場合の評価値の特性
を示している。第66図は、正規化した評価例である(負
論理による特性を両端が他の特性と一致するように正規
化している)。評価関数としては、 を使用している。
第66図からわかるように、サンバスケールによって分
割、結合した場合が、一番「なめらか」に評価値が変化
している(なめらかさの計算はここでは省略する)。し
たがって、 のオリジナル音長列に最も良く適合する最適パルススケ
ールはサンバスケールであると評価することができる。
次に、対象であるモチーフのリズムパターンに対し、ピ
ーク値(最大値あるいは最小値)の評価を与えるパルス
スケールを最適のパルススケールと推定する技術につい
て説明する。
上述したように、パルススケールを複合リズムの数値表
現と想定する場合において、パルススケールはいくつか
のより純粋なパルススケール(サブパルススケールと呼
ぶことにする)の一次結合で表わすことができる。ここ
では、サブパルススケールは2つの重みしかもたない重
みパターンであるとする。そうすると、一般性を失うこ
となく、サブパルススケールは“1"と“0"の値しか
(“1"だけの場合も含まれる)とらないパターンデータ
として表現できる。なお、0のみのパターンは適用外で
ある。
いま、複数のパルススケールが用意されているとし、あ
るモチーフのリズムパターン(音長列)に対し、所定の
評価関数(パルススケールのデータを変数として含む関
数)を適用する。評価関数の値はパルススケールの種類
と評価対象であるリズムパターンによって変化する。あ
るリズムパターンのときにはあるパルススケールによる
評価値がピークを示し、別のリズムパターンのときには
別のパルススケールによる評価値がピークを示す。パル
ススケールの種類が非常に豊富な場合や、リズムパター
ンの特徴が2つ(あるいはそれ以上)のパルススケール
に対し、同様の関係(類似関係)をもつ場合、ピークを
与えるパルススケールは2つ(あるいはそれ以上)存在
し得る。この場合、いずれのパルススケールも、適用さ
れたパルススケールのセットのなかでは最適のパルスス
ケールと推定される。
以下の説明ではピークを最大の意味で使用する(説明の
便宜上)。また、評価関数として2つの評価関数を例示
する。
第1の評価関数は次のように表わされる。
ここに、{Ri}は1、0の重みで示されるリズムパター
ン(音長列)を表わし、{tij}はj番目のサブパルス
スケールを表わす。一方、上述したように、パルススケ
ール(複合化されたもの)は、複数(N個)のサブパル
ススケール{tij}で表わされる。
すなわち、パルススケール{Ti}の各要素Tiについて、 が成立する。
上記のV(mean)は、対象であるリズムパターン{Ri}
を、パルススケール{Ti}の各成分スケール{tij}に
よって評価したものの平均を表わす。この評価関数V
(mean)の取り得る値は0から1までである。〔 〕内
の値も0から1までの値をとる。1になるのは、すべて
のiについて、 tij=Ri が成立するときである。すなわち、発生ポイントがリズ
ムパターン{Ri}とサブパルススケール{tij}とで一
致するときである。この意味で、V(mean)は一致度関
数である。
第2の評価関数は次のように表わされる。
これは、〔 〕内の評価値の最大値である。つまり、N
個のサブパルススケールのうちで最大の値を与えるサブ
パルススケールがこの評価関数V(max)を支配する。
以下の説明では、第1の評価関数V(mean)を単に「平
均」、第2の評価関数V(max)を単に「最大」と呼ぶ
こともある。
第67図に、評価対象のリズムパターン(モチーフ長音
別)として5つのパターンが例示されている。「サン
バ」とあるのはサンバの特徴をもつパターンである。
「演歌」とあるのは演歌らしいパターンである。「ナ
ウ」で示すのは最近流行のシンコペーションがかったパ
ターンである。「4」は4分音符4つのパターン、
「2」は2分音符2つのパターンである。
さらに、第67図には、4種類のパルススケールがサブパ
ルススケールの一次結合として示されている。第1は正
論理(ノーマル)のパルススケールであり、5つのサブ
パルススケールが複合したものである。第2は第1の逆
のパルススケール(逆論理パルススケール)であり、5
つのサブパルススケールより構成される。第3はサンバ
スケールであり、4つのサブパルススケールを成分とす
る。第4は16ビートのパルススケールであり、5つのサ
ブパルススケールを合成したものである。
第68図に評価結果を示す。第67図に例示する5種類のモ
チーフ長音列を同じく第67図に示す4種類のパルススケ
ールにより、パルススケール別に、第1の評価関数V
(mean)(図中、「平均」で示す欄)と第2の評価関数
V(max)(図中、「最大」で示す欄)により評価した
結果である。
この結果の示唆するところは、第1に、いずれの評価関
数も似たような評価を下している点である。例えば「サ
ンバ」のモチーフに対する最高点は、「平均」も「最
大」もサンバパルススケールに対して与えている。「演
歌」に対しては最高点を与えているパルススケールは変
っているが、「平均」も「最大」も正論理パルススケー
ルに対してである。第2の点は、第1の評価関数「平
均」の方が高い選択性を示していることである。逆にい
えば第2の評価関数の方がラフな評価(幅の広い連想)
をしているともいえる。ただし、このことは、各パルス
スケールの複合性とも関係する。現存する多くの複合リ
ズムは互いに強く関連し合ういくつかのリズムパターン
によって形成される。
最高点を与えるパルススケールを最適パルススケールと
し、そのパルススケールを基準としてメロディのリズム
パターン(音長列)を形成することは、1つの有効なア
プローチである。ただし、このことは、「絶対的」な意
味に解釈されてはならない。すなわち、根本はユーザの
希望するところのパターンである(ユーザの期待を満足
させることを第一義とする限りにおいて)。したがっ
て、ユーザサイドより自由にパルススケールが選択でき
るようにしてもよい。さらに別のアプローチとして、い
くつかのパルススケールの1つ1つを基準として作曲を
行い、その評価をユーザにゆだねるようにしてもよい。
ここでも、ユーザと自動作曲機との作曲上のインターア
クションないしインターフェースが問題となるが、これ
以上は立入らないことにする。
★音高列も考慮したPSの連想★ メロディにおけるリズムは必ずしも音長列のみでは評価
できない面がある。すなわち、音高列やその他の要素も
作用する。本実施例では簡明をきすため、メロディやモ
チーフを2つの成分、すなわち音長列のデータと音高列
のデータで表現しており、その他の要素は考慮していな
い。
ここでは音高列をも考慮したパルススケールの連想の一
例について述べる。
例えば、 のようなパターンでは、“ド”の位置がパルススケール
上のその位置の重みを上げるように作用する。
もう少し一般的に述べると、音高パターンの規則性は、
将来のパターンを大なり小なり規制する。このことはよ
く経験するところである。このような規則性に基づく未
来のパターンへの反映をパルススケール上に重みデータ
の格上げということによって表現することができる。す
なわち、格上げされた重みのパルスポイントは音長の分
割や結合において中心的な役割を果たし、将来のパター
ンに現在のパターンのもつ規則性を大なり小なり組み込
むことになる。別のいいかたをすれば、あるパッセージ
を聞いたとき、次にくるパッセージがある程度予測でき
ることが少なくない、という経験が人間にはある。
以下、示す例は、音列のパターンの自己相関性あるいは
それによく似た要素を測定することにより、パルススケ
ールを連想する技術である。
この例では、パルススケールを次のようにして連想して
いる。
(i)音長列データより各音符の発生位置データを得、
その位置にある重み、例えば1を付け、ほかの位置は重
みなし(ゼロ)とする。
(ii)音高列データ(音高の時系列)のDFT(離散フー
リエ変換)をとり、そのスペクトル成分を抽出し、2X
音の成分をパルススケール上に重みとして重ねる。
第69図において(イ)は評価対象である音の時系列デー
タである。1小節の間に、8分の間隔で、ドミレファミ
ソファラのパターンである。このパターンに対するDFT
結果を同図(ロ)に示す。この(ロ)の1は基音(1小
節を1周期とする成分)の大きさであり、2は第2倍音
の成分(1小節の半分を1周期とする成分)の大きさ、
4は第4倍音の成分の大きさを示している。図示のよう
に、1と2と4倍音の間の大きさの比は、約1:0.5:1と
なっている。ドの位置は1倍音(基音)の位置(各周期
の開始位置)と2倍音、4倍音の位置にすべて一致して
おり、同様に、レの位置と、後に現われるファの位置は
4倍音の位置にある。また後の方のミの位置は2倍音の
位置と4倍音の位置の両方と一致している。
したがって、1つの重み格上げによれば、次のようにな
る。最初のドの位置はリズムデータの1点に、1倍音の
1点、2倍音の0.5点、4倍音の1点を加え、合計3.5
点。同様にして、最初のレのパルスポイントは2点、後
の方のミは2.5点、最後の方のファは2点となる。すな
わち、 のパルススケール{Ti}が作成される。
さらに、分散和音のリズムデータの分を上乗せするよう
にしてもよい。
以上の説明からわかるように、パルススケールは時系列
的規則性に基づき加重された重みをもつパターンとみる
こともできる。すなわち、各小節(メーター)の同じ位
置に音符が出現しやすい尺度がパルススケール上におい
て加重された重みで表現される。
〈その他、応用〉 以上、実施例を始めとして種々の変形例についても詳述
してきた。
リズム関係に関し、ミニパターンによる手段(すなわち
モチーフを特徴づけるミニパターンを抽出する手段と、
その抽出結果に基づいてメロディを特徴づけるミニパタ
ーンをメロディの音長列に組み込む手段)と、パルスス
ケールによる手段(パルススケールによる音長の分割、
結合手段、パルススケールによるモチーフのリズム評価
手段、その評価結果に基づくコントロールされた音長列
生成手段など)は、共同して使用することもできれば、
単独で用いることもできる。
また、メロディの音高列生成に関し、上記実施例では、
分散和音をメロディの生成の基礎とするアプローチを採
用しているが、必ずしもこれには限られない。例えば、
スケールを基礎としてメロディを生成することが可能で
あり、一部は既に知られている。例えば、使用スケール
を特定し、そのスケール上から選択する音高の順序を1/
Fゆらぎ方式で決定するメロディ音高列生成手段が使用
できる。あるいは、使用スケールを特定し、ある音高が
直前の音高によって大きく左右されるような過程、すな
わちマルコフ過程を頻度テーブル等を用いて実行するこ
とにより、音高列を生成する手段を使用してもよい。
また、メロディ制御情報発生手段に関し、メロディの各
要素間の相互作用を配慮した制御情報(メロディ計画情
報)を発生させるようにしてもよい。
パルススケールによる手段に関しては、リズムだけの生
成装置への適用可能性がある。例えば、モチーフリズム
を変奏するリズム変奏装置に応用できる。あるいは曲の
メロディのリズムの特徴を分析するリズム分析装置への
利用も考えられる。また、出来上っている曲について、
曲のもつリズムの特徴を変換、変更する装置(リズムを
中心とする編曲装置)へ応用可能である。
[発明の効果] 本発明による自動作曲機にあっては、入力装置より与え
られるモチーフの特徴がモチーフ特徴抽出手段により評
価、抽出される。そして、メロディ音高列生成手段とメ
ロディ音長列生成手段とを含むメロディ生成手段によ
り、上記の評価結果を基にメロディが自動生成される、
という共通構成を備えている。
したがって、モチーフの特徴が大なり小なり、メロディ
に反映されるという効果が生み出される。ユーザは自分
の作成したモチーフを基にして作曲が行われるので高い
満足感を得ることができる。
本発明の第1の構成にあっては、上記モチーフ特徴抽出
手段内にモチーフのリズムの特徴を抽出するモチーフリ
ズム特徴抽出手段が設けられ、この手段の特徴抽出結果
に基づいて、メロディ音長列生成手段がメロディの音長
の列を生成するようになっている。したがって、リズム
の面でモチーフの特徴がメロディに反映される効果が生
み出される。
また、本発明の第2の構成等にあっては、メロディ生成
手段のなかに、メロディ制御情報発生手段が組み込まれ
る。このメロディ制御情報発生手段はモチーフの評価結
果からメロディを制御するための情報を発生し、メロデ
ィの具体的な生成を実行する手段にそれらの情報を引き
渡す。メロディ制御情報発生手段は生成するメロディの
計画立案部(またはその要部)として機能し、メロディ
にモチーフの特徴が反映される度合、曲の一様性と多様
性などを自在にコントロールすることができる。
また、本発明の第2の構成に特有の要素としてコード進
行付与手段がある。これにより、曲の音高列はコード進
行に従って生成されることになる。
さらに本発明の第3の構成に特有の要素として重み付け
られたノートスケール付与手段と、メロディノート候補
の音高の有効性(Valid)を、ノートスケール上の音高
についての重みに基づいて検査する有効音高決定手段と
から成る使用音高制御手段が使用される。この音高制御
機能により、どのノートを有効にするかを自由に制御で
き、メロディ音高列生成手段は多種多様なノートスケー
ルによる多様なメロディラインを形成することができ
る。
【図面の簡単な説明】
第1図は本発明の一実施例に係る自動作曲機の全体構成
図、第2図は自動作曲機の機能ブロック図、第3図は自
動作曲機の全体流れ図、第4図は音高データ列を示す
図、第5図は自動作曲機で使用する変数のリストを示す
図、第6図は自動作曲機で使用するパラメータCのリス
トを示す図、第7図は動作説明のための入力データ例を
示す図、第8図はパラメータCの値の例を示す図、第9
図は第7図と第8図のデータに対するメロディの生成結
果を過程ごとに示す図、第10図はモチーフ評価のフロー
チャート、第11図はリズム評価のフローチャート、第12
図は非和声音の分類抽出のフローチャート、第13図はパ
ラメータ抽出の概略のフローチャート、第14図は和声音
の型のパラメータを抽出するためのフローチャート、第
15図は和声音の音長パターンを抽出するためのフローチ
ャート、第16図は第15図のフローにおいて使用している
パルススケールを説明するための図、第17図は各非和声
音の数、和声音の数を抽出するフローチャート、第18図
はなめらかさ、同音進行のパラメータを抽出するフロー
チャート、第19図は特徴的リズムのパラメータを抽出す
るフローチャート、第20図は最小の音長を抽出するフロ
ーチャート、第21図はパラメータC演算の概略フローチ
ャート、第22図は楽式識別データの例を示す図、第23図
は楽式データの読み出しデコードのフローチャート、第
24図はデコード結果の一例を示す図、第25図はメロディ
の生成のフローチャート、第26図は分散和音発生のフロ
ーチャート、第27図はコード構成音メモリ、コード進行
メモリ、根音メモリのデータの例を示す図、第28図はコ
ード構成音の読み出しのフローチャート、第29図は音階
の重みデータの例を示す図、第30A図は音階の重み変更
(1)のフローチャート、第30B図は音階の重みデータ
の読み出しのフローチャート、第31図は音階の重み変更
(2)のフローチャート、第32図は最適転回数の算出の
フローチャート、第33図はコード構成音の転回のフロー
チャート、第34図はMED1(小節先頭音)を前の音から決
定するフローチャート、第35図は分散和音の音高列発生
要部の簡略化フローチャート、第36図は分散和音の音長
列を決定するフローチャート、第37図は音長の最適結合
処理のフローチャート、第38図は音長の最適分割処理の
フローチャート、第39図は第38図におけるチェックの詳
細フローチャート、第40図は第38図におけるシフトの詳
細フローチャート、第41図は第38図における実行の詳細
フローチャート、第42図は倚音付加のフローチャート、
第43図は経過音付加のフローチャート、第44図は刺しゅ
う音付加のフローチャート、第45図は逸音付加のフロー
チャート、第46図は休符(ブレス)付加のフローチャー
ト、第47図は特徴リズム生成のフローチャート、第48図
は修正学習のフローチャート、第49図は学習によるパラ
メータ変更のフローチャート、第50A図以下は変形例を
示すものであり、第50A図は音階関係のメモリ(その
1)のデータ構造を示す図、第50B図は音階関係のメモ
リ(その2)のデータ構造を示す図、第51図は音階の重
みデータ読み出しのフローチャート、第52図はパルスス
ケールテーブルを参照するタイプの和声音音長パターン
抽出のフローチャート、第53図はテーブル参照型の音長
の最適結合のフローチャート、第54図は第55図のチェッ
クの詳細フローチャート、第55図はテーブル参照による
音長の最適分割のフローチャート、第56図は正論理(ノ
ーマル)パルススケールとともに、正論理パルススケー
ルによる音符の分割と結合の例を示す図、第57図は逆論
理パルススケールとともに逆論理パルススケールによる
音符の分割と結合の例を示す図、第58図は各種のリズ
ム、ノリを例示する図、第59図は正論理パルススケール
によるシンコペーションの度合を評価するフローチャー
ト、第60図はシンコペーション評価値の具体例を示す
図、第61図はコントロールされた音長パターンの発生の
フローチャート、第62図は第61図における乱数発生の詳
細フローチャート、第63図は第61図における評価の詳細
フローチャート、第64図は第61図のデータ交換の詳細と
ともにデータ変換例を示す図、第65図は複数のパルスス
ケールによる分割、結合による評価曲線の特性を示す
図、第66図は第65図と同様であるが正規化した図、第67
図はモチーフ音長列の例とともに、いくつかのパルスス
ケールと、各パルススケールを構成するサブパルススケ
ールを示す図、第68図は第67図に示す各モチーフ音長列
に対する各パルススケールによる評価値を示す図、第69
図は音の時系列とそのスペクトルを示す図である。 1……入力装置、2……コード構成音メモリ、3……コ
ード進行メモリ、4……根音データメモリ、5……音階
の重みデータメモリ、6……モチーフメモリ、7……パ
ラメータBメモリ、8……楽式識別データメモリ、9…
…CPU、11……パラメータメモリ、13……メロディデー
タメモリ、F10……モチーフ特徴パラメータ抽出手段、F
11……非和声音抽出手段、F12……モチーフ音長パター
ン抽出手段、F12−1……特徴ミニパターン抽出手段、F
12−2……分散和声音(リズム)パターン抽出手段、F2
0……メロディ制御情報発生手段、F21……パラメータC
演算手段、F25……楽式識別データ発生手段、F30……メ
ロディ生成実行手段、F31……音高列生成手段、F31−1
……分散和音発生手段、F31−2……非和声音付加手
段、F31−3……使用音高制御手段、F31−3A……ノート
スケール発生手段、F31−3B……有効音高検査手段、F32
……音長列生成手段、F32−1……最適結合手段、F32−
2……最適分割手段、F32−3……特徴パターン組込手
段、T0〜T15……パルススケールのデータ。

Claims (37)

    【特許請求の範囲】
  1. 【請求項1】入力装置(第1図の1)と、 上記入力装置より与えられるモチーフの特徴を評価し、
    抽出するモチーフ特徴抽出手段(第1図の9;第2図のF1
    0)と、 上記モチーフ特徴抽出手段の評価結果に基づいて動作
    し、メロディ音高列生成手段(第2図のF31)とメロデ
    ィ音長列生成手段(第2図のF32)とを含むメロディ生
    成手段(第1図の9;第2図のF20、F30)と、 を具備し、 上記モチーフ特徴抽出手段(F10)は、モチーフのリズ
    ムの特徴を抽出するモチーフリズム特徴抽出手段(第2
    図のF12)を有し、 上記メロディ音長列生成手段(F32)は上記モチーフリ
    ズム特徴抽出手段の特徴抽出結果に基づいてメロディの
    音長の列を生成すること、 を特徴とする自動作曲機。
  2. 【請求項2】特許請求の範囲第1項記載の自動作曲機に
    おいて、 上記モチーフリズム特徴抽出手段は、上記モチーフの音
    長列に含まれる特徴的なミニパターンを抽出する特徴ミ
    ニパターン抽出手段(第2図のF12−1)を有し、 上記メロディ音長列生成手段は、抽出されたミニパター
    ンを、生成する音長列に組み込む特徴パターン組込手段
    (第2図のF32−3)を有する ことを特徴とする自動作曲機。
  3. 【請求項3】特許請求の範囲第1項記載の自動作曲機に
    おいて、上記モチーフリズム特徴抽出手段(F12)はあ
    る決められた長さを抽出単位区間として使用し、上記メ
    ロディ音長列生成手段(F32)はある決められた長さを
    生成単位区間として使用することを特徴とする自動作曲
    機。
  4. 【請求項4】特許請求の範囲第3項記載の自動作曲機に
    おいて、 上記メロディ音長列生成手段(F32)は、特定の抽出単
    位区間に含まれるモチーフの音の数と特定の生成単位区
    間において生成するメロディの音の数とが異なる場合に
    おいて、両者の差に等しい数だけ、メロディ音長を分割
    または結合する音長分割・結合手段(第2図のF32−
    1、F32−2)を有することを特徴とする自動作曲機。
  5. 【請求項5】特許請求の範囲第4項記載の自動作曲機に
    おいて、上記メロディ音長列生成手段(F32)は、特定
    の抽出単位区間に含まれるモチーフの音の数と特定の生
    成単位区間において生成するメロディの音の数が等しい
    ときは、上記抽出単位区間におけるモチーフの音長列
    を、上記生成単位区間におけるメロディの音長列として
    発生することを特徴とする自動作曲機。
  6. 【請求項6】特許請求の範囲第1項記載の自動作曲機に
    おいて、上記生成メロディ音長列生成手段(F32)は、
    重み付けられた各パルス点をもつパルススケール(第16
    図)を発生するパルススケール発生手段(第1図の9)
    と、このパルススケール発生手段より与えられるパルス
    スケールに基づいて、音長を分割する音長分割手段(第
    2図のF32−2)と、音長を結合する音長結合手段(第
    2図のF32−1)とを有することを特徴とする自動作曲
    機。
  7. 【請求項7】特許請求の範囲第6項記載の自動作曲機に
    おいて、上記音長分割手段(F32−2)と上記音長結合
    手段(F32−1)とは同一のもしくは対照的なパルスス
    ケールを使用することを特徴とする自動作曲機。
  8. 【請求項8】特許請求の範囲第6項記載の自動作曲機に
    おいて、上記音長分割手段(F32−2)は、パルススケ
    ール上の最大または最小の重みをもつパルス点をまたぐ
    音符を優先的に分割し、上記音長結合手段(F32−1)
    は、パルススケール上の最大または最小の重みをもつパ
    ルス点から開始する音符を優先的に、前の音符と結合す
    ることを特徴とする自動作曲機。
  9. 【請求項9】特許請求の範囲第1項記載の自動作曲機に
    おいて、 上記モチーフリズム特徴抽出手段(F12)は、上記モチ
    ーフの音長列に含まれる特徴的なミニパターンを抽出す
    る特徴ミニパターン抽出手段(第2図のF12−1)を有
    し、 上記メロディ音長列生成手段(F32)は、 (A)重み付けられた各パルス点をもつパルススケール
    (第16図)に従って、音符を選択的に分割、結合するこ
    とによりモチーフの音長列を修飾または変形した音長列
    を生成する手段(第2図のF32−1、F32−2)と、 (B)上記特徴ミニパターン抽出手段により抽出された
    特徴的なミニパターンを、生成する音長列に組み込む手
    段(第2図のF32−3)と、 を有することを特徴とする自動作曲機。
  10. 【請求項10】特許請求の範囲第1項記載の自動作曲機
    において、 上記モチーフリズム特徴抽出手段(F12)は、 (A)重み付けられた各パルス点をもつパルススケール
    (第16図)を発生するパルススケール発生手段(第1図
    の9)と、 (B)このパルススケール発生手段の与えるパルススケ
    ールを使って、上記モチーフの音長列の評価値を算出す
    るモチーフパルス評価手段(第1図の9;第63図)と、 を有し、 上記メロディ音長列生成手段は、上記モチーフパルス評
    価手段の評価した評価値に適合するようにコントロール
    された音長列を発生する(第61図)ことを特徴とする自
    動作曲機。
  11. 【請求項11】特許請求の範囲第10項記載の自動作曲機
    において、 上記メロディ音長列生成手段(F32)は、上記モチーフ
    リズム特徴抽出手段が使用するパルススケールと同一ま
    たは対照的なパルススケールにより音長列を発生するこ
    とを特徴とする自動作曲機。
  12. 【請求項12】特許請求の範囲第10項記載の自動作曲機
    において、 上記メロディ音長列生成手段(F32)は、 (A)乱数的に音長列を発生する乱数手段(第1図の9;
    第62図)と、 (B)この乱数手段の発生した音長列を、上記モチーフ
    リズム特徴抽出手段が使用するパルススケールと同一の
    パルススケールを使って、その評価値を算出する乱数的
    音長列評価手段(第1図の9;第63図)と、 (C)この乱数的音長列評価手段の評価した評価値が、
    上記モチーフパルス評価手段の評価した評価値(PCX、P
    CY)と所定の関係を満足している場合にのみ、乱数的に
    得られた音長列をメロディ音長列として採用する音長列
    選別手段(第1図の9;第61図の61−3、61−4)と、 を有することを特徴とする自動作曲機。
  13. 【請求項13】特許請求の範囲第12項記載の自動作曲機
    において、上記モチーフパルス評価手段(9)は、モチ
    ーフの音長列のシンコペーションの度合を評価する(第
    59図)ことを特徴とする自動作曲機。
  14. 【請求項14】特許請求の範囲第10項記載の自動作曲機
    において、上記メロディ音長列生成手段(F32)は、上
    記モチーフリズム特徴抽出手段(F12)が使用するパル
    ススケールと同一のパルススケールを使用して、生成す
    る音符を選択的に分割または結合する分割・結合手段
    (第2図のF32−1、F32−2)を有し、この分割・結合
    手段は、分割前と分割後、または結合前と結合後の評価
    値が最小に変動するように、音符を分割または結合する
    ことを特徴とする自動作曲機。
  15. 【請求項15】特許請求の範囲第10項記載の自動作曲機
    において、上記メロディ音長列生成手段(F32)は、上
    記モチーフリズム特徴抽出手段が使用するパルススケー
    ルと同一のパルススケールを使用して、生成する音符を
    選択的に分割または結合する分割・結合手段(第2図の
    F32−1、F32−2)を有し、上記モチーフパルス評価手
    段(第63図)の評価した評価値が第1の条件を満足する
    ときに、上記分割・結合手段の分割手段(F32−2)
    は、生成する音長列の音符のうちで、上記パルススケー
    ル上の最大の重みをもつパルス点をまたぐ音符を優先的
    に分割し、上記分割・結合手段の結合手段(F32−1)
    は生成する音長列の音符のうちで、上記パルススケール
    上の最小の重みをもつパルス点で開始する音符を前の音
    符と優先的に結合し(第56図)、かつ上記モチーフパル
    ス評価手段の評価した評価値が第2の条件を満足すると
    きに、上記分割・結合手段の分割手段(F32−2)は、
    分割前の音長列の音符のうちで、音長分割後の音長列の
    評価値が最小変化するような点をクロスする音符を優先
    的に分割し、上記分割・結合手段の結合手段(F32−
    1)は、結合前の音長列の隣り合う音符のうちで、音長
    結合した後の音長列の評価値が最大変化するような点を
    境とする音符同志を優先的に結合する(第57図)ことを
    特徴とする自動作曲機。
  16. 【請求項16】特許請求の範囲第1項記載の自動作曲機
    において、 上記モチーフリズム特徴抽出手段(F12)は、 (A)複数の異なるパルススケール(第67図)を上記モ
    チーフの音長列に適用して、パルススケール別の音長列
    評価値を求めるスケール別評価値算出手段(第68図)
    と、 (B)求められた音長列評価値のうちで最大(または最
    小)とみなし得る評価値を与えたパルススケールを基準
    パルススケールとして決定する基準パルススケール決定
    手段(第1図の9)と、 を有し、 上記メロディ音長列生成手段(F32)はこの決定された
    基準パルススケール(またはこれと相補なパルススケー
    ル)を使って、音長の分割または結合を実行することを
    特徴とする自動作曲機。
  17. 【請求項17】特許請求の範囲第1項記載の自動作曲機
    において、 上記モチーフリズム特徴抽出手段(F12)は、上記モチ
    ーフの音長列に最適の評価値を与えるパルススケールを
    推定する最適パルススケール推定手段(第68図)を有
    し、 上記メロディ音長列生成手段はこの推定された最適のパ
    ルススケールを基準にして音長列を発生することを特徴
    とする自動作曲機。
  18. 【請求項18】特許請求の範囲第1項記載の自動作曲機
    において、 上記モチーフリズム特徴抽出手段は、モチーフの音長列
    のみならずモチーフの音高列をも使用して適合するパル
    ススケールを連想するパルススケール連想手段(第69
    図)を有し、 上記メロディ音長列生成手段(F32)はこの連想された
    パルススケールを基準に音長列を発生することを特徴と
    する自動作曲機。
  19. 【請求項19】特許請求の範囲第18項記載の自動作曲機
    において、上記パルススケール連想手段は、モチーフの
    音長列が示す各音の開始点と、モチーフの音高列に含ま
    れる規則性とからパルススケールを連想する(第69図)
    ことを特徴とする自動作曲機。
  20. 【請求項20】特許請求の範囲第6項記載の自動作曲機
    において、上記パルススケール発生手段は曲の進行に依
    存して可変のパルススケールを発生することを特徴とす
    る自動作曲機。
  21. 【請求項21】(A)入力装置(第1図の1)と、 (B)上記入力装置(1)より与えられるモチーフの特
    徴を評価、抽出するモチーフ特徴抽出手段(第1図の9;
    第2図のF10)と、 (C)コード進行の情報(第2図のI3)を付与するコー
    ド進行付与手段(第1図の3)と、 (D)上記モチーフ特徴抽出手段(F10)からの抽出結
    果と上記コード進行付与手段からのコード進行(I3)と
    に基づいてメロディを生成するものであって、 (a)上記抽出結果の少なくとも一部を基にして、生成
    するメロディを制御するためのメロディ制御情報(第2
    図のPC)を発生するメロディ制御情報発生手段(第1図
    の9;第2図のF20)、 (b)上記メロディ制御情報(PC)に従って、メロディ
    の音高列を生成するメロディ音高列生成手段(第1図の
    9;第2図のF31)、及び (c)上記メロディ制御情報に従ってメロディの音長列
    を生成するメロディ音長列生成手段(第1図の9;第2図
    のF32) を有するメロディ生成手段と、 を具備し、 上記モチーフ特徴抽出手段(F10)はモチーフの旋律的
    な特徴を抽出するモチーフライン特徴抽出手段(第2図
    のF11)と、モチーフのリズムの特徴を抽出するモチー
    フリズム特徴抽出手段(第2図のF12)とを有すること
    を特徴とする自動作曲機。
  22. 【請求項22】特許請求の範囲第21項記載の自動作曲機
    において、上記モチーフライン特徴抽出手段(F11)は
    モチーフに含まれる非和声音を抽出する非和声音抽出手
    段(第2図のF11−1)と、モチーフに含まれる分散和
    音の型を抽出する分散和音抽出手段(第2図のF11−
    2)を有することを特徴とする自動作曲機。
  23. 【請求項23】特許請求の範囲第21項または第22項に記
    載の自動作曲機において、上記メロディ音高列生成手段
    (F31)は、上記コード進行に従って分散和音を発生す
    る分散和音発生手段(第2図のF31−1)と、分散和音
    の前後あるいは分散和音の間に非和声音を付加する非和
    声音付加手段(第2図のF31−2)とを有することを特
    徴とする自動作曲機。
  24. 【請求項24】特許請求の範囲第21項記載の自動作曲機
    において、上記メロディ制御情報発生手段(F20)は、
    小節またはこれに類似の長さを計数する小節計数手段
    (第2図のF23)と、曲想を変化させるための曲想パラ
    メータを記憶する曲想パラメータ記憶手段(第2図のI
    1)と、楽式の識別パラメータを発生する楽式識別パラ
    メータ発生手段(第2図のF25)とを有し、上記モチー
    フ特徴抽出手段(F10)からのモチーフ特徴パラメータ
    (PA)、上記小節計数手段の示す小節番号、上記曲想パ
    ラメータ記憶手段からの曲想パラメータ、上記楽式識別
    パラメータ発生手段からの楽式パラメータを変数として
    演算する(F21)ことにより、メロディ制御情報(PC)
    を小節またはこれに類似する長さごとに発生することを
    特徴とする自動作曲機。
  25. 【請求項25】特許請求の範囲第21項記載の自動作曲機
    において、 上記モチーフリズム特徴抽出手段(F12)は、モチーフ
    の音長列を和声音のみの音長列すなわちモチーフ分散和
    音パターンに変換する分散和音パターン抽出手段(第2
    図のF12−2)を含み、 上記メロディ音長列生成手段(F32)は、上記メロディ
    制御情報発生手段より、区間的に生成すべきメロディの
    和声音の数のパラメータが与えられた場合に、上記モチ
    ーフ分散和音パターンと同一またはこれと適合する初期
    音長列を、与えられた和声音数を満足する和声音の音長
    列に変換するメロディ分散和音長列生成手段(第2図の
    F32−1、32−2;第36図)を含むことを特徴とする自動
    作曲機。
  26. 【請求項26】特許請求の範囲第25項記載の自動作曲機
    において、上記モチーフ分散和音パターン抽出手段(F1
    1−2)は、重み付けられたパルス点のスケール、すな
    わち第1のパルススケール(第16図)を使って和声音の
    みの音長列を形成し、上記メロディ分散和音長列生成手
    段(F32−1、F32−2)は第2のパルススケール(第1
    のパルススケールと同一の場合を含む)を使って和声音
    のみの音長列を形成することを特徴とする自動作曲機。
  27. 【請求項27】特許請求の範囲第26項記載の自動作曲機
    において、 上記モチーフリズム特徴抽出手段(F12)はモチーフの
    音長列に含まれる特徴的なミニパターンを抽出する特徴
    パターン抽出手段(第2図のF12−1)を更に含み、 上記メロディ音長列生成手段(F32)は、上記特徴パタ
    ーン抽出手段により抽出された特徴的なミニパターン
    を、上記メロディ制御情報発生手段からの情報により制
    御される形式で、メロディの音長列に組み込む特徴パタ
    ーン組込手段(第2図のF32−3)を含むことを特徴と
    する自動作曲機。
  28. 【請求項28】特許請求の範囲第23項記載の自動作曲機
    において、 上記メロディ制御情報発生手段(F20)は隣り合う区間
    (和音区間)における分散和音間の最適転回に関するパ
    ラメータを発生する最適転回パラメータ発生手段(第1
    図の9;第32図)を含み、 上記分散和音発生手段(F31−1)は上記パラメータに
    従って前後の分散和音を連結する手段(第26図)を含む
    ことを特徴とする自動作曲機。
  29. 【請求項29】(A)入力装置(第1図の1)と、 (B)上記入力装置(1)より与えられるモチーフの特
    徴を評価、抽出するモチーフ特徴抽出手段(第1図の9;
    第2図のF10)と、 (C)コード進行の情報(第2図のI3)を付与するコー
    ド進行付与手段(第1図の3)と、 (D)上記モチーフ特徴抽出手段(F10)からの抽出結
    果と上記コード進行付与手段からのコード進行(I3)と
    に基づいてメロディを生成するものであって、 (a)上記抽出結果の少なくとも一部を組み込んだ形式
    のメロディ制御情報(第2図のPC)を発生するメロディ
    制御情報発生手段(第2図のF20)と (b)上記メロディ制御情報(PC)の示す指示に従って
    メロディの音高列を生成するメロディ音高列生成手段
    (第2図のF31)と (c)メロディ音長列生成手段(第2図のF32)と を有するメロディ生成手段(第1図の9;第2図のF20、F
    30)と、 を具備し、 上記メロディ音高列生成手段(F31)はメロディの音高
    として使用できる有効音高を制御する使用音高制御手段
    (第2図のF31−3)を有し、 この使用音高制御手段(F31−3)は、 (i)重み付けられたノートスケールを与えるノートス
    ケール付与手段(第2図のF31−3A)と、 (ii)メロディノート候補の音高の有効性を、上記ノー
    トスケール付与手段から与えられたノートスケール上の
    対応音高に付けられた重みにより検査する有効音高決定
    手段(第2図のF31−3B)と、 を有することを特徴とする自動作曲機。
  30. 【請求項30】特許請求の範囲第29項記載の自動作曲機
    において、上記ノートスケール付与手段(F31−3A)
    は、 (A)限られた数のノートスケールのセットを記憶する
    音階セット記憶手段(第1図の5;第50B図(ホ))と、 (B)上記音階セット記憶手段に記憶される2つ以上の
    ノートスケールを一次結合などによって組み合わせるこ
    とにより、新しいノートスケールを発生するノートスケ
    ール合成手段(第1図の9)と、 を有することを特徴とする自動作曲機。
  31. 【請求項31】特許請求の範囲第29項記載の自動作曲機
    において、上記有効音高決定手段(F31−3B)はしきい
    値発生手段(第1図の9)を有し、このしきい値発生手
    段の与えるしきい値(第42図のPC21)と上記ノートス
    ケール上の音高に割り当てられた重み(第42図のSCL
    a4)とが所定の関係を満足するとき、その音高を有効と
    決定する(第42図の42−18、42−19)ことを特徴とする
    自動作曲機。
  32. 【請求項32】特許請求の範囲第31項記載の自動作曲機
    において、上記しきい値発生手段は、一次しきい値発生
    手段(第1図の9)と、この一次しきい値発生手段の発
    生した一次しきい値に対し、一次しきい値の大きさによ
    り制御された乱数もしくは変動分(例えば上乗せ分)を
    導入する手段(第1図の9)を有し、この変動後のしき
    い値が上記ノートスケール上の音高に割り当てられた重
    みと比較されることを特徴とする自動作曲機。
  33. 【請求項33】特許請求の範囲第31項記載の自動作曲機
    において、上記ノートスケールはユーザープログラマブ
    ルであり、上記入力装置(1)より入力可能であること
    を特徴とする自動作曲機。
  34. 【請求項34】特許請求の範囲第31項記載の自動作曲機
    において、上記しきい値(PC21)はユーザープログラ
    マブルであり、上記入力装置により入力設定されること
    を特徴とする自動作曲機。
  35. 【請求項35】特許請求の範囲第29項記載の自動作曲機
    において、上記ノートスケール付与手段(9)は、音階
    セット記憶手段(第1図の5;第50B図(ホ))と、上記
    コード進行付与手段(3)より与えられるコードの種類
    に基づいて、上記音階セット記憶手段より特定のノート
    スケールを選択するノートスケール選択手段(第1図の
    9;第51図)とに含むことを特徴とする自動作曲機。
  36. 【請求項36】特許請求の範囲第29項記載の自動作曲機
    において、上記ノートスケール付与手段(9)は、音階
    セット記憶手段(第1図の5;第50B図(ホ))と、この
    音階セット記憶手段より読み出したノートスケールの重
    みパターンを、上記コード進行付与手段より与えられる
    進行中のコードの根音に基づいて、選択的にシフトする
    根音シフト手段(第1図の9;第30A図)とを有すること
    を特徴とする自動作曲機。
  37. 【請求項37】特許請求の範囲第29項記載の自動作曲機
    において、上記ノートスケール付与手段(9)は、音階
    セット記憶手段(第1図の5)と、この音階セット記憶
    手段より読み出したノートスケールの各音高の重みのう
    ち、上記コード進行付与手段より与えられる進行中のコ
    ードの構成音の音高の重みを変更するノートスケール重
    み変換手段(第1図の9;第31図)とを有することを特徴
    とする自動作曲機。
JP62121037A 1987-04-08 1987-05-20 自動作曲機 Expired - Lifetime JPH07113828B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP62121037A JPH07113828B2 (ja) 1987-05-20 1987-05-20 自動作曲機
US07/177,592 US4926737A (en) 1987-04-08 1988-04-04 Automatic composer using input motif information
DE19883854168 DE3854168T2 (de) 1987-04-08 1988-04-08 Vorrichtung zum automatischen Komponieren.
EP19880105606 EP0288800B1 (en) 1987-04-08 1988-04-08 Automatic composer
US07/447,581 US5099740A (en) 1987-04-08 1989-12-07 Automatic composer for forming rhythm patterns and entire musical pieces

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62121037A JPH07113828B2 (ja) 1987-05-20 1987-05-20 自動作曲機

Publications (2)

Publication Number Publication Date
JPS63286883A JPS63286883A (ja) 1988-11-24
JPH07113828B2 true JPH07113828B2 (ja) 1995-12-06

Family

ID=14801255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62121037A Expired - Lifetime JPH07113828B2 (ja) 1987-04-08 1987-05-20 自動作曲機

Country Status (1)

Country Link
JP (1) JPH07113828B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2956505B2 (ja) * 1993-12-06 1999-10-04 ヤマハ株式会社 自動伴奏装置
JP3303617B2 (ja) * 1995-08-07 2002-07-22 ヤマハ株式会社 自動作曲装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60181794A (ja) * 1984-02-02 1985-09-17 マチアスホーナー・アクチエンゲゼルシヤフト 電子楽器の音響発生回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60181794A (ja) * 1984-02-02 1985-09-17 マチアスホーナー・アクチエンゲゼルシヤフト 電子楽器の音響発生回路

Also Published As

Publication number Publication date
JPS63286883A (ja) 1988-11-24

Similar Documents

Publication Publication Date Title
US5496962A (en) System for real-time music composition and synthesis
US6124543A (en) Apparatus and method for automatically composing music according to a user-inputted theme melody
JP3271282B2 (ja) 自動メロディ生成装置
EP1638077A1 (en) Automatic rendition style determining apparatus, method and computer program
Norgaard et al. Testing cognitive theories by creating a pattern-based probabilistic algorithm for melody and rhythm in jazz improvisation.
JPH07219536A (ja) 自動編曲装置
JP2759110B2 (ja) 自動作曲機
EP1391873B1 (en) Rendition style determination apparatus and method
JPH07113828B2 (ja) 自動作曲機
JP2541451B2 (ja) リズム生成装置及びリズム分析装置
Levitt A representation for musical dialects
JPH08328565A (ja) リズム生成装置及び自動作曲機
JPH05181409A (ja) 自動作曲機
JP2715412B2 (ja) メロディ分析機能付音楽装置及び自動作曲機
JP2638817B2 (ja) 伴奏ライン基音決定装置
JPS63311298A (ja) 自動作曲機
Unemi A design of genetic encoding for breeding short musical pieces
JP2666063B2 (ja) 自動作曲機
JPS63250696A (ja) 自動作曲機
JP3364940B2 (ja) 自動作曲機
JP3088919B2 (ja) 調判定音楽装置
JPH07111620B2 (ja) 自動作曲機
JP2541258B2 (ja) リズム生成装置
JPH07111622B2 (ja) 自動作曲機
JPS61156099A (ja) 自動演奏装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071206

Year of fee payment: 12