(57)【特許請求の範囲】
【請求項１】
楽曲の特徴を略規定するパラメータを生成するように指示するパラメータ生成指示手段と、
該パラメータ生成指示手段の指示に応じて、複数種類のパラメータについて該パラメータの値をランダムに生成するパラメータ生成手段と、
該パラメータ生成手段で生成された複数種類のパラメータに基づいて楽曲を生成する楽曲生成手段と、
曲の躍動感を選択する躍動感選択手段と、
を備え、
前記躍動感選択手段で選択された躍動感に基づいて、跳躍の回数を規定する跳躍回数パラメータと、シンコペーションの回数を規定するシンコペーション回数パラメータとのランダム生成の有無を制御するようにした
ことを特徴とする楽曲生成装置。
【請求項２】
楽曲の特徴を略規定するパラメータを生成するように指示する複数タイプのパラメータ生成指示手段と、
該パラメータ生成指示手段の指示に応じて、複数種類のパラメータについて該パラメータの値をランダムに生成するパラメータ生成手段であって、該パラメータ生成指示手段のタイプに応じて異なるランダム特性でパラメータの値をランダムに生成するパラメータ生成手段と、
該パラメータ生成手段で生成された複数種類のパラメータに基づいて楽曲を生成する楽曲生成手段と、
曲の躍動感を選択する躍動感選択手段と、
を備え、
前記躍動感選択手段で選択された躍動感に基づいて、跳躍の回数を規定する跳躍回数パラメータと、シンコペーションの回数を規定するシンコペーション回数パラメータとのランダム生成の有無を制御するようにした
ことを特徴とする楽曲生成装置。
【請求項３】
楽曲の特徴を略規定するパラメータを生成するように指示する複数タイプのパラメータ生成指示手段と、
パラメータの種類を選択するパラメータ種類選択手段と、
前記パラメータ生成指示手段の指示に応じて、複数種類のパラメータについて該パラメータの値をランダムに生成するパラメータ生成手段であって、パラメータ種類選択手段で選択された種類のパラメータについてのみパラメータの値をランダムに生成するパラメータ生成手段と、
該パラメータ生成手段で生成された複数種類のパラメータに基づいて楽曲を生成する楽曲生成手段と、
曲の躍動感を選択する躍動感選択手段と、
を備え、
前記躍動感選択手段で選択された躍動感に基づいて、跳躍の回数を規定する跳躍回数パラメータと、シンコペーションの回数を規定するシンコペーション回数パラメータとのランダム生成の有無を制御するようにした
たことを特徴とする楽曲生成装置。
【請求項４】
コンピュータで楽曲を生成するための楽曲生成プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
楽曲の特徴を略規定するパラメータを生成するように指示する入力処理を行うステップと、
曲の躍動感を選択する処理を行うステップと、
選択された躍動感に基づいて、跳躍の回数を規定する跳躍回数パラメータと、シンコペーションの回数を規定するシンコペーション回数パラメータとのランダム生成の有無を制御するとともに、前記入力処理の指示に応じて、複数種類のパラメータについて該パラメータの値をランダムに生成するステップと、
該生成された複数種類のパラメータに基づいて楽曲を生成するステップと、
をコンピュータで実行する楽曲生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メロディの小節内の音符数や音の跳躍の回数等の楽曲の特徴を略規定するパラメータにもとづいて、楽曲を自動的に生成する楽曲生成装置および楽曲生成プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
従来、コンピュータミュージック等の分野において、次のような自動作曲の処理が行われている。まず、作曲する楽曲のコード進行や楽節構成等の基本的な情報を設定しておき、これに加えて、ユーザーは、小節内の音符数や音の跳躍部分の数などを示す各種パラメータの値をそれぞれ設定する。そして、自動生成を指示すると、上記パラメータの値と予め決められている音楽的なルールに即してメロディが生成される。
【０００３】
【発明が解決しようとする課題】
しかし、上記のようなパラメータには多くの種類があり、このパラメータを設定するのは大変面倒であった。
本発明は、パラメータ設定の手間を省いて簡単に自動作曲を行えるようにすることを課題とする。
【０００４】
【課題を解決するための手段】
本発明の請求項１の楽曲生成装置は、楽曲の特徴を略規定するパラメータを生成するように指示するパラメータ生成指示手段と、該パラメータ生成指示手段の指示に応じて、複数種類のパラメータについて該パラメータの値をランダムに生成するパラメータ生成手段と、該パラメータ生成手段で生成された複数種類のパラメータに基づいて楽曲を生成する楽曲生成手段と、曲の躍動感を選択する躍動感選択手段と、を備え、前記躍動感選択手段で選択された躍動感に基づいて、跳躍の回数を規定する跳躍回数パラメータと、シンコペーションの回数を規定するシンコペーション回数パラメータとのランダム生成の有無を制御するようにしたことを特徴とする。
【０００５】
上記のように構成された請求項１の楽曲生成装置によれば、パラメータ生成指示手段でパラメータの生成を指示するだけで生成する楽曲の特徴を略規定する複数種類のパラメータを一括して生成できる。したがって、パラメータの設定の手間を省くことができ、簡単に自動作曲を行える。
【０００６】
本発明の請求項２の楽曲生成装置は、楽曲の特徴を略規定するパラメータを生成するように指示する複数タイプのパラメータ生成指示手段と、該パラメータ生成指示手段の指示に応じて、複数種類のパラメータについて該パラメータの値をランダムに生成するパラメータ生成手段であって、該パラメータ生成指示手段のタイプに応じて異なるランダム特性でパラメータの値をランダムに生成するパラメータ生成手段と、該パラメータ生成手段で生成された複数種類のパラメータに基づいて楽曲を生成する楽曲生成手段と、曲の躍動感を選択する躍動感選択手段と、を備え、前記躍動感選択手段で選択された躍動感に基づいて、跳躍の回数を規定する跳躍回数パラメータと、シンコペーションの回数を規定するシンコペーション回数パラメータとのランダム生成の有無を制御するようにしたことを特徴とする。
【０００７】
上記のように構成された請求項２の楽曲生成装置によれば、請求項１と同様な作用効果が得られるとともに、パラメータ生成指示手段として例えば複数種類のスイッチなど複数タイプのスイッチを用いてそのタイプを選択するだけでそのタイプに応じた楽曲を自動作曲することができ、大幅な変更や若干の変更等のメロディ生成時の特性をユーザーが選択できる。
【０００８】
本発明の請求項３の楽曲生成装置は、楽曲の特徴を略規定するパラメータを生成するように指示する複数タイプのパラメータ生成指示手段と、パラメータの種類を選択するパラメータ種類選択手段と、前記パラメータ生成指示手段の指示に応じて、複数種類のパラメータについて該パラメータの値をランダムに生成するパラメータ生成手段であって、パラメータ種類選択手段で選択された種類のパラメータについてのみパラメータの値をランダムに生成するパラメータ生成手段と、該パラメータ生成手段で生成された複数種類のパラメータに基づいて楽曲を生成する楽曲生成手段と、曲の躍動感を選択する躍動感選択手段と、を備え、前記躍動感選択手段で選択された躍動感に基づいて、跳躍の回数を規定する跳躍回数パラメータと、シンコペーションの回数を規定するシンコペーション回数パラメータとのランダム生成の有無を制御するようにしたことを特徴とする。
【０００９】
上記のように構成された請求項３の楽曲生成装置によれば、請求項１と同様な作用効果が得られるとともに、ランダム生成するパラメータの種類を選択できるので、より細かなメロディ生成特性をユーザーが選択することもできる。
【００１０】
本発明の請求項４の記録媒体は、コンピュータで楽曲を生成するための楽曲生成プログラムを記録したコンピュータ読み取り可能な記録媒体であって、楽曲の特徴を略規定するパラメータを生成するように指示する入力処理を行うステップと、曲の躍動感を選択する処理を行うステップと、選択された躍動感に基づいて、跳躍の回数を規定する跳躍回数パラメータと、シンコペーションの回数を規定するシンコペーション回数パラメータとのランダム生成の有無を制御するとともに、前記入力処理の指示に応じて、複数種類のパラメータについて該パラメータの値をランダムに生成するステップと、該生成された複数種類のパラメータに基づいて楽曲を生成するステップと、をコンピュータで実行する楽曲生成プログラムを記録したものであり、この請求項４のコンピュータ読み取り可能な記録媒体に記録された楽曲生成プログラムの実行によれば、請求項１と同様な作用効果が得られる。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明の一実施の形態について説明する。図３は本発明の楽曲生成装置をパーソナルコンピュータとソフトウエアで構成した実施形態のブロック図である。パーソナルコンピュータは、ＣＰＵ１、ＲＯＭ２、ＲＡＭ３、タイマ４、キーボード５、マウス６、ディスプレイ７、音源回路８、効果回路９、サウンドシステム１０、外部記憶装置１１、ＭＩＤＩインターフェース１２、通信インターフェース１３およびバス１４を備えている。なお、音源回路８、効果回路９およびＭＩＤＩインターフェース１２はサウンドカード等により実装されている。
【００１２】
ＣＰＵ１は例えば外部記憶装置１１のハードディスク装置（ＨＤＤ）にインストールされたＯＳ（オペレーティングシステム）によりＲＡＭ３のワーキングエリアを使用して通常の制御を行う。具体的には、例えばディスプレイ７の表示の制御を行い、キーボード５やマウス６の操作に応じたデータを入力し、ディスプレイ７上のマウスポインタ（カーソル）の表示位置の制御やマウス６のクリック操作の検出等を行う。また、音源回路８はＣＰＵ１から入力されるデータ（例えば演奏情報）に応じた楽音信号を発生し、効果回路９で各種効果が付与されてアンプやスピーカ等のサウンドシステム１０で楽音が発生される。
【００１３】
外部記憶装置１１はハードディスク装置（ＨＤＤ）、フロッピィディスク装置（ＦＤＤ）、ＣＤ−ＲＯＭ装置、光磁気ディスク（ＭＯ）装置、デジタル多目的ディスク（ＤＶＤ）装置等であり、例えばこの外部記憶装置１１から本発明の楽曲生成プログラムを供給する。また、外部記憶装置１１は、生成した楽曲の情報を保存するために用いたり、メロディ生成時の基本的な情報となるメロディ生成用データのデータベースとして利用する。また、ＭＩＤＩインターフェース１２は他のＭＩＤＩ機器Ａとの間で各種データの授受を行うものであり、例えば生成したメロディのＭＩＤＩデータを出力して、ＭＩＤＩ機器Ａで演奏することもできる。
【００１４】
さらに、通信インターフェース１３を介して通信ネットワークＢに接続し、サーバコンピュータＣから本発明の楽曲生成プログラムやメロディ生成用データなどの各種データの配信を受けるようにすることもできる。なお、この実施形態では、楽曲生成プログラムおよびメロディ生成用データは外部記憶装置１１のハードディスク装置（ＨＤＤ）に記憶されており、ＣＰＵ１は、このハードディスク装置（ＨＤＤ）の楽曲生成プログラムをＲＡＭ３に展開し、このＲＡＭ３のプログラムに基づいて楽曲の自動生成の動作を制御する。
【００１５】
図１は実施形態における楽曲生成の流れを説明する概念図である。「メロディ生成用データ」とは、コード進行の情報、楽節構成を示す情報、各楽節における開始音と終了音の情報等で構成されており、これらの情報は曲のスタイル（ロック、ポップス、ジャズ等）などに応じてテンプレートとしてデータベース外部記憶装置１１に記憶されている。そして、このメロディ生成用データがユーザーが選択したスタイルに応じてデータベースから読み出されてＲＡＭ３にロードされる。なお、メロディ生成用データは設定したテンポや調あるいは拍子などに応じて読み出すようにしてもよい。
【００１６】
また、「メロディ生成の音楽ルール」とは、例えば“非和声音を和声音に解決させる”とか“旋律的音程（メロディック・インターバル）が増音程あるいは減音程となる跳躍は禁止する”など、音楽的に自然な感じになるようにメロディを規制するための各種のルールであり、これらのルールの情報は外部記憶装置１１から楽曲生成プログラムとともに供給され、ＲＡＭ３に記憶される。なお、このメロディ生成の音楽ルールは、常時すべてのルールを採用するとは限らず、どのようなルールを採用するかは曲のスタイル等に応じて適宜選択的に決められる。
【００１７】
この実施形態では楽曲の特徴を略規定するパラメータとして、１小節内の音符の数を規定する「音符数パラメータ」、跳躍部分（連続する２つの音の音程が３度以上の部分）の音程の最大値を規定する「度数パラメータ」、１小節内での跳躍の回数を規定する「跳躍回数パラメータ」、および、１小節内でのシンコペーションの回数を規定する「シンコペーション回数パラメータ」を用いている。ただし、「跳躍回数パラメータ」と「シンコペーション回数パラメータ」で示される回数だけ跳躍やシンコペーションが含まれるメロディが必ずしも生成されるわけではない。なぜなら、「音符数パラメータ」で規定される音符数以上の跳躍やシンコペーションはありえないからである。したがって、「跳躍回数パラメータ」と「シンコペーション回数パラメータ」は、跳躍回数とシンコペーション回数の最大値とも言える。
【００１８】
音符数パラメータは音符数条件で決まるランダム特性に応じて生成され、度数パラメータと跳躍回数パラメータは跳躍条件で決まるランダム特性に応じて生成される。また、シンコペーション回数パラメータはシンコペーション条件で決まるランダム特性で生成される。
【００１９】
なお、この実施形態では、音符数条件、跳躍条件、シンコペーション条件に対応するランダム特性とは、その条件に対応する各パラメータをランダムに生成するとき、パラメータ値としてランダム生成した数値が取り得る値域を規定することにより決められた特性である。
【００２０】
そして、メロディ生成用データ、音符数条件で生成された音符数パラメータ、跳躍条件で生成された度数パラメータと跳躍回数パラメータ、シンコペーション条件で生成されたシンコペーション回数パラメータ、および、音楽ルールに基づいてメロディが生成される。
【００２１】
メロディ生成用データ、音符数パラメータ、度数パラメータ、跳躍回数パラメータ、および、シンコペーション回数パラメータは、それぞれ個別に設定することもできるが、後述説明する操作スイッチ（マウスで操作する画面スイッチ）の操作に応じて、音符数条件、跳躍条件およびシンコペーション条件のランダム特性（ランダム選択するときの値域）を一括コントロールすることができる。これにより、音符数パラメータ、度数パラメータ、跳躍回数パラメータおよびシンコペーション回数パラメータが、操作スイッチの操作（一括コントロール）に応じたランダム特性に従ってそれぞれ生成される。なお、メロディ生成用データも、操作スイッチの操作に応じて新たなメロディ生成用データを使用するか否かがコントロールされる。
【００２２】
図２はパラメータを一括コントロールする時の一括操作ウインドウの一例を示す図であり、この一括操作ウインドウには、マウス６の操作で移動するマウスポインタＰおよびマウスのクリックにより操作される各種画面スイッチが表示される。すなわち、パラメータ生成指示手段としてのメロディ生成スイッチの変化幅小スイッチＳＷ１および変化幅大スイッチＳＷ２、生成する曲のスタイルを指示するスタイルスイッチＳＷ３、曲のテンポを設定するテンポスイッチＳＷ４、曲の躍動感を選択する躍動感１スイッチＳＷ５、躍動感２スイッチＳＷ６、躍動感３スイッチＳＷ７が表示される。
【００２３】
また、生成した曲のデータを保存するときに操作する保存スイッチＳＷ８、パラメータを個別に設定する個別操作ウインドウに切り替えるときに操作する個別スイッチＳＷ９、および、処理を終了するときに操作する終了スイッチＳＷ１０が表示される。各スイッチＳＷ１、ＳＷ２、ＳＷ３、ＳＷ５、ＳＷ６、ＳＷ７、ＳＷ８、ＳＷ９およびＳＷ１０は、その上にマウスポインタＰを移動してマウス６をクリックすることでスイッチがオンとなる。また、テンポ設定スイッチＳＷ４はマウスポインタＰで上下にドラッグすることによりテンポが設定される。
【００２４】
図８は個別操作ウインドウの一例を示す図である。個別操作ウインドウには、メロディ生成用データをテンプレートから選択するスイッチ、選択したメロディ生成用データの楽節構成と楽節における開始音と終了音で決まる「ピッチカーブ」を変形するスイッチ、選択したメロディ生成用データのコード進行を変形するスイッチ等のスイッチ群ＳＧ１が表示され、メロディ生成用データを作成するためにピッチカーブを生成するスイッチやコード進行を生成するスイッチ、曲の調性を指定するスイッチやスタイルを指定するスイッチを含むスイッチ群ＳＧ２が表示される。また、この例では、第１楽節〜第４楽節毎に、音符数、跳躍の度数、跳躍の回数、シンコペーションの回数、およびその他のパラメータを小節毎に設定するためのスイッチからなるスイッチ群ＳＧ３、ＳＧ４、ＳＧ５、ＳＧ６が表示される。そして、この個別操作ウインドウ上でのスイッチの操作により各種パラメータを個別に設定することができる。また、この個別操作ウインドウを閉じるときに操作する閉じるスイッチＳＷ１１が表示され、この閉じるスイッチＳＷ１１の操作で一括操作ウインドウに戻る。
【００２５】
次に、実施形態における一括コントロール時のスイッチ操作と、このスイッチ操作に対応する音符数条件、跳躍条件およびシンコペーション条件の例を次表１に示す。
【００２６】
【表１】
0003799843.tif 000002
【００２７】
メロディ生成スイッチの変化幅小スイッチＳＷ１および変化幅大スイッチＳＷ２は、パラメータの生成を指示する役割の他に、新たに生成するメロディが、前回生成したメロディからどの程度変化するかを示す生成の変化幅の大小を決める役割もしており、変化幅小スイッチＳＷ１を操作したときは変化幅が小さくなる傾向になり、変化幅大スイッチＳＷ２を操作したときは変化幅が大きくなる傾向となる。
【００２８】
すなわち、表の１段目に示したように、変化幅小スイッチＳＷ１の操作で「生成の変化幅」の「小」が指定された時には、音符数条件は２〜４で、この２〜４の範囲内でランダムに生成した値（個数）が音符数パラメータとる。また、跳躍条件（度数）は３〜４で、この３〜４の範囲内でランダムに生成した値（度数）が度数パラメータとなり、跳躍条件（回数）は０〜２で、この０〜２の範囲内でランダムに生成した値（回数）が跳躍回数パラメータとなる。また、シンコペーション条件は０〜１で、この０〜１の範囲内でランダムに生成した値（回数）がシンコペーション回数パラメータとなる。なお、メロディ生成用データについては新たなデータのロードは無し（「無」）とする。すなわち、今回使用するメロディ生成用データは、前回使用したメロディ生成用データと同じであるため、生成の変化幅は比較的小さなものとなる。
【００２９】
一方、表の２段目に示したように、変化幅大スイッチＳＷ２の操作で「生成の変化幅」の「大」が指定された時には、音符数条件は２〜８、跳躍条件（度数）は３〜８、跳躍条件（回数）は０〜４、シンコペーション条件は０〜４で、これらの範囲内で、音符数パラメータ、度数パラメータ、跳躍回数パラメータおよびシンコペーション回数パラメータがそれぞれ生成される。また、メロディ生成用データについては新たなデータのロードを有り（「有」）とし、各種パラメータの生成と同時にメロディ生成用データも選択されているスタイルの中からランダムにロードされる。すなわち、今回使用するメロディ生成用データは、前回使用したメロディ生成用データとは異なるものとなるので、生成の変化幅は大きくなる。
【００３０】
躍動感は生成するメロディの変化の頻度等に係わるもので、躍動感１スイッチＳＷ５が操作されると小さな躍動感（表の３段目の「１」）が、躍動感２スイッチＳＷ６が操作されると中程度の躍動感（表の４段目の「２」）が、躍動感３スイッチＳＷ７が操作されると大きな躍動感（表の５段目の「３」）がそれぞれ選択される。「躍動感」の「１」では跳躍条件とシンコペーション条件はいずれも無しで、音符数パラメータだけが生成され、「躍動感」の「２」ではシンコペーション条件は無しで、音符数パラメータ、度数パラメータおよび跳躍回数パラメータが生成される。また、「躍動感」の「３」では跳躍条件もシンコペーション条件も有りで、前記のように音符数パラメータ、度数パラメータ、跳躍回数パラメータおよびシンコペーション回数パラメータがそれぞれ生成される。
【００３１】
図４〜図７はＣＰＵ１が実行する楽曲生成プログラムのフローチャートであり、各フローチャートに基づいてＣＰＵ１の制御動作について説明する。図４のメインフローの処理は図示しないメイン画面で一括コントロールの処理が指定されたときに起動され、ステップＳ１で、図２に示した一括操作ウィンドウを開く処理、躍動感、スタイル、テンポ、選択されているスタイルのメロディ生成用データ、前記各種パラメータ等のデフォルト値の設定など、初期設定を行う。
【００３２】
次に、ステップＳ２で、変化幅大スイッチＳＷ２がオンであるか否かを判定し、オンでなければステップＳ３に進み、オンであれば、ステップＳ４で、選択されているスタイルのメロディ生成用データのうちの何れかをランダムにロードし、ステップＳ５に進む。ステップＳ３では、変化幅小スイッチＳＷ１がオンであるか否かを判定し、オンでなければステップＳ１２に進み、オンであればステップＳ５に進む。
【００３３】
ステップＳ５では図５の１小節内音符数処理を行い、次に、ステップＳ６で「躍動感」は“２”（躍動感２スイッチＳＷ６がオン）または“３”（躍動感３スイッチＳＷ７がオン）であるか否かを判定し、いずれでもなければステップＳ１０に進み、「躍動感」が“２”または“３”であれば、ステップＳ７で図６の音の跳躍処理を行ってステップＳ８に進む。ステップＳ８では「躍動感」は“３”であるか否かを判定し、「躍動感」が“３”でなければステップＳ１０に進み、「躍動感」が“３”であればステップＳ９で図７のシンコペーション処理を行ってステップＳ１０に進む。
【００３４】
ステップＳ１０では、メロディ生成用データと、後述の１小節内音符数処理（ステップＳ５）、音の跳躍処理（ステップＳ７）およびシンコペーション処理（ステップＳ９）で生成した各パラメータに基づいてメロディを生成する。なお、変更のないパラメータは前回のパラメータを用いる。そして、ステップＳ１１で設定されているテンポにてメロディを再生してステップＳ２に戻る。
【００３５】
以上の処理により、変化幅大スイッチＳＷ２がオンまたは変化幅小スイッチＳＷ１がオンとなることによりパラメータが生成される。また、変化幅小スイッチＳＷ１がオンの場合はステップＳ４を通らないことにより、それまでに設定されているメロディ生成用データ（デフォルトも含む）に基づいてメロディが生成され、変化幅大スイッチＳＷ２がオンの場合はステップＳ４で新たにメロディ生成用データをロードして、この新たなメロディ生成用データに基づいてメロディが生成される。さらに、「躍動感」の値に応じてステップＳ７およびステップＳ８が選択的に処理されるので、「躍動感」に応じたパラメータが生成される。
【００３６】
ステップＳ３で、変化幅小スイッチＳＷ１がオンでない場合（変化幅大スイッチＳＷ２もオンでない場合）は、ステップＳ１２で個別スイッチＳＷ９がオンであるか否かを判定し、オンでなければステップＳ１４に進み、オンであれば、ステップＳ１３で個別操作ウインドウを開いてステップＳ１４に進む。ステップＳ１４では、閉じるスイッチＳＷ１１がオンであるか否かを判定し、オンでなければステップＳ１６に進み、オンであれば、ステップＳ１５で個別操作ウインドウを閉じてステップＳ１６に進む。ステップＳ１６では、その他のスイッチがオンであるか否かを判定し、オンでなければステップＳ１８に進み、オンであれば、ステップＳ１７で、操作されたスイッチに応じた処理を行う。そして、ステップＳ１８で終了スイッチＳＷ１０がオンであるか否かを判定し、オンでなければステップＳ２に戻り、オンであれば処理を終了する。
【００３７】
なお、ステップＳ１７のその他のスイッチの処理としては、躍動感１スイッチＳＷ５、躍動感２スイッチＳＷ６、躍動感３スイッチＳＷ７のオンにより「躍動感」の「１」または「２」または「３」として記憶する処理、スタイルスイッチＳＷ３の操作に応じたスタイルを選択する処理、テンポスイッチＳＷ４の操作に応じてテンポを変更する処理、個別操作ウインドウにおける個別操作の設定処理、保存スイッチＳＷ８の操作に応じたデータのセーブ処理などがある。
【００３８】
次に、図５〜図７の処理でパラメータを生成する処理について説明する。図５の１小節内音符数処理では、ステップＳ２１で小節数をカウントするレジスタＭの値に“１”をセットするとともに、ステップＳ２７での判定処理とステップＳ２８でのレジスタＭの内容のインクリメントにより、ステップＳ２２〜Ｓ２６の処理を小節毎に繰り返す。ステップＳ２２では、０〜１０の整数の中から整数のランダム数値（以下、同様とする。）を発生し、ステップＳ２３で「生成の変化幅」が「小」に指定されているか否かを判定し、「小」であればステップＳ２４に進み、「小」でなければ（「大」に指定されている場合。以下同様。）ステップＳ２５に進む。
【００３９】
ステップＳ２４ではランダム数値が２〜４の何れかの値であるか否かを判定し、２〜４のいずれの値でもなければステップＳ２２に戻る。２〜４のいずれかの値であれば、ステップＳ２６でランダム数値を現在の小節（第Ｍ小節（ＭはレジスタＭの内容も示す。）の１小節内音符数として採用する。すなわちそのランダム数値がその小節の音符数パラメータとなる。また、ステップＳ２５では、ランダム数値が２〜８の何れかの値であるか否かを判定し、２〜８のいずれの値でもなければステップＳ２２に戻り、２〜８のいずれかの値であれば、上記同様にステップＳ２６でランダム数値を現在の小節の１小節内音符数（音符数パラメータ）として採用し、ステップＳ２７に進む。
【００４０】
ステップＳ２７ではレジスタＭの内容は最終小節を示しているか否かを判定し、最終小節でなければ、ステップＳ２８でレジスタＭの内容をインクリメントしてステップＳ２２に戻り、最終小節であれば元のルーチンに復帰する。
【００４１】
以上の１小節内音符数処理により、「生成変化幅」が「小」に指定されているか「大」に指定されているかに応じて、「ランダム数値が２〜４の範囲に有るか」または「ランダム数値が２〜８の範囲に有るか」という異なるランダム特性に基づいて、音符数パラメータが各小節毎に生成される。
【００４２】
図６の音の跳躍処理では、ステップＳ３１でのレジスタＭへの“１”のセット、ステップＳ３０３での判定処理およびステップＳ３０４でのインクリメントによりステップＳ３２〜Ｓ３０２の処理を小節毎に繰り返す。ステップＳ３２ではランダム数値を発生し、ステップＳ３３で「生成の変化幅」が「小」に指定されているか否かを判定し、「小」であればステップＳ３４に進み、「小」でなければステップＳ３５に進む。
【００４３】
ステップＳ３４ではランダム数値が３〜４の何れかの値であるか否かを判定し、３〜４のいずれの値でもなければステップＳ３２に戻る。３〜４のいずれかの値であれば、ステップＳ３６でランダム数値を現在の小節（第Ｍ小節）の跳躍度数として採用する。すなわちそのランダム数値がその小節の度数パラメータとなる。また、ステップＳ３５では、ランダム数値が３〜８の何れかの値であるか否かを判定し、３〜８のいずれの値でもなければステップＳ３２に戻り、３〜８のいずれかの値であれば、上記同様にステップＳ３６でランダム数値を現在の小節の跳躍度数（度数パラメータ）として採用し、ステップＳ３７に進む。
【００４４】
ステップＳ３７ではランダム数値を発生し、ステップＳ３８で「生成の変化幅」が「小」に指定されているか否かを判定し、「小」であればステップＳ３９に進み、「小」でなければステップＳ３０１に進む。ステップＳ３９ではランダム数値が０〜２の何れかの値であるか否かを判定し、０〜２のいずれの値でもなければステップＳ３７に戻る。０〜２のいずれかの値であれば、ステップＳ３０２でランダム数値を現在の小節（第Ｍ小節）の１小節内の跳躍回数として採用する。すなわちそのランダム数値がその小節の跳躍回数パラメータとなる。また、ステップＳ３０１では、ランダム数値が０〜４の何れかの値であるか否かを判定し、０〜４のいずれの値でもなければステップＳ３７に戻り、０〜４のいずれかの値であれば、上記同様にステップＳ３０２でランダム数値を現在の小節の跳躍回数（跳躍回数パラメータ）として採用し、ステップＳ３０３に進む。
【００４５】
ステップＳ３０３ではレジスタＭの内容が最終小節を示しているか否かを判定し、最終小節でなければ、ステップＳ３０４でレジスタＭの内容をインクリメントしてステップＳ３２に戻り、最終小節であれば元のルーチンに復帰する。
【００４６】
以上の音の跳躍処理により、「生成変化幅」が「小」に指定されているか「大」に指定されているかに応じて、「ランダム数値が３〜８の範囲に有るか」または「ランダム数値が３〜８の範囲に有るか」という異なるランダム特性に基づいて度数パラメータが各小節毎に生成される。また、「ランダム数値が０〜２の範囲に有るか」または「ランダム数値が０〜４の範囲に有るか」という異なるランダム特性に基づいて跳躍回数パラメータが各小節毎に生成される。
【００４７】
図７のシンコペーション処理では、ステップＳ４１でのレジスタＭへの“１”のセット、ステップＳ４７での判定処理およびステップＳ４８でのインクリメントによりステップＳ４２〜Ｓ４６の処理を小節毎に繰り返す。ステップＳ４２ではランダム数値を発生し、ステップＳ４３で「生成の変化幅」が「小」に指定されているか否かを判定し、「小」であればステップＳ４４に進み、「小」でなければステップＳ４５に進む。
【００４８】
ステップＳ４４ではランダム数値が０〜１の何れかの値であるか否かを判定し、０〜１のいずれの値でもなければステップＳ４２に戻る。０〜１のいずれかの値であれば、ステップＳ４６でランダム数値を現在の小節（第Ｍ小節）の１小節内でのシンコペーションの回数として採用する。すなわちそのランダム数値がその小節のシンコペーション回数パラメータとなる。また、ステップＳ４５では、ランダム数値が０〜４の何れかの値であるか否かを判定し、０〜４のいずれの値でもなければステップＳ４２に戻り、０〜４のいずれかの値であれば、上記同様にステップＳ４６でランダム数値を現在の小節の１小節内のシンコペーションの回数（シンコペーション回数パラメータ）として採用し、ステップＳ４７に進む。
【００４９】
ステップＳ４７ではレジスタＭの内容は最終小節を示しているか否かを判定し、最終小節でなければ、ステップＳ４８でレジスタＭの内容をインクリメントしてステップＳ４２に戻り、最終小節であれば元のルーチンに復帰する。
【００５０】
以上のシンコペーション処理により、「生成変化幅」が「小」に指定されているか「大」に指定されているかに応じて、「ランダム数値が０〜１の範囲に有るか」または「ランダム数値が０〜４の範囲に有るか」という異なるランダム特性に基づいて、シンコペーション回数パラメータが各小節毎に生成される。
【００５１】
以上のように、メロディ生成スイッチの変化幅小スイッチＳＷ１と変化幅大スイッチＳＷ２のような２つのタイプのスイッチなど、複数タイプのパラメータ生成指示手段のタイプに応じて異なるランダム特性（パラメータ値の取り得る値域）により、パラメータ値がランダム生成されるので、タイプを選択するだけでそのタイプに応じた楽曲を自動作曲することができる。
【００５２】
また、実施形態では躍動感１スイッチＳＷ５、躍動感２スイッチＳＷ６、躍動感３スイッチＳＷ７の３つのスイッチにより、跳躍の度数パラメータ、跳躍回数パラメータおよびシンコペーション回数パラメータのうち、ランダム生成するパラメータの種類（実施形態では組合せ）を選択できる（表１参照）。また、図４のステップＳ１０の処理では、変更のないパラメータは前回のパラメータを用いてメロディ生成するようにしている。したがって、選択しなかった種類のパラメータを既存のパラメータとするとともにこれと共にランダム生成したパラメータに応じた楽曲の自動作曲を行うことができ、自動作曲の自由度も増す。なお、実施形態では躍動感（１、２、３）を指定することでパラメータの種類を間接的に選択するようにしているが、一括コントロールでパラメータを生成するとき、パラメータの種類を選択して、ランダム生成するパラメータと生成しないパラメータを選択できるようにしてもよい。
【００５３】
生成したメロディの演奏データのフォーマットは、演奏イベントの発生時刻を１つ前のイベントからの時間（クロック数で示すタイミング）で表した「イベント＋相対時間」という形式、演奏イベントの発生時刻を曲や小節内における絶対時間で表した「イベント＋絶対時間」という形式、音符の音高と符長あるいは休符と休符長で演奏データを表した「音高（休符）＋符長」という形式、あるいは演奏の最小分解能毎（実施形態のクロック）にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域の演奏イベントを記憶したいわゆる「ベタ方式」の形式など、どのような形式でもよい。
【００５４】
実施形態では、メロディ生成スイッチ（変化幅小スイッチ、変化幅大スイッチ）の操作によって、一括パラメータ生成を行うとともに生成したパラメータでメロディ生成を行うようにしているが、例えば、「変化幅大」、「変化幅小」のスイッチで一括パラメータ生成を行い、別途設けた「メロディ生成」のスイッチでメロディ生成を実行するなど、一括パラメータ生成とメロディ生成を別の操作で指示するようにしてもよい。
【００５５】
また、実施形態ではメロディ生成の変化幅を「大」、「小」の２段階にしたが、３段以上の多くの段数を指定するものでもよく、さらに、スライダスイッチ等の指定に応じた実質的に無段階（連続的）なものでもよい。
【００５６】
モチーフメロディあるいはモチーフリズムを入力して、これを発展させてメロディ生成用データを生成したり、分析して特徴を抽出してその特徴を基にメロディ生成用データを選択するようなメロディ生成方式にも適用できる。この場合、モチーフの反映度などのオプションを設定し、反映度をユーザーが変更できるようにしてもよい。そして、本発明によって生成したパラメータと入力されたモチーフメロディやそれを用いたメロディ生成用データからメロディを生成すればよい。
【００５７】
実施形態のようにメロディ生成用データをデーターベースに予め記憶しておくものに限らず、メロディ生成用データを演算によって生成する方式にも適用できる。この場合、メロディ生成用データを生成するときの演算パラメータの生成に本発明のようにランダム生成を行うこともできる。
【００５８】
パラメータ値をランダム生成した後、個別操作画面にて一部のパラメータ値を修正するようにしてもよい。また一括操作画面にて生成したパラメータ値を個別操作画面に表示するようにし、実際にどのようなパラメータ値が生成されたのかをユーザーが確認できるようにしてもよい。
【００５９】
実施形態では、メロディを生成する場合について説明したが、本発明はメロディに限らずリズムや伴奏などの楽曲を生成する場合にも適用できる。
【００６０】
また、ランダム生成するパラメータは実施形態のものに限らず、他のパラメータでもよい。
【００６１】
また、以上の実施形態はパーソナルコンピュータとソフトウエアで構成したものであるが、本発明を電子楽器に適用することもできる。また、音源装置、シーケンサ、エフェクタなどそれぞれが別体の装置であって、ＭＩＤＩあるいは各種ネットワーク等の通信手段を用いて各装置を接続するようなものであってもよい。
【００６２】
【発明の効果】
以上説明したように、本発明の請求項１の楽曲生成装置または請求項４のコンピュータ読み取り可能な記録媒体に記録された楽曲生成プログラムの実行によれば、パラメータの生成を指示するだけで略規定するパラメータを一括して生成できるので、パラメータの設定の手間を省くことができ、簡単に自動作曲を行える。
【００６３】
本発明の請求項２の楽曲生成装置によれば、請求項１と同様な作用効果が得られるとともに、パラメータ生成指示手段として例えば複数種類のスイッチなど複数タイプのスイッチを用いてそのタイプを選択するだけでそのタイプに応じた楽曲を自動作曲することができ、大幅な変更や若干の変更等のメロディ生成時の特性をユーザーが選択できる。
【００６４】
本発明の請求項３の楽曲生成装置によれば、請求項１と同様な作用効果が得られるとともに、ランダム生成するパラメータの種類を選択できるので、より細かなメロディ生成特性をユーザーが選択することもできる。
【図面の簡単な説明】
【図１】本発明の実施形態における楽曲生成の流れを説明する概念図である。
【図２】実施形態における一括操作ウインドウの一例を示す図である。
【図３】実施形態のブロック図である。
【図４】実施形態におけるメインルーチンのフローチャートである。
【図５】実施形態における１小節内音符数処理のフローチャートである。
【図６】実施形態における音の跳躍処理のフローチャートである。
【図７】実施形態におけるシンコペーション処理のフローチャートである。
【図８】実施形態における個別操作ウインドウの一例を示す図である。
【符号の説明】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、６…マウス、７…ディスプレイ、１１…外部記憶装置、１２…ＭＩＤＩインターフェース、１３…通信インターフェース、ＳＷ１…変化幅小スイッチ、ＳＷ２…変化幅大スイッチ。
【図１】
0003799843.tif 000003
【図２】
0003799843.tif 000004
【図３】
0003799843.tif 000005
【図４】
0003799843.tif 000006
【図５】
0003799843.tif 000007
【図６】
0003799843.tif 000008
【図７】
0003799843.tif 000009
【図８】
0003799843.tif 000010