(57)【特許請求の範囲】
【請求項１】
生成されるメロディの進行に従って値が変化する盛り上がり度データを供給する手段と、
供給された盛り上がり度データに基づいてメロディのリズムの打点を生成する打点生成手段と、
供給された盛り上がり度データに基づいてメロディのピッチを生成し、生成されたリズムの打点に付与するピッチ生成手段と
を具備することを特徴とする自動作曲装置。
【請求項２】
生成されるメロディの進行に従って値が変化する盛り上がり度データを供給する手段と、
供給された盛り上がり度データに基づいてメロディのリズムの打点を生成する打点生成手段と、
供給された盛り上がり度データに基づいてメロディのピッチを生成し、生成されたリズムの打点に付与するピッチ生成手段と、
供給された盛り上がり度データに基づいて伴奏データを生成する手段と
を具備することを特徴とする自動作曲装置。
【請求項３】
生成されるメロディの進行に従って値が変化する盛り上がり度データを供給する手段と、
供給された盛り上がり度データに基づいてメロディのリズムの打点を生成する打点生成手段と、
生成されたリズムの打点のうちの重要打点を決定する手段と、
盛り上がり度データに基づいてメロディのピッチを生成し、決定されたリズムの重要打点に付与すると共に、決定された重要打点を除くリズムの打点に、所定のアルゴリズムに従って、ピッチを生成して付与するピッチ生成手段と
を具備することを特徴とする自動作曲装置。
【請求項４】
前記打点生成手段は、生成されるリズムの特徴を盛り上がり度データの値に応じて決定し、決定された特徴に基づいてリズムの打点を生成することを特徴とする請求項１〜３の何れか１項に記載の自動作曲装置。
【請求項５】
前記ピッチ生成手段は、供給された盛り上がり度データの値をピッチに対応させ、このピッチを生成されたリズムの打点でサンプリングし、サンプリングされたピッチを所定の音階音又はコード構成音に修正することによりメロディのピッチを生成することを特徴とする請求項１〜３の何れか１項に記載の自動作曲装置。
【請求項６】
生成されるメロディの進行に従って値が変化する盛り上がり度データを供給するステップと、
供給された盛り上がり度データに基づいてメロディのリズムの打点を生成するステップと、
供給された盛り上がり度データに基づいてメロディのピッチを生成し、生成されたリズムの打点に付与するステップと
から成るプログラムを記録していることを特徴とする自動作曲のための記録媒体。
【請求項７】
生成されるメロディの進行に従って値が変化する盛り上がり度データを供給するステップと、
供給された盛り上がり度データに基づいてメロディのリズムの打点を生成するステップと、
供給された盛り上がり度データに基づいてメロディのピッチを生成し、生成されたリズムの打点に付与するステップと、
供給された盛り上がり度データに基づいて伴奏データを生成するステップと
から成るプログラムを記録していることを特徴とする自動作曲のための記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、自動作曲装置及び記録媒体に関する。
【０００２】
【従来の技術】
従来より、メロディ等の楽曲データを自動的に作成するものが種々提案されている。例えば、特開平９−５０２７８号公報には、「感情の起伏」曲線を設定し、この曲線に沿ったピッチをリズムに付与する自動作曲装置が開示されている。しかしながら、メロディのリズムの生成においては、上述した「感情の起伏」曲線とは無関係にリズムの諸特徴（例えば、粗密、フレーズ先頭の遅れ、対比／模倣、シンコペーション）を設定する必要があり、その設定操作は容易でなく、しかも、感情の起伏とリズムがマッチしない恐れがあった。
【０００３】
【発明が解決しようとする課題】
この発明の主たる目的は、メロディの進行に従って値が変化する盛り上がり度を設定し、この盛り上がり度に基づいて、盛り上がり度を反映したメロディのリズムとピッチの双方を生成させ、更には、この盛り上がり度に基づいて伴奏データをも生成させることにより、リズムの盛り上がり方とピッチの盛り上がり方がマッチし、起伏に富んだ楽曲を比較的簡単な構成で作成することができる自動作曲装置を提供することにある。
【０００４】
【課題を解決するための手段】
この発明の主たる特徴に従うと、生成されるメロディの進行に従って値が変化する盛り上がり度データを供給する手段と、供給された盛り上がり度データに基づいてメロディのリズムの打点を生成する打点生成手段と、供給された盛り上がり度データに基づいてメロディのピッチを生成し、生成されたリズムの打点に付与するピッチ生成手段とを具備する自動作曲装置が提供され、また、生成されるメロディの進行に従って値が変化する盛り上がり度データを供給するステップと、供給された盛り上がり度データに基づいてメロディのリズムの打点を生成するステップと、供給された盛り上がり度データに基づいてメロディのピッチを生成し、生成されたリズムの打点に付与するステップとから成るプログラムを記録している自動作曲のための記録媒体が提供される。
【０００５】
また、この発明の第２の特徴に従うと、生成されるメロディの進行に従って値が変化する盛り上がり度データを供給する手段と、供給された盛り上がり度データに基づいてメロディのリズムの打点を生成する打点生成手段と、供給された盛り上がり度データに基づいてメロディのピッチを生成し、生成されたリズムの打点に付与する手段と、供給された盛り上がり度データに基づいて伴奏データを生成するピッチ生成手段とを具備する自動作曲装置が提供され、また、生成されるメロディの進行に従って値が変化する盛り上がり度データを供給するステップと、供給された盛り上がり度データに基づいてメロディのリズムの打点を生成するステップと、供給された盛り上がり度データに基づいてメロディのピッチを生成し、生成されたリズムの打点に付与するステップと、供給された盛り上がり度データに基づいて伴奏データを生成するステップとから成るプログラムを記録している自動作曲のための記録媒体が提供される。
【０００６】
さらに、この発明の第３の特徴に従うと、生成されるメロディの進行に従って値が変化する盛り上がり度データを供給する手段と、供給された盛り上がり度データに基づいてメロディのリズムの打点を生成する打点生成手段と、生成されたリズムの打点のうちの重要打点を決定する手段と、盛り上がり度データに基づいてメロディのピッチを生成し、決定されたリズムの重要打点に付与すると共に、決定された重要打点を除くリズムの打点に、所定のアルゴリズムに従って、ピッチを生成して付与するピッチ生成手段とを具備する自動作曲装置が提供される。
【０００７】
この発明による自動作曲装置においては、打点生成手段は、生成されるリズムの特徴を盛り上がり度データの値に応じて決定し、決定された特徴に基づいてリズムの打点を生成させるようにすることが望ましく、決定されるリズムの特徴は、例えば、最小音符、音符数、シンコペーション頻度などである。また、ピッチ生成手段は、供給された盛り上がり度データの値をピッチに対応させ、このピッチを生成されたリズムの打点でサンプリングし、サンプリングされたピッチを所定の音階音又はコード構成音に修正することによりメロディのピッチを生成させるようにすることが望ましい。
【０００８】
〔作用〕
この発明の主たる特徴によれば、供給された盛り上がり度に基づいて、盛り上がり度を反映したピッチを生成するだけでなく、盛り上がり度に基づいて、盛り上がり度を反映したリズムの打点をも生成し、このリズムの打点にピッチを付与するようにしているので、起伏に富んだメロディを簡単に生成することができ、リズムの盛り上がり方とピッチの盛り上がり方がマッチしたメロディを生成することができる。
【０００９】
また、この発明の第２の特徴によれば、生成される伴奏についても、盛り上がり度に応じたものにするので、メロディと伴奏とが一層マッチした楽曲を作成することができる。さらに、この発明の第３の特徴に従うと、生成されたリズムの重要打点に対して盛り上がり度に基づいたピッチを付与し、残りの打点には所定アルゴリズムによりピッチを付与するようにしているので、感情の起伏を反映しつつ、様々なメロディを生成することができる。
【００１０】
【発明の実施の形態】
以下、図面を参照しつつ、この発明の好適な実施例を詳述する。なお、以下の実施例は単なる一例であって、この発明の精神を逸脱しない範囲で種々の変更が可能である。
【００１１】
〔ハードウエア構成〕
図１を参照すると、ここには、この発明の一実施例による自動作曲装置のハードウエア構成のブロック図が示されている。この例では、システムは、中央処理装置（ＣＰＵ）１、読出専用メモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３、第１及び第２の検出回路４，５、表示回路６、音源回路７、効果回路８、外部記憶装置９等を備え、これらの装置１〜９は、バス１０を介して互いに接続されており、楽曲データ自動作成処理を行うための自動作曲システムを構成している。
【００１２】
システム全体を制御するＣＰＵ１は、テンポクロックや割込みクロックの発生等に利用されるタイマ１１を備え、所定のプログラムに従って種々の制御を行い、特に、後述するメロディリズム生成やメロディピッチ生成を含む楽曲データ自動作成処理を中枢的に遂行する。ＲＯＭ２には、この自動作曲システムを制御するための所定の制御プログラムが記憶されており、これらの制御プログラムには、基本的な演奏情報処理と共に、この発明によるメロディリズム生成やメロディピッチ生成に関する各種処理プログラムや、盛り上がり度テーブル等の各種テーブル、各種データを含ませることができる。ＲＡＭ３は、これらの処理に際して必要なデータやパラメータを記憶し、また、各種レジスタやフラグ、処理中の各種データ等を一時記憶するためのワーク領域として用いられる。
【００１３】
第１の検出回路４は鍵盤等の演奏操作子を備えた演奏操作装置１２に接続され、第２の検出回路５に接続される操作スイッチ装置１３は、各種モード・パラメータ・操作の設定を行うための操作子を備え、これらの操作子には、楽曲作成モード指定スイッチ、文字／数字キー、各種データ選択／指定用スイッチ等のパネル上の操作子の外、マウス等のポインティングデバイスが含まれる。表示回路６はディスプレイ１４や各種インジケータを備えており、これらのディスプレイ１４やインジケータは、スイッチ装置１３の操作パネル上の各種操作子に並置することができる。また、ディスプレイ１４には、各種設定画面や各種操作子ボタンを表示し、上述のポインティングデバイスや文字／数字キー等を用いて盛り上がり度データ等の各種設定・表示を行うことができる。
【００１４】
ＤＳＰ等で構成される効果回路８に接続されるサウンドシステム１５は、音源回路７及び効果回路８と共に楽音出力部を構成し、この自動作曲システムで作成された楽曲データを含む各種演奏データに基づき楽音を放音させる。
【００１５】
外部記憶装置９は、ハードディスクドライブ（ＨＤＤ）、コンパクトディスク・リード・オンリィ・メモリ（ＣＤ−ＲＯＭ）ドライブ、フロッピィディスクドライブ（ＦＤＤ）、光磁気（ＭＯ）ディスクドライブ、ディジタル多目的ディスク（ＤＶＤ）ドライブ等の記憶装置から成り、各種制御プログラムや各種データを記憶することができる。従って、演奏データの処理に必要なプログラムや各種データは、ＲＯＭ２を利用するだけでなく、外部記憶装置９からＲＡＭ３内に読み込むことができ、必要に応じて、処理結果を外部記憶装置９に記録しておくこともできる。
【００１６】
この例では、バス１０にＭＩＤＩインターフェイス（Ｉ／Ｆ）１６が接続され、システムは他のＭＩＤＩ機器１７と通信することができる。さらに、バス１０には通信インターフェイス１８も接続され、通信ネットワーク１９を介してサーバコンピュータ２０から制御プログラムや各種データを外部記憶装置９にストアすることもできる。
【００１７】
〔システム機能の概要〕
図２は、この発明の一実施例に従ってＣＰＵ１により実行される楽曲データ作成処理ステップを機能的にブロック化して表わした自動作曲システムの概要図を示す。この自動作曲システムは、メロディのリズム生成に必要なリズム生成用データＲｈを供給するリズム生成用データ供給ブロックＲＡと、生成されるべきメロディの進行に従って値が変化する盛り上がり度データＥｍを供給する盛り上がり度データ供給ブロックＥＡと、両データＲｈ，Ｅｍに基づいてメロディリズムデータＭｒを生成するメロディリズム生成ブロックＲＧと、メロディのピッチ生成に必要なピッチ生成用データＰｔを供給するピッチ生成用データ供給ブロックＰＡと、メロディリズムデータＭｒ、盛り上がり度データＥｍ及びピッチ生成用データＰｔに基づいてメロディピッチデータＭｐを生成するメロディピッチ生成ブロックＰＧと、盛り上がり度を含む各データＥｍ，Ｒｈ，Ｐｔ、に基づいて伴奏データＡｃを生成する伴奏作成ブロックＡＧと、メロディピッチデータＭｐ及び伴奏データＡｃを出力する出力ブロックＯＰとを備えている。
【００１８】
先ず、リズム生成用データ供給ブロックＲＡは、メロディのリズムを生成するのに必要な各種データ、例えば、「拍子」、「音楽ジャンル」、「小節数」、複数楽節間の類似／対比等を表わす「楽節構成」等、リズムの特徴を指示するための種々のデータを、リズム生成用データＲｈとして、メロディリズム生成ブロックＲＧに供給する。これらのリズム生成用データＲｈは、データの種類毎にユーザが値を設定してもよいし、各データ種類の値の組を、ＲＯＭ２や外部記憶装置９に予めテンプレートとして複数記憶しておき、何れかを選択してもよい。なお、これらのリズム生成用データＲｈは、伴奏生成ブロックＡＧにも供給され、伴奏データＡｃの生成にも利用される。
【００１９】
ピッチ生成用データ供給ブロックＰＡは、メロディのピッチを生成するのに必要な各種データ、例えば、「調」、「コード進行」等を指示するための種々のデータを、ピッチ生成用データＰｔとして、メロディピッチ生成ブロックＰＧに供給する。これらのピッチ生成用データＰｔは、データの種類毎にユーザが値を設定してもよいし、各データ種類の組を、ＲＯＭ２や外部記憶装置９に予めテンプレートとして複数記憶しておき、何れかを選択してもよい。なお、これらのピッチ生成用データＰｔは、伴奏生成ブロックＡＧにも供給され、伴奏データＡｃの生成にも利用される。
【００２０】
盛り上がり度供給ブロックＥＡは、メロディのリズム及びピッチを生成するのに必要な盛り上がり度データＥｍを、メロディリズム生成ブロックＲＧ及びメロディピッチ生成ブロックＰＧに供給する。この盛り上がり度データＥｍの供給アルゴリズムについては、後で詳しく説明する。なお、盛り上がり度データＥｍは、伴奏生成ブロックＡＧにも供給され、伴奏Ａｃの生成にも利用される。
【００２１】
次に、メロディリズム生成ブロックＲＧは、リズム生成用データ供給ブロックＲＡから供給されるリズム生成用データＲｈ及び盛り上がり度データ供給ブロックから供給される盛り上がり度データＥｍに基づき、所定のメロディリズム生成アルゴリズムに従い１曲分のメロディリズムデータＭｒを生成する。このメロディリズムデータＭｒの生成アルゴリズムについては、後で詳しく説明する。
【００２２】
メロディピッチ生成ブロックＰＧは、メロディリズム生成ブロックＲＧから供給されるメロディリズムデータＭｒ、ピッチ生成用データ供給ブロックＰＡから供給されるピッチ生成用データＰｔ及び盛り上がり度データ供給ブロックＥＡから供給される盛り上がり度データＥｍに基づき、所定のメロディピッチ生成アルゴリズムに従って１曲分のメロディピッチデータＭｐを生成する。このメロディピッチデータＭｐの生成アルゴリズムについては、後で詳しく説明する。
【００２３】
〔伴奏データ生成〕
伴奏生成ブロックＡＧは、リズム生成用データ供給ブロックＲＡ、ピッチ生成用データ供給ブロックＰＡ、盛り上がり度データ供給ブロックＥＡから供給される各種データＲｈ，Ｐｔ，Ｅｍに基づいて、１曲分の伴奏データＡｃを生成する機能ブロックである。このブロックＡＧにおける伴奏データの生成手順の一例について簡単に説明する。
【００２４】
例えば、リズム生成用データＲｈ中の「拍子」及び「音楽ジャンル」に基づいて、多数の伴奏スタイルの中から何れかを選択する。次に、同データＲｈ中の「小節数」及び「楽節構成」、盛り上がり度データＥｍ等に基づいて、伴奏セクションの進行、即ち、イントロ、メイン、フィルイン、エンディング等の流れを、生成する。このような伴奏セクション進行の生成には、例えば、盛り上がり度データＥｍにより盛り上がる程フィルインの頻度を上げる等の方法が用いられる。また、ピッチ生成用データＰｔ中の「コード進行」に基づいて、伴奏パターン中の各ノートの音高を決定し、「コード進行」に合う伴奏音に修正する。そして、盛り上がり度データＥｍに基づいて、伴奏音の音量、音色、パート数などを制御する。例えば、盛り上がる程、音量が大きく、音色がきらびやかに、パート数が多くなるように制御する。
【００２５】
出力ブロックＯＰは、メロディピッチ生成ブロックＰＧ及び伴奏生成ブロックＡＧで生成されたメロディピッチデータＭｐ及び伴奏データＡｃを出力する。出力態様の例を挙げれば、外部記憶装置９等に記憶する方法、ＭＩＤＩインターフェース１６や通信インターフェース１８を介して他の機器へと出力する方法、音源回路７を介して発音させる方法、表示回路６によりディスプレイ１４上に楽譜形式、ピアノロール譜形式等で表示をさせる方法、生成されたメロディピッチデータＭｐや伴奏データＡｃを一部手直しができるように、図示しない編集機能付きのシーケンサへ出力する方法等がある。また、これらのうちの複数を同時に実行してもよい。
【００２６】
〔盛り上がり度データの設定〕
図３及び図４には、ブロックＥＡから供給される盛り上がり度データＥｍの設定例が示されており、この例では、生成される曲は、第１楽節乃至第４楽節から成る４楽節で構成されている。盛り上がり度データＥｍを設定するには、図３及び図４に示されるように、盛り上がり度Ｅｍ−時間ｔ（楽節）の座標Ｅｍ−ｔを表示し、操作スイッチ装置１３に備えられたマウス等のポインティングデバイスを用いて、この座標Ｅｍ−ｔ上に任意の盛り上がり度カーブＥｃをセットする等の手法を採用することができる。例えば、新たに線を描く、表示されている線をドラッグする等の種々の方法によって値を設定する。
【００２７】
図３（１）の「一定値」は、盛り上がり度カーブＥｃにより表わされる盛り上がり度の値を楽節単位で一定値とした例を示す。図３（２）〜図４（１）は盛り上がり度カーブＥｃを折れ線タイプにしたもので、図３（２）の「折れ線ａ」では、楽節単位でセットされる盛り上がり度カーブＥｃの値を、前楽節の末尾と後楽節の先頭で等しくしているが、図３（３）の「折れ線ｂ」のように、前楽節の末尾と後楽節の先頭の値が異なってもよい。また、図４（１）の「折れ線ｃ」では、楽節の境目とは無関係に、連続する折れ線で盛り上がり度カーブＥｃをセットする例を示している。図４（２）及び図４（３）は盛り上がり度カーブＥｃを曲線タイプにしたもので、図４（２）の「曲線ａ」では楽節単位で盛り上がり度カーブＥｃがセットされ、図４（３）の「曲線ｂ」では楽節とは無関係の連続曲線により盛り上がり度カーブＥｃがセットされる。
【００２８】
ポインティングデバイスを用いず、別の手法とて、スイッチ装置１３の文字／数字キー等を用いて、各楽節の値（例えば、一定値や先頭／末尾の値など）を数値入力することにより、所定の盛り上がり度カーブＥｃをもつ盛り上がり度データＥｍを設定することもできる。さらに別の手法として、所定の盛り上がり度カーブＥｃを表わす盛り上がり度テンプレートをＲＯＭ２や外部記憶装置９に予め複数種類記憶しておき、ユーザが何れかを選択する方法を採ることもできる。
【００２９】
〔メロディリズム生成〕
図５は、メロディリズム生成ブロックＲＧにおけるメロディリズム生成処理の一具体例を示す処理フロー図である。このメロディリズム生成処理フローがスタートすると、まず、最初のステップＲ１にて、対象区間を先頭区間に設定する。この対象区間の設定は、例えば、楽節、小節単位等で行う。次のステップＲ２では、盛り上がり度データ供給ブロックＥＡから供給される当該区間の盛り上がり度データＥｍから、この区間の盛り上がり度値Ｅｖを取得し、ステップＲ３に進む。この盛り上がり度値の取得は、例えば、盛り上がり度カーブＥｃが折れ線や曲線の場合には、その区間の平均値を採る。従って、図３（１）のように盛り上がり度カーブＥｃが「一定値」の場合は各楽節での値が採用されるが、図３（２）〜図４（３）のように盛り上がり度カーブＥｃが楽節単位内で変化する場合は、対象区間の設定（例えば、小節単位とするか楽節単位とするか）に応じて、精粗の設定が可能になる。
【００３０】
ステップＲ３においては、盛り上がり度テーブルを参照して、盛り上がり度値に対応した最小音符（音符の細かさ）Ｎｓ、音符数Ｎｎ、シンコペーションの頻度Ｓｆ等を取得し、ステップＲ４に進む。この盛り上がり度テーブルは、図６に一例が示されるように、最小音符Ｎｓ、音符数Ｎｎ、シンコペーション頻度Ｓｆ等のリズムの特徴を表わすデータを、盛り上がり度の値に対応付けることにより作成され、ＲＯＭ２や外部記憶装置９に予め用意されている。なお、音符数Ｎｎやシンコペーション頻度Ｓｆは小節単位で設定される。
【００３１】
ステップＲ４では、ステップＲ３で取得された最小音符Ｎｓ、音符数Ｎｎ、シンコペーション頻度Ｓｆ等やリズム生成用データＲｈ中の「拍子」や「楽節構成」等に基づいて、当該区間のリズムパターン即ちメロディリズムの打点を決定し、ステップＲ５に進む。このリズムパターン決定の具体例を示すと、次のとおりである。拍子毎、最小音符Ｎｓ毎、音符数Ｎｎ毎、シンコペーション頻度Ｓｆ毎に、多数のリズムパターンをＲＯＭ２や外部記憶装置９に予め記憶しておき、これらの値に対応するリズムパターンを選択する。同じ条件を満たすリズムパターンが複数あった場合には、これらのリズムパターンからランダムに選択する。また、「楽節構成」を参照して、類似区間、例えば、タイプ“Ａ”−“Ｂ”−“Ｃ”−“Ａ”で示される４楽節構成の場合、タイプ“Ａ”をもつ第１及び第４楽節の区間については、各値に拘らず、類似したリズムパターンを選択する。
【００３２】
ステップＲ５に進むと、当該区間が最終区間であるか、即ち、全区間についてメロディリズム生成処理が終了したか否かを判断し、全区間につきこの処理が終了していない場合には、ステップＲ６で対象区間をインクリメントし次の区間に設定した上、ステップＲ２〜Ｒ４に進んで同様の処理を実行する。そして、ステップＲ５，Ｒ６を介してステップＲ２〜Ｒ４の処理を繰り返し、ステップＲ５で全区間の処理が終了したと判断されると、このメロディリズム生成処理はエンドとなる。
【００３３】
〔メロディピッチ生成（１）〕
図７及び図８は、メロディピッチ生成ブロックＰＧにおけるメロディピッチ生成処理の第１及び第２具体例を夫々示す処理フロー図である。まず、第１具体例によるメロディピッチ生成処理〔１〕のフローについて説明する。この処理フローがスタートすると、最初のステップＰ１にて、対象区間を先頭区間に設定する。この対象区間の設定は、例えば、楽節、小節単位等で行う。次のステップＰ２では、盛り上がり度データ供給ブロックＥＡから供給される当該区間の盛り上がり度データＥｍから、この区間の盛り上がり度カーブＥｃを取得した上、ステップＰ３に進む。
【００３４】
ステップＰ３では、図９に示されるように、当該区間の盛り上がり度カーブＥｃをピッチｐに対応させて盛り上がり度ピッチカーブＥｃ’とし、リズムの打点位置Ｒｐｉ，Ｒｐｊ，Ｒｐｋ，…で、盛り上がり度ピッチカーブＥｃ’上のピッチｐの値をサンプリングし、ステップＰ４に進む。図９の空白の小円は、サンプリングされたピッチを示す。
【００３５】
ステップＰ４においては、図９に示されるように、ステップＰ３でサンプリングされたピッチ（空白の小円）の値を、このピッチに最も近い「調」の音階音又は当該区間のコードに対応したＡＶＮＳ（アベイラブルノートスケール）の音に修正する。つまり、図９の破線は、ピッチ生成用データ供給ブロックＰＡから供給されるピッチ生成用データＰｔ中の「調」に対応する音階音、又は、同データＰｔ中の「コード進行」により表わされるコードに対応するＡＶＮＳの音Ｓｐａ，Ｓｐｂ，Ｓｐｃ，…を示し、格子模様付き小円は修正されたピッチを示す。
【００３６】
この修正動作は、図３（１）のように盛り上がり度カーブＥｃが区間内で「一定値」を示す場合には、盛り上がり度ピッチカーブＥｃ’をサンプリングしたピッチの近傍所定範囲内に含まれる幾つかの音の中からランダムに選択してもよい。また、ＡＶＮＳの音は、「調」とコードに基づいて求めてもよいし、「コード進行」中にＡＶＮＳデータを記憶させておきこのＡＶＮＳデータから求めてもよい。なお、このような修正動作に加えて、さらに、所定の音楽ルールを適用し、修正後の音が所定の音楽ルールを満たさない場合には、他の音に修正するようにしてもよい。また、リズム生成用データ供給ブロックＲＡから「楽節構成」を受け取るようにし、類似区間については、盛り上がり度ピッチカーブに拘わらず、類似したピッチを選択するようにしてもよい。
【００３７】
ステップＰ４のピッチ修正を終えてステップＰ５に進むと、当該区間が最終区間であるか、即ち、全区間についてメロディピッチ生成処理〔１〕が終了したか否かを判断し、全区間につきこの処理が終了していない場合には、ステップＰ６で対象区間をインクリメントし次の区間に設定した上、ステップＰ２〜Ｐ４に進んで同様の処理を実行する。そして、ステップＰ５，Ｐ６を介してステップＰ２〜Ｐ４の処理を繰り返し、ステップＲ５で全区間の処理が終了したと判断されると、このメロディピッチ生成処理〔１〕はエンドとなる。
【００３８】
〔メロディピッチ生成（２）〕
次に、図８に示される第２具体例によるメロディピッチ生成処理〔２〕のフローについて、この処理フローでのピッチ修正動作を説明する図１０を参照しつつ、説明する。この処理フローがスタートすると、最初のステップＱ１にて、メロディピッチ生成処理〔１〕と同様に対象区間を先頭区間に設定した上、ステップＱ２に進む。ステップＱ２では、当該区間内のリズムの重要打点を決定する。このリズム重要打点は、メロディリズム生成ブロックＭＧのメロディリズム生成処理により得られたメロディリズムデータＭｒにより表わされる各打点のうち、例えば、強拍の位置にある強拍打点であり、強拍の位置に打点がない場合にはその近傍の打点を採用する。図１０には、リズム重要打点の位置が、時間ｔ軸上に三角印及び記号Ｒｐｍ，Ｒｐｎ，…で示され、その他の打点の位置については図示を省略している。
【００３９】
次のステップＱ３では、先ず、メロディピッチ生成処理〔１〕のステップＰ２と同様にして取得した当該区間の盛り上がり度カーブＥｃを、図１０に示されるように、ピッチｐに対応させて盛り上がり度ピッチカーブＥｃ’とし、リズムの重要打点位置Ｒｐｍ，Ｒｐｎ，…で、この盛り上がり度ピッチカーブＥｃ’のピッチをサンプリングし、ステップＱ４に進む。図１０の空白の小円は、サンプリングされたピッチを示す。
【００４０】
ステップＱ４においては、図１０に示されるように、重要打点位置Ｒｐｍ，Ｒｐｎ，…でサンプリングされたピッチ（空白の小円）の値を、このピッチに最も近いコード構成音Ｃｐａ，Ｃｐｂ，…に修正し、ステップＱ５に進む。このコード構成音は、ピッチ生成用データ供給ブロックＰＡから供給されるピッチ生成用データＰｔ中の「コード進行」により表わされる。図１０では、修正されたピッチは格子模様付き小円で示され、コード構成音は太い破線で示される。
【００４１】
ステップＱ５においては、図１０に示されるように、当該区間内の残りのリズム打点のピッチを、「調」の音階音又はコードに対応したＡＶＮＳ音（細い破線で示される）の中から自動生成する。このステップＱ５で残りのリズム打点を自動生成する場合には、ステップＱ４においてリズム重要打点Ｒｐｍ，Ｒｐｎで修正された２つのピッチ（格子模様付き小円）で挟まれるピッチ範囲Ｃｐａ〜Ｃｐｂ内、或いは、このピッチ範囲Ｃｐａ〜Ｃｐｂよりも若干広い範囲内の「調」の音階音又はＡＶＮＳの音の中からランダムに選択することで、図１０に黒塗りの小円で表わされるように、ピッチを自動生成する。このピッチ選択範囲は、盛り上がり度データＥｍに応じて異ならせてもよく、例えば、盛り上がり度が高いほど範囲を広くする。また、所定の音楽ルールを適用し、ランダム選択後の音が所定の音楽ルールを満たさない場合は他の音を選択するようにしてもよい。
【００４２】
ステップＱ５の残り打点のピッチ修正を終えてステップＱ６に進むと、当該区間が最終区間であるか、即ち、全区間についてメロディピッチ生成処理〔２〕が終了したか否かを判断し、全区間につきこの処理が終了していない場合には、ステップＱ７で対象区間をインクリメントし次の区間に設定した上、ステップＱ２〜Ｑ５に進んで同様の処理を実行する。そして、ステップＱ６，Ｑ７を介してステップＱ２〜Ｑ５の処理を繰り返し、ステップＱ６で全区間の処理が終了したと判断されると、このメロディピッチ生成処理〔２〕はエンドとなる。
【００４３】
〔種々の実施態様〕
以上、この発明の楽曲データ生成処理を実施例に従って説明してきたが、盛り上がり度をリズムに反映させる要素として、最小音符、音符数、シンコペーション頻度に限らず、付点音符の頻度、アクセント、３連符の有無等があってもよい。また、盛り上がり度をピッチに反映させる要素として、「ピッチベンド効果を掛ける／掛けない」、「ビブラート効果を掛ける／掛けない」、これらの効果を掛ける場合の掛かり具合、等を採用してもよい。また、これらの反映要素の種類や組み合わせは、例示したものに限らない。また、このような要素の種類や組み合わせをユーザが設定できるようにしてもよい。
【００４４】
さらに、メロディリズムの生成アルゴリズムやメロディピッチの生成アルゴリズムは、例示したものに限らないことは、いうまでもない。
【００４５】
なお、システムの形態については、電子楽器の形態に限らず、パソコン＋アプリケーションソフトウェアの形態でもよい。電子楽器の形態を取った場合、その形態は、鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態でもよい。また、音源装置、自動演奏装置等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、ＭＩＤＩや各種ネットワーク等の通信手段を用いて各装置を接続するものであってもよい。
【００４６】
また、処理プログラムや処理に利用する各種データについては、外部記憶媒体から、或いは、通信インターフェースを介して外部装置から、電子楽器やパソコンに供給するようにしてもよい。
【００４７】
次に、自動演奏に関連していうと、生成されたメロディデータや伴奏データのフォーマットとしては、演奏イベントの発生時刻を１つ前のイベントからの時間で表した「イベント＋相対時間」、演奏イベントの発生時刻を曲や小節内における絶対時間で表した「イベント＋絶対時間」、音符の音高と符長あるいは休符と休符長で演奏データを表した「音高（休符）＋符長」、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域に演奏イベントを記憶した「ベタ方式」等、どのような形式でもよい。
【００４８】
最後に、ＭＩＤＩインターフェースに関連していうと、専用の ＭＩＤＩインターフェースに限らず、ＲＳ−２３２Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリブルイー１３９４）等の汎用のインターフェースを用いてＭＩＤＩインターフェースを構成してもよい。この場合、ＭＩＤＩメッセージ以外のデータをも同時に送受信するようにしてもよい。
【００４９】
〔作用および効果〕
以上説明したように、この発明によると、生成されるメロディの進行に従って値が変化する盛り上がり度データに基づいて、盛り上がり度を反映させたメロディのピッチを生成するだけでなく、盛り上がり度に基づいて、盛り上がり度を反映させたメロディリズムの打点をも生成し、生成されたリズムの打点にメロディピッチを付与するようにしているので、リズムの盛り上がり方とピッチの盛り上がり方がマッチしたメロディを生成し、起伏に富んだ楽曲を簡単に作成することができる。
【００５０】
また、この発明によると、盛り上がり度データに基づいて、盛り上がり度を反映させた伴奏データをも生成するようにしているので、メロディと伴奏とが一層マッチした楽曲を作成することができる。さらに、リズムの重要打点に対しては、盛り上がり度に基づいたピッチを付与し、残りの打点には、所定のアルゴリズムによりピッチを付与するようにしているので、感情の起伏を反映しつつ、様々なメロディを生成することができる。
【図面の簡単な説明】
【図１】図１は、この発明の一実施例による自動作曲装置のハードウエア構成を示すブロック図である。
【図２】図２は、この発明の一実施例による自動作曲システムの概要を示す機能的ブロック図である。
【図３】図３は、この発明の実施例における盛り上がり度の例を示す図である。
【図４】図４は、この発明の実施例における盛り上がり度の他の例を示す図である。
【図５】図５は、この発明の一実施例によるメロディリズム生成処理を示すフロー図である。
【図６】図６は、この発明のメロディリズム生成処理において利用される盛り上がり度テーブルの一例を示す図である。
【図７】図７は、この発明の一実施例によるメロディピッチ生成処理〔１〕を示すフロー図である。
【図８】図８は、この発明の他の実施例によるメロディピッチ生成処理フロー〔２〕を示すを示す図である。
【図９】図９は、この発明の一実施例によるメロディピッチ生成処理〔１〕におけるピッチ修正を説明するための図である。
【図１０】図１０は、この発明の他の実施例によるメロディピッチ生成処理〔２〕におけるピッチ自動生成を説明するための図である。
【符号の説明】
Ｒｈ  リズム生成用データ、
Ｅｍ  盛り上がり度カーブＥｃで表わされる盛り上がり度データ、
Ｐｔ  ピッチ生成用データ、
Ｍｒ  メロディリズムデータ、
Ｍｐ  メロディピッチデータ、
Ａｃ  伴奏データ、
Ｅｖ  盛り上がり度の値、
Ｎｓ  最小音符、
Ｎｎ  音符数、
Ｓｆ  シンコペーションの頻度、
Ｅｃ’  盛り上がり度カーブＥｃをピッチに対応させた盛り上がり度ピッチカーブ、
Ｒｐｉ，Ｒｐｊ，Ｒｐｋ，…  リズム打点、
Ｓｐａ，Ｓｐｂ，Ｓｐｃ，…  音階音又はＡＶＮＳ（アベイラブルノートスケール）の音、
Ｒｐｍ，Ｒｐｎ，…  リズム重要打点、
Ｃｐａ，Ｃｐｂ，…  コード構成音。
【図１】
0003752885.tif 000002
【図２】
0003752885.tif 000003
【図３】
0003752885.tif 000004
【図４】
0003752885.tif 000005
【図５】
0003752885.tif 000006
【図６】
0003752885.tif 000007
【図７】
0003752885.tif 000008
【図８】
0003752885.tif 000009
【図９】
0003752885.tif 000010
【図１０】
0003752885.tif 000011