(57)【特許請求の範囲】
【請求項１】
メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、
音域の幅を定める音域設定手段と、
前記ピッチパターンを音階方向に伸長または圧縮させ、前記音域設定手段によって定められた音域の幅に収まるピッチパターンを求めるピッチパターン変形手段と
を具備し、この伸長または圧縮されたピッチパターンを用いてメロディを生成することを特徴とする自動メロディ生成装置。
【請求項２】
メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、
前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定手段と、
前記ピッチパターン記憶手段に記憶されたピッチパターンと、このピッチパターンの前記所定範囲における先頭のピッチおよび最後のピッチを結んだ直線との音高差を、前記終端ピッチ決定手段が決定した先頭のピッチおよび最後のピッチを結んだ直線に加算することによって、新たなピッチパターンを求めるピッチパターン変形手段と、
このピッチパターン変形手段が求めたピッチパターンを用いてメロディを生成するメロディ生成手段と
を具備することを特徴とする自動メロディ生成装置。
【請求項３】
メロディ内の打点位置を示す打点情報を記憶する打点情報記憶手段を具備し、
前記メロディ生成手段は、前記ピッチパターンに基づいて、この記憶された打点情報が示す打点位置に対応する音高を得る音高計算手段を具備する
ことを特徴とする請求項２記載の自動メロディ生成装置。
【請求項４】
メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、
前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定手段と、
この終端ピッチ決定手段で決定された内容に従って、前記ピッチパターンを変形するピッチパターン変形手段と、
この変形されたピッチパターンを用いてメロディを生成するメロディ生成手段と
を具備し、前記メロディ生成手段は、
前記メロディの打点位置を決定する打点決定手段と、
前記ピッチパターンに基づいて、この決定された打点位置に対応する音高を得る音高計算手段と、
前記音高計算手段によって得られた音高を音階上の音に修正する音高修正手段と
を具備することを特徴とする自動メロディ生成装置。
【請求項５】
生成されたメロディに対して評価を行い、この評価結果に基づいて前記メロディのリズムあるいはピッチに対して修正を行うメロディ修正手段を具備することを特徴とする請求項１乃至４の何れかに記載の自動メロディ生成装置。
【請求項６】
コンピュータに、
メロディ内の相対的音高差を規定するピッチパターンを記憶手段から読み出す読出処理と、
音域の幅を定める音域設定処理と、
前記読出処理にて読み出したピッチパターンを音階方向に伸長または圧縮させ、前記音域設定手段によって定められた音域の幅に収まるピッチパターンを求めるピッチパターン変形処理と、
この伸長または圧縮されたピッチパターンを用いてメロディを生成するメロディ生成処理と
を実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項７】
コンピュータに、
メロディ内の相対的音高差を規定するピッチパターンを記憶手段から読み出す読出処理と、
前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定処理と、
前記読出処理にて読み出したピッチパターンと、このピッチパターンの前記所定範囲における先頭のピッチおよび最後のピッチを結んだ直線との音高差を、前記終端ピッチ決定処理にて決定した先頭のピッチおよび最後のピッチを結んだ直線に加算することによって、新たなピッチパターンを求めるピッチパターン変形処理と、
このピッチパターン変形処理にて求めたピッチパターンを用いてメロディを生成するメロディ生成処理と
を実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、自動作曲に用いて好適な自動メロディ生成装置および記録媒体に関し、特に歌詞に応じたメロディを作成するために用いて好適な自動メロディ生成装置および記録媒体に関する。
【０００２】
【従来の技術】
歌詞付きの楽曲を作詞・作曲する手順としては、作曲を先に行い曲に合わせて作詞を行う場合と、作詞を先に行い歌詞に合わせて作曲を行う場合とがある。特に曲（メロディ）を重視すべき場合は前者の手順が採られ、歌詞を重視すべき場合は後者の手順が採られる。また、作曲者の負担を軽減するために、自動作曲を行うための種々の自動メロディ生成装置が提案されている。これらの自動メロディ生成装置にあっては、ユーザの指定した種々の条件（例えば和音条件）に応じてメロディが生成される。
【０００３】
【発明が解決しようとする課題】
しかし、従来の自動メロディ生成装置においては、メロディの生成に際して歌詞のことは全く考慮されていなかった。このため、先に作成された歌詞に対応したメロディを生成しようとする場合、自動生成されたメロディを大幅に変更する必要が生じ、きわめて繁雑かつ不便であった。
【０００４】
この発明は上述した事情に鑑みてなされたものであり、歌詞に応じて生成されたメロディに対して各種の修正を自動的に行うことができる自動メロディ生成装置および記録媒体を提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記課題を解決するため請求項１記載の構成にあっては、メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、音域の幅を定める音域設定手段と、前記ピッチパターンを音階方向に伸長または圧縮させ、前記音域設定手段によって定められた音域の幅に収まるピッチパターンを求めるピッチパターン変形手段とを具備し、この伸長または圧縮されたピッチパターンを用いてメロディを生成することを特徴とする。
【０００６】
また、請求項２記載の構成にあっては、メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定手段と、前記ピッチパターン記憶手段に記憶されたピッチパターンと、このピッチパターンの前記所定範囲における先頭のピッチおよび最後のピッチを結んだ直線との音高差を、前記終端ピッチ決定手段が決定した先頭のピッチおよび最後のピッチを結んだ直線に加算することによって、新たなピッチパターンを求めるピッチパターン変形手段と、このピッチパターン変形手段が求めたピッチパターンを用いてメロディを生成するメロディ生成手段とを具備することを特徴とする。
【０００７】
さらに、請求項３記載の構成にあっては、請求項２記載の自動メロディ生成装置において、メロディ内の打点位置を示す打点情報を記憶する打点情報記憶手段を具備し、前記メロディ生成手段は、前記ピッチパターンに基づいて、この記憶された打点情報が示す打点位置に対応する音高を得る音高計算手段を具備することを特徴とする。
【０００８】
また、請求項４記載の構成にあっては、メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定手段と、この終端ピッチ決定手段で決定された内容に従って、前記ピッチパターンを変形するピッチパターン変形手段と、この変形されたピッチパターンを用いてメロディを生成するメロディ生成手段とを具備し、前記メロディ生成手段は、前記メロディの打点位置を決定する打点決定手段と、前記ピッチパターンに基づいて、この決定された打点位置に対応する音高を得る音高計算手段と、前記音高計算手段によって得られた音高を音階上の音に修正する音高修正手段とを具備することを特徴とする。
【０００９】
さらに、請求項５記載の構成にあっては、請求項１乃至４の何れかに記載の自動メロディ生成装置において、生成されたメロデイに対して評価を行い、この評価結果に基づいて前記メロディのリズムあるいはピッチに対して適宜修正を行うメロディ修正手段を具備することを特徴とする。
【００１０】
また、請求項６記載のコンピュータ読み取り可能な記録媒体は、コンピュータに、メロディ内の相対的音高差を規定するピッチパターンを記憶手段から読み出す読出処理と、音域の幅を定める音域設定処理と、前記読出処理にて読み出したピッチパターンを音階方向に伸長または圧縮させ、前記音域設定手段によって定められた音域の幅に収まるピッチパターンを求めるピッチパターン変形処理と、この伸長または圧縮されたピッチパターンを用いてメロディを生成するメロディ生成処理とを実行させるプログラムを記録したことを特徴とする。
【００１１】
さらに、請求項７記載のコンピュータ読み取り可能な記録媒体は、コンピュータに、メロディ内の相対的音高差を規定するピッチパターンを記憶手段から読み出す読出処理と、前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定処理と、前記読出処理にて読み出したピッチパターンと、このピッチパターンの前記所定範囲における先頭のピッチおよび最後のピッチを結んだ直線との音高差を、前記終端ピッチ決定処理にて決定した先頭のピッチおよび最後のピッチを結んだ直線に加算することによって、新たなピッチパターンを求めるピッチパターン変形処理と、このピッチパターン変形処理にて求めたピッチパターンを用いてメロディを生成するメロディ生成処理とを実行させるプログラムを記録したことを特徴とする。
【００１２】
【発明の実施の形態】
１．実施形態の構成
以下、図面を参照してこの発明の一実施形態の自動メロディ生成システムについて説明する。
本実施形態のハードウエアは汎用パーソナルコンピュータによって実現され、ソフトウエア部分は当該汎用パーソナルコンピュータのアプリケーションソフトウエアの一つとして実現される。まず、図１を参照しハードウエア構成について説明する。なお、ソフトウエア構成については動作とともに説明する。
【００１３】
図１において１はＣＰＵであり、後述する処理プログラムに基づいて他の構成要素を制御する。２はＲＡＭ、３はＲＯＭであり、バス６を介してＣＰＵ１によってアクセスされる。ＲＯＭ３にはイニシャルプログラムローダ等が記憶されている。４はハードディスクドライバであり、その内部には、オペレーティングシステム、アプリケーションソフトウエア、あるいは各種のデータを記憶したハードディスクが設けられている。
【００１４】
これらのプログラムおよびデータは、必要に応じてＲＡＭ２上に展開される。本実施形態の自動メロディ生成システムについても、そのソフトウエア部分（動作プログラムや各種データ）は、アプリケーションソフトウエアの一つとしてハードディスクドライバ４内のハードディスクにインストールされている。このように、ハードディスクにソフトウエアをインストールしておくことにより、動作プログラムの追加やバージョンアップを容易に行うことができる。
【００１５】
５はディスプレイであり、ＣＰＵ１の制御の下、各種の情報を表示する。７はキーボード、８はマウスであり、ユーザの操作の下、ＣＰＵ１に対して各種の指令を入力可能になっている。９は音源ボードであり、ＣＰＵ１から供給された演奏情報に基づいて楽音信号を合成する。１０はサウンドシステムであり、合成された楽音信号を発音する。
【００１６】
２． 実施形態の動作
２．１ 曲テンプレートの登録
本実施形態に係る自動メロディ生成システムは、歌詞やその他の音楽条件に応じて「曲テンプレート」なるものを選択し、この曲テンプレートに基づいてメロディを自動的に生成するものである。ここで、曲テンプレートのデータ構造を図４を参照し説明しておく。曲テンプレートの先頭アドレス（アドレス「０」）には、拍子（４／４，３／４等）が記憶される。
【００１７】
次に、アドレス「１」には楽曲のジャンル（例えば８ビート）が記憶される。アドレス「２」には、メロディック／リズミックの区別が記憶される。「メロディック」とは、流れるようなメロディの意味であり、リズミックとは、きざむようなメロディの意味である。そして、アドレス「３」にはテンポ、アドレス「４」には音域の幅（最高音と最低音との差）、アドレス「５」には楽節数が各々記憶される。
【００１８】
次に、アドレス「６」〜「６＋楽節数×２」（図示の例ではアドレス「２２」）の領域には、各楽節の形式記号が記憶される。形式記号は、アルファベットの大文字１文字、またはアルファベットの大文字１文字とダッシュ記号（「’」，「”」等）との組み合わせである。アルファベットの異なる楽節（例えばＡとＢ）は、全く異なる楽節であることを示す。一方、アルファベットが同一でダッシュの有無またはダッシュ記号が相違する楽節（例えばＡ，Ａ’およびＡ”）は、似てはいるが若干異なる楽節を示す。
【００１９】
そして、次のアドレスより「楽節数×２」バイトの領域（図示の例ではアドレス「２３」〜「３９」）には、各楽節内のフレーズ数が記憶される。図示の例では全ての楽節についてフレーズ数は「２」になっている。これにより、曲テンプレート全体のフレーズ数は「１６」になる。次のアドレスより「全フレーズ数×２」バイトの領域（同、アドレス「４０」〜「７２」）には、各フレーズにおける小節数が記憶される。図示の例では、全てのフレーズにおいて小節数は「２」になっている。
【００２０】
また、次のアドレスより「楽節数×２」バイトの領域（同、アドレス「７３」〜「８９」）には、各楽節における小節数（同、全て「４」）が記憶される。なお、図４には特に表示されていないが、アドレス「９０」以降には、当該曲テンプレートに係るメロディ・データが記憶される。メロディ・データは、「１」小節を「４８」ステップに分割し、各楽音の音高を発生タイミング（ステップ番号）に対応させて記憶させたものである。
【００２１】
具体的には、「１」小節あたり「４８」ステップに対応して「４８」バイトの記憶領域が確保され、発音タイミングに対応するアドレスには、音高が記憶されることになる。このように、楽節、フレーズ、小節およびメロディ・データは階層構造を有している。その様子を図５に示しておく。
【００２２】
次に、曲テンプレートを実際に登録する動作について説明する。まず、自動メロディ生成システムのソフトウエアを立ちあげると、ディスプレイ５に図４６に示すようなウィンドウが表示される。このウインドウのメニューバー１０１において「ファイル(F)」の部分をマウスでクリックすると、図４７に示すように、メニューバー１０１の下方にリストボックス１０２が表示される。次に、ユーザがリストボックス１０２中の「曲テンプレートの作成」の部分をマウスでクリックすると、図２に示すプログラムが呼び出される。
【００２３】
図において処理がステップＳＰ２０１に進むと、図４に示す内容のうち「項目」に係る欄と、「データ」に係る欄とがディスプレイ５に表示される。なお、初期状態においては、「データ」に係る欄には何も表示されていない。そこで、ユーザは、「データ」に係る欄に必要な情報を書き込んでゆくことになる。
【００２４】
何らかのデータが書き込まれると、処理はステップＳＰ２０２に進み、書き込まれたデータがＲＡＭ２およびハードディスクの所定領域に転送される。すなわち、入力されたデータが、新たな曲テンプレートの内容として記憶されることになる。次に、処理がステップＳＰ２０３に進むと、登録終了の指令がユーザによって行われたか否かが判定される。ここで「ＮＯ」と判定されると、処理はステップＳＰ２０１に戻る。
【００２５】
従って、図４の「項目」および「データ」に係る内容が再びディスプレイ５に表示されることになる。但し、既に登録されたデータについては、対応する「データ」欄にその内容が表示される。以下同様にして、ステップＳＰ２０１〜ＳＰ２０３の処理が繰り返されることにより、曲テンプレートの内容が徐々に確定されてゆく。そして、必要な全てのデータが入力された後にユーザが所定の操作を行うと、ステップＳＰ２０３において「ＹＥＳ」と判定され、曲テンプレート登録処理が終了する。
【００２６】
本実施形態の自動メロディ生成システムにあっては、実際の作曲動作を行う前に、このような各種の曲テンプレートが予め多数作成されていなければならない。しかし、ソフトウエアの製造元等が標準的な曲テンプレートをユーザに提供することにより、ほとんどの場合はユーザが曲テンプレートを作成する必要はない。すなわち、一般的なユーザは、標準以外の曲テンプレートを所望する場合にのみ、かかる作業を行うことになる。なお、多数の曲テンプレートは、ハードディスクドライバ４内にハードディスクに記憶される。
【００２７】
２．２  歌詞ファイルの入力
リストボックス１０２（図４７参照）においてユーザが「歌詞の入力」の部分をマウスでクリックすると、テキストエディタが呼び出され、歌詞を入力することが可能になる。ここで、歌詞は楽節毎に区切られ、各楽節はフレーズ毎に区切られる。
【００２８】
本実施形態においては、フレーズの区切りは「改行」、楽節の区切りは「連続した２個の改行」によって指定されることとする。すなわち、一般的なテキストエディタにあっては、楽節の区切りは空行によって表示されることになる。このようにして入力された歌詞をディスプレイ５に表示した例を図６に示す。入力された歌詞は、ユーザの操作の下、歌詞ファイルとしてハードディスクに記憶される。
【００２９】
２．３  スタイル設定
２．３．１  歌詞に基づくスタイルの検出
リストボックス１０２においてユーザが「作曲処理」の部分をマウスでクリックすると、図３に示すプログラムが起動される。図において処理がステップＳＰ３０１に進むと、「歌詞ファイルを指定してください」というメッセージとともに、ファイル指定用の画面が表示される。
【００３０】
この「ファイル指定用の画面」は各種のアプリケーションソフトウエアで用いられているものと同様である。ユーザが歌詞ファイルを指定すると、この歌詞ファイルがハードディスクから読み込まれる。次に、処理がステップＳＰ３０２に進むと、読み込まれた歌詞に基づいて、当該楽曲のスタイルが検出される。
【００３１】
なお、「スタイル」とは、図８に示すように多数の項目から成る楽曲の情報を総称したものである。ステップＳＰ３０２にあっては、これらスタイルのうち、楽節数、各楽節のフレーズ数、および各フレーズの音節数が検出される。
【００３２】
ここで、楽節数は「連続した２個の改行」の数をカウントすることにより求められる。また、各楽節のフレーズ数は、各楽節内の「改行」の数をカウントすることにより求められる。次に、「音節数」は小書き文字（ぁ、ぃ、ぅ、ぇ、ぉ、っ、等）および「ん」以外のかな文字数をカウントして求められる。換言すれば、「いっ」、「ぽん」、「てん」および「ばん」は１個の音節としてカウントされる。
【００３３】
図６に示す例にあっては、楽節数は「４」、各楽節内のフレーズ数は上から順に「２，２，２，２」、そして音節数は上から順に「７，８，７，７，７，７，７，７」になる。このように、読み込まれた歌詞に対するスタイルが確定してゆくと、その内容は図８のメモリマップに従って順次記憶されてゆく。すなわち、図８において矢印を付した部分のスタイルが確定される。また、図７に示すように、歌詞は各楽節およびフレーズに対応して、階層構造で記憶される。
【００３４】
次に、処理がステップＳＰ３０３に進むと、スタイル設定全体画面（図９）がディスプレイ５に表示される。図において２０１〜２０９は拍子、ジャンル等を指定するボタンである。２１０は設定内容表示リストであり、ボタン２０１〜２０６に対応する項目の設定内容が表示される。
【００３５】
次に、２２０は楽曲の楽節、形式記号、歌詞等を表示するワークシート部である。ワークシート部２２０の内部において２２１は楽節番号表示部であり、「１」から始まる楽節番号が表示される。２２２は形式表示部であり、各楽節に対応する形式記号を表示する。２２３は始−終コード表示部であり、各楽節の楽曲始−終コード（先頭コードと終了コードの組）が表示される。２２４はフレーズ番号表示部であり、各楽節内のフレーズに対して、「１」から始まるフレーズ番号を表示する。
【００３６】
２２５は小節数表示部であり、各フレーズの小節数を表示する。２２６は歌詞表示部であり、各フレーズ単位で歌詞を表示する。なお、図９に示す例にあっては、設定内容表示リスト２１０、形式表示部２２２および始−終コード表示部２２３に各種のデータが表示されているが、最初にスタイル設定全体画面（図９）が表示された状態では、歌詞および既に決定されているスタイル（楽節数、フレーズ数、フレーズ内の小節数）以外の内容は空欄になる。
【００３７】
２．３．２  拍子、ジャンル等の設定
以下、これら未決定の内容を決定してゆく処理について、場合を分けて説明する。まず、スタイル設定全体画面においてユーザが拍子設定ボタン２０１をマウスでクリックすると、図１０に示すような拍子選択リストボックス２３１がディスプレイ５に表示される。このボックス内においては、各種の拍子が表示されている。ここで、ユーザが所望の拍子をマウスでクリックすると、当該拍子が選択される。
【００３８】
このように、拍子が選択されると、ディスプレイ５には再び設定内容表示リスト２１０が表示される。その際、設定内容表示リスト２１０には、既に設定された内容が反映される。例えば、拍子選択リストボックス２３１において「４／４」拍子が選択されたのであれば、拍子設定ボタン２０１に対応する欄に「４／４」と表示される。
【００３９】
スタイル設定全体画面（図９）においてユーザがジャンル設定ボタン２０２をマウスでクリックすると、図１１に示すジャンル選択リストボックス２３２がディスプレイ５に表示される。ここで、ユーザが所望のジャンルをマウスでクリックすると、当該ジャンルが選択され、ディスプレイ５に設定内容表示リスト２１０が再び表示される。この場合も、選択されたジャンルが設定内容表示リスト２１０に反映されることは勿論である。
【００４０】
また、メロディック／リズミック設定ボタン２０３、テンポ設定ボタン２０４、音域設定ボタン２０５、あるいは調設定ボタン２０６をユーザがマウスでクリックした場合においても、同様の処理が行われる。すなわち、クリックされたボタンに対応するリストボックス等がディスプレイ５に表示され、ユーザが項目の設定を行うと、その内容を反映した設定内容表示リスト２１０が再表示されるのである。
【００４１】
２．３．３  形式等の設定
スタイル設定全体画面（図９）においてユーザが形式設定ボタン２０７をマウスでクリックすると、図１２に示すように形式選択リストボックス２３７がディスプレイ５に表示される。ここに表示される形式は、先に検出された楽節数（４）に対応する形式であって、予めデフォルトの形式として記憶されていたものである。
【００４２】
次に、ユーザが形式選択リストボックス２３７において所望の形式をマウスでクリックすると、当該形式が選択され、ワークシート部２２０内の形式表示部２２２に表示される。さらに、ユーザは、形式表示部２２２において形式記号を直接入力することができる。すなわち、形式表示部２２２内の所望の欄をマウスでクリックすると、当該欄にキーボードカーソルが表示される。
【００４３】
ここで、ユーザは、キーボード７を介して、所望の英字等を入力するとよい。これにより、ユーザは、デフォルトの形式には存在しない独自の形式を指定することができる。独自の形式を指定するには、各楽節に対応する形式記号をキーボード７から順次入力してもよく、所望のものに近似するデフォルトの形式を編集することによって指定してもよい。
【００４４】
また、スタイル設定全体画面（図９）においてユーザが始−終コード設定ボタン２０８をマウスでクリックすると、図１３に示す始−終コード選択リストボックス２３８がディスプレイ５に表示される。このリストボックス２３８においても、ユーザは所望の楽曲始−終コードをマウスでクリックすることにより選択することができる。
【００４５】
勿論、選択された楽曲始−終コードは、ワークシート部２２０内の始−終コード表示部２２３にも反映される。また、上述した形式記号の場合と同様に、ユーザは始−終コード表示部２２３内の所望の位置をマウスでクリックすることによりキーボードカーソルを表示させ、キーボード７を介して楽曲始−終コードを直接入力することができる。なお、楽曲始−終コードにおいて「＊」マークは、特にコードを指定しないことを表わす。
【００４６】
また、スタイル設定全体画面においてユーザが小節数設定ボタン２０９をマウスでクリックした場合も同様の動作が行われる。かかる場合、「１」フレーズ内の小節数の候補（１，２，３，・・・・）を表示するリストボックスがディスプレイ５に表示される。ここで、ユーザが所望の候補をマウスでクリックすると、これによって全フレーズに対して小節数が設定され、その結果が小節数表示部２２５に反映される。
【００４７】
ここで、一部のフレーズについてのみ小節数を変更する場合は、該当するフレーズに対応する小節数表示部２２５をマウスでクリックし、所望の小節数をキーボード７から入力するとよい。以上の処理により、スタイルの全項目の内容が順次確定されてゆく。ここで、確定されたスタイルを記憶するメモリマップを図１４に示す。同図においては、先に（図８で）確定されていた内容に加えて、未定であった全項目の内容が確定されている。
【００４８】
２．４  曲テンプレートの選択
スタイルが確定された後に、ユーザが所定の操作を行うと、図３において処理はステップＳＰ３０４に進む。ここでは、確定されたスタイルのうち図１５において矢印を付した項目に着目し、これら項目の内容が該スタイルと一致する曲テンプレート（図４参照）が検索される。
【００４９】
なお、これらの項目には、予め優先順位が付与されている。そして、一致する曲テンプレートが存在しなかった場合は、優先順位の低い項目から順次無視して検索が続行される。この優先順位は楽曲における各項目の重要度に応じてユーザが任意に設定するとよい。例えば、一般的な楽曲においては、「ジャンル」、「メロディック／リズミック」の区別、および「形式記号」の順に無視されるように、優先順位を設定するとよい。
【００５０】
次に、一または複数の曲テンプレートの候補が発見されると、当該候補はディスプレイ５に表示される。ユーザは、表示された候補に対して所定の操作（例えば、図示しない試聴スイッチの操作等）を行うことにより、当該曲テンプレートを試聴することができる。そして、最も好適と思われる候補を選択することになる（ステップＳＰ３０５，３０６）。
【００５１】
２．５  音楽条件の入力
曲テンプレートが選択されると、処理はステップＳＰ３０７に進み、図１６に示すような音楽条件設定画面がディスプレイ５に表示される。図において２５０は条件選択ボックスであり、条件設定可能な各種の音楽条件がリストアップされている。この条件選択ボックス２５０内でユーザが所望の音楽条件をマウスでクリックすると、その音楽条件が設定対象として選択され、ボックス内で黒丸印（●）が付される。
【００５２】
次に、２６０は音楽条件設定ボックスであり、設定対象として選択された音楽条件の具体的内容を設定するために、条件選択ボックス２５０の下方に表示される。図示の例にあっては、音楽条件として「上下反転」が選択されており、当該条件に応じた音楽条件設定ボックス２６０がディスプレイ５に表示されている。なお、ここに「上下反転」とは、所定の中心ピッチを中心に、曲テンプレートのピッチパターンを反転させることをいう（詳細は後述する）。
【００５３】
このような音楽条件は、フレーズごと、楽節ごと、および曲全体に対して指定することができる。そのうち、フレーズに対して指定された条件が最も優先され、次に楽節に対して設定された条件が優先される。例えば、ピッチの反転条件の中心ピッチが曲全体として「Ｇ４」に指定されていたとしても、あるフレーズに対して「Ｂ４」に指定されていれば、「Ｂ４」が中心ピッチに設定される。
【００５４】
音楽条件設定ボックス２６０の下部においては、楽曲全体、楽節およびフレーズ毎に、選択された音楽条件に係る内容（図示の例では、上下反転に係る中心ピッチ）が表示される。また、該ボックスの上部においては、この条件に応じて変形されたリズムまたはピッチパターン（図示の例では、反転されたピッチパターン）が表示される。
【００５５】
次に、本実施形態における種々の音楽条件の意味について解説しておく。音楽条件のうちリズムに関するものとしては、以下のようなものがある。
・最短音符：最短音符とは、メロディに使用されうる最短の音符であり、８分音符、１６分音符、または８分の三連符が指定できる。
・先頭喰い：先頭喰いとは、各フレーズの先頭部分が前のフレーズの最終部分に喰い込んでいることをいう。
【００５６】
・先頭休み：先頭休みとは、各フレーズが休符から始まることをいう。
・分布：分布とは、各フレーズ内における音符の分布傾向をいい、「粗密」、「密粗」および「平均」の「３」種類がある。ここに「粗密」とは、各フレーズの最初の部分の音符の分布がまばらで最後の部分に音符が集中する傾向をいう。「密粗」とはこの逆の傾向、「平均」とは、フレーズ内に音符が平均的に分布する傾向をいう。
【００５７】
・生成アルゴリズム：生成アルゴリズムとは、リズムを決定するために用いられるアルゴリズムをいう。本実施形態においては、生成アルゴリズムとして、「テーブル参照方式」または「演算方式」のうち一方を指定できる。
また、ピッチの設定に係る音楽条件としては、上述した「上下反転」の他に以下のようなものがある。
・先頭ピッチ：先頭ピッチとは、各フレーズの先頭音符のピッチをいう。
・最後ピッチ：最後ピッチとは、各フレーズの最終音符のピッチをいう。
【００５８】
・振幅の伸長および圧縮：振幅の伸長とは、上記中心ピッチを中心として、曲テンプレートのピッチの振幅を伸長することをいう。逆に、振幅の圧縮とは、該振幅を圧縮することをいう。
・刺繍音：刺繍音とは、２つの同じコードトーンの中間で上下２度の動きを示す音である。
【００５９】
例えば、元々付点４分音符であったものを、同一トーンの１６分音符および４分音符とこれらに挟まれて２度音階の異なる１６分音符とに分割する場合を想定すると、この挟まれた音が刺繍音である。なお、刺繍音の具体例を図４５に示す。
・経過音：経過音も刺繍音に類似するが、ピッチが異なる「２」音間に挿入される音である点で相違する。
【００６０】
２．６  リズム決定（全体動作）
音楽条件の入力が終了すると、図３において処理はステップＳＰ３０９に進み、図１７に示すリズム決定サブルーチンが呼び出される。図において処理がステップＳＰ１に進むと、ＲＡＭ２の所定の領域（図１４のメモリマップを記憶した領域）が検索され、これによって楽節数が検出される。
【００６１】
次に、処理がステップＳＰ２に進むと、楽節カウンタＧＳＣ（変数）に「１」が代入される。次に、処理がステップＳＰ３に進むと、上述した記憶領域が再び検索され、楽節カウンタＧＳＣで表わされた番号を有する楽節について、フレーズ数が検出される。
【００６２】
次に、処理がステップＳＰ４に進むと、フレーズカウンタＰＲＣに「１」が代入される。次に、処理がステップＳＰ５に進むと、先に選択された生成アルゴリズム（図１６参照）は「テーブル参照方式」または「演算方式」のうち何れであるのかが判定され、その結果に応じてステップＳＰ６またはＳＰ７のうち一方が実行される。
【００６３】
詳細は後述するが、ステップＳＰ６およびＳＰ７にあっては、対応するアルゴリズムに基づいて、「１」フレーズ分の打点が決定される。次に、処理がステップＳＰ８に進むと、処理中の楽節（楽節カウンタＧＳＣで表わされた楽節）内で全フレーズに対して打点の決定が行われたか否かが判定される。ここで、「ＮＯ」と判定されると、処理はステップＳＰ９に進み、フレーズカウンタＰＲＣが「１」だけインクリメントされ、処理がステップＳＰ５に戻る。
【００６４】
これにより、処理中の楽節内で全フレーズに対して打点が決定されるまで、ステップＳＰ５〜ＳＰ８の処理が繰り返される。そして、全フレーズに対して打点が決定されると、ステップＳＰ８で「ＹＥＳ」と判定され、処理はステップＳＰ１０に進む。ここでは、全楽節に対して打点の決定が行われたか否かが判定される。
【００６５】
ここで「ＮＯ」と判定されると、処理はステップＳＰ１１に進み、楽節カウンタＧＳＣが「１」だけインクリメントされ、処理がステップＳＰ３に戻る。これにより、全楽節に対して打点が決定されるまで、ステップＳＰ３〜ＳＰ１０の処理が繰り返されることになる。
【００６６】
２．７  リズム決定（「テーブル参照方式」）
次に、ステップＳＰ６において「１」フレーズ分の打点を「テーブル参照方式」によって決定する処理について説明する。ステップＳＰ６においては、図１８に示すサブルーチンが呼び出される。図においてステップＳＰ２１，ＳＰ２２においては、処理対象であるフレーズの曲テンプレートおよび音楽条件が各々ＲＡＭ２から読み出される。
【００６７】
次に、処理がステップＳＰ２３に進むと、曲テンプレートと音楽条件とに対応した打点優先順位表が選択され、ＲＡＭ２から読み出される。ここで、打点優先順位表の内容を表形式で表現したものを図２１に示す。同図第１行には、「１」フレーズ内の小節数に対応して小節番号欄が設けられている。なお、図示の例では、小節数は「２」であることとしている。
【００６８】
次に、同図第２行には、曲テンプレートの「拍子」に対応する数の拍子番号欄が設けられている。図示の例では、「４／４」拍子を想定しているため、第１拍〜第４拍に対応する欄が設けられている。次に、第３行には、最短音符ステップ欄が設けられている。最短音符ステップとは、「１」拍を最短音符の長さで区切ったものをいう。
【００６９】
図示の例では、最短音符として「８分音符」が選択された場合を想定している。「４／４」拍子の「１」拍は４分音符に相当するため、「１」拍あたりのステップ数は「２」、フレーズ全体のステップ数は「１６」になる。次に、同図第４行には、各最短音符ステップに対応する優先順位が規定されている。フレーズ内の各音節に対応する打点は、この優先順位に沿って配置されることになる。
【００７０】
ここに、打点とは「ノートオンのタイミング」の意である。なお、ノートオフのタイミングは、ここでは未だ設定されない。次に、打点数（ここでは音節数に等しい）と打点優先順位表とに従って如何なるリズムパターンが生成されるかについて、図２０および図２１を対比しつつ説明する。
【００７１】
まず、「１」フレーズ内に音節が「１個」しか設けられていない場合は、図２１によれば、第１小節第１拍目の第１ステップに打点が設けられる。従って、リズムパターンは、当該フレーズに亙って継続するパターン（第１小節および第２小節の全音符をタイ記号で結んだもの）になる。
【００７２】
また、音節数が「２」である場合は、第１小節および第２小節の第１拍目の第１ステップに各々打点が設けられる。従って、リズムパターンは、第１小節および第２小節の全音符として表現される。次に、音節数が「３」である場合は、第１小節第３拍目の第１拍始めに新たな打点が追加される。このため、第１小節の「２」個の２分音符と、第２小節の全音符とから成るリズムパターンが生成される。
【００７３】
以下、音節数が増加するに従って、図２０に示すような各種のリズムパターンが生成される。ここで、各小節内の音節数に着目すると、両小節の音節数はほぼ一致している。すなわち、図２１に示す打点優先順位表は、分布が「平均」に指定された場合の順位表である。その他、図２１に対応する音楽条件を図１９に示す。
【００７４】
図２１に示すような打点優先順位表は、各種の音楽条件に対応して多数設けられている。ここで、音楽条件と打点優先順位表との関係を図２２に示す。図において、打点優先順位表は「通常形」および「三連符形」の二種類に分類される。さらに、前者は最短音符が８分音符の場合と１６分音符の場合とに分類される。なお、本実施形態にあっては、後者の最短音符は、必ず三連８分音符になる。
【００７５】
最短音符に応じて分類された打点優先順位表は、さらに、「休み／喰い」の状態によって分類される。まず、音楽条件として先頭喰いまたは先頭休みのうち一方が指定された場合は、同時に他方が指定される場合は一般的には有り得ない。従って、これらは択一的に選択できるようになっている。
【００７６】
また、先頭喰いおよび先頭休みの双方が共に指定されていない場合も考えられる。かかる状態を「第１拍始め」という。結局、「休み／喰い」の状態は、「先頭喰い」、「先頭休み」または「第１拍始め」の中の何れかになる。
【００７７】
さて、以上のように各種音楽条件に対応する打点優先順位表が選択されると、処理はステップＳＰ２４に進み、乱数に基づいて、先に選択された打点優先順位表が修正される。具体的には、図２１の「優先順位」の欄の内容が適宜入れ替えられる。
【００７８】
このように乱数を用いて打点優先順位表を修正する理由は、音楽条件と音節数とによって打点を一意に決定してしまうと、楽曲が単調になる場合もあるためである。なお、ステップＳＰ２４によって打点優先順位表の修正を行うか否か、また、行うとした場合の修飾の度合はユーザが適宜設定できるようになっている。
【００７９】
次に、処理がステップＳＰ２５に進むと、処理対象となっているフレーズに対応する歌詞がＲＡＭ２から読み出される。そして、上記打点優先順位表に従って、音節数相当の打点が決定されるのである（図２０参照）。
【００８０】
次に、処理がステップＳＰ２７に進むと、シンコペーションを付加する旨は指定されているか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ２８に進む。ここでは、先に割り当てられた打点のうち何れかが乱数によって選択される。そして、選択された打点は、最短音符相当分だけ前方にシフトされる。
【００８１】
ここで、シンコペーションを付加する前後のリズムパターンの一例を図２３に示す。この例においては、乱数によって選択された打点は最後の打点であって、最短音符は８分音符である。なお、シンコペーションを付加する旨の指定が無かった場合はステップＳＰ２７において「ＮＯ」と判定され、ステップＳＰ２８は実行されない。次に、処理がステップＳＰ２９に進むと、「１」フレーズ分の最終的な打点情報がＲＡＭ２に保存される。
【００８２】
ここで、打点情報を記憶するためのメモリマップを図２４に示す。このメモリマップにおいては、音楽条件の最短音符（図示の例では８分音符）毎のステップに対応して打点情報が記憶される。すなわち、打点情報が“１”であれば打点が存在し、“０”であれば打点は存在しないことになる。
【００８３】
２．８  リズム決定（「演算方式」）
２．８．１  先頭拍の決定
次に、ステップＳＰ７において「１」フレーズ分の打点を「演算方式」によって決定する処理について説明する。ステップＳＰ７においては、図２５に示すサブルーチンが呼び出される。図においてステップＳＰ４１，ＳＰ４２においては、ステップＳＰ２１，ＳＰ２２と同様に、処理対象であるフレーズの曲テンプレートおよび音楽条件が各々ＲＡＭ２から読み出される。
【００８４】
次に、処理がステップＳＰ４３に進むと、処理対象であるフレーズの歌詞がＲＡＭ２から読み出される。次に、処理がステップＳＰ４４に進むと、図２６のサブルーチンが呼び出され、当該フレーズの先頭拍が決定される。この先頭拍は、「休み／喰い」の状態によって異なるため、以下、場合を分けて説明する。
【００８５】
(ａ)第１拍始めの場合
図２６においてステップＳＰ７３では音楽条件として先頭休みが指定されているか否かが判定され、ステップＳＰ７４では、先頭喰いが指定されているか否かが判定される。第１拍始めの場合は何れにおいても「ＮＯ」と判定されるから、処理はステップＳＰ７５に進む。ここでは、曲テンプレートの先頭拍が当該フレーズの先頭拍として決定される。
【００８６】
(ｂ)先頭休みが指定されている場合
先頭休みが指定されていると、ステップＳＰ７３において「ＹＥＳ」と判定され処理はステップＳＰ７６に進む。ここでは、先に読出された曲テンプレートは先頭休みであるか否かが判定される。
【００８７】
ここで「ＹＥＳ」と判定されると、処理はステップＳＰ７８に進み、曲テンプレートの先頭拍がそのまま当該フレーズに先頭拍として決定される。すなわち、当該フレーズと曲テンプレートの「休み／喰い」状態が一致しているため、曲テンプレートの先頭拍がそのまま採用できるのである。
【００８８】
一方、曲テンプレートが先頭休みでない場合は処理はステップＳＰ７７に進む。ここでは、曲テンプレートの第１拍目を除く拍の中から当該フレーズの先頭拍が決定される。これは、音節数と最短音符に応じて（すなわち、全ての音節を当該フレーズに含めることができる範囲内で）、ランダムに決定される。
【００８９】
(ｃ)先頭喰いが指定されている場合
先頭喰いが指定されていると、ステップＳＰ７４において「ＹＥＳ」と判定され処理はステップＳＰ７９に進む。ここでは、曲テンプレートは先頭喰いであるか否かが判定される。
【００９０】
ここで「ＹＥＳ」と判定されると、処理はステップＳＰ８１に進み、曲テンプレートの先頭拍がそのまま当該フレーズの先頭拍に決定される。かかる場合も、フレーズおよび曲テンプレートの「休み／喰い」状態が一致しているゆえである。
【００９１】
一方、曲テンプレートが先頭喰いでない場合は処理はステップＳＰ８０に進む。ここでは、音節数と最短音符とに応じて（前フレーズの音符が最短音符より短くならない範囲で）、前フレーズの中に先頭拍が決定される。
【００９２】
この場合も、先頭喰いの深さは、許容される範囲内でランダムに決定するとよい。なお、前フレーズに余裕が無い場合は先頭喰いは不可能であるため、先に説明したステップＳＰ７５と同様に、曲テンプレートの先頭拍がフレーズの先頭拍として決定されることになる。
【００９３】
２．８．２  他の拍の決定
さて、以上のように先頭拍が決定されると、処理は図２５のプログラムに戻り、ステップＳＰ４５に進む。ここでは、結果的に前フレーズに対する先頭喰いが発生したか否かが判定される。
【００９４】
すなわち、たとえ音楽条件において先頭喰いが指定されていたとしても、前フレーズに余裕がなければ結果的に先頭喰いは発生しないことになる。ステップＳＰ４５において「ＹＥＳ」と判定されると、処理はステップＳＰ４６に進み、先頭喰いに係る音節数が決定される。
【００９５】
この音節数は、喰いの拍数と、歌詞の音節数と、最短音符と曲テンプレートの喰いの音節数とに基づいて（換言すれば、喰える範囲内で）、ランダムに決定される。次に、処理がステップＳＰ４７に進むと、喰いの音節に対応する打点が決定される。この打点も、喰える範囲内でランダムに決定される。次に、処理がステップＳＰ４８に進むと、処理対象であるフレーズの音節数から喰った音節数が減算される。
【００９６】
すなわち、この減算結果（以下、修正音節数という）が、当該フレーズ内に実際に配置される音節数（但し、次フレーズから喰われる分を除く）になるからである。なお、先頭喰いが結果的に発生しなかった場合は、ステップＳＰ４６〜ＳＰ４８はスキップされ、当該フレーズの元々の音節数が修正音節数になる。以後の処理は、修正音節数と曲テンプレートの打点数との大小関係に応じて異なるため、場合を分けて説明する。
【００９７】
(ａ)修正音節数と曲テンプレートの打点数とが一致する場合
(ａ−１)フレーズの「分布」が「粗密」である場合
ステップＳＰ４９においては、修正音節数は曲テンプレートの打点数よりも多いか否かが判定される。逆に、ステップＳＰ５０においては、曲テンプレートの打点数は修正音節数よりも多いか否かが判定される。両者が一致する場合は、ステップＳＰ４９、ＳＰ５０の何れにおいても「ＮＯ」と判定され、処理はステップＳＰ５１に進む。
【００９８】
ここでは、曲テンプレートの打点が、そのまま当該フレーズの打点として採用されることになる。次に、処理がステップＳＰ５２に進むと、音楽条件の「分布」が「粗密」または「密粗」であるか否かが判定される。ここで、「ＹＥＳ」と判定されると、処理はステップＳＰ５３に進み、図２７に示すサブルーチンが呼び出される。
【００９９】
図２７において処理がステップＳＰ９１に進むと、音楽条件の「分布」が「粗密」に指定されているか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ９２に進み、曲テンプレートの「分布」は「粗密」であるか否かが判定される。
【０１００】
ここで「ＹＥＳ」と判定されると、処理はステップＳＰ９４に進み、曲テンプレートの打点がそのまま処理対象のフレーズの打点に設定される。これは、「分布」に関しては、該フレーズの音楽条件と曲テンプレートとが一致しているゆえである。
【０１０１】
一方、ステップＳＰ９２で「ＮＯ」と判定されると、処理はステップＳＰ９３に進み、曲テンプレートの「分布」は「密粗」であるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ９５に進み、曲テンプレートの打点を前後方向に逆転したものが、当該フレーズの打点として採用される。
【０１０２】
一方、曲テンプレートの「分布」が「平均」である場合は、ステップＳＰ９２、ＳＰ９３の何れにおいても「ＮＯ」と判定され、処理はステップＳＰ９６に進む。ここでは、音節数と最短音符とに応じて、曲テンプレートの打点が後方に詰められることになる。そして、以上の処理によって打点の移動が完了すると、処理は図２５のプログラムに戻る。
【０１０３】
(ａ−２)フレーズの「分布」が「密粗」である場合
フレーズの「分布」が「密粗」であれば、ステップＳＰ９１において「ＮＯ」と判定され、処理はステップＳＰ１０２に進む。以後のステップＳＰ１０２〜ＳＰ１０６においては、「密」および「粗」が逆であることを除いてステップＳＰ９２〜ＳＰ９６と同様の処理が行われる。
【０１０４】
(ｂ)修正音節数が曲テンプレートの打点数よりも多い場合
図２５に戻り、修正音節数が曲テンプレートの打点数よりも多い場合は、ステップＳＰ４９において「ＹＥＳ」と判定され処理はステップＳＰ５８に進む。ここでは、曲テンプレートに不足分の打点が追加され、その結果が当該フレーズの打点に設定される。その際、打点の挿入される小節は、「分布」指定に応じて優先順位が異なる。
【０１０５】
例えば、当該フレーズの「分布」条件として「粗密」が指定されている場合、後半の小節に対して優先的に打点が挿入され、後半の小節に挿入不可能な場合にのみ前半の小節に打点が挿入されることになる。また、打点の挿入される小節内においても、強拍が弱拍よりも優先される。すなわち、強拍の位置に打点の挿入が可能であれば強拍の位置に打点が挿入され、強拍の位置に挿入不可能な場合にのみ弱拍の位置に打点が挿入される。
【０１０６】
(ｃ)修正音節数が曲テンプレートの打点数よりも少ない場合
修正音節数が曲テンプレートの打点数よりも少ない場合は、ステップＳＰ５０において「ＹＥＳ」と判定され処理はステップＳＰ５７に進む。ここでは、曲テンプレートの打点の中から超過分の打点が削除され、その結果が当該フレーズの打点に設定される。その際、打点の削除される小節は、「分布」指定に応じて優先順位が異なる。
【０１０７】
例えば、当該フレーズの「分布」条件として「粗密」が指定されている場合、前半の小節に対して優先的に打点が削除され、前半の小節で削除不可能な場合にのみ後半の小節より打点が削除されることになる。また、打点の削除される小節内においても、弱拍が強拍よりも優先される。すなわち、弱拍が削除可能であれば何れかの弱拍が削除され、削除可能な弱拍が存在しない場合にのみ強拍が削除されることになる。
【０１０８】
２．８．３  その他の処理
以上のように、処理対象であるフレーズの打点が「分布」条件等に応じて決定されると、ステップＳＰ５４〜ＳＰ５６の処理が実行される。すなわち、当該打点に対して適宜シンコペーションが付加され、しかる後に「１」フレーズ分の最終的な打点情報がＲＡＭ２に保存される。なお、かかる処理はステップＳＰ２７〜ＳＰ２９（図１８参照）において説明したものと同様である。
【０１０９】
２．９  フレーズの連結とリズムの確定
図３に戻り、処理がステップＳＰ３０９に進むと、図２８に示すサブルーチンが呼び出される。図２８において処理がステップＳＰ１１１に進むと、ＲＡＭ２の所定の領域（図１４のメモリマップを記憶した領域）が検索され、これによって楽節数が検出される。次に、処理がステップＳＰ１１２に進むと、楽節カウンタＧＳＣに「１」が代入される。
【０１１０】
次に、処理がステップＳＰ１１３に進むと、上述した記憶領域が再び検索され、楽節カウンタＧＳＣで表わされた番号を有する楽節について、フレーズ数が検出される。次に、処理がステップＳＰ１１４に進むと、フレーズカウンタＰＲＣに「１」が代入される。
【０１１１】
次に、処理がステップＳＰ１１５に進むと、上記楽節カウンタＧＳＣおよびフレーズカウンタＰＲＣによって特定されるフレーズの打点情報がＲＡＭ２から読み出される。なお、この打点情報は、先にステップＳＰ２９またはＳＰ５６（図１８、図２５参照）においてＲＡＭ２に保存されたものである。
【０１１２】
次に、処理がステップＳＰ１１６に進むと、１曲分の打点情報記憶領域に、上記フレーズの打点情報が追加書き込みされる。すなわち、本サブルーチンにおいては、１曲分の打点情報を記憶するための領域が予めＲＡＭ２上に確保され、ここに各フレーズの打点情報が順次追加されてゆくのである。
【０１１３】
次に、処理がステップＳＰ１１８に進むと、処理中の楽節（楽節カウンタＧＳＣで表わされた楽節）内で全フレーズに対して打点の読出し／追加処理が行われたか否かが判定される。ここで、「ＮＯ」と判定されると、処理はステップＳＰ１１９に進み、フレーズカウンタＰＲＣが「１」だけインクリメントされ、処理がステップＳＰ１１５に戻る。
【０１１４】
これにより、処理中の楽節内で全フレーズに対して打点の読出し／追加処理が行われるまで、ステップＳＰ１１５〜ＳＰ１１８の処理が繰り返される。そして、全フレーズに対して打点が決定されると、ステップＳＰ１１８で「ＹＥＳ」と判定され、処理はステップＳＰ１２０に進む。ここでは、全楽節に対して打点の読出し／追加処理が行われたか否かが判定される。
【０１１５】
ここで「ＮＯ」と判定されると、処理はステップＳＰ１２１に進み、楽節カウンタＧＳＣが「１」だけインクリメントされ、処理がステップＳＰ１１３に戻る。これにより、全楽節に対して打点の読出し／追加処理が完了するまで、ステップＳＰ１１３〜ＳＰ１２０の処理が繰り返されることになる。全楽節に対してかかる処理が完了すると、処理はステップＳＰ１２２に進み、打点情報の中に休符が挿入される。
【０１１６】
休符の挿入箇所および長さは乱数によって決定されるが、挿入される確率は、音楽条件や打点情報に応じて変更される。例えば、楽曲全体として、音楽条件がメロディックの場合は休符が挿入される確率は低くされ、リズミックの場合は確率は高くされる。また、個々の打点に着目すると、次の打点までのデューレーションが長いほど、休符の挿入される確率が高くなる。
【０１１７】
また、一連の打点に着目すると、例えば単独の４分音符（より厳密に言うと、次の打点までのデューレーションが４分音符相当である打点）よりも、複数連続する４分音符のうちの一つに対して休符の挿入される確率が高くなる。これは、楽曲が単調になることを防止するためである。このように、休符が適宜挿入されることによって、リズムが決定されるのである。以上のステップが終了すると、処理はメインルーチン（図３）に戻る。
【０１１８】
２．１０  「１」フレーズ毎のピッチの決定
２．１０．１  全体動作
図３において処理がステップＳＰ３１０に進むと、図２９に示すサブルーチンが呼び出される。図２９においてステップＳＰ１３５においては図３０に示すサブルーチンが呼び出され、後述する処理によって「１」フレーズ分のピッチが決定される。かかる処理において処理対象となるフレーズは、楽節カウンタＧＳＣおよびフレーズカウンタＰＲＣによって特定される。
【０１１９】
ステップＳＰ１３１〜ＳＰ１３４およびＳＰ１３８〜ＳＰ１４１は、各々ステップＳＰ１１１〜ＳＰ１１４およびＳＰ１１８〜ＳＰ１２１と同様の内容である。すなわち、楽節カウンタＧＳＣおよびフレーズカウンタＰＲＣの値は適宜インクリメントおよびリセットされ、これによって全てのフレーズについてステップＳＰ１３５および図３０の処理が実行されることになる。
【０１２０】
２．１０．２  ピッチパターンの反転
そこで、図３０のサブルーチンにおける処理について詳述する。図において処理がステップＳＰ１５１に進むと、処理対象のフレーズの曲テンプレートがＲＡＭ２から読み出される。次に、処理がステップＳＰ１５２に進むと、当該フレーズの音楽条件がＲＡＭ２から読み出される。次に、処理がステップＳＰ１５３に進むと、ピッチに係る音楽条件において「上下反転」が指定されているか否かが判定される。
【０１２１】
ここで「ＹＥＳ」と判定されると、ピッチパターンを上下反転すべく、図３１に示すサブルーチンが呼び出される。なお、ピッチパターンとは、横軸を時間（楽曲内の位置）、縦軸を音階とする平面（ピッチ平面）上で離散的なメロディ情報（図５の再右欄参照）の集合を表現したものである。
【０１２２】
そして、ピッチパターンを曲線補完したものをピッチカーブと呼ぶ。このピッチパターンに基づいて最終的なメロディが生成される際に、ピッチパターンは適宜シフトされたり変形されたりする。従って、曲テンプレートに含まれるピッチパターンは、相対的音高差を規定する情報になる。
【０１２３】
本実施形態においては、ピッチパターンについて各種の処理（反転、伸長、圧縮等）が行われ、その都度処理後のピッチパターンが計算される。但し、このような処理中においてもピッチカーブは計算されない。すなわち、ピッチカーブ上で任意の位置に対応する音高が必要な場合は、その都度、前後所定数のメロディ情報に対して補完演算が施されることになる。従って、以後の説明において適宜ピッチカーブを参照しつつ説明するが、実際はピッチパターンに対して変形等の処理が行われる。
【０１２４】
さて、図３１において処理がステップＳＰ１７１に進むと、処理対象のフレーズに対応する曲テンプレートがＲＡＭ２から読み出される。次に、処理がステップＳＰ１７２に進むと、曲テンプレートの調が、当該フレーズの音楽条件で指定された調へ移調される。次に、処理がステップＳＰ１７３に進むと、中心ピッチを中心としてピッチパターンが上下反転される。
【０１２５】
そして、処理がステップＳＰ１７４に進むと、上下反転されたピッチパターンが、ＲＡＭ２に保存される。なお、以上の処理が行われた結果の一例として、中心ピッチを「Ｇ４」としてピッチパターンおよびピッチカーブを反転した例を図３２に示しておく。図において白丸印は反転する前のピッチパターン、黒丸印は反転後のピッチパターンであり、破線および実線は各々に対応するピッチカーブである。
【０１２６】
２．１０．３  ピッチパターンの伸長・圧縮
次に、図３０において処理がステップＳＰ１５５に進むと、音楽条件としてピッチの伸長または圧縮は指定されているか否かが判定される。ここで「ＹＥＳ」と判定されると処理はステップＳＰ１５６に進み、図３３に示すサブルーチンが呼び出される。
【０１２７】
図３３において処理がステップＳＰ１８１に進むと、処理対象のフレーズに対応する曲テンプレートがＲＡＭ２から読み出される。上述したピッチパターンの反転が行われた場合には、ステップＳＰ１８１にあっては、その反転結果であるピッチパターンが読み出される。
【０１２８】
次に、処理がステップＳＰ１８２に進むと、当該フレーズの音域、すなわちメロディ情報の最大値と最小値の差が求められる。次に処理がステップＳＰ１８３に進むと、この音域は「５」度未満であるか否かが判定される。
【０１２９】
ここで「ＹＥＳ」と判定されると、ステップＳＰ１８４が実行され、伸長係数ｋ１が「２．０」に設定され圧縮係数ｋ２が「１．４」に設定される。一方、ステップＳＰ１８３において「ＮＯ」と判定されると処理はステップＳＰ１８５に進み、伸長係数ｋ１が「１．４」に設定され圧縮係数ｋ２が「２．０」に設定される。
【０１３０】
次に、処理がステップＳＰ１８６に進むと、処理対象のフレーズに係る音楽条件として振幅の伸長が指定されているか否かが判定される。ここで、「ＹＥＳ」と判定されると処理はステップＳＰ１８７に進み、ピッチパターンの振幅が伸長される。
【０１３１】
その動作の一例を図３４を参照して説明する。図において破線Ｂは同ステップの実行前のピッチパターンに対応するピッチカーブである。このピッチパターンにおいて、各メロディ情報のうち最低音階は「Ｅ４」であり最高音階は「Ｇ＃４」であるから、両者の差は「５」度である。従って、先にステップＳＰ１８３が実行された際に「ＮＯ」と判定され、ステップＳＰ１８５において伸長係数ｋ１は１．４に設定されることになる。
【０１３２】
さて、ステップＳＰ１８７においては、最初に該ピッチパターンの先頭音階が検出される。図示の例にあっては、先頭音階は「Ｅ４」である。次に、この先頭音階からピッチパターンを構成する各メロディ情報までの差がｋ１倍され、その結果の集合が新たなピッチパターンに設定される。但し、ｋ１倍した際に端数が生じた場合は四捨五入される。
【０１３３】
このようにして振幅の伸長されたピッチパターンによるピッチカーブを同図の実線Ａで示す。なお、伸長係数ｋ１の値を当該フレーズの音域に応じて設定する理由は、伸長後の音域があまり広くなりすぎることを防止するためである。すなわち、元々の音域が広い場合は、伸長係数ｋ１を低く抑えるようにしたものである。
【０１３４】
一方、ステップＳＰ１８６において「ＮＯ」と判定されると、処理はステップＳＰ１８８に進み、処理対象のフレーズに係る音楽条件として振幅の圧縮が指定されているか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１８９に進む。
【０１３５】
ここでは、ピッチパターンの先頭音階を基準として、ピッチパターンの振幅は、「１／ｋ２」倍される。すなわち、ステップＳＰ１８６においては、伸長係数ｋ１に代えて圧縮係数ｋ２の逆数が用いられることを除いて、ステップＳＰ１８４と同様の処理が行われる。
【０１３６】
なお、振幅の圧縮を行う場合においも、元々の音域が狭い場合には若干圧縮し元々の音域が広い場合は大幅に圧縮することが好適であるため、圧縮係数ｋ２も当該フレーズの音域に応じて設定される（ステップＳＰ１８３〜ＳＰ１８５）。さて、以上のような伸長・圧縮処理が終了すると、処理はステップＳＰ１９０に進み、伸長・圧縮処理後のピッチパターンがＲＡＭ２に保存され、本サブルーチンの処理は終了する。なお、上記処理においては伸長・圧縮係数はフレーズの音域に応じて２種類設定したが、音域を３つ以上に分け、これら係数を３種類以上としてもよい。
【０１３７】
２．１０．４  先頭ピッチおよび最後ピッチの決定
図３０に戻り、処理がステップＳＰ１５７に進むと、処理対象のフレーズの先頭ピッチを決定するために、図３５に示すサブルーチンが呼び出される。図３５において処理がステップＳＰ２０１に進むと、処理対象のフレーズの音楽条件として先頭ピッチが指定されているか否かが判定される。
【０１３８】
ここで、先頭ピッチが指定されていれば「ＹＥＳ」と判定され処理はステップＳＰ２０２に進む。ステップＳＰ２０２においては、当該フレーズの先頭ピッチが、指定された先頭ピッチに決定される。次に、処理がステップＳＰ２０６に進むと、この決定されたピッチがＲＡＭ２に格納され、本サブルーチンの処理が終了する。
【０１３９】
また、先頭ピッチが指定されていなかった場合は、処理はステップＳＰ２０１を介してステップＳＰ２０３に進み、当該フレーズに対してコードが指定されているか否かが判定される。ここで、コードが指定されていれば処理はステップＳＰ２０４に進み、そのコードの構成音の中で、曲テンプレートの先頭ピッチに最も近いものが、処理対象のフレーズの先頭ピッチに決定される。
【０１４０】
一方、当該フレーズに対して先頭ピッチもコードも指定されていない場合は、ステップＳＰ２０１、ＳＰ２０３において「ＮＯ」と判定され、処理はステップＳＰ２０５に進む。ここでは、曲テンプレートの先頭ピッチが当該フレーズの先頭ピッチに決定される。以上のように、各種の条件に応じて先頭ピッチが決定されると、処理はステップＳＰ２０６に進み、決定された先頭ピッチがＲＡＭ２に格納され、本サブルーチンの処理は終了する。
【０１４１】
図３０に戻り、処理がステップＳＰ１５８に進むと、処理対象のフレーズの最後ピッチを決定するために、図３６に示すサブルーチンが呼び出される。このサブルーチンにおいては、図３５において説明した内容と同様の処理が最後ピッチについて実行され、これによって最後ピッチが決定されＲＡＭ２に格納される。
【０１４２】
２．１０．５  各打点のピッチの決定
次に、図３０において処理がステップＳＰ１５９に進むと、各打点のピッチを決定するために、図３７に示すサブルーチンが呼び出される。図３７において処理がステップＳＰ２２１に進むと、処理対象のフレーズに対応する曲テンプレートがＲＡＭ２から読み出される。
【０１４３】
なお、曲テンプレートに対しては既に種々の変形（ステップＳＰ１５４，ＳＰ１５６）が施されている場合には、変形された結果が読み出されることは言うまでもない。次に、処理がステップＳＰ２２２に進むと、先に決定された先頭ピッチおよび最後ピッチがＲＡＭ２から読み出される。
【０１４４】
次に、処理がステップＳＰ２２３に進むと、先に決定された（図１８，２５参照）当該フレーズの打点情報がＲＡＭ２から読み出される。次に、処理がステップＳＰ２２４に進むと、ピッチパターンが音階軸に対して変形される。その詳細を図３８を参照し説明する。
【０１４５】
図において破線は変形後の曲テンプレートにおけるピッチカーブであり、点Ａ，Ｂはその先頭ピッチおよび最後ピッチである。また、点Ａ’，Ｂ’は、先にステップＳＰ１５７，ＳＰ１５８において決定された先頭ピッチおよび最後ピッチである。
【０１４６】
ピッチ平面上で点Ａ，Ｂを結ぶ直線をＦ(x)、点Ａ’，Ｂ’を結ぶ直線をＦ’(x)、曲テンプレートにおけるピッチカーブをＧ(x)で表現すると、変形後のピッチカーブＧ’(x)は下式(１)によって求められる。
【数１】
0003659220.tif 000002
【０１４７】
従って、ステップＳＰ２２４においては、この式(１)に従ってピッチパターンが変形される。但し、Ｇ’(x)の変動範囲が曲テンプレートに予め定められた音域の幅（図４のアドレス「４」参照）を越える場合は、その幅の中に収まるようにＧ’(x)が圧縮される。なお、かかる処理は図３４において説明した処理と同様である。
【０１４８】
次に、図３７において処理がステップＳＰ２２５に進むと、ピッチカーブが時間軸に沿って変形される。その詳細を図３９を参照して説明する。図においてＧ’(x)は先にステップＳＰ２２４で変形されたピッチパターンに対応するピッチカーブであり、点Ｂ”は処理対象のフレーズにおける最後の打点まで点Ｂ’を水平に移動させた点である。ここで、点Ａ’，Ｂ’およびＢ”の時間軸上の座標をx1、x2 および x3 で表わすと、変形後のピッチカーブＧ”(x)は下式(２)によって表現される。
【０１４９】
【数２】
0003659220.tif 000003
従って、ステップＳＰ２２５においては、この式(２)に従って、ピッチパターンがさらに変形される。
【０１５０】
次に、図３７において処理がステップＳＰ２２６に進むと、ピッチカーブＧ”(x)が各打点位置でサンプリングされることにより、各打点におけるピッチが計算される。すなわち、各打点位置の前後所定数のメロディ情報に対して補完演算が施される。このようにして得られた打点毎のピッチパターンの例と、これに対応するピッチカーブとを図４０に示しておく。
【０１５１】
次に、処理がステップＳＰ２２７に進むと、半音階音が全音階音に修正される。すなわち、半音階音はこれに最も近接する上下何れかの全音階音に修正される。その際、「ピッチパターンがなるべく滑らかになること」および「跳躍をなるべく避けること」に鑑みて、何れか好適な全音階音が選択されるのである。
【０１５２】
なお、このようにピッチの修正を行った例を図４１に示しておく。以上の処理が終了すると、図３７において処理はステップＳＰ２２８に進み、当該フレーズのピッチパターンがＲＡＭ２に記憶され、該サブルーチンにおける処理が終了する。そして、処理は図３０のサブルーチンに戻る。
【０１５３】
２．１０．６  刺繍音および経過音の付加
図３０において処理がステップＳＰ１６０に進むと、処理対象のフレーズの音楽条件として刺繍音の付加が指定されているか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１６１に進み、当該フレーズに対して適宜刺繍音が付加される。
【０１５４】
その詳細を図４２を参照し説明する。ステップＳＰ１６０においては、まず、「１」小節内で平均デューレーションよりも長い音が検索される。次に、これら検索された音に対して刺繍音の付加対象がランダムに決定され、決定された音に対して刺繍音が付加される。かかる処理の行われた例を図４２に示す。同図(ａ)において第１小節の最初の付点４分音符が、１個の４分音符と、その前に設けられた２個の１６分音符（刺繍音）とに変更されている。
【０１５５】
図３０に戻り、処理がステップＳＰ１６２に進むと、処理対象のフレーズの音楽条件として経過音の付加が指定されているか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１６３に進み、当該フレーズに対して適宜経過音が付加される。その詳細を図４３を参照し説明する。
【０１５６】
ステップＳＰ１６３においては、まず、次の音との音階差が「３」度以上であって、当該フレーズの最終音以外の音であり、かつ、最短音符よりも長い音が検索される。図４３(ａ)に示す例にあっては、第２小節の最初の音が上述した条件に合致する。次に、この検索された音から最短音符（図示の例では８分音符）が分割され、検索された音と次の音との間に挿入される。
【０１５７】
次に、処理がステップＳＰ１６４に進むと、当該フレーズに係るピッチパターンがＲＡＭ２に記憶される。以上により本サブルーチンの処理は終了する。以後、同様の処理が全フレーズに対して実行されることにより（図２９参照）、全フレーズに対応するピッチパターンがＲＡＭ２に記憶されることになる。そして、処理は図３のメインルーチンに戻る。
【０１５８】
２．１１  ピッチパターンの連結
図３において処理がステップＳＰ３１１に進むと、図４４に示すサブルーチンが呼び出される。このサブルーチンの内容は、各フレーズの打点情報に代えてピッチパターンを読み出して連結する点を除いて図２８に示すサブルーチンと同様である。これにより、１曲分のピッチパターンが生成される。
【０１５９】
２．１２  全体の評価と修正
図３において処理がステップＳＰ３１２に進むと、１曲分のピッチパターン全体に対して評価と修正が行われる。すなわち、跳躍が多すぎないか、１曲としてまとまっているか（統一感があるか）等が評価され、以下述べるように、必要に応じてリズムあるいはピッチが修正される。
▲１▼歌いやすくなるように、フレーズ間の繋がり部分のリズムとピッチとが修正される。
かかる処理は、フレーズ内部に対して行われていたのと同様の処理により実現することができる。
【０１６０】
▲２▼「１」フレーズが所定値以上の長さである場合は、途中に息継ぎのための休符を挿入する。
例えば、「１」フレーズが「４」小節で構成されている場合には、「２」小節毎に４分休符を入れるとよい。
▲３▼高音部が長く続きすぎる部分はリズムとピッチを修正し、高音部がある程度短くなるようにする。
【０１６１】
▲４▼リズムが急激に変化する部分はリズムとピッチを修正し、リズムの変化がなめらかになるようにし、あるいは音階差を縮小させる。
▲５▼楽曲が跳躍進行するような場合は、設定された音楽条件（例えばメロディック）に従って、経過音を挿入して滑らかにしてゆく。
【０１６２】
このような処理の具体例を図４５に示す。同図(ａ)はステップＳＰ３１２の実行前に生成されたメロディの一例であるが、第１小節に着目すると、「タン  タタ  タン  タン」（「タン」は４分音符、「タ」は８分音符）というリズムを有している。
【０１６３】
次に、第２小節〜第４小節と第１小節とを比較すると、第３小節および第４小節は第１小節に近似していることが解る。すなわち、第１小節と第３小節とは、第２拍が「１」個の４分音符で構成されているか「２」個の８分音符で構成されているかの相違しかない。
【０１６４】
また、第１小節と第４小節とを比較すると、上述した相違点に加えて、第４拍が４分音符であるか４分休符であるかの違いはあるが、何れも長さは同一である。このように近似する小節同士ではリズムを一致させると、曲全体としてリズムの統一性を高めることができる。具体的には、最も音節数の多い小節（図示の例では第１小節）を基準として他の小節の音符を分割し、経過音あるいは刺繍音にするとよい。かかる処理を行った例を同図(ｂ)に示す。
【０１６５】
３．変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
（１）上記実施形態にあっては、フレーズの区切りは「改行」により特定され、楽節の区切りは「連続した２個の改行」により特定された。しかし、必ずしもユーザが音節やフレーズの区切りを指定する必要はない。例えば、文章の構文解析を行うことにより、これらの区切りを自動的に決定してもよい。
【０１６６】
（２）歌詞は日本語以外の言語で入力されてもよいことは言うまでもない。例えば、歌詞が英語であった場合は音節を区切るための辞書を用意しておけば、歌詞に基づいて自動的に音節数等を得ることができるから好適である。
【０１６７】
（３）上記実施形態においては、音節数は小書き文字（ぁ、ぃ、ぅ、ぇ、ぉ、っ、等）および「ん」以外のかな文字数をカウントして求められたが、小書き文字や「ん」なども「１」音節としてカウントしてもよい。また、これらをカウントするか否かをユーザが設定できるようにしておくと一層好適である。
【０１６８】
（４）上記実施形態においては、音楽条件として先頭ピッチ、最後ピッチ、振幅の伸長等を指定可能であった（図１６の条件選択ボックス２５０参照）が、音楽条件はここに挙げた以外にも種々のものが可能である。例えば、ピッチパターンを時間軸上で逆方向に読み出す「逆読み」などの条件を加えてもよい。
【０１６９】
（５）上記実施形態においては、「ブロック」の一例として「フレーズ」を適用した例を説明したが、「小節」、「楽節」またはその他の単位を「ブロック」としてもよい。
【０１７０】
（６）上記実施形態においては、ハードディスクドライバ４内にハードディスクに動作プログラムや各種データをインストールしたが、同様の内容をＲＯＭ３に記憶させてもよいことは言うまでもない。
【０１７１】
（７）上記実施形態のハードウエア（図１）は、図４８に示すように変形してもよい。図において１１は鍵盤であり、その操作状態（キーオン、キーオフ、押鍵速度等）は押鍵検出回路１２によって検出されＣＰＵ１に通知される。１３は各種の音色等を設定するスイッチであり、その設定状態はスイッチ検出回路１４を介してＣＰＵ１に通知される。
【０１７２】
１５は表示回路であり、ＣＰＵ１の制御の下、ユーザに各種の情報を表示する。１６は音源回路であり、バス６を介して供給された演奏情報に基づいて楽音信号を生成する。１７は効果回路であり、上記楽音信号に各種の特殊効果を施す。この効果の内容は、例えばスイッチ１３における設定内容に従って決定される。
【０１７３】
１８はタイマであり、所定時間毎にＣＰＵ１に対してタイマ割り込みを発生させる。１９はＣＤ−ＲＯＭドライバであり、ここにセットされるＣＤ−ＲＯＭには、動作プログラムや各種データ等が記憶される。そして、このＣＤ−ＲＯＭから読み出された内容は、ハードディスクドライバ４内のハードディスクにストアされる。これにより、動作プログラムの新規インストールやバージョンアップ等を容易に行うことができる。
【０１７４】
２５はフロッピーディスクドライブであり、フロッピーディスクに対してデータの読み書きを行う。なお、その他の外部記憶装置として、光磁気ディスクドライブや磁気テープレコーダ等、様々な形態のメディアを利用するための装置を設けてもよい。２０はＭＩＤＩインターフェースであり、他のＭＩＤＩ機器２１との間でＭＩＤＩ信号のやりとりを行う。
【０１７５】
次に、２２は通信インターフェースであり、ＬＡＮ（ローカルエリアネットワーク）やインターネット、電話回線等の通信ネットワーク２３に接続されており、該通信ネットワーク２３を介して、サーバコンピュータ２４と接続される。これは、ハードディスクドライバ４内のハードディスク等に上記各プログラムや各種パラメータが記憶されていない場合に、サーバコンピュータ２４からこれらプログラムやパラメータをダウンロードするためである。
【０１７６】
クライアントとなるコンピュータは、通信インターフェース２２および通信ネットワーク２３を介して、サーバコンピュータ２４に対してプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータ２４はこのコマンドを受信すると、通信ネットワーク２３を介して、要求されたプログラムやパラメータを配信する。配信された情報は通信インターフェース２２を介してクライアントコンピュータに受信され、ハードディスクドライバ４のハードディスク内に蓄積されることによってダウンロードが完了する。
【０１７７】
（８）上記実施形態においては、自動メロディ生成装置は汎用パーソナルコンピュータとアプリケーションソフトウエアによって実現されたが、一般の電子楽器やカラオケ装置等の機器によって自動メロディ生成装置を実現してもよいことは言うまでもない。
【０１７８】
（９）上記実施形態において自動生成されたメロディ・データは、どのようなフォーマットで記憶してもよい。例えば、「イベント（キーオンまたはキーオフ）＋相対時間」、「イベント（キーオンまたはキーオフ）＋絶対時間」、あるいは「音高＋符長」等、各種のフォーマットが知られているから、何れを用いることもできる。また、ＳＭＦ（スタンダードＭＩＤＩファイル）の形式を採用し、歌詞を「歌詞チャンク」としてメロディ・データと同じファイルの中に埋めこんで記憶させるようにしてもよい。
【０１７９】
（１０）上記実施形態において、動作プログラムをＣＤ−ＲＯＭやフロッピーディスク等のパーソナルコンピュータ等で読み取り可能な記録媒体に記録した状態でユーザに提供してもよい。さらに、そのパーソナルコンピュータ等がＬＡＮ、インターネット、電話回線等の通信ネットワークに接続されている場合には、通信ネットワークを介して、動作プログラムや各種データ等をパーソナルコンピュータ等に提供してもよい。
【０１８０】
【発明の効果】
以上説明したように、請求項１、２、６および７記載の構成によれば各種の条件に応じてピッチパターンを変形することができ、請求項３および４記載の構成によれば当該ピッチパターンに基づいて音高を決定することができ、請求項５記載の構成によれば生成されたメロディに対して評価および修正を行うことができる。
【図面の簡単な説明】
【図１】  一実施形態のハードウエアの構成を示すブロック図である。
【図２】  曲テンプレート登録プログラムのフローチャートである。
【図３】  作曲処理プログラムのフローチャートである。
【図４】  曲テンプレートのスタイル情報を記憶する領域のメモリマップである。
【図５】  曲テンプレートのメロディ情報を記憶する領域のメモリマップである。
【図６】  歌詞の入力画面を示す図である。
【図７】  歌詞を記憶する領域のメモリマップである。
【図８】  検出されたスタイルを記憶する領域のメモリマップである。
【図９】  スタイル設定全体画面を示す図である。
【図１０】  拍子設定画面を示す図である。
【図１１】  ジャンル設定画面を示す図である。
【図１２】  形式設定画面を示す図である。
【図１３】  始−終コード設定画面を示す図である。
【図１４】  設定されたスタイルを記憶する領域のメモリマップである。
【図１５】  曲テンプレートを選択する条件を説明する図である。
【図１６】  音楽条件設定画面を示す図である。
【図１７】  リズム決定処理の全体のフローチャートである。
【図１８】  「テーブル参照方式」により「１」フレーズ分の打点を決定する処理のフローチャートである。
【図１９】  フレーズに対応する音楽条件の例を示す図である。
【図２０】  生成されるリズムパターンを示す図である。
【図２１】  選択された打点優先順位表を示す図である。
【図２２】  音楽条件と打点優先順位表との関係を示す図である。
【図２３】  シンコペーションを付加する前後のリズムパターンの一例を示す図である。
【図２４】  打点情報を記憶するためのメモリマップである。
【図２５】  「演算方式」により「１」フレーズ分の打点を決定する処理のフローチャートである。
【図２６】  「演算方式」において、先頭拍を決定する処理のフローチャートである。
【図２７】  「演算方式」において、「粗密」・「密粗」の指定に従って打点を移動する処理のフローチャートである。
【図２８】  各フレーズの打点情報を連結する処理のフローチャートである。
【図２９】  ピッチ決定処理の全体のフローチャートである。
【図３０】  「１」フレーズ分のピッチを決定する処理のフローチャートである。
【図３１】  曲テンプレートのピッチパターンを上下反転する処理のフローチャートである。
【図３２】  ピッチパターンを上下反転した例を示す図である。
【図３３】  曲テンプレートのピッチパターンの振幅を伸長・圧縮する処理のフローチャートである。
【図３４】  ピッチパターンの振幅を伸長した例を示す図である。
【図３５】  フレーズの先頭ピッチを決定する処理のフローチャートである。
【図３６】  フレーズの最後ピッチを決定する処理のフローチャートである。
【図３７】  各打点のピッチを決定する処理のフローチャートである。
【図３８】  ピッチパターンを音階軸で変形する処理の動作説明図である。
【図３９】  ピッチパターンを時間軸で変形する処理の動作説明図である。
【図４０】  ピッチパターンを打点でサンプリングする処理の動作説明図である。
【図４１】  半音階音を解消するようにピッチの修正処理を行う場合の動作説明図である。
【図４２】  刺繍音を付加する処理の動作説明図である。
【図４３】  経過音を付加する処理の動作説明図である。
【図４４】  各フレーズのピッチパターンを連結する処理のフローチャートである。
【図４５】  曲全体を評価して経過音および刺繍音を付加する処理の動作説明図である。
【図４６】  自動メロディ生成システムのソフトウエアの立ち上げ時に表示される画面を示す図である。
【図４７】  上記画面においてリストボックス１０２を表示した状態を示す図である。
【図４８】  上記実施形態の変形例のハードウエアの構成を示すブロック図である。
【符号の説明】
１・・・・ＣＰＵ（選択手段、メロディ生成手段、リズム決定手段、ピッチパターン変形手段、打点決定手段、音高計算手段、音高修正手段、メロディ修正手段）、２・・・・ＲＡＭ（歌詞情報記憶手段、曲テンプレート記憶手段、ピッチパターン記憶手段）。
【図１】
0003659220.tif 000004
【図２】
0003659220.tif 000005
【図３】
0003659220.tif 000006
【図４】
0003659220.tif 000007
【図５】
0003659220.tif 000008
【図６】
0003659220.tif 000009
【図７】
0003659220.tif 000010
【図８】
0003659220.tif 000011
【図９】
0003659220.tif 000012
【図１０】
0003659220.tif 000013
【図１１】
0003659220.tif 000014
【図１２】
0003659220.tif 000015
【図１３】
0003659220.tif 000016
【図１４】
0003659220.tif 000017
【図１５】
0003659220.tif 000018
【図１６】
0003659220.tif 000019
【図１７】
0003659220.tif 000020
【図１８】
0003659220.tif 000021
【図１９】
0003659220.tif 000022
【図２０】
0003659220.tif 000023
【図２１】
0003659220.tif 000024
【図２２】
0003659220.tif 000025
【図２３】
0003659220.tif 000026
【図２４】
0003659220.tif 000027
【図２５】
0003659220.tif 000028
【図２６】
0003659220.tif 000029
【図２７】
0003659220.tif 000030
【図２８】
0003659220.tif 000031
【図２９】
0003659220.tif 000032
【図３０】
0003659220.tif 000033
【図３１】
0003659220.tif 000034
【図３２】
0003659220.tif 000035
【図３３】
0003659220.tif 000036
【図３４】
0003659220.tif 000037
【図３５】
0003659220.tif 000038
【図３６】
0003659220.tif 000039
【図３７】
0003659220.tif 000040
【図３８】
0003659220.tif 000041
【図３９】
0003659220.tif 000042
【図４０】
0003659220.tif 000043
【図４１】
0003659220.tif 000044
【図４２】
0003659220.tif 000045
【図４３】
0003659220.tif 000046
【図４４】
0003659220.tif 000047
【図４５】
0003659220.tif 000048
【図４６】
0003659220.tif 000049
【図４７】
0003659220.tif 000050
【図４８】
0003659220.tif 000051