(57)【特許請求の範囲】
【請求項１】
所望の調を表わす調情報を入力すると共に所望のコードを表わすコード情報を入力する入力手段と、
この入力手段により入力された調情報及びコード情報に基づいてアベイラブル・ノート・スケールを検出する検出手段と、
所望のリズムパターンを設定する設定手段と、
前記リズムパターンを構成する順次の音を各音毎に重要音又は非重要音のいずれかに分類する分類手段であって、強拍音、アクセントのある音、音符長の長い音のいずれかに該当する音を重要音とし、それ以外の音を非重要音として分類を行なうものと、
この分類手段により重要音として分類された各音としては前記入力手段により入力されたコード情報が表わすコードの構成音の中の音を選択すると共に、前記分類手段により非重要音として分類された各音としては前記検出手段により検出されたアベイラブル・ノート・スケール中の音を選択する選択手段と
を備え、この選択手段により選択された音をメロディ音として採用することにより該メロディ音を表わすメロディ情報を生成するメロディ生成装置。
【請求項２】
前記検出手段により検出されたアベイラブル・ノート・スケール中の各音を前記入力手段から入力された調情報が表わす調の音階音又はそれ以外の非音階音のいずれかに分類する他の分類手段を更に備え、前記選択手段において前記検出手段により検出されたアベイラブル・ノート・スケール中の音を選択する際には、
（ａ）コード区間に少なくとも１つは非音階音を含ませる手段、
（ｂ）音をランダムに選択する際に非音階音の重みを大きくして非音階音が選択される確率を高くする手段又は
（ｃ）音階音及び非音階音が選択候補になった場合に強制的に非音階音を選択する手段
のいずれかの手段により前記他の分類手段で非音階音として分類された音を前記他の分類手段で音階音として分類された音より優先させて選択することを特徴とする請求項１記載のメロディ生成装置。
【請求項３】
所望の調を表わす調情報を入力すると共に所望のコードを表わすコード情報を入力する入力手段と、
この入力手段により入力されたコード情報が表わすコードがダイアトニックコード又はノンダイアトニックコードのいずれであるか判定する判定手段と、
この判定手段によりノンダイアトニックコードであると判定されるのに応答して、前記入力手段により入力された調情報及びコード情報に基づいてアベイラブル・ノート・スケールを検出する検出手段と、
前記判定手段によりダイアトニックコードであると判定されたときは前記入力手段により入力された調情報が表わす調の音階中の音を選択すると共に、前記判定手段によりノンダイアトニックコードであると判定されたときは前記検出手段により検出されたアベイラブル・ノート・スケール中の音を選択する選択手段とを備え、この選択手段により選択された音をメロディ音として採用することにより該メロディ音を表わすメロディ情報を生成するメロディ生成装置。
【請求項４】
所望の調を表わす調情報を入力すると共に所望のコードを表わすコード情報を入力する入力手段と、
この入力手段により入力された調情報及びコード情報に基づいてアベイラブル・ノート・スケールを検出する検出手段と、
この検出手段により検出されたアベイラブル・ノート・スケール中の各音をコード構成音又は非コード構成音のいずれかに分類する分類手段と、
生成すべき順次の音の発音タイミングを表わすタイミングデータであって各音毎に音種としてコード構成音又は非コード構成音のいずれかを指定する音種指定データが付与されたものを記憶する記憶手段と、
この記憶手段の音種指定データを参照して該音種指定データによりコード構成音を指定された各音としては前記分類手段でコード構成音として分類された音の中からいずれかの音を選択すると共に、前記記憶手段の音種指定データを参照して該音種指定データにより非コード構成音を指定された各音としては前記分類手段により非コード構成音として分類された音の中からいずれかの音を選択する選択手段と
を備え、この選択手段により選択された音をメロディ音として採用することにより該メロディ音を表わすメロディ情報を生成するメロディ生成装置。
【請求項５】
所望の調を表わす調情報を入力すると共に所望のコードを表わすコード情報を入力する入力手段と、
生成すべき順次の音のうちのいずれの音としても、前記入力手段により入力された調情報が表わす調の音階中の音を選択する選択手段と、
前記入力手段により入力されたコード情報が表わすコードがダイアトニックコード又はノンダイアトニックコードのいずれであるか判定する判定手段と、
この判定手段によりノンダイアトニックコードであると判定されるのに応答して、前記入力手段により入力された調情報及びコード情報に基づいてアベイラブル・ノート・スケールを検出する検出手段と、
前記選択手段により選択された音のうち前記検出手段により検出されたアベイラブル・ノート・スケールに含まれない音のみ該アベイラブル・ノート・スケール中の音に修正して送出し、他の音はそのまま送出する修正手段と、
前記判定手段によりダイアトニックコードであると判定されたときは前記選択手段により選択された音をメロディ音として採用し、前記判定手段によりノンダイアトニックコードであると判定されたときは前記修正手段から送出された音をメロディ音として採用し、採用に係るメロディ音を表わすメロディ情報を生成するメロディ生成手段と
を備えたメロディ生成装置。
【請求項６】
所望の調を表わす調情報を入力すると共に所望のコードを表わすコード情報を入力する入力ステップと、
生成すべき順次の音のうちのいずれの音としても、前記入力ステップにより入力された調情報が表わす調の音階中の音を選択する選択ステップと、
前記入力ステップにより入力されたコード情報が表わすコードがダイアトニックコード又はノンダイアトニックコードのいずれであるか判定する判定ステップと、
この判定ステップによりノンダイアトニックコードであると判定されるのに応答して、前記入力ステップにより入力された調情報及びコード情報に基づいてアベイラブル・ノート・スケールを検出する検出ステップと、
前記選択ステップにより選択された音のうち前記検出ステップにより検出されたアベイラブル・ノート・スケールに含まれない音のみ該アベイラブル・ノート・スケール中の音に修正して送出し、他の音はそのまま送出する修正ステップと、
前記判定ステップによりダイアトニックコードであると判定されたときは前記選択ステップにより選択された音をメロディ音として採用し、前記判定ステップによりノンダイアトニックコードであると判定されたときは前記修正ステップにより送出された音をメロディ音として採用し、採用に係るメロディ音を表わすメロディ情報を生成するメロディ生成ステップと
を含むプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項７】
所望のコードを表わすコード情報を入力する入力手段と、
前記コード情報に対応したアベイラブル・ノート・スケールを供給する供給手段と、
所望のリズムパターンを設定する設定手段と、
前記リズムパターンを構成する順次の音を各音毎に重要音又は非重要音のいずれかに分類する分類手段であって、強拍音、アクセントのある音、音符長の長い音のいずれかに該当する音を重要音とし、それ以外の音を非重要音として分類を行なうものと、
この分類手段により重要音として分類された各音としては前記入力手段により入力されたコード情報が表わすコードの構成音の中の音を選択すると共に、前記分類手段により非重要音として分類された各音としては前記供給手段により供給されたアベイラブル・ノート・スケール中の音を選択する選択手段と
を備え、この選択手段により選択された音をメロディ音として採用することにより該メロディ音を表わすメロディ情報を生成するメロディ生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、メロディ生成装置及び記録媒体に関し、特に調情報及びコード情報に基づいてアベイラブル・ノート・スケール（以下、「ＡＶＮＳ」と略記する）を検出し、ＡＶＮＳ中の音をメロディ音として選択することによりノンダイアトニックコードに相応しい自然なメロディを生成可能としたものである。
【０００２】
【従来の技術】
従来、メロディ生成装置としては、曲全体の調を指定すると共にフレーズ毎にピッチテンプレート（ピッチ変化パターン）、フレーズ先頭ピッチ、フレーズ末尾ピッチ等を指定することによりフレーズ毎に調の音階音を用い且つ指定のピッチ変化に対応してメロディを生成するものが知られている（例えば、特開平９−５０２７８号公報参照）。
【０００３】
また、他のメロディ生成装置としては、コード進行を入力すると共に入力したコード進行に基づいて調を検出し、検出した調の音階音を用いてメロディを生成するものが知られている（例えば、特許第２６１５７２１号公報参照）。
【０００４】
【発明が解決しようとする課題】
上記した調指定型のメロディ生成装置によると、所望の調を指定し、その調に合ったメロディを生成することができる。しかし、所望のコードを指定し、そのコードに合ったメロディを生成することはできない。
【０００５】
一方、上記した調検出型のメロディ生成装置によると、所望のコードを指定し、そのコードに合ったメロディを生成することができる。しかし、コードから検出した調の音階音だけを用いてメロディを生成するため、ダイアトニックコード（調の音階中の音により構成されるコード）については特に問題はないが、ノンダイアトニックコード（調の音階中の音に限らず、調の音階中の音以外の音も含むコード）については、コードとメロディとの融合感が十分でなく、コードに相応しい自然なメロディを得ることができなかった。
【０００６】
この発明の目的は、ノンダイアトニックコードに相応しい自然なメロディを生成可能な新規なメロディ生成装置を提出することにある。
【０００７】
【課題を解決するための手段】
この発明に係るメロディ生成装置は、
所望の調を表わす調情報を入力すると共に所望のコードを表わすコード情報を入力する入力手段と、
この入力手段により入力された調情報及びコード情報に基づいてアベイラブル・ノート・スケールを検出する検出手段と、
所望のリズムパターンを設定する設定手段と、
前記リズムパターンを構成する順次の音を各音毎に重要音又は非重要音のいずれかに分類する分類手段であって、強拍音、アクセントのある音、音符長の長い音のいずれかに該当する音を重要音とし、それ以外の音を非重要音として分類を行なうものと、
この分類手段により重要音として分類された各音としては前記入力手段により入力されたコード情報が表わすコードの構成音の中の音を選択すると共に、前記分類手段により非重要音として分類された各音としては前記検出手段により検出されたアベイラブル・ノート・スケール中の音を選択する選択手段と
を備え、この選択手段により選択された音をメロディ音として採用することにより該メロディ音を表わすメロディ情報を生成するものである。
【０００８】
この発明の構成によれば、所望のリズムパターンを設定すると共に所望の調と所望のコードとに基づいてＡＶＮＳ（アベイラブル・ノート・スケール）を検出し、設定したリズムパターンに従い且つ検出したＡＶＮＳ中の音を用いてメロディを生成するようにしたので、メロディ音としては、調の音階音に限らず、調の非音階音（調の音階音でない音）やＡＶＮＳ中の非コード構成音（ＡＶＮＳ中でコード構成音でない音）を採用可能となり、コードとメロディとの融合感を十分に表現することができる。従って、ノンダイアトニックコードに相応しく且つリズムパターンに適合した自然なメロディを得ることができる。
【０００９】
【発明の実施の形態】
この発明に係るメロディ生成方法では、所望の調を表わす調情報と、コード区間毎に所望のコードを表わすコード情報とを入力し、入力された調情報及びコード情報に基づいてコード区間毎にＡＶＮＳを検出する。
【００１０】
一般に、コードは、ダイアトニックコードとノンダイアトニックコードとに分けられる。ダイアトニックコードは、例えば図１に示すような７種のダイアトニックスケールについて各スケール毎に成立するものであり、ノンダイアトニックコードは、変化音を含むコードである。
【００１１】
ＡＶＮＳは、与えられた調についてコード毎に決まるものである。例えば、メジャーコードについては、図２に示すようにＡＶＮＳが定められ、ドミナント７ｔｈコードについては、図３に示すようにＡＶＮＳが定められる。
【００１２】
図４，５は、ＡＶＮＳの具体例を示すものである。図４は、Ｃ長調の場合においてＣ，Ｆ，ＤbM7 ，ＢbM7 等のメジャーコードにそれぞれ対応するＡＶＮＳを示すと共に、Ｅb 調の場合においてＥb ，Ａb 等のメジャーコードにそれぞれ対応するＡＶＮＳを示す。また、図５は、Ｃ長調の場合においてＧ７，Ｄ７，Ｂb ７，Ｄb ７，Ａ７，Ａb ７等のドミナント７ｔｈコードにそれぞれ対応するＡＶＮＳを示す。図４，５において、全音符に相当する丸印は、コード構成音を表わす。
【００１３】
図４，５に示すように調毎にダイアトニックコード及びノンダイアトニックコードを含む種々のコードに対応するＡＶＮＳを記憶したＡＶＮＳテーブルメモリを設けておくと、入力された調情報及びコード情報に基づいて簡単にＡＶＮＳを検出することができる。この発明のメロディ生成方法では、検出したＡＶＮＳ中の音をメロディ音として選択することにより該メロディ音を表わすメロディ情報を生成する。
【００１４】
図６は、一例としてＣ長調のメロディ生成状況を示すものである。ダイアトニックコードであるコードＣが与えられたコード区間においては、図４に示すＣアイオニアン・スケール中の音をメロディ音として選択することにより該メロディ音を表わすメロディ情報を生成する。ノンダイアトニックコードであるコードＤbM7 が与えられたコード区間においては、図４に示すＤb リディアン・スケール中の音をメロディ音として選択することにより該メロディ音を表わすメロディ情報を生成する。
【００１５】
ここで、Ｃ長調の音階音とＤb リディアン・スケール中の音を対比すると、次の表１に示すようになる。
【００１６】
【表１】
0003637775.tif 000002
ノンダイアトニックコードであるコードＤbM7 が与えられたコード区間においては、調の音階音でない音Ｐ（Ａb ），Ｑ（Ｂb ）やＡＶＮＳ中の非コード構成音Ｑ（Ｂb ）がメロディ音として選択可能になるので、ノンダイアトニックコードとの融合感が良好で自然なメロディを生成することができる。
【００１７】
図６の例において、音Ｐ（Ａb ）は、コードＤbM7 の構成音であるので、コードネームからコード構成音を求めてコード構成音中の音を選択する構成にすれば、ＡＶＮＳを求めなくても選択可能である。しかし、音Ｑ（Ｂb ）は、コードＤbM7 の構成音でないので、ＡＶＮＳを求めなければ選択不可能である。この発明では、ＡＶＮＳを検出すると共に検出したＡＶＮＳ中の音をメロディ音として選択するようにしているので、音Ｑ（Ｂb ）のようなＡＶＮＳ中の非コード構成音を選択可能になり、ノンダイアトニックコードの個性を強調することができる。
【００１８】
図７は、上記したメロディ生成方法を実施するメロディ生成装置を備えた電子楽器の回路構成を示すものである。
【００１９】
この電子楽器は、パーソナルコンピュータ等の小型コンピュータによってメロディ生成、楽音発生等が制御されるようになっている。
【００２０】
バス１０には、ＣＰＵ（中央処理装置）１２、ＲＯＭ（リード・オンリィ・メモリ）１４、ＲＡＭ（ランダム・アクセス・メモリ）１６、検出回路１８，２０、表示回路２２、音源回路２４、効果回路２６、外部記憶装置２８、ＭＩＤＩ(Musical Instrument Digital Interface)インターフェース３０、通信インターフェース３２、タイマ３４等が接続されている。
【００２１】
ＣＰＵ１２は、ＲＯＭ１４にストアされたプログラムに従ってメロディ生成のための各種処理を実行するもので、これらの処理については図９〜１６を参照して後述する。
【００２２】
ＲＯＭ１４には、プログラムの他に、ＡＶＮＳテーブルが記憶されている。ＡＶＮＳテーブルは、図４，５に示したように調毎にダイアトニックコード及びノンダイアトニックコードを含む種々のコードに対応してＡＶＮＳの構成音を配置したものである。
【００２３】
ＲＡＭ１６は、ＣＰＵ１２による各種処理に際して使用される種々の記憶部を含むもので、主な記憶部としては、作曲条件記憶部１６Ａ、リズムテンプレート記憶部１６Ｂ、メロディテンプレート記憶部１６Ｃ、ＡＶＮＳ記憶部１６Ｄ、メロディデータ記憶部１６Ｅ等を含んでいる。
【００２４】
検出回路１８は、鍵盤３６から鍵操作情報を検出するものである。検出回路２０は、スイッチ群３８から各種スイッチの操作情報を検出するものである。スイッチ群３８は、一例として文字入力及び数値入力が可能なキーボードからなる。
【００２５】
表示回路２２は、表示器４０の表示動作を制御することにより各種の表示を可能にするものである。
【００２６】
音源回路２４は、複数の楽音発生チャンネルを有するものである。楽音発生方式としては、波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ，ＶＣＦ，ＶＣＡ等を用いるアナログシンセサイザ方式等の任意のものを採用することができる。また、音源回路２４としては、専用のハードウェアを用いるものに限らず、ＤＳＰ（ディジタル・シグナル・プロセッサ）とマイクロプログラムを組合せたもの、ＣＰＵとソフトウェアを組合せたものであってもよい。さらに、複数の楽音発生チャンネルは、対応する複数の回路で構成してもよく、あるいは１つの回路を時分割的に使用することによって形成してもよい。
【００２７】
効果回路２６は、音源回路２４から発生される楽音信号にコーラス、リバーブ等の効果を付加するものである。効果回路２６から送出される楽音信号は、サウンドシステム４２に供給され、音響に変換される。
【００２８】
外部記憶装置２８は、ＨＤ（ハードディスク）、ＦＤ（フロッピーディスク）、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多目的ディスク）、ＭＯ（光磁気ディスク）等のうち１又は複数種類の記録媒体を着脱可能なものである。外部記憶装置２８に所望の記録媒体を装着した状態では、記録媒体からＲＡＭ１６へデータを転送可能である。また、装着した記録媒体がＨＤやＦＤのように書込可能なものであれば、ＲＡＭ１６のデータを記録媒体に転送可能である。
【００２９】
外部記憶装置２８に装着する記録媒体には、一例としてフレーズ単位の多数のリズムテンプレート及び多数のメロディテンプレートがデータベースとして記録されている。図８（Ａ）は、１つのメロディテンプレートが表わすメロディパターン（ピッチ変化パターン）を例示するものであり、図８（Ｂ）は、１つのリズムテンプレートが表わすリズムパターン（発音タイミングパターン）を例示するものである。メロディテンプレート及びリズムテンプレートは、ファクトリセット等により予め用意したものでもよいし、あるいはユーザが任意に作成して登録したものでもよい。
【００３０】
リズムテンプレート及びメロディテンプレートのデータベースとしては、外部記憶装置２８の代りにＲＯＭ１４又はＲＡＭ１６を用いてもよい。また、プログラム記録手段としては、ＲＯＭ１４の代りに外部記憶装置２８の記録媒体（前述のＨＤ，ＦＤ，ＣＤ，ＤＶＤ，ＭＯ等）を用いることができる。この場合、記録媒体に記録したプログラムは、外部記憶装置２８からＲＡＭ１６へ転送する。そして、ＲＡＭ１６に記憶したプログラムに従ってＣＰＵ１２を動作させる。このようにすると、プログラムの追加やバージョンアップ等を容易に行なうことができる。
【００３１】
ＭＩＤＩインターフェース３０は、自動演奏装置等の他のＭＩＤＩ機器４４との間で演奏情報等の送受信を行なうために設けられたものである。
【００３２】
通信インターフェース３２は、通信ネットワーク（例えばＬＡＮ（ローカル・エリア・ネットワーク）、インターネット、電話回線等）４６を介してサーバコンピュータ４８と情報通信を行なうために設けられたものである。この発明の実施に必要なプログラムや各種データは、サーバコンピュータ４８から通信ネットワーク４６及び通信インターフェース３２を介してＲＡＭ１６または外部記憶装置２８へダウンロード要求に応じて取込むようにしてもよい。
【００３３】
タイマ３４は、与えられるテンポデータに対応する周期でテンポクロック信号ＴＣＬを発生するもので、テンポクロック信号ＴＣＬは、割込命令としてＣＰＵ１２に供給される。ＣＰＵ１２は、テンポクロック信号ＴＣＬの各クロックパルス毎に割込処理を開始する。このような割込処理を利用することにより記憶部１６Ｅのメロディデータに基づいて自動演奏を行なうことができる。
【００３４】
上記した電子楽器において、ＣＰＵ１２は、鍵盤３６で鍵が押されるたびに、押された鍵に対応する音高情報と発音命令信号とを音源回路２４に供給する。音源回路２４は、音高情報及び発音命令信号に応じて、押された鍵に対応する音高を有する楽音信号を発生する。このようにしてマニュアル演奏音の発生が可能となる。
【００３５】
図９は、メロディ生成処理のルーチンを示すものである。ステップ５０では、調及びコード進行を含む作曲条件を入力する。すなわち、ユーザによるキーボード（スイッチ群３８）の操作に基づいて調、コード進行（コード区間毎のコード）、楽節構成（例えばＡ，Ｂ，Ｃ，Ｃ’…等）、楽節毎のフレーズ数、各フレーズ毎の小節数、歌詞の音節数（又は音符数）、終止形（半終止又は完全終止）、曲想（メロディック又はリズミック）、音域、シンコペーションの有無等のデータを入力し、入力に係る作曲条件データを記憶部１６Ａに記憶させる。
【００３６】
次に、ステップ５２では、記憶部１６Ａの作曲条件データに基づいて作曲条件に合うリズムテンプレート及びメロディテンプレートを前述したデータベースからフレーズ毎に検索する。通常、フレーズ毎に複数のリズムテンプレート及び複数のメロディテンプレートが検索される。そこで、フレーズ毎に複数のリズムテンプレートのうちから任意の１つを選択すると共にフレーズ毎に複数のメロディテンプレートのうちから任意の１つを選択するために選択処理を行なう。
【００３７】
このような選択処理は、一例として、ユーザのマニアル操作に基づいて行なうことができる。すなわち、表示器４０の画面に選択対象となる複数のテンプレートを表示すると共にユーザのキーボード（スイッチ群３８）での指示に応じて表示中のテンプレートのうちの１つを任意に選択する方式で行なうことができる。テンプレート選択処理の他の例としては、ユーザの意志とは関係なく所定の条件に従って自動的にテンプレートを選択する方式を採用してもよい。
【００３８】
選択処理においては、選択に係る一連のリズムテンプレートを記憶部１６Ｂに記憶させると共に選択に係る一連のメロディテンプレートを記憶部１６Ｃに記憶させる。ステップ５２の後は、ステップ５４に移る。
【００３９】
ステップ５４では、記憶部１６Ｂに記憶されたリズムテンプレート中の各音を重要音又は非重要音のいずれかに分類すると共に、重要音として分類された音については記憶部１６Ｂに重要音マークデータを書込む。重要音としては、例えば強拍音、アクセントのある音、音符長の長い音等が予め定められており、重要音でない音が非重要音である。ステップ５４の後は、ステップ５６に移る。
【００４０】
ステップ５６では、コード区間番号レジスタｎに１をセットする。レジスタｎとしては、ＲＡＭ１６内の所定の記憶領域が使用される。ステップ５６の後、ステップ５８に移り、レジスタｎが示す番号を有するコード区間について区間メロディ生成処理を行なう。ステップ５６でｎ＝１とした後初めてステップ５８に来たときは、番号１のコード区間（最初のコード区間）について区間メロディ生成処理が行なわれ、最初のコード区間のメロディを表わすメロディデータが記憶部１６Ｅに書込まれる。区間メロディ生成処理の具体例については、図１０〜１６を参照して後述する。
【００４１】
次に、ステップ６０では、レジスタｎの値を１だけ増大させる。そして、ステップ６２に移り、全区間（すべてのコード区間）終了か判定する。ステップ５６の後初めてステップ６０に来たときは、ｎ＝２であり、全区間終了でない。従って、ステップ６２の判定結果は否定的（Ｎ）となり、ステップ５８に戻る。
【００４２】
ステップ５８では、番号２のコード区間について区間メロディ生成処理を行ない、生成したメロディを表わすメロディデータを記憶部１６Ｅに書込む。そして、ステップ６０でｎ＝３としてからステップ６２で全区間終了か判定する。この判定結果が否定的（Ｎ）であればステップ５８に戻り、ステップ５８〜６２の処理を上記したと同様に繰返す。
【００４３】
全区間について区間メロディ生成処理が終了すると、ステップ６２の判定結果が肯定的（Ｙ）となり、メロディ生成処理をエンドとする。このとき、記憶部１６Ｅには、１曲の全区間のメロディデータが記憶されている。
【００４４】
なお、図９のメロディ生成処理において、データベースには楽節単位の多数のリズムテンプレート及び多数のメロディテンプレートを記憶しておき、ステップ５２では楽節毎にリズムテンプレート及びメロディテンプレートの検索や選択を行なってもよい。また、データベースには曲単位の多数のリズムテンプレート及び多数のメロディテンプレートを記憶しておき、ステップ５２では曲毎にリズムテンプレート及びメロディテンプレートの検索や選択を行なうようにしてもよい。
【００４５】
図１０は、区間メロディ生成処理の第１の例５８（１）を示すものである。ステップ７０では、ＡＶＮＳを検出する。ＡＶＮＳの検出は、記憶部１６Ａにおいて入力に係る調データと入力に係るコード区間ｎ（レジスタｎの番号を有するコード区間）のコードデータとを参照すると共にこれらの調データ及びコードデータに基づいてＲＯＭ１４内のＡＶＮＳテーブルを参照することにより行なわれる。一例として、調データがＣ長調を表わすと共にコードデータがＤbM7 を表わすものとすると、ＡＶＮＳとしては、図４に示すようにＤb リディアン・スケールが検出される。
【００４６】
ＡＶＮＳ検出処理においては、ＡＶＮＳの構成音を表わすデータを記憶部１６Ｄに書込む。例えば、ＡＶＮＳとしてＤb リディアン・スケールが検出された場合、Ｄb リディアン・スケールの構成音を表わすデータが記憶部１６Ｄに書込まれる。ステップ７０の後は、ステップ７２に移る。
【００４７】
ステップ７２では、コード区間ｎにおいて最初の音に着目する。すなわち、記憶部１６Ｂのリズムテンプレート中でコード区間ｎにおいて最初の音を参照する。そして、ステップ７４に移り、着目に係る音が重要音か判定する。図９のステップ５４の処理において、重要音として分類された音には重要音マークデータが付加されているので、重要音か否か判定するには、着目に係る音に重要音マークデータが付加されているか判定すればよい。ステップ７４の判定結果が肯定的（Ｙ）であれば、着目音が重要音であったことになり、ステップ７６に移る。
【００４８】
ステップ７６では、記憶部１６Ｃのメロディテンプレートに従ってコード構成音の中から音を選択する。この場合、コード構成音は、入力に係るコード区間ｎのコードデータが表わすコード（例えばＣメジャー）を構成する音であり、例えばコードデータをコード構成音に変換する変換テーブルを用いることにより簡単に求められる。一例として、図６中の音Ｐは、コードＤbM7 のコード構成音の中から選択されたものである。
【００４９】
ステップ７４の判定結果が否定的（Ｎ）であったときは、着目音が非重要音であったことになり、ステップ７８に移る。ステップ７８では、記憶部１６Ｃのメロディテンプレートに従ってＡＶＮＳの構成音の中から音を選択する。この場合、ＡＶＮＳの構成音は、記憶部１６Ｄのデータにより表わされるものである。一例として、図６中の音Ｑは、ＡＶＮＳとしてのＤb リディアン・スケールの構成音の中から選択されたものである。
【００５０】
ステップ７６，７８において、メロディテンプレートに従って音を選択する際には、メロディテンプレートが示す音高変化に一致又は近似した音高変化が得られるように音の選択を行なう。そして、選択された音をメロディ音として採用し、メロディ音を表わすメロディデータを記憶部１６Ｅに書込む。
【００５１】
ステップ７６又は７８の処理が終ったときは、ステップ８０に移り、着目音がコード区間ｎの最後の音か判定する。ステップ７２でコード区間ｎの最初の音に着目した後初めてステップ８０に来たとき、最初の音が最後の音でなければステップ８０の判定結果が否定的（Ｎ）となり、ステップ８２に移る。
【００５２】
ステップ８２では、コード区間ｎにおいて次の音に着目する。すなわち、記憶部１６Ｂのリズムテンプレート中でコード区間ｎにおいて次の音を参照する。そして、ステップ７４に戻り、ステップ７４〜８０の処理を上記したと同様に実行する。この後は、コード区間ｎの最後の音についてステップ７６又は７８の処理が終るまでステップ７４〜８２の処理を繰返す。
【００５３】
コード区間ｎの最後の音についてステップ７６又は７８の処理が終ると、ステップ８０に移る。ステップ８０の判定結果は肯定的（Ｙ）となり、図９のステップ６０に移る。このとき、記憶部１６Ｅには、コード区間ｎにおいてリズムテンプレートにより指示されるすべての音に対応したリズム音を表わすメロディデータが記憶されている。
【００５４】
図１０の区間メロディ生成処理によれば、生成すべき各音を重要音又は非重要音のいずれかに分類し、重要音については入力に係るコードの構成音の中から、非重要音については検出に係るＡＶＮＳ中からそれぞれメロディ音を選択するようにしたので、ダイアトニックコード及びノンダイアトニックコードのいずれについてもコードとメロディとの融合感が向上し、いずれのコードにも相応しい自然なメロディを得ることができる。
【００５５】
図１１は、区間メロディ生成処理の第２の例５８（２）を示すものである。ステップ９０では、コード区間ｎのコードがダイアトニックコード又はノンダイアトニックコードのいずれか判定する。この判定の結果、ノンダイアトニックコードであれば、ステップ９２に移り、図１０に関して前述したと同様にＡＶＮＳに基づくメロディ生成処理を行なう。
【００５６】
ステップ９０の判定の結果、ダイアトニックコードであれば、ステップ９４に移る。ステップ９４では、前述のステップ７２と同様にコード区間ｎにおいて最初の音に着目する。そして、ステップ９６に移り、前述のステップ７４と同様に着目に係る音が重要音か判定する。この判定の結果が肯定的（Ｙ）であれば、重要音であったことになり、ステップ９８に移る。
【００５７】
ステップ９８では、前述のステップ７６と同様に記憶部１６Ｃのメロディテンプレートに従ってコード構成音の中から音を選択する。そして、選択された音をメロディ音として採用し、メロディ音を表わすメロディデータを記憶部１６Ｅに書込む。
【００５８】
ステップ９６の判定結果が否定的（Ｎ）であったときは、着目音が非重要音であったことになり、ステップ１００に移る。ステップ１００では、記憶部１６Ｃのメロディテンプレートに従って調の音階音の中から音を選択する。この場合、調の音階音は、入力に係る調データが表わす調の音階を構成する音であり、例えば調データを調の音階音に変換する変換テーブルを用いることにより簡単に求められる。
【００５９】
ステップ１００において、メロディテンプレートに従って音を選択する際には、メロディテンプレートが示す音高変化に一致又は近似した音高変化が得られるように音の選択を行なう。そして、選択された音をメロディ音として採用し、メロディ音を表わすメロディデータを記憶部１６Ｅに書込む。
【００６０】
ステップ９８又は１００の処理が終ったときは、ステップ１０２に移り、着目音がコード区間ｎの最後の音か判定する。ステップ９４でコード区間ｎの最初の音に着目した後初めてステップ１０２に来たとき、最初の音が最後の音でなければステップ１０２の判定結果が否定的（Ｎ）となり、ステップ１０４に移る。
【００６１】
ステップ１０４では、コード区間ｎにおいて次の音に着目する。すなわち、記憶部１６Ｂのリズムテンプレート中でコード区間ｎにおいて次の音を参照する。そして、ステップ９６に戻り、ステップ９６〜１００の処理を上記したと同様に実行する。この後は、コード区間ｎの最後の音についてステップ９８又は１００の処理が終るまでステップ９６〜１０４の処理を繰返す。
【００６２】
コード区間ｎの最後の音についてステップ９８又は１００の処理が終ると、ステップ１０２に移る。ステップ１０２の判定結果は肯定的（Ｙ）となり、図９のステップ６０に移る。また、ステップ９２の処理が終ったときも図９のステップ６０に移る。このとき、記憶部１６Ｅには、コード区間ｎにおいてリズムテンプレートにより指示されるすべての音に対応したリズム音を表わすメロディデータが記憶されている。
【００６３】
図１１の区間メロディ生成処理によれば、入力に係るコードがダイアトニックコード又はノンダイアトニックコードのいずれであるか判定し、ダイアトニックコードについては入力に係る調の音階音の中から、ノンダイアトニックコードについては検出に係るＡＶＮＳの中からそれぞれメロディ音を選択するようにしたので、曲の中で出現頻度が高いダイアトニックコードについてはＡＶＮＳを求める必要がなくなり、高速の処理が可能となる。
【００６４】
図１２は、区間メロディ生成処理の第３の例５８（３）を示すものである。ステップ１１０では、前述のステップ７０と同様にＡＶＮＳ検出処理を行ない、検出に係るＡＶＮＳの構成音を表わすデータを記憶部１６Ｄに書込む。そして、ステップ１１２に移る。
【００６５】
ステップ１１２では、ＡＶＮＳ中の各音（記憶部１６Ｄのデータが表わす各音）を調の音階音又は非音階音のいずれかに分類する。ここで、調の音階音とは、調の音階を構成する音であり、音階音でない音が非音階音である。
【００６６】
一例として、前掲の表１に示したように入力に係る調がＣ調長であり且つ検出に係るＡＶＮＳがＤｂリディアン・スケールである場合、ＡＶＮＳ中の各音を調の音階音又は非音階音のいずれかに分類すると、調の音階音に分類されるのがＣ，Ｆ，Ｇの音であり、非音階音に分類されるのがＤｂ，Ｅｂ，Ａｂ，Ｂｂの音である。
【００６７】
次に、ステップ１１４では、前述のステップ７２と同様にコード区間ｎにおいて最初の音に着目する。そして、ステップ１１６に移り、前述のステップ７４と同様に着目に係る音が重要音か判定する。この判定結果が肯定的（Ｙ）であれば、重要音であったことになり、ステップ１１８に移る。
【００６８】
ステップ１１８では、前述のステップ７６と同様に記憶部１６Ｃのメロディテンプレートに従ってコード構成音の中から音を選択する。そして、選択された音をメロディ音として採用し、メロディ音を表わすメロディデータを記憶部１６Ｅに書込む。
【００６９】
ステップ１１６の判定結果が否定的（Ｎ）であったときは、着目音が非重要音であったことになり、ステップ１２０に移る。ステップ１２０では、記憶部１６Ｃのメロディテンプレートに従ってＡＶＮＳ中の調の非音階音（ＡＶＮＳ中で調の非音階音として分類された音）を優先的に選択する。ステップ１１２に関して前述した例では、調の非音階音であるＤb ，Ｅb ，Ａb ，Ｂb の音のうちのいずれかを調の音階音であるＣ，Ｆ，Ｇの音より優先的に選択する。
【００７０】
非音階音を優先的に選択する方法としては、
（イ）コード区間に少なくとも１つは非音階音を含ませる、
（ロ）音をランダムに選択する際に非音階音の重みを大きくして非音階音が選択される確率を高くする、
（ハ）音階音と非音階音とが選択候補になった場合は強制的に非音階音を選択する
などの方法がある。
【００７１】
ステップ１１８又は１２０において、メロディテンプレートに従って音を選択する際には、メロディテンプレートが示す音高変化に一致又は近似した音高変化が得られるように音の選択を行なう。そして、選択された音をメロディ音として採用し、メロディ音を表わすメロディデータを記憶部１６Ｅに書込む。
【００７２】
ステップ１１８又は１２０の処理が終ったときは、ステップ１２２に移り、着目音がコード区間ｎの最後の音か判定する。ステップ１１４でコード区間ｎの最初の音に着目した後初めてステップ１２２に来たとき、最初の音が最後の音でなければステップ１２２の判定結果が否定的（Ｎ）となり、ステップ１２４に移る。
【００７３】
ステップ１２４では、コード区間ｎにおいて次の音に着目する。すなわち、記憶部１６Ｂのリズムテンプレート中でコード区間ｎにおいて次の音を参照する。そして、ステップ１１６に戻り、ステップ１１６〜１２４の処理を上記したと同様に実行する。この後は、コード区間ｎの最後の音についてステップ１１８又は１２０の処理が終るまでステップ１１６〜１２４の処理を繰返す。
【００７４】
コード区間ｎの最後の音についてステップ１１８又は１２０の処理が終ると、ステップ１２２に移る。ステップ１２２の判定結果は肯定的（Ｙ）となり、図９のステップ６０に移る。このとき、記憶部１６Ｅには、コード区間ｎにおいてリズムテンプレートにより指示されるすべての音に対応したリズム音を表わすメロディデータが記憶されている。
【００７５】
図１２の区間メロディ生成処理によれば、検出に係るＡＶＮＳ中の各音を入力に係る調の音階音又は非音階音のいずれかに分類し、非音階音として分類された音を音階音として分類された音より優先的にメロディ音として選択するようにしたので、ＡＶＮＳ中の調の非音階音を確実にメロディ中に含ませることができ、ノンダイアトニックコードの個性を強調することができる。
【００７６】
図１３は、区間メロディ生成処理の第４の例５８（４）を示すものである。この例の区間メロディ生成処理を使用する場合、図９のルーチンでは、ステップ５２においてメロディテンプレートの検索・選択を行なわず、ステップ５４の分類処理も行なわない。
【００７７】
ステップ１３０では、前述のステップ７０と同様にＡＶＮＳ検出処理を行ない、検出に係るＡＶＮＳの構成音を表わすデータを記憶部１６Ｄに書込む。そして、ステップ１３２に移る。
【００７８】
ステップ１３２では、前述のステップ７２と同様にコード区間ｎにおいて最初の音に着目する。そして、ステップ１３４に移り、互いに異なる多数の音高データのうちのいずれかをランダムに発生する。
【００７９】
次に、ステップ１３６では、ステップ１３４で発生された音高データが示す音はＡＶＮＳの構成音か判定する。この場合、ＡＶＮＳの構成音は、記憶部１６Ｄのデータにより表わされるものである。ステップ１３６の判定結果が否定的（Ｎ）であれば、ステップ１３４に戻り、音高データをランダムに発生する。そして、ステップ１３６に移り、新たに発生された音高データが示す音はＡＶＮＳの構成音か判定する。
【００８０】
ステップ１３６の判定結果が肯定的（Ｙ）になると、ＡＶＮＳの構成音の１つが音高データとして発生されたことになり、ステップ１３８に移る。ステップ１３８では、音高データが示す音は直前の音から順次進行（長二度以内）の音か判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１４０に移り、発生に係る音高データが示す音をメロディ音として採用する。なお、楽曲の冒頭等で直前の音が存在しない場合は、ステップ１３８を経ずにステップ１４０に移り、発生に係る音高データが示す音をメロディ音として採用する。
【００８１】
ステップ１３８の判定結果が否定的（Ｎ）であったときは、今回の音が直前の音から跳躍している（短三度以上の音程がある）ことになり、ステップ１４２に移る。ステップ１４２では、コード構成音フラグｆが１か判定する。フラグｆとしては、ＲＡＭ１６内の所定の記憶領域が使用される。フラグｆの値が１であれば直前の音がコード構成音（コード区間ｎのコードを構成する音）であることを表わし、フラグｆの値が０であれば直前の音がコード構成音でないこと（非コード構成音であること）を表わす。
【００８２】
ステップ１４２の判定結果が否定的（Ｎ）であったときは、ステップ１３４に戻り、ステップ１３４〜１３８により音を選び直す。そして、ステップ１３８で順次進行であると判定されれば、新たに発生された音高データが示す音がステップ１４０でメロディ音として採用される。
【００８３】
ステップ１４２の判定結果が肯定的（Ｙ）であったときは、ステップ１４０に移り、発生に係る音高データが示す音をメロディ音として採用する。従って、今回の音が直前の音から跳躍していた場合、直前の音がコード構成音であれば跳躍が許可され、直前の音がコード構成音でなければ跳躍が許可されない（音を選び直して順次進行の音をメロディ音とする）ことになる。
【００８４】
ステップ１４０において、発生に係る音をメロディ音として採用したときは、メロディ音を表わすメロディデータを記憶音１６Ｅに書込む。そして、ステップ１４４に移る。
【００８５】
ステップ１４４では、ステップ１４０で採用した音がコード構成音か判定する。この判定の結果が肯定的（Ｙ）であればステップ１４６でフラグｆに１をセットし、否定的（Ｎ）であればステップ１４８でフラグｆに０をセットする。これは、ステップ１３６で次の音を選択した際にステップ１４２での判定を可能にするための処理である。
【００８６】
ステップ１４６又は１４８の処理が終ったときは、ステップ１５０に移り、着目音がコード区間ｎの最後の音か判定する。ステップ１３２でコード区間ｎの最初の音に着目した後初めてステップ１５０に来たとき、最初の音が最後の音でなければステップ１５０の判定結果が否定的（Ｎ）となり、ステップ１５２に移る。
【００８７】
ステップ１５２では、コード区間ｎにおいて次の音に着目する。すなわち、記憶部１６Ｂのリズムテンプレート中でコード区間ｎにおいて次の音を参照する。そして、ステップ１３４に戻り、ステップ１３４〜１５０の処理を上記したと同様に実行する。この後は、コード区間ｎの最後の音についてステップ１４６又は１４８の処理が終るまでステップ１３４〜１５２の処理を繰返す。
【００８８】
コード区間ｎの最後の音についてステップ１４６又は１４８の処理が終ると、ステップ１５０に移る。ステップ１５０の判定結果は肯定的（Ｙ）となり、図９のステップ６０に移る。このとき、記憶部１６Ｅには、コード区間ｎにおいてリズムテンプレートにより指示されるすべての音に対応したリズム音を表わすメロディデータが記憶されている。
【００８９】
なお、ステップ１３２では、リズムテンプレート中においてコード区間ｎの最初の音に着目するようにしたが、リズムテンプレートを用いる代りにランダムに発音タイミングや音符長を決定するようにしてもよい。また、ランダムに音を選択する際に所定の条件を与えるようにしてもよく、例えば音域制限を与えたり、所定の音高変化傾向を持たせるようにしたりすることができる。さらに、非コード構成音からの跳躍を防ぐ別の方法としては、各コード区間のメロディ生成が終了した後又は１曲分のメロディ生成が終了した後、メロディデータに基づいて非コード構成音からの跳躍個所を検出し、該跳躍個所を跳躍しないように修正する方法を用いてもよい。
【００９０】
図１３の区間メロディ生成処理によれば、検出に係るＡＶＮＳ中からランダムにメロディ音を選択するようにしたので、変化に富んだメロディを簡単に得ることができる。
【００９１】
図１４は、区間メロディ生成処理の第５の例５８（５）を示すものである。この例の区間メロディ生成処理を使用する場合、図９のルーチンでは、ステップ５２においてメロディテンプレートの検索・選択を行なわず、ステップ５４の分類処理も行なわない。またステップ５２で検索されるべき各リズムテンプレートにあっては、図１５に示すように各音毎に音種としてコード構成音Ｃまたは非コード構成音ＮＣを指定する音種指定データが付加されている。
【００９２】
ステップ１６０では、前述のステップ７０と同様にＡＶＮＳ検出処理を行ない、検出に係るＡＶＮＳの構成音を表わすデータを記憶部１６Ｄに書込む。そして、ステップ１６２に移る。
【００９３】
ステップ１６２では、ＡＶＮＳ中の各音をコード構成音又は非コード構成音のいずれかに分類する。ここで、ＡＶＮＳ中の各音は、記憶部１６Ｄのデータにより表わされるものである。コード構成音は、コード区間ｎのコードを構成する音であり、コード構成音でない音が非コード構成音である。一例として、コードＤbM7 については、図４に示すようにＤb ，Ｆ，Ａb ，Ｃがコード構成音であり、Ｅb ，Ｇ ，Ｂb が非コード構成音である。コード構成音として分類された音については、記憶部１６Ｄにコード構成音マークデータを書込む。そして、ステップ１６４に移る。
【００９４】
ステップ１６４では、前述のステップ７２と同様にコード区間ｎにおいて最初の音に着目する。そして、ステップ１６６に移り、着目音がコード構成音か判定する。前述したようにリズムテンプレートに各音毎に音種指定データが付加されているので、音種指定データを参照することによりコード構成音か否か判明する。
【００９５】
ステップ１６６の判定結果が肯定的（Ｙ）であったときは、ステップ１６８に移り、ＡＶＮＳ中のコード構成音の中からいずれかの音をランダムに選択する。ここで、ＡＶＮＳ中のコード構成音は、記憶部１６Ｄのデータ中においてコード構成音マークデータが付加された音である。前述したコードＤbM7 の例では、Ｄb ，Ｆ，Ａb ，Ｃの音の中からいずれかの音がランダムに選択される。
【００９６】
ステップ１６６の判定結果が否定的（Ｎ）であったときは、ステップ１７０に移り、ＡＶＮＳ中の非コード構成音の中からいずれかの音をランダムに選択する。ここで、ＡＶＮＳ中の非コード構成音は、記憶部１６Ｄのデータ中においてコード構成音マークデータが付加されていない音である。前述したコードＤbM7 の例では、Ｅb ，Ｇ ，Ｂb の音の中からいずれかの音がランダムに選択される。
【００９７】
ステップ１６８，１７０においては、選択された音をメロディ音として採用し、メロディ音を表わすメロディデータを記憶部１６Ｅに書込む。
【００９８】
ステップ１６８又は１７０が終ったときは、ステップ１７２に移り、着目音がコード区間ｎの最後の音か判定する。ステップ１６４でコード区間ｎの最初の音に着目した後初めてステップ１７２に来たとき、最初の音が最後の音でなければステップ１７２の判定結果が否定的（Ｎ）となりステップ１７４に移る。
【００９９】
ステップ１７４では、コード区間ｎにおいて次の音に着目する。すなわち、記憶部１６Ｂのリズムテンプレート中でコード区間ｎにおいて次の音を参照する。そして、ステップ１６６に戻り、ステップ１６６〜１７２の処理を上記したと同様に実行する。この後は、コード区間ｎの最後の音についてステップ１６８又は１７０の処理が終るまでステップ１６６〜１７４の処理を繰返す。
【０１００】
コード区間ｎの最後の音についてステップ１６８又は１７０の処理が終ると、ステップ１７２に移る。ステップ１７２の判定結果は肯定的（Ｙ）となり、図９のステップ６０に移る。このとき、記憶部１６Ｅには、コード区間ｎにおいてリズムテンプレートにより指示されるすべての音に対応したリズム音を表わすメロディデータが記憶されている。
【０１０１】
なお、ステップ１６６の判定結果が否定的（Ｎ）であったとき（着目音が非コード構成音であったとき）は、図１３の例で示したように今回の音が直前の音から跳躍しているか判定し、跳躍しているときは直前の音がコード構成音である場合に限り跳躍を許可するようにしてもよい。また、ランダムに音を選択する際に所定の条件を与えるようにしてもよく、例えば音域制限を与えたり、所定の音高変化傾向を持たせるようにしたりすることができる。さらに、音種として非コード構成音ＮＣを指定された音については、倚音、経過音、刺繍音、逸音等の音種も指定し、この音種を満たす音をＡＶＮＳ中の非コード構成音の中から選択するようにしてもよい。
【０１０２】
図１４の区間メロディ生成処理によれば、検出に係るＡＶＮＳ中の各音をコード構成音又は非コード構成音のいずれかに分類すると共に生成すべき各音毎に音種としてコード構成音又は非コード構成音のいずれかを指定し、コード構成音を指定された各音についてはコード構成音として分類された音の中から、非コード構成音を指定された各音については非コード構成音として分類された音の中からそれぞれメロディ音を選択するようにしたので、ＡＶＮＳ中の非コード構成音をメロディ中に的確に含ませることができ、ノンダイアトニックコードの個性を強調することができる。
【０１０３】
図１６は、区間メロディ生成処理の第６の例５８（６）を示すものである。ステップ１８０では、前述のステップ７２と同様にコード区間ｎの最初の音に着目する。そして、ステップ１８２に移る。
【０１０４】
ステップ１８２では、前述のステップ７４と同様に着目に係る音が重要音か判定する。この判定の結果が肯定的（Ｙ）であれば、重要音であったことになり、ステップ１８４に移る。
【０１０５】
ステップ１８４では、前述のステップ７６と同様に記憶部１６Ｃのメロディテンプレートに従ってコード構成音の中から音を選択する。そして、選択された音をメロディ音として採用し、メロディ音を表わすメロディデータを記憶部１６Ｅに書込む。
【０１０６】
ステップ１８２の判定結果が否定的（Ｎ）であったときは、着目音が非重要音であったことになり、ステップ１８６に移る。ステップ１８６では、記憶部１６Ｃのメロディテンプレートに従って調の音階音の中から音を選択する。この場合、調の音階音は、入力に係る調データが表わす調の音階を構成する音であり、例えば調データを調の音階音に変換する変換テーブルを用いることにより簡単に求められる。
【０１０７】
ステップ１８４又は１８６において、メロディテンプレートに従って音を選択する際には、メロディテンプレートが示す音高変化に一致又は近似した音高変化が得られるように音の選択を行なう。そして、選択された音をメロディ音として採用し、メロディ音を表わすメロディデータを記憶部１６Ｅに書込む。
【０１０８】
ステップ１８４又は１８６の処理が終ったときは、ステップ１８８に移り、着目音がコード区間ｎの最後の音か判定する。ステップ１８０でコード区間ｎの最初の音に着目した後初めてステップ１８８に来たとき、最初の音が最後の音でなければステップ１８８の判定結果が否定的（Ｎ）となり、ステップ１９０に移る。
【０１０９】
ステップ１９０では、コード区間ｎにおいて次の音に着目する。すなわち、記憶部１６Ｂのリズムテンプレート中でコード区間ｎにおいて次の音を参照する。そして、ステップ１８２に戻り、ステップ１８２〜１８８の処理を上記したと同様に実行する。この後は、コード区間ｎの最後の音についてステップ１８４又は１８６の処理が終るまでステップ１８２〜１９０の処理を繰返す。
【０１１０】
コード区間ｎの最後の音についてステップ１８４又は１８６の処理が終わると、ステップ１８８に移る。ステップ１８８の判定結果は肯定的（Ｙ）となり、ステップ１９２に移る。このとき、記憶部１６Ｅには、コード区間ｎにおいてリズムテンプレートにより指示されるすべての音に対応したリズム音を表わすメロディデータが記憶されている。
【０１１１】
ステップ１９２では、コード区間ｎのコードがダイアトニックコード又はノンダイアトニックコードのいずれか判定する。この判定の結果、ダイアトニックコードであれば、図９のステップ６０に移る。
【０１１２】
ステップ１９２の判定の結果、ノンダイアトニックコードであれば、ステップ１９４に移る。ステップ１９４では、前述のステップ７０と同様にＡＶＮＳ検出処理を行ない、検出に係るＡＶＮＳの構成音を表わすデータを記憶部１６Ｄに書込む。そして、ステップ１９６に移る。
【０１１３】
ステップ１９６では、生成したメロディのうちＡＶＮＳに含まれない音をＡＶＮＳ中の音に修正する。ここで、生成したメロディは、記憶部１６Ｅのデータにより表わされるものであり、ＡＶＮＳ中の音は、記憶部１６Ｄのデータにより表わされるものである。
【０１１４】
図１６の区間メロディ生成処理によれば、生成すべき各音として入力に係る調の音階中の音を選択すると共に入力に係るコードがダイアトニックコード又はノンダイアトニックコードのいずれか判定し、ノンダイアトニックコードと判定されたコードについてのみ選択に係る音がＡＶＮＳ中の音であればそのまま送出し且つＡＶＮＳ中の音でなければＡＶＮＳ中の音に修正して送出し、ダイアトニックコードについては選択に係る音を、ノンダイアトニックコードについては送出に係る音をそれぞれメロディ音として採用するようにしたので、ダイアトニックコード用のメロディ生成アルゴリズムにノンダイアトニック用の修正処理を追加するだけでよく、ダイアトニックコード用のメロディ生成アルゴリズムを変更せずに有効活用することができる。
【０１１５】
この発明は、上記した実施形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
【０１１６】
（１）メロディ生成処理の後、生成されたメロディデータを音楽ルールに従って補正する処理を行なうようにしてもよい。
【０１１７】
（２）リズムやピッチのテンプレートを用いる場合、どのような形式のテンプレートを用いてもよい。例えば、特徴点（楽曲の先頭及び末尾、楽節の先頭及び末尾、フレーズの先頭及び末尾等）のみのピッチを示すテンプレートを持ち、特徴点の間をＡＶＮＳ中の音で埋めてく（ＡＶＮＳ中の音をランダムに選択するなどして埋めていく）方法、楽曲全体や楽曲の一部分のメロディをテンプレートとして持ち、このメロディをＡＶＮＳに合うように修正する方法、モチーフメロディを入力し、このモチーフメロディを発展させる形で続きのメロディを生成する方法等を用いてもよい。
【０１１８】
（３）コード区間毎に区間の先頭から１音ずつメロディ音高を決定するものに限らず、区間中の重要音についてのみメロディ音高を決定（コード構成音の中から選択）した後、残りの非重要音については重要音間を埋めるようにメロディ音高を決定するようにしてもよい。このようにすると、ＡＶＮＳ中の非コード構成音の中から音楽ルールに基づいて経過音、刺繍音等の音をメロディ音として選択するのが容易となる。
【０１１９】
（４）生成したメロディデータをユーザの指示により任意に編集できるようにしてもよい。
【０１２０】
（５）生成したメロディを視覚表示や楽音発生などによってユーザに報知するようにしてもよい。楽音発生によってメロディを報知する際には、入力したコード進行に基づいて自動伴奏を遂行するようにしてもよい。
【０１２１】
（６）この発明は、電子楽器の形態に限らず、パーソナルコンピュータとアプリケーションソフトウェアとの組合せの形態でも実施することができる。アプリケーションソフトウェアは、磁気ディスク、光磁気ディスク、半導体メモリ等の記録媒体に記憶させてパーソナルコンピュータに供給してもよいし、あるいは通信ネットワークを介してパーソナルコンピュータに供給するようにしてもよい。
【０１２２】
（７）この発明は、電子楽器に限らず、カラオケ装置等に用いる曲データの作成にも適用することができる。
【０１２３】
（８）この発明は、鍵盤式電子楽器に限らず、弦楽器式、管楽器式、打楽器式等の電子楽器にも適用することができる。
【０１２４】
（９）この発明は、音源装置、自動演奏装置等を内蔵した電子楽器に限らず、鍵盤、音源装置、自動演奏装置等をＭＩＤＩや各種ネットワーク等の通信手段で結合した電子楽器にも適用することができる。
【０１２５】
（１０）メロディ、コード等の演奏データのフォーマットは、イベントの発生時刻を１つ前のイベントからの相対時間で表わす「イベント＋相対時間」方式に限らず、イベントの発生時刻を曲や小節内の絶対時間で表わす「イベント＋絶対時間」方式、音符の音高と音符長あるいは休符と休符長で曲の内容を表す「音高（休符）＋符長」方式、イベント発生の最小時間単位毎に記憶領域を確保し、イベントの発生時刻に対応する記憶領域にイベントを記憶する方式等の任意の方式を用いることができる。
【０１２６】
【発明の効果】
以上のように、この発明によれば、所望の調と所望のコードとに基づいてＡＶＮＳを検出すると共に検出したＡＶＮＳ中の音を用いてメロディを生成する構成にしたので、調の音階音に限らず、調の非音階音やＡＶＮＳ中の非コード構成音をメロディ音として採用可能となり、ノンダイアトニックコードに相応しい自然なメロディを生成可能となる効果が得られる。その上、次のような効果も得られる。
【０１２７】
（１）生成すべき各音を重要音又は非重要音のいずれかに分類し、重要音については入力に係るコードの構成音の中から、非重要音については検出に係るＡＶＮＳ中からそれぞれメロディ音を選択する構成にしたので、ダイアトニックコード及びノンダイアトニックコードのいずれについてもコードとメロディとの融合感が向上し、いずれのコードにも相応しい自然なメロディが得られる。
【０１２８】
（２）入力に係るコードがダイアトニックコード又はノンダイアトニックコードのいずれであるか判定し、ダイアトニックコードについては入力に係る調の音階音の中から、ノンダイアトニックコードについては検出に係るＡＶＮＳの中からそれぞれメロディ音を選択する構成にしたので、曲の中で出現頻度が高いダイアトニックコードについてはＡＶＮＳを求める必要がなくなり、高速の処理が可能となる。
【０１２９】
（３）検出に係るＡＶＮＳ中の各音を入力に係る調の音階音又は非音階音のいずれかに分類し、非音階音として分類された音を音階音として分類された音より優先的にメロディ音として選択する構成にしたので、ＡＶＮＳ中の調の非音階音を確実にメロディ中に含ませることができ、ノンダイアトニックコードの個性を強調することができる。
【０１３０】
（４）検出に係るＡＶＮＳ中からランダムにメロディ音を選択する構成にしたので、変化に富んだメロディを簡単に得ることができる。
【０１３１】
（５）検出に係るＡＶＮＳ中の各音をコード構成音又は非コード構成音のいずれかに分類すると共に生成すべき各音毎に音種としてコード構成音又は非コード構成音のいずれかを指定し、コード構成音を指定された各音についてはコード構成音として分類された音の中から、非コード構成音を指定された各音については非コード構成音として分類された音の中からそれぞれメロディ音を選択する構成にしたので、ＡＶＮＳ中の非コード構成音をメロディ中に的確に含ませることができ、ノンダイアトニックコードの個性を強調することができる。
【０１３２】
（６）生成すべき各音として入力に係る調の音階中の音を選択すると共に入力に係るコードがダイアトニックコード又はノンダイアトニックコードのいずれか判定し、ノンダイアトニックコードと判定されたコードについてのみ選択に係る音がＡＶＮＳ中の音であればそのまま送出し且つＡＶＮＳ中の音でなければＡＶＮＳ中の音に修正して送出し、ダイアトニックコードについては選択に係る音を、ノンダイアトニックコードについては送出に係る音をそれぞれメロディ音として採用する構成にしたので、ダイアトニックコード用のメロディ生成アルゴリズムにノンダイアトニック用の修正処理を追加するだけでよく、ダイアトニックコード用のメロディ生成アルゴリズムを変更せずに有効活用することができる。
【図面の簡単な説明】
【図１】  ダイアトニックコードの基礎となる７種のダイアトニックスケールを示す図である。
【図２】  種々のメジャーコードについてＡＶＮＳを示す図である。
【図３】  種々のドミナント７ｔｈコードについてＡＶＮＳを示す図である。
【図４】  いくつかの長調についてメジャーコード毎にＡＶＮＳを示す図である。
【図５】  Ｃ長調についてドミナント７ｔｈコード毎にＡＶＮＳを示す図である。
【図６】  この発明に係るＣ長調のメロディ生成の一例を示す図である。
【図７】  この発明の一実施形態に係るメロディ生成装置を備えた電子楽器を示すブロック図である。
【図８】  メロディパターン及びリズムパターンを例示する図である。
【図９】  メロディ生成処理のルーチンを示すフローチャートである。
【図１０】  区間メロディ生成処理の第１の例を示すフローチャートである。
【図１１】  区間メロディ生成処理の第２の例を示すフローチャートである。
【図１２】  区間メロディ生成処理の第３の例を示すフローチャートである。
【図１３】  区間メロディ生成処理の第４の例を示すフローチャートである。
【図１４】  区間メロディ生成処理の第５の例を示すフローチャートである。
【図１５】  リズムテンプレートにおける音種設定状況を示す図である。
【図１６】  区間メロディ生成処理の第６の例を示すフローチャートである。
【符号の説明】
１０：バス、１２：ＣＰＵ、１４：ＲＯＭ、１６：ＲＡＭ、１８，２０：検出回路、２２：表示回路、２４：音源回路、２６：効果回路、２８：外部記憶装置、３０：ＭＩＤＩインターフェース、３２：通信インターフェース、３４：タイマ、３６：鍵盤、３８：スイッチ群、４０：表示器、４２：サウンドシステム、４４：ＭＩＤＩ機器、４６：通信ネットワーク、４８：サーバコンピュータ。
【図１】
0003637775.tif 000003
【図２】
0003637775.tif 000004
【図３】
0003637775.tif 000005
【図４】
0003637775.tif 000006
【図５】
0003637775.tif 000007
【図６】
0003637775.tif 000008
【図７】
0003637775.tif 000009
【図８】
0003637775.tif 000010
【図１０】
0003637775.tif 000011
【図９】
0003637775.tif 000012
【図１１】
0003637775.tif 000013
【図１２】
0003637775.tif 000014
【図１３】
0003637775.tif 000015
【図１４】
0003637775.tif 000016
【図１５】
0003637775.tif 000017
【図１６】
0003637775.tif 000018