JP2759110B2 - Automatic composer - Google Patents

Automatic composer

Info

Publication number
JP2759110B2
JP2759110B2 JP8307491A JP30749196A JP2759110B2 JP 2759110 B2 JP2759110 B2 JP 2759110B2 JP 8307491 A JP8307491 A JP 8307491A JP 30749196 A JP30749196 A JP 30749196A JP 2759110 B2 JP2759110 B2 JP 2759110B2
Authority
JP
Japan
Prior art keywords
melody
section
parameter
motif
music
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP8307491A
Other languages
Japanese (ja)
Other versions
JPH09244648A (en
Inventor
純一 南高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KASHIO KEISANKI KK
Original Assignee
KASHIO KEISANKI KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KASHIO KEISANKI KK filed Critical KASHIO KEISANKI KK
Priority to JP8307491A priority Critical patent/JP2759110B2/en
Publication of JPH09244648A publication Critical patent/JPH09244648A/en
Application granted granted Critical
Publication of JP2759110B2 publication Critical patent/JP2759110B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】この発明は音楽装置に関し、
特に、メロディを生成(compose)する自動作曲
機に属する。 【0002】 【従来の技術】自動作曲機の良否に関し、考慮すべき重
要な要素の1つは、人間がこれまで親しんできたような
楽曲、換言すれば、純機械的ではなく音楽性に富む曲を
生成する潜在能力をその作曲機がもちあわせているかど
うかということである。例えば、特願昭56−1256
03号(特公昭60−40027号)には、一連の音高
データ(例えば、12音階のデータ)から個々の音高デ
ータをランダムにサンプルし、サンプルしたものが限ら
れた条件を満足すれば、それをメロディノートとして採
択し、条件を満たさなければメロディノートとしては採
択せず、再度、サンプルし直して条件検査をくり返す方
式の自動作曲機が開示されている。したがって、この自
動作曲機のメロディ生成プロセスは基本的にトライアン
ドエラー方式である。音高データをランダムにサンプル
した段階では完全に無秩序な音高の列ができあがる。こ
の無秩序な音高の列のままでは、全くメロディとしては
成立し得ない(天文学的な偶発性によってよいメロディ
ができる可能性はあるが)。そこで、この無秩序になん
らかの秩序をもたらすために、条件検査という一種のフ
ィルタリング(選別)を行っている。この場合、選別の
程度が重要な要素になる。選別がきつすぎれば、生成さ
れるメロディはワンパターン化するであろうし、ゆるす
ぎれば、元の無秩序性が支配的となるであろう。上記の
自動作曲機は、人間がなれ親しんできたメロディという
よりは、作風のとらえどころがないメロディを作曲する
のに適しており、主として、聴音訓練や演奏練習用の曲
作成装置として有効である(なじみのない斬新な曲は採
譜や演奏が一般に困難になる)。この意味で冒頭にあげ
た能力はもちあわせていない。本発明はまさにこの能力
を配慮したものである。 【0003】 【発明が解決しようとする課題】すなわち、本発明の目
的は曲のコンセプトないしエッセンスを維持しつつ、進
行に合わせて多様に変化し得るような曲を作曲可能な自
動作曲機を提供することである。 【0004】 【課題を解決するための手段】この発明によれば、複数
の音楽区間にわたるメロディを各音楽区間を生成単位と
して生成する自動作曲機において、上記複数の音楽区間
に対するコード進行の情報を付与するコード進行付与手
段と、モチーフを特徴づけるモチーフ特徴パラメータを
発生するモチーフ特徴パラメータ発生手段と、曲想を変
化させるための曲想変化パラメータを発生する曲想変化
パラメータ発生手段と、上記モチーフ特徴パラメータ、
上記曲想変化パラメータ及び音楽区間の位置情報を入力
変数として用いて、これらの入力変数に基づき、それぞ
れの音楽区間において生成すべき区間メロディを特徴づ
ける区間メロディ特徴パラメータを発生する区間メロデ
ィ特徴パラメータ発生手段と、上記区間メロディ特徴パ
ラメータと上記コード進行とを入力変数として用いて、
これらの入力変数に基づき各音楽区間における区間メロ
ディを生成する区間メロディ生成手段と、を有すること
を特徴とする自動作曲機が提供される。 【0005】この構成によれば、楽曲の動機であるモチ
ーフの音楽内容を特徴づけるモチーフ特徴パラメータ
(PA)をモチーフ特徴パラメータ発生手段にて発生さ
せると共に、曲想を変化させるための曲想変化パラメー
タ(PB)を曲想変化パラメータ発生手段にて発生さ
せ、モチーフ特徴パラメータ、曲想変化パラメータ及び
音楽区間の位置情報(例えば小節番号)を入力変数とし
て用いて、これら入力変数に基づき、それぞれの音楽区
間で生成すべき区間メロディの音楽内容(音高列、音長
列等)を特徴づけるパラメータ(区間メロディ特徴パラ
メータPC)を区間メロディ特徴パラメータ発生手段に
て発生させている。したがって、区間メロディ特徴パラ
メータの区間毎の時系列は、音楽の進行に依存して多様
に変化し得る。更に、区間メロディ生成手段が設けら
れ、この区間メロディ生成手段は上記区間メロディ特徴
パラメータとコード進行付与手段からのコード進行とを
入力変数として用いて、これら入力変数に基づき各音楽
区間における区間メロディを生成する。この結果、進行
にあわせて多様に変化し得るメロディが生成(comp
ose)される。なぜならば、区間メロディ特徴パラメ
ータの時系列の性質が区間メロディの時系列(メロディ
の流れ)に反映されるからである。また、区間メロディ
特徴パラメータ発生手段は入力変数の1つとしてモチー
フ特徴パラメータを使用するのでその出力変数である区
間メロディ特徴パラメータはモチーフ特徴パラメータの
影響を受ける。したがって生成される各区間のメロディ
にもモチーフ特徴パラメータの影響が反映し、モチーフ
特徴パラメータを楽曲のエッセンスとしたメロディが生
成される。 【0006】このような基本構成に加え、ユーザーの好
みを生成メロディに反映させることができれば更に望ま
しい。このために、一構成例では、ユーザーからの入力
に従って特定の音楽区間を指定する区間指定手段と、指
定された特定の音楽区間について、ユーザーからの入力
に従って当該音楽区間における区間メロディの音楽内容
を特徴づける区間メロディ特徴パラメータを設定する区
間メロディ特徴パラメータ設定手段と、を更に有し、上
記区間メロディ生成手段は、この区間メロディ特徴パラ
メータ設定手段の設定した区間メロディ特徴パラメータ
を上記区間メロディ特徴パラメータ発生手段からの区間
メロディ特徴パラメータの代りに用いて指定された特定
の音楽区間における区間メロディを生成することを特徴
とする。 【0007】好ましくは、上記区間メロディ特徴パラメ
ータは複数の種類から成り、上記区間メロディ特徴パラ
メータ設定手段は指定された特定の音楽区間について種
類毎に区間メロディ特徴パラメータを設定する。 【0008】好ましくは、上記区間メロディ特徴パラメ
ータ設定手段は、(a)指定された特定の音楽区間につ
いて上記区間メロディ特徴パラメータ発生手段が発生し
た区間メロディ特徴パラメータのデータメッセージを表
示する表示手段と、(b)表示された区間メロディ特徴
パラメータのデータメッセージに対するユーザーからの
種類毎のパラメータ変更入力を受理する受理手段と、を
有する。 【0009】好ましい実施の態様として、上記区間メロ
ディ特徴パラメータ設定手段は、更に、上記区間メロデ
ィ特徴パラメータ発生手段からの複数の区間メロディ特
徴パラメータの各値をそれぞれ、対応する主観パラメー
タの値に変換し、上記表示手段に上記データメッセージ
としてこの変換した主観パラメータの値を含むメッセー
ジを表示させる変換手段と、ユーザーから上記パラメー
タ変更入力として入力された主観パラメータの修正値を
対応する区間メロディ特徴パラメータの修正値に逆変換
する逆変換手段と、を有する。 【0010】一構成例において、ここに上記区間メロデ
ィ特徴パラメータ発生手段は複数種の区間メロディ特徴
パラメータを発生する手段から成り、各々の種類の区間
メロディ特徴パラメータは、上記区間メロディ生成手段
の動作の結果である区間メロディの音楽内容における対
応する音楽的特徴をコントロールするように機能する。 【0011】好ましくは、区間メロディの音楽内容にお
ける個々の音楽的特徴についてのユーザーの好みを学習
する学習手段を更に設け、この学習手段が、(a)作曲
結果である、複数の音楽区間にわたるメロディを出力す
る出力手段と、(b)データ項目として特定の音楽区
間、当該特定の音楽区間における特定の区間メロディ特
徴パラメータの種類及び当該種類の区間メロディ特徴パ
ラメータの修正値を含む修正データレコードをユーザー
からの修正指示入力に従って作成する修正データレコー
ド作成手段と、(c)上記修正データレコードのファイ
ルを記憶する修正ファイル記憶手段と、(d)再び作曲
する際に、上記区間メロディ特徴パラメータ発生手段の
出力よりも上記修正ファイル記憶手段内の各修正データ
レコードを優先させ、各修正データレコードに書かれ
た、特定の音楽区間の特定の種類の特徴パラメータの修
正値を上記区間メロディ生成手段に使用させてメロディ
を生成させる優先制御手段と、を有する。 【0012】 【発明の実施の形態】以下、図面を参照して本発明の実
施形態について説明する。 <全体構成>本実施形態に係る自動作曲機の全体回路構
成を図1に示す。図中、1は入力装置、2はコード構成
音メモリ、3はコード進行メモリ、4はモチーフメモ
リ、5はパラメータBメモリ、6はCPU、7はワーク
メモリ、8はパラメータCメモリ、9は学習データメモ
リ、10はメロディデータメモリ、11はモニター、1
2はCRT、13は五線譜プリンタ、14は楽音形成回
路、15はサウンドシステム、16は外部記憶装置であ
る。 【0013】上記モチーフメモリ4は、入力装置1より
入力されるモチーフ(入力メロディ)の情報を格納する
ところである。モチーフ情報は音高と音長(音価)のデ
ータの列で構成される。自動作曲に際し、CPU6はこ
のモチーフ情報からそのモチーフを特徴づけるパラメー
タ(モチーフ特徴パラメータ)を抽出することになる。 【0014】上記コード進行メモリ3には、コードネー
ムの列で表現されるコード進行情報が格納される。コー
ド進行情報は、入力装置1より、ユーザーが逐次、コー
ドを指定して入力してもよく、あるいは、大ざっぱな指
定(例えば楽曲の形式の指定)に応答して、CPU6が
コード進行を自動生成するようにしてもよい。コード進
行の自動生成は、例えば、基本的なコードパターン(多
用されるコードパターン)の連結、あるいは許されるコ
ード相互の連結によって可能であり、連結の論理として
は、例えばマルコフ連鎖のモデルが使用できる。ただ
し、コード進行がユーザーにより直接的に指定される
か、マシンにより自動的に生成されるかは本発明にとっ
て重要なことではない。 【0015】コード構成音メモリ2には各種のコードの
構成音(コードメンバーの音高データ)が格納されてお
り、本例の場合、上記コード進行メモリ3の各アドレス
の内容(コードネーム)より、コード構成音メモリ2上
の特定のコード構成音データの格納エリアが指定される
ようになっている。CPU6は、自動作曲の際、コード
変更のタイミングごとに(例えば1小節ごとに)、コー
ド進行メモリ3のアドレスを進め、その内容であるコー
ドネームからコード構成音メモリ2上のアドレスを算出
し、コードを構成する各音高データを読み出す。 【0016】一方、パラメータBメモリには、曲想を変
化させるためのパラメータBが記憶されており、自動作
曲の際、CPU6は、このパラメータBと、上記モチー
フ特徴パラメータと、楽曲進行区間変数(例えば小節番
号)とに依存するパラメータCを進行区間別に生成す
る。このパラメータCの生成に関しては後で詳述するが
生成するメロディを制御もしくは特徴づける性質をもっ
ている。生成されたパラメータCはパラメータCメモリ
に格納される。 【0017】ワークメモリ7には、CPU6が自動作曲
するプロセスにおいて生成する中間データ(例えば、加
工中のメロディデータ)などが記憶される。メロディデ
ータメモリ10には完成された曲を構成するメロディデ
ータが記憶される。完成された曲は必要に応じて、モニ
ター11に出力することができる。例えば、楽音形成回
路14、サウンドシステム15を通して試聴することが
できる。また、五線譜プリンタ13より、楽譜の写しを
得ることができる。 【0018】モニター11を通じて使用者は、部分的に
曲を修正することを望む場合がある。本実施形態におい
ては、このような場合、CRT12と入力装置1を介し
て、ユーザーは修正を要求することができ、インターラ
クティブな形式で修正が実行される。修正されたデータ
は学習データメモリ9に知識として蓄積される。後の自
動作曲に際し、CPU6はこの知識を利用して、メロデ
ィを生成する。外部記憶装置16は、完成した曲のバッ
クアップコピーや、学習した知識、その他の写し、ある
いは、代りとなる自動作曲プログラムの資源として利用
される。 【0019】<自動作曲機能>次に本実施形態に係る自
動作曲機の全体的な機能について、図2を参照して説明
する。同図において、頭文字Iで始まる符号で参照され
るブロックは情報もしくは情報源を示している。例え
ば、I1はモチーフ情報であり、図1でいえば、モチー
フメモリ4に記憶される情報である。I2はパラメータ
Bで、これは、図1のパラメータBメモリに入っている
情報である。また、I3はコード進行情報であり、これ
は図1のコード進行メモリ3から与えられる情報であ
る。I4は生成されたメロディであり、これは図1のメ
ロディデータメモリ10に格納される。一方、頭文字F
で始まる符号が指示するブロックは自動作曲の各機能を
示している。図に示すように、主な機能として、モチー
フ情報を評価するモチーフ評価機能F1、その評価結果
からモチーフパラメータを抽出するモチーフパラメータ
抽出機能F2、モチーフパラメータ抽出機能F2からの
モチーフ特徴パラメータとコード進行情報に基づいてメ
ロディを発生するメロディ発生機能F3がある。さら
に、生成されたメロディI4を、使用者によるモニタリ
ングD1を通じて必要な部分を修正し、学習する修正学
習機能F4とその学習によるパラメータ変更機能F5を
含んでいる。 【0020】詳細に述べると、上記評価機能F1は本例
では、モチーフに含まれる非和声音を抽出する非和声音
抽出機能となっており、各種の非和声音を抽出すること
ができる。ここでは、先取音抽出21、倚音抽出22、
ししゅう音抽出23、経過音抽出24、装飾音抽出25
及びその他の非和声音抽出26により各種の非和声音が
抽出される。なお、各抽出21〜26が抽出する非和声
音として「先取音」、「倚音」、などが挙げられている
が、ここの「先取音」、「倚音」の意味は、和声学上の
「先取音」、「倚音」と完全に同一である必要はない。
別のいい方をすれば、和声学における各非和声音の名称
については音楽学者毎に多少の相違が見受けられ、定義
についても楽曲のジャンルや時代の流れによって変化し
ており自然言語ほどではないにしてもあいまい性があ
り、コンピュータ上で要求される定義を満たし得ない。
したがって、正確にいえば先取音抽出21は第1種の非
和声音(先取音とみてよいような非和声音)を抽出する
機能をもち、倚音抽出22は第2種の非和声音を抽出す
る機能をもち、以下、同様に第3種、第4種……という
ことである。評価機能F1内の最後の機能として、HD
i(モチーフデータ)に各非和声音に対応する定数(非
和声音識別子)を代入する機能27が示されているが、
この機能は、各非和声音抽出機能21〜26内に組み込
むことができる。 【0021】以上の評価機能F1は、モチーフ情報I1
からそのモチーフを特徴づけるパラメータを抽出する際
の前処理的な機能であり、その意味で、モチーフパラメ
ータ抽出機能F2の一部とみることもできる。 【0022】図2に従うと、モチーフパラメータ抽出機
能F2は、モチーフ評価機能F1の評価結果(この場
合、モチーフのどこがどの種類の非和声音になっている
かを示す非和声音識別情報付のモチーフデータ)から、
モチーフを特徴づけるパラメータを抽出する。本図で
は、モチーフパラメータ抽出機能F2には、各非和声音
の数を抽出する機能31、モチーフに含まれる和声音の
総数と非和声音の総数を抽出する機能32、モチーフの
和声音(分散和音)の型のパラメータを抽出する機能3
3、及びモチーフのなめらかさのパラメータを抽出する
機能34が含まれている。 【0023】ここで、モチーフの評価機能F1とモチー
フパラメータ抽出機能F2が実行する「抽出区間」の単
位について簡単に説明する。この抽出区間の単位は、モ
チーフ(入力メロディ)の所定の区間である。例えば、
モチーフ(入力メロディ)が1小節を単位として変化す
るコード進行に沿うフレーズをもつとみてよい場合(多
くの場合、これは成立する)には、1小節を抽出区間の
単位とすることができる。このような場合、モチーフが
N小節の長さをもつとすれば、第1、第2……第N小節
の各区間について、機能F1、F2により、評価、抽出
が行われる。説明の便宜上、以下の説明では、特にこと
わらないかぎり、モチーフの長さは1小節とし、かつ、
曲の最初の小節とし、機能F2は、この第1小節のモチ
ーフを特徴づけるパラメータ(後述するパラメータPA
j)を抽出するものとする。 【0024】一方、メロディ発生機能F3の方にも、メ
ロディを発生制御する「区間」(曲の「進行区間」)の
概念が存在する。例えば、コード進行情報I3が1小節
を単位とするコードの列(例えば、i小節はC、i+1
小節はC、i+2小節はF、i+3小節はG)であると
すると、上記の「進行区間」として「1小節の長さ」が
使用できる。 【0025】メロディ発生機能F3のうち、パラメータ
C演算機能F31は、この「進行区間」を単位とするパ
ラメータCを生成するところである。パラメータCは上
記モチーフパラメータ抽出機能F2より与えられるモチ
ーフ特徴パラメータに依存する性質と「進行区間」(例
えば小節番号)に依存する性質を有している。数学的に
いえば、パラメータCをPC、モチーフ特徴パラメータ
をPA、曲の「進行区間」の番号をiで表わすと、パラ
メータCはPC=f(PA、i)で表わすことができ
る。PC=f(PA)の関係は、モチーフパラメータP
Aによって特徴づけられるモチーフのエッセンスが、曲
の全体に反映されることを示唆している。また、PC=
f(i)の関係は、曲の進行区間ごとに、パラメータC
が決められる(割り当てられる)ことを示唆している。
パラメータ演算機能F31が発生するパラメータCは、
図2に示すように、メロディ発生機能F3の残りの要
素、すなわち、分散和音発生機能F32と非和声音付加
機能F33に与えられ、メロディの発生を制御するパラ
メータとして使用される。換言すれば、パラメータCは
生成するメロディを制御、もしくは特徴づけるパラメー
タ(生成メロディ特徴パラメータ)である。 【0026】図2においては、パラメータC演算機能F
31はパラメータCの演算のために、上記モチーフ特徴
パラメータ、進行区間番号i以外に、パラメータB(図
1のパラメータBメモリ5に入っている情報)も使用す
るようになっている。パラメータBメモリ5は、パラメ
ータCの形成との関係でいえば、「データ圧縮」として
機能するものである。すなわち、パラメータCを形成す
る構成(生成メロディ特徴パラメータ発生手段)は、モ
チーフ特徴パラメータPAによって、パラメータCのデ
ータベース{f(i)}のなかから、PAに合ったもの
を選択する構造も可能であるが、そうすると、iごとに
値を用意するために、非常に大きな記憶容量を必要とす
る。要するに、本実施形態の場合、パラメータBメモリ
5は生成メロディ特徴パラメータ発生手段の一要素であ
る。 【0027】分散和音発生機能F32は、完成されるメ
ロディのうち、分散和音を発生するところである。その
構成要素の1つであるコード構成音の読み出し機能41
は、コード進行情報I3に従って、コード構成音メモリ
2(図1)から対応するコード(和音)の各構成音を読
み出すところである。次の要素であるコード構成音の転
回機能42は上記機能41の読み出したコード構成音を
進行区間(例えば小節区間)ごとに決められたパラメー
タC(コード転回のパラメータ等)に従って、コード転
回を実行するところである。この機能42は、主として
各進行区間内の音域を制御する。さらに、分散和音発生
機能F32には、MEDi(和声音)を直前の音から決
定する機能43や、分散和音の型(パターン)を修正す
る機能44などが含まれる。分散和音発生機能F32が
発生する分散和音は、コード進行を守るものであり、さ
らに、進行区間ごとに、パラメータCにより制御された
パターンをもっている。 【0028】非和声音付加機能F33は、上記分散和音
発生機能F32から与えられる分散和音の間に非和声音
を配置、付加するところである。図示の例では、倚音付
加機能51、経過音付加機能52、ししゅう音付加機能
53、装飾音付加機能54がある。ここでも「倚音」、
「経過音」、「ししゅう音」、「装飾音」の名前は、便
宜上のものであり、正確にはメロディ発生における第1
種、第2種、第3種、第4種の非和声音と呼ぶことがで
きる。1つの重要な点は、各機能51〜54は、それぞ
れの機能内において定義された非和声音付加のルール
を、進行区間ごとに与えられるパラメータCに従って適
用することである。例えば、パラメータCが倚音付加を
禁止している場合には、倚音付加機能51は、結局のと
ころ、倚音は付加しない。また、倚音をつける数もパラ
メータCによって制御できる。つまり、各機能51〜5
4は、パラメータCによって制御された非和声音付加を
実行する。もっとも、一義性を避け、ランダム的な要素
を導入することは自由であり、好ましい。ランダム(変
動)導入機能は、各非和音の付加機能51〜54内に組
み込んでもよいし、あるいはパラメータC演算機能F3
1内に組み込んでもよく、あるいは、両者間で適当なト
レードオフ(ランダム導入機能の分担)を行ってもよ
い。 【0029】図2の非和声音付加のブロックF33内に
は音長修正55の機能ブロックも描いてある。音長修正
機能55は、各進行区間(例えば1小節)の長さを決め
られた長さに調整するために、メロディの各音の音長
(音価、時価)を修正するところである。上記メロディ
発生機能F3が進行区間ごとに生成したメロディはメロ
ディデータメモリ10(図1)に格納される。なお、モ
チーフは本例では曲の冒頭(第1小節目)のメロディで
あり、メロディ発生機能F3が発生するメロディはこの
モチーフのメロディに続くメロディである。したがっ
て、後の処理の便宜上、メロディデータメモリ10に
は、モチーフデータを先頭部とする形式で曲のメロディ
データが配列される。 【0030】図2では、以上の自動作曲機能により自動
作曲されたメロディを符号I4で示してある。この完成
した曲に対して、ユーザーはモニタリングD1により、
試聴などを行うことができる。モニタリングD1の結
果、ユーザーは生成された曲に満足(O.K)であれ
ば、その曲のデータは何らの修正も行われない。しか
し、不満足な箇所があれば、ユーザーは、その区間を入
力装置1(図1)により自動作曲機に指定することがで
きる。これに対し、自動作曲機はその区間を「学習」す
るとともに、その区間のどのパラメータをどのように変
換したいかなどの質問をCRT12などを通してユーザ
ーに問い合わせる。この場合の質問の内容はユーザーに
とって理解しやすい形式であるのが望ましい(後述する
ように、本実施形態ではそのために主観/客観のパラメ
ータ変換機能をもっている)。自動作曲機からの問い合
わせに対し、ユーザーは希望するパラメータを指定し、
自動作曲機は、その指示内容を学習する。図2の修正・
学習機能F4は以上の学習を行うところであり、学習し
た結果(どの区間をどのパラメータに変更するかという
内容)は知識として学習データメモリ9(図1)に蓄積
される。 【0031】後に入力されるモチーフに対し、自動作曲
機は学習によるパラメータ変更機能F5を起動すること
により、ユーザーの希望に沿うかたちでメロディを生成
する。すなわち、ユーザーの希望した区間では、パラメ
ータC演算機能F31が演算する結果より、学習による
パラメータ変更機能F5が提供するパラメータの方が優
先されてメロディが生成されることになる。結果とし
て、生成されるメロディはユーザーの好みを反映したも
のになり、学習の成果が発輝される。なお、この学習機
能は、まったく違った傾向の曲を作成する際には適用し
ない方がよい。この目的のため、例えば、ユーザーから
の曲風指定が入力装置1(図1)から与えられた場合、
その指定に係る曲風に割り当てた学習機能の部分を作動
することができる。ごく皮相的にいうと、上記の部分
的、分野別の学習機能は、ワードプロセッサにおける熟
語等の学習機能と共通した側面をもっている。もちろ
ん、実体は全く異なっている。 【0032】<予備事項>以下、実施形態の詳細な動作
説明に入るが、その前に予備的な事項について説明す
る。まず、以下の説明では、特記しない限り、音高に対
するデータ(音高データ)の割り当ては図3のbに示す
ものを使用する。すなわち、半音上がるごとに値がプラ
ス1になる連続する整数値を音階の各音高に割り当てた
ものである。なお休符は値ゼロで表現する。これ以外
に、いくつかの音高データの割り当てが可能であり、そ
の一例を図3のaに示してある。また、音長(音価)の
最小単位は16分音符とする。すなわち、16分音符の
音長データは1であり、その2倍の8分音符の音長デー
タは2である。また、「抽出区間」や「進行区間」の単
位は1小節とする。これに関連し、コード進行情報も1
小節当り1コードとする。さらに、モチーフ(入力メロ
ディ)の長さも特記しない限り、1小節とする。また小
節の長さも、小節番号によらず同じ長さであることを想
定する。 【0033】説明の便宜上、各コードは、4つの音高か
ら成るとする。ここでは、コードとして独立の4声の和
音、例えば(ド、ミ、ソ、シ)のCメジャーセブンスの
ようなタイプと、そのうち2声がオクターブ差になる3
和音(トライアド)のタイプがある。したがって、
(ド、ミ、ソ)の3和音は、本例では 【外1】 としている。これに関連し、コード構成音メモリ2の各
コードエリアは4つあり各アドレスに、各構成音の音高
に対応する値が入っている。例えば、 【外1】の場合は、(1、5、8、13)のデータにな
っている。以上の前提は、説明の便宜のためにすぎず、
単なる例示的前提である。 【0034】図4は、動作説明の為の入力データ例であ
る。図4(1)に示す楽譜は、以下の動作説明で例とし
て挙げるモチーフである。図4の残りは自明な記載なの
で、ここでは説明を省略する。図5には、形成されたメ
ロディの例を示してある。上方に示す楽譜のうち、第1
小節目が入力されたメロディ(モチーフ)であり、第
2、第3、第4小節のところは、自動作曲機により自動
生成されたメロディを示している。第2、第3、第4小
節の下に示す、Fmaj、G7、Cmajは、コード進
行の第2小節、第3小節、第4小節の各コードを示して
いる(図4(3)も参照のこと)。図5の下半分に示す
楽譜は自動作曲機に修正学習を行なわせた後、再度、同
じモチーフに対して自動作曲機が生成したメロディであ
る。図より、第2小節目が修正されていることがわか
る。 【0035】図6は以下のフローチャートで使用する主
な変数のリストを示す図である。自明な記載であるの
で、ここでは説明を省略する。以上で、予備的な事項の
説明を終え、いまから詳細な動作説明に入ることにす
る。 【0036】<非和声音抽出>図7に、非和声音抽出の
フローを示す。図中、iはモチーフデータの番号を示す
変数である。7−2では、i番目の音(正確にはモチー
フ小節内のi番目のノート)に関して、同小節内の後ろ
にある音符の数を計算し、変数AFTに設定する。同様
に、小節内の前にある音符の数を計算し、変数BEFに
設定している。7−3では、着目しているi番目の音を
中心として、その前後にある隣り合う音の高さの差(音
程)を出している。例えば、a1には、着目しているi
番目より2つ後にある音の高さMDi+2から1つ後に
ある音の高さMDi+1を引いた値(両音高の差)が設
定される。ただし、7−4〜7−9のプロセスで、休符
(値はゼロ、図3参照)の前後で非和声音が抽出されな
いように、片方のMD(モチーフ音高)がゼロ(休符)
の場合には対応する変数aに特別な値を入れている。7
−4〜7−9は各非和声音の抽出プロセスであり、処理
の順序は図示通りである必要はない。原理的にはどの順
番で処理してもよい。この7−4〜7−9でi番目の音
(あるいはその前後の音)が非和声音かどうか検査さ
れ、各抽出処理における抽出条件を満足すれば、対応す
る種類の非和声音として識別される。理解の助けとし
て、図7の右方に、各抽出処理で抽出される非和声音の
例を譜面中、矢印で示してある。つまり、矢印の示す音
符が対応する種類の非和声音である。 【0037】7−10でモチーフ小節内音符番号iをひ
とつ進め、その値がモチーフ小節に含まれる音符の総数
Noを超えるまで、7−2以下の処理を繰り返す。したが
って、7−1〜7−11の処理をひと通り実行すること
により、一小節分のモチーフに含まれる各種の非和声音
が抽出されるわけである。7−4〜7−8の各抽出処理
の詳細は、それぞれ、図8〜図12に示してある。例え
ば、図8は先取音抽出処理の詳細である。もし、着目し
ている音(ここではi番目の音)が小節内の最後の音で
あり(AFT=0が真)、かつその音が次小節の最初の
音と同じ高さである(a2=0が真)ならば、その音は
第1種の非和声音(先取音)である。これが、8−1〜
8−3の意味するところである。 【0038】すなわち、(i)もしAFTがゼロであり、
かつ(ii)もしa2がゼロであれば(iii)MDiは第1種
の非和声音である。この記述に従えば、上記の(i)と(i
i)はルールの前提部(IF部、LHS)であり、(iii)
はルールのアクション部(行動部、結論部、RHS)で
ある。別のいいかたをすれば、上記のルール((i)〜(ii
i))は、本例における第1種の非和声音を定義したもの
である。したがって、ルールを変更もしくは修正するこ
とにより、第1種の非和声音の定義を更新することがで
きる。インプリメンテーションのレベルでいえば、図8
のフロー(ルール(i)〜(iii))は、手続型のプログラミ
ング言語で記述することもできるし、あるいはルールベ
ースシステムなどにおけるルールとしても記述できる。
後者の場合、ルールの更新、改良が容易となり好まし
い。したがって、例えば、論理型プログラミング言語で
も表現できる。 【0039】ルールの見方からすれば、他の抽出処理7
−5〜7−9も同様である。すなわち、図9の9−1〜
9−7は第2種の非和声音のルールもしくは定義であ
り、図10の10−1〜10−11は第3種の非和声音
のルールであり、図11の11−1〜11−11は第4
種の非和声音のルールであり、図12の12−1〜12
−16は第5種の非和声音のルールである。いずれにし
ろ、CPU6(図1)は各図のフローに従って処理を実
行し、抽出条件が成立すれば、関係するモチーフ音高デ
ータを非和声音として認めることになる。なお、図9〜
図12のフローチャートは自明な記述であるので、個々
の詳細な説明は省略する。その代りに、理解を助けるた
めに、図5に示す1小節目のモチーフ 【外2】 に対して、どのような抽出がなされるかについて簡単に
説明してみる。 【0040】この例では、モチーフの音符の総数は5で
あり、最初の音は「ド」(MD1=1)である。したが
って、この一番目の音のとき、図7の7−2において、
AFT(小節内の後ろにある音符数)は4であり、BE
F(小節内の前にある音符数)はゼロである。したがっ
て、先取音抽出処理(図8)でAFTがゼロでないの
で、先取音とは認められない。倚音処理(図9)では、
AFTとBEFの判断は通過するが次のa2(9−4)
では、a2=MD2−MD1=ミ−ド=5−1=4であ
るため通過しない。ししゅう音処理(図10)では、A
FT、BEFによる判断は通過するがa2が4であるた
めに通過しない。図11の経過音、図12の装飾音の処
理でも同様である。結局、一番目の音「ド」はいずれの
非和声音にもならない。iをインクリメントして、2番
目の音「ミ」について同様の抽出検査を行う。ここで
も、「ミ」は非和声音ではないと判断される。i=3の
とき、すなわち、3番目の音「ファ」に対する動作を追
ってみよう。このとき、AFT=2、BEF=2、a1
=5 【外3】 、a2=2(=ソ−ファ)、a3=1(=ファ−ミ)、
a4=4(=ミ−ド)である。 【0041】先取音処理では、a2はゼロでないためス
キップ(不成立)、倚音ではa3が1であるためスキッ
プ、ししゅう音ではa2=2であるが、a3=1である
ためにスキップする。経過音処理では成立する。すなわ
ち、a2=2、a3=1であるから、11−1→11−
2→11−3から11−4→11−7に進み、ここでA
FT=2であるが、a1=5であるため、11−7から
11−8、11−8から11−9に進み、ここでBEF
=2であるがa4=4であるため、11−9から11−
10、11−10から11−11と進み、MDi(ここ
では3番目の音高MD3であるファ)が非和声音である
ことが認められる。装飾音処理では不成立。結局、3番
目の音「ファ」は経過音と判断される。4番目以降の音
については説明を省略する(結果は不成立)。 【0042】図9から図12に示す各非和声音の抽出処
理のアルゴリズムもしくはルールは例示にすぎない。当
業者はこの発明の示すところから他の定義、ルールを容
易に作成することができる。例えば、所望であれば、前
後にある隣り合う音高の差の条件以外に、音長比、強拍
/弱拍などの条件を付加することができる。1つの指標
は、音楽的知識を十分もちあわせていないユーザーから
のモチーフ(メロディ)入力に対し、妥当とされる非和
声音抽出ルールを与えることである。さまざまなモチー
フに対しても、抽出成功率の高いルールが望ましい。 【0043】<モチーフパラメータ抽出>上述の非和声
音抽出機能により、ユーザーの入力したモチーフに関し
て、その非和声音の評価が行われた後、モチーフパラメ
ータ抽出機能により、そのモチーフを特徴づけるパラメ
ータが抽出される。以下、モチーフパラメータ抽出につ
いて詳細に説明する。図13はモチーフパラメータ抽出
を含む処理のフローチャートである。図中、13−1〜
13−4に示す処理がモチーフパラメータ抽出処理であ
る。13−6はパラメータCを演算もしくは発生する処
理であり、これについては別の項で詳述する。また13
−7は学習によるパラメータ変更処理であり、これにつ
いても別の項で詳述する。モチーフパラメータ抽出処理
13−1〜13−4では、モチーフメモリ4(図1)に
あるモチーフ音高データを、パラメータ抽出のために、
ワークメモリ7上において処理する。例えば、モチーフ
音高データの変数MDiの代りに、各種非和声音の識別
値を有する変数HDi(または、レジスタ)が使用され
る。図14は図13の処理13−1の詳細であり、モチ
ーフのうち非和声音であるものに対してはそれぞれ固有
の定数を代入し、和声音に対しては音高データをそのま
まにしておくフローである。図14において、iはモチ
ーフの小節におけるi番目の変数である。図14のフロ
ー14−1〜14−16はそれ自体で明白な記述であ
り、この記述をもって、明細書の説明に代える。したが
って、その詳細な説明は省略する。 【0044】代りに、図5の1小節目に示すモチーフに
対する処理結果を述べることにする。<非和声音抽出>
のところで述べたように、このモチーフ 【外4】 数値表現では図3のbからわかるように、MD=1、M
D2=5、MD3=6、MD4=8、MD5=13とな
る)に対しては3番目の音「ファ」だけが非和声音、特
に経過音であり、他の音は非和声音ではないと判断され
ている。したがって、図14の処理を実行した結果は、
HD1=1、HD2=5、HD3=−40(経過音の識
別値)、HD4=13となる。なお、この図14の処理
は、実際には、非和声音抽出の段階で行うことができ
る。後の理解の助けとして覚えておいて欲しいことは、
HDiが正ならその値が和声音の音高を示しているこ
と、HDiがゼロならi番目のモチーフの音符は休符で
あること(図3のb参照)、HDiが負ならその音は非
和声音であり、その値が非和声音の種類を表わしている
ということである。 【0045】図15は図13の処理13−2の詳細であ
り、モチーフに含まれる各非和声音の数をモチーフパラ
メータとして抽出するフローである。図中、PAjがモ
チーフを特徴づけるパラメータ(パラメータAと呼ぶこ
ともある)もしくはそのパラメータを格納するレジスタ
を示している。15−1から15−4まではこれらのパ
ラメータAの初期化である。次の15−5から15−1
2までの処理により、PA1には、モチーフ(1小節
分)に含まれる先取音の数が、PA2にはモチーフに含
まれる倚音の数が、PA3にはモチーフに含まれるしし
ゅう音の数が、PA4にはモチーフに含まれる経過音の
数が、PA5にはモチーフに含まれる装飾音の数が、P
A6にはその他の非和声音の数が格納されることにな
る。図16は図13の処理13−3の詳細であり、1小
節分のモチーフに含まれる非和声音の総数と、和声音の
総数を算出するフローである。図示の16−1から16
−8までの処理を実行することにより、PA7にはモチ
ーフに含まれる音符数が、PA8にはモチーフに含まれ
る和声音の総数が、PA9にはモチーフに含まれる非和
声音の総数が格納されることになる。 【0046】図17は図13の処理13−4の詳細であ
り、モチーフ(入力メロディ)が示す分散和音の型(和
声音の時系列のパターン)のパラメータを抽出するフロ
ーである。ここでの処理の目的は、モチーフの流れに沿
って分散しているそれぞれの和声音が、そのモチーフ全
体の和声音の集まりのなかで何番目の音高であるかを知
ることである。副次的目的は、何番目の音符が休符にな
っているかを知ることである。図中、ONPUで示す変
数は本自動作曲機で使用される音域(システム音域)を
表わすもので、入力されるモチーフの音域を包含するよ
うに決められている。図示のフロー17−1〜17−1
6では、システム音域の一番下の音高から、順にその音
(和声音)がモチーフに含まれているかどうかを調べ、
ある場合にのみ和声音高番号の変数Mをインクリメント
して、LLiの値としている。また、HDiがゼロのと
き、すなわちi番目のモチーフデータが休符のときには
そのLLiをゼロとして、i番目のモチーフデータが休
符であることを記憶している。また、HDiが負のと
き、すなわち非和声音の音符に対してはスキップしてい
る。 【0047】図17のフローの右上方にこのフローの処
理結果の一例を挙げている。この例では、モチーフの一
番目の音(HD1で示してある)は和声音で、図示のモ
チーフのなかでは一番高い和声音になっている。2番目
の音HD2は非和声音である。3番目の音HD3は和声
音(モチーフの2番目に現われる和声音)だが、最初の
和声音より低い音高の和声音である。モチーフの4番目
の音符HD4も和声音(モチーフの3番目に現われる和
声音)だが、さらに低い音高になっている。モチーフの
5番目HD5は休符である。モチーフの6番目(この場
合最後)の音符HD6は和声音であり、モチーフのなか
で4番目の音符と同じく、最低の音高になっている。こ
の図からわかるように、モチーフの和声音の流れは、全
体として下行のパターンをもっている。図17のフロー
の結果はこのモチーフ例に対して次のようになる。ま
ず、HD5に対してはそのLLiとして休符を示すゼロ
が割当てられる。HD4に対してはそのLLiとしてモ
チーフのなかで最低音の和声音であることを示す1が割
り当てられる。HD6に対しても同様である。HD3に
はそのLLiとしてモチーフのなかで下から2番目の高
さの和声音であることを示す2が割り当てられる。HD
2は非和声音であり、LLiは割り当てられない。HD
1はモチーフに含まれる和声音のなかで最高音であり、
下から数えれば3番目の和声音高なので、そのLLiに
は3が割り当てられる。つまり、HD1(1番目の和声
音)のLL1は3、HD3(2番目に現われる和声音)
のLL2は2、HD4(3番目に現われる和声音)のL
L3は1、3番目の和声音に次いで休符がきてLL4は
0、その次の和声音HD6のLL5は1となり、モチー
フの和声音の流れ、または型(ここでは休符も含む)が
特定されたことになる。すなわち、{LL}=(LL
1、LL2、LL3、LL4、LL5)=(3、2、
1、0、1)が得られる。 【0048】この和声音(分散和音)の型のパラメータ
はPAの形式では示していないが、これもモチーフを特
徴づけるパラメータである。この型を後で詳述するメロ
ディ生成において、なんらの変更も加えることなく使用
すれば、非常に反復性に富む統一性の高いメロディが生
成されることになる。なお、図5のモチーフ 【外2】に対しては、1番目に現われる和声音ドのLL
1=1、2番目に現われる和声音ミのLL2=2、3番
目に現われる和声音ソのLL3=3、4番目に現われる
和声音 【外5】 のLL4=4となる。これは上行のパターンである。 【0049】図18は図13における処理13−5の詳
細であり、モチーフのなめらかさの度合(跳躍の度合)
を求めている。図示の例18−1〜18−7では、モチ
ーフにおける隣り合う和声音のLLの差を調べることに
より、なめらかさの値を求め、PA10に設定してい
る。特にこの例では、隣り合う和声音のLLの差のうち
最大値をPA10の値としている。上述した図14から
図18に示すアルゴリズムは単なる例示にすぎない。当
業者には、本発明の開示するところに従い、他のアルゴ
リズムを容易につくることができる。要するに機能的に
同等もしくは類似のものが使用でき、CPU6等によ
り、所要の機能が実現されるものであればよい。さら
に、上述した以外のモチーフ特徴パラメータ(例えばリ
ズム関係のパラメータ)を抽出するようにしてもよい。
以上で、モチーフ特徴パラメータの説明を終える。 【0050】メロディ発生 メロディ発生機能F3(図2)は、上述したようなモチ
ーフ特徴パラメータと、コード進行情報とに基づいてメ
ロディを自動生成する機能である。本実施形態において
は、メロディ発生機能は大きく分けて、生成するメロデ
ィを制御、または特徴づけるパラメータCを演算する機
能と、与えられたパラメータCに従って、具体的にメロ
ディを発生する機能とから成っている。後者の機能はコ
ード進行情報を参照して進行中のコードについての分散
和音を発生する機能と、分散する和声音の前後あるいは
間に非和声音を付ける機能から成る。 【0051】<パラメータCの発生>パラメータCの発
生機能はメロディ発生機能F3の一部を成すものである
が、その詳細な説明に入る前に、いったん、実施形態を
離れ楽曲の基本的な性質について簡単にレビューしてみ
よう。一般に、楽曲には、統一性と多様性があるとされ
る。例えば、反復性の強いメロディはよく統一されたメ
ロディである。例えば、メロディの音域が時間の流れに
従って変化するときなど、多様性が発現する。時間性と
かかわって、統一性、多様性が存在する。もちろん、楽
曲により、統一性と多様性の度合はさまざまである。あ
る楽曲では統一性が強調され、ある楽曲では時間ととも
にメロディが流転し続けることもある。しかし、完全に
ランダムな音価と音高の列はいまだ、そしておそらく今
後も、音楽的な意味における楽曲と評価されることはあ
りそうにない。ある面からすれば、音楽は喜怒哀楽の表
現であり、完全に無秩序でなんらの規則性も存在しない
音の列は無意味である。この発明では、コード進行に沿
うメロディを発生しており、これにより1つの秩序性を
導入している。さらに、この発明では、ユーザーから入
力されたモチーフからそのモチーフを特徴づけるパラメ
ータを抽出し、そのパラメータに基づいてメロディを発
生している。これにより、生成される楽曲にモチーフが
反映され、エッセンスが保たれる。 【0052】楽曲における統一性、多様性は上述したよ
うに時間と深く係っており、例えば前に流れたフレーズ
がそのままのかたちであるいは変更されつつもなんらか
の意味で類似性をもって再び流れ出す、といったことは
よく経験するところである。したがって、比較的長い音
楽的時間(例えば1曲の長さ)にわたり、まったく変化
しない規則によってメロディの生成を制御することは、
一般に不利であり、よい結果をもたらさないといえる。
本自動作曲機はこの点についても配慮されている。すな
わち、本自動作曲機にあっては、作曲する曲を適当な長
さの「区間」に分け、区間別にメロディを制御するため
のパラメータCを割り当て、それぞれの区間に割り当て
られたパラメータCにより、それぞれの区間のメロディ
を発生している。特に、本実施形態では、この区間の長
さとして、1小節を選んでいる。区間番号をiとすれば
パラメータC(PC)は、区間番号の関数である。いい
かえれば、パラメータCは区間番号に依存する値をもつ
(パラメータCの第1の性質。実をいうと、コード進行
情報にも同様の性質がある)。さらにモチーフを特徴づ
けるパラメータにもパラメータCは依存する(パラメー
タCの第2の性質)。この場合、モチーフ特徴パラメー
タは区間番号に関係なく、すなわち生成する曲の全体に
わたり、パラメータC内に組み込むことができる。 【0053】さて、図19には、パラメータのマップ例
が示されている。<モチーフパラメータA>の欄に示す
のは、上述した図15から図18に関するモチーフパラ
メータ抽出処理により得られるモチーフ特徴パラメータ
の例である(ただし、和音型のパラメータLLiはこの
欄に示していない)。<メロディ生成パラメータC>の
欄にはパラメータCの例が示されている。パラメータA
群とパラメータC群を結ぶ矢印付点線は、一方のパラメ
ータAが矢印の指すパラメータCに反映されることを意
味している。なお、矢印付点線による結合関係は例示で
ある。パラメータCのなかには、パラメータAに依存し
ないものも存在する。この理由の1つは、本実施形態で
はモチーフは1小節程度の短い長さにしており、必要以
上に多くのパラメータもしくは信頼性の低いパラメータ
を抽出していないことによる。図19には、<パラメー
タB>も示されており、ここでは、振幅パラメータPB
a、周期パラメータPBf、DCパラメータPBdが挙
げられている。このようなパラメータBは、パラメータ
Cを発生する手段を演算型(本実施形態は演算型であ
る)で構成するときに情報源として利用できる。 【0054】この場合、パラメータCは、区間番号(例
えば小節番号)i以外に、PBa、PBf、PBd、P
A(パラメータA)のうち少なくとも1つを変数とし
て、「演算可能」な関数として定義される。すなわち、
パラメータCをPCで表わすと、PCは、 PC=f(i、PA、PBa、PBf、PBd) の形式で表現される。ただし、具体的には、あるPCは
PC=f(i、PA)、あるPCはPC=f(i、PB
d)などのようになり、あるパラメータには依存しない
ことになる。 【0055】図20にはパラメータCの特性例が示され
ている。横軸は楽曲の進行方向(小節番号とみてもよ
い)である。(a)はサイン型1である。このタイプの
パラメータCはcosineあるいはsineを含む演
算で発生することができる。例えば、 PC=cos(i×2π/PBf)×PBa (iは小節番号)の形式で与えられる。図20の(b)
もサイン型2であるが、非負のPC=である。このタイ
プは、例えば、 PC=|cos(i×2π/PBf)×PBa| の形式で与えられる。同じことだが、 F=cos(i×2π/PBf)×PBa を演算し、F0ならPC=F、F<0ならばPC=−
Fとする演算規則でもよい。図20の(c)は周期ピー
ク型のパラメータの例である。このタイプは、例えば、 F=i MOD PBf(iをPBfで割った余り) を演算し、Fがゼロ(周期PBfで割り切れる場合)な
らばPC=定数、FがゼロでなければPCは別の定数値
(例えばPA)にすることで得られる。図20の(d)
はDC型である。このタイプの演算は説明を要しない。
図20の(e)は区分型の例である。ここでは、周期ピ
ーク型に、ある区間(例えばサビの区間)だけ、別の演
算を使用している。このタイプは例えば、上記の周期ピ
ーク型の演算例に加え、N1<i<N2が成立するなら
ば、iの区間用の関数を演算し、その結果をPCとする
ことで得られる。なお、N1<i<N2以外の区間は、周
期ピーク型に限られないことはもちろんである。図20
の(f)は周期ランプ型の例である。このタイプは例え
ば、F=Ki(Kは定数)を演算し、 (N+1)×PBf>F>N×PBf 満足する整数Nを求め(N=INT(F/PBf))、 F−N×PBf=Ki−N×PBf を演算し、その結果をパラメータCの値とすることで得
られる。上記(a)から(f)の特性は、演算により生
成の容易なパラメータCの一例にすぎない。またパラメ
ータCを構成する成分、要素であってもよい。すなわ
ち、(a)から(f)に例示する各型を適当に組み合わ
せたものをパラメータCの値とすることができる。例え
ば、周期の異なるサイン型同士の組み合わせ、サイン型
とDC型の組み合わせ、サイン型と周期ピーク型の組み
合わせなど、数え挙げればきりがない。ちなみに、第2
2図にはPC2(生成メロディの和声音数のパラメー
タ)とPC8(生成メロディのなめらかのパラメータ)
に関する演算例を、また第22B図には成分パラメータ
(PBf2、PBa2、PBd2、PA8)の種々の値
に対し、PC2が小節番号iにより変化する様子を示し
ている。 【0056】演算型の利点の1つは記憶容量の節約であ
る。演算型は本実施形態で採用している方式であり、本
実施形態では、図1のCPU6が、モチーフ特徴パラメ
ータと、パラメータBメモリ5からのパラメータBを使
用して、各パラメータCを小節単位で発生する。これ
が、図13の処理13−6の内容である。これに対し、
図20の(g)に示すパラメータCの特性例は、演算型
には不向きであり、例えば、モチーフ特徴パラメータに
より、パラメータC(i)(曲の各小節を制御するパラ
メータの列)を格納しているパラメータCのデータベー
スから適当なパラメータC(i)を「選択」することに
より実現される。いずれにしても、パラメータCは第1
の性質をもっており、このことは図20の例からも明白
である。すなわち、パラメータCは、楽曲の進行区間
(フローを実行する実施形態では小節)ごとに割り当て
られた値をもつものである。 【0057】さらに、パラメータCはモチーフ特徴パラ
メータを反映する第2の性質をもっている。例えば、図
20の(d)に示すDC型をパラメータCの値またはそ
のDC成分として用いることにより、モチーフの特徴が
小節に依存しない形式でパラメータCに組み込まれるこ
とになる。上述した図20の(a)から(f)に例示す
る演算型では、パラメータCはいずれも、すっきりとし
た規則性をもっている。このような規則性は好ましいこ
とが少なくない。別の面よりすれば、上述したパラメー
タCの発生例では、成分パラメータ(小節番号i、パラ
メータA、パラメータBなど)と演算式が決まれば、そ
の演算結果である対応するパラメータCの値も一義的に
決定される。しかしながら、よりゆるやかな規則性が望
ましい場合も多く、また、ユーザーからすれば、入力し
たモチーフから常にまったく同じメロディが生成される
よりは、メロディの生成を指示するたびに大なり小なり
変化したメロディが生成されることの方を望む、とも考
えられる。本実施形態はこのような点をも配慮してあ
る。すなわち、ランダム化の機能である。このランダム
化機能は図2には明記していないが、図示のパラメータ
演算機能F31、あるいは具体的にメロディを生成する
方の分散和音発生機能F32、非和声音発生機能F33
の内部に組み込むことができる。あるいは、ランダム機
能をこれらの機能F31、F32、F33の間で適当に
分担してもよい。 【0058】説明の便宜上、図21ではパラメータ演算
機能F31が、内部で発生したパラメータCに対し、ラ
ンダム化を導入するものとする。この場合、ランダム導
入前のパラメータCは中間パラメータであり、ランダム
導入後のパラメータが最終的なパラメータC、すなわち
直接的にメロディの発生を制御するパラメータとなる。
図21の(a)はランダム導入前のパラメータCの特性
例であり、図20でいえば同図(c)の周期ピーク型に
属するものである。他の特性例を図21に示していない
のは単に紙面の節約など便宜上の理由だけである。図2
1の(b)にランダム特性例1が示されている。この特
性例の意味するところは、第1に、楽曲の進行方向に依
存しないランダム導入であり、第2にランダムの幅(変
動幅)が中間PC値に依存しない、第3にランダムの値
が元の中間PC値に組み合わされる(例えば加算され
る)、ということである。例えば、RND(N)という
疑似ランダム関数が、−N、−N+1、……0、+1、
……+Nという(2N+1)個の整数値を等しい確率で
発生するとしてみる(このような疑似乱数の発生はよく
知られているところである)。この乱数演算の結果であ
るRND(N)を、中間パラメータCの値(PCと表わ
すことにする)に加算する。 PC+RND(N) この結果を最終的なパラメータCの値(γで表わすこと
にする)とする。すなわち、 γ=PC+RND(N) このランダム導入後のパラメータγは元のPCの値を中
心として、前後に±Nの幅で離散的に振らされた値をと
る。このようなランダム化による導入後のパラメータ特
性例を図21の(c)に例示する。 【0059】図21にはもう1つのランダム特性例が示
されている(同図(d))。この特性例(d)が上記特
性例(b)と異なっている点は、ランダムの幅(変動
幅)が中間PC値に依存していることである。図示の例
では、中間PC値が大きくなるほど変動幅が大きくなる
ように選ばれている。これは、例えばRND(N)の値
に、PCの増加関数U(PC)を乗じ、その結果にPC
の値を加えることで実現できる。例えば γ=PC+RND(N)×U(PC) である。図21の(a)に示すPCにこのようなランダ
ム化を施した結果を同図(e)に例示する。(e)と
(c)との比較からわかるように、(e)の場合、導入
前のPCがゼロのところは変動が生じていない。例え
ば、この種のパラメータは、メロディ発生機能における
ある決定要素として使用することができる。例えば、そ
の値がゼロのとき、ある種の非和声音の付加を禁止する
パラメータとして利用できる。あるいは付加位置を制御
するパラメータとして利用できる。図21(d)の1つ
の拡張は、参照するPCの値により乱数の各値の出現頻
度が一様でなくなるようにすることである。このような
歪んだ確率分布をもつ乱数の値をメロディ制御のパラメ
ータとして使用してもよい。図21の(b)と(d)に
共通している事項は、いづれのランダム導入機能も、元
のPC値を中心もしくは基準として変動幅を導入してい
る点である。より一般化すれば、元のPC値によりラン
ダム導入後の値が制御されることである。もう1つは、
楽曲の進行方向に対して変動幅は変化しないことであ
る。これは、多くの場合に好ましい結果をもたらす。し
かしながら、所望であれば、小節番号に依存して変動幅
を変えるランダム化を選んでもよい。パラメータCの種
類にも依存するが、一般に、ランダム化は大きいほど、
それに起因して生成されるメロディにもより大きな変化
が生成の都度、与えられる。ただし、元のPC値を基準
とするランダム導入機能の場合には、変動幅にも依存す
るが、生成メロディの細かな調整として使用させること
ができる。上では挙げなかったランダム導入機能のもう
1つの利点は、図20(g)に例示するような非演算型
のパラメータCの特性を確率的に得ることができること
である。 【0060】<メロディの具体的発生>以下、本実施形
態におけるメロディの具体的発生について詳細に説明す
る。図23はメロディの生成の全体フローである。その
要部はステップ23−9のメロディ発生にあり、ここで
小節単位で順次、メロディが作成される。フローの残り
の部分は、メモリ間の転送等のための処理である。すな
わち、23−1から23−5までの処理は、モチーフメ
モリ4(図1)にあるモチーフデータをメロディデータ
メモリ10に転送する処理である。23−5に示すNoは
モチーフに含まれる音符数である。23−6や23−1
4に示すMNoは連続的にメロディを作成するときの既
に作られているメロディの音符の総数である。メロディ
は小節単位で行うので、モチーフの小節数を計算してい
る(例えばモチーフデータの音長データから計算でき
る)(23−7)。なお、ここではモチーフが2小節以
上でもよいことを示してある。2小節以上のモチーフに
対する取り扱いは後述するとし、一応、最初の想定通
り、1小節としておく。計算されたモチーフ小節数の値
に1を加算し(23−8)、1小節のメロディが発生し
たら(23−9)、そのデータをメロディデータメモリ
10に書き込む(23−10〜23−13)。23−1
3のNoはもちろん23−9の処理で発生した1小節分の
メロディの音符数である。23−15に示すCNoはコ
ード進行で使用するコードの総数であり、本例ではコー
ド/小節であるので、小節番号がコード総数に達したと
ころでメロディの生成は完了する。さて、要部であるメ
ロディ発生処理23−9は、分散和音の発生の処理と、
非和声音の付加に関する処理と、音長修正に関する処理
を含んでいる。以下、分散和音の発生、非和声音の付
加、音長修正の順で説明する。 【0061】分散和音の発生 図24は分散和音発生処理のフローの例である。最初の
処理はコード構成音の読み出し(24−1)であり、そ
の詳細を図25に示す。図25のコード構成音の読み出
しフローにおいて、25−1から25−4までの処理
は、コード進行メモリ3(図26参照)からコードナン
バーデータ(コードネーム)を順次、読み出していると
ころである。25−2はiの値で示されるコード進行メ
モリ3のアドレスの内容、すなわちi番目のコードネー
ムをレジスタCNiに設定することを表わす。25−3
のEOFは最後のコードネームの次アドレスに格納され
ている終了コード(code)であり、終了コードを読
んだところでコードネームの読み出しは完了する。図5
の例では、コード進行は、1小節目より、Cmaj、F
maj、G7と進み、次のCmajで終りである。図2
6のコード進行メモリ3はこの例に合わせてある。した
がって、CN1=1、CN2=7、CN3=8、CN4
=1となる。 【0062】図25の25−5から25−12までの処
理は、読み出した各コードネームからコード構成音メモ
リ2(図26、図4の(2)参照)を参照し、各コード
ネームのコード構成音の音高データを読み出していると
ころである。本例では各コードは4つの構成音から成る
ことを想定してあり、コード構成音メモリ2上の4つの
連続アドレスに各音高データが低い順に入っている。2
5−7のj=(CNi−1)×4+1は各コードの読み
出し開始アドレスの計算であり、25−8から25−1
0は、その開始アドレスから4つ分の音高データを読み
出し、レジスタKDijに設定しているところである。
コード進行が図5に示すCmaj、Fmaj、G7、C
majをとる場合、このコード構成音の読み出し処理に
より、第1小節目のCmajに対するKD11、KD12
KD13、KD14はKD11=1(ドである)、KD12=5
(ミ)、KD13=8(ソ)、KD14=13 【外6】 となり、第2小節目のFmajでは、(KD21、K
22、KD23KD24)=(1、6、10、13)= 【外7】 、第3小節目のG7では、(KD31、KD32、KD33
KD34)=(3、6、8、12)=(レ、ファ、ソ、
シ)となり、第4小節目は第1小節目と同じで、(KD
41、KD42、KD43、KD44)=(1、5、8、13)
となる。なお、本例のコード構成音メモリ2のデータ構
造は、C調を基準とする構造になっている(調性配
慮)。 【0063】以下の説明では、KDi1、KDi2、KD
3、KDi4の代りに、単にKD1、KD2、KD3、
KD4ということにする。KD1は和声音の一番低い
音、KD2は次に低い和声音、KD3は次に低い和声
音、KD4は一番高い和声音のレジスタとして用いられ
る。いまの段階では、KD1、KD2、KD3、KD4
には、(i番目の小節における)コード構成音の音高が
基本形の形式で、つまり、コード構成音メモリ2の通り
に入っているわけである。図24の24−2はコード構
成音の転回であり、その詳細なフローの例を図27に示
す。コード構成音の転回機能は生成するメロディの音域
を時間の経過に従って(本例では小節単位で)変更、調
整をすることであり、これにより、曲の盛り上りをコン
トロールできる。 【0064】図27のフローでは、例えば、 【外8】 なら、1回の転回で 【外9】 、2回の転回で 【外10】 ……となり、レファソシなら、1回の転回で 【外11】 、2回の転回で 【外12】 となるようにしている。 【外8】(Cmaj)のように両端がオクターブ関係に
なるコードと、レファソシ(G7)のように両端がオク
ターブ関係にならないコードとでは、転回の論理が異な
る。すなわち、転回前のコードの音高の並びを、KD1
(旧)、KD2(旧)、KD3(旧)、KD4(旧)
(低い順)で表わすと、オクターブ関係にならないコー
ドに対しては、転回後の並びKD1(新)、KD2
(新)、KD3(新)、KD4(新)を、 KD1(新)=KD2(旧)……(ファ) KD2(新)=KD3(旧)……(ソ) KD3(新)=KD4(旧)……(シ) (M1) KD4(新)=KD1(旧)よりオクターブ上…
… 【外13】 にし、オクターブ関係になるコードに対しては、 KD1(新)=KD2(旧)……(ミ) KD2(新)=KD3(旧)……(ソ) KD3(新)=KD4(旧)……(ド) ここまでは同じだが、 (M2) KD4(新)=KD2(旧)よりオクターブ上…
… 【外14】 にする必要がある。 【0065】オクターブ関係かどうかは27−3で見て
おり、(M1)と(M2)の区別を27−5と27−4で行って
おり、27−6から27−10まではシフト、27−1
1で(M1)と(M2)の区別の仕上げである。図27のPC7
は転回を何回実行するかを示すパラメータである。もち
ろんパラメータCの1つであり、この例からもわかるよ
うに、パラメータCはメロディの生成を制御するパラメ
ータである。ここで、図5の例に則して、第2小節目の
コード転回がどうなるか見てみよう。コード転回のパラ
メータPC7の演算は、i番目の小節について、 PC7i=(+cos((i+2)×2π/4))×1
+1 であるとする(図4参照)。i=2のとき、 PC7=2 となる。2小節目のコードはFmajであり、その基本
形(転回前)は 【外15】 、すなわちKD1=1、KD2=6、KD3=10、K
D4=13である。PC7=2で2回転回するから、結
果は 【外16】 、すなわちKD1=10、KD2=13、KD3=1
8、KD4=22となる。さて、図24に示すように、
コード構成音の転回の次は24−3に進む。ここでPC
9は分散和音維持数のパラメータである。PC≧1が成
立するとき、維持側のフローである24−4の方に進
む。24−4のPC1は分散和音の型の修正パラメータ
であり、PC1≧1が成立するときは24−5で分散和
音の修正が実行される。 【0066】この分散和音の修正の詳細なフロー例を図
29に示す。29−1から29−5で示す修正フローの
意味を右側に示してある。すなわち、このフロー例では
モチーフの分散和音の型{LLi}=(LL1、LL
2、……)を反対の関係、いわゆる反行形に修正してい
る(上述したように、LLiはモチーフ小節に登場する
= 番目の和声音がモチーフの和音のなかで下から何番目
の音高であるかを示す。ただし、休符のLL= はゼロに
している。図17参照)。図24の24−6から24−
9は分散和音を維持する数PC9だけ、LLiの示すK
Dの値を中間メロディ用レジスタMEDi(現在の小節
内のi番目のメロディ音高データを格納するレジスタ)
に移しているところである。すなわち、ここでの分散和
音の型{LLi}はモチーフ通りのパラメータ型か24
−5でそれを修正した型であり、その型に沿って、現在
の小節で進行しているコード(和音)の構成音{KD
i}=(KD1、KD2、KD3、KD4)のなかから
1個を選択し、それをMEDiに書き込んでいるわけで
ある。ここに、{KDi}はすでに24−2において、
コード転回パラメータPC7の数だけ音域がシフトされ
ている和声音の集まりである。 【0067】図24の24−10は、分散和音の型を維
持しないときに分岐するフローの最初のステップであ
り、ここで、前音(ここでは前小節の最後のメロディノ
ート)からの決定性パラメータPC15が真(値1)を
示しておれば24−12に進み、ここで今回の小節の最
初の和声音MED= を決め、24−13で小節内の音符
番号iを2番目にし、決定性パラメータPC15が偽な
らば24−11でi=1にし、24−14以下のランダ
ムな分散和音発生フローに進む。上記24−12に示す
MED1を前の音より決定する処理の詳細フローは図2
8に例示されている。このフローの論理は、現在の小節
の和音のうちで、前小節の最終メロディノート(前音)
に一番近い音を、今回の小節の頭のコードノート(次の
音)にするというものである。前音はMEDj−1、次
の音はMEDjである。フロー28−1〜28−10の
記述は明確であり、これ以上の説明は要しない。 【0068】図24の24−14から24−21まで
は、なめらかさのパラメータPC8の許す範囲内でラン
ダムに分散和音を発生させているところである。γ
1は、RND(4)により、0、1、2、3、4のいず
れかの数を任意にとる乱数である。24−21に示すP
C2は現在生成しつつあるメロディ小節に割り当てられ
た和声音の数(パラメータCの1つ)であり、この数に
達したところでその小節内の分散和音発生処理は完了す
る。なお、24−9から24−21へのルートは、分散
和音の維持する数PC9だけ分散和音を発生させた後の
残りはランダムに分散和音を発生させるというものであ
る。ここで、理解の助けとして、図5の2小節目がこの
分散和音発生処理においてどのような結果になるかを簡
単に述べよう。なお、コード構成音の転回のところはす
でに述べてあり、その結果(使用可能な和声音の集ま
り)は 【外17】 、すなわちKD1=10、KD2=13、KD3=1
8、KD4=24である。発生させる和声音数PC2、
分散和音の型の維持数のパラメータPC9の値などにつ
いてはまだ述べていなかったが、PC2=6、PC9=
4、PC1=1とする。この場合、24−3から維持例
のフロー24−4〜24−9に流れ、24−5の分散和
音型の修正により、LL1=4、LL2=3、LL3=
2、LL4=1が得られる。そして、24−6〜24−
9の音型維持処理で小節の頭から、 【外18】 の4つの分散和音がつくられる(MED1=KDLL1
=KD4=24= 【外19】 、MED2=18、MED3=13、MED4=1
0)。残りの2個の分散和音は24−14から24−2
1のランダム発生でつくられ、例えば、 【外20】 となる。ここまでで、第2小節目のメロディは、 【外21】 である。以上で分散和音の発生の説明を終える。 【0069】非和声音の付加 分散和音の発生完了後、非和声音の付加が行われる。以
下、非和声音の付加について詳細に説明する。図30に
倚音(第1種非和声音)付加のフロー例を示す。30−
1は倚音の付加の有無を示す乱数γ1をf(RND
(1))、PC3により計算しているところである。こ
こにPC3は現在のメロディ小節に割り当てた倚音の重
みであり、このPC3に制御された形式で乱数γ1を得
ている。このランダム導入に関しては、<パラメータC
>の後半と、図21を参照されたい。30−2では、倚
音が付く位置の乱数γ2を、倚音をどこにつけるかのパ
ラメータPC4で制御される形式で得ている。30−3
で倚音の付加の可否を判別し、可の場合に、30−4か
ら30−9で、No個の中間メロディデータの配列{ME
Di}のうち、γ2番目以降のメロディデータを一つ後
に移し、γ2番目を倚音付加位置として確保している。
30−7で倚音の差ピッチのパラメータPC10をγ3
に書き込み、30−9で、倚音を付加している。すなわ
ち、γ2番目のMEDγ2の右隣りにあるMEDγ2+1
γ3を加えた値(倚音の音高データ)を倚音付加位置の
γ2番目のMEDγ2に書き込んでいる。30−10は1
個、メロディノート(ここでは倚音)を付加したので、
小節内の音符数Noをプラス1しているところである。 【0070】図31に経過音付加のフロー例を示す。こ
のフローの意味するところは、隣り合うメロディノート
MEDiとMEDi+1の間に経過音を付加するか否か
につき、所定の条件が成立すれば、付加し、条件不成立
から付加しないというものである。ここに、所定の条件
は、下記(i)、(ii)、(iii)のAND条件である。 (i)隣り合うメロディノートが異なる音高であること、
(ii)隣り合うメロディノートの音高の差が長3度(a=
4)より大きくないこと、(iii)経過音の重みPC6で
制御される付加有無の乱数γ1が付加の値(γ1=1)を
示していること。経過音の付加が許されたときは、隣り
合うメロディノートの間に、両メロディノートの中間的
な音高のメロディノートを経過音としてMEDに書き込
む。経過音とする音高はいわゆるアヴェイラブルノート
(Available Notes)に従って決めることができる。図
31の31−10は単なる例示である。以上の説明と図
31のフロー31−1〜31−13の記述から経過音付
加の動作は明らかであるので、これ以上の説明は省略す
る。 【0071】図32にししゅう音付加のフローを例示す
る。このフローも所定の条件(ししゅう音の重みPC1
により制約される条件)が成立するときに、ししゅう音
を付加するものである。隣り合うメロディノートの同高
が同じであることも条件の1つになっている。付加され
るししゅう音の音高は前音のメロディノートの高さをし
しゅう音の差ピッチだけずらした高さである。以上の説
明と32−1〜32−13のフローの明白な記述から、
ししゅう音の付加の動作は明らかであり、これ以上の詳
細な説明は要しない。 【0072】図33は装飾音の付加のフローを例示する
ものである。その意味するところは、隣り合う2つのメ
ロディノートの音高が等しく、かつ装飾音の重みのパラ
メータPBで制御される乱数パラメータγ1がゼロでな
いときに、装飾音を上記2つのメロディノートの各ノー
トMEDi+1、MEDi+3の前に付加する(MED
iとMEDi+2に設定される)というものである。な
お、33−10、33−12、33−13に示すγ1
33−4で生成したγ1の値とは別の値のものを使用す
ることができる。このためには、例えばステップ33−
9と33−10の間に、γ1=PCX(装飾音の差ピッ
チのパターン)の処理を行えばよい。以上の説明と、図
33の33−1〜33−16の記述から装飾音付加の動
作は明らかである。 【0073】ちなみに、動作列として説明してきた第2
小節目のメロディがここの非和声音付加(図30から図
33)でどのような結果になるか示してみる。非和声音
付加に入る前の段階で、図5の第2小節目のメロディの
音列{MEDi}は 【外22】 、すなわちMED1=24、MED2=18、MED3
=13、MED4=10、MED5=13、MED6=
18であった。まず倚音付加(図30)であるが、この
小節ではγ1=0(倚音付加禁示値)となり、付加され
なかったことにする。 【0074】次に、経過音付加(図31)のところでは
次のようになる。小節内メロディ音符番号iが1のと
き、 a=|MED1−MED2|=4 となるので、経過音の重みPC6は2小節目なので、c
os(4×2π/4)×2+PA4(ここにPA4=
1)により、PC6=3になっている。ここで乱数γ1
を計算するがPC6の値3のために、γ1=2になった
とする。次の30−4から30−9までのシフト処理に
より、 {MED}=(MED1、MED2、MED3、MED4、MED5、MED 6、MED7) =(22、18、18、13、10、13、18) 【外23】 となる。そして付加される倚音のレジスタMEDi+1
はここではMED2であり、 MED2=MED3−(MED3−MED1)/2 =20 【外24】 となる。この時点で、メロディの音列{MED}は、 【外25】 である。iをi+1にインクリメントして、Noになるま
で繰り返すわけであるが、以下では、γ1またはaの値
によって経過音は付加されなかったことにする。同様に
して、ししゅう音以下、付加するかどうかを決定しなが
ら付加していく。結果は付加されなかったとする。 【0075】上記図30から図33に示す非和声音付加
のフロー(ルール)は単なる例示である。例えば、非和
声音の重み(またはこれに類似)のパラメータCの値に
より、各非和声音の付加の態様が異なるようなルールに
変更できる。一例を挙げると、重みが十分小さいとき
(例えば1のとき)には、1小節内に付加される対応非
和声音数を高々1に制限する。重みが、例えば2のとき
には、1小節内に複数の非和声音が付加されることは許
容するが連続付加は禁止する。重みが十分大きいとき
(例えば3以上のとき)は、自由に付加されるようにす
る。これを実現するには、例えば、現在の小節における
各非和声音の実行済付加数を計数するカウンタを使用し
(例えば31−10の次でインクリメントさせる)、1
個の対応非和声音が付加されたことをそのカウンタが示
しているならばPC=1を条件にして、その小節におけ
るその非和声音の付加処理を完了し、さらに、直前の音
符位置で非和声音が付加されたことを示すフラグを使用
し、このフラグが真を示し、かつPC=2が真であれば
フラグを偽にしてから非和声音の付加(例えば31−7
〜31−11)をスキップして連続付加を禁止し、上記
フラグ真でかつPC3も真であれば、フラグを偽にす
ることなく、非和声音の付加を実行して自由な非和声音
付加を許す。また、図30の倚音付加フローでは1小節
当り付加される倚音付加数は高々1個となっているが、
この代りに、連続的な倚音付加を許容するようにしても
よい(倚音の重みに依存して)。その他、種々のルール
変更が可能である。以上で非和声音の付加の説明を一応
終える。 【0076】音長修正 音長の列{Rhy}については、適当な段階、例えば分
散和音の発生が完了した時点で、音長の合計が現在の小
節の長さ、例えば16(4拍の長さ)になるように、各
音長を適当に割り振っておく。例えば、分散和音数が4
ならば16/4=4(一拍の長さ)を各音長Rhy1、
Rhy2、Rhy3、Rhy4に割り振っておく。分数
和音数が例えば5のように16で割り切れないときに
は、例えばRhy1=4、Rhy2=2、Rhy3=
2、Rhy4=4、Rhy5=4というように、不自然
でないかたちに割り振る。一つの割り振り論理では、2
分割の論理を使用する。例えば 【外26】 のリズムのときに1個、音符を加えるときには 【外27】 で示すように2分割し、いずれか一方をさらに2分割
し、 【外28】そのいずれか一方を 【外29】 にする。この結果、例えば、 【外30】 のリズムすなわちメロディの各音の音長の列{Rhy}
が得られる。さらに1個、音符を加えるときは、2分割
したときに、すでに、 【外29】になっているところは、修正せず、 【外31】 になっているところを 【外29】にする。例えば、 【外32】 が得られる。 【0077】非和声音付加の段階では、付加されるごと
にメロディの音符の数が1つあるいは2つずつ増加す
る。したがって、例えば非和声音の付加が行われた時点
で割り振り論理によって割り振りの更新を実行すること
ができる(図示せず)。図34の音長修正のフローに入
る段階では上述したような音長の割り振りが完了してい
る(前処理としての音長調整の完了)。以下、図34に
例示する音長修正について説明する。本例の音長修正の
目的は第1に、音長パターンの一貫性を保つこと、第2
に決められた小節の長さに音長パターンの全長を一致さ
せることである。音長パターンの一貫性は、34−7か
ら34−9までの処理で行われている。34−10から
34−19で示す部分は音長パターンの全長を現在の小
節の長さに調整しているところである。 【0078】詳細に述べるとSIGは、メロディの音数
Noとモチーフの音数No1との比が1から多きくずれ
た場合に値が切り換えられる変数であり、その値をスケ
ーリングファクタとしてメロディ小節の音数の半分とこ
ろまで、モチーフの音長パターンの各音長を縮め、ある
いは引き延ばし、その結果得られる音長パターンをメロ
ディ小節の前半の音長パターンにしている。例えば、現
在の小節のメロディ音数がモチーフ(1小節分)に含ま
れる音数の半分以下(No1/No≧2)のときはSI
Gを2にする。この場合、例えば、モチーフの音長列が
4、2、2……であればメロディの音長列は8、4、4
……となる。これはモチーフに対し、一時的に1/2の
テンポとなるパターンである。一方、現在の小節のメロ
ディ音数がモチーフに含まれる音数の倍以下(No1/
No≦0.5)のときはSIGを0.5する。この場
合、例えば、モチーフの音長列が4、2、2……とする
とメロディの音長列2、1、2……となる。これはモチ
ーフに対し一時的に倍のテンポとなるパターンである。
このような整数比のパターン変換は一般にリズムの一貫
性をくずさない。メロディ音数がモチーフ音数に近いと
きは(0.5<No1/No<2)、モチーフの音長パ
ターンをそのままメロディ音長パターンの途中まで(正
確にはメロディ小節の全音数の半分のところまで)のパ
ターンとする。 【0079】以上の音長書き換えにより、メロディの音
長パターン全長が小節の長さ(ここでは16)からずれ
てしまうことがあり得る。そこで音長書き換え後のメロ
ディの音長パターンの全長を計算し、それが小節の長さ
16と一致しているかを見、一致してなければ、小節の
終りの音符の方から音長の手直しを行う。例えば、メロ
ディの音長パターンの全長が小節の長さより長ければ、
まず小節の最後の音符の音長を見、それが3以上であれ
ばそれを1だけ短くして再度、小節の長さと比較する。
最後の音符の音長が2以下であれば、それより1つの手
前の音符を見て同様のことを行う。逆に、音長パターン
の全長が小節の長さより短ければ、まず小節の最終音符
の長さを見、それが5以下であれば2だけ音長を延ば
し、再度、小節の長さと比較する。最後の音符の長さが
6以上であれば1つ手前の音符の長さに対し同様のこと
を行う。この結果、最終的に音長パターンの全長と小節
の長さは一致し、音長修正の処理が完了する。以上の説
明と図34のフローの明白な記述からフローの動きは明
らかであり、これ以上の詳細に説明は省略する。 【0080】ちなみに、図5の第2小節目のメロディ生
成の場合には、図34の音長修正に入る段階で、そのメ
ロディの音長パターン{Rhy}は2、2、2、2、
2、2、4、つまり 【外33】 となっている。34−1から49−9までの処理で、そ
の前半部はモチーフと同じになり、{Rhyi}は4、
2、2、4、2、2、4、つまり、 【外34】 になる。 【0081】34−10からの後半の調整で次のように
なる。SUNは20で小節の長さ16より長い。最後の
音符の長さRhy5は4で3より大きいから最後の音長
は2となる。ここでSUNは18でまだ小節より長い。
ここまでで{Rhyi}は4、2、2、4、2、2、2
である。音長が3以上のものを後から捜すと4番目の音
が4であるからそれが2となりSUN=16が成立し、
修正完了である。このとき、{Rhyi}は4、2、
2、2、2、2、2、つまり 【外35】 となる。 【0082】これに、すでに得ているメロディの音高パ
ターン{Rhyi}を並べて示すと、 【外36】 であり、まさに、図5の2小節目に示すメロディの完成
である。なお、図5の3小節目と4小節目のメロディ生
成についてはその経過は省略するが、結果は図示のよう
になったとする。すなわち、第3小節目のG7では、 【外37】 第4小節目(ここでは最終小節)のCmajでは 【外38】 である。以上で一応、曲の完成とする。 【0083】<修正学習>上述のしたように、完成され
た曲に対して、使用者はモニターを通じて自動作曲機に
修正を要求することができる。以下、修正学習について
詳細に説明する。本実施形態では、修正は小節別に行わ
れる。図35は修正学習のフローである。まず、最初
に、上述したのと同様にして、モチーフから非和声音を
抽出し、モチーフの特徴パラメータを抽出する(35−
1)。ここで、生成するメロディのすべての小節につい
て、パラメータCなどを発生させ、記憶させておいても
よいが(出来上るメロディは前と同様になる)、記憶容
量の面では、好ましくない。どの小節を修正したいかを
使用者に入力してもらう(35−2)。これに対し、自
動作曲機は内部のパラメータC演算機能を起動して、修
正要求のあった小節のパラメータC(PCxを演算する
(35−3)。例えば転回のパラメータPC7i=co
s((2+2)×2π/4)×1+1=2というよう
に、PCをすべて算出する。 【0084】次は客観データ(パラメータC)から主観
データへのパラメータへのパラメータ変換である(35
−4)。この、パラメータ変換の目的は、使用者にとっ
て理解しやすく、判断しやすい情報を与えることであ
る。例えば、転回のパラメータPC7iは主に盛り上が
りを制御するものであるため、PC7i=2であると
き、「盛り上がりの度合がこの小節では90%になって
います」のように、知らせてあげた方が主観的に判断し
やすくユーザーにとって修正の作業がしやすくなる。こ
このパラメータ変換の論理(関数演算など)は、客観デ
ータ(PC)と主観データとの相関関係などを考慮して
決めることができる。例えば、開発マシンにて、最初の
目安の相関(例えば、実際に作曲されている曲の解析や
主観評価法にて得たもの)から、より確かな相関を実績
を通じて求め、それで得た結果を、本自動作曲機のパラ
メータ変換の論理に組み込むことができる。パラメータ
変換の結果(メッセージ)はCRT12(図1)などに
表示させる(35−5)。 【0085】これに対し、ユーザーはパラメータの種類
EDBを入力する(35−6)。例えば盛り上りのパラ
メータだとし、盛り上りのパラメータと転回のパラメー
タが1:1で対応しているとすれば、EDBはパラメー
タCの種類として転回パラメータを指す値になる。主観
パラメータの種類{S}と客観パラメータ{O}の種類
が1:1で対応してなければ、指定された主観パラメー
タの種類S(i)に対応する客観パラメータO(j)、
O(k)、……を変換によって求めればよい(なお図示
のフローでは1:1対応を想定してある)。続いてユー
ザーの修正値EDC′を入力する(35−7)。例え
ば、盛り上りを90%から50%に変更したいのであれ
ば、ユーザーは、修正のパラメータの種類を35−6で
入力し、修正値の50%(EDC′)35−7で入力す
るわけである。 【0086】これに対し、自動作曲機は主観パラメータ
の値(EDC′)を客観パラメータの値に逆変換する
(35−8)。上の例でいえば、盛り上りを50%にす
る要求に対し、逆変換を実行し、転回のパラメータPC
7の値(EDC)を1にする。続いて、35−8から3
5−9に示すように学習データメモリ9に、修正内容を
書き込んでいく。ここでのPは、学習メモリ9のポイン
タである。ポインタPをインクリメントして次々に修正
データを書き込んでいるわけである。修正したい小節
や、修正したいパラメータの種類、値がなくなったとこ
ろでユーザーは修正完了を入力し、これにより修正学習
の処理は終了する(35−12)。 【0087】以上の修正学習はユーザーの好みを生成す
るメロディに反映させるように働く。このことは第36
図に例示する学習によるパラメータ変更の動作からさら
に明らかになる。すなわち、学習によるパラメータ変更
のところでは、パラメータC演算機能F31(図2)に
より通常、生成されるパラメータCよりも修正学習機能
F4により学習したところのパラメータCを優先させ
る。第36図の36−3のところは、通常のパラメータ
Cの計算であり、すでに<パラメータC>のところで述
べたものである。 【0088】36−4から36−11の部分で、学習メ
モリ9をサーチし、メロディ発生に使用するパラメータ
Cを学習したもので置き換えている。すなわち、現在の
小節と一致する修正小節が見つけ出され(i=*P
a)、着目しているパラメータの種類と一致するパラメ
ータの種類が見つけ出され(j=*(Pa+1))る
と、修正データEDCが、その小節におけるそのパラメ
ータPCjの値になる(PCj=EDC)。図5の例で
いえば、第2小節目のところで転回のパラメータPC7
として、2(転回数が2回であることを表わす)の代り
に転回数が1回であることを示す1が割り当てられる。 【0089】図36中、iは小節番号、jはパラメータ
PCの添字PCjとして用いられる意味でパラメータC
の種類(パラメータネーム)を指すための変数、Paは
学習メモリ9のポインタ、*Paはポインタの指す学習
メモリのデータである。ここでは、Paが3の倍数のと
き、*Paは修正小節の番号を示し、Paが3の倍数プ
ラス1のときは*Paは修正パラメータの種類を表わ
し、Paが3の倍数プラス2のときは*Paは修正パラ
メータの値を表わすようになっている(図35のフロー
の右側の図参照)。36−13でj>パラメータの数に
なったところでi番目の小節に対するすべてのパラメー
タCについて、すべての学習内容が盛り込まれた形でパ
ラメータCが完成している。なお、36−14は小節単
位のメロディ発生であり、図23の23−9〜23−1
4にほぼ対応している。特にここで抜き出して示したの
は、36−13のところまでで修正ずみのパラメータC
を使って、メロディが発生されることを明白にするため
である。 【0090】要するに、いったん学習メモリ9に記憶さ
れた学習データは、使用者からの作曲の要求の都度、読
み出され、学習したところがパラメータCに直接的に反
映され(図13も参照のこと)、このパラメータCによ
ってメロディの生成が制御されるわけである。したがっ
て、作曲されたメロディは、各使用者の好みを反映する
ところとなり、ここに学習の成果が現われることにな
る。参考までに図5の下側の楽譜にこの修正学習による
修正後のメロディを示す。この例では2小節目の転回パ
ラメータPCが修正前の2回の転回から1回の転回に修
正されており、その結果がこの小節のメロディに現われ
ている 【外39】。このうち、Fmajの和声音は 【外40】とラとファであり、この 【外41】は基本形の 【外42】を1回だけ転回したものである)。 【0091】<実施形態の特徴>以上の詳細な説明から
本実施形態に係る自動作曲機の特徴は明白である。その
いくつかを以下に挙げる。 (イ)モチーフを評価して得たモチーフ特徴パラメータと
コード進行情報に基づいてメロディを生成しているの
で、モチーフがもつ曲のエッセンスやコンセプトが曲自
体にわたって反映されるとともにコード進行に沿ってコ
ントロールされ、かつ多様に変化可能なメロディがつく
られる。 (ロ)メロディ生成手段内に、生成するメロディを制御す
るためのパラメータC(生成メロディ特徴パラメータ、
生成メロディ制御パラメータ)を発生する手段を設けて
おり、進行区間(小節)を単位として、小節別にパラメ
ータCを決めている。この小節別に割り当てられたパラ
メータCの値によって、それぞれの小節のメロディを発
生制御している。したがって、メロディの流れにおける
統一性と多様性を表現することができる。 (ハ)上記パラメータCの発生手段は、圧縮されたデータ
(第3のパラメータB)とモチーフ特徴パラメータを使
用し、演算によってパラメータCを発生している。した
がって、多種多様なパラメータCの値を比較的少ない記
憶容量で得ることができる。 (ニ)非和声音と和声音とを区別して取り扱っているの
で、曲の流れが非常に音楽的になる。 (ホ)モチーフはユーザーから入力されるようになってお
り、そのモチーフが反映されたかたちで曲ができるの
で、ユーザーは作曲への参加意識とともに作曲された曲
に対する満足感を同時に得ることができる。 (ヘ)さらに、専門的な音楽知識は不要であり、わずかな
モチーフさえ想いつけば、後は自動作曲機の方でそれに
合わせて作曲してくれる。 (ト)修正学習機能が組み込まれており、ユーザーの好み
をこの機能が学習する。自動作曲機は、この学習機能が
習得した学習データを優先させて以降の作曲を行う。し
たがって、作曲された曲はユーザーの好みを反映すると
ころとなり、ユーザーはますます興味をひかれることに
なる。 (チ)また、パラメータの設定しだいで分散和音作成機と
して機能する。例えば、非和声音の付加の可否について
のパラメータ(例、PC4、PC6、PC11、PC1
3)が禁止の値を示しているときはいずれの非和声音機
能もその動作が禁止され、結果として分散和音だけがつ
くられる(図30から図33でいえば、PC4などがゼ
ロのときγ1=0になるとする)。 【0092】<変形例>本発明は上記実施形態に限られ
ず、種々、変形、変更、改良が可能である。例えば、上
記実施形態では小節の長さをどの小節も同じ長さにして
いるが、可変長の小節であってもよい。これは例えば、
小節カウンタを設け、その計数値(小節番号)に割り当
てられた小節の長さを使用することによって実現でき
る。また、モチーフの小節は上記実施形態では、曲の冒
頭として与えられることを想定してあったが、何番目の
小節をモチーフの入力小節にしてもよい。このための変
形は容易である。 【0093】また、上記実施形態では、入力されるモチ
ーフの長さは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を発生させればよい。 【0094】また、上記実施形態では、1小節当りのコ
ード数は1個(1コード/小節)を想定してあるが、1
小節当りのコード数は2つ以上にすることも可能であ
る。例えば、最初の2拍が第1のコード(例えばC)で
後の2拍が第2のコード(例えばF)となる小節を仮定
してみよう。第1の構成例では、パラメータC発生機能
は小節単位でパラメータCを発生する。一方、分散和音
発生機能は、第1コードの区間ではこの第1コードに従
って分散和音を発生し、第2コードの区間ではこの第2
コードに従って分散和音を発生させる。ただしパラメー
タCは小節区間で使用する。残る非和声音付加機能は小
節区間単位で非和声音を付加する。第2の構成例では、
非和声音付加機能も2拍単位(コード単位)で非和声音
を付加する。その他の構成例も考えられる。また、所望
であれば、音長修正機能を変更し、コード単位のメロデ
ィの各音長合計をコードの長さ(またはそれに近い長
さ)に修正する機能を盛り込んでもよい。 【0095】さらに、曲風などの選択機能を付加しても
よい。例えばパラメータBの全体のデータを分類する。
すなわちパラメータBメモリのデータ構造を分類化され
た構造にする。そして入力装置からの選択入力により、
パラメータBメモリより読み出すデータを決め、これら
の選択されたパラメータBによりパラメータCを発生さ
せる。上述したように、パラメータCはパラメータBに
依存しており、パラメータBの値が代わればパラメータ
Cの値も変わり、結果として、生成される曲のメロディ
が変化する。また、コード進行と関係するコード構成音
メモリ2のデータ構造についても曲風などに基づいて分
類化された構造にすることができる。選択されたコード
構成音のセットのなかから、コード進行メモリ上のコー
ド進行を示すコードネーム列に従って、各コード構成音
を読み出す。これにより、分散和音発生機能F32が発
生する分散和音が、別のコード構成音のセットに基づく
場合とは異なってくる。この結果、メロディの特徴も変
化する。いいかえれば、選択されたコード構成音のセッ
トが選択された分野における和音の集合というわけであ
る。他の選択的アプローチとしては、パラメータC演算
機能F31を、共通機能を保ちながら、分野別に異なる
機能(演算論理機能)を組み込み、入力装置からの分野
指定入力によって、選択された機能をアクティブにす
る。分散和音発生機能F32や非和声音付加機能F33
に対しても同様のアプローチが可能である。 【0096】また、モチーフ評価機能F1に、和音決定
機能などの機能を組み込んでもよい。例えば2つのコー
ドに従って1小節分のモチーフが入力され得ることを想
定し、まず非和声音抽出機能に小節単位で非和声音を抽
出させ、その残りの音がどの和音であるかを調べ、該当
する和音が存在しなければ、1小節に2個のコードあり
とみなして、非和声音抽出機能で2拍単位で非和声音を
抽出させるといった方式で和音を決定する和音決定機能
を組み込む。また、メロディの生成等に関し、上記実施
形態では1小節ずつ逐次生成しているが、並行処理によ
って並列的に生成してもよい。この場合、小節間の連結
を要するところ(前音から次小節の頭のメロディノート
を決めるなど)があるので、前小節の情報を必要とする
小節のメロディ発生機能は前小節のメロディ発生後に起
動される。その他、種々、変更が可能である。 【0097】 【発明の効果】請求項1記載の発明によれば、音楽の進
行につれて音楽内容が多様に変化し得るメロディを生成
することができるとともに、複数の音楽区間を通じて楽
曲エッセンス(モチーフの特徴)を失わないような性質
(一貫性)をメロディの流れにもたせることができる
(第1発明の効果)。請求項2記載の発明によれば、
1発明の効果に加え、特定の音楽区間については、ユー
ザーの入力を介して設定した区間特徴パラメータを用い
てメロディを生成させることにより、区間毎にユーザー
の好みに合うようにメロディを修正できる。請求項3、
4によれば生成メロディの音楽内容をその特徴要素ごと
にユーザーの好みに合うものに修正できる。請求項
よれば、種々の区間メロディ特徴パラメータによりメロ
ディの音楽内容の様々な特徴要素を要素毎に制御でき、
メロディの生成制御を細かく行うことができる。請求項
6記載の発明によれば、第1発明の効果に加え、いった
ん生成されたメロディの音楽内容のなかで、ユーザーが
気にいらない部分、音楽特徴要素を部分毎、特徴要素毎
に細かく指定でき、その修正を行うことができる。
DETAILED DESCRIPTION OF THE INVENTION [0001] The present invention relates to a music device,
In particular, automatic songs that compose melodies
Belongs to the machine. [0002] 2. Description of the Related Art Weights to be considered regarding the quality of an automatic composer.
One of the key elements is that humans have been familiar with
Songs, in other words, songs that are not purely mechanical but rich in musicality
Whether the composer has the potential to generate
That is. For example, Japanese Patent Application No. 56-1256
No. 03 (Japanese Patent Publication No. 60-40027) has a series of pitches.
Individual pitch data from data (for example, 12-scale data)
Data is randomly sampled and the sampled data is limited
If the above conditions are satisfied, take it as a melody note.
If the conditions are not met, the melody note
If you do not make a selection and re-sample, repeat the condition check
A self-contained composer is disclosed. Therefore, this self
The melody generation process of the motion composer is basically trian
Error mode. Randomly sample pitch data
At that stage, a row of completely disordered pitches is created. This
In a row of chaotic pitches,
Infeasible (good melody due to astronomical contingencies)
May be possible). So what is this disorder
In order to bring about the order, a kind of conditional inspection
We do filtering (sorting). In this case,
Degree is an important factor. If sorting is too tight,
Melody will be one pattern and forgive
If so, the original disorder would be dominant. above
The automatic composer is called a melody
Rather than compose a melody that is elusive in style
It is mainly used for listening and training.
It is effective as a composer.
Musical scores and performances are generally difficult). In this sense, I'll give it to the beginning
Ability is not combined. The present invention is exactly this ability
Is considered. [0003] That is, the object of the present invention
The goal is to maintain the concept or essence of the song,
Can compose songs that can change in various ways according to the line
It is to provide an operation music machine. [0004] According to the present invention, there are provided plural
Melody over each music section
In the automatic music composition machine generated by
Chord progression hand that gives chord progression information to
The motif feature parameters that characterize the steps and motifs
Change the motif feature parameter generation means and tune
Change that generates a change parameter for transformation
Parameter generating means, the motif characteristic parameter,
Input the above-mentioned musical composition change parameters and music segment position information
Variables, and based on these input variables,
Feature the section melody to be generated in each music section
Section melody that generates section melody feature parameters
Feature parameter generating means and the section melody feature
Using the parameters and the chord progression as input variables,
Section melody in each music section based on these input variables
Section melody generating means for generating a musical note
An automatic composer is provided. [0005] According to this configuration, the motivation of music is mochi.
Motif feature parameters that characterize music content
(PA) is generated by the motif feature parameter generation means.
Tune change parameters to change
(PB) is generated by the fantasy change parameter generating means.
Motif feature parameter, motif change parameter and
The position information of the music section (eg, bar number) is used as an input variable.
, And based on these input variables,
Music content of the section melody to be generated between
Parameter (interval melody feature parameter)
Meter PC) as the section melody feature parameter generation means
Has been raised. Therefore, the section melody feature parameter
The time series for each section of the meter varies depending on the music progress.
Can be changed to Further, a section melody generating means is provided.
The section melody generating means is adapted to perform the section melody feature
The parameter and the chord progression from the chord progression giving means
Each music is used as an input variable based on these input variables.
Generate a section melody in a section. As a result,
A melody that can be changed in various ways is generated (comp
o)). Because the section melody feature parame
The time series property of the data is the time series of the section melody (melody
This is reflected in the flow of Also, section melody
The feature parameter generation means uses mochi as one of the input variables.
Since the feature parameter is used, the output variable
The inter-melody feature parameter is the motif feature parameter
to be influenced. Therefore, the melody of each section generated
The effect of the motif characteristic parameter is reflected on the motif
A melody with characteristic parameters as the essence of music
Is done. In addition to such a basic configuration, the
It would be more desirable to be able to reflect
New To this end, in one configuration example, the input from the user
Section specifying means for specifying a specific music section according to
Input from user for specified music section
According to the music content of the section melody in the music section
Set the section melody feature parameters that characterize
Inter-melody feature parameter setting means.
The section melody generating means performs the section melody feature parameter.
Section melody feature parameter set by meter setting means
From the section melody feature parameter generation means
Identification specified using instead of melody feature parameters
Feature to generate section melody in music section
And Preferably, the section melody feature parameter
Data consists of multiple types,
The meter setting means sets the type for the specified music section.
The section melody feature parameters are set for each class. Preferably, the section melody feature parameter
Data setting means (a) for the specified specific music section.
And the section melody feature parameter generation means
Display the data message of the section melody feature parameter
Display means for displaying, and (b) the displayed section melody feature
Parameter data message from user
Receiving means for receiving a parameter change input for each type;
Have. In a preferred embodiment, the above-mentioned section melody is used.
The de-feature parameter setting means further comprises:
Melody features from multiple feature parameter generators
Each parameter value to the corresponding subjective parameter
Data message and display the data message on the display
Message containing the value of this converted subjective parameter as
Conversion means for displaying the page, and the user
The modified value of the subjective parameter input as
Inverse conversion to the corresponding section melody feature parameter correction value
And inverse conversion means. In one configuration example, the section melody is
The feature parameter generation means uses multiple types of section melody features
It consists of means for generating parameters, each type of section
The melody feature parameter is obtained by the section melody generating means.
In the music content of the section melody that is the result of the action
It functions to control the corresponding musical feature. [0011] Preferably, the music content of the section melody is included.
Learn user preferences for individual musical characteristics
The learning means further comprises: (a) composer
Output the resulting melody over multiple music segments
Output means, and (b) a specific music section as a data item
Interval, the specific section melody feature in the specific music section
Type of section parameter and section melody feature
User receives a correction data record containing the parameter's correction value.
Correction data record created according to correction instruction input from
And (c) a file for the corrected data record.
File storage means for storing the file, and (d) composing again
When performing the above, the section melody feature parameter generation means
Each correction data in the correction file storage means rather than output
Records are prioritized and written on each modified data record
Also, it is possible to modify specific types of characteristic parameters for specific music sections.
The positive value is used by the section melody
And priority control means for generating [0012] BRIEF DESCRIPTION OF THE DRAWINGS FIG.
An embodiment will be described. <Overall Configuration> Overall circuit configuration of the automatic composer according to the present embodiment
The result is shown in FIG. In the figure, 1 is an input device, 2 is a code configuration
Sound memory, 3 is chord progression memory, 4 is motif memo
Re, 5 is parameter B memory, 6 is CPU, 7 is work
Memory, 8 is parameter C memory, 9 is learning data memo
Re, 10 is melody data memory, 11 is monitor, 1
2 is a CRT, 13 is a staff printer, 14 is a tone formation
15 is a sound system, 16 is an external storage device.
You. The motif memory 4 is provided by the input device 1
Stores information of input motif (input melody)
By the way. The motif information contains pitch and pitch (pitch) data.
Data columns. During automatic composition, CPU 6
Parameters that characterize the motif from the motif information
(Motif characteristic parameters) are extracted. The chord progression memory 3 has a chord name.
The chord progress information represented by a sequence of programs is stored. Co
The user can sequentially input code progress information from the input device 1.
You can also specify
In response to the setting (for example, the specification of the music format), the CPU 6
The chord progression may be automatically generated. Chord
Automatic line generation can be performed, for example, using basic code patterns (multiple
Concatenation, or permitted code
Is possible by the interconnection of
For example, a Markov chain model can be used. However
And the chord progression is specified directly by the user
Or automatically generated by the machine according to the present invention.
It is not important. The chord structure sound memory 2 stores various chords.
Constituent sounds (chord member pitch data) are stored.
In the case of this example, each address of the code progress memory 3 is used.
From the chord configuration sound memory 2
The storage area of the specific chord sound data is specified
It has become. The CPU 6 uses a code
At each change timing (for example, every bar),
The address of the memory 3 is advanced, and the contents
Calculate the address on chord composition sound memory 2 from the donated name
Then, each pitch data constituting the chord is read. On the other hand, the parameter B memory stores
Parameter B is stored for automatic operation.
At the time of music, the CPU 6 sets the parameter B
Feature parameters and music progress section variables (eg, bar number
) Is generated for each traveling section.
You. The generation of the parameter C will be described in detail later.
It has the property of controlling or characterizing the melody to be generated.
ing. The generated parameter C is a parameter C memory
Is stored in In the work memory 7, the CPU 6 stores an automatic song.
Intermediate data generated in the process
(Melody data during construction) is stored. Melody
The melody data that constitutes the completed song is stored in the data memory 10.
Data is stored. The completed song can be
Output to the monitor 11. For example, the tone formation times
You can listen to the music through Road 14 and Sound System 15
it can. In addition, a copy of the musical score is printed by the staff printer 13.
Obtainable. Through the monitor 11, the user partially
You may want to modify the song. In this embodiment
In such a case, through the CRT 12 and the input device 1,
User can request a fix and
Modifications are performed in an active manner. Corrected data
Are stored in the learning data memory 9 as knowledge. Later self
The CPU 6 uses this knowledge to play a melody
Generate The external storage device 16 stores the completed music
Copy-ups, learned knowledge, other transcripts,
Or, use it as a resource for an alternative automatic music program
Is done. <Automatic music composition function>
The overall function of the motion composer will be described with reference to FIG.
I do. In the figure, reference is made to a code starting with the initial letter I.
Blocks indicate information or information sources. example
For example, I1 is motif information, and in FIG.
This is information stored in the memory 4. I2 is a parameter
B, which is in the parameter B memory of FIG.
Information. I3 is chord progression information,
Is information given from the chord progression memory 3 of FIG.
You. I4 is the generated melody, which is the melody of FIG.
The data is stored in the rody data memory 10. On the other hand, initial F
The block indicated by the sign starting with
Is shown. As shown in the figure, the main function is
Motif evaluation function F1 for evaluating information
Motif parameters to extract motif parameters from
Extraction function F2, motif parameter extraction function F2
Based on motif feature parameters and chord progression information,
There is a melody generating function F3 for generating a ody. Further
Then, the generated melody I4 is monitored by the user.
Study to correct and learn the necessary parts through D1
Learning function F4 and parameter changing function F5 by learning
Contains. More specifically, the evaluation function F1 is used in this embodiment.
Now, extract the non-harmonic sound contained in the motif
Extraction function to extract various non-harmonic sounds
Can be. In this case, the preemptive sound extraction 21, the excitement extraction 22,
Embrace sound extraction 23, elapsed sound extraction 24, ornament sound extraction 25
And other non-harmonic sounds extraction 26
Is extracted. The non-harmony extracted by each of the extractions 21 to 26
The sounds include "pre-emption sound" and "pure sound".
However, the meanings of "preemptive sound" and "pure sound" here are based on harmony
It is not necessary to be completely the same as "pre-emption sound" and "biasing sound".
Another good thing is that the name of each non-harmonic sound in harmony
There are some differences between musicians, and the definition
Changes depending on the genre of music and the flow of the times.
Is not as ambiguous as natural language
And cannot meet the required definition on a computer.
Therefore, to be precise, the preemptive sound extraction 21 is a first type non-
Extracts harmony sounds (non-harmonic sounds that can be regarded as preemption sounds)
The function 22 has a function to extract a second kind of non-harmonic sound.
In the following, the same applies to the third and fourth types.
That is. As the last function in the evaluation function F1, HD
i (motif data) contains constants (non-
A function 27 for substituting a harmony identifier) is shown,
This function is built into each non-harmonic sound extraction function 21-26.
Can be taken. The above-described evaluation function F1 is based on the motif information I1.
Extract the parameters that characterize the motif from
Is a pre-processing function of
It can be considered as a part of the data extraction function F2. According to FIG. 2, a motif parameter extractor
No. F2 is the evaluation result of the motif evaluation function F1 (in this case,
Where the motif is what kind of non-harmonic sound
Motif data with non-harmonic identification information)
Extract the parameters that characterize the motif. In this figure
, The motif parameter extraction function F2 includes
Function 31 for extracting the number of harmony sounds contained in the motif
Function 32 for extracting the total number and the total number of non-harmonic sounds
Function 3 for extracting type parameters of harmony (dispersion chords)
3, and extract the parameters of the smoothness of the motif
Function 34 is included. Here, the motif evaluation function F1 and the mochi
The “extraction section” executed by the parameter extraction function F2
The position will be briefly described. The unit of this extraction section is
This is a predetermined section of the chief (input melody). For example,
Motif (input melody) changes in units of one measure
If you can think of having phrases that follow the chord progression
In most cases, this is true).
It can be a unit. In such a case, the motif is
Assuming that it has a length of N measures, the first, second,... Nth measure
For each section of, evaluation and extraction by functions F1 and F2
Is performed. For the sake of convenience, in the following description,
Unless you know, the length of the motif is one bar, and
The function F2 is the first measure of this song, and the function F2
Parameter (characteristic PA described later)
j) shall be extracted. On the other hand, the melody generating function F3 also
The "section" (the "progress section" of the song) that controls the generation of the lody
The concept exists. For example, if the chord progression information I3 is one bar
(For example, the measure i is C, i + 1
Measure is C, i + 2 is F, i + 3 is G)
Then, "length of one bar" is set as the "progression section" described above.
Can be used. In the melody generating function F3, the parameter
The C calculation function F31 outputs a packet in units of the “progression section”.
The parameter C is to be generated. Parameter C is above
Mochi given by the motif parameter extraction function F2
Properties depending on the characteristic parameters and the "progress section" (example
For example, the bar number). Mathematically
In other words, parameter C is PC, motif feature parameter
Is PA, and the number of the “progress section” of the song is i,
Meter C can be represented by PC = f (PA, i)
You. The relationship PC = f (PA) is expressed by the motif parameter P
The essence of the motif characterized by A is a song
Suggest that it is reflected throughout. PC =
The relationship of f (i) is determined by the parameter C
Is determined (assigned).
The parameter C generated by the parameter calculation function F31 is
As shown in FIG. 2, the remaining key of the melody generation function F3 is
Prime, ie, distributed chord generation function F32 and non-chord addition
A parameter that is provided to the function F33 and controls the generation of a melody.
Used as a meter. In other words, parameter C is
Parameters that control or characterize the generated melody
(Generation melody feature parameter). In FIG. 2, a parameter C calculation function F
31 is the above motif feature for calculating the parameter C
The parameter B (see FIG.
1) also uses the information stored in the parameter B memory 5).
It has become so. Parameter B memory 5 stores
In terms of the formation of data C, as "data compression"
It works. That is, the parameter C is formed.
Configuration (generation melody feature parameter generation means)
By the chief feature parameter PA, the parameter C
Data base {f (i)} that matches PA
Is possible, but then, for each i
Requires very large storage capacity to provide values
You. In short, in the case of this embodiment, the parameter B memory
5 is an element of the generation melody feature parameter generation means.
You. The distributed chord generation function F32 is a
This is where the disperse chord is generated from the loddy. That
Read function 41 of chord constituent sound, one of the constituent elements
Is a chord component sound memory according to the chord progression information I3.
2 (Fig. 1) to read each component sound of the corresponding chord (chord)
Is about to emerge. The next element, the conversion of chord components
The round function 42 reproduces the chord constituent sounds read out by the function 41 described above.
Parameters determined for each progress section (eg, bar section)
Code C in accordance with the data C
It is about to run times. This function 42 is mainly
Controls the range within each advancing section. In addition, distributed chord generation
In function F32, MEDi (harmonic sound) is determined from the immediately preceding sound.
Function 43 and the type (pattern) of the distributed chord
Functions 44 and the like. The distributed chord generation function F32
The generated chords protect the chord progression.
In addition, for each traveling section,
Has a pattern. The non-harmonic sound adding function F33 is provided with
Non-harmonic tones between the dispersed chords given from the generating function F32.
Is to be placed and added. In the illustrated example,
Addition function 51, elapsed sound addition function 52, swelling sound addition function
53, a decoration sound adding function 54; Here, too,
The names of “elapsed sound”, “swing sound” and “decorative sound” are
This is for convenience, and more precisely, the first in melody generation
It can be called the seed, the second kind, the third kind, and the fourth kind of non-harmonic sound.
Wear. One important point is that each function 51-54
Non-harmonic addition rules defined within these functions
In accordance with the parameter C given for each traveling section.
It is to use. For example, parameter C determines
In the case of prohibition, the biasing function 51
At this time, no bias is added. In addition, the number of impulses
It can be controlled by the meter C. That is, the functions 51 to 5
4 is a non-harmonic tone controlled by the parameter C.
Execute. But avoid randomness, random elements
Is freely and preferably introduced. Random (unusual
D) The introduction function is grouped in the additional functions 51 to 54 for each non-chord.
Or the parameter C calculation function F3
1 or a suitable
You can also perform a trade-off (assignment of random introduction function)
No. In the block F33 for adding a non-harmonic tone in FIG.
Also shows the functional block of the tone length modification 55. Length correction
Function 55 determines the length of each progression section (eg one bar)
To adjust the length of the melody,
(Sound value, market value) is about to be corrected. Melody above
The melody generated by the generation function F3 for each traveling section is a melody
The data is stored in the data memory 10 (FIG. 1). In addition,
The chief in this example is the melody at the beginning (measure 1) of the song
The melody generated by the melody generation function F3 is
It is a melody following the melody of the motif. Accordingly
For convenience of later processing, the melody data memory 10
Is the melody of the song in the form of motif data
The data is arranged. In FIG. 2, the automatic music function described above automatically
The composed melody is indicated by reference numeral I4. This completion
For the song, the monitoring D1 allows the user to
Listening can be performed. Monitoring D1
As a result, if the user is satisfied with the generated song (OK)
If so, the song data is not modified at all. Only
If there is an unsatisfactory point, the user enters the section
Force device 1 (Fig. 1)
Wear. In contrast, the automatic composer “learns” the section.
And how to change which parameters
The user can ask questions such as wanting to change
Contact In this case, the question
It is desirable that the format be easy to understand.
As described above, in this embodiment, subjective / objective parameters are used for this purpose.
Data conversion function). Inquiry from automatic composer
In response, the user specifies the desired parameters,
The automatic composer learns the contents of the instruction. Modification of Figure 2
The learning function F4 is where the above learning is performed.
Result (which section to change to which parameter)
Is stored in the learning data memory 9 (Fig. 1) as knowledge.
Is done. Automatic tunes for motifs input later
Machine activates parameter change function F5 by learning
Generates melody according to user's wish
I do. That is, in the section desired by the user,
From the result calculated by the data C calculation function F31.
The parameter provided by the parameter change function F5 is superior
The melody will be generated ahead of time. As a result
The generated melody reflects the user's preferences
And the learning outcomes will shine. In addition, this learning machine
Noh is applied when creating songs with completely different tendencies.
Better not. For this purpose, for example, from the user
Is given from the input device 1 (FIG. 1),
Activate the part of the learning function assigned to the specified song style
can do. Very apparently, the above part
Learning functions by field and field
It has the same aspects as the language learning function. Rice cake
Well, the substance is completely different. <Preliminary Matters> Hereinafter, detailed operations of the embodiment will be described.
Before we go into the explanation,
You. First, in the following description, unless otherwise specified, pitch
The assignment of data (pitch data) to be performed is shown in FIG.
Use things. In other words, the value increases by one semitone
Assigned consecutive integers to the pitch of the scale
Things. Rests are represented by the value zero. Other than this
Can be assigned some pitch data.
Is shown in FIG. 3a. In addition, note length (note value)
The minimum unit is a sixteenth note. That is, the sixteenth note
The pitch data is 1, which is twice as long as the eighth note.
Data is 2. In addition, the “extraction section” and “progression section”
The rank is one bar. In this connection, the chord progression information is also 1
There is one chord per measure. In addition, the motif (input melody
Unless otherwise specified, the length of d) shall be one bar. Also small
Remember that the length of the bars is the same regardless of the bar number.
Set. For convenience of explanation, each chord has four pitches.
It consists of Here, the sum of four independent voices
Sounds, for example (de, mi, so, shi) of C major seventh
Type and two voices have an octave difference 3
There is a type of chord (triad). Therefore,
In this example, the triad of (de, mi, so) is [Outside 1] And In connection with this, each of the chord structure sound memories 2
There are four chord areas, each address has the pitch of each constituent sound
Contains the value corresponding to. For example, In the case of [1], data of (1, 5, 8, 13)
ing. These assumptions are for convenience of explanation only.
It is merely an exemplary assumption. FIG. 4 shows an example of input data for explaining the operation.
You. The score shown in FIG. 4A is an example in the following operation description.
This is a motif. The rest of Figure 4 is self explanatory
The description is omitted here. FIG. 5 shows the formed menu.
An example of Lodi is shown. Of the scores shown above, the first
The measure is the input melody (motif),
2nd, 3rd and 4th bars are automatically adjusted by the automatic composer
The generated melody is shown. 2nd, 3rd, 4th small
Fmaj, G shown below the section7, Cmaj are coded
Show the chords of the second bar, the third bar and the fourth bar of the line
(See also FIG. 4 (3)). Shown in the lower half of FIG.
After making the automatic composer perform the correction learning,
Melody generated by the automatic composer for the same motif
You. From the figure, you can see that the second measure has been corrected.
You. FIG. 6 is a flowchart showing the main steps used in the following flowchart.
FIG. 4 is a diagram showing a list of various variables. It's a self-explanatory statement
The description is omitted here. As above,
After the explanation, we will start the detailed operation explanation.
You. <Non-harmonic Sound Extraction> FIG.
Shows the flow. In the figure, i indicates the number of the motif data
Variable. In 7-2, the i-th sound (more precisely,
The i-th note in the bar)
Is calculated and set as a variable AFT. As well
, Calculate the number of notes in front of the measure, and assign it to the variable BEF
You have set. In 7-3, the i-th sound of interest is
The difference between the pitches of adjacent sounds before and after
About). For example, a1 is the i
One pitch after the pitch MDi + 2 that is two pitches after the th
A value obtained by subtracting the pitch MDi + 1 of a certain pitch (difference between both pitches) is set.
Is determined. However, in the process of 7-4 to 7-9, rest
(The value is zero, see FIG. 3.)
One MD (motif pitch) is zero (rest)
In the case of (1), a special value is put in the corresponding variable a. 7
-4 to 7-9 are extraction processes of each non-harmonic sound.
Need not be as shown. Which order in principle
May be processed in turn. This is the i-th sound in 7-4 to 7-9
(Or the sound before and after it) is tested for non-harmonic
If the extraction conditions in each extraction process are satisfied,
Is identified as a type of non-harmonic tone. As an aid to understanding
The right side of FIG. 7 shows the non-harmonic tones extracted in each extraction process.
Examples are indicated by arrows in the music score. That is, the sound indicated by the arrow
The mark is the corresponding type of non-harmonic sound. At step 7-10, the note number i in the motif bar is added.
The value is the total number of notes in the motif bar
Until the number exceeds No, the processing of 7-2 and below is repeated. But
Therefore, the processing of 7-1 to 7-11 is executed all at once.
Various non-harmonic sounds included in one bar motif
Is extracted. Each extraction process of 7-4 to 7-8
Are shown in FIGS. 8 to 12, respectively. example
FIG. 8 shows details of the prefetched sound extraction processing. If you pay attention
Is the last note in the bar (the i-th note here)
Yes (AFT = 0 is true) and the sound is the first in the next bar
If the pitch is the same as the sound (a2 = 0 is true), the sound is
This is a first type non-harmonic sound (preemptive sound). This is 8-1
This is the meaning of 8-3. (I) If AFT is zero,
And (ii) if a2 is zero (iii) MDi is of the first kind
Is a non-harmonic sound. According to this description, (i) and (i
i) is the premise of the rule (IF section, LHS), and (iii)
Is the action part of the rule (action part, conclusion part, RHS)
is there. In other words, the above rules ((i)-(ii
i)) defines the first non-harmonic tone in this example
It is. Therefore, changing or modifying the rules
With this, it is possible to update the definition of the first type non-harmonic sound.
Wear. At the implementation level, Figure 8
Flow (Rules (i) to (iii)) is a procedural program
Can be written in a programming language, or
It can also be described as a rule in a source system.
In the latter case, it is easier to update and improve the rules.
No. So, for example, in a logical programming language
Can also be expressed. From the viewpoint of the rules, another extraction processing 7
The same applies to -5 to 7-9. That is, 9-1 to -9 in FIG.
9-7 is the rule or definition of the second kind of non-harmonic sound
10-1 to 10-11 in FIG.
11-1 to 11-11 in FIG.
This is a rule of the kind of non-harmonic sound, and is 12-1 to 12 in FIG.
-16 is the fifth type of non-harmonic rule. In any case
First, the CPU 6 (FIG. 1) executes the processing in accordance with the flowcharts in the respective drawings.
If the extraction conditions are met, the related motif pitch data
Data as a non-harmonic sound. In addition, FIG.
Since the flowchart of FIG. 12 is a self-explanatory description,
The detailed description of is omitted. Instead, they help understanding
First, the motif of the first measure shown in FIG. [Outside 2] Briefly describe what extraction is done
Let me explain. In this example, the total number of notes in the motif is five.
Yes, the first sound is “do” (MD1 = 1). But
Therefore, at the time of this first sound, in 7-2 of FIG. 7,
AFT (the number of notes after the bar) is 4, BE
F (the number of preceding notes in a bar) is zero. Accordingly
AFT is not zero in the preemptive sound extraction process (FIG. 8).
It is not recognized as a preemptive sound. In the biasing process (FIG. 9),
Although the AFT and BEF judgments pass, the next a2 (9-4)
Then, a2 = MD2-MD1 = mead = 5-1 = 4
Do not pass through. In the humming sound processing (FIG. 10), A
The judgment by FT and BEF passed, but a2 was 4.
Do not pass through Processing of the elapsed sound in FIG. 11 and the decoration sound in FIG.
The same is true for the logic. After all, the first sound "do"
It doesn't even sound non-harmonic. increment i
A similar extraction test is performed for the eye sound "mi". here
Also, it is determined that "mi" is not a non-harmonic sound. i = 3
In other words, the operation for the third sound
Let's try. At this time, AFT = 2, BEF = 2, a1
= 5 [Outside 3] , A2 = 2 (= sofa), a3 = 1 (= family),
a4 = 4 (= mead). In the prefetching sound processing, since a2 is not zero, the
In skip (unsatisfied) and sine, skip a because a3 is 1.
A2 = 2, but a3 = 1
To skip to. This is established in the elapsed sound processing. Sand
Since a2 = 2 and a3 = 1, 11-1 → 11-
Go from 2 → 11-3 to 11-4 → 11-7, where A
FT = 2, but since a1 = 5, from 11-7
11-8, go from 11-8 to 11-9, where BEF
= 2 but a4 = 4, so 11-11 to 11-
10, 11-10 to 11-11, MDi (here
Then, the third pitch MD3) is a non-harmonic tone
It is recognized that. Not established in grace sound processing. After all, the third
The eye sound “fa” is determined to be a passing sound. The fourth and subsequent sounds
Is not described (the result is not satisfied). Extraction processing of each non-harmonic sound shown in FIGS. 9 to 12
The logical algorithms or rules are exemplary only. This
Vendors may accept other definitions and rules from the teachings of the present invention.
It can be easily created. For example, if desired,
In addition to the condition for the difference between adjacent pitches,
/ Conditions such as weak beats can be added. One index
From users who do not have enough musical knowledge
Of motif (melody) input
This is to give a voice extraction rule. Various mochi
It is also desirable that a rule with a high extraction success rate be applied to the program. <Extraction of motif parameters>
With the sound extraction function, the motif entered by the user
After the non-harmonic tone is evaluated, the motif parameter
Parameters that characterize the motif using the data extraction function
Data is extracted. The following describes motif parameter extraction.
And will be described in detail. Figure 13 shows motif parameter extraction
It is a flowchart of a process including (1). In the figure, 13-1 to 13-1
13-4 is a motif parameter extraction process.
You. 13-6 is a process for calculating or generating the parameter C.
This is discussed in a separate section. 13
-7 is a parameter changing process by learning.
However, it will be described in another section. Motif parameter extraction processing
In 13-1 to 13-4, the motif memory 4 (FIG. 1)
To extract certain motif pitch data for parameter extraction,
Processing is performed on the work memory 7. For example, motif
Discrimination of various non-harmonic tones instead of the pitch data variable MDi
Variable HDi (or register) with value is used
You. FIG. 14 shows the details of the process 13-1 in FIG.
Unique for non-harmonic sounds
Substituting the pitch data for the harmony
This is a flow to be kept. In FIG. 14, i is the mochi
This is the i-th variable in the bar measure. The flow of FIG.
-14-1 to 14-16 are explicit descriptions in themselves.
This description replaces the description in the specification. But
Therefore, a detailed description thereof will be omitted. Instead, the motif shown in the first bar of FIG.
The processing result for this will be described. <Non-harmonic sound extraction>
As mentioned earlier, this motif [Outside 4] In the numerical expression, as can be seen from FIG.
D2 = 5, MD3 = 6, MD4 = 8, MD5 = 13
), Only the third sound “F” is non-harmonic,
Is a passing sound, and the other sounds are not non-harmonic.
ing. Therefore, the result of executing the processing of FIG.
HD1 = 1, HD2 = 5, HD3 = −40
HD4 = 13). The processing in FIG.
Can actually be done at the stage of non-harmonic extraction
You. What I want you to keep in mind to help you understand later is
If HDi is positive, the value indicates the pitch of the harmony.
If HDi is zero, the note of the i-th motif is a rest
If there is (see FIG. 3b), if HDi is negative, the sound is non-
Harmonic, its value indicates the type of non-harmonic
That's what it means. FIG. 15 shows the details of the process 13-2 in FIG.
The number of each non-harmonic tone contained in the motif
It is a flow to extract as a meter. In the figure, PAj is
Parameters that characterize the chief (referred to as parameter A)
Or a register to store its parameters
Is shown. 15-1 to 15-4
This is the initialization of parameter A. Next 15-5 to 15-1
By processing up to 2, PA1 has a motif (1 bar)
The number of preemptive sounds included in the motif is included in the motif for PA2.
The number of percussions included in the motif is included in PA3.
The number of chords is the PA4
The number is PA5 and the number of ornaments contained in the motif is P
A6 stores the number of other non-harmonic sounds.
You. FIG. 16 shows the details of the process 13-3 in FIG.
The total number of non-harmonic sounds contained in the
It is a flow for calculating the total number. 16-1 to 16 shown
By executing the processing up to -8,
The number of notes included in the motif is included in the motif for PA8.
The total number of harmony tones is PA9
The total number of voice sounds will be stored. FIG. 17 shows the details of the process 13-4 in FIG.
, The type of dispersed chords (sum
Flow to extract the parameters of the vocal time series pattern)
It is. The purpose of the processing here is to follow the flow of the motif.
Each harmony is dispersed throughout the motif
Knows the pitch of the body in the collection of harmony
Is Rukoto. The secondary purpose is to make note number
Is to know what In the figure, the change indicated by ONPU
The number indicates the range (system range) used in this automatic composer.
It represents the range of the input motif.
It has been decided. Illustrated flows 17-1 to 17-1
At 6, the lowest pitch in the system range is used for
(Harmony) is included in the motif,
Increment the variable M of the harmony pitch number only when there is
And the value of LLi. Also, if HDi is zero
When the i-th motif data is a rest,
With the LLi set to zero, the i-th motif data is suspended.
I remember that it was a mark. Also, if HDi is negative
That is, skipping non-harmonic notes.
You. The processing of this flow is shown at the upper right of the flow in FIG.
An example of the logical result is given. In this example, one of the motifs
The third sound (indicated by HD1) is a harmonic sound,
It has the highest harmony among the chiefs. Second
Is a non-harmonic sound. The third sound HD3 is harmony
Sound (the second harmonic of the motif)
It is a harmony with a pitch lower than the harmony. The fourth of the motif
Note HD4 is also a harmony (the third appearance of the motif sum
Voice), but at a lower pitch. Motif
The fifth HD5 is a rest. The sixth of the motif (this place
The note HD6 at the end of the match is a harmony sound, and
The lowest pitch is the same as the fourth note. This
As can be seen from the figure, the flow of the harmony
It has a descending pattern as a body. Flow of FIG.
Is as follows for this motif example. Ma
For HD5, zero indicating a rest as its LLi
Is assigned. For HD4, the model is
1 which is the lowest harmony among the chiefs
Assigned. The same applies to HD6. HD3
Is the second highest from the bottom of the motif as LLi
2 indicating that the sound is a harmony is assigned. HD
2 is a non-harmonic tone, and LLi is not assigned. HD
1 is the highest tone among the harmony sounds included in the motif,
Since it is the third harmonic pitch when counted from the bottom,
Is assigned 3. In other words, HD1 (first harmony
LL1 of sound) is 3, HD3 (second harmonic sound)
LL2 is 2, L of HD4 (the third harmonic that appears)
L3 has a rest after the first and third chords, and LL4 has
0, LL5 of the next harmony HD6 becomes 1, and Mochi
The flow or type (including rests here) of the harmony
It will be specified. That is, {LL} = (LL
1, LL2, LL3, LL4, LL5) = (3,2,
1, 0, 1) are obtained. The parameters of the type of this harmony (dispersion chord)
Is not shown in PA format, but it also features a motif.
This is a parameter to be assigned. This melody will be described in detail later.
Used without any changes in the generation
The result is a highly repetitive and consistent melody
Will be done. The motif of FIG. For 外, the LL of the first appearing harmony
1 = 1, LL2 of the second harmony sound, LL2 = 2, 3rd
LL3 = 3rd and 4th of harmony sounds appearing in eyes
Harmony [Outside 5] LL4 = 4. This is the ascending pattern. FIG. 18 shows details of the process 13-5 in FIG.
Fine, smoothness of the motif (degree of jump)
Seeking. In the illustrated examples 18-1 to 18-7,
To find the difference in LL between adjacent chords
The smoothness value is calculated and set to PA10.
You. Particularly in this example, the difference between the LLs of adjacent chords is
The maximum value is the value of PA10. From FIG. 14 described above
The algorithm shown in FIG. 18 is merely an example. This
Other algos, as disclosed by the present invention, may be
You can easily create a rhythm. In short, functionally
Equivalent or similar ones can be used.
In other words, it is sufficient if the required function is realized. Further
The motif feature parameters other than those described above (for example,
May be extracted.
This concludes the description of the motif feature parameters. [0050]Melody occurrence The melody generation function F3 (FIG. 2)
Menu based on the feature parameters and chord progression information.
This is a function to automatically generate a lody. In this embodiment
The melody generation function is roughly divided into
For calculating parameter C that controls or characterizes
Melody according to the function and given parameter C
And a function to generate di. The latter function is
Dispersion of code in progress with reference to code progress information
A function to generate chords, before and after or
It consists of the function of adding a non-harmonic sound in between. <Generation of Parameter C> Generation of Parameter C
The raw function is a part of the melody generating function F3.
However, before going into the detailed description,
A quick review of the basic properties of distant songs
Like. In general, songs are considered to be uniform and diverse
You. For example, a highly repetitive melody is a well-
Lodi. For example, the range of the melody changes over time
Therefore, when it changes, diversity appears. Time and
In relation, there is unity and diversity. Of course, easy
Depending on the song, the degree of unity and diversity varies. Ah
Some songs emphasize unity and some songs take time
Sometimes the melody keeps flowing. But completely
Rows of random note values and pitches are still, and probably now
Even after that, it is still considered to be a song in a musical sense.
Unlikely. In some respects, music is a table of emotions
Present, completely disorderly and without any regularity
A sequence of sounds is meaningless. In this invention, the chord progression
Melody, which creates one order
Has been introduced. Further, in the present invention, a user input
Parameters that characterize the motif from the empowered motif
Data and generate a melody based on the parameters.
Alive. This creates a motif in the generated music
It is reflected and the essence is kept. The uniformity and variety in the music are described above.
Is closely related to time, for example, the phrase played before
Something as it is or changing
Flowing out again with similarity in the sense of
I often experience it. Therefore, a relatively long sound
It changes completely over a comfortable time (eg one song long)
Controlling melody generation by rules that do not
It is generally disadvantageous and does not produce good results.
The automatic composer takes this point into consideration. sand
In other words, with this automatic composer, the song
To control the melody for each section
Parameter C and assign it to each section
Melody of each section by parameter C
Has occurred. In particular, in the present embodiment, the length of this section
By the way, I have selected one measure. If the section number is i
Parameter C (PC) is a function of the section number. Good
In other words, the parameter C has a value depending on the section number.
(First property of parameter C. In fact, chord progression
Information has similar properties). Further characterize the motif
Parameter C also depends on the parameter
(The second property of C). In this case, the motif feature parameter
Data is independent of the section number, that is,
Over time, it can be incorporated in the parameter C. FIG. 19 shows an example of a parameter map.
It is shown. <Motif parameter A>
Are the motif parameters for FIGS. 15 to 18 described above.
Motif feature parameters obtained by meter extraction processing
(However, the chord type parameter LLi is
Column not shown). <Melody generation parameter C>
The column shows an example of the parameter C. Parameter A
A dotted line with an arrow connecting the group and the parameter group is one parameter.
Data A is reflected in the parameter C indicated by the arrow.
I taste. The connection relationship indicated by the dotted line with arrows is an example.
is there. Some of parameter C depends on parameter A.
Some do not exist. One of the reasons for this is that
Indicates that the motif has a short length of about one bar.
Many parameters above or unreliable parameters
Is not extracted. FIG.
B> is also shown, where the amplitude parameter PB
a, the period parameter PBf and the DC parameter PBd
Have been Such a parameter B is a parameter
The means for generating C is an arithmetic type (this embodiment is an arithmetic type).
) Can be used as an information source. In this case, the parameter C is a section number (example
For example, besides i) PBa, PBf, PBd, P
A (parameter A) at least one of which is a variable
Thus, it is defined as a function that can be calculated. That is,
If the parameter C is represented by PC, PC PC = f (i, PA, PBa, PBf, PBd) In the form However, specifically, one PC
PC = f (i, PA), a certain PC is PC = f (i, PB
d) and so on, independent of certain parameters
Will be. FIG. 20 shows a characteristic example of the parameter C.
ing. The horizontal axis is the direction of music progression
I). (A) is a sign type 1. This type of
Parameter C is an expression containing cosine or sine.
Can occur in arithmetic. For example, PC = cos (i × 2π / PBf) × PBa (I is a bar number). (B) of FIG.
Is also sine type 2, but non-negative PC =. This Thailand
For example, PC = | cos (i × 2π / PBf) × PBa | Is given in the form Same thing, F = cos (i × 2π / PBf) × PBa , And F>If 0, PC = F, if F <0, PC =-
The calculation rule may be F. (C) of FIG.
It is an example of a parameter of the lock type. This type is, for example, F = i MOD PBf (the remainder after dividing i by PBf) And F is zero (if divisible by the period PBf)
If PC = constant, if F is not zero, PC is another constant value
(For example, PA). (D) of FIG.
Is a DC type. This type of operation requires no explanation.
FIG. 20E shows an example of a segmented type. Here, the period
In the work type, only a certain section (for example, the section of rust)
Using arithmetic. This type is, for example,
N-type operation in addition to1<I <NTwoIf holds
For example, calculate the function for the section of i, and use the result as PC
Obtained by: Note that N1<I <NTwoOther sections
Of course, it is not limited to the peak type. FIG.
(F) is an example of a periodic ramp type. This type is like
If F = Ki (K is a constant), (N + 1) × PBf> F> N × PBf Find an integer N that satisfies (N = INT (F / PBf)), F−N × PBf = Ki−N × PBf And calculate the result as the value of parameter C.
Can be The characteristics (a) to (f) are generated by calculation.
This is only an example of the parameter C that can be easily formed. Again
The components and elements that constitute the data C may be used. Sand
Each type exemplified in (a) to (f) is appropriately combined.
The result can be used as the value of the parameter C. example
For example, a combination of sign types with different periods, a sign type
Combination of DC and DC type, combination of sine type and periodic peak type
There is no end to counting, including matching. By the way, the second
Fig. 2 shows PC2 (parameter of the number of chords of the generated melody).
Data) and PC8 (smooth parameters of generated melody)
FIG. 22B shows an example of calculation for
Various values of (PBf2, PBa2, PBd2, PA8)
Shows how PC2 changes according to measure number i.
ing. One of the advantages of the arithmetic type is that it saves storage space.
You. The operation type is the method adopted in this embodiment,
In the embodiment, the CPU 6 of FIG.
Data and parameter B from parameter B memory 5.
Each parameter C is generated in measures. this
Are the contents of the process 13-6 in FIG. In contrast,
The characteristic example of the parameter C shown in FIG.
Is not suitable for
Parameter C (i) (parameter for controlling each bar of the music)
Of the parameter C that stores the
To "select" an appropriate parameter C (i) from the
Is realized. In any case, the parameter C is the first
This is apparent from the example of FIG.
It is. That is, the parameter C is a progress section of the music.
(Each measure in the embodiment that executes the flow)
With the given value. The parameter C is a motif characteristic parameter.
It has a second property that reflects the meter. For example, figure
The DC type shown in (d) of FIG.
By using as a DC component of
Be incorporated into parameter C in a measure-independent manner
And Examples shown in FIGS. 20A to 20F are described above.
In the arithmetic type, all parameters C are
Has regularity. Such regularity is desirable.
And not a few. From another perspective, the parameters mentioned above
In the example of occurrence of data C, the component parameters (measure number i, parameter
Meter A, parameter B, etc.)
The value of the corresponding parameter C, which is the calculation result of
It is determined. However, looser regularity is desired
In many cases, and for the user,
Motif always produces the exact same melody
Rather than every time you tell me to create a melody
They also want to generate a changed melody
available. The present embodiment takes such points into consideration.
You. That is, it is a function of randomization. This random
Although the conversion function is not specified in FIG.
The arithmetic function F31 or a specific melody is generated.
Distributed chord generation function F32, non-chord generation function F33
Can be built inside. Or random machine
Function between these functions F31, F32, F33
May be shared. For convenience of explanation, FIG.
Function F31 responds to parameter C generated internally
Randomization shall be introduced. In this case,
The parameter C before input is an intermediate parameter,
The parameter after introduction is the final parameter C, that is,
This is a parameter that directly controls the generation of the melody.
FIG. 21A shows the characteristics of the parameter C before random introduction.
In FIG. 20, the periodic peak type shown in FIG.
Belong to. Other characteristic examples are not shown in FIG.
This is merely for convenience, such as saving space. FIG.
1 (b) shows a random characteristic example 1. This feature
First, the meaning of gender is dependent on the direction of the music.
Second, random width (variable)
Third, a random value whose moving width does not depend on the intermediate PC value
Is combined with the original intermediate PC value (eg,
). For example, RND (N)
The pseudo-random functions are -N, -N + 1, ..., 0, +1,
... + N (2N + 1) integer values with equal probability
(It is common for such pseudo-random numbers to occur
Is known). The result of this random number operation
RND (N) is represented by the value of the intermediate parameter C (PC).
Will be added). PC + RND (N) The result is expressed by the final value of parameter C (γ
To). That is, γ = PC + RND (N) The parameter γ after random introduction is the value of the original PC.
As a heart, the values discretely scattered in the width of ± N before and after
You. Parameter characteristics after introduction by such randomization
A sex example is illustrated in FIG. FIG. 21 shows another random characteristic example.
((D) in the figure). This characteristic example (d) is the characteristic described above.
The difference from gender example (b) is that the random width (variation
Width) depends on the intermediate PC value. Illustrated example
Then, the fluctuation width becomes larger as the intermediate PC value becomes larger.
Is chosen as This is, for example, the value of RND (N)
Is multiplied by an increasing function U (PC) of PC, and the result is multiplied by PC
Can be realized by adding the value of For example γ = PC + RND (N) × U (PC) It is. Such a lander is attached to the PC shown in FIG.
(E) of FIG. (E) and
As can be seen from the comparison with (c), in the case of (e), the introduction
No fluctuation occurs when the previous PC is zero. example
For example, this kind of parameter is
Can be used as a determinant. For example,
Prohibits the addition of certain non-harmonic tones when the value of is zero
Can be used as a parameter. Or control the additional position
It can be used as a parameter. One of FIG. 21 (d)
Is based on the value of the PC to be referenced.
That is, the degree is not uniform. like this
Parameter of melody control with random value with distorted probability distribution
May be used as data. 21 (b) and (d) of FIG.
What is common is that any random introduction function
The fluctuation range is introduced based on the PC value of
It is a point. In more general terms, the run is based on the original PC value.
The value after dam introduction is controlled. The other is
The fluctuation width does not change with the direction of the music.
You. This often gives favorable results. I
However, if desired, the range of variation depends on the measure number.
You may choose to change the randomization. Seed of parameter C
Depending on the type, in general, the greater the randomization,
Greater change in the melody generated by it
Is given for each generation. However, based on the original PC value
In the case of the random introduction function
To use as a fine adjustment of the generated melody
Can be. Another random introduction function that was not mentioned above
One advantage is that the non-operation type as illustrated in FIG.
That the characteristic of parameter C can be obtained stochastically
It is. <Specific generation of melody>
Detailed description of the specific occurrence of the melody in the state
You. FIG. 23 is an overall flow of melody generation. That
The main part is in the melody generation in step 23-9, where
Melody is created sequentially in bar units. Rest of the flow
Is a process for transfer between memories and the like. sand
In other words, the processing from 23-1 to 23-5 is based on the motif method.
The motif data in Mori 4 (Figure 1) is melody data
This is a process of transferring data to the memory 10. No shown in 23-5
The number of notes contained in the motif. 23-6 and 23-1
The MNo shown in Fig. 4 is the same as when creating a melody continuously.
This is the total number of melody notes that have been created. Melody
Is performed in measures, so the number of measures in the motif is calculated.
(For example, it can be calculated from the duration data of the motif data.
(23-7). Here, the motif is less than 2 bars
It indicates that it is OK to do so. For motifs of two or more measures
The handling will be described later.
Or one bar. Calculated number of motif measures
Is added to (23-8), and a melody of one measure is generated.
(23-9), the data is stored in the melody data memory
10 (23-10 to 23-13). 23-1
No. 3 is of course one bar generated in the process of 23-9
The number of notes in the melody. CNo shown in 23-15 is
This is the total number of codes used in code progression.
Since the bar number has reached the total number of chords,
At this point, the melody is completed. By the way, the main part
Rody generation processing 23-9 includes processing for generating a dispersed chord,
Processing related to adding non-harmonic sounds and processing related to pitch correction
Contains. Hereafter, the generation of dispersed chords and the addition of non-chords
Description will be given in the order of addition and correction of the sound duration. [0061]Generation of dispersed chords FIG. 24 is an example of the flow of the distributed chord generation process. the first
The processing is the reading of the chord constituent sounds (24-1).
Details are shown in FIG. Reading the chord constituent sounds in FIG.
Process from 25-1 to 25-4
Is the code number from the chord progression memory 3 (see FIG. 26).
When reading bar data (code name) sequentially
It is about time. 25-2 is a chord progression method indicated by the value of i.
The contents of the address of memory 3, that is, the i-th code name
In the register CNi. 25-3
Is stored at the address next to the last codename.
End code (code)
At this point, the reading of the code name is completed. FIG.
In the example of the chord progression, Cmaj, F
maj, G7And ends with the next Cmaj. FIG.
The chord progression memory 6 is adapted to this example. did
Therefore, CN1 = 1, CN2 = 7, CN3 = 8, CN4
= 1. The processing from 25-5 to 25-12 in FIG.
The process is based on each chord name
Referring to FIG. 2 (see (2) of FIG. 26 and FIG. 4), each code
When reading the pitch data of the chord components of the name
It is about time. In this example, each chord consists of four constituent sounds
It is assumed that the four
Each pitch data is in the lower order in the continuous address. 2
5-7 j = (CNi-1) × 4 + 1 is the reading of each code.
Calculation of the delivery start address, from 25-8 to 25-1
0 reads four pitch data from the start address.
Is being set in the register KDij.
The chord progression is Cmaj, Fmaj, G shown in FIG.7, C
When taking the maj
KD for Cmaj in the first measure11, KD12,
KD13, KD14Is KD11= 1 (is C), KD12= 5
(M), KD13= 8 (so), KD14= 13 [Outside 6] And in Fmaj of the second measure, (KDtwenty one, K
Dtwenty two, KDtwenty threeKDtwenty four) = (1, 6, 10, 13) = [Outside 7] , G in the third bar7Then, (KD31, KD32, KD33,
KD34) = (3,6,8,12) = (Le, Fa, So,
The fourth bar is the same as the first bar, and (KD)
41, KD42, KD43, KD44) = (1, 5, 8, 13)
Becomes Note that the data structure of the chord structure sound memory 2 of this example is
The structure is based on C tone (tonality distribution
Consideration). In the following description, KDi1, KDiTwo, KD
iThree, KDiFourInstead of simply KD1, KD2, KD3,
KD4. KD1 is the lowest harmony
Sound, KD2 is the next lower harmony, KD3 is the next lower harmony
The sound, KD4, is used as the register of the highest harmony
You. At this stage, KD1, KD2, KD3, KD4
Has the pitch of the chord component (in the ith measure)
In the basic form, that is, according to the chord configuration sound memory 2
It is in. 24-2 in FIG.
FIG. 27 shows an example of a detailed flow of the turn of the sound.
You. The turning function of the chord constituent sound is the range of the melody to be generated
Is changed over time (in this example, in measures),
To control the excitement of the song.
You can troll. In the flow of FIG. 27, for example, [Outside 8] Then in one turn [Outside 9] In two turns [Outside 10] …… and if you're a refassi, one turn [Outside 11] In two turns [Outside 12] I am trying to be. (8) Both ends are in octave relationship as in (Cmaj)
Code and Refassi (G7Both ends are ok as in)
Turn logic is different from code that does not
You. That is, the arrangement of the pitches of the chord before turning is represented by KD1
(Old), KD2 (old), KD3 (old), KD4 (old)
(Lowest order)
After the turn, KD1 (new), KD2
(New), KD3 (new), KD4 (new) KD1 (new) = KD2 (old) ...... (fa) KD2 (new) = KD3 (old) ... (SO) KD3 (new) = KD4 (old) ... (S) (M1) KD4 (new) = Octave higher than KD1 (old) ...
… [Outside 13] And for chords that are octave related, KD1 (new) = KD2 (old) ... (mi) KD2 (new) = KD3 (old) ... (SO) KD3 (new) = KD4 (old) ... (do) Up to this point, (M2) KD4 (new) = Octave higher than KD2 (old) ...
… [Outside 14] Need to be Whether or not it is an octave relation is described in 27-3.
And (M1) and (M2) are distinguished by 27-5 and 27-4.
And shift from 27-6 to 27-10, 27-1
1 is the finish of the distinction between (M1) and (M2). PC7 in FIG.
Is a parameter indicating how many times the turning is performed. Mochi
This is one of the parameters C, as you can see from this example.
As described above, the parameter C is a parameter controlling the generation of the melody.
Data. Here, based on the example of FIG.
Let's see what the code turns. Parade of code turning
The calculation of the meter PC7 is as follows for the i-th measure. PC7i = (+ cos ((i + 2) × 2π / 4)) × 1
+1 (See FIG. 4). When i = 2, PC7 = 2 Becomes The second bar code is Fmaj, and its basic
Shape (before turning) [Outside 15] KD1 = 1, KD2 = 6, KD3 = 10, K
D4 = 13. Because PC7 = 2 turns 2 times,
Fruit [Outside 16] KD1 = 10, KD2 = 13, KD3 = 1
8, KD4 = 22. Now, as shown in FIG.
After the turn of the chord constituent sound, the process proceeds to 24-3. Here PC
Reference numeral 9 denotes a parameter for the number of dispersed chords to be maintained. PC ≧ 1
When standing, the flow moves to the maintenance side flow 24-4.
No. PC1 of 24-4 is the correction parameter of the variance chord type
And when PC1 ≧ 1, the dispersion sum is 24-5.
A sound correction is performed. A detailed flow example of the correction of the dispersed chord is shown in FIG.
29. 29-1 to 29-5
The meaning is shown on the right. That is, in this flow example
Motif dispersed chord type {LLi} = (LL1, LL
2, ...) to the opposite relationship, the so-called retrograde
(As mentioned above, LLi appears in motif measures
= The number of the chord in the motif from the bottom
Indicates the pitch of the sound. However, rest LL = is set to zero
doing. See FIG. 17). 24-6 to 24-
9 is the number PC9 that maintains the dispersed chord, and K
The value of D is stored in the intermediate melody register MEDi (current measure
Register that stores the i-th melody pitch data in
It is moving to. That is, the variance sum here
Is the sound type {LLi} a parameter type according to the motif or 24?
This is the type that modified it in -5.
Constituent of chord (chord) progressing in bar {KD
From i} = (KD1, KD2, KD3, KD4)
I select one and write it to MEDi
is there. Here, {KDi} is already in 24-2,
The range is shifted by the number of the code turning parameter PC7.
It is a collection of harmony sounds. In FIG. 24, reference numerals 24-10 denote the types of dispersed chords.
Is the first step in the flow that branches when
Here, the previous sound (here, the last melody of the previous bar)
Deterministic parameter PC15 from (1) is true (value 1)
If so, proceed to 24-12, where the last of this measure
Decide the first harmony MED =, note in bar at 24-13
The number i is the second and the deterministic parameter PC15 is false.
If i = 1 in 24-11, a lander of 24-14 or less
Proceed to the appropriate distributed chord generation flow. Shown in above 24-12
The detailed flow of the process for determining MED1 from the previous sound is shown in FIG.
8 is illustrated. The logic of this flow is the current measure
Last melody note of the previous measure (previous note)
To the note at the beginning of this measure (next
Sound). Previous sound is MEDj-1, next sound
Is MEDj. Flow 28-1 to 28-10
The description is clear and does not require further explanation. From 24-14 to 24-21 in FIG.
Is run within the range of the smoothness parameter PC8.
The dam is generating a dispersed chord. γ
1Is 0, 1, 2, 3, 4 according to RND (4).
It is a random number that takes any number of them. P shown in 24-21
C2 is assigned to the melody bar currently being generated
The number of harmony tones (one of the parameters C)
When this is reached, the distributed chord generation processing within that measure is completed.
You. The route from 24-9 to 24-21 is distributed
After generating the dispersed chord by the number PC9 that the chord maintains
The rest is to generate random chords randomly.
You. Here, for the sake of understanding, the second measure in FIG.
It will be easy to see what will happen in the distributed chord generation process.
Just let me state. Note that the turning of the chord components is not
The result (a collection of available harmonies)
Is) [Outside 17] KD1 = 10, KD2 = 13, KD3 = 1
8, KD4 = 24. The number of generated harmonies PC2,
For the value of parameter PC9 for the number of retained chords
PC2 = 6, PC9 =
4, PC1 = 1. In this case, the maintenance example from 24-3
Flows to the flows 24-4 to 24-9 of FIG.
LL1 = 4, LL2 = 3, LL3 =
2, LL4 = 1 is obtained. And 24-6 to 24-
From the beginning of the bar, [Outside 18] (MED1 = KDLL1)
= KD4 = 24 = [Outside 19] , MED2 = 18, MED3 = 13, MED4 = 1
0). The remaining two dispersed chords are from 24-14 to 24-2
Created by one random occurrence, for example, [Outside 20] Becomes So far, the melody of the second bar is [Outside 21] It is. This concludes the description of the generation of dispersed chords. [0069]Add non-harmonic sound After the generation of the dispersed chord is completed, a non-harmonic tone is added. Less than
Hereinafter, the addition of the non-harmonic sound will be described in detail. In FIG.
The following is an example of the flow of adding a bias sound (a first type non-harmonic sound). 30-
1 is a random number γ indicating the presence or absence of a bias sound1To f (RND
(1)), is being calculated by PC3. This
Here, PC3 is the weight of the percussion assigned to the current melody bar.
And a random number γ in a format controlled by PC3.1Get
ing. For this random introduction, <parameter C
See the second half of> and FIG. In 30-2,
Random number γ at the position where the sound is attachedTwoThe location of the bias
It is obtained in a format controlled by the parameter PC4. 30-3
To determine whether or not to add a bias sound.
30-9, an array of No intermediate melody data {ME
Of Di}, γTwoNext melody data after
To γTwoThe second is secured as a biasing position.
At 30-7, the parameter PC10 of the difference pitch of the bias is set to γ.Three
, And a biasing sound is added at 30-9. Sand
ΓTwoMEDγTwoMEDγ on the right of2 + 1To
γThreeIs added to the value of the pitch addition position.
γTwoMEDγTwoIs written in. 30-10 is 1
Melody note
The number of notes in a bar is being increased by one. FIG. 31 shows an example of a flow for adding the elapsed sound. This
The meaning of the flow is that adjacent melody notes
Whether to add a passing sound between MEDi and MEDi + 1
Is added if the specified condition is satisfied, and the condition is not satisfied
Is not added. Here, given conditions
Are AND conditions of the following (i), (ii), and (iii). (i) that adjacent melody notes have different pitches,
(ii) The pitch difference between adjacent melody notes is a major third (a =
4) Not greater than (iii) Weight of elapsed sound PC6
Controlled random number γ1Is the additional value (γ1= 1)
Showing. If the addition of a passing sound is allowed,
Between the matching melody notes, between the two melody notes
Melody notes of different pitches are written to MED as elapsed sounds
No. The pitch used as the transitional sound is a so-called available note
(Available Notes). Figure
31-10 of 31 is merely exemplary. The above explanation and figure
With the lapse sound from the description of the flow 31-1 to 31-13 of 31
Since the additional operation is clear, further explanation is omitted.
You. FIG. 32 shows an example of a flow for adding an oxalate sound.
You. This flow is also performed under a predetermined condition (weight of PC1).
When the condition that is restricted by
Is added. Same height of adjacent melody notes
Is also one of the conditions. Added
The pitch of the sound is the pitch of the previous melody note.
It is the height shifted by the difference pitch of the hum. Theories above
From the clear description of the flow of
The behavior of the humming sound addition is clear, and no further details are given.
No detailed explanation is required. FIG. 33 exemplifies the flow of adding a grace tone.
Things. What this means is that two adjacent
The loud note pitch is equal and the parametric weight
Random number parameter γ controlled by meter PB1Is zero
When the melody notes are not
Add before MEDi + 1 and MEDi + 3 (MED
i and MEDi + 2). What
Here, γ shown in 33-10, 33-12, 33-131Is
Γ generated in 33-41Use a different value than
Can be For this purpose, for example, step 33-
Between 9 and 33-10, γ1= PCX
) Pattern may be performed. The above explanation and figure
33 from 33-1 to 33-16
The work is clear. Incidentally, the second operation sequence described as the operation sequence
The melody of the measure is the non-harmonic sound added here (Fig.
Let's see what happens in 33). Non-harmonic
Before the addition, the melody of the second bar in FIG.
The sound sequence {MEDi} [Outside 22] Ie, MED1 = 24, MED2 = 18, MED3
= 13, MED4 = 10, MED5 = 13, MED6 =
It was 18. First of all, the bias sound addition (Fig. 30).
In measures, γ1= 0 (ejection addition prohibited value).
I did not do it. Next, in the case of the elapsed sound addition (FIG. 31),
It looks like this: If the melody note number i in a bar is 1
Come a = | MED1-MED2 | = 4 Since the weight PC6 of the elapsed sound is the second measure, c
os (4 × 2π / 4) × 2 + PA4 (where PA4 =
According to 1), PC6 = 3. Where the random number γ1
Is calculated, but for the value 3 of PC6, γ1= 2
And For the next shift processing from 30-4 to 30-9
Than,   {MED} = (MED1, MED2, MED3, MED4, MED5, MED               6, MED7)             = (22, 18, 18, 13, 10, 13, 18) [Outside 23] Becomes And the register MEDi +1
Is MED2 here, MED2 = MED3- (MED3-MED1) / 2 = 20 [Outside 24] Becomes At this point, the melody sequence {MED} [Outside 25] It is. Increment i to i + 1 until No
In the following, γ1Or the value of a
No elapsed sound was added. Likewise
And then decide whether or not to add below
And add them. Assume that the result was not added. Non-harmonic sound addition shown in FIGS.
The flow (rule) is only an example. For example, non-sum
To the value of parameter C of voice weight (or similar)
Therefore, the rules for adding each non-harmonic sound in a different manner
Can be changed. For example, when the weight is small enough
(For example, at 1), the corresponding non-
Limit the number of chords to one at most. When the weight is 2, for example
Is not allowed to add more than one non-harmonic
However, continuous addition is prohibited. When the weight is large enough
(For example, when the number is 3 or more)
You. To achieve this, for example,
Use a counter to count the number of executed additions for each non-harmonic
(For example, increment after 31-10), 1
The counter indicates that the corresponding non-harmonic tones have been added.
If you do, PC = 1, in that bar
Completes the process of adding the non-harmonic sound
Use a flag to indicate that a non-harmonic tone has been added at the note position
And if this flag indicates true and PC = 2 is true
After setting the flag to false, adding a non-harmonic tone (for example, 31-7)
~ 31-11) is skipped and continuous addition is prohibited.
Flag true and PC>If 3 is also true, set the flag to false
Free non-harmonic sounds without adding non-harmonic sounds
Allow addition. Further, in the flow of adding the tone in FIG.
Although the number of added percussion sounds is at most one,
Instead of this, it is possible to allow continuous biasing.
Good (depending on the weight of the bias). Other various rules
Changes are possible. The explanation of the addition of non-harmonic sounds has been given above
Finish. [0076]Length correction For the sequence of note lengths {Rhy},
When the generation of the chord is completed, the total duration is
So that the length of the knot, for example, 16 (4 beats)
Assign the note length appropriately. For example, if the number of dispersed chords is 4
Then, 16/4 = 4 (length of one beat) is set to each pitch Rhy1,
Rhy2, Rhy3, and Rhy4 are allocated. Fraction
When the number of chords is not divisible by 16 like 5
Is, for example, Rhy1 = 4, Rhy2 = 2, Rhy3 =
2, unnatural, such as Rhy4 = 4, Rhy5 = 4
Allocate in a form that is not. In one allocation logic, 2
Use split logic. For example [Outside 26] When adding one note at the time of the rhythm, [Outside 27] Divided into two as shown by, and one of them is further divided into two
And [Outside 28]One of them [Outside 29] To As a result, for example, [Outside 30] Rhythm, that is, a sequence {Rhy} of the length of each sound of the melody
Is obtained. To add one more note, split it into two
Already, when [Outside 29] is not corrected, [Outside 31] Where [Outside 29]. For example, [Outside 32] Is obtained. At the stage of adding a non-harmonic sound,
The number of notes in the melody increases by one or two
You. Therefore, for example, when a non-harmonic sound is added
Performing allocation updates with allocation logic at
(Not shown). Enter the note length correction flow of FIG.
At this stage, note length assignment as described above has been completed.
(Completion of tone length adjustment as preprocessing). Hereinafter, FIG.
A description will be given of an example of tone length correction. In this example,
The first is to maintain the consistency of the duration pattern, the second is
Match the length of the note length pattern to the length of the bar
It is to let. Is the pitch pattern consistency 34-7?
34-9. From 34-10
The portion indicated by 34-19 represents the total length of the pitch pattern at the current small
We are adjusting to the length of the knot. More specifically, SIG is the number of melody sounds.
The ratio between No. and the number of notes in the motif No. 1 is much different from 1
Is a variable whose value is switched when
Half the number of notes in a melody bar
To shorten the length of each pitch pattern of the motif
Or lengthen the resulting pitch pattern
The first half of the measure is a pitch pattern. For example,
The melody number of the current bar is included in the motif (for one bar)
When the number of sounds is less than half (No1 / No ≧ 2), SI
Set G to 2. In this case, for example,
If it is 4, 2, 2, ..., then the melody length sequence is 8, 4, 4
...... This is temporarily a half of the motif
This is the tempo pattern. On the other hand, the melody of the current bar
The number of notes is less than twice the number of notes included in the motif (No1 /
When No ≦ 0.5), SIG is set to 0.5. This place
In this case, for example, the length sequence of the motif is 4, 2, 2,...
And the melody tone length sequence 2, 1, 2,.... This is mochi
This is a pattern that temporarily doubles the tempo.
Such integer ratio pattern conversion is generally consistent with the rhythm.
It does not destroy the sex. If the number of melody sounds is close to the number of motif sounds
Ki (0.5 <No1 / No <2), pitch length of motif
Turn the turn to the middle of the melody pitch pattern
To be sure, up to half of the total number of notes in the melody bar)
Turn. By the above-mentioned rewriting of the tone length, the melody sound
The length of the long pattern deviates from the measure length (16 in this case)
It can happen. Therefore, the melody after rewriting the pitch
Calculates the total length of the note duration pattern, which is the bar length
Check if it matches 16, and if not,
Adjust the note length from the last note. For example, melo
If the total length of the note length pattern is longer than the length of the bar,
First look at the duration of the last note in the bar, and if it is 3 or more
If it is, shorten it by one and compare it again with the bar length.
If the duration of the last note is 2 or less, one more hand
Look at the previous note and do the same. Conversely, the duration pattern
If the total length of the bar is shorter than the length of the bar,
And if it is less than 5, extend the note length by 2.
And then again compare to the measure length. The length of the last note
If it is 6 or more, the same applies to the length of the previous note
I do. As a result, the total length of the pitch pattern and the bar
Are matched, and the sound length correction process is completed. Theories above
From the clear description of the flow in FIG.
The description is omitted here. By the way, the melody raw of the second bar in FIG.
In the case where the pitch is
Rody's pitch pattern {Rhy} is 2, 2, 2, 2,
2, 2, 4, that is [Outside 33] It has become. In the processing from 34-1 to 49-9,
Is the same as the motif, {Rhyi} is 4,
2, 2, 4, 2, 2, 4, that is, [Outside 34] become. In the latter half of the adjustment from 34-10,
Become. The SUN is 20 and is longer than the bar length of 16. Last
Note length Rhy5 is 4 and greater than 3, so the last note length
Becomes 2. Here, SUN is 18 and is still longer than a bar.
So far {Rhyi} is 4, 2, 2, 4, 2, 2, 2
It is. If you search for a note with a duration of 3 or more, the fourth note
Is 4, so it becomes 2 and SUN = 16 holds,
Correction is complete. At this time, {Rhyi} is 4, 2,
2, 2, 2, 2, 2, that is [Outside 35] Becomes The pitch of the melody already obtained
When the turns {Rhyi} are shown side by side, [Outside 36] This is exactly the completion of the melody shown in the second bar of FIG.
It is. The melody of bars 3 and 4 in Fig. 5
The progress of the process is omitted, but the result is as shown in the figure.
Let's say That is, G in the third bar7Then [Outside 37] In Cmaj of the 4th bar (here the last bar) [Outside 38] It is. With the above, the song is completed. <Correction Learning> As described above,
The user responds to the automatic music machine through the monitor
Modifications can be requested. Below, about correction learning
This will be described in detail. In this embodiment, the correction is performed for each bar.
It is. FIG. 35 shows a flow of the correction learning. First, first
Then, in the same manner as described above,
Extract the motif feature parameters (35-
1). Here, every measure of the melody to be generated is
To generate and store parameter C, etc.
Good (the melody will be the same as before)
It is not preferred in terms of quantity. Which bars you want to modify
The user inputs (35-2). In contrast,
The operation composer activates the internal parameter C calculation function and repairs it.
Calculate the parameter C (PCx) of the measure for which there was a correct request
(35-3). For example, the turning parameter PC7i = co
s ((2 + 2) × 2π / 4) × 1 + 1 = 2
Next, all the PCs are calculated. Next, subjective data is obtained from objective data (parameter C).
Parameter conversion into parameters for data (35
-4). The purpose of this parameter conversion is for the user.
Information that is easy to understand and understand.
You. For example, the turning parameter PC7i mainly has
PC7i = 2
"The degree of excitement is 90% in this bar
The person who informs me subjectively
Correction work is easier for the user. This
The logic of this parameter conversion (function operation etc.)
Considering the correlation between data (PC) and subjective data
You can decide. For example, on a development machine,
Estimated correlation (for example, analysis of songs actually composed,
Results obtained by subjective evaluation method)
And the results obtained from the
It can be incorporated into the logic of meter conversion. Parameters
The result (message) of the conversion is to CRT12 (Fig. 1) etc.
It is displayed (35-5). On the other hand, the user can select the type of parameter
The EDB is input (35-6). For example, a paradise
Meter, and the parameters of the excitement and turning
EDB is a parameter if the data
The value indicates the turning parameter as the type of the data C. Subjectivity
Parameter type {S} and objective parameter {O} type
If there is no 1: 1 correspondence, the specified subjective parameter
Objective parameters O (j) corresponding to the type of data S (i),
O (k),... May be obtained by conversion (not shown).
In this flow, a 1: 1 correspondence is assumed). Then you
The user's correction value EDC 'is input (35-7). example
If you want to change the excitement from 90% to 50%
In this case, the user sets the type of the correction parameter to 35-6.
Enter 50% of the correction value (EDC ') 35-7
That is. On the other hand, the automatic composer has a subjective parameter
Inversely converts the value of (EDC ') into the value of the objective parameter
(35-8). In the example above, the excitement should be 50%
Inverse conversion is performed for the request
The value of 7 (EDC) is set to 1. Then, from 35-8 to 3
As shown in 5-9, the contents of correction are stored in the learning data memory 9.
Write in. Here, P is a point of the learning memory 9.
It is. Pointer P is incremented and corrected one after another
The data is being written. The measure you want to modify
Or that there are no more parameter types or values
The user inputs the correction completion, and the correction learning is thus performed.
Is completed (35-12). The above correction learning generates user's preference.
Works to reflect on the melody. This is the 36th
From the operation of parameter change by learning illustrated in the figure,
Will be apparent. That is, parameter change by learning
The parameter C calculation function F31 (FIG. 2)
More usually, the correction learning function than the generated parameter C
Prioritize parameter C learned from F4
You. At 36-3 in FIG. 36, the normal parameters
Calculation of C, already described in <Parameter C>
It is solid. In the sections from 36-4 to 36-11, the learning method
Parameters used to search for melody 9 and generate melody
C is replaced with the learned one. That is, the current
A corrected measure that matches the measure is found (i = * P
a), a parameter that matches the type of parameter of interest
Data type is found (j = * (Pa + 1))
And the correction data EDC indicates that parameter in that measure.
Data PCj (PCj = EDC). In the example of FIG.
In other words, the turning parameter PC7 at the second bar
Instead of 2 (indicating that the number of turns is two)
1 indicating that the number of times of rotation is one is assigned. In FIG. 36, i is a measure number, and j is a parameter.
Parameter C in the meaning used as a subscript PCj of PC
Is a variable to indicate the type (parameter name) of
Pointer of learning memory 9, * Pa is learning pointed by pointer
Memory data. Here, Pa is a multiple of 3
* Pa indicates the number of the corrected measure, and Pa is a multiple of 3
* In the case of Lass 1, * Pa indicates the type of correction parameter
* When Pa is a multiple of 3 plus 2, * Pa is a correction parameter.
It represents the value of the meter (the flow of FIG. 35).
On the right). 36-13 to j> number of parameters
When all the parameters for the ith measure
About C, all the learning content is included
Parameter C is completed. 36-14 is a single measure
The melody of the order is generated, and 23-9 to 23-1 in FIG.
4 is almost supported. In particular, I've shown it here
Is the corrected parameter C up to 36-13
To make it clear that a melody is generated
It is. In short, once stored in the learning memory 9
The read learning data is read each time a user requests composition.
And the place where it has been learned is directly opposed to the parameter C.
Is reflected (see also FIG. 13),
Thus, the generation of the melody is controlled. Accordingly
And the composed melody reflects each user's preference
This is where learning outcomes come into play.
You. For reference, this correction learning is applied to the lower music score in FIG.
This shows the melody after modification. In this example, the turning
Parameter PC changed from two turns before correction to one turn
Has been corrected, and the result appears in the melody of this measure.
ing [Outside 39]. Of these, the harmony of Fmaj [Outside 40] and la and fa [Outside 41] is the basic form Is turned only once). <Features of Embodiment> From the above detailed description
The features of the automatic composer according to the present embodiment are obvious. That
Some are listed below. (B) Motif feature parameters obtained by evaluating motifs
Melody is generated based on chord progression information
The essence and concept of the song that the motif has
It is reflected throughout the body and
Controlled and varied melody
Can be (B) The melody to be generated is controlled in the melody generation means.
C (generation melody feature parameter,
Means for generating the generated melody control parameter)
Parameters for each measure in units of the progression section (measure).
Data C is determined. Parameters assigned to each measure
The melody of each bar is generated according to the value of meter C.
Raw control. Therefore, in the melody flow
Can express unity and diversity. (C) The means for generating the parameter C is the compressed data
(Third parameter B) and motif feature parameters
The parameter C is generated by calculation. did
Therefore, the value of various parameters C is relatively small.
You can get it in storage space. (D) Do you treat non-harmonic sounds and harmony sounds differently?
So the song flow becomes very musical. (E) The motif has come to be input by the user.
You can make a song that reflects the motif
The user composes the song with a sense of participation in composition
At the same time. (F) In addition, no specialized music knowledge is required,
As long as you think of the motif, then the automatic composer
He composes them together. (G) A correction learning function is built in,
This function will learn. The automatic composer has this learning function
The subsequent composition is performed with priority given to the acquired learning data. I
Therefore, the composed song reflects the taste of the user
By now, users are becoming more and more interested
Become. (H) Also, depending on the parameter settings, a distributed chord generator
Function. For example, whether or not non-harmonic sounds can be added
Parameters (eg, PC4, PC6, PC11, PC1
When 3) indicates a prohibited value, any non-harmonic machine
Noh is also prohibited from doing so, and as a result
(In FIG. 30 to FIG. 33, PC4 etc.
When γ1= 0). <Modification> The present invention is limited to the above embodiment.
However, various modifications, changes, and improvements are possible. For example, on
In this embodiment, the length of each measure is set to the same length for all measures.
However, it may be a measure of variable length. This is for example
Provide a bar counter and assign it to the count value (bar number)
Can be realized by using the specified bar length.
You. In the above embodiment, the bar of the motif is the beginning of the song.
It was supposed to be given as a head, but what number
The measure may be the input measure of the motif. Change for this
The shape is easy. In the above embodiment, the input mochi
The length of the bar was assumed to be one bar, but
You may. For this, for example, in the case of two measures
Is the first motif feature parameter from the first bar motif.
A meter (eg, a sound type parameter LLi)
Second motif feature parameter from the second bar motif
And one of the two types of parameter B and the first mochi
The first parameter C is calculated from the characteristic parameter
The second motif feature parameter of the other parameter B
The second parameter C is calculated from the data. And the first
Parameter C is used to generate a melody for odd-numbered measures, for example.
Used to control, the second parameter C is an even number
Melody generation of measures (measures with zero modulo 2)
(Measure value of bar number counter is 2
Then, which parameter C should be generated?
Can be determined later). However, depending on the music, for example,
Takes the form A, B, A, where A is a bar with 8 measures and B is 7 measures
A phrase in the clause, the last A being an eight-bar phrase, etc.
For example, the value of each passage (8, 7, 8) = (first
The number of bars in the passage, the number of bars in the second passage, and the number of bars in the third passage
And the value of the measure number counter are compared.
It became the ninth bar from the beginning of the song,
When the start of a passage is detected, the bar number counter is incremented.
You only need to reset it. In short, the odd-numbered small element in each passage
Generate the first parameter C at the bar, and at the even-numbered bar
What is necessary is just to generate the second parameter C. Also, in the above embodiment, the
The number of codes is assumed to be 1 (1 chord / measure).
The number of chords per measure can be more than 2
You. For example, the first two beats are the first chord (eg C)
Assume measures where the last two beats are the second chord (eg F)
Let's try this. In the first configuration example, the parameter C generation function
Generates the parameter C in bar units. On the other hand, the dispersed chord
The generation function follows the first code in the section of the first code.
To generate a dispersed chord, and in the section of the second chord, the second chord is generated.
Generate a chord according to the chord. However,
Tab C is used in the bar section. The remaining non-harmonic sound addition function is small
A non-harmonic sound is added for each clause section. In the second configuration example,
The non-harmonic sound addition function is also non-harmonic in two beat units (chord units).
Is added. Other configuration examples are also conceivable. Also desired
If so, change the note length correction function and
The total length of each chord to the chord length (or
A function for correction may be included in (3). Further, even if a selection function such as music style is added,
Good. For example, the entire data of the parameter B is classified.
That is, the data structure of the parameter B memory is classified.
Structure. And by the selection input from the input device,
Determine the data to be read from the parameter B memory
Parameter C is generated by the selected parameter B
Let As described above, parameter C is replaced with parameter B.
Depends on the value of parameter B.
The value of C also changes, resulting in a melody
Changes. Also, the chord composition sounds related to chord progression
The data structure of the memory 2 is also divided based on the song style and the like.
It can be a categorized structure. Selected code
From the set of constituent notes,
Each chord component sound according to the chord name string
Is read. As a result, the distributed chord generating function F32 is generated.
Generated distributed chords are based on a different set of chord components
It is different from the case. As a result, the characteristics of the melody also change.
Become In other words, the setting of the selected chord component
Is a set of chords in the selected field
You. Another alternative approach is to use the parameter C operation
Function F31 is different for each field while maintaining common functions
Built-in functions (arithmetic functions), fields from input devices
Activate the selected function by designated input
You. Distributed chord generation function F32 and non-chord sound addition function F33
A similar approach is possible. The motif evaluation function F1 has a chord decision function.
Functions such as functions may be incorporated. For example, two
Motif for one bar can be input according to the
First, the non-harmonic sound extraction function extracts non-harmonic sounds in measures.
To find out which chord the rest of the note is.
If there is no chord to play, there are two chords in one bar
The non-harmonic sound extraction function extracts non-harmonic sounds in units of two beats.
Chord determination function that determines chords by extracting them
Incorporate. In addition, regarding the melody generation, etc.
In the form, bars are generated one by one sequentially, but by parallel processing
May be generated in parallel. In this case, the connection between measures
Where you need (the melody note from the previous note to the beginning of the next measure)
Need the information of the previous bar
The measure melody generation function starts after the previous measure melody is generated.
Be moved. In addition, various changes can be made. [0097] According to the first aspect of the present invention, the progress of music is achieved.
Generate melody that can change music content variously as you go
And music through multiple music sections
A characteristic that does not lose the song essence (characteristic of the motif)
(Consistency) can be added to the melody flow
(Effect of the first invention). Claim 2The described inventionAccording toNo.
1 In addition to the effects of the invention,For specific music sections,
Using the section feature parameters set through the user input
By generating melody by
You can modify the melody to suit your taste. Claim 3,
According to 4, the music content of the generated melody is included for each characteristic element.
Can be modified to suit user preferences. Claim5To
According to various section melody feature parameters,
You can control various characteristic elements of the music content of D for each element,
Melody generation control can be performed finely. Claim
According to the invention described in Item 6, in addition to the effects of the first invention,said
In the music content of the generated melody, the user
Unwanted part, music feature element by part, feature element by
Can be specified in detail and can be modified.

【図面の簡単な説明】 【図1】本発明の実施例に係る自動作曲機の全体構成
図。 【図2】自動作曲機の機能ブロック図。 【図3】音高データ例を示す図。 【図4】動作説明のための入力データ例を示す図。 【図5】形成されたメロディの例を示す図。 【図6】主な変数のリストを示す図。 【図7】非和声音抽出のフローチャートとともに著名な
曲の一部を非和声音を説明するために引用した図。 【図8】先取音抽出のフローチャート。 【図9】倚音抽出のフローチャート。 【図10】ししゅう音の抽出のフローチャート。 【図11】経過音の抽出のフローチャート。 【図12】装飾音抽出のフローチャート。 【図13】パラメータ抽出、演算のフローチャート。 【図14】HDiに各非和音声に対応させる定数を代入
するフローチャート。 【図15】各非和声音の数をモチーフ特徴パラメータP
A1〜PA6として抽出するフローチャート。 【図16】和声音の数、非和声音の数、総数をモチーフ
特徴パラメータとして抽出するフローチャート。 【図17】和声音の型のパラメータをモチーフ特徴パラ
メータとして抽出するフローチャートとともにその動作
例をグラフで示す図。 【図18】なめらかさのパラメータをモチーフ特徴パラ
メータとして抽出するフローチャート。 【図19】パラメータ間のマップ例を示す図。 【図20】パラメータC(メロディ制御パラメータ)の
特性例をグラフで示した図。 【図21】ランダム導入機能を説明するためにランダム
化の例をグラフで示した図。 【図22】(A)は特定のパラメータCについての演算
の例を示す図、(B)は成分パラメータと小節番号によ
る特定パラメータへの作用を具体的に示す図。 【図23】メロディの生成のフローチャート。 【図24】分散和音発生のフローチャート。 【図25】コード構成音の読み出しのフローチャート。 【図26】コード構成音メモリとコード進行メモリの内
容を示す図。 【図27】コード構成音の転回のフローチャート。 【図28】MEDiを前の音より決定するフローチャー
ト。 【図29】分散和音型の修正のフローチャートとともに
その動作例をグラフで示す図。 【図30】倚音付加のフローチャート。 【図31】経過音付加のフローチャート。 【図32】ししゅう音付加のフローチャート。 【図33】装飾音付加のフローチャート。 【図34】音長修正のフローチャート。 【図35】修正学習のフローチャートとともに学習デー
タメモリの内容を示す図。 【図36】学習によるパラメータ変更のフローチャー
ト。 【符号の説明】 1 入力装置 2 コード構成音メモリ 3 コード進行メモリ 4 モチーフメモリ 5 パラメータBメモリ 6 CPU 8 パラメータCメモリ 10 メロディデータメモリ F1 評価(非和声音抽出)機能 F2 モチーフパラメータ抽出機能 F3 メロディ発生機能 F31 パラメータC演算機能 F32 分散和音発生機能 F33 非和声音付加機能
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is an overall configuration diagram of an automatic music composer according to an embodiment of the present invention. FIG. 2 is a functional block diagram of the automatic music composer. FIG. 3 is a diagram showing an example of pitch data. FIG. 4 is a diagram showing an example of input data for explaining an operation. FIG. 5 is a diagram showing an example of a formed melody. FIG. 6 is a diagram showing a list of main variables. FIG. 7 is a diagram illustrating a part of a famous song together with a flowchart of non-harmonic sound extraction to explain the non-harmonic sound. FIG. 8 is a flowchart of prefetched sound extraction. FIG. 9 is a flowchart of a bias sound extraction. FIG. 10 is a flowchart for extracting an oxalate sound. FIG. 11 is a flowchart of extracting elapsed sound. FIG. 12 is a flowchart of decorative sound extraction. FIG. 13 is a flowchart of parameter extraction and calculation. FIG. 14 is a flowchart for substituting a constant corresponding to each non-Japanese voice into HDi. FIG. 15 shows the number of each non-harmonic tone as a motif feature parameter P
9 is a flowchart for extracting as A1 to PA6. FIG. 16 is a flowchart for extracting the number of harmonic sounds, the number of non-harmonic sounds, and the total number as motif feature parameters. FIG. 17 is a diagram showing a flowchart for extracting a harmony type parameter as a motif feature parameter, and a graph showing an operation example thereof. FIG. 18 is a flowchart for extracting smoothness parameters as motif feature parameters. FIG. 19 is a diagram showing an example of a map between parameters. FIG. 20 is a graph showing a characteristic example of a parameter C (melody control parameter). FIG. 21 is a graph showing an example of randomization for explaining a random introduction function. FIG. 22A is a diagram illustrating an example of an operation for a specific parameter C, and FIG. 22B is a diagram specifically illustrating an action on a specific parameter by a component parameter and a bar number; FIG. 23 is a flowchart of melody generation. FIG. 24 is a flowchart of generating a distributed chord. FIG. 25 is a flowchart of reading a chord constituent sound. FIG. 26 is a diagram showing contents of a chord configuration sound memory and a chord progression memory. FIG. 27 is a flowchart of turning a chord component sound. FIG. 28 is a flowchart for determining MEDi from a previous sound. FIG. 29 is a diagram showing a flowchart of a distributed chord type correction and an operation example thereof in a graph. FIG. 30 is a flowchart of adding a bias sound. FIG. 31 is a flowchart of adding a passing sound. FIG. 32 is a flowchart of adding an oxalate sound. FIG. 33 is a flowchart of adding a decorative sound. FIG. 34 is a flowchart of tone length correction. FIG. 35 is a diagram showing contents of a learning data memory together with a flowchart of correction learning. FIG. 36 is a flowchart of parameter change by learning. [Description of Signs] 1 Input device 2 Chord configuration sound memory 3 Chord progression memory 4 Motif memory 5 Parameter B memory 6 CPU 8 Parameter C memory 10 Melody data memory F1 Evaluation (non-harmonic sound extraction) function F2 Motif parameter extraction function F3 Melody Generating function F31 Parameter C calculating function F32 Distributed chord generating function F33 Non-chord sound adding function

Claims (1)

(57)【特許請求の範囲】 1.複数の音楽区間にわたるメロディを各音楽区間を生
成単位として生成する自動作曲機において、 上記複数の音楽区間に対するコード進行の情報を付与す
るコード進行付与手段と、 モチーフを特徴づけるモチーフ特徴パラメータを発生す
るモチーフ特徴パラメータ発生手段と、 曲想を変化させるための曲想変化パラメータを発生する
曲想変化パラメータ発生手段と、 上記モチーフ特徴パラメータ、上記曲想変化パラメータ
及び音楽区間の位置情報を入力変数として用いて、これ
らの入力変数に基づき、それぞれの音楽区間において生
成すべき区間メロディを特徴づける区間メロディ特徴パ
ラメータを発生する区間メロディ特徴パラメータ発生手
段と、 上記区間メロディ特徴パラメータと上記コード進行とを
入力変数として用いて、これらの入力変数に基づき各音
楽区間における区間メロディを生成する区間メロディ生
成手段と、 を有することを特徴とする自動作曲機。 2.複数の音楽区間にわたるメロディを各音楽区間を生
成単位として生成する自動作曲機において、 上記複数の音楽区間に対するコード進行の情報を付与す
るコード進行付与手段と、 モチーフを特徴づけるモチーフ特徴パラメータを発生す
るモチーフ特徴パラメータ発生手段と、 曲想を変化させるための曲想変化パラメータを発生する
曲想変化パラメータ発生手段と、 上記モチーフ特徴パラメータ、上記曲想変化パラメータ
及び音楽区間の位置情報を入力変数として用いて、これ
らの入力変数に基づき、それぞれの音楽区間に おいて生
成すべき区間メロディを特徴づける区間メロディ特徴パ
ラメータを発生する区間メロディ特徴パラメータ発生手
段と、 上記区間メロディ特徴パラメータと上記コード進行とを
入力変数として用いて、これらの入力変数に基づき各音
楽区間における区間メロディを生成する区間メロディ生
成手段と、 を有する 自動作曲機において、 ユーザーからの入力に従って特定の音楽区間を指定する
区間指定手段と、 指定された特定の音楽区間について、ユーザーからの入
力に従って当該音楽区間における区間メロディを特徴づ
ける区間メロディ特徴パラメータを設定する区間メロデ
ィ特徴パラメータ設定手段と、 を更に有し、 上記区間メロディ生成手段は、この区間メロディ特徴パ
ラメータ設定手段の設定した区間メロディ特徴パラメー
タを上記区間メロディ特徴パラメータ発生手段からの区
間メロディ特徴パラメータの代りに用いて指定された特
定の音楽区間における区間メロディを生成することを特
徴とする自動作曲機。 3.請求項2記載の自動作曲機において、上記区間メロ
ディ特徴パラメータは複数の種類から成り、上記区間メ
ロディ特徴パラメータ設定手段は指定された特定の音楽
区間について種類毎に区間メロディ特徴パラメータを設
定することを特徴とする自動作曲機。 4.請求項3記載の自動作曲機において、上記区間メロ
ディ特徴パラメータ設定手段は、 (a)指定された特定の音楽区間について上記区間メロ
ディ特徴パラメータ発生手段が発生した区間メロディ特
徴パラメータのデータメッセージを表示する表示手段
と、 (b)表示された区間メロディ特徴パラメータのデータ
メッセージに対するユーザーからの種類毎のパラメータ
変更入力を受理する受理手段と、 を有することを特徴とする自動作曲機。 5.請求項1記載の自動作曲機において、上記区間メロ
ディ特徴パラメータ発生手段は複数種の区間メロディ特
徴パラメータを発生する手段から成り、各々の種類の区
間メロディ特徴パラメータは、上記区間メロディ生成手
段の動作の結果である区間メロディの音楽内容における
対応する音楽的特徴要素をコントロールするように機能
することを特徴とする自動作曲機。 6.複数の音楽区間にわたるメロディを各音楽区間を生
成単位として生成する自動作曲機において、 上記複数の音楽区間に対するコード進行の情報を付与す
るコード進行付与手段と、 モチーフを特徴づけるモチーフ特徴パラメータを発生す
るモチーフ特徴パラメータ発生手段と、 曲想を変化さ
せるための曲想変化パラメータを発生する曲想変化パラ
メータ発生手段と、 上記モチーフ特徴パラメータ、上記曲想変化パラメータ
及び音楽区間の位置情報を入力変数として用いて、これ
らの入力変数に基づき、それぞれの音楽区間において生
成すべき区間メロディを特徴づける区間メロディ特徴パ
ラメータを発生する区間メロディ特徴パラメータ発生手
段と、 上記区間メロディ特徴パラメータと上記コード進行とを
入力変数として用いて、これらの入力変数に基づき各音
楽区間における区間メロディを生成する区間メロディ生
成手段と、 を有する 自動作曲機において、上記区間メロディ特徴パラメータ発生手段は複数種の区
間メロディ特徴パラメータを発生する手段から成り、各
々の種類の区間メロディ特徴パラメータは、上記区間メ
ロディ生成手段の動作の結果である区間メロディの音楽
内容における対応する音楽的特徴要素をコントロールす
るように機能し、 区間メロディの音楽内容における個々の音楽的特徴要素
についてのユーザーの好みを学習する学習手段を更に設
け、 この学習手段が、 (a)作曲結果である、複数の音楽区間にわたるメロデ
ィを出力する出力手段と、 (b)データ項目として特定の音楽区間、当該特定の音
楽区間における特定の区間メロディ特徴パラメータの種
類及び当該種類の区間メロディ特徴パラメータの修正値
を含む修正データレコードをユーザーからの修正指示入
力に従って作成する修正データレコード作成手段と、 (c)上記修正データレコードのファイルを記憶する修
正ファイル記憶手段と、 (d)再び作曲する際に、上記区間メロディ特徴パラメ
ータ発生手段の出力よりも上記修正ファイル記憶手段内
の各修正データレコードを優先させ、各修正データレコ
ードに書かれた、特定の音楽区間の特定の種類の特徴パ
ラメータの修正値を上記区間メロディ生成手段に使用さ
せてメロディを生成させる優先制御手段と、 を有することを特徴とする自動作曲機。
(57) [Claims] In an automatic composer that generates a melody over a plurality of music sections using each music section as a generation unit, a chord progression providing means for providing chord progression information for the plurality of music sections, and a motif feature parameter characterizing the motif are generated. A motif feature parameter generating means, a motif change parameter generating means for generating a motif change parameter for changing the motif, and the motif feature parameter, the motif change parameter, and the position information of the music section as input variables. An interval melody feature parameter generating means for generating an interval melody feature parameter characterizing an interval melody to be generated in each music interval based on the input variable; and using the interval melody feature parameter and the chord progression as input variables, these Automatic composer which is characterized by having a section melody generating means for generating a section melody of each musical interval on the basis of the force variable. 2. Create melody that spans multiple music sections
In the automatic music composition machine generated as a synthesis unit , information on chord progression for the plurality of music sections is added.
And a motif feature parameter that characterizes the motif.
Motif feature parameter generating means for generating a motif change parameter for changing a motif
Meaning change parameter generating means, the motif characteristic parameter, the thought change parameter
And the position information of the music section as input variables
Based on et input variables, Oite raw to each music section
Interval melody features that characterize the melody to be created
Section melody feature parameter generator that generates parameters
Step, the section melody feature parameter and the chord progression
As input variables, each sound based on these input variables
Interval melody raw to generate interval melody in easy section
Wherein the automatic composer comprising a forming unit, and a section specifying means for specifying a particular music section in accordance with an input from a user, for the specified particular music section, a section melody in the music section in accordance with an input from the user Section melody feature parameter setting means for setting a section melody feature parameter to be added, wherein the section melody generation means converts the section melody feature parameter set by the section melody feature parameter setting means to the section melody feature parameter generation means An automatic composer, which generates a section melody in a specified music section using a section melody feature parameter instead of a section melody. 3. 3. The automatic composer according to claim 2, wherein the section melody feature parameter is composed of a plurality of types, and the section melody feature parameter setting means sets the section melody feature parameter for each type of the specified specific music section. An automatic composer. 4. 4. The automatic composer according to claim 3, wherein the section melody feature parameter setting means (a) displays a data message of the section melody feature parameter generated by the section melody feature parameter generation means for a specified specific music section. (B) a receiving means for receiving, from the user, a parameter change input for each type in response to the displayed section melody feature parameter data message; 5. 2. The automatic composer according to claim 1, wherein said section melody feature parameter generating means comprises means for generating a plurality of types of section melody feature parameters, and each type of section melody feature parameter is used as an operation of said section melody generating means. An automatic composer characterized by functioning to control a corresponding musical feature element in the music content of the resulting section melody. 6. Create melody that spans multiple music sections
In the automatic music composition machine generated as a synthesis unit , information on chord progression for the plurality of music sections is added.
And a motif feature parameter that characterizes the motif.
A motif characteristic parameter generating means, the Kyokuso change of that
Change parameter to generate the change parameter
Meter generating means, the motif characteristic parameter, and the tune change parameter
And the position information of the music section as input variables
Based on these input variables,
Interval melody features that characterize the melody to be created
Section melody feature parameter generator that generates parameters
Step, the section melody feature parameter and the chord progression
As input variables, each sound based on these input variables
Interval melody raw to generate interval melody in easy section
An automatic composer comprising a forming means, and the interval melody feature parameter generating means includes a plurality of kinds of Gu
Means for generating inter-melody feature parameters.
The various types of section melody feature parameters
Section melody music that is the result of the operation of the ody generation means
Control the corresponding musical feature in the content
And learning means for learning the user's preference for individual musical feature elements in the music content of the section melody, the learning means comprising: (a) a plurality of music sections, which are the result of composition; Output means for outputting a melody; (b) a modified data record including a specific music section as a data item, a type of a specific section melody feature parameter in the specific music section, and a correction value of the section melody feature parameter of the type; Correction data record creation means for creating in accordance with a correction instruction input from a user; (c) correction file storage means for storing a file of the correction data record; and (d) section melody feature parameter generation means when composing again. Priority of each correction data record in the correction file storage means over the output of Priority control means for generating a melody by causing the section melody generation means to use a correction value of a specific type of characteristic parameter of a specific music section written in each correction data record. Composer.
JP8307491A 1996-11-05 1996-11-05 Automatic composer Expired - Lifetime JP2759110B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8307491A JP2759110B2 (en) 1996-11-05 1996-11-05 Automatic composer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8307491A JP2759110B2 (en) 1996-11-05 1996-11-05 Automatic composer

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP62086571A Division JPH07111619B2 (en) 1987-04-08 1987-04-08 Automatic composer

Publications (2)

Publication Number Publication Date
JPH09244648A JPH09244648A (en) 1997-09-19
JP2759110B2 true JP2759110B2 (en) 1998-05-28

Family

ID=17969737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8307491A Expired - Lifetime JP2759110B2 (en) 1996-11-05 1996-11-05 Automatic composer

Country Status (1)

Country Link
JP (1) JP2759110B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3799843B2 (en) * 1998-11-25 2006-07-19 ヤマハ株式会社 Music generation apparatus and computer-readable recording medium on which music generation program is recorded
JP4517299B2 (en) * 2005-12-08 2010-08-04 カシオ計算機株式会社 Code learning device and code learning program
SE0600243L (en) * 2006-02-06 2007-02-27 Mats Hillborg melody Generator
JP6255960B2 (en) * 2013-12-10 2018-01-10 ヤマハ株式会社 Program and music data generating apparatus for realizing music data generating method
JP7298115B2 (en) * 2018-06-25 2023-06-27 カシオ計算機株式会社 Program, information processing method, and electronic device
JP7395901B2 (en) * 2019-09-19 2023-12-12 ヤマハ株式会社 Content control device, content control method and program
JPWO2021106694A1 (en) * 2019-11-26 2021-06-03
CN111681631A (en) * 2020-04-30 2020-09-18 平安科技(深圳)有限公司 Method and device for matching harmony, electronic equipment and computer readable medium
US20230298547A1 (en) * 2020-08-31 2023-09-21 Sony Group Corporation Information processing method, information processing program, and information processing device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高沢,吉川,"コンピューターによる電子オルガンの自動演奏と作曲",コンピュートピア1975・12月号,昭和50年12月1日,Vol.9,No.110,p.12−19

Also Published As

Publication number Publication date
JPH09244648A (en) 1997-09-19

Similar Documents

Publication Publication Date Title
Herremans et al. A functional taxonomy of music generation systems
Johnson-Laird How jazz musicians improvise
US4926737A (en) Automatic composer using input motif information
Liu et al. Computational intelligence in music composition: A survey
JP4463421B2 (en) Automatic music generation apparatus and method
US6124543A (en) Apparatus and method for automatically composing music according to a user-inputted theme melody
Donnelly et al. Evolving four-part harmony using genetic algorithms
JP2759110B2 (en) Automatic composer
JP2671495B2 (en) Melody analyzer
JP4834821B2 (en) How to generate music parts from electronic music files
Loughran et al. Evolutionary music: applying evolutionary computation to the art of creating music
CN103680486A (en) Performance information processing apparatus and performance information processing method
Moroni et al. Vox populi: Evolutionary computation for music evolution
Koenig Aesthetic integration of computer-composed scores
KR102560394B1 (en) Chord generation system based on music score chord ai discrimination algorithm
Better A hard day's night
Levitt A representation for musical dialects
EP0288800B1 (en) Automatic composer
Oliwa Genetic algorithms and the abc music notation language for rock music composition
CN113096624A (en) Method, device, equipment and storage medium for automatically creating symphony music
JP2715412B2 (en) Music device with melody analysis function and automatic composer
JPH07111619B2 (en) Automatic composer
JPH07113828B2 (en) Automatic composer
JP2666063B2 (en) Automatic composer
JPH04157499A (en) Automatic rhythm creation device

Legal Events

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

Free format text: PAYMENT UNTIL: 20080320

Year of fee payment: 10