(57)【特許請求の範囲】
【請求項１】
曲の雰囲気キーワードに対応する伴奏データであって曲の雰囲気キーワードの各々に複数の伴奏データが対応する伴奏データを記憶する伴奏データ記憶部と、
曲の雰囲気キーワードを指示する曲の雰囲気キーワード指示部と、
前記曲の雰囲気キーワード指示部により指示された曲の雰囲気キーワードに対応する複数の伴奏データの中から１つの伴奏データをランダムに選択し、前記選択した伴奏データを用いて曲を生成する生成部とを有し、
前記伴奏データ記憶部に記憶されている伴奏データの各々は、複数のイントロ部、複数のメイン部及び複数のエンディング部を有し、
前記生成部は、前記選択された伴奏データにおいて、複数のイントロ部の中から１つのイントロ部をランダムに選択し、複数のメイン部の中からランダムの順番で複数のメイン部をランダムに選択し、複数のエンディング部の中から１つのエンディング部をランダムに選択し、前記選択したイントロ部、メイン部及びエンディング部を用いて曲を生成することを特徴とする曲生成装置。
【請求項２】
さらに、コード進行キーワードに対応するコード進行データであってコード進行キーワードの各々に複数のコード進行データが対応するコード進行データを記憶するコード進行データ記憶部と、
コード進行キーワードを指示するコード進行キーワード指示部とを有し、
前記生成部は、前記コード進行キーワード指示部により指示されたコード進行キーワードに対応する複数のコード進行データの中から１つのコード進行データをランダムに選択し、前記選択したコード進行データに従ったコード進行で前記選択した伴奏データを用いて曲を生成することを特徴とする請求項１記載の曲生成装置。
【請求項３】
前記伴奏データ記憶部に記憶されている伴奏データは曲の速さキーワードに対応付けられており、
さらに、曲の速さキーワードを指示する曲の速さキーワード指示部を有し、
前記生成部は、前記曲の雰囲気キーワード指示部により指示された曲の雰囲気キーワード及び前記曲の速さキーワード指示部により指示された曲の速さキーワードに対応する複数の伴奏データの中から１つの伴奏データをランダムに選択し、前記選択した伴奏データを用いて曲を生成することを特徴とする請求項１又は２記載の曲生成装置。
【請求項４】
さらに、目安時間を指示する目安時間指示部と、
前記生成部は、前記目安時間指示部により指示された目安時間を基に前記順番に選択するメイン部の数を決定することを特徴とする請求項１〜３のいずれか１項に記載の曲生成装置。
【請求項５】
曲の雰囲気キーワードに対応する伴奏データであって曲の雰囲気キーワードの各々に複数の伴奏データが対応する伴奏データを伴奏データ記憶部に記憶する伴奏データ記憶ステップと、
曲の雰囲気キーワードを指示する曲の雰囲気キーワード指示ステップと、
前記曲の雰囲気キーワード指示ステップにより指示された曲の雰囲気キーワードに対応する複数の伴奏データの中から１つの伴奏データをランダムに選択し、前記選択した伴奏データを用いて曲を生成する生成ステップとをコンピュータに実行させるためのプログラムであって、
前記伴奏データ記憶部に記憶されている伴奏データの各々は、複数のイントロ部、複数のメイン部及び複数のエンディング部を有し、
前記生成ステップでは、前記選択された伴奏データにおいて、複数のイントロ部の中から１つのイントロ部をランダムに選択し、複数のメイン部の中からランダムの順番で複数のメイン部をランダムに選択し、複数のエンディング部の中から１つのエンディング部をランダムに選択し、前記選択したイントロ部、メイン部及びエンディング部を用いて曲を生成することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、曲生成装置及びプログラムに関する。
【背景技術】
【０００２】
作曲をするには、専門的知識が必要である。専門的知識がないユーザでも、自動的に作曲をさせることができる装置が望まれている。しかし、毎回、同じ曲しか生成できない装置では、魅力に欠ける。また、選択手段で選択された複数のトラックの全ての演奏データを記憶手段から読み出し、読み出された演奏データに基づいて自動伴奏音を発生する自動伴奏装置が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４３１８１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、専門的知識がなくても簡単に曲を生成することができ、毎回異なる曲を生成することができる曲生成装置及びプログラムを提供することである。
【課題を解決するための手段】
【０００５】
本発明の曲生成装置は、曲の雰囲気キーワードに対応する伴奏データであって曲の雰囲気キーワードの各々に複数の伴奏データが対応する伴奏データを記憶する伴奏データ記憶部と、曲の雰囲気キーワードを指示する曲の雰囲気キーワード指示部と、前記曲の雰囲気キーワード指示部により指示された曲の雰囲気キーワードに対応する複数の伴奏データの中から１つの伴奏データをランダムに選択し、前記選択した伴奏データを用いて曲を生成する生成部とを有し、前記伴奏データ記憶部に記憶されている伴奏データの各々は、複数のイントロ部、複数のメイン部及び複数のエンディング部を有し、前記生成部は、前記選択された伴奏データにおいて、複数のイントロ部の中から１つのイントロ部をランダムに選択し、複数のメイン部の中からランダムの順番で複数のメイン部をランダムに選択し、複数のエンディング部の中から１つのエンディング部をランダムに選択し、前記選択したイントロ部、メイン部及びエンディング部を用いて曲を生成することを特徴とする。
【０００６】
また、本発明のプログラムは、曲の雰囲気キーワードに対応する伴奏データであって曲の雰囲気キーワードの各々に複数の伴奏データが対応する伴奏データを伴奏データ記憶部に記憶する伴奏データ記憶ステップと、曲の雰囲気キーワードを指示する曲の雰囲気キーワード指示ステップと、前記曲の雰囲気キーワード指示ステップにより指示された曲の雰囲気キーワードに対応する複数の伴奏データの中から１つの伴奏データをランダムに選択し、前記選択した伴奏データを用いて曲を生成する生成ステップとをコンピュータに実行させるためのプログラムであって、前記伴奏データ記憶部に記憶されている伴奏データの各々は、複数のイントロ部、複数のメイン部及び複数のエンディング部を有し、前記生成ステップでは、前記選択された伴奏データにおいて、複数のイントロ部の中から１つのイントロ部をランダムに選択し、複数のメイン部の中からランダムの順番で複数のメイン部をランダムに選択し、複数のエンディング部の中から１つのエンディング部をランダムに選択し、前記選択したイントロ部、メイン部及びエンディング部を用いて曲を生成することを特徴とするプログラムである。
【発明の効果】
【０００７】
曲の雰囲気キーワードを指示することにより、専門的知識がなくても簡単に曲を生成することができる。また、ランダムに伴奏データを選択することにより、毎回異なる曲を生成することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態による曲生成装置の曲生成方法を示すフローチャートである。
【図２】本発明の実施形態による曲生成装置の曲生成方法を示すフローチャートである。
【図３】伴奏データテーブルの構成例を示す図である。
【図４】コード進行データテーブルの構成例を示す図である。
【図５】曲の雰囲気キーワード及び曲の速さキーワードの一覧の例を示す図である。
【図６】曲の雰囲気キーワード及び曲の速さキーワードの一覧の例を示す図である。
【図７】入力画面の例を示す図である。
【図８】曲生成装置により生成される曲の例を示す図である。
【図９】本発明の実施形態による曲生成装置（コンピュータ）のハードウエア構成例を示すブロック図である。
【図１０】コンピュータプログラムの機能を説明するためのブロック図である。
【発明を実施するための形態】
【０００９】
図９は、本発明の実施形態による曲生成装置（コンピュータ）のハードウエア構成例を示すブロック図である。曲生成装置は、例えばパーソナルコンピュータで構成される。バス９０１には、中央処理装置（ＣＰＵ）９０２、ＲＯＭ９０３、ＲＡＭ９０４、ネットワークインタフェース９０５、入力装置９０６、出力装置９０７及び外部記憶装置９０８が接続されている。
【００１０】
ＣＰＵ９０２は、データの処理又は演算を行うと共に、バス９０１を介して接続された各種構成要素を制御するものである。ＲＯＭ９０３には、予めＣＰＵ９０２の制御手順（コンピュータプログラム）を記憶させておき、このコンピュータプログラムをＣＰＵ９０２が実行することにより、起動する。外部記憶装置９０８にコンピュータプログラムが記憶されており、そのコンピュータプログラムがＲＡＭ９０４にコピーされて実行される。ＲＡＭ９０４は、データの入出力、送受信のためのワークメモリ、各構成要素の制御のための一時記憶として用いられる。外部記憶装置９０８は、例えばハードディスク記憶装置やＣＤ−ＲＯＭ等であり、電源を切っても記憶内容が消えない。ＣＰＵ９０２は、ＲＡＭ９０４内のコンピュータプログラムを実行することにより、図１及び図２の曲生成装置の処理を行う。
【００１１】
ネットワークインタフェース９０５は、インターネット等のネットワークに接続するためのインタフェースである。入力装置９０６は、例えばキーボード及びマウス等であり、各種指示又は入力等を行うことができる。出力装置９０７は、表示装置（ディスプレイ）、印刷装置（プリンタ）及びスピーカ等である。出力装置９０７内の表示装置には、図７の画面が表示される。
【００１２】
図１０は、上記のコンピュータプログラムの機能を説明するためのブロック図である。コンピュータがコンピュータプログラムを実行することにより、曲生成装置（方法）が実現される。曲生成装置（方法）１０００は、曲の雰囲気キーワード指示部（ステップ）１００１、曲の速さキーワード指示部（ステップ）１００２、コード進行キーワード指示部（ステップ）１００３、目安時間指示部（ステップ）１００４、自動生成指示部（ステップ）１００５、試聴指示部（ステップ）１００６、登録指示部（ステップ）１００７、自動生成部（ステップ）１００８、再生部（ステップ）１００９、登録部（ステップ）１０１０、伴奏データ記憶部（ステップ）１０１１及びコード進行データ記憶部（ステップ）１０１２を有する。
【００１３】
図３は、伴奏データテーブルの構成例を示す図である。伴奏データ記憶部１０１１は、ＲＡＭ９０４に伴奏データテーブルを記憶する。伴奏データテーブルは、伴奏スタイル番号３０１、伴奏スタイル名３０２、標準テンポ３０３、拍子３０４、イントロ部３０５、エンディング部３０６、メイン部３０７、曲の雰囲気キーワード３０８、曲の速さキーワード３０９、楽器パートの有無３１０、ベースパートの有無３１１、ドラムパートの有無３１２及び伴奏データ３１３を有する。
【００１４】
図８は、曲生成装置により生成される曲の例を示す図である。曲は、１つのイントロ部３０５、複数のメイン部３０７及び１つのエンディング部３０６を有する。曲を再生すると、まず１つのイントロ部３０５が再生される。次に、同じ又は異なる複数のメイン部３０７が再生される。最後に、１つのエンディング部３０６が再生される。メイン部３０７の数は、ユーザが指示する曲の目安時間に応じて決定される。
【００１５】
図３において、イントロ部３０５は、メジャー用イントロ部及びマイナー用イントロ部を有する。メジャー用イントロ部は、小節数の多いロングの伴奏データ及び小節数の少ないショートの伴奏データを有する。例えば、伴奏スタイル番号「０」では、ロングの伴奏データは４小節、ショートの伴奏データは２小節である。同様に、マイナー用イントロ部も、小節数の多いロングの伴奏データ及び小節数の少ないショートの伴奏データを有する。
【００１６】
エンディング部３０６は、メジャー用エンディング部及びマイナー用エンディング部を有する。メジャー用エンディング部は、小節数の多いロングの伴奏データ及び小節数の少ないショートの伴奏データを有する。同様に、マイナー用エンディング部も、小節数の多いロングの伴奏データ及び小節数の少ないショートの伴奏データを有する。
【００１７】
メイン部３０７は、複数のバリエーションの伴奏データを有する。例えば、伴奏スタイル番号「０」では、メイン部３０７は、小節数が８であり、４個のバリエーションの伴奏データを有する。例えば、メイン部３０７が第１〜第４のバリエーションの伴奏データを有する場合、図８の曲では、メイン部（第１のバリエーション）３０７、メイン部（第２のバリエーション）３０７、メイン部（第３のバリエーション）３０７、メイン部（第４のバリエーション）３０７、メイン部（第１のバリエーション）３０７、メイン部（第２のバリエーション）３０７、・・・のように、第１〜第４のバリエーションを順番に繰り返す構成に設定することができる（図２のステップＳ１１１）。
【００１８】
曲の雰囲気キーワード３０８は、ユーザが生成したい曲の雰囲気を示すキーワードであり、例えば、スウィング、ジャズ、４ビート、シャッフル等であり、各伴奏データ３１３に割り当てられる。各伴奏データ３１３には、例えば３個以内の曲の雰囲気キーワード３０８が対応付けられる。その結果、曲の雰囲気キーワード３０８及び伴奏データ３１３は一対一に対応しているわけではなく、曲の雰囲気キーワード３０８の各々は複数の伴奏データ３１３に対応する。ユーザにより指示された曲の雰囲気キーワード３０８に対応する複数の伴奏データ３１３の中の１つをランダムに選択することにより、毎回異なる曲を生成することができる。
【００１９】
伴奏データ記憶部１０１１は、曲の雰囲気キーワード３０８に対応する伴奏データ３１３であって曲の雰囲気キーワード３０８の各々に複数の伴奏データ３１３が対応する伴奏データ３１３をＲＡＭ９０４に記憶する。伴奏データ３１３は、例えばＭＩＤＩデータである。
【００２０】
図４は、コード進行データテーブルの構成例を示す図である。コード進行データ記憶部１０１２は、ＲＡＭ９０４にコード進行データテーブルを記憶する。コード進行データテーブルは、コード進行番号４０１、コード進行名４０２、キー（主音）４０３、調性４０４、コード進行キーワード４０５及びコード進行データ４０６を有する。
【００２１】
コード進行キーワード４０５は、ユーザが生成したい曲のコード進行を示すキーワードであり、例えば、明るい、悲しい、お洒落、楽しい、不安、とてもシンプル、又はシンプル等であり、各コード進行データ４０６に割り当てられる。各コード進行データ４０６には、例えば３個以内のコード進行キーワード４０５が対応付けられる。その結果、コード進行キーワード４０５及びコード進行データ４０６は一対一に対応しているわけではなく、コード進行キーワード４０５の各々は複数のコード進行データ４０６に対応する。ユーザにより指示されたコード進行キーワード４０５に対応する複数のコード進行データ４０６の中の１つをランダムに選択することにより、毎回異なるコード進行の曲を生成することができる。
【００２２】
コード進行データ４０６は、例えば、「Ｃ／Ｆ／Ｃ／Ｃ」のように、小節等毎のコードを示すデータを有する。例えば、伴奏データ３１３のメイン部３０７の小節数が４であれば、その４小節は、「Ｃ／Ｆ／Ｃ／Ｃ」のコード進行になるように曲が生成される。生成するメイン部１回分では、コード進行データ４０６のコードが繰り返し進行する。また、曲全体で同じコード進行を繰返し使用してもよい。
【００２３】
コード進行データ記憶部１０１２は、コード進行キーワード４０５に対応するコード進行データ４０６であってコード進行キーワード４０５の各々に複数のコード進行データ４０６が対応するコード進行データ４０６をＲＡＭ９０４に記憶する。
【００２４】
図１及び図２は、本実施形態による曲生成装置の曲生成方法を示すフローチャートである。ＣＰＵ９０２がプログラムを実行することにより、図１及び図２の処理が行われる。
【００２５】
ステップＳ１０１では、ＣＰＵ９０２は、図５に示すように、図３の伴奏データテーブルの中の全ての伴奏スタイルから曲の雰囲気キーワード３０８及び曲の速さキーワード３０９を抽出し、曲の雰囲気キーワードの一覧５０１及び曲の速さキーワードの一覧５０２を作成し、ＲＡＭ９０４に記憶する。
【００２６】
次に、ステップＳ１０２では、ＣＰＵ９０２は、図６に示すように、曲の雰囲気キーワードの一覧５０１の中に「ランダム」、「ドラム」、及び「ドラム＋ベース」を追加し、曲の速さキーワードの一覧５０２の中に「ランダム」を追加する。
【００２７】
次に、ステップＳ１０３では、ＣＰＵ９０２は、図７の画面を表示装置に表示し、ユーザに自動作曲のためのパラメータを設定させる。曲の雰囲気キーワード７０１は、図６の曲の雰囲気キーワードの一覧５０１を基に表示される。曲の速さキーワード７０２は、図６の曲の速さキーワードの一覧５０２を基に表示される。ユーザは、マウスを用いて曲の雰囲気キーワード７０１の中の１つを選択することができる。曲の雰囲気キーワード指示部１００１は、ユーザの選択に応じて、曲の雰囲気キーワード７０１を指示する。また、ユーザは、マウスを用いて曲の速さキーワード７０２の中の１つを選択することができる。曲の速さキーワード指示部１００２は、ユーザの選択に応じて、曲の速さキーワード７０２を指示する。また、ユーザは、マウスを用いてコード進行キーワード７０３の中の１つを選択することができる。コード進行キーワード指示部１００３は、ユーザの選択に応じて、コード進行キーワード７０３を指示する。コード進行キーワード７０３は、例えばタイプＡ及びタイプＢを有する。タイプＡは、図４のコード進行キーワード４０５が「シンプル」又は「とてもシンプル」のコード進行データ４０６に対応する。タイプＢは、図４のコード進行キーワード４０５が「シンプル」又は「とてもシンプル」のコード進行データ４０６以外のコード進行データ４０６に対応する。また、ユーザは、マウスを用いて曲の目安時間７０４を選択することができる。目安時間指示部１００４は、ユーザの選択に応じて、目安時間７０４を指示する。
【００２８】
また、ユーザは、マウスを用いて自動生成ボタン７０５をクリックすることができる。自動生成指示部１００５は、ユーザのクリック操作に応じて、曲の自動生成処理を指示する。すると、自動生成部１００８は、その指示に応じて、ステップＳ１０４以降の曲の自動生成処理を行う。
【００２９】
また、ユーザは、マウスを用いて試聴ボタン７０６をクリックすることができる。試聴指示部１００６は、ユーザのクリック操作に応じて、生成した曲の再生処理を指示する。すると、再生部１００９は、その指示に応じて、生成した曲を再生し、スピーカから発音させる。これにより、ユーザは、生成された曲を試聴することができる。
【００３０】
また、ユーザは、キーボードを用いてファイル名７０７を入力し、マウスを用いて登録ボタン７０８をクリックすることができる。登録指示部１００７は、ユーザの操作に応じて、生成した曲のデータをファイル名７０７のファイルへの記録を指示する。すると、登録部１０１０は、その指示に応じて、生成した曲のデータをファイル名７０７のファイルへ記録する。ファイルは、例えば外部記憶装置９０８に記録される。
【００３１】
上記のように、ユーザが自動生成ボタン７０５をクリックすると、ユーザが入力したパラメータに応じて、ステップＳ１０４以降の曲の自動生成処理を行う。ステップＳ１０４では、ＣＰＵ９０２は、指定された曲の雰囲気キーワード７０１が「ドラム」又は「ドラム＋ベース」であるか否かを判断する。「いいえ」の場合にはステップＳ１０５に進み、「はい」の場合にはステップＳ１０６へ進む。
【００３２】
ステップＳ１０６では、自動生成部１００８は、図３の全ての伴奏スタイルから、指定されたドラムやベースのパートを持ち、指定された曲の速さキーワード７０２を持つものをピックアップする。ただし、指定された曲の速さキーワード７０２が「ランダム」の場合は、伴奏スタイルの曲の速さキーワードはチェックしない。その後、ステップＳ１０７へ進む。
【００３３】
具体的には、指定された曲の雰囲気キーワード７０１が「ドラム」の場合には、図３の全ての伴奏スタイルの中で、ドラムパートが存在するもののみをピックアップする。例えば、図３の伴奏スタイルの例では、伴奏スタイル番号０〜３と５〜１０がピックアップされる。
【００３４】
また、指定された曲の雰囲気キーワード７０１が「ドラム＋ベース」の場合には、図３の全ての伴奏スタイルの中で、ドラムパートとベースパートが存在するもののみをピックアップする。例えば、図３の伴奏スタイルの例では、伴奏スタイル番号０〜３と５〜１０がピックアップされる。
【００３５】
ステップＳ１０５では、自動生成部１００８は、図３の全ての伴奏スタイルから、指定された曲の雰囲気キーワード７０１及び曲の速さキーワード７０２を持つものをビックアップする。指定された曲の雰囲気キーワード７０１が「ランダム」の場合は、図３の伴奏スタイルの曲の雰囲気キーワードはチェックしない。その後、ステップＳ１０７へ進む。
【００３６】
具体的には、指定された曲の雰囲気キーワード７０１が「ランダム」の場合には、全ての伴奏スタイルをピックアップする。例えば、図３の伴奏スタイルの例では、伴奏スタイル番号０〜１０がピックアップされる。
【００３７】
また、指定された曲の雰囲気キーワード７０１が上記の３つ以外の場合には、図３の全ての伴奏スタイルの中で、指定された曲の雰囲気キーワード７０１を持つもののみをピックアップする。ユーザが曲の雰囲気キーワード７０１として「ジャズ」を選んだ場合、図３の伴奏スタイルの例では、伴奏スタイル番号０〜３がピックアップされる。
【００３８】
自動生成部１００８は、上記処理でピックアップされた伴奏スタイルの中から、ユーザが指定した曲の速さキーワード７０２に合わないものをはずす。
【００３９】
具体的には、指定された曲の速さキーワード７０２が「ランダム」の場合には、上記処理でピックアップされた伴奏スタイルは、はずす処理を行わずに全て残す。例えば、ユーザが曲の雰囲気キーワード７０１として「ジャズ」、曲の速さキーワード７０２として「ランダム」を選んだ場合、図３の伴奏スタイルの例では、最終的に伴奏スタイル番号０〜３がピックアップされる。
【００４０】
また、指定された曲の速さキーワード７０２が「ランダム」以外の場合には、上記処理でピックアップされた伴奏スタイルの中で、指定された曲の速さキーワード７０２を持たないものをはずす。例えば、ユーザが曲の雰囲気キーワード７０１として「４ビート」、曲の速さキーワード７０２として「普通」を選んだ場合、図３の伴奏スタイルの例では、最終的に伴奏スタイル番号２，４がピックアップされる。
【００４１】
ステップＳ１０７では、自動生成部１００８は、上記のピックアップされた複数の伴奏スタイルの中からランダムに１つを決める。
【００４２】
次に、ステップＳ１０８では、自動生成部１００８は、伴奏スタイルが持つイントロ部とエンディング部の中からランダムに１つずつ使用する番号を決める。具体的には、使用するイントロ部の長さ（ロング又はショート）を決める。まず、上記のピックアップされた伴奏スタイルのイントロ部のロングとショートの小節数を参照する。
【００４３】
次に、どちらも０より大きい場合には、図３の伴奏スタイルの例では、伴奏スタイル番号が９の場合はロングかショートどちらかをランダムで選ぶ。また、片方が０の場合には、０でない方を選ぶ。例えば、図３の伴奏スタイルの例では、伴奏スタイル番号が１０の場合はロングを選ぶ。また、両方０の場合には、イントロ部はなしとなる。同様に、エンディング部を決める。
【００４４】
次に、ステップＳ１０９では、自動生成部１００８は、調性（メジャー又はマイナー）をランダムに決める。
【００４５】
次に、ステップＳ１１０では、自動生成部１００８は、キー（主音：−７〜＋７）をランダムに決める。そして、自動生成部１００８は、使用するテンポを決める。具体的には、図３の伴奏スタイルの標準テンポ３０３をそのまま使用するテンポとして決める。
【００４６】
次に、ステップＳ１１１では、自動生成部１００８は、伴奏スタイルのバリエーションの使い方（ランダム、順番又は固定）をランダムに決める。
【００４７】
次に、ステップＳ１１２では、自動生成部１００８は、伴奏スタイルのイントロ部とメイン部、エンティング部の時間の長さから、指定の目安時間７０４に近くなるように、メイン部の繰り返し回数を求める。すなわち、図８のメイン部３０７の数を求める。
【００４８】
具体的には、上記のピックアップされた伴奏スタイルのイントロ部とエンディング部、メイン部の小節数を図３のテーブルから取得する。そして、上記の決定したテンポと伴奏スタイルの拍子、小節数から、指定された目安時間７０４に近くなるように、メイン部の繰り返し回数を算出する。
【００４９】
例えば、伴奏スタイル番号７、イントロ部、エンディング部ともにショート、目安時間が１分、ＭＩＤＩの四分音符の分解能が４８０の場合を説明する。１小節当たりのＴｉｃｋ（ＭＩＤＩの四分音符の分解能に従った時間的な値）を次式により求める。
【００５０】
伴奏スタイルの拍子の分子×（４÷伴奏スタイルの拍子の分母）×四分音符の分解能
＝４×（４÷４）×４８０＝１９２０
【００５１】
なお、四分音符の分解能は、ステップＳ１１３以降で実際にＭＩＤＩファイルを生成するときに同じ値を使用する。
【００５２】
次式により、目安時間をＴｉｃｋに変換する。
目安時間（秒）÷（６０÷テンポ）×四分音符の分解能
＝６０÷（６０÷８０）×４８０=３８４００
【００５３】
次に、次式により、目安時間（Ｔｉｃｋ）から必要小節数を求める。
目安時間（Ｔｉｃｋ）÷１小節当たりの時間（Ｔｉｃｋ）
＝３８４００÷１９２０=２０
【００５４】
次に、次式により、必要小節数からメイン部の繰り返し回数を求める。
（必要小節数−イントロ小節数−エンディング小節数）÷メイン小節数
＝（２０−３−３）÷４＝３．５
小数第１位を四捨五入し、メイン部の繰り返し回数は４に決定する。
【００５５】
次に、ステップＳ１１３では、自動生成部１００８は、決定した調性、キー、伴奏スタイル、イントロ番号（ロング又はショート）に従って、図３の伴奏スタイルのデータを参照し、イントロ部のＭＩＤＩデータ（曲データ）を生成する。
【００５６】
次に、ステップＳ１１４では、自動生成部１００８は、決定した調性、キー、伴奏スタイル、指定のコード進行キーワード、バリエーションの使い方から、メイン部のＭＩＤＩデータを必要数繰り返し生成する。具体的には、ステップＳ１２１〜Ｓ１２５の処理をメイン部の繰り返し回数分だけ繰り返し行う。
【００５７】
ステップＳ１２１では、自動生成部１００８は、決定したバリエーションの使い方に従い、バリエーション番号を決める。
【００５８】
バリエーションの使い方が「ランダム」の場合には、図３の伴奏スタイルのバリエーション数を参照し、ランダムでバリエーション番号を決定する。例えば、図３の伴奏スタイル番号０の場合は、バリエーション番号０〜３の中からランダムでバリエーション番号を決定する。
【００５９】
また、バリエーションの使い方が「順番」の場合には、繰り返し処理１回前に使用したバリエーション番号の次の番号を選択する。バリエーション数を超えてしまうようなら、バリエーション番号を０にする。また、繰り返し処理１回目の場合は、ランダムでバリエーション番号を決定する。例えば、図３の伴奏スタイル番号０の場合、前回の処理でバリエーション番号０なら1、バリエーション番号１なら２、バリエーション番号２なら３、バリエーション番号３なら０となる。
【００６０】
また、バリエーションの使い方が「固定」の場合には、繰り返し処理１回前に使用したバリエーション番号と同じ番号を選択する。また、繰り返し処理１回目の場合はランダムでバリエーション番号を決定する。例えば、図３の伴奏スタイル番号０の場合、前回の処理でバリエーション番号０なら０、バリエーション番号１なら１、バリエーション番号２なら２、バリエーション番号３なら３となる。
【００６１】
次に、ステップＳ１２２では、自動生成部１００８は、全てのコード進行から、調性と指定のコード進行キーワードに一致するものをピックアップする。
【００６２】
具体的には、図４のコード進行データテーブルの一覧の中から、コード進行の調性が上記で決定した調性と同じものを全てピックアップする。例えば、決定した調性がメジャーの場合には、全てのコード進行の中で調性がメジャーのものを全てピックアップする。図４のコード進行データテーブルの例では、コード進行番号０〜２、５〜１０がピックアップされる。
【００６３】
次に、上記処理でピックアップされたコード進行から、ユーザが指定したコード進行キーワードに合わないものをはずす。
【００６４】
指定されたコード進行キーワード７０３がタイプＡの場合には、コード進行キーワード４０５で「シンプル」又は「とてもシンプル」を持たないものをはずす。例えば、図４のコード進行データテーブルの例では、調性がメジャーの場合は最終的に、コード進行番号０〜２、９がピックアップされる。
【００６５】
また、指定されたコード進行キーワード７０３がタイプＢの場合には、コード進行キーワード４０５で「シンプル」又は「とてもシンプル」を持つものをはずす。例えば、図４のコード進行データテーブルの例では、調性がメジャーの場合は最終的に、コード進行番号５〜８、１０がピックアップされる。
【００６６】
次に、ステップＳ１２３では、自動生成部１００８は、ピックアップされたコード進行の中からランダムに１つを決める。
【００６７】
次に、ステップＳ１２４では、自動生成部１００８は、上記で決定されたキーに従い、コード進行データを移調する。
【００６８】
次に、ステップＳ１２５では、自動生成部１００８は、上記で決定されたコード進行、伴奏スタイル、バリエーション番号に従って、上記の伴奏スタイルが持つフィルインデータ及び伴奏データを参照し、メイン部のＭＩＤＩデータを生成する。なお、指定された曲の雰囲気キーワードが「ドラム」の場合は、ドラムパート以外のデータは生成しないようにする。また、指定された曲の雰囲気キーワードが「ドラム＋ベース」の場合は、ドラムとベースパート以外のデータは生成しないようにする。
【００６９】
次に、ステップＳ１１５では、自動生成部１００８は、上記のイントロ部の処理と同様に、決定した調性、キー、伴奏スタイル、エンディング番号（ロング又はショート）に従って、図３の伴奏スタイルのデータを参照し、エンディング部のＭＩＤＩデータ（曲データ）を生成する。
【００７０】
次に、ステップＳ１１６では、自動生成部１００８は、図８に示すように、上記で生成されたイントロ部、メイン部及びエンディング部のＭＩＤＩデータを１つのＷＡＶファイル（曲データファイル）に変換する。
【００７１】
以上のように、伴奏データ記憶部１０１１は、図３に示すように、曲の雰囲気キーワード３０８に対応する伴奏データ３１３であって曲の雰囲気キーワード３０８の各々に複数の伴奏データ３１３が対応する伴奏データ３１３を記憶する。コード進行データ記憶部１０１２は、図４に示すように、コード進行キーワード４０５に対応するコード進行データ４０６であってコード進行キーワード４０５の各々に複数のコード進行データ４０６が対応するコード進行データ４０６を記憶する。
【００７２】
曲の雰囲気キーワード指示部１００１は、曲の雰囲気キーワード７０１を指示する。自動生成部１００８は、曲の雰囲気キーワード指示部１００１により指示された曲の雰囲気キーワード７０１に対応する複数の伴奏データ３１３の中から１つの伴奏データ３１３をランダムに選択し、その選択した伴奏データ３１３を用いて曲を生成する。
【００７３】
コード進行キーワード指示部１００３は、コード進行キーワード７０３を指示する。自動生成部１００８は、コード進行キーワード指示部１００３により指示されたコード進行キーワード７０３に対応する複数のコード進行データ４０６の中から１つのコード進行データ４０６をランダムに選択し、その選択したコード進行データ４０６に従ったコード進行で上記の選択した伴奏データ３１３を用いて曲を生成する。
【００７４】
伴奏データ記憶部１０１１に記憶されている伴奏データは、図３に示すように、曲の速さキーワード３０９に対応付けられている。曲の速さキーワード指示部１００２は、曲の速さキーワード７０２を指示する。自動生成部１００８は、曲の雰囲気キーワード指示部１００１により指示された曲の雰囲気キーワード及び曲の速さキーワード指示部１００２により指示された曲の速さキーワードに対応する複数の伴奏データ３１３の中から１つの伴奏データ３１３をランダムに選択し、その選択した伴奏データを用いて曲を生成する。
【００７５】
伴奏データ記憶部１０１１に記憶されている伴奏データの各々は、図３に示すように、複数のイントロ部３０５、複数のメイン部３０７及び複数のエンディング部３０６を有する。自動生成部１００８は、上記の選択された伴奏データ３１３において、複数のイントロ部３０５の中から１つのイントロ部３０５をランダムに選択し、複数のメイン部３０７の中からランダムの順番で複数のメイン部３０７をランダムに選択し、複数のエンディング部３０６の中から１つのエンディング部３０６をランダムに選択し、その選択したイントロ部３０５、メイン部３０７及びエンディング部３０６を用いて曲を生成する。
【００７６】
目安時間指示部１００４は、目安時間７０４を指示する。自動生成部１００８は、目安時間指示部１００４により指示された目安時間７０４を基に上記の順番に選択するメイン部３０７の数を決定する。
【００７７】
本実施形態によれば、曲の雰囲気キーワード７０１を指示することにより、専門的知識がなくても簡単に曲を生成することができる。また、ランダムに伴奏データを選択することにより、毎回異なる曲を生成することができる。
【００７８】
本実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びコンピュータプログラムプロダクトは、本発明の範疇に含まれる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００７９】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８０】
１００１  曲の雰囲気キーワード指示部
１００２  曲の速さキーワード指示部
１００３  コード進行キーワード指示部
１００４  目安時間指示部
１００５  自動生成指示部
１００６  試聴指示部
１００７  登録指示部
１００８  自動生成部
１００９  再生部
１０１０  登録部
１０１１  伴奏データ記憶部
１０１２  コード進行データ記憶部
【図１】
0005620667.tif 000002
【図２】
0005620667.tif 000003
【図３】
0005620667.tif 000004
【図４】
0005620667.tif 000005
【図５】
0005620667.tif 000006
【図６】
0005620667.tif 000007
【図７】
0005620667.tif 000008
【図８】
0005620667.tif 000009
【図９】
0005620667.tif 000010
【図１０】
0005620667.tif 000011