(57)【要約】【課題】アルゴリズム方式を用いて、メロディに相応しいコード進行データを生成し、大量のコード進行データの登録の必要がないコード進行データ生成システムの提供。【解決手段】この発明によるシステムでは、入力されたメロディから区間毎にコード候補を生成し（Ｐａ）、これらコード候補を複数区間分組み合わせた上（Ｐｂ）、これらの組合せによるコード進行候補から入力メロディに適合するコード進行候補を抽出する（Ｐｃ）。この際、コード候補の生成及びコード進行候補の抽出には、所定の音楽的な法則に基づくコード候補検出ルールＣＤａ及びコード進行候補抽出ルールＣＤｂが適用される（アルゴリズム方式ＰＡ）。また、コード進行候補の抽出にテンプレート一致方式（Ｐｄ）を用いて、コード進行データベースＤＳｂに記憶されているコード進行をテンプレートに用い、これに一致するものを入力メロディに適合するコード進行候補として抽出する。【選択図】図３
2005173490.tif 000002
【特許請求の範囲】
【請求項１】
メロディデータを入力するメロディ入力手段と、
予め設定されたコード候補生成ルールに従って、入力されたメロディデータの区間毎のコード候補データを生成するコード候補生成手段と、
生成された区間毎のコード候補データを複数区間分組み合わせてコード進行候補データを作成するコード進行候補作成手段と、
作成されたコード進行候補データの中から、予め設定されたコード進行候補抽出ルールに合うコード進行候補データを抽出するコード進行候補抽出手段と、
抽出されたコード進行候補データを表示するコード進行候補表示手段と、
ユーザ操作に基づいて、表示されたコード進行候補データの中から所望のコード進行データを選択するコード進行選択手段と
を具備すること特徴とするコード進行データ生成装置。
【請求項２】
メロディデータを入力するメロディ入力手段と、
予め設定されたコード候補生成ルールに従って、入力されたメロディデータの区間毎のコード候補データを生成するコード候補生成手段と、
生成された区間毎のコード候補データを複数区間分組み合わせてコード進行候補データを作成するコード進行候補作成手段と、
作成されたコード進行候補データの中から、予め設定されたコード進行候補抽出ルールに合うコード進行候補データを抽出する第１コード進行候補抽出手段と、
作成されたコード進行候補データの中から、予め用意されたコード進行データベースに蓄積されているコード進行データに一致するコード進行候補データを抽出する第２コード進行候補抽出手段と、
第１又は第２進行候補抽出手段で抽出されたコード進行候補データを表示するコード進行候補表示手段と、
ユーザ操作に基づいて、表示されたコード進行候補データの中から所望のコード進行データを選択するコード進行選択手段と
とを具備すること特徴とするコード進行データ生成装置。
【請求項３】
メロディデータを入力するステップと、
予め設定されたコード候補生成ルールに従って、入力されたメロディデータの区間毎のコード候補データを生成するステップと、
生成された区間毎のコード候補データを複数区間分組み合わせてコード進行候補データを作成するステップと、
作成されたコード進行候補データの中から、予め設定されたコード進行候補抽出ルールに合うコード進行候補データを抽出するステップと、
抽出されたコード進行候補データを表示するステップと、
ユーザ操作に基づいて、表示されたコード進行候補データの中から所望のコード進行データを選択するステップと
から成る手順を情報処理装置に実行させるコード進行データ生成プログラム。
【請求項４】
メロディデータを入力するステップと、
予め設定されたコード候補生成ルールに従って、入力されたメロディデータの区間毎のコード候補データを生成するステップと、
生成された区間毎のコード候補データを複数区間分組み合わせてコード進行候補データを作成するステップと、
作成されたコード進行候補データの中から、予め設定されたコード進行候補抽出ルールに合うコード進行候補データ、或いは、予め用意されたコード進行データベースに蓄積されているコード進行データに一致するコード進行候補データを抽出するステップと、
抽出されたコード進行候補データを表示するステップと、
ユーザ操作に基づいて、表示されたコード進行候補データの中から所望のコード進行データを選択するステップと
から成る手順を情報処理装置に実行させるコード進行データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力したメロディに相応しいコード進行データを生成するのに好適なコード進行データ生成システム、特に、アルゴリズムを用いて大きいメモリ容量を要することなくコード進行データを生成するようにしたコード進行データ生成システムに関する。
【背景技術】
【０００２】
従来より、メロディデータに適合するコード進行データをデータベースから抽出するものが知られている。例えば、特許文献１では、予め複数のコード進行をデータベースに登録しておき、入力されたメロディデータを所定区間に分割し、各分割区間のメロディデータ中から和声音を検出し、検出された和声音をコード構成音として含むコード進行データをデータベースから抽出している。
【特許文献１】特開２００１−１４２４６２号公報
【０００３】
しかしながら、このようにテンプレートに用いられるコード進行データをデータベースに予め登録しておく方式では、想定されるコード（ｃｈｏｒｄ）の組合せを全部用意する必要があるので、全ての組合せに対応したコード進行データをデータベースに登録しておくには、コード進行データベースを構築するために膨大なメモリ容量と膨大な登録作業時間がかかってしまう。また、コード進行データベースに用意しておくコード進行（コードの組合せ）には限度があるので、最適なコード進行データを得ることができない。
【０００４】
また、従来技術のように、所定の分割区間のメロディデータに対応して、データベースの登録データからコード進行を抽出するやり方では、単に各分割区間に合うコード進行を求めるだけであるので、音楽的に起伏のないコード進行が生成されてしまう。
【０００５】
さらに、コード進行データベースに予め登録されているコード進行データから入力メロディに適合するコード進行データを抽出するものでは、ユーザ好みのコード進行が得られにくいという不都合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この発明は、このような事情に鑑み、アルゴリズムを用いて、与えられたメロディデータから区間毎にコード候補を求め、複数区間分のコード候補を組み合わせたコード進行データを抽出する方式を用いることによって、当該メロディに相応しいコード進行データを生成し、記憶装置に膨大なコード進行データを予め登録しておく必要がないコード進行データ生成システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明の１つの特徴に従うと、メロディデータを入力するメロディ入力手段（Ｐ１）と、予め設定されたコード候補生成ルール（ＣＤａ）に従って、入力されたメロディデータの区間毎のコード候補データを生成するコード候補生成手段（Ｐａ；Ｐ４１）と、生成された区間毎のコード候補データを複数区間分組み合わせてコード進行候補データを作成するコード進行候補作成手段（Ｐｂ；Ｐ４２）と、作成されたコード進行候補データの中から、予め設定されたコード進行候補抽出ルール（ＣＤｂ）に合うコード進行候補データを抽出するコード進行候補抽出手段（Ｐｃ；Ｐ４３）と、抽出されたコード進行候補データを表示するコード進行候補表示手段（Ｐ５）と、ユーザ操作に基づいて、表示されたコード進行候補データの中から所望のコード進行データを選択するコード進行選択手段（Ｐ６）とを具備するコード進行データ生成装置〔請求項１〕、並びに、メロディデータを入力するステップ（Ｐ１）と、予め設定されたコード候補生成ルール（ＣＤａ）に従って、入力されたメロディデータの区間毎のコード候補データを生成するステップ（Ｐ４１）と、生成された区間毎のコード候補データを複数区間分組み合わせてコード進行候補データを作成するステップ（Ｐ４２）と、作成されたコード進行候補データの中から、予め設定されたコード進行候補抽出ルール（ＣＤｂ）に合うコード進行候補データを抽出するステップ（Ｐ４３）と、抽出されたコード進行候補データを表示するステップ（Ｐ５）と、ユーザ操作に基づいて、表示されたコード進行候補データの中から所望のコード進行データを選択するステップ（Ｐ６）とから成る手順を情報処理装置に実行させるコード進行データ生成プログラム〔請求項３〕が提供される。なお、括弧書きは、実施例における参照記号を表わす。
【０００８】
また、この発明の別の特徴に従うと、メロディデータを入力するメロディ入力手段（Ｐ１）と、予め設定されたコード候補生成ルール（ＣＤａ）に従って、入力されたメロディデータの区間毎のコード候補データを生成するコード候補生成手段（Ｐａ；Ｐ４１）と、生成された区間毎のコード候補データを複数区間分組み合わせてコード進行候補データを作成するコード進行候補作成手段（Ｐｂ；Ｐ４２）と、作成されたコード進行候補データの中から、予め設定されたコード進行候補抽出ルール（ＣＤｂ）に合うコード進行候補データを抽出する第１コード進行候補抽出手段（Ｐｃ；Ｐ４３）と、作成されたコード進行候補データの中から、予め用意されたコード進行データベース（ＤＢｂ）に蓄積されているコード進行データに一致するコード進行候補データを抽出する第２コード進行候補抽出手段（Ｐｄ；Ｐ４４）と、第１又は第２進行候補抽出手段（Ｐｃ，Ｐｄ；Ｐ４３，Ｐ４４）で抽出されたコード進行候補データを表示するコード進行候補表示手段（Ｐ５）と、ユーザ操作に基づいて、表示されたコード進行候補データの中から所望のコード進行データを選択するコード進行選択手段（Ｐ６）とを具備するコード進行データ生成装置〔請求項２〕、並びに、複数区間分のコード進行データを蓄積しているコード進行データベース（ＤＢｂ）を備える情報処理装置に対して、メロディデータを入力するメロディ入力手段（Ｐ１）と、予め設定されたコード候補生成ルール（ＣＤａ）に従って、入力されたメロディデータの区間毎のコード候補データを生成するステップ（Ｐ４１）と、生成された区間毎のコード候補データを複数区間分組み合わせてコード進行候補データを作成するステップ（Ｐ４２）と、作成されたコード進行候補データの中から、予め設定されたコード進行候補抽出ルール（ＣＤｂ）に合うコード進行候補データ、或いは、予め用意されたコード進行データベース（ＤＢｂ）に蓄積されているコード進行データに一致するコード進行候補データを抽出するステップ（Ｐ４３，Ｐ４４）と、第１又は第２進行候補抽出手段（Ｐｃ，Ｐｄ；Ｐ４３，Ｐ４４）で抽出されたコード進行候補データを表示するステップ（Ｐ５）と、ユーザ操作に基づいて、表示されたコード進行候補データの中から所望のコード進行データを選択するステップ（Ｐ６）とから成る手順を実行させるコード進行データ生成プログラム〔請求項３〕〔請求項４〕が提供される。
【発明の効果】
【０００９】
この発明によるコード進行データ生成システムでは、メロディを入力すると（Ｐ１）、予め設定されたコード候補生成ルール（ＣＤａ）に基づいてメロディ区間毎のコード候補を求め（Ｐ４１）、複数区間にわたって区間毎のコード候補を全て組み合わせて複数のコード進行を作成する（Ｐ４２）。これに対して、予め設定されたコード進行候補抽出ルール（ＣＤｂ）に基づいてコード進行候補を絞り込む（Ｐ４３）。この絞込みで求められたコード進行候補をユーザに提示し（Ｐ５）、表示されたコード進行候補データの中からユーザ所望のコード進行を選択する（Ｐ６）。
【００１０】
つまり、この発明では、与えられたメロディから区間毎にコード候補を求め、これらコード候補を組み合わせた上、これらの組合せによるコード進行候補からユーザに提示するコード進行候補を得るようにしており、しかも、コード候補及びユーザ提示用コード進行候補は、予め設定された所定の音楽的なルールを適用してアルゴリズムで生成している。従って、この発明によれば、入力メロディに適合可能なコード進行の候補が数多く得られ、当該メロディに相応しいコード進行データを生成することができる。しかも、そのために、コード進行を登録するための大規模なデータベース用メモリを必要とすることはなく、また、コード進行登録作業も必要としない。
【００１１】
また、この発明の別の特徴によるコード進行データ生成システムでは、メロディ入力（Ｐ１）、コード候補生成ルール（ＣＤａ）に基づくコード候補の生成（Ｐ４１）及びコード候補の組合せ（Ｐ４２）の後、コード進行候補抽出ルール（ＣＤｂ）に基づいてコード進行候補を抽出する（Ｐ４３）のに加えて、予めデータベース（ＤＢｂ）に登録されているコード進行から、入力メロディに適合するコード進行候補を抽出する（Ｐ４４）。そして、コード進行候補抽出ルール（ＣＤｂ）やデータベース（ＤＢｂ）を利用して得られたコード進行候補の中からユーザ所望のコード進行データを選択する（Ｐ５，Ｐ６）。
【００１２】
つまり、ルール適用（アルゴリズム）方式でコード進行を抽出するだけでなく、予め記憶されたコード進行をテンプレートに用い、これに一致するものを入力メロディに適合するコード進行候補として抽出するテンプレート一致方式を併用して、コード進行を抽出するようにしており、特殊なコード進行データを得たい場合には、そのようなコード進行データをデータベースに登録しておけばよい。従って、この発明の別の特徴によれば、ルール適用方式により、入力メロディに適合する一般的なコード進行を求めることができるだけでなく、テンプレート一致方式の併用によって、入力メロディに適合する特殊なコード進行データをも簡単に求めることができる。
【００１３】
なお、ルール適用方式とテンプレート一致方式の何れでコード進行候補を抽出する場合でも、抽出されたコード進行候補について更にリハモニゼーシヨンを行うことにより、コード進行候補のバリエーションを生成してより多くの多彩なコード進行を得ることができる。
【００１４】
また、メロディ全般に対応するコード進行生成条件（ＣＤｃ）を設定するだけでなく、メロディ段落部に対して特別のコード（特定コード）を指定するように設定しておき、通常は、メロディデータを入力すると（Ｑ１）と、入力されたメロディデータに対応して、設定されたコード進行生成条件（ＣＤｃ）に従ってコード進行データを生成するが（Ｑ４）、入力されたメロディデータの音楽的な段落部を検出すると（Ｑ２）、検出された段落部の近傍に特定コードを指定し（Ｑ３）、段落部の近傍については、当該コード進行生成条件（ＣＤｃ）に優先して、指定された特定コードを割り当てる（Ｑ４）ように構成することによって、与えられたメロディデータから検出されるメロディ段落部に特別のコードを割り当てると共に、それ以外の部分にはコード進行生成条件に基づくコード進行を付与し、音楽的に起伏のあるコード進行を生成することができる。
【００１５】
さらに、ユーザ操作に基づいてコード進行データをコード進行データベース（ＤＢｂ）に登録することができるようにしておき（Ｒ１，Ｒ１０）、メロディデータを入力すると（Ｒ３）、入力されたメロディデータに対応して、登録されたコード進行データに従ってコード進行データを生成するように構成することによって、テンプレート一致方式でメロディに相応しいコード進行を生成する際のツールをカスタマイズし、与えられたメロディデータに相応しいコード進行を生成する際に、違和感の無いユーザ好みのコード進行を得ることができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しつつこの発明の好適な実施の一形態について説明する。しかしながら、これは単なる一例であって、この発明は、発明の精神を逸脱しない範囲で種々の変更が可能である。
【００１７】
〔システムの概要〕
図１は、この発明の一実施例によるコード進行データ生成システムのハードウエア構成ブロック図を示す。このシステムの本体となるコード進行データ生成装置には、電子楽器や音楽情報処理機能を有するパーソナルコンピュータ（ＰＣ）のような情報処理装置が用いられ、このようなコード進行データ生成装置は、中央処理装置（ＣＰＵ）１、ランダムアクセスメモリ（ＲＡＭ）２、読出専用メモリ（ＲＯＭ）３、外部記憶装置４、演奏操作検出回路５、設定操作検出回路６、表示回路７、音源回路８、効果回路９、ＭＩＤＩインターフェース（Ｉ／Ｆ）１０、通信インターフェース（Ｉ／Ｆ）１１などを備え、これらの装置１〜１１はバス１２を介して互いに接続される。
【００１８】
ＣＰＵ１は、所定の制御プログラムに従い、タイマ１３によるクロックを利用して、コード進行データ生成を含む種々の音楽データ処理を実行する。ＲＡＭ２は、これらの処理に際して必要な各種データを一時記憶するためにのワーク領域として用いられる。また、ＲＯＭ３には、これらの処理を実行するために、コード進行データ生成プログラムを含む各種制御プログラムや各種データ、パラメータ等が予め記憶される。
【００１９】
外部記憶装置４は、ハードディスク（ＨＤ）等の内蔵記憶媒体の外に、コンパクトディスク・リード・オンリィ・メモリ（ＣＤ−ＲＯＭ）、フレキシブルディスク（ＦＤ）、光磁気（ＭＯ）ディスク、ディジタル多目的ディスク（ＤＶＤ）、スマートメディア（登録商標）等の小型メモリカード、等々、種々の可搬性の外部記憶媒体を含む。例えば、ＲＯＭ３や外部記憶装置４にはコード進行データベース（ＤＢｂ）を構築し、多数のコード進行データを蓄積しておくことができる。
【００２０】
演奏操作検出回路５は、鍵盤やホイール等の演奏操作子１４の演奏操作内容を検出し、設定操作検出回路６は、キースイッチやマウス等の設定操作子１５の設定操作内容を検出し、それぞれ、検出内容に対応する情報をシステム本体に導入する。表示回路７は、各種画面を表示するディスプレイや各種インジケータ（ランプ）を備え、これらの表示／点灯内容をＣＰＵ１からの指令に従って制御し、各操作子１４，１５の操作に対する表示援助を行う。なお、必要に応じて、マイク等からの音響情報を入力をするための音響入力手段が設けられる。
【００２１】
音源回路８は、演奏操作子１４や記憶手段３，５からの演奏データを処理して得られる楽音データに対応する楽音信号を生成する。効果付与ＤＳＰを有する効果回路９は、楽音信号に所定の効果を付与し、効果回路９に接続されるサウンドシステム１７は、Ｄ／Ａ変換部やアンプ、スピーカを備え、効果が付与された楽音信号に基づく楽音を発生する。
【００２２】
また、ＭＩＤＩＩ／Ｆ１０には他の電子楽器（ＭＩＤＩ機器）ＥＤが接続され、このコード進行データ生成装置と他の電子楽器ＥＤとの間で、コード進行を含む演奏データを授受し、このシステムで利用することができる。また、通信Ｉ／Ｆ１１には、インターネットやローカルエリアネットワーク（ＬＡＮ）などの通信ネットワークＣＮが接続され、外部のサーバコンピュータＳＶなどから、制御プログラムや演奏データ等の各種情報をダウンロードして外部記憶装置４に保存し、このシステムで利用することができる。
【００２３】
〔第１方式（第１実施形態）〕
この発明の第１実施形態によるコード進行データ生成システムにおいては、「第１のコード進行生成方式」により、入力されたメロディデータから区間毎にコード候補データを生成し、複数区間のコード候補データを組み合わせてコード進行候補データを作成した後、このコード進行候補データから入力メロディに合うコード進行候補データを生成することができる。第１のコード進行生成方式では、コード候補データの生成及びコード進行候補データの抽出に所定のルールを適用し、所定の条件に合うコード進行候補データを抽出する「ルール適用方式」が適用されると共に、コード進行候補データの抽出については、コード進行候補データからコード進行データベースのテンプレートと一致するコード進行候補データを抽出する「テンプレート一致方式」を併用することができる。
【００２４】
そして、ルール適用方式及び／又はテンプレート一致方式で抽出されたコード進行候補データは、更にユーザに提示され、ユーザの選択操作を経て所望のコード進行データが生成される。このように、第１のコード進行生成方式を用いて曲データを作成する手法は、この明細書では「第１方式」と呼ばれる。
【００２５】
図２は、「第１方式」の処理による動作例を表わすフローチャートを示し、図３は、図２のステップＰ４における具体的な処理動作例を表わすフローチャートを示している。また、図４は、入力メロディ及び「第１方式」の処理の過程で得られるコード候補の一例を示すもので、以下、適宜、図４の具体例に言及しつつ、図２及び図３の処理フローについて説明を進めていく。
【００２６】
さて、図２において、所定の設定操作子１５の操作により第１方式の処理動作が開始すると、まず、ステップＰ１で、ＣＰＵ１は、モチーフを含む所定部分のメロディデータをＲＡＭ２上にセットしてメロディを入力する。
【００２７】
このメロディ入力には、例えば、次のような方法がある：
（１）直接録音＝特許文献１に示されるように、鍵盤などの演奏操作子１４の演奏操作に基づき演奏操作検出回路５より入力される実演奏データ又は設定操作子１５の１音毎の情報入力に基づき設定操作検出回路６より入力されるステップ演奏データに従って所定形式（ＭＩＤＩ等）のメロディデータを生成し、生成されたメロディデータをＲＡＭ２上にロードする。或いは、音響入力手段からの鼻歌入力をピッチ検出して所定形式のメロディデータを生成しこれをＲＡＭ２にロードする。
（２）保存データの呼出し＝（１）の方法で生成されたメロディデータ又はシーケンサ等の外部ＭＩＤＩ機器ＥＤやサーバコンピュータＳＶから送られてくる所定形式（ＭＩＤＩ等）のメロディデータを、一旦、外部記憶装置４に保存しておき、外部記憶装置４に保存されたメロディデータをＲＡＭ２上にロードする。
（３）直接受信＝外部ＭＩＤＩ機器ＥＤで作成されたメロディデータを受信して直接ＲＡＭ２上にロードしたり、サーバコンピュータＳＶから受信したメロディデータをＲＡＭ２上にダウンロードする。等々。
【００２８】
また、メロディ入力ステップＰ１では、入力されたメロディをディスプレイ１６上に楽譜表示することができる。さらに、入力メロディを楽音出力部８，９，１７を通じて試聴することができるように構成してもよい。この場合、入力メロディは、未だコード情報がないので、入力メロディを無伴奏で試聴してもよいし、メトロノームやドラムスの伴奏を付けて試聴してもよい。
【００２９】
次のステップＰ２では、入力されたメロディの調を検出する。調検出は、例えば、以下のようなルール１〜３（調検出ルール）に従って行う：
〔１〕ルール１＝「全部の音符からその音階を構成する調を調候補とする」
例えば、図４上段に示されるようなモチーフのメロディが入力された場合、第３音に“Ｆ”（ファ）があるので♯系の調ではない。“Ｂ”（シ）が出現していないので、それがナチュラル（♯♭無し）の場合は、“Ｃメジャー”か或いは“Ａマイナー”、Ｂに♭が付く“Ｆメジャー”か或いは“Ｄマイナー”が調候補となる。なお、♭が２つ以上付く調の場合は、少なくとも“Ｅ”に♭が付くが、このモチーフでは“Ｅ”がナチュラルである。
以上から、図４上段の例では、調候補は、“Ｃメジャー”／“Ａマイナー”と“Ｆメジャー”／“Ｄマイナー”である。
〔２〕ルール２＝「複数の調候補があったら、♯や♭の少ない調にする」
図４上段の例の場合、“Ｃメジャー”／“Ａマイナー”となる
〔３〕ルール３（メジャー／マイナーの決定）＝「最初の音がマイナーの１度又は５度ならマイナーとし、それ以外はメジャーとする」
図４上段の例の場合は、第１音“Ｇ”（ソ）はＡマイナーの１，５度ではないので、“Ｃメジャー”に決まる。
【００３０】
続くステップＰ３にて、検出された調に基づいて、そのダイアトニックコード、即ち、検出された調の音階音だけで構成されるコード（例えば、３和音の場合は７種類、４和音を含めると更に＋７種類）を決定する。ここで決定されたダイアトニックコードは、次のコード進行候補生成ステップＰ４において、コード（進行）候補を絞り込むのに利用される。なお、ダイアトニックコードは、例えば、次のルール４に従って決定される：
〔４〕ルール４＝「Ｃメジャーで３和音の場合は、Ｃ，Ｄｍ，Ｅｍ，Ｆ，Ｇ，Ａｍ，Ｂｍ♭５（減５度）の７個とし、Ａマイナーの場合は、これらにＥを加えて８個とする」等
図４上段の例の場合は、メジャーなので、前者の７個となる。
【００３１】
次いで、ステップＰ４では、第１のコード進行生成方式によりコード進行候補データを生成する。すなわち、ルール適用方式により入力メロディの区間毎にコード候補を求め（Ｐ４１）、求められたコード候補を先頭から時系列順に並べ、並べられたコード候補を複数区間分組み合わせてコード進行候補を作成し（Ｐ４２）、そして、作成されたコード進行候補の中から、ルール適用方式又はテンプレート一致方式で、メロディに適するコード進行候補を求める（Ｐ４３，Ｐ４４）。また、必要に応じて、リハモニゼーシヨンを行う（Ｐ４５）。なお、ステップＰ４におけるコード進行候補データ生成の詳細は、図３を用いて後述される。
【００３２】
ステップＰ４で生成されたコード進行候補データは、ステップＰ５にて、ディスプレイ１６のコード進行候補画面上に表示される。次いで、ステップＰ６で、この画面に表示されたコード進行候補データの中から、操作子１５のユーザ操作により所望のコード進行データが指示されると、ＣＰＵ１は、指示されたコード進行候補データを入力メロディに適合するコード進行データとして選択する。
【００３３】
なお、この場合、選択されたコード進行データを構成するコードを編集可能として、ユーザがマニュアルで変更することができるようにもよい。また、選択されたコード進行データやマニュアル変更されたコード進行データは、ユーザ操作により、コード進行データベース（ＤＢｂ）に追加登録してテンプレートをカスタマイズすることができようにしてもよい（平行ユーザ登録機能）。さらに、画面上に表示されたコード進行コードデータを楽音出力部８，９，１７に出力し、ユーザが試聴しながら所望のコード進行を選択することができるようにしてもよい。
【００３４】
一方、伴奏データについては、外部記憶装置４のスタイルデータベースＤＢａに、予め、「スタイルデータ」と呼ばれる伴奏音のパターンデータ（相対度数）が多数蓄積されている。そこで、ステップＰ６で選択されたコード進行データに対して、ステップＰ７にて、スタイルデータベースＤＢａ中のスタイルデータからユーザ所望のスタイルデータを選択し、ステップＰ８にて、選択されたスタイルデータを付加して伴奏データを生成する。
【００３５】
そして、ステップＰ９において、生成された伴奏データを入力メロディデータにマージし、メロディデータと伴奏データから成る曲データを完成する。完成した曲データは、外部記憶装置４の曲データベースに保存するようにしてもよいし、或いは、他のＭＩＤＩ機器ＥＤに渡したり、通信ネットワークＣＮを通じて他の通信端末へと配信するようにしてもよい。
【００３６】
なお、このシステムで得られるコード進行データは、上述のように伴奏データの生成に用いるだけでなく、ディスプレイ１４上に表示して、入力メロディに合うコード進行をコード名等でユーザに提示するために用いたり、別パートの副旋律の生成に用いる等、種々の利用ができる。また、入力されるメロディは１曲全体でもモチーフ部分だけでもよい。
【００３７】
〔第１のコード進行生成方式の詳細〕
さて、図２のコード進行候補生成ステップＰ４は、機能的に、図３に示すように、ルール適用コード候補検出機能部Ｐａ（Ｐ４１）、コード進行候補作成機能部Ｐｂ（Ｐ４２）、コード進行候補抽出機能部Ｐｃ，Ｐｄ（Ｐ４３，Ｐ４４）及びリハーモニゼーション機能部（Ｐ４５）に分けられ、これらのうち機能部Ｐａ〜Ｐｃは、所定のルールＣＤａ，ＣＤｂを順次適用してアルゴリズム方式でコード進行候補を生成するルール適用コード進行生成ブロックＰＡを構成する。
【００３８】
ここで、第１のコード進行生成方式の特徴を図３により簡単に説明しておく。このシステムでは、入力されたメロディから区間毎にコード候補を生成し（Ｐａ）、これらコード候補を複数区間分組み合わせた上（Ｐｂ）、これらの組合せによるコード進行候補から入力メロディに適合するコード進行候補を抽出する（Ｐｃ）。この際、コード候補の生成及びコード進行候補の抽出には、所定の音楽的な法則に基づくコード候補検出ルールＣＤａ及びコード進行候補抽出ルールＣＤｂが適用される（アルゴリズム方式ＰＡ）。また、アルゴリズム方式ＰＡだけでなく、コード進行候補の抽出にテンプレート一致方式（Ｐｄ）を併用して、コード進行データベースＤＳｂに記憶されているコード進行をテンプレートに用い、これに一致するものを入力メロディに適合するコード進行候補として抽出することもできる。
【００３９】
まず、ルール適用コード候補検出部Ｐａとして機能するステップＰ４１では、予め用意されたコード候補検出条件ＣＤａのもとで、区間毎にコード候補を検出する。ここで、区間とは、１つのコードに対応する区間（コード区間）であり、メロディの拍子に応じて予め設定される。例えば、図４上段のメロディのように４拍子の場合、１区間は１小節乃至２拍であり、“１小節１コード”乃至“２拍１コード”（又は“１小節２コード”）等と呼ばれる。なお、このように複数種のコード区間の設定可能な場合は、これら区間について予め優先順位を決めておいてもよいしユーザが設定してもよい。例えば、１小節１コードと２拍１コードとのどちらか設定するように、自動優先してもよいし操作子で優先付けて抽出してもよい。ただし、以下の例では、１小節１コード及び２拍１コードの両者が設定されているとして説明する。
【００４０】
コード候補検出条件ＣＤａには、ルール５〜７（コード候補生成ルールと呼ばれる）があり、まず、次のルール５により非コード音を除去する：
〔５〕ルール５（非コード音の除去）＝「連続する３つの音が、隣り合う２音で２度上下する場合は、中央の音は非コード音として除去する」
図４上段の例の場合は、「×」で示した第３音“Ｆ”（ファ）及び第６音“Ｄ”（レ）が非コード音に該当するので除去される。
【００４１】
非コード音除去後、次のルール６に従ってコード候補を求める：
〔６〕ルール６（コード候補の検出）＝「非コード音除去後の音をコード構成音として最も多く含むコードをコードを候補とする」
複数種類のコード区間が設定される場合は、各種類の区間について夫々のコード候補を検出する。例えば、４拍子の場合は、“１小節１コード”と“２拍１コード”について夫々求める。
【００４２】
図４上段の例にルール６を適用すると、“１小節１コード”の場合は、コード構成音が２音一致するコードとし、図４中段に示すように、１小節目では、小節内の各音“Ｅ”（ミ），“Ｇ”（ソ）を含むコード候補としてＣ，Ａｍ７，Ａ７などが求められる（なお、実際には全てのコード候補を挙げるが、ここでは、説明を簡単にするためにこの３つとしている。）。２小節目では、同様にして小節内各音“Ａ”（ラ），“Ｃ”（ド）と２音が一致するコード候補Ｆ、Ａｍ、Ｄｍ７、Ｆ♯ｄｉｍなどが求められる。
【００４３】
また、２拍１コードの場合は、図４下段に示すように、１小節目については、前半２拍では、各音“Ｅ”（ミ），“Ｇ”（ソ）と２音一致するコード候補Ｅｍ、Ａｍ７などが求められ、後半２拍では、第４音“Ｇ”（ソ）と１音一致するＣ、Ｇ、Ｅ♭、Ｇｍなどが求められる。そして、２小節目については、前半２拍では、第５音“Ｃ”（ド）と１音一致するコード候補Ｃ，Ｃｍなどが求められ、後半では、各音“Ａ”（ラ），“Ｃ”（ド）と２音一致するコード候補Ｆ、Ａｍ７♭５が求められる。
【００４４】
次いで、ルール６で求められたコード候補に対し、更に、次のルール７に従ってコード種類を指定し、ステップＰ３で決定されたダイアトニックコードでコード候補の種類を制限して、次ステップＰ４２のコード種類の組合せの絞込みに備える：
〔７〕ルール７（コード種類の指定）＝「使用するコードは、３和音でダイアトニックコードとする」
【００４５】
図４上段の例について、更にこのルール７を適用すると、ステップＰ４１で求められたコード候補の中のうち、次のコード候補が該当データとして検出される。すなわち、１小節１コードの場合は、１小節目でコード候補Ｃが求められ、２小節目ではコード候補Ｆ，Ａｍが求められる。また、２拍１コードの場合には、１小節目の前半２拍でコード候補Ｅｍが、そして、後半２拍でコード候補Ｃ，Ｇが求められ、２小節目の前半２拍でコード候補Ｃが、そして、後半２拍ではコード候補Ｆが求められる。
【００４６】
ルール７で種類が制限されたコード候補は、次ステップＰ４２で組み合わせてコード進行候補を作成するのに使用される。従って、図４の例の場合、コード進行候補の作成に使用されるコード候補は、次の表１に示されるとおりになる。
【表１】
2005173490.tif 000003
【００４７】
さて、コード進行候補作成部Ｐｂとして機能する次ステップＰ４２では、求められたコード候補を先頭から時系列順に並べ、並べられたコード候補を複数区間分組み合わせてコード進行候補データを作成する。従って、図４の例では、求められた全コード候補を組み合わせて作成される２小節分のコード進行候補データは、次の（ａ）のとおり、９候補になる〔なお、記号“−”は小節の境界を表わし、記号“／”は１小節中の前半（２拍）と後半（２拍）の境界を表わす〕：
（ａ）＝“Ｃ−Ｆ”，“Ｃ−Ａｍ”，“Ｃ−Ｃ／Ｆ”，“Ｅｍ／Ｃ−Ｆ”，“Ｅｍ／Ｃ−Ａｍ”，“Ｅｍ／Ｃ−Ｃ／Ｆ”，“Ｅｍ／Ｇ−Ｆ”，“Ｅｍ／Ｇ−Ａｍ”，“Ｅｍ／Ｇ−Ｃ／Ｆ”
【００４８】
なお、ステップＰ４１において各ルール６〜７（コード候補生成ルール）の適用前後に得られた区間毎のコード候補や、ステップＰ４２で作成されたコード進行候補は、ディスプレイ１６に表示するようにしてもよい。
【００４９】
続いて、ステップＰ４３又はステップＰ４４に進み、ルール適用コード進行抽出方式又はテンプレート一致コード進行抽出方式に従って、ステップＰ４２で作成された複数区間分のコード進行候補データの中からメロディに適するコード進行候補データを求める。
【００５０】
まず、ルール適用方式に従うコード進行候補抽出部Ｐｃとして機能するステップＰ４３では、ステップＰ４２で得られた複数区間分のコード進行候補データに対して、予め用意されたコード進行候補抽出条件ＣＤｂが示す所定のルールを適用し、入力メロディに適したコード進行候補データを抽出する。コード進行候補抽出条件ＣＤｂによるルール（コード進行候補抽出ルールと呼ばれる）には、例えば、次のようなルール８がある：
〔８〕ルール８＝「曲の先頭（場合によっては曲の終りも）のコードは調のトニック（主和音）とする」
図４の例の場合には、ルール８の適用により、３つのコード進行候補“Ｃ−Ｆ”、“Ｃ−Ａｍ”，“Ｃ−Ｃ／Ｆ”が得られ、これらがコード進行候補になる。
【００５１】
コード進行候補抽出条件ＣＤｂに用いられるコード進行候補抽出ルールには、ルール８の外に、同じコードの使用頻度を上げない、同じコードが所定個数（例えば、２又は３個）以上連続しない、等々、コード進行に関する一般的な音楽ルールが含まれる。
【００５２】
なお、ルール適用方式でコード進行候補を抽出する場合は、全コードを組み合わせたコード進行候補データを一旦外部記憶装置４等のメモリに記憶し、それを読み出してステップＰ４３の処理をしてもよいし、コード進行候補データをメモリに記憶せずに、直接、同処理をしてもよい。
【００５３】
一方、テンプレート一致方式に従うコード進行候補抽出部Ｐｄでは、短区間コード進行データがテンプレートとしてコード進行データベースＤＢｂに登録されており、ステップＰ４３では、ステップＰ４２で得られた複数区間分のコード進行候補データとデータベースＤＢｂに登録されたコード進行データとを比較し、一致するコード進行候補データを抽出する。
【００５４】
例えば、コード進行データベースＤＢｂとしてコード進行“Ｅｍ／Ｇ−Ｃ／Ｆ”，“Ｅｍ７♭５−Ａｍ”，“Ｃ−Ａ７”，“Ｅｍ／Ｃ−Ｃ／Ｆ”を登録したとすると、図４の例で得られた９つのコード進行候補（ａ）から、これら登録コード進行と一致する２つのコード進行候補“Ｅｍ／Ｇ−Ｃ／Ｆ”及び“Ｅｍ／Ｃ−Ｃ／Ｆ”が求められる。
【００５５】
このように、ルール適用コード進行候補抽出部Ｐｃだけでなく、テンプレート一致コード進行候補抽出部Ｐｄを用いることによって、より多彩なコード進行が得られる。例えば、ルール適用方式で普通のコード進行を生成し、テンプレート一致方式では特殊なコード進行を生成するように分担する構成にすると効果が上がる。この場合、入力メロディに応じてコード進行候補抽出部Ｐｃ，Ｐｄの双方又は何れかを動作させてもよいし、入力メロディの区間に応じてコード進行候補抽出部Ｐｃ，Ｐｄの双方又は何れかを動作させてもよい。
【００５６】
なお、テンプレート一致によるコード進行候補の抽出技術自体は既に特許文献１などで知られており、テンプレート一致コード進行候補抽出部Ｐｄは、必要に応じて、システムに付加することができる。例えば、ルール適用コード進行候補抽出部Ｐｃのみから成るシステムを完成させた後、後から追加できるようにしておくと、多彩なコード進行を増やすことができる。また、テンプレート一致（Ｐｄ）を適用する場合には、コード候補検出部（段階）でコード候補検出条件ＣＤａ中の一部のルール（例えば、ルール７）を除外したり、或いは、コード進行候補抽出条件ＣＤｂ中の一部ルール（例えば、ルール８の「先頭コードはトニック」）を設定してもよい。
【００５７】
ステップＰ４３，Ｐ４４でメロディに適するコード進行候補データを求めた後は、必要に応じて、ステップＰ４５にてリハモニゼーシヨンを行う。このステップＰ４５は、リハモニゼーシヨン実行部として機能し、コード進行候補のバリエーションを生成してより多くの多彩なコード進行を得るものである。例えば、ステップＰ４３，Ｐ４４で求められたコード進行候補について、代理コードに置き換えたり（Ｃ→Ｅｍ）、或るコード“Ｖ７”を“ＩＩｍ”と“Ｖ７”に分割してコード進行“ＩＩｍ＋Ｖ７”に置き換える。ただし、置き換えるコードは、ステップＰ４１で得られたコード候補の中に存在するコードであることが必要である。
【００５８】
ステップＰ４（Ｐ４１〜Ｐ４５）でこのようにして得られたコード進行候補は、前述したように、ステップＰ５（図２）で表示し、ステップＰ６でユーザに所望のものを選択させる。図４の例の場合、ルール適用方式では、抽出された３つのコード進行候補をディスプレイ１６に表示し、テンプレート一致方式では、抽出された２つコード進行候補を表示し、両方式を併用した場合には、これらを合計した５つのコード進行候補を表示する。そして、ユーザ操作に応じて、これらのコード進行から所望のものが選択されると、ステップＰ８を経た後、ステップＰ９においてコード伴奏付きメロディを演奏する。
【００５９】
〔第２方式（第２実施形態）〕
この発明の第２実施形態によるコード進行データ生成システムにおいては、入力されたメロディデータから段落を検出して、段落部分には特別のコードを付与し、それ以外の部分にはコード進行生成条件に基づく通常のコード進行データを付与する「第２のコード進行生成方式」により、入力メロディに起伏のあるコード進行候補データを生成することができる。第２のコード進行生成方式を用いて曲データを作成する手法は「第２方式」と呼ばれる。
【００６０】
図５は、「第２方式」の処理による動作例を表わすフローチャートを示し、図６は、入力メロディ及び「第２方式」による処理の一例を示す。ここで、第２のコード進行生成方式の特徴を図５により簡単に説明しておく。このシステムでは、予め、メロディ全般に対応するコード進行生成条件ＣＤｃが設定され、メロディの音楽的な段落部に特別のコード〔特定コード（段落部特別コードともいう）〕を指定するように設定されている。コード進行候補の生成（Ｑ４）に当って、通常は、入力メロディに対応してコード進行生成条件ＣＤｃに従うコード進行データを生成するが、与えられたメロディの音楽的な段落部を検出すると（Ｑ２）、検出された段落部に特定コードを指定し（Ｑ３）、段落部の近傍（段落部分）には、コード進行生成条件ＣＤｃに優先して、指定された特定コードを割り当てる。つまり、与えられたメロディから音楽的な段落を検出し、段落部分には特定コードを付与し、それ以外の部分にはコード進行生成条件ＣＤｃに基づくコード進行を付与する。
【００６１】
さて、図５において、所定の設定操作子１５の操作により第２方式の処理動作が開始すると、まず、ステップＱ１で第１方式（図２）のステップＰ１と同様にメロディデータを入力する。次のステップＱ２においては、入力されたメロディデータからメロディの段落部を検出する。ここで、段落というのは、そこでメロディが１区切りすることである。１曲のメロディには、曲の最初と終りだけでなく曲の中間にも段落があり、これらの段落については、曲として起伏を与えるという点で音楽的に非常に重要である。
【００６２】
そこで、このステップＱ２では、例えば、次のような段落検出条件に従ってメロディの区切りを調べ、メロディの段落部を検出する（なお、曲の最初と終わりについては、データ形式上から簡単に演奏開始及び終了点を検出することができる）：
〔９〕段落検出条件＝「或る小節の１〜３拍の間に、１音も無い場合（キーオンイベントはないが、前の小節の音符がタイで当小節に延長されている場合も含む）、或いは、１音しか存在しない場合には、そこを段落とする」
なお、或る小節において、１〜３拍区間に音も無いか１音しか存在しないが４拍目区間に音符がある場合、この音符は次のフレーズのピックアップとし、段落を妨げるものではない（後述する図６の７小節目を参照）。
【００６３】
次のステップＱ３では、ステップＱ２で検出された段落部の近傍部分に対して段落部特別コードを割り当てるように指定する。なお、検出された段落部の近傍部分は「段落部分」と呼ばれ、或る段落部から次の段落部までの間は「段落区間」と呼ばれる。
【００６４】
ステップＱ４は、「第１方式」の処理フロー（図２及び図３）のステップＰ２〜Ｐ４に相当し、コード進行生成条件ＣＤｃ及び段落部特別コード指定に基づいてコード進行候補を生成する。ステップＱ４での処理動作は、ステップＱ２，Ｑ３の段落部検出及び段落部特別コード指定に並行して実行され、メロディ全般について、「第１方式」で用いられるコード生成条件ＣＤａ、コード進行生成条件ＣＤｂ及びコード進行データベースＤＢｂ（図３）を含むコード進行生成条件ＣＤｃに従って、ステップＰ２〜Ｐ４（Ｐ４１〜Ｐ４５）と同様のコード進行候補生成機能を実行する。しかしながら、段落部分については、さらに、ステップＱ３の段落部特別コード指定がコード進行生成条件ＣＤｃに優先して適用され、段落部特別コード指定に従ってコード進行候補を生成する。
【００６５】
メロディからコード進行候補を求めるときの条件には、一般的に、コード進行生成条件ＣＤｂ（図３）による“３和音”（ルール７）や“曲の最初や終わりのコードはトニック”（ルール８）などがあるが、段落部分については、段落部特別コード指定に基づく次のような段落コード割当て条件１，２が優先され、これら段落コード割当て条件１，２に従ってコードを割り当てる（説明を簡単にするために、以下においては、調がＣメジャーの場合を示す）：
〔９〕段落コード割当て条件１（段落部で終止する場合、即ち、段落部の前部）
＝「完全終止の場合は、段落部から遡って２つのコードをＧ−Ｃとし、
偽終止の場合は、段落部から遡って２つのコードをＧ−Ａｍとし、
半終止の場合は、段落区間の最後（段落部直前）はＧとする」
〔１０〕段落コード割当て条件２（次の段落区間に移行する場合、即ち、段落部の後部）
＝「次への区切り感を出すコードにする。例えば、或る段落部の直前（段落区間の最後）から直後（段落区間の冒頭）に向けて完全４度上行する（Ａｍ→Ｄｍなど）」
そして、これらの段落コード割当て条件１，２を優先付けしてメロディに割り当てることのできるコードを段落部分に優先的に採用する。
【００６６】
図６は、入力メロディ及びこれに対するコード割当ての具体例を表わす。この例では、入力されたメロディの３小節目及び１０小節目に、二重の縦線で示される段落部が検出される。この場合、３小節目の段落部分は、音符がＧなので、入力メロディを表わす五線譜の下に示されるように、コードをＧとして半終止させる（他の終止はできない）。また、７小節目の段落部分については、６小節目に遡って、直前のコードＧ〔音符が“Ａ”（ラ）と“Ｂ”（シ）なのでコードＧが可能〕と完全終止できるので、図示のように、コードをＧ−Ｃとする。なお、段落部分以外については、通常のコード進行生成条件ＣＤｃに従って、例えば、図示のようなコードが抽出される。
【００６７】
このようにして、ステップＱ４では、段落部分に特定のコード進行候補を生成することができる。次に、段落区間に対するコード進行候補の生成について説明を補足しておく。
【００６８】
段落部検出を行う第２方式の場合には、段落区間は、一定でなく種々の小節数になる。一般的には４小節が多いが、３小節や５小節、長いときには７小節などもある。段落区間に対してルール適用方式（図３：Ｐａ〜Ｐｃ）でコード進行候補を生成する場合は、段落部分について段落コード割当て条件１，２を優先すればよく、比較的簡単に処理することができる。また、コード進行生成条件ＣＤｂ自体に、段落部特別コード指定に応じて、段落コード割当て条件１，２に対応する段落部分へのコード候補の割当てを組み込むように構成することもできる。例えば、５小節の段落区間が検出されたときは、５小節終わりから遡ってコード列Ｇ−Ｃを優先して生成させればよい。
【００６９】
一方、短コード進行データをデータベースＤＢｂに登録し、段落区間のメロディに適合するコード進行候補をテンプレート一致方式（図３：Ｐｄ）で抽出する場合には、種々の長さの段落区間に対する考慮が必要である。つまり、段落区間には色々の長さがあるので、全ての長さについてデータベースを用意するのは困難である。例えば、１小節から７小節までデーターベースに登録するとなるとコード進行の数が膨大になる。
【００７０】
そこで、種々の小節長のコード進行データをデータベースＤＢｂに登録しておき、これを組み合わせて使うようにする。例えば、１、２、３、４小節のコード進行をそれぞれ用意して、段落区間長が３小節であれば、３小節のコード進行データベース（ＤＢ）から段落コード割当て条件１，２に基づいてコード進行候補を抽出する（例：３小節終わりから遡ってＧ−Ｃをもつコード進行候補を３小節コード進行ＤＢから優先抽出）。また、段落区間長が７小節の場合は、まず、４小節のコード進行を割り当て（この場合は段落部分の処理は不要）、残りの小節を３小節コード進行ＤＢから抽出する際に段落部コード割り当て条件１，２を適用する（例：３小節終わりから遡ってＧ−Ｃをもつコード進行候補を３小節コード進行ＤＢから優先抽出）。
【００７１】
図７は、段落構成例及びこれに対するコード進行候補の抽出態様を説明するための図である。例えば入力メロディ３の小節目及び１０小節目に段落部が検出された場合、図７（１）のように、段落区間長は、３小節、７小節、…となる。そこで、第２段落区間の７小節（７＝４＋３）については、図７（２）のように、４小節と３小節に分割し、夫々に４小節と３小節のコード進行候補を割り当てる。これに対して、コード進行データベースＤＢｂには、図７（３）のように、４小節及び３小節コード進行ＤＢが予め用意されている。従って、第１段落区間の３小節及び第２段落区間の分割された３小節分は３小節コード進行ＤＢのコード進行と比較し、第２段落区間の分割された４小節分は４小節コード進行ＤＢのコード進行と比較して、それぞれコード進行を抽出する。
【００７２】
この場合、第２段落区間については、前半の４小節区間に段落部コード割当て条件はなく、後半の３小節区間に段落部コード割当て条件を優先的に適用してコード進行を抽出する。従って、第１段落区間の３小節及び第２段落区間の後半３小節に、特定コード列“Ｇ−Ｃ”を含む“Ａｍ−Ｇ−Ｃ”というコード進行が３小節コード進行ＤＢから抽出される。但し、そもそも、テンプレート一致方式の際は、メロディにこのような特定コードが付加できない場合は付加できるコードを抽出し、付加できる場合には優先して抽出するということである。
【００７３】
なお、以上の説明では、段落部分に対して、コード進行生成条件ＣＤｃに優先して特定コードを割り当てるだけであるが、段落部分でない区間についても、段落部分に含まれないことを条件にして、特定コードのような終止感や区切り感のあるコード進行候補（〔９〕，〔１０〕の段落コード割当て条件を参照）を抽出しないように、コード進行候補抽出条件ＣＤｂのコード進行候補抽出ルールを追加したり、コード進行データベースＤＢｂのテンプレートを制限する構成を採用してもよい。
【００７４】
さて、ステップＱ４では、この後、「第１方式」のステップＰ４（Ｐ４５）と同様に、必要に応じてリハモニゼーシヨンを行い、メロディに適合し且つ段落部分に特定コードを付与したコード進行候補データが求められる。
【００７５】
その後は、ステップＱ５〜Ｑ９の処理を順次実行する。すなわち、「第１方式」のステップＰ５〜Ｐ９と同様に、ステップＱ４で生成されたコード進行候補をディスプレイ１６に表示して（Ｑ５）、ユーザに所望のコード進行を選択させ（Ｑ６）、予め用意されたスタイルデータベースＤＢａから選択された所望のスタイルデータ（Ｑ７）と接合して伴奏データを生成し（Ｑ８）、入力されたメロディデータとマージして曲データを完成する（Ｑ９）。
【００７６】
なお、ステップＱ２で検出された段落部情報は、ステップＱ４でのコード進行候補の生成に利用するだけでなく、段落部分にフィルインを挿入するなど、伴奏生成（Ｑ８）に利用してもよい。
【００７７】
〔第３方式（第３実施形態）〕
この発明の第３実施形態によるコード進行データ生成システムにおいては、入力されたメロディに相応しいコード進行データを生成する際、テンプレート一致方式を適用した場合にユーザによりカスタマイズされたコード進行データベースをテンプレートとして用いる「第３のコード進行生成方式」により、ユーザ好みのコード進行候補データを生成することができる。第３のコード進行生成方式を用いて曲データを作成する手法は「第３方式」と呼ばれる。
【００７８】
図８は、「第３方式」の処理による動作例を表わすフローチャートを示す。ここで、第３のコード進行生成方式の特徴を図８により簡単に説明しておく。このシステムでは、ユーザ所望のコード進行をコード進行データベースＤＢｂに登録しておき、テンプレート一致方式でコード進行を生成する際のツールをカスタマイズすることができる（Ｒ１，Ｒ２）。メロディデータを入力すると（Ｒ３）、カスタマイズされたコード進行データベースＤＢｂを利用して、入力メロディデータに適合するコード進行を生成することができる（Ｒ４）。そして、生成されたコード進行からユーザ所望のものを選択すると（Ｒ５，Ｒ６）、ユーザ所望のコード進行から伴奏データを生成し（Ｒ８）入力メロディと合わせて曲データを完成する（Ｒ９）。また、コード進行を選択する際にも（Ｒ５，Ｒ６）、ユーザが必要とするコード進行をコード進行データベースＤＢｂに登録して、次のコード進行生成に備えることができる（Ｒ１０）。
【００７９】
以下、図８に従って詳細に説明する。「第３方式」のシステムでは、システムが動作している間、ユーザは、随時、ユーザ登録のための所定の設定操作子１５を操作して所望の新規なコード進行データを入力しコード進行データベースＤＢｂに順次登録して行くことができる。すなわち、ＣＰＵ１は、図８のステップＲ１，Ｒ２に示すように、この登録操作を受け付けて（Ｒ１）、ユーザ所望のコード進行データをコード進行データベースＤＢｂ内のユーザ登録コード進行データベースＤＢｕに保管する（Ｒ２）。
【００８０】
コード進行データベースＤＢｂは、システムとして初めから保有している標準コード進行データベースＤＢｏと、ユーザ登録により入力されたコード進行データを蓄積しているユーザ登録コード進行データベースＤＢｕを備え、上述のように、ユーザ登録コード進行データベースＤＢｕにコード進行データを登録することにより、随時、更新される。
【００８１】
さて、ユーザによりコード進行生成開始のための所定の設定操作子１５が操作されて第３方式の処理動作が開始すると、まず、ステップＲ３で第１方式（図２）のステップＰ１と同様にメロディデータを入力し、次のステップＲ４に進む。
【００８２】
ステップＲ４は「第１方式」のステップＰ２〜Ｐ４（図２及び図３参照）に相当する。すなわち、ステップＲ４では、コード生成条件ＣＤａ及びコード進行生成条件ＣＤｂ（図３参照）とコード進行データベースＤＢｂ（図８）を含むコード進行生成条件に従って、ステップＰ２〜Ｐ４（Ｐ４１〜Ｐ４５）と同様に動作して、ルール適用方式（ＰＡ；Ｐａ〜Ｐｃ）乃至テンプレート一致方式（Ｐｄ）により入力メロディに適合するコード進行候補を抽出する。
【００８３】
このコード進行候補生成に当たり、テンプレート一致方式（Ｐｄ）が適用される場合には、上述のようにユーザ登録コード進行データベースＤＢｕを備えるコード進行データベースＤＢｂが利用される。その際、同じメロディに対して標準コード進行データベースＤＢｏとユーザ登録コード進行データベースＤＢｕとの両方に一致するコード進行候補がある場合には、標準コード進行データベースＤＢｏに登録されている標準的なコード進行（標準コード進行）よりも、ユーザ登録コード進行データベースＤＢｕに登録されているユーザ登録コード進行を優先的に採用する。
【００８４】
ステップＲ４では、この後、「第１方式」のステップＰ４（Ｐ４５）と同様に、必要に応じてリハモニゼーシヨンを行い、メロディに適合し且つユーザの好みに合ったコード進行候補データが求められる。その後、「第１方式」のステップＰ５〜Ｐ９と同様に、ステップＲ５〜Ｒ８の処理を順次実行し、ステップＲ９において、最終的に、メロディデータとマージして曲データを完成する。
【００８５】
ここで、ステップＲ４で生成されたコード進行候補をディスプレイ１６に表示し（Ｒ５）表示されたコード進行候補の中からユーザ所望のコード進行を選択する際には（Ｒ６）、ステップＲ１０において、表示されたコード進行候補や選択された所望コード進行をコード進行データベースＤＢｂに新規に登録することができる。
【００８６】
なお、コード進行データベースＤＢｂは、ユーザ登録コード進行データベースＤＢｕのみで構成してもよい。但し、このようにユーザ自身の好みに従ってユーザ登録コード進行（ＤＢｕ）のみをコード進行データベースＤＢｂに登録しておくだけでは、入力メロディによっては対応するコード進行データが得られない可能性があるが、上述のように標準コード進行データベースＤＢｏを併用すれば、ユーザ登録コード進行データベースＤＢｕを補完しこのような事態に対処することができる。
【００８７】
このコード進行データベースのユーザ登録機能は、特に、次のような場面において好適に利用される：
（１）コードの意識無く自由に演奏したメロディにコードをつけてみたいときに、好みのコード進行を出させる。
（２）子供に曲データを使わせるときに、先生や親がその子供に相応しい（例えば、シンプルな）コード進行が出るように設定してあげる。
（３）友人の作ったメロディにコードを付けてあげるときに、凝ったコード進行を生成することができるように設定して喜ばせる。
【図面の簡単な説明】
【００８８】
【図１】この発明の一実施例によるコード進行データ生成システムのハードウエア構成ブロック図である。
【図２】この発明の第１実施形態による第１のコード進行データ生成方式を用いた「第１方式」の曲作成手順を表わすフローチャートである。
【図３】「第１方式」における第１のコード進行データ生成方式の要部の処理動作を表わすフローチャートである。
【図４】第１のコード進行データ生成方式における入力メロディ及びコード候補の一例を表わす図である。
【図５】この発明の第２実施形態による第２のコード進行データ生成方式を用いた「第２方式」の曲作成手順を表わすフローチャートである。
【図６】第２のコード進行データ生成方式が適用される入力メロディ及びコード付与の一例を表わす図である。
【図７】第１のコード進行データ生成方式における入力メロディの段落構成及びコード進行候補抽出の一例を表わす図である。
【図８】この発明の第３実施形態による第３のコード進行データ生成方式を用いた「第３方式」の曲作成手順を表わすフローチャートである。
【符号の説明】
【００８９】
ＰＡ  ルール適用コード進行候補生成ブロック、
Ｐａ  ルール適用コード候補検出部（段階）、
Ｐｂ  コード進行候補作成部（段階）、
Ｐｃ  ルール適用コード進行抽出部（段階）、
Ｐｄ  テンプレート一致コード進行抽出部（段階）、
ＤＢａ，ＤＢｂ  スタイルデータベース及びコード進行データベース、
ＣＤａ，ＣＤｂ  コード候補検出条件及びコード進行候補抽出条件、
ＣＤｃ  コード進行候補生成条件（ＣＤａ，ＣＤｂ，ＤＢｂの機能を含む）、
ＤＢｏ  標準コード進行データベース、
ＤＢｕ  ユーザ登録コード進行データベース。
【図１】
2005173490.tif 000004
【図２】
2005173490.tif 000005
【図３】
2005173490.tif 000006
【図４】
2005173490.tif 000007
【図５】
2005173490.tif 000008
【図６】
2005173490.tif 000009
【図７】
2005173490.tif 000010
【図８】
2005173490.tif 000011