JP3775249B2 - 自動作曲装置及び自動作曲プログラム - Google Patents
自動作曲装置及び自動作曲プログラム Download PDFInfo
- Publication number
- JP3775249B2 JP3775249B2 JP2001211116A JP2001211116A JP3775249B2 JP 3775249 B2 JP3775249 B2 JP 3775249B2 JP 2001211116 A JP2001211116 A JP 2001211116A JP 2001211116 A JP2001211116 A JP 2001211116A JP 3775249 B2 JP3775249 B2 JP 3775249B2
- Authority
- JP
- Japan
- Prior art keywords
- song
- tempo
- music
- template
- composition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
この発明は、所定の作曲用データに基づき自動的に曲を生成する自動作曲装置及び自動作曲プログラムに関する。特に、ユーザ所望の時間長の曲を作成することが可能な作曲用データの候補をユーザに対して複数提示し、該候補の中から選択された作曲用データに基づいて自動作曲を行う自動作曲装置及び自動作曲プログラムに関する。
【0002】
【従来の技術】
近年、パーソナルコンピュータの普及に伴い、コンピュータを用いて楽器を演奏したり、作曲したり、編曲したり、音色を合成したりするコンピュータミュージックを用いて、誰でもが音楽を自由に楽しめるようになってきた。特に、コンピュータを用いた作曲の分野では、音楽的な専門知識の少ない初心者であっても簡単に作曲を行うことのできる自動作曲が出現している。こうした自動作曲装置として、ユーザが指定した時間にあわせて曲を自動的に生成するものが従来から知られている。例えば、本発明人が既に出願済みの特開2000−112472号に示す自動作曲装置においては、ユーザが時間とともにテンポや拍子などの作曲条件を指定することができるようになっており、指定されたこれらの作曲条件から生成する曲の小節数を算出する。そして、予め多数記憶されている作曲用データの中から算出された小節数に対応する作曲用データをユーザに対して提示し、ユーザが提示された作曲用データの中から所望の作曲用データを選択することによって、該選択した作曲用データに基づく自動作曲を行うことができるようになっている。この自動作曲の際には、生成する曲の時間長がユーザにより指定された時間に適合するようにテンポを微調節して曲の生成を行っている。
【0003】
【発明が解決しようとする課題】
ところで、上述した従来の自動作曲装置においては、予め多数記憶されている作曲用データの中から算出された小節数に対応する作曲用データをユーザに対して提示する際に、イントロやエンディングなどの曲の主要区間(つまりメロディ区間)以外の小節数を考慮することは行われていない。そのため、曲の主要区間の小節数が算出した小節数に対応する作曲用データが予め記憶されていない場合には、仮にイントロやエンディングなどの曲の主要区間以外の区間を適宜の小節数分だけ付加すれば算出した小節数に対応する曲を生成することのできる作曲用データがあったとしても、こうした作曲用データはユーザに対して提示されることがなかった。このようにして、ユーザが選択することのできる作曲用データが限定されると、それに伴って自動生成される曲が限定されてしまうこととなり多くの曲を生成することができず不都合である、という問題点があった。
また、生成する曲の時間長がユーザにより指定された時間に適合するようにテンポを微調節する場合において、ユーザは指定したテンポとどの程度ずれたテンポの曲が生成されるのかを予め知ることができなかった。そのため、ユーザは生成される曲を予めイメージして作曲用データを選択することができず不便である、という問題点もあった。
【0004】
本発明は上述の点に鑑みてなされたもので、曲の主要部分の小節数が算出した小節数に対応していない作曲用データであっても、イントロやエンディングなどの曲の主要部分以外を適宜の小節数分だけ付加すれば算出した小節数に対応する曲を生成することのできる作曲用データである場合には、該作曲用データをユーザに対して提示することによって、ユーザがより多くの曲を自動作曲することができるようにした自動作曲装置及び自動作曲プログラムを提供しようとするものである。
また、テンポを微調整する必要がある作曲用データをユーザに対して提示する際にテンポに関する所定の情報を提示することによって、ユーザが予めテンポずれした曲をイメージして作曲用データを選択することができるようにした自動作曲装置及び自動作曲プログラムを提供しようとするものである。
【0005】
【課題を解決するための手段】
本発明に係る自動作曲装置は、曲のメロディに対応する主要区間に関して、それぞれ長さの異なる複数の作曲用データを記憶する記憶手段と、作成すべき曲の時間長を指定する指定手段と、曲の前記主要区間と該主要区間以外のイントロ、間奏、エンディングなどの所定区間との組み合わせであって、その組み合わせパターンが異なる複数の組み合わせのそれぞれについて、その全体の時間長が前記作成すべき曲の時間長に一致又は近似した時間長となるような長さになるように、前記主要区間で使用する前記作曲用データを、前記記憶手段に記憶された前記長さの異なる複数の作曲用データの中から、決定する決定手段と、前記複数の組み合わせのうちの選択された組み合わせに対応する区間構成からなる曲を、該選択された組み合わせについて決定された前記作曲用データを用いて自動作曲する作曲手段とを具備するものである。
【0006】
この発明によると、曲の前記主要区間と該主要区間以外のイントロ、間奏、エンディングなどの所定区間との組み合わせであって、その組み合わせパターンが異なる複数の組み合わせのそれぞれについて、その全体の時間長が前記作成すべき曲の時間長に一致又は近似した時間長となるような長さになるように、前記主要区間で使用する前記作曲用データを、前記記憶手段に記憶された前記長さの異なる複数の作曲用データの中から、決定するようにし、こうして決定された長さの作曲用データを前記主要区間に含む組み合わせに対応する区間構成からなる曲を、該決定された作曲用データを用いて自動作曲するようにしたので、記憶手段が記憶している主要区間に関する作曲用データを用いただけでは、指定された作成すべき曲の時間長に見合うものがないような場合であっても、主要区間と該主要区間以外のイントロ、間奏、エンディングなどの所定区間を付加すれば指定された時間長に一致又は近似した時間長となるような場合には、該作曲用データを用いて自動作曲することができるようになる。従って、より多くの曲を自動作曲することができるようになる。
【0007】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【0008】
【発明の実施の形態】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明する。
【0009】
図1は、この発明に係る自動作曲装置を内蔵した電子楽器の実施の形態を示すハード構成ブロック図である。
本実施例に示す電子楽器は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータによって制御されるようになっている。CPU1は、この電子楽器全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Dを介してリードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3、検出回路4、スイッチ検出回路5、表示回路6、音源回路7、効果回路8、外部記憶装置9、MIDIインタフェース(I/F)10および通信インタフェース(I/F)11がそれぞれ接続されている。更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ1Aが接続されている。すなわち、タイマ1Aは時間間隔を計数したり、作曲した楽曲を自動演奏する際に用いる演奏テンポを設定したりするためのクロックパルスを発生する。このようなタイマ1AからのクロックパルスはCPU1に対して処理タイミング命令として与えられたり、あるいはCPU1に対してインタラプト命令として与えられる。CPU1は、これらの命令に従って各種処理を実行する。
【0010】
ROM2は、CPU1により実行あるいは参照される各種制御プログラム(例えば、後述する自動作曲処理などのプログラム)や各種データ(例えば、後述する曲テンプレートや作曲用データ)等を格納するものである。RAM3は、作曲した楽曲を自動演奏する際に用いる自動演奏情報やCPU1が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中の制御プログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。演奏操作子4Aは楽音の音高を選択するための複数の鍵を備えた、例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子4A(鍵盤等)は楽音演奏のために使用できるのは勿論のこと、自動作曲を行う際に用いるメロディのピッチやリズムなどを入力するための入力手段として使用することもできる。検出回路4は、演奏操作子4Aの各鍵の押圧及び離鍵を検出することによって検出出力を生じる。
【0011】
パネル操作子(スイッチ等)5Aは、楽曲を自動作曲する際における各種作曲条件等を入力するための各種のスイッチ等を含んで構成される。勿論、音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはディスプレイ6A上に表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子を含んでいてよい。スイッチ検出回路5は、パネル操作子5Aの各スイッチの操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス1Dを介してCPU1に出力する。表示回路6はユーザにより入力される各種作曲条件やユーザに対して提示される作曲用データ等の各種情報を、例えば液晶表示パネル(LCD)やCRT等から構成されるディスプレイ6Aに表示するのは勿論のこと、自動演奏に関する各種情報あるいはCPU1の制御状態などをディスプレイ6Aに表示する。
【0012】
音源回路7は、複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられた楽音データ(例えば、自動作曲を行うことにより生成される演奏データなど)を入力し、この楽音データに基づいて楽音信号を発生する。音源回路7から発生された楽音信号は、効果回路8を介して効果付与されてアンプやスピーカなどを含むサウンドシステム8Aから発音される。楽音データの形式はMIDI形式のようなディジタル符号化されたものであってもよいし、PCM、DPCM、ADPCMのような波形サンプルデータ方式からなるものであってもよい。この音源回路7と効果回路8とサウンドシステム8Aの構成には、従来のいかなる構成を用いてもよい。例えば、音源回路7はFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、CPU1によるソフトウェア処理で構成してもよい。
【0013】
外部記憶装置9は、自動作曲を行った結果生成された曲に関する演奏データや、CPU1が実行する各種制御プログラム等の制御に関するデータなどを記憶するものである。前記ROM2に制御プログラムが記憶されていない場合に、この外部記憶装置9(例えばハードディスク)に制御プログラムを記憶させておき、それをRAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置9はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD−ROM・CD−RAM)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Diskの略)等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であればどのようなものであってもよい。半導体メモリなどであってもよい。
【0014】
MIDIインタフェース(I/F)10は、他のMIDI機器10A等からMIDI規格の楽音情報(つまり、MIDIデータ)を当該電子楽器へ入力したり、あるいは当該電子楽器からMIDI規格の楽音情報(MIDIデータ)を他のMIDI機器10A等へ出力するためのインタフェースである。他のMIDI機器10Aはユーザによる操作に応じてMIDIデータを発生する機器であればよく、鍵盤型、弦楽器型、管楽器型、打楽器型、身体装着型等どのようなタイプの操作子を具えた(若しくは、操作形態からなる)機器であってもよい。
【0015】
なお、MIDIインタフェース10は専用のMIDIインタフェースを用いるものに限らず、RS−232C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインタフェースを用いてMIDIインタフェース10を構成するようにしてもよい。この場合、MIDIイベントデータ以外のデータをも同時に送受信するようにしてもよい。MIDIインタフェース10として上記したような汎用のインタフェースを用いる場合には、他のMIDI機器10AはMIDIイベントデータ以外のデータも送受信できるようにしてよい。勿論、楽音情報に関するデータフォーマットはMIDI形式のデータに限らず、他の形式であってもよく、その場合はMIDIインタフェース10と他のMIDI機器10Aはそれにあった構成とする。
【0016】
通信インタフェース(I/F)11は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワークXに接続されており、該通信ネットワークXを介して、サーバコンピュータ11Aと接続され、当該サーバコンピュータ11Aから制御プログラムや各種データを電子楽器側に取り込むためのインタフェースである。すなわち、ROM2や外部記憶装置9(例えば、ハードディスク)等に制御プログラムや各種データが記憶されていない場合に、サーバコンピュータ11Aから制御プログラムや各種データをダウンロードするために用いられる。クライアントとなる電子楽器は、通信インターフェース11及び通信ネットワークXを介してサーバコンピュータ11Aへと制御プログラムや各種データのダウンロードを要求するコマンドを送信する。サーバコンピュータ11Aは、このコマンドを受け、要求された制御プログラムや各種データを、通信ネットワークXを介して本電子楽器へと配信し、本電子楽器が通信インタフェース11を介して、これら制御プログラムや各種データを受信して外部記憶装置9(例えば、ハードディスク)等に蓄積することにより、ダウンロードが完了する。なお、通信インタフェース11及び通信ネットワークXは、有線のものに限らず無線のものであってもよい。また、双方を具えていてもよい。
【0017】
なお、上述した電子楽器において、演奏操作子4Aは鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。該演奏操作子4Aは、なくてもよい。また、電子楽器は演奏操作子4Aやディスプレイ6Aあるいは音源回路7などを1つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことはいうまでもない。さらに、本発明に係る自動作曲装置を適用する装置は電子楽器の形態に限らず、パーソナルコンピュータや携帯通信端末、カラオケや自動演奏ピアノのような自動演奏装置あるいはゲーム機器や映像編集装置など、どのような形態の装置・機器に適用してもよい。
【0018】
ここで、本発明に係る自動作曲装置で用いる曲テンプレート及び作曲用データのデータ構成について各々説明する。まず、曲テンプレートのデータ構成について、図2を用いて説明する。図2は曲テンプレートのデータ構成の一実施例を示す該念図であり、図2(a)は曲テンプレートの全体構成を示す概念図、図2(b)は個々の曲テンプレートにおいての詳細なデータ内容を示す概念図である。
【0019】
曲テンプレートは、メロディ及び伴奏を含む曲全体の音楽的な特徴を定義する各種パラメータを備えた曲特徴データである。すなわち、曲テンプレートは自動作曲する曲を特徴づける各種パラメータの組み合わせを予めセットしたデータであり、ROM2やRAM3若しくは外部記憶装置9等にデータベースなどとして記憶される。図2(a)に示すように、個々の曲テンプレートは、例えば「さっぱりバラード」群や「哀愁演歌」群などの曲ジャンル群毎に記憶されており、さらに各曲ジャンル群の中においては個々の曲テンプレートから生成される曲からユーザに対して与えられる、例えば「ストレートバラード」「ひだまりの中で」「忘れない時間」「たそがれ」などの曲イメージ(曲想)毎のテンプレート群毎に分類記憶されている。個々の曲テンプレートには、各曲テンプレート毎に所定のテンプレート名称が付される。例えば、図2(a)に示すように、「ストレートバラード」系の曲のメロディを4小節分生成することのできる曲テンプレートに対しては「ストレートバラード(4)」のように、「ストレートバラード」系の曲のメロディを8小節分生成することのできる曲テンプレートに対しては「ストレートバラード(8)」のように、各々の曲テンプレートで生成することのできる曲のメロディの小節数に対応したテンプレート名称が付される。ユーザは該テンプレート名称を指定することによって、曲生成に使用する所望の曲テンプレートを適宜に選択することができる。また、一般的に、作曲をする場合には4小節単位で曲を生成すると曲のまとまりがよいことから、曲生成の区切りとするには最適である。したがって、この実施例においては、個々の曲テンプレートは4小節、8小節、12小節、16小節などの4の倍数毎の小節数毎に予め記憶される。すなわち、曲イメージ毎のテンプレート群には、生成する曲の小節数が4の倍数毎に異なる複数の曲テンプレートが各々記憶されている。
【0020】
また、図2(b)に示すように、曲ジャンル群、曲イメージ(曲想)毎のテンプレート群に分類記憶される個々の曲テンプレートは、上述したようなテンプレート名称のほかに、拍子、標準テンポ、テンポずれ許容範囲、ピッチパラメータ、リズムパラメータ、伴奏パラメータなどをその内容として具える。拍子は生成する曲の拍子を定義するデータであり、例えば「2」拍子、「3」拍子、「4」拍子などのように定義される。標準テンポは曲を生成する際に用いるべき標準とするテンポを定義するデータであり、例えば、「90」、「110」、「120」などのように定義される。テンポずれ許容範囲は生成した曲のテンポを変更する場合に許容できる標準テンポとの差を定義するデータであり、例えば「上限値120」及び「下限値90」などのように上下限値により定義される。このテンポずれ許容範囲は、前記標準テンポに基づき生成した曲の時間長がユーザの指定した時間長と一致しない場合に行われるテンポ補正時の際に用いられて、標準テンポから変更して用いるのに適したテンポ範囲を決定する(詳しくは後述する)。ピッチパラメータは、生成する曲のピッチダイナミクス等の音高変化特徴を定義するデータである。リズムパラメータは、シンコペーション有無や音符数の多い・少ない等のリズム特徴を定義するデータである。伴奏パラメータは、伴奏スタイルデータなどの伴奏全般を生成するためのデータ、イントロ小節数やエンディング小節数等のイントロやエンディングの小節数を定義するデータである。伴奏スタイルデータは楽曲スタイル毎(例えば、都会的な、土くさい、トロピカルな、ダンサブルな等)の伴奏を生成する伴奏生成用データであり、1乃至複数のパート(リズム、ベース、バッキング等)の自動伴奏パターンデータからなる。各自動伴奏パターンデータは複数のセクション(イントロ、メイン、エンディング等)から構成され、各セクションの長さは1〜6小節程度の長さからなる。
なお、伴奏スタイルデータは伴奏パラメータとして曲テンプレート内に記憶することなく、曲テンプレートとは別に記憶するようにしてもよいことは言うまでもない。
【0021】
次に、作曲用データのデータ構成について、図3を用いて説明する。図3は、作曲用データのデータ構成の一実施例を示す該念図である。
作曲用データ(あるいは小節数対応生成用データとも呼ぶ)は、生成する曲のメロディ構成を定義する曲構成データである。図3に示すように、個々の作曲用データは、生成することのできる曲の小節数に応じて、該小節数に対応したデータ群(例えば、4小節生成用データ群、8小節生成用データ群など)毎に各々記憶される。各データ群に記憶される個々の作曲用データ(例えば、4小節生成用データ群における4小節生成用データ1や4小節生成用データ2など)は、ブロック構成や楽節構成、コード進行などをその内容として具える。ブロック構成や楽節構成は、生成する曲の所定区間毎の曲構成を定義するデータである。例えば、メロディを2個のブロック区間で構成する場合にはブロック構成を「ブロック1とブロック2」のように定義するし、メロディを4個の楽節で構成する場合には「A」「B」「A´」といった所定の楽節記号を用いて「A−B−A−A´」などのようにして楽節構成を定義する。コード進行は、メロディにおけるコード進行を定義するデータである。
【0022】
次に、図1に示した電子楽器で行われる自動作曲処理について、図4を用いて説明する。図4は、上述した電子楽器のCPU1で実行する「自動作曲処理」の一実施例を示すフローチャートである。以下、図4に示したフローチャートに従って、当該処理の動作を説明する。ただし、以下の説明では、同一名称・異小節数の曲テンプレート(すなわち、同一のテンプレート群に含まれる全ての曲テンプレート)の拍子、標準テンポ、イントロ小節数、エンディング小節数は各曲テンプレートで共通であるものとする。
【0023】
ステップS1では、曲ジャンルを指定する。ステップS2では、指定された曲ジャンルに応じた曲ジャンル群を選択する。すなわち、ユーザがパネル操作子5A等を用いて所望の曲ジャンルを選択すると、ROM2やRAM3あるいは外部記憶装置9などに予め記憶されている曲ジャンル群の中から、ユーザ指定の曲ジャンルに対応した曲ジャンル群が選択される。ステップS3では、生成時間(A)を指定する。すなわち、ユーザがパネル操作子5A等を用いて生成したい曲の時間長を指定する。ステップS4では、曲テンプレートとイントロ、エンディングの組み合わせ候補を抽出する「候補抽出処理」を実行する。この「候補抽出処理」では、指定した時間長の曲を生成するのに適した曲生成候補としての曲テンプレートを、イントロ、エンディング等のセクション有無に従った複数の組み合わせ毎に1乃至複数抽出する。
【0024】
ここで、上述した「自動作曲処理」のステップS4で起動する「候補抽出処理」について、候補対象としての曲テンプレートを抽出する処理方式ごとにいくつか説明する。上述したように「候補抽出処理」は、イントロ、エンディング等のセクション有無に従った複数の組み合わせ毎に曲生成候補としての曲テンプレートを1乃至複数抽出する処理であるが、その抽出対象とする曲テンプレートの決定方法によって処理方式が変わる。そこで、この実施の形態においては、以下に示すような3つの「候補抽出処理」の処理方式について、各々フローチャートを用いて説明する。
【0025】
第1の処理方式は、指定された曲ジャンル群に含まれる各テンプレート群毎に、最も必要小節数に近い小節数の曲を生成することのできる曲テンプレートを選択してから、該選択された曲テンプレートについてイントロ、エンディング有無の全組み合わせに応じてテンポ補正率を計算し、最もテンポ補正率が1に近い1乃至複数の曲テンプレートのみを抽出する処理方式である。第2の処理方式は、指定された曲ジャンル群に含まれる全ての曲テンプレートについてイントロ、エンディング有無の全組み合わせに応じてテンポ補正率を計算し、最もテンポ補正率が1に近い1乃至複数の曲テンプレートのみを抽出する処理方式である。第3の処理方式は、テンポ補正率を比較して単にテンポ補正率が1に近い曲テンプレートを抽出するのではなく、イントロやエンディングが有る方が音楽的に自然な曲であることから、イントロとエンディング両方有りの組み合わせのものを優先的に抽出するなど、所定の優先順位に従って1乃至複数の曲テンプレートを抽出する処理方式である。
【0026】
まず、上述した第1の処理方式に従う候補抽出処理について、図5を用いて説明する。図5は、第1の処理方式に従う「候補抽出処理」の一実施例を示したフローチャートである。
ステップS21では、選択された曲ジャンル群の中から最初のテンプレート群を選択する。ステップS22では、拍子(B)、標準テンポ(ST)、生成時間(A)に基づく(式1−1)に従って必要な全小節数(N)を算出する。
N=A÷[(60÷ST)×B]・・・(式1−1)
すなわち、まず最初に、ユーザにより選択された曲ジャンル群(図4のステップS2参照)に含まれる複数のテンプレート群のうち、先頭のテンプレート群を選択する。例えば、図2に示した曲テンプレートにおいては、「さっぱりバラード」群に含まれる「ストレートバラード」テンプレート群が先頭のテンプレート群として選択されることになる。そして、該選択された先頭のテンプレート群における曲テンプレートに定義されている、該テンプレート群に含まれる個々の曲テンプレートに共通である拍子と標準テンポと、ユーザが指定した生成時間(図4のステップS3参照)とに基づいて、該生成時間に等しい(あるいは近い)時間長の曲を構成するのに必要な曲全体の小節数(以下、これを全小節数と呼ぶ)を算出する。ただし、この全小節数算出の際に、(式1−1)に従って算出された全小節数(N)が整数値でない場合には、小数点以下を四捨五入する若しくは小数点以下を切り捨て・切り上げするなどの所定手順に従って整数値に補正する。これにより、ユーザが指定した生成時間に等しい時間長の曲を構成するのに必要とされる小節数が決定される。
【0027】
ステップS23では、イントロ有無とエンディング有無との組み合わせのうち、最初の組み合わせを選択する。すなわち、「イントロあり・エンディングあり」、「イントロあり・エンディングなし」、「イントロなし・エンディングあり」、「イントロなし・エンディングなし」の4つの組み合わせの中から、1つの組み合わせを最初の組み合わせとして選択する。ステップS24では、選択した組み合わせのイントロ・エンディング合計小節数(K)を求める。このイントロ・エンディング合計小節数(K)は、該選択された先頭のテンプレート群における曲テンプレートに定義されている、該テンプレート群に含まれる個々の曲テンプレートに共通であるイントロ小節数とエンディング小節数との和により算出される。ステップS25では、メロディ区間の小節数(M)を(式1−2)に従って算出する。
M=N−K・・・(式1−2)
すなわち、曲の全区間からイントロ区間とエンディング区間を除いたものがメロディ区間であることから、メロディ区間の小節数(M)は全小節数(N)からイントロ・エンディング合計小節数(K)を減算すると求められる。
【0028】
ステップS26では、算出したメロディ区間の小節数(M)に最も近い4小節単位の小節数(M´)を求める。上述したように、個々の曲テンプレートは4小節、8小節、12小節、16小節などの4の倍数毎の小節数毎に予め記憶されていることから、こうした曲テンプレートを選択するために4小節単位の小節数(M´)を予め求めておく。ステップS27では、生成すべき全小節数(V)を(式1−3)に従って算出する。
V=M´+K・・・(式1−3)
ステップS28では、指定した生成時間になるような補正テンポ(T)を(式1−4)に従って求める。
T=60×B×(V÷A)・・・(式1−4)
ステップS29では、補正テンポ(T)と標準テンポ(ST)の比(R)を(式1−5)に従って算出する。
R=T÷ST・・・(式1−5)
ステップS30では、算出したメロディ区間の小節数に最も近い4小節単位の小節数(M´)に従い、該小節数(M´)に対応する曲テンプレートを選択されたテンプレート群から選択し、所定の記憶領域に該曲テンプレートのテンプレート名称、イントロ・エンディング組み合わせ、生成時間(A)、必要な全小節数(N)、メロディ区間の小節数(M)、メロディ区間の小節数に最も近い4小節単位の小節数(M´)、生成すべき全小節数(V)、標準テンポ(ST)、補正テンポ(T)、補正テンポと標準テンポの比(R)を記憶する。
【0029】
ステップS31では、選択した曲テンプレートに関して上記ステップS24〜ステップS30までの各処理をイントロ有無やエンディング有無の全ての組み合わせについて実行したか否かを判定する。全ての組み合わせについて上記各処理を行っていない場合には(ステップS31のNO)、次の組み合わせを選択して(ステップS34)ステップS24の処理へ戻る。全ての組み合わせについて上記各処理を行っている場合には(ステップS31のYES)、曲ジャンル群内の全てのテンプレート群について上記ステップS22〜ステップS31までの各処理を実行したか否かを判定する(ステップS32)。曲ジャンル群内の全てのテンプレート群について上記各処理を行っていない場合には(ステップS32のNO)、該曲ジャンル群内に含まれる次のテンプレート群を選択し(ステップS35)、ステップS22の処理へ戻る。曲ジャンル群内の全てのテンプレート群について上記各処理を行っている場合には(ステップS32のYES)、所定記憶領域に記憶されたデータの中で、最も補正テンポと標準テンポの比(R)が1に近い組み合わせをテンプレート群毎に1乃至複数抽出する(ステップS33)。すなわち、この第1の処理方式では、各テンプレート群毎にイントロ有無やエンディング有無の組み合わせに応じた4つの所定の小節数の曲テンプレートに関してのデータが所定の記憶領域に記憶される。そして、この各テンプレート群毎に記憶された4つのデータの中から、最も補正テンポと標準テンポの比(R)が1に近いデータを抽出することで、各テンプレート群毎に少なくとも1つずつ曲テンプレートを抽出するようにしている。
【0030】
次に、上述した第2の処理方式に従う候補抽出処理について、図6を用いて説明する。図6は、第2の処理方式に従う「候補抽出処理」の一実施例を示したフローチャートである。
ステップS41では、曲ジャンル群の中から最初のテンプレート群を選択する。ステップS42では、該テンプレート群における4小節単位の小節数(S)の曲テンプレートのうち最初の曲テンプレートを選択する。例えば、図2に示した曲テンプレートにおいては、最初のテンプレート群として「ストレートバラード」群が選択され、最初の曲テンプレートとして「ストレートバラード(4)」が選択されることになる。ステップS43では、イントロ有無とエンディング有無との組み合わせのうち、最初の組み合わせを選択する。ステップS44では、選択した組み合わせのイントロ・エンディング合計小節数(K)を求める。ステップS45では、ユーザが指定した生成時間(図4のステップS3参照)に等しい(あるいは近い)時間長の曲を構成するのに必要な全小節数(V)を(式2−1)に従って算出する。
V=S+K・・・(式2−1)
ステップS46では、指定した生成時間になるような補正テンポ(T)を上述の(式1−4)に従って求める。ステップS47では、補正テンポ(T)と標準テンポ(ST)の比(R)を上述の(式1−5)に従って算出する。ステップS48では、所定記憶領域にテンプレート名称、イントロ・エンディング組み合わせ、生成時間(A)、4小節単位の小節数(S)、生成すべき全小節数(V)、標準テンポ(ST)、補正テンポ(T)、補正テンポと標準テンポの比(R)を記憶する。
【0031】
ステップS49では、選択された曲テンプレートに関して上記ステップS44〜ステップS48までの各処理をイントロ有無やエンディング有無の全ての組み合わせについて実行したか否かを判定する。全ての組み合わせで上記各処理を行っていない場合には(ステップS49のNO)、次の組み合わせを選択して(ステップS53)ステップS44の処理へ戻る。全ての組み合わせで上記各処理を行っている場合には(ステップS49のYES)、選択されたテンプレート群に含まれる4小節単位の小節数の曲テンプレート全てについて上記ステップS43〜ステップS49までの各処理を実行したか否かを判定する(ステップS50)。4小節単位の小節数の曲テンプレート全てについて上記各処理を行っていない場合には(ステップS50のNO)、次の4小節単位の小節数の曲テンプレートを選択して(ステップS54)、ステップS43の処理へ戻る。例えば、「ストレートバラード(4)」について上記各処理が終了した場合には、次に「ストレートバラード(8)」を選択して上記各処理を実行する。4小節単位の小節数の曲テンプレート全てについて上記各処理を行っている場合には(ステップS50のYES)、曲ジャンル群内の全てのテンプレート群について上記ステップS42〜ステップS50までの各処理を実行したか否かを判定する(ステップS51)。曲ジャンル群内の全てのテンプレート群について上記各処理を行っていない場合には(ステップS51のNO)、次のテンプレート群を選択して(ステップS55)ステップS42の処理へ戻る。曲ジャンル群内の全てのテンプレート群について上記各処理を行っている場合には(ステップS51のYES)、所定記憶領域に記憶されたデータの中で、最も補正テンポと標準テンポの比(R)が1に近い組み合わせを1乃至複数抽出する(ステップS52)。すなわち、この第2の処理方式においては、全てのテンプレート群において最も補正テンポと標準テンポの比(R)が1に近い組み合わせを1乃至複数抽出するようにしている。したがって、上述した第1の処理方式とは異なり、各テンプレート群毎に少なくとも1つの曲テンプレートを抽出するものではない。
【0032】
次に、上述した第3の処理方式に従う候補抽出処理について、図7を用いて説明する。図7は、第3の処理方式に従う「候補抽出処理」の一実施例を示したフローチャートである。
【0033】
ステップS61では、曲ジャンル群の中から最初のテンプレート群を選択する。ステップS62では、該テンプレート群における4小節単位の小節数(S)の曲テンプレートのうち最初の曲テンプレートを選択する。ステップS63では、イントロ有無とエンディング有無との組み合わせのうち、最優先度の組み合わせを選択する。すなわち、イントロ有無とエンディング有無との組み合わせには予め所定の優先順位が決められており、該優先順位に従って最も優先順位の高い(あるいは低い)組み合わせのものを選択する。例えば、イントロやエンディングが有る方が音楽的に自然な曲であることから、イントロとエンディング両方有りの組み合わせのものが優先順位が最も高いものとなる。ステップS64では、選択した組み合わせのイントロ・エンディング合計小節数(K)を求める。ステップS65では、ユーザが指定した生成時間(図2のステップS3参照)に等しい(あるいは近い)時間長の曲を構成するのに必要な全小節数(V)を上述の(式2−1)に従って算出する。ステップS66では、指定した生成時間になるような補正テンポ(T)を上述の(式1−4)に従って求める。ステップS67では、補正テンポ(T)と標準テンポ(ST)の比(R)を上述の(式1−5)に従って算出する。ステップS68では、所定記憶領域にテンプレート名称、イントロ・エンディング組み合わせ、生成時間(A)、4小節単位の小節数(S)、生成すべき全小節数(V)、標準テンポ(ST)、補正テンポ(T)、補正テンポ(T)と標準テンポ(ST)の比(R)を記憶する。ステップS69では、補正テンポ(T)がずれ許容範囲内であるか否かを判定する。許容範囲内である場合には(ステップS69のYES)、該記憶データを候補に設定して(ステップS70)、ステップS73の処理へジャンプする。許容範囲内でない場合には(ステップS69のNO)、ステップS71の処理へ進む。
【0034】
ステップS71では、上記ステップS64〜ステップS69までの各処理をイントロ有無とエンディング有無との全ての組み合わせについて実行したか否かを判定する。全組み合わせで上記各処理を行っていない場合には(ステップS71のNO)、次の優先度の高い(あるいは低い)組み合わせを選択して(ステップS75)ステップS64の処理へ戻る。全組み合わせで上記各処理を行っていた場合には(ステップS71のYES)、全小節数について上記ステップS63〜ステップS71までの各処理を実行したか否かを判定する(ステップS72)。全小節数について上記各処理を行っていない場合には(ステップS72のNO)、次の小節数を選択してから(ステップS76)ステップS63の処理へ戻る。全小節数について上記各処理を行っていた場合には(ステップS72のYES)、曲ジャンル群内の全曲テンプレート群について上記ステップS62〜ステップS72までの各処理を実行したか否かを判定する(ステップS73)。曲ジャンル群内の全曲テンプレート群について上記各処理を行っていない場合には(ステップS73のNO)、次の曲テンプレート群を選択して(ステップS77)ステップS62の処理へ戻る。曲ジャンル群内の全曲テンプレート群について上記各処理を行っていた場合には(ステップS73のYES)、所定記憶領域に記憶されたデータの中で、最も比(R)が1に近い組み合わせを1乃至複数抽出する(ステップS74)。ただし、このステップS74の処理は、上記ステップS70において候補として設定されたデータがない場合にのみ実行する。すなわち、この第3の処理方式では、イントロ有無とエンディング有無との組み合わせに優先順位をつけ、優先順位の高いものを多少テンポ補正が大きいものであっても、優先的に抽出する。
【0035】
図4に示す「自動作曲処理」のステップS5に戻って、前記「候補抽出処理」(ステップS4)が終了すると、該「候補抽出処理」により抽出された曲テンプレートに関するデータをディスプレイ6Aに表示することでユーザに対するデータ提示を行う。また、抽出された曲テンプレート毎にテンポずれを評価し、該評価結果をディスプレイ6Aに表示する(ステップS6)。すなわち、ユーザが指定した生成時間と曲テンプレートに基づき生成された曲の時間長との時間ずれを補正するために、生成された曲のテンポをどの程度ずらして補正しなければならないかといった評価結果を曲テンプレート毎に表示する。すなわち、補正した結果のテンポ(つまり補正テンポ)が元の標準テンポと異なっているような場合、ユーザにとって該補正テンポに従って生成される曲が音楽として自然に聞けるかどうかの判断は曲生成が終了してからでないと判断することができない。しかし、それでは不都合であることから、本発明に係る自動作曲装置においては、曲としてどの程度聞ける範囲であるかどうかの評価を補正テンポと標準テンポとのずれを評価することにより行い、そして、該評価結果をディスプレイ6A上に表示することによって、ユーザが曲テンプレートの選択可否判断を容易に行うことができるようにした。
【0036】
ここで、ディスプレイ6Aに表示する表示内容の一実施例を示すと図8のようになる。図8は、ディスプレイ6Aに表示されるデータ抽出結果の一実施例を示す概念図である。すなわち、上述の「候補抽出処理」で抽出されたデータと、該データに対しての評価結果を表示した際の表示内容を示したものである(図4のステップS5及びステップS6参照)。ただし、この実施例では、上述した第1の処理方式の「候補抽出処理」(図5参照)に従って抽出された曲テンプレートに関してのデータをディスプレイ6Aに表示した例について説明する。また、説明を理解しやすくするために、この実施例では、例えば、ユーザ指定の生成時間(A)が64秒であり、ユーザ選択の曲ジャンルが「さっぱりバラード」群である場合について説明する。さらに、「ストレートバラード」テンプレート群の標準テンポ(ST)を110、「ひだまりの中で」テンプレート群の標準テンポ(ST)を90、「忘れない時間」テンプレート群の標準テンポ(ST)を105、「たそがれ」テンプレート群の標準テンポ(ST)を120であるものとし、これらの各テンプレート群の拍子を4拍子、イントロ小節数を2小節、エンディング小節数を2小節として全て共通であるものとする。
【0037】
図8から理解できるように、ディスプレイ6A上には、指定時間、必要全小節数、曲想、評価、標準テンポ、補正テンポ、補正率、曲テンプレート、イントロ、エンディング、生成全小節数を表示するための表示項目が各々用意されており、それぞれの表示項目には対応するデータが表示される。「評価」以外の表示項目には、上述した「候補抽出処理」において所定の記憶領域に記憶された内容に対応するものを表示する。「指定時間」には、ユーザ指定の生成時間(A)を表示する。「必要全小節数」には、ユーザ指定の生成時間に必要な全小節数(N)を表示する。この全小節数(N)は上述した(式1−1)から求められ、この実施例ではN=64÷[(60÷110)×4]=29.3となり、これを四捨五入した29小節が表示されている。「曲想」には、曲ジャンル群内に含まれる曲想毎のテンプレート群の曲想を表示する。「評価」には、テンポずれ評価の評価結果を「◎」「○」「△」「×」などの所定の表示態様を用いて表示する。このテンポずれ評価と評価結果表示については、後述する。「標準テンポ」には、各テンプレート群毎に予め定義されている標準テンポ(ST)を表示する。「補正テンポ」には、上述の(式1−4)から求められる補正テンポ(T)を表示する。「補正率」には、上述の(式1−5)から求められる補正テンポと標準テンポの比(R)を表示する。「曲テンプレート」には、各テンプレート群毎に候補として選択された曲テンプレートにおける小節数を表示する。「イントロ」及び「エンディング」には、イントロ有無とエンディング有無との組み合わせを表示する。例えば、「イントロあり(なし)・エンディングあり(なし)」の組み合わせの場合には、「イントロ」に「有(無)」、「エンディング」に「有(無)」を表示する。「生成全小節数」は、生成される曲全体を構成する小節数を表示する。
【0038】
ここで候補として表示される曲テンプレートの抽出について、具体的に説明する。例えば、図8に示す「ストレートバラード」群において、「イントロあり・エンディングあり」の組み合わせの場合におけるイントロ・エンディング合計小節数(K)は4小節(つまり、イントロ2小節+エンディング2小節)である。この場合におけるメロディ区間の小節数(M)は上述の(式1−2)から、M=29−4=25小節となる。この算出したメロディ区間の小節数(M)に最も近い4小節単位の小節数は、24小節である。この算出したメロディ区間の小節数(M)に最も近い4小節単位の小節数を求める場合に、最も近い4小節単位の小節数を1つだけ求めることに限らず、最も近い4小節単位の小節数を小節数の多い方と少ない方とで2つ求めるようにしてもよい。例えば上記の場合、24小節と28小節の2つの小節数を求めてもよい。こうすると、より多くの曲テンプレートを候補として抽出することができるようになることから有利である。勿論、こうした場合、以下の計算をそれぞれの小節数毎に行うことは言うまでもない。以下では、説明を理解しやすくするために、算出したメロディ区間の小節数(M)に最も近い4小節単位の小節数が24小節である場合についてのみさらに説明を進めることにする。
【0039】
算出したメロディ区間の小節数(M)に最も近い4小節単位の小節数が24小節であるとすると、生成すべき全小節数(V)は上述の(式1−3)から、V=24+4=28小節となる。これらに基づいて指定された生成時間(A)になるような補正テンポ(T)を上述の(式1−4)から求めると、T=60×4×(28÷64)=105となる。さらに、補正テンポと標準テンポの比(R)を上述の(式1−5)から求めると、R=105÷110=0.95となる。同様にして「イントロあり・エンディングなし」及び「イントロなし・エンディングあり」の組み合わせの場合について求めると、メロディ区間の小節数(M)は27小節、メロディ区間の小節数(M)に最も近い4小節単位の小節数は28小節、生成すべき全小節数(V)は30小節、補正テンポ(T)は113、補正テンポと標準テンポの比(R)は0.98となる。また、「イントロなし・エンディングなし」の組み合わせの場合について求めると、メロディ区間の小節数(M)は29小節、メロディ区間の小節数(M)に最も近い4小節単位の小節数は28小節、生成すべき全小節数(V)は28小節、補正テンポ(T)は105、補正テンポと標準テンポの比(R)は0.95となる。
【0040】
上述した組み合わせの中で最も補正テンポと標準テンポの比(R)が1に近いケースは、「イントロあり・エンディングなし」及び「イントロなし・エンディングあり」の組み合わせの場合である。このように同一の補正率のケースが複数存在しているような場合には、エンディングのある方など所定の優先度に従って、候補とするデータを決定する。すなわち、同一のテンポ補正率のデータが複数存在しているような場合には、エンディングのある方などの所定の優先度に従って若しくはランダムに抽出するデータの決定を行うようにしてよい。この実施例においては、「イントロなし・エンディングあり」の組み合わせでの28小節の曲テンプレートを「ストレートテンプレート」群における候補として表示する。他のテンプレート群についても同様に処理して、各テンプレート群毎における候補を抽出することによって、例えば図示のような表示がなされる。
【0041】
次に、テンポずれ評価と評価結果表示について説明すると、テンポずれ評価は、曲テンプレート毎に標準テンポからずれてもよい許容範囲を予め曲テンプレートに登録しておき、この値からのすれの程度によってテンプレートの評価をするものである。例えば、標準テンポが100であり、テンポ許容範囲が下限値として90、上限値として110である場合には、中心値(つまり標準テンポ)に対する比率はそれぞれ1.1と0.9となり、この比率をもって評価を行う。例えば、中心値から許容範囲の1/2までの範囲を評価「◎(優)」として評価付けし、許容範囲の1/2を超え許容範囲までを評価「○(良)」として評価付けし、許容範囲を超え許容範囲の1.5倍までを評価「△(可)」として評価付けし、許容範囲の1.5倍を超える範囲を評価「×(不可)」として評価付けする。上記した例の場合、評価「◎」の範囲は1.05〜0.95の範囲、評価「○」の範囲は1.05〜1.1及び0.95〜0.9の範囲、評価「△」の範囲は1.1〜1.15及び0.9〜0.85の範囲、評価「×」の範囲は1.15以上及び0.85以下の範囲となる。こうした範囲のいずれの範囲内に、抽出された曲テンプレート毎に算出されたテンポ補正率が当てはまるか、によって各曲テンプレートへの評価付けがなされる。こうした評価付けの結果は、曲テンプレートと共にディスプレイ6A上に表示されることによって、ユーザは簡単に曲テンプレートの選択可否判断が容易にできるようになる。例えば、図8に示す「ストレートバラード」群の28小節の曲テンプレートに対しての評価付けは、補正率が「1.02」であることから「◎」の評価がなされる。
【0042】
図4に戻り、ステップS7では曲テンプレートと小節数(M´)とを決定する。すなわち、ユーザがテンポずれ評価を考慮してディスプレイ6Aに表示された曲テンプレートのうちいずれかの曲テンプレートを選択すると、曲を生成するために用いる曲テンプレートを該選択された曲テンプレートに決定すると共に、該曲テンプレートで生成することのできる曲の小節数を決定する。例えば、曲テンプレートとして「ストレートバラード(4)」(図2(a)参照)が選択された場合には、小節数は「4小節」に決定されることになる。ステップS8では、小節数対応生成用データのデータベースから、ステップS7で決定した小節数(M´)分の小節数に対応する小節数対応生成用データ(つまり作曲用データ)を抽出してディスプレイ6Aに表示する。例えば、小節数(M´)が「4小節」に決定されたような場合には、4小節生成用データ群に含まれる「4小節生成用データ1」「4小節生成用データ2」(図3参照)などのデータが複数表示されることになる。
【0043】
ステップS9では、ディスプレイ6Aに表示された複数の小節数対応生成用データ(作曲用データ)の中から1つの小節数対応生成用データ(作曲用データ)を決定する。つまり、ユーザが選択する。ステップS10では、決定された小節数対応生成用データ(作曲用データ)と曲テンプレートとに基づいてメロディを生成する。すなわち、求められたメロディ生成小節数に対応する小節数対応生成用データ(作曲用データ)のブロック構成、楽節構成、コード進行など、及び曲テンプレートに記憶されるシンコペーション有無、ピッチのダイナミクスなどに従ってメロディを生成する。ステップS11では、イントロ、エンディングの組み合わせと、決定した曲テンプレートと小節数対応生成用データ(作曲用データ)とに基づいて伴奏を生成する。これらの小節数対応生成用データ(作曲用データ)と曲テンプレートに従いメロディや伴奏などの曲を自動生成する方法については公知のどのようなものを用いてもよいことから、ここでの説明を省略する。ステップS12では、補正テンポによるメロディと伴奏を出力する。このメロディと伴奏の出力形態は、種々のどのような出力形態であってもよい。例えば、記憶媒体に記憶する、音源で再生する、ディスプレイ6Aに楽譜等として表示する、他の電子楽器などの装置に送信する、などの出力形態であってよい。
【0044】
以上のようにして、イントロ・エンディング有無の全組み合わせについてテンポ補正率、すなわち、補正テンポと標準テンポの比(R)を求め、その中で最もテンポ補正率が1に近いものを抽出して表示する。
なお、上述の図8に示した表示は一例であって、該表示項目は表示した項目のみに限られるものでないことは言うまでもない。また、抽出結果をディスプレイ6Aに表示する際には各テンプレート群毎に抽出した曲テンプレートを1つだけ表示するのではなく、候補として複数の曲テンプレートを表示するようにしてもよい。こうすると、ユーザは他にどのような候補があるのかを知ることができ、テンポ補正率を参照して他の候補を選択することもできるようになる。さらに、表示された結果とは異なって、イントロをどうしても付加したいなどというときには、テンポ補正率を再計算してイントロなどを付加した条件で曲テンプレートを再提示することができるようにすれば、この程度のテンポ補正率変化であればイントロを付加した方がよい、などをユーザが判断して選択することができるようになり便利である。
【0045】
なお、生成時間に影響を与える要素として、リタルダンド処理がある。この機能はある区間でテンポをだんだんに遅くする機能であり音楽的要求で採用するものであるが、時間あわせのために用いることもできる。ただし、時間あわせのためにテンポを極端に変化させてしまうと音楽的に不自然になることから、時間あわせのためよりも音楽的なリタルダンドを付加し、その結果のテンポ補正値を計算し、より1に近い値であれば採用するようにしてもよい。
なお、イントロがない場合には小節先頭からメロディが始まるが、メロディにピックアップがつき、イントロ小節より前に音符を生成するときは、その区間の長さも考慮したテンポ補正がなされる。ピックアップはメロディを生成する前にはわからないので、予め補正テンポを算出して比較することはできない。ピックアップは曲全体の長さに比べると非常に短いので、テンポ補正率の比較では考慮しないが、曲生成の指定時間には微妙に影響するので、演奏時にテンポを微補正できるようにするとよい。
【0046】
なお、イントロ有無、エンディング有無の組み合わせ4種類(メロディは常に1つ有る状態)を曲生成候補としたが、これに限らず、Aメロディ、Bメロディのようにメロディを複数区間に分けて1つのセクションとしたり、間奏も1つのセクションとしたりして、これらの有無の組み合わせを曲生成候補としてもよい。また、メロディの繰り返しの有無も組み合わせに入れてもよい。例えば、「イントロ/Aメロディ/Bメロディ/間奏/第2Aメロディ/第2Bメロディ/第3Bメロディ/エンディング」という基本構成があり、各セクションについての有無の組み合わせを曲生成候補としてもよい。また、各セクションの有無の典型的な組み合わせパターンを複数記憶しておき、それらを曲生成候補としてもよい。なお、自動作曲の方式や、曲テンプレートの内容は例示したものに限らない。なお、上述の説明では、同一名称・異小節数の曲テンプレート(すなわち、同一のテンプレート群に含まれる全ての曲テンプレート)の拍子、標準テンポ、イントロ小節数、エンディング小節数は各々の曲テンプレートで共通であるものとしたが、図6及び図7に示した実施例においては各々の曲テンプレートで共通でなくてもよい。
なお、ユーザが直接生成時間を指定するものに限らず、間接的に指定してもよい。例えば、映像にBGMを付加する装置において、ユーザが映像の一部又は全体を指定すると、該映像の一部又は全体の時間長を曲生成時間として設定するようにしてもよい。生成された曲は、映像に付加されるBGMとなる。
【0047】
なお、上述した実施例においては曲テンプレートと作曲用データ(小節数対応生成用データ)を別々に持つようにしたが、共通の作曲用データとしてもよい。すなわち、各小節数の曲テンプレート中に小節数対応生成用データ(ブロック構成や楽節構成、コード進行等)を含ませてもよい。この場合、曲テンプレートを決定した時点で小節数対応生成用データも決定されるので、図4におけるステップS8、ステップS9の処理が省略されることになる。また、曲テンプレートや作曲用データを小節数を単位として持つようにしたがこれに限らず、時間等の非小節数を単位としてもよい。例えば、曲テンプレートや作曲用データとして10秒、20秒、30秒等の所定時間単位のデータを持ち、イントロやエンディングを5秒、8秒等の時間単位とする。そして、イントロやエンディングの有無の組み合わせ毎に、本実施形態と同様に指定した時間に一致または近似する時間長となるような作曲用データを求めて、求めた作曲用データに基づき自動作曲するようにすればよく、近似する時間長の場合はテンポを微調整して時間長を一致させればよい。
【0048】
なお、上述した「自動作曲処理」(図2参照)により生成されるメロディ(及び伴奏)の演奏データのフォーマットは、イベントの発生時刻を曲や小節内における絶対時間で表した『イベント+絶対時間』形式のもの、イベントの発生時刻を1つ前のイベントからの時間で表した『イベント+相対時間』形式のもの、音符の音高と符長あるいは休符と休符長で楽音データを表した『音高(休符)+符長』形式のもの、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域にイベントを記憶した『ベタ方式』形式のものなど、どのような形式のものでもよい。
【0049】
【発明の効果】
この発明によれば、曲の主要部分の小節数が算出した小節数に対応していない作曲用データであっても、イントロやエンディングなどの曲の主要部分以外を適宜の小節数分だけ付加すれば算出した小節数に対応する曲を生成することのできる作曲用データである場合には、該作曲用データをユーザに対して提示するようにしたことから、ユーザはより多くの作曲用データを用いて曲を自動作曲することができるようになる、という効果を得る。
また、作曲用データをユーザに対して提示する際にテンポに関する所定の情報を提示することによって、ユーザが予めテンポずれした曲の適正を判断して作曲用データの選択を行うことができるようになる、という効果を得る。
【図面の簡単な説明】
【図1】 この発明に係る自動作曲装置を内蔵した電子楽器の実施の形態を示すハード構成ブロック図である。
【図2】 曲テンプレートのデータ構成の一実施例を示す該念図であり、図2(a)は曲テンプレートの全体構成を示す概念図、図2(b)は個々の曲テンプレートにおいての詳細なデータ内容を示す概念図である。
【図3】 作曲用データのデータ構成の一実施例を示す該念図である。
【図4】 上述した電子楽器のCPUで実行する「自動作曲処理」の一実施例を示すフローチャートである。
【図5】 第1の処理方式に従う「候補抽出処理」の一実施例を示したフローチャートである。
【図6】 第2の処理方式に従う「候補抽出処理」の一実施例を示したフローチャートである。
【図7】 第3の処理方式に従う「候補抽出処理」の一実施例を示したフローチャートである。
【図8】 ディスプレイに表示されるデータ抽出結果の一実施例を示す概念図である。
【符号の説明】
1…CPU、1A…タイマ、2…ROM、3…RAM、4…検出回路、4A…演奏操作子、5…スイッチ検出回路、5A…パネル操作子、6…表示回路、6A…ディスプレイ、7…音源回路、8…効果回路、8A…サウンドシステム、9…外部記憶装置、10…MIDIインタフェース、10A…MIDI機器、11…通信インタフェース、11A…サーバコンピュータ、X…通信ネットワーク、1D…データ及びアドレスバス
Claims (7)
- 曲のメロディに対応する主要区間に関して、それぞれ長さの異なる複数の作曲用データを記憶する記憶手段と、
作成すべき曲の時間長を指定する指定手段と、
曲の前記主要区間と該主要区間以外のイントロ、間奏、エンディングなどの所定区間との組み合わせであって、その組み合わせパターンが異なる複数の組み合わせのそれぞれについて、その全体の時間長が前記作成すべき曲の時間長に一致又は近似した時間長となるような長さになるように、前記主要区間で使用する前記作曲用データを、前記記憶手段に記憶された前記長さの異なる複数の作曲用データの中から、決定する決定手段と、
前記複数の組み合わせのうちの選択された組み合わせに対応する区間構成からなる曲を、該選択された組み合わせについて決定された前記作曲用データを用いて自動作曲する作曲手段と
を具備した自動作曲装置。 - 前記主要区間に関する作曲用データは小節単位の作曲用データであり、また前記所定区間は小節単位の長さを有しており、
前記決定手段は、前記指定された時間長に基づいて該時間長に対応した小節数を決定し、前記複数の組み合わせのそれぞれについて、この決定した小節数から前記所定区間の小節数を減算した小節数に一致又は近似した小節数の作曲用データを前記記憶手段から抽出するものであることを特徴とする請求項1に記載の自動作曲装置。 - 更に、前記複数の組み合わせ毎に、前記作成すべき曲の時間長とするために必要な補正テンポを算出する補正テンポ算出手段と、
前記算出された補正テンポと補正前のテンポとのずれが少ない組み合わせについて決定された前記作曲用データを1乃至複数提示する提示手段と
を具備した請求項1に記載の自動作曲装置。 - 前記提示手段は、前記ずれの多少に関わらず、所定区間の組み合わせ毎の所定優先順位に従って前記作曲用データを1乃至複数提示することを特徴とする請求項3に記載の自動作曲装置。
- 曲テンプレートを記憶する第2の記憶手段と、
前記第2の記憶手段に記憶された所定の曲テンプレート毎に前記複数の組み合わせについて、前記作成すべき曲の時間長に基づき前記主要区間に関して所定テンポ及び拍子に対応する小節数を算出すると共に、作成すべき曲全体の小節数の演奏時間が前記作成すべき曲の時間長となる補正テンポを算出する算出手段と、
前記第2の記憶手段に記憶された曲テンプレートのうち、算出した補正テンポと所定テンポとの間におけるテンポずれの少ない曲テンプレートを選択的に1乃至複数提示する提示手段と、
提示された曲テンプレートの中から所望の曲テンプレートを選択する選択手段と
を更に具備し、
前記決定手段は、前記複数の組み合わせのそれぞれについて、前記算出された前記主要区間に関する小節数に対応する長さの作曲用データを前記複数の作曲用データの中から決定し、
前記作曲手段は、この決定された作曲用データと前記選択された曲テンプレートを用いて自動作曲することを特徴とする請求項 1 に記載の自動作曲装置。 - 補正テンポと所定テンポとの間におけるテンポずれの適否を各曲テンプレート毎に評価する評価手段を更に具備し、
前記提示手段は、前記評価手段による評価結果を曲テンプレート毎に提示することを特徴とする請求項5に記載の自動作曲装置。 - 曲のメロディに対応する主要区間に関してそれぞれ長さの異なる複数の作曲用データを記憶する記憶手段を具えたコンピュータに、
作成すべき曲の時間長を指定するステップと、
曲の前記主要区間と該主要区間以外のイントロ、間奏、エンディングなどの所定区間との組み合わせであって、その組み合わせパターンが異なる複数の組み合わせのそれぞれについて、その全体の時間長が前記作成すべき曲の時間長に一致又は近似した時間長となるような長さになるように、前記主要区間で使用する前記作曲用データを、前記記憶手段に記憶された前記長さの異なる複数の作曲用データの中から、決定するステップと、
前記複数の組み合わせのうちの選択された組み合わせに対応する区間構成からなる曲を、該選択された組み合わせについて決定された前記作曲用データを用いて自動作曲するステップと
を実行させる自動作曲プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001211116A JP3775249B2 (ja) | 2001-07-11 | 2001-07-11 | 自動作曲装置及び自動作曲プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001211116A JP3775249B2 (ja) | 2001-07-11 | 2001-07-11 | 自動作曲装置及び自動作曲プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003029749A JP2003029749A (ja) | 2003-01-31 |
JP3775249B2 true JP3775249B2 (ja) | 2006-05-17 |
Family
ID=19046484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001211116A Expired - Fee Related JP3775249B2 (ja) | 2001-07-11 | 2001-07-11 | 自動作曲装置及び自動作曲プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3775249B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4513644B2 (ja) * | 2005-05-13 | 2010-07-28 | ヤマハ株式会社 | コンテンツ配信サーバ |
JP2016029499A (ja) * | 2015-10-26 | 2016-03-03 | パイオニア株式会社 | 作曲支援装置、作曲支援方法、作曲支援プログラム、作曲支援プログラムを格納した記録媒体 |
CN115831080A (zh) * | 2022-11-18 | 2023-03-21 | 北京字跳网络技术有限公司 | 确定音频的方法、装置、电子设备及存储介质 |
-
2001
- 2001-07-11 JP JP2001211116A patent/JP3775249B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003029749A (ja) | 2003-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3627636B2 (ja) | 楽曲データ生成装置及び方法並びに記憶媒体 | |
US20060230910A1 (en) | Music composing device | |
US6175072B1 (en) | Automatic music composing apparatus and method | |
JP3630075B2 (ja) | 副旋律生成装置及び方法並びに記憶媒体 | |
JP3528654B2 (ja) | メロディ生成装置及びリズム生成装置と記録媒体 | |
JP3637775B2 (ja) | メロディ生成装置と記録媒体 | |
CN1770258B (zh) | 表演风格确定设备和方法 | |
JP2002023747A (ja) | 自動作曲方法と装置及び記録媒体 | |
JP3915807B2 (ja) | 奏法自動判定装置及びプログラム | |
JP3775249B2 (ja) | 自動作曲装置及び自動作曲プログラム | |
JP3724347B2 (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP3709821B2 (ja) | 楽曲情報編集装置及び楽曲情報編集プログラム | |
JP4748027B2 (ja) | 自動伴奏装置及びプログラム | |
JP3834963B2 (ja) | 音声入力装置及び方法並びに記憶媒体 | |
JP3835131B2 (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP3719156B2 (ja) | 自動作曲装置及び自動作曲プログラム | |
JP2003271142A (ja) | 奏法表示編集装置及び方法 | |
JP2000112472A (ja) | 自動作曲装置と記録媒体 | |
JP3933070B2 (ja) | アルペジオ生成装置及びプログラム | |
JP5104414B2 (ja) | 自動演奏装置及びプログラム | |
JP4172509B2 (ja) | 奏法自動判定装置及び方法 | |
JP3752940B2 (ja) | 自動作曲方法、自動作曲装置及び記録媒体 | |
JP3752956B2 (ja) | 演奏ガイド装置および演奏ガイド方法並びに演奏ガイドプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2003233376A (ja) | 電子楽音発生装置及び方法 | |
JP3709820B2 (ja) | 楽曲情報編集装置及び楽曲情報編集プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050705 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050905 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060213 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090303 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100303 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110303 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |