JP3752940B2 - 自動作曲方法、自動作曲装置及び記録媒体 - Google Patents
自動作曲方法、自動作曲装置及び記録媒体 Download PDFInfo
- Publication number
- JP3752940B2 JP3752940B2 JP2000021580A JP2000021580A JP3752940B2 JP 3752940 B2 JP3752940 B2 JP 3752940B2 JP 2000021580 A JP2000021580 A JP 2000021580A JP 2000021580 A JP2000021580 A JP 2000021580A JP 3752940 B2 JP3752940 B2 JP 3752940B2
- Authority
- JP
- Japan
- Prior art keywords
- passage
- computer
- data
- song
- time length
- 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】
【従来の技術】
従来、自動作曲装置としては、データベースから読出した作曲用データに基づいて自動作曲を行なうものが知られている(例えば、特開平9−50278号公報参照)。この場合、作曲用データとしては、A−B−C−C’等の楽節配列により曲構成を表わす曲構成データと、メロディ特徴やリズム特徴等の曲特徴を表わす曲特徴データとを含むデータが使用される。
【0003】
【発明が解決しようとする課題】
上記した従来技術によると、自動作曲処理が終了するまでは曲の時間長が判明せず、希望する時間長の曲を得ることはできなかった。自動作曲処理の終了後に時間調節のためにテンポを調整することも考えられるが、不自然にテンポが速い又は遅い曲になるおそれがあった。
【0004】
この発明の目的は、所望の時間長の曲を得ることができる新規な自動作曲方法及び装置を提供することにある。
【0005】
【課題を解決するための手段】
この発明に係る第1の自動作曲方法は、コンピュータにおける自動作曲方法であって、
作成すべき曲の時間長を前記コンピュータに入力するステップと、
入力された時間長に対応して使用すべき音符の数を前記コンピュータにより決定するステップと、
決定された数の音符を用いて曲を前記コンピュータにより自動的に作成するステップと
を含むものである。
【0006】
第1の自動作曲方法によれば、作成すべき曲について所望の時間長を入力すると、入力された時間長に対応して2分音符、4分音符、8分音符等の使用すべき音符の数が決定される。そして、決定された数の音符を用いて自動的に曲が作成される。従って、入力した時間長に一致又は近似した時間長の曲を得ることができる。
【0009】
この発明に係る第2の自動作曲方法は、コンピュータにおける自動作曲方法であって、
作成すべき曲の時間長を前記コンピュータに入力するステップと、
入力された時間長に対応する楽節の数を前記コンピュータにより決定するステップと、
各々決定された数の楽節からなる複数の楽節構成を前記コンピュータにより求めるステップと、
求めた複数の楽節構成のうちから1つの楽節構成を前記コンピュータにて選択するステップと、
選択された楽節構成を有する曲を前記コンピュータにより自動的に作成するステップと
を含むものである。
【0010】
第2の自動作曲方法によれば、作成すべき曲について所望の時間長を入力すると、入力された時間長に対応する3楽節等の楽節の数が決定される。そして、各々決定された数の楽節からなる複数の楽節構成が求められると共に、該複数の楽節構成のうちから1つの楽節構成が選択され、選択に係る楽節構成を有する曲が自動的に作成される。従って、入力した時間長に一致又は近似した時間長の曲を得ることができると共に、曲の楽節構成にユーザの意志を反映させることができる。
【0012】
【発明の実施の形態】
図1は、この発明の一実施形態に係る自動作曲装置を備えた電子楽器の回路構成を示すものであり、この電子楽器は、パーソナルコンピュータ等の小型コンピュータによって楽音発生、曲作成等が制御されるようになっている。
【0013】
バス10には、CPU(中央処理装置)12、ROM(リード・オンリィ・メモリ)14、RAM(ランダム・アクセス・メモリ)16、検出回路18,20、表示回路22、音源回路24、効果回路26、外部記憶装置28、MIDI(Musical Instrument Digital Interface)インターフェース30、通信インターフェース32、タイマ34等が接続されている。
【0014】
CPU12は、ROM14にストアされたプログラムに従って楽音発生、曲作成等のための各種処理を実行するもので、曲作成処理については図2〜11を参照して後述する。
【0015】
RAM16は、CPU12による各種処理に際して使用される種々の記憶部を含むもので、主な記憶部としては、作曲条件記憶部16A、作曲用データ記憶部16B、曲データ記憶部16C等を含んでいる。
【0016】
検出回路18は、鍵盤36から鍵操作情報を検出するものである。検出回路20は、スイッチ群38から各種スイッチの操作情報を検出するものである。スイッチ群38は、一例として文字入力及び数値入力が可能なキーボードからなり、マウスも含んでいる。
【0017】
表示回路22は、表示器40の表示動作を制御することにより各種の表示を可能にするものである。
【0018】
音源回路24は、複数の楽音発生チャンネルを有するものである。
【0019】
効果回路26は、音源回路24から発生される楽音信号にコーラス、リバーブ等の効果を付加するものである。効果回路26から送出される楽音信号は、サウンドシステム42に供給され、音響に変換される。
【0020】
外部記憶装置28は、HD(ハードディスク)、FD(フロッピーディスク)、CD(コンパクトディスク)、DVD(ディジタル多目的ディスク)、MO(光磁気ディスク)等のうち1又は複数種類の記録媒体を着脱可能なものである。外部記憶装置28に所望の記録媒体を装着した状態では、記録媒体からRAM16へデータを転送可能である。また、装着した記録媒体がHDやFDのように書込可能なものであれば、RAM16のデータを記録媒体に転送可能である。
【0021】
プログラム記録手段としては、ROM14の代りに外部記憶装置28の記録媒体を用いることができる。この場合、記録媒体に記録したプログラムは、外部記憶装置28からRAM16へ転送する。そして、RAM16に記憶したプログラムに従ってCPU12を動作させる。このようにすると、プログラムの追加やバージョンアップ等を容易に行なうことができる。
【0022】
MIDIインターフェース30は、自動演奏装置等の他のMIDI機器44との間で演奏情報等の送受信を行なうために設けられたものである。
【0023】
通信インターフェース32は、通信ネットワーク46(例えばLAN(ローカル・エリア・ネットワーク)、インターネット、電話回線等)を介してサーバコンピュータ48と情報通信を行なうために設けられたものである。この発明の実施に必要なプログラムや各種データは、サーバコンピュータ48から通信ネットワーク46及び通信インターフェース32を介してRAM16又は外部記憶装置28へダウンロード要求に応じて取込むようにしてもよい。
【0024】
タイマ34は、与えられるテンポデータTMに対応する周期でテンポクロック信号TCLを発生するもので、テンポクロック信号TCLは、割込命令としてCPU12に供給される。CPU12は、テンポクロック信号TCLの各クロックパルス毎に割込処理を開始する。このような割込処理を利用することにより記憶部16Cの曲データに基づいて自動演奏を行なうことができる。
【0025】
上記した電子楽器において、CPU12は、鍵盤36で鍵が押されるたびに、押された鍵に対応する音高情報と発音命令信号とを音源回路24に供給する。音源回路24は、音高情報及び発音命令信号に応じて、押された鍵に対応する音高を有する楽音信号を発生する。このようにしてマニュアル演奏音の発生が可能となる。
【0026】
図2は、作曲ルーチンの第1の例を示すものである。ステップ50では、作成すべき曲に関して時間長入力処理を行なう。すなわち、ユーザがスイッチ群38中のスイッチの操作又はマウスの操作により所望の時間長を例えば「40秒」のように指示すると、指示された時間長を表わす時間長データがRAM16の作曲条件記憶部16Aに書込まれる。
【0027】
次に、ステップ52では、仮テンポと音符種類毎の音符使用割合とを指定する処理を行なう。すなわち、ユーザがスイッチ群38中のスイッチの操作又はマウスの操作により例えば「120」(毎分当りの4分音符数)を指示すると、指示されたテンポを表わすテンポデータが記憶部16Aに書込まれる。テンポの指定は、表示器40の画面に「遅い(4分音符=60)」、「中(4分音符=120)」、「速い(4分音符=140)」を表示し、ユーザに所望のテンポを選択させることで行なうようにしてもよい。
【0028】
また、ユーザがスイッチ群38中のスイッチの操作又はマウスの操作により例えば2分音符、4分音符及び8分音符について作成すべき曲中での音符使用割合を例えば「0.2」、「0.5」、「0.3」のように指示すると、音符種類毎に指示された音符使用割合を表わす音符使用割合データが記憶部16Aに書込まれる。音符種類毎の音符使用割合の指定は、例えばROM14等の記憶手段に時間長毎に1又は複数組の音符使用割合データを記憶しておき、ステップ50での時間長の入力に応答して入力に係る時間長に対応する1又は複数の音符使用割合データを表示器40の画面に表示させ、ユーザに表示中のいずれかの音符使用割合データを選択させることで行なうようにしてもい。この場合、記憶手段には時間長毎に「遅い(60)」、「中(120)」、「速い(140)」の3通りのテンポに対応して3組の音符使用割合データを記憶しておき、入力に係る時間長と3通りのテンポとに対応する3組の音符使用割合データを表示器40の画面に表示してユーザにいずれかの音符使用割合データを選択させるようにしてもよい。このようにすると、テンポ指定と音符種類毎の音符使用割合指定とを1回の操作で行なうことができ、独立したテンポ指定操作が不要となる。
【0029】
ステップ52においては、2分音符〜8分音符に限らず、全音符、16分音符以下の音符、付点音符、連符、休符等について使用割合を指定するようにしてもよい。
【0030】
次に、ステップ54では、記憶部16Aの時間長データ、テンポデータ及び音符使用割合データに基づいて音符種類毎の音符数を算出する。このためには、まず、次の数1の式に従って作成すべき曲中の総音符数Qを求める。
【0031】
【数1】
Q=T×TMP/60×(2×R2+R4+0.5×R8)
ここで、Tは入力した時間長、TMPは指定したテンポをそれぞれ表わし、R2、R4、R8はそれぞれ2分音符、4分音符、8分音符について指定した音符使用割合を表わす。
【0032】
総音符数Qを求めた後、次の数2の式により2分音符数Q2、4分音符数Q4、8分音符数Q8を求める。
【0033】
【数2】
Q2=Q×R2
Q4=Q×R4
Q8=Q×R8
一例として、T=40秒、TMP=120、R2=0.2、R4=0.5、R8=0.3とすると、
Q=40×120/60×(2×0.2+0.5+0.5×0.3)≒76
Q2=76×0.2≒15
Q4=76×0.5≒38
Q8=76×0.3≒23
となる。
【0034】
次に、ステップ56では、各音符種類毎に算出に係る数の音符を入力に係る時間長の区間内に割り振ってリズムを決定する。音符の割り振り方は、ランダムでもよいし、あるいは楽節構成(A−B−A−A’等の楽節配列及び楽節毎の小節数)を指定してそれに従うようにしてもよい。楽節構成を指定した場合、楽節Aと楽節Aのような同一区間では同様の態様で音符を割り振り、楽節Aと楽節A’のような類似区間では類似の態様で音符を割り振り、楽節Aと楽節Bのような対比区間では対照的に異なる態様で音符を割り振る。楽節構成を指定した場合には、図8、9又は図10、11を参照して後述する処理によりリズムを決定してもよい。また、リズム特徴(例えばシンコペーションの有無等)を指定して、それに従うようにしてもよく、あるいは拍子を指定して小節単位でリズム決定を行なうようにしてもよい。
【0035】
次に、ステップ58では、決定されたリズムを構成する各音符にピッチ(音高)を付与する。ピッチ付与の仕方は、ランダムでもよいし、あるいは楽節構成を指定してそれに従うようにしてもよい。楽節構成を指定した場合、楽節Aと楽節Aのような同一区間では同様の態様でピッチを付与し、楽節Aと楽節A’のような類似区間では類似の態様でピッチを付与し、楽節Aと楽節Bのような対比区間では対照的に異なる態様でピッチを付与する。楽節構成を指定した場合には、図8,9又は図10,11を参照して後述する処理によりピッチを付与してもよい。また、ピッチ特徴(例えば跳躍度合い等)又はコード進行等を指定してそれに従うようにしてもよい。なお、ステップ56、58の処理では、音楽ルールを考慮するようにしてもよい。
【0036】
ステップ56,58の処理で作成された曲データは、RAM16の記憶部16Cに保存されている。ステップ60では、記憶部16AのテンポデータをテンポデータTMとしてタイマ34に供給してテンポクロック信号TCLの周波数を決定する。そして、信号TCLに基づく割込処理により記憶部16Cの曲データに基づいて作成曲の自動演奏を行なう。ユーザは、作成曲の自動演奏を試聴し、好みに合うように自動演奏のテンポを修正する。テンポの修正は、スイッチ群38中のスイッチの操作又はマウスの操作により行なう。テンポ修正操作に応じて記憶部16Aのテンポデータ(タイマ34に供給されるテンポデータTM)の値が変更され、この値変更に応じてテンポクロック信号TCLの周波数が変更され、TCLの周波数変更に応じて自動演奏のテンポが変更される。テンポ変更方法としては、テンポクロック信号TCLの周波数を一定として、曲データ中のタイミングデータの値を設定テンポに応じて変更する方法、テンポクロック信号TCLを計数するカウンタの計数動作を設定テンポに応じて制御する方法等を用いてもよい。ただし、テンポを修正すると、入力した時間長とは異なる長さになってしまうので、時間長を保存する場合はテンポ修正をしない。
【0037】
図3は、作曲ルーチンの第2の例を示すものである。ステップ70では、ステップ50で述べたと同様にして時間長入力処理を行なう。
【0038】
次に、ステップ72では、仮テンポと拍子とを指定する処理を行なう。仮テンポ指定処理は、ステップ52で述べたと同様にして行なうことができる。拍子指定処理では、ユーザがスイッチ群38中のスイッチの操作又はマウスの操作により4/4拍子、3/4拍子等のいずれかの拍子を指示すると、指示された拍子を表わす拍子データが記憶部16Aに書込まれる。
【0039】
次に、ステップ74では、記憶部16Aの時間長データ、テンポデータ及び拍子データに基づき且つ次の数3の式に従って作成すべき曲の小節数Mを求める。
【0040】
【数3】
M=T×TMP/(60×B)
ここで、Tは入力した時間長、TMPは指定したテンポ、Bは指定した拍子の4分音符数をそれぞれ表わす。
【0041】
一例として、T=40秒、TMP=120、B=4とすると、
M=40×120/(60×4)=20[小節]
となる。なお、演奏の結果、小節数Mに端数が出た場合(例えばM=20.5の場合)は、近い整数(例えば20又は21)又は近く且つ音楽的に切りのよい整数(例えば20又は24)に丸め込む。
【0042】
次に、ステップ76では、算出に係る数の小節のうちの各小節に音符を割り振ってリズムを決定する。このとき、リズムが小節単位となるように調整する。音符の割り振り方は、ランダムでよいし、あるいは記憶した多数の小節単位のリズムパターンのうちからいずれかのリズムパターンを選択して選択に係るリズムパターンに従うようにしてもよい。また、ステップ56で述べたと同様にして楽節構成を指定してそれに従うようにしてもよい。楽節構成を指定した場合には、図8,9又は図10,11を参照して後述する処理によりリズムを決定してもよい。さらに、リズム特徴(例えばシンコペーションの有無等)を指定してそれに従うようにしてもよい。
【0043】
次に、ステップ78では、決定されたリズムを構成する各音符にピッチ(音高)を付与する。ピッチ付与の仕方は、ランダムでもよいし、あるいはステップ58で述べたと同様にして楽節構成を指定してそれに従うようにしてもよい。楽節構成を指定する場合には、図8,9又は図10,11を参照して後述する処理によりピッチを付与してもよい。また、ピッチ特徴(例えば跳躍度合い等)又はコード進行等を指定してそれに従うようにしてもよい。なお、ステップ76,78の処理では、音楽ルールを考慮するようにしてもよい。
【0044】
この後、ステップ80では、ステップ60で述べたと同様にして記憶部16Cの曲データに基づいて自動演奏を行ない、ユーザの好みに合わせてテンポを修正する。また、上述のように小節数を丸め込んだために、入力された時間長とは異なる長さになった場合は、テンポ修正により時間長を調節してもよい。
【0045】
図4は、作曲ルーチンの第3の例を示すものである。ステップ90では、ステップ50で述べたと同様にして時間長入力処理を行なう。
【0046】
次に、ステップ92では、ステップ72で述べたと同様にして仮テンポと拍子とを指定する処理を行なう。この後、ステップ94では、ステップ74で述べたと同様にして記憶部16Aの時間長データ、テンポデータ及び拍子データに基づいて小節数を算出する。
【0047】
次に、ステップ96では、算出された小節数に基づいて楽節構成を決定する処理を行なう。楽節構成決定処理としては、図5,6又は7について後述する方法を用いることができる。
【0048】
次に、ステップ98では、決定された楽節構成における各楽節に音符を割り振ってリズムを決定する。このとき、リズムが小節単位となるように調整する。音符の割り振り方は、ランダムでもよいし、あるいは記憶した多数の小節単位のリズムパターンのうちからいずれかのリズムパターンを選択して選択に係るリズムパターンに従うようにしてもよい。また、図8,9又は図10,11を参照して後述する処理によりリズムを決定してもよい。さらに、リズム特徴(例えばシンコペーションの有無等)を指定してそれに従うようにしてもよい。
【0049】
次に、ステップ100では、決定されたリズムを構成する各音符にピッチ(音高)を付与する。ピッチ付与の仕方は、ランダムでもよいし、あるいはピッチ特徴(例えば跳躍度合い等)又はコード進行等を指定してそれに従うようにしてもよい。また、図8,9又は図10,11を参照して後述する処理によりピッチを付与してもよい。なお、ステップ98、100の処理では、音楽ルールを考慮するようにしてもよい。
【0050】
この後、ステップ102では、ステップ60で述べたと同様にして記憶部16Cの曲データに基づいて自動演奏を行ない、ユーザの好みに合わせてテンポを修正する。あるいは、時間長調節のためにテンポを修正する。
【0051】
図5は、楽節構成決定処理の第1の例を示すものである。算出された小節数をNとし、いずれもS小節である楽節の数をKとし、S小節未満の余りの小節をLとした場合、ステップ110では、次の数4の式によりKとLとを求める。
【0052】
【数4】
N=K×S+L
次に、ステップ112では、S小節の楽節K個とL小節の楽節1個との順序の組合せを求める。一例として、S=4、N=10とすると、K=2、L=2となり、楽節構成は、4小節の楽節2個と、2小節の楽節1個となる。そして、順序の組合せは、
4+4+2、4+2+4、2+4+4
の3種類となる。
【0053】
次に、ステップ114では、各組合せ毎に(K+1)個の楽節に対して所定のルールに従って楽節記号を割り振る。所定のルールとしては、例えば、
ルール1:記号の出現順序はA,B…のようにアルファベット文字の順とし、ダッシュはA’、A”…のように1つずつ増大させていくこと、
ルール2:同じ記号又はそのダッシュ付き記号は同じ小節数の楽節に付すことという2つのルールを用いることができる。前述の3種類の組合せについてルール1,2に従って楽節記号を割り振ると、
4(A)+4(A)+2(B)、4(A)+4(A’)+2(B)
4(A)+2(B)+4(A)、4(A)+2(B)+4(A’)
2(A)+4(B)+4(B)、2(A)+4(B)+4(B’)
となる。
【0054】
次に、ステップ116では、楽節記号が割り振られた複数の楽節構成(上記した例では6つの楽節構成)のうちから1つの楽節構成を選択する処理を行なう。表示等により提示された複数の楽節構成の中からユーザがスイッチ群38中のスイッチの操作又はマウスの操作により所望の楽節構成を選択すると、選択された楽節構成を表わす楽節構成データが記憶部16Aに書込まれる。
【0055】
図6は、楽節構成決定処理の第2の例を示すものである。この例では楽節の小節数を全く自由とし、算出された小節数の分割を優先的に行なう。すなわち、算出された小節数を予め定めた分割数で分割し、分割で得られた各楽節構成に楽節記号を割り振る。
【0056】
一例として、分割数は、
1≦小節数≦4では、1分割
5<小節数≦8では、2分割
9<小節数≦12では、3分割
のように予め定めておく。この場合、Pを整数とすると、一般的には、
4×(P−1)+1≦小節数≦P×4では、P分割
のように表現することができる。
【0057】
ステップ120では、算出された小節数に応じた分割数を上記のように予め定めた条件に従って求める。そして、ステップ122では、算出された小節数を求めた分割数に従って分割する。一例として、算出小節数が10である場合は、3分割となるので、
2+4+4、2+6+2、4+4+2,4+2+4
等の楽節構成が得られる。なお、算出小節数が1小節の場合を除いて(2小節以上であれば)、楽節の小節数を2以上としてもよい。このようにすると、ステップ122の分割処理において、例えば10小節を3分割する際に1小節からなる楽節を含む楽節構成が生ずるのを防ぐことができる。
【0058】
次に、ステップ124では、分割で得られた各楽節構成に対して、ステップ114で述べたと同様にして楽節記号を割り振る。
【0059】
この後、ステップ126では、楽節記号が割り振られた複数の楽節構成のうちから1つの楽節構成を選択する処理をステップ116と同様に実行する。この結果、ユーザの選択に係る楽節構成を表わす楽節構成データが記憶部16Aに書込まれる。
【0060】
図7は、楽節構成決定処理の第3の例を示すものである。この例では、算出された小節数の分割を全くランダムに行なう。ステップ130では、例えば2,4等の小節数をランダムに発生する。
【0061】
次にステップ132では、発生された小節数の合計が算出された小節数以上になったか判定する。この判定結果が否定的(N)であれば、ステップ130に戻り、再び小節数をランダムに発生する。
【0062】
このような処理を何回か繰返すと、ステップ132の判定結果が肯定的(Y)となる。一例として、算出された小節数が10である場合は、4,2,4のように小節数が発生されると、ステップ132の判定結果が肯定的(Y)となる。
【0063】
ステップ132の判定結果が肯定的(Y)になると、ステップ134に移り、発生に係る小節数配列からなる楽節構成に対して、ステップ114で述べたと同様にして楽節記号を割り振る。この結果、楽節記号が割り振られた楽節構成が1つであれば、該楽節構成を表わす楽節構成データを記憶部16Aに書込む。また、楽節記号が割り振られた楽節構成が複数であれば、複数の楽節構成のうちから1つの楽節構成を選択する処理をステップ116と同様にして行なう。上記例のように小節数配列4−2−4からなる楽節構成に楽節記号を割り振った結果として、
4(A)+2(B)+4(A)、4(A)+2(B)+4(A’)
のような楽節構成が得られたときは、いずれかの楽節構成をユーザに選択させる。この結果、ユーザの選択に係る楽節構成を表わす楽節構成データが記憶部16Aに書込まれる。
【0064】
図8は、図4の作曲ルーチンの第1の変形例(図4のステップ96〜100に相当)を示すものである。ステップ96では、図5,6又は7に関して前述した方法で楽節構成を決定する。
【0065】
次に、ステップ97では、リズム特徴テンプレートの選択処理を行なう。ROM14等の記憶手段には、図9(a)に示すように複数の楽節構成にそれぞれ対応した複数のリズム特徴テンプレートR1、R2、R3…が予め記憶されている。各リズム特徴テンプレートは、R1について代表的に示すように対応する楽節構成におけるA楽節−B楽節−A楽節−A’楽節等の楽節配列に従って各楽節毎にリズム特徴データを含むものであり、例えばリズム特徴テンプレートR1は、A−B−A−A’に対応するリズム特徴データRD1〜RD4を含んでいる。各楽節のリズム特徴データは、例えばシンコペーションの有無、付点音符の有無、音符数の多少、音符の粗密(小節前半で粗、小節後半で密等)などを表わす。A、A’、B等の楽節記号は、楽節間でデータの同一、類似又は対比の関係を表わす。例えば先頭のA楽節のリズム特徴データは、後方のA楽節のリズム特徴データと同一であり、A’楽節のリズム特徴データとは類似である。また、B楽節のリズム特徴データは、A楽節のリズム特徴データと対比した(対照的な)リズム特徴を有する。
【0066】
ステップ97では、記憶部16Aの楽節構成データに基づいて記憶手段のリズム特徴テンプレートR1、R2、R3…を参照し、楽節構成データと楽節構成が一致するリズム特徴テンプレートを記憶手段から読出してRAM16の作曲用データ記憶部16Bに書込む。そして、ステップ98では、決定された楽節構成における各楽節毎に記憶部16Bのリズム特徴テンプレートに従ってリズムを決定する。
【0067】
次に、ステップ99では、ピッチ特徴テンプレート及びコード進行テンプレートの選択処理を行なう。ROM14等の記憶手段には、図9(b)に示すように複数の楽節構成にそれぞれ対応した複数のピッチ特徴テンプレートP1、P2、P3…が予め記憶されると共に、図9(c)に示すように複数の楽節構成にそれぞれ対応した複数のコード進行テンプレートC1、C2、C3…が予め記憶されている。
【0068】
各ピッチ特徴テンプレートは、P1について代表的に示すように対応する楽節構成におけるA楽節−B楽節−A楽節−A’楽節等の楽節配列に従って各楽節毎にピッチ特徴データを含むものであり、例えばピッチ特徴テンプレートP1は、A−B−A−A’に対応するピッチ特徴データPD1〜PD4を含んでいる。各楽節のピッチ特徴データは、例えばピッチの跳躍度合い、和音構成音の含有率、非和音構成音の音型(倚音、経過音等)、重要打点(強拍打点又は強拍に打点がない場合は強拍の近傍の打点)のピッチなどを表わす。A,A’,B等の楽節記号は、リズム特徴テンプレートに関して前述したと同様に楽節間でデータの同一、類似又は対比の関係を表わす。
【0069】
各コード進行テンプレートは、C1について代表的に示すように対応する楽節構成におけるA楽節−B楽節−A楽節−A’楽節等の楽節配列に従って各楽節毎にコード進行データを含むものであり、例えばコード進行データC1は、A−B−A−A’に対応したコード進行データCD1〜CD4を含んでいる。各楽節のコード進行データは、コード進行を表わす。A、A’、B等の楽節記号は、リズム特徴テンプレートに関して前述したと同様に楽節間でデータの同一、類似又は対比の関係を表わす。
【0070】
ステップ99では、記憶部16Aの楽節構成データに基づいて記憶手段のピッチ特徴テンプレートP1、P2、P3…及びコード進行テンプレートC1、C2、C3…を参照し、楽節構成データと楽節構成が一致するピッチ特徴テンプレート及びコード進行テンプレートを記憶手段から読出して記憶部16Bに書込む。そして、ステップ100では、決定された楽節構成における各楽節毎に記憶部16Bのピッチ特徴テンプレート及びコード進行テンプレートに従ってピッチを付与する。
【0071】
図9(a)〜(c)に示したリズム特徴テンプレート、ピッチ特徴テンプレート及びコード進行テンプレートは、記憶手段において別々に記憶してもよく、あるいはR1、P1、C1のように楽節構成を同じくするテンプレートをセットで記憶してもよい。テンプレートをセットで記憶した場合は、図8のステップ97において記憶部16Aの楽節構成データと楽節構成が一致するリズム特徴テンプレート、ピッチ特徴テンプレート及びコード進行テンプレートを記憶手段から読出し、記憶部16Bに書込む。そして、ステップ98では、記憶部16Bのリズム特徴テンプレートに従ってリズム決定を行ない、ステップ100では、記憶部16Bのピッチ特徴テンプレート及びコード進行テンプレートに従ってピッチ付与を行なう。この場合、ステップ99は省略することができる。
【0072】
記憶手段には、楽節構成毎に複数のリズム特徴テンプレートと複数のピッチ特徴テンプレートと、複数のコード進行テンプレートとを記憶してもよい。この場合、記憶部16Aの楽節構成データに基づいてリズム特徴テンプレート、ピッチ特徴テンプレート及びコード進行テンプレートがいずれも複数読出されるが、各テンプレート群毎にいずれかのテンプレートをユーザに選択させるか又はランダムに自動選択する構成とすればよい。このようにすると、同じ楽節構成であってもリズム特徴、ピッチ特徴及びコード進行の組合せを変えることができ、作成される曲のバリエーションが増加する。
【0073】
図10は、図4の作曲ルーチンの第2の変形例(図4のステップ96〜100に相当)を示すものである。ステップ96では、図5,6又は7に関して前述した方法で楽節構成を決定する。
【0074】
次に、ステップ104では、図11に示すような作曲用データ生成処理を行なう。すなわち、ステップ140では、A楽節用のリズム特徴データ、ピッチ特徴データ及びコード進行データをランダムに生成し、RAM16内の所定領域に書込む。
【0075】
次に、ステップ142では、記憶部16Aの楽節構成データを参照して最初の楽節がA楽節か判定する。この判定結果が肯定的(Y)であればステップ144に移り、A楽節用のリズム特徴データ、ピッチ特徴データ及びコード進行データをRAM16内の所定領域から記憶部16Bにコピーする。記憶部16Bには、リズム特徴データ、ピッチ特徴データ及びコード進行データをそれぞれ記憶するための第1、第2及び第3の記憶領域が設けられており、コピーに係るリズム特徴データ、ピッチ特徴データ及びコード進行データは、それぞれ第1、第2及び第3の記憶領域に書込まれる。
【0076】
ステップ144の後は、ステップ146に移り、記憶部16Aの楽節構成データを参照して最終楽節についてデータを生成済みか判定する。最初の楽節についてデータを生成した直後は、ステップ146の判定結果が否定的(N)となり、ステップ142に戻る。そして、記憶部16Aの楽節構成データを参照して次の楽節がA楽節か判定する。この判定結果が否定的(N)であればステップ148に移る。
【0077】
ステップ148では、次の楽節(ステップ142と同じ楽節)がA’楽節か判定する。この判定結果が肯定的(Y)であればステップ150においてA楽節用のリズム特徴データ、ピッチ特徴データ及びコード進行データをRAM16の所定領域からコピーし、一部(例えば後半)を修正したものを記憶部16Bの第1、第2及び第3の記憶領域に前回の書込データに続けてそれぞれ書込む。
【0078】
ステップ150の後は、ステップ146に移り、前述したと同様に最終楽節についてデータを生成済みか判定する。この判定結果が否定的(N)であればステップ142に戻り、次の楽節がA楽節か判定する。この判定結果が否定的(N)であればステップ148に移り、次の楽節(ステップ142と同じ楽節)がA’楽節か判定する。
【0079】
ステップ148の判定結果が否定的(N)であったときは、ステップ152に移り、次の楽節(ステップ148と同じ楽節)がB楽節か判定する。この判定結果が肯定的(Y)であればステップ154においてB楽節用のリズム特徴データ、ピッチ特徴データ及びコード進行データをランダムに生成し、記憶部16Bの第1、第2及び第3の記憶領域に前回と同様にそれぞれ書込む。
【0080】
ステップ154の後は、ステップ146に移り、前述したと同様にして最終楽節についてデータ生成済みか判定する。この判定結果が否定的(N)であればステップ142に戻る。そして、次の楽節がA、A’、Bのいずれでもないと、ステップ142,148,152の判定結果がいずれも否定的(N)となり、ステップ156に移る。
【0081】
ステップ156では、その他の楽節用の各種データを生成する。すなわち、次の楽節がA”楽節であれば、A楽節用のリズム特徴データ、ピッチ特徴データ及びコード進行データをA’楽節用のデータとは異なるように一部を修正したもの(又はA’楽節用のリズム特徴データ、ピッチ特徴データ及びコード進行データをコピーして一部修正したもの)を記憶部16Bの第1、第2及び第3の記憶領域に前回と同様にそれぞれ書込む。
【0082】
また、次の楽節がB’楽節であれば、B楽節用のリズム特徴データ、ピッチ特徴データ及びコード進行データをコピーして一部修正したものを記憶部16Bの第1、第2及び第3の記憶領域に前回と同様にそれぞれ書込む。
【0083】
さらに、次の楽節がC楽節であれば、C楽節用のリズム特徴データ、ピッチ特徴データ及びコード進行データをランダムに生成し、記憶部16Bの第1、第2及び第3の記憶領域に前回と同様にそれぞれ書込む。
【0084】
ステップ156の後は、ステップ146に移り、前述したと同様に最終楽節についてデータを生成済みか判定する。この判定結果が肯定的(Y)になると、処理エンドとする。
【0085】
図11の処理によれば、記憶部16Aの楽節構成データが例えばA−B−A−A’のような楽節構成を表わしているときは、記憶部16Bの第1、第2及び第3の記憶領域には、いずれもA−B−A−A’の楽節構成を有するリズム特徴データ、ピッチ特徴データ及びコード進行データがそれぞれ得られる。
【0086】
図10のステップ98では、記憶部16Bの第1の記憶領域に記憶されたリズム特徴データに従ってリズム決定を行なう。また、図10のステップ100では、記憶部16Bの第2及び第3の記憶領域にそれぞれ記憶されたピッチ特徴データ及びコード進行データに従ってピッチ付与を行なう。
【0087】
上記した実施形態によれば、時間長毎(又は小節数毎)に作曲用データを記憶手段に記憶しないので、少ない記憶データ量で入力時間長に一致又は近似した時間長の曲を作成することができる。
【0088】
この発明は上記した実施形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
【0089】
(1)テンポの調整方法としては、曲の始めから終りまで一様に調整するものに限らず、曲の楽節、小節などの所定区間毎に調整するものあるいは暫減(リタルダンド)又は暫増(アチェレランド)形式で調整するものであってもよい。
【0090】
(2)楽節構成の表示方法としては、楽節配列及び楽節毎の小節数を表示するものに限らず、「イントロ4小節、Aメロディ4小節、Bメロディ2小節、フィルイン2小節、エンディング4小節」のような表示方法でもよい。
【0091】
(3)この発明は、メロディ曲の作成に限らず、リズムやベース等の伴奏曲の作成にも適用することができる。
【0092】
(4)この発明は、電子楽器の形態に限らず、パーソナルコンピュータとアプリケーションソフトウェアとの組合せの形態でも実施することができる。アプリケーションソフトウェアは、磁気ディスク、光磁気ディスク、半導体メモリ等の記録媒体に記憶させてパーソナルコンピュータに供給してもよいし、あるいは通信ネットワークを介してパーソナルコンピュータに供給するようにしてもよい。
【0093】
(5)この発明は、電子楽器に限らず、カラオケ装置、ゲーム装置、携帯電話等の携帯型通信端末、自動演奏ピアノ等に用いる曲データの作成にも適用することができる。
【0094】
(6)この発明は、鍵盤式電子楽器に限らず、弦楽器式、管楽器式、打楽器式等の電子楽器にも適用することができる。
【0095】
(7)この発明は、音源装置、自動演奏装置等を内蔵した電子楽器に限らず、鍵盤、音源装置、自動演奏装置等をMIDIや各種ネットワーク等の通信手段で結合した電子楽器にも適用することができる。
【0096】
(8)メロディ、コード等の曲データのフォーマットは、イベントの発生時刻を1つ前のイベントからの相対時間で表わす「イベント+相対時間」方式に限らず、イベントの発生時刻を曲や小節内の絶対時間で表わす「イベント+絶対時間」方式、音符の音高と音符長及び休符と休符長で曲の内容を表わす「音高(休符)+符長」方式、イベント発生の最小時間単位毎に記憶領域を確保し、イベントの発生時刻に対応する記憶領域にイベントを記憶する方式等の任意の方式を用いることができる。
【0097】
(9)複数チャンネル分の曲データを作成する場合、複数チャンネルのデータを混在させて記録してもよいし、チャンネル毎に記録トラックを別にして記録してもよい。
【0098】
(10)曲データを記録する場合、メモリ内の連続する領域に時系列的に記録してもよいし、メモリ内の飛び飛びの領域に分散させて記録して連続するデータとして管理するようにしてもよい。
【0099】
【発明の効果】
以上のように、この発明によれば、所望の時間長を入力すると共に入力した時間長に対応して音符数又は楽節数を決定し、決定に係る音符数又は楽節数に従って自動的に曲を作成するようにしたので、入力した時間長に一致又は近似した時間長の曲を作成可能となる効果が得られる。
【0100】
また、楽節数を決定した場合において、各々決定した数の楽節からなる複数の楽節構成を求めると共に、求めた複数の楽節構成のうちから1つの楽節構成を選択し、選択に係る楽節構成を有する曲を作成すると、曲の楽節構成にユーザの意志を反映可能となる効果が得られる。
【図面の簡単な説明】
【図1】 この発明の一実施形態に係る自動作曲装置を備えた電子楽器の回路構成を示すブロック図である。
【図2】 作曲ルーチンの第1の例を示すフローチャートである。
【図3】 作曲ルーチンの第2の例を示すフローチャートである。
【図4】 作曲ルーチンの第3の例を示すフローチャートである。
【図5】 楽節構成決定処理の第1の例を示すフローチャートである。
【図6】 楽節構成決定処理の第2の例を示すフローチャートである。
【図7】 楽節構成決定処理の第3の例を示すフローチャートである。
【図8】 図4の作曲ルーチンの第1の変形例を示すフローチャートである。
【図9】 リズム特徴テンプレート、ピッチ特徴テンプレート及びコード進行テンプレートの記憶状況を示す図である。
【図10】 図4の作曲ルーチンの第2の変形例を示す示すフローチャートである。
【図11】 作曲用データ生成処理を示すフローチャートである。
【符号の説明】
10:バス、12:CPU、14:ROM、16:RAM、16A:作曲条件記憶部、16B:作曲用データ記憶部、16C:曲データ記憶部、18,20:検出回路、22:表示回路、24:音源回路、26:効果回路、28:外部記憶装置、30:MIDIインターフェース、32:通信インターフェース、34:タイマ、36:鍵盤、38:スイッチ群、40:表示器、42:サウンドシステム、44:他のMIDI機器、46:通信ネットワーク、48:サーバコンピュータ。
Claims (6)
- コンピュータにおける自動作曲方法であって、
作成すべき曲の時間長を前記コンピュータに入力するステップと、
入力された時間長に対応して使用すべき音符の数を前記コンピュータにより決定するステップと、
決定された数の音符を用いて曲を前記コンピュータにより自動的に作成するステップと
を含む自動作曲方法。 - 作曲すべき曲の時間長を入力する入力手段と、
この入力手段で入力された時間長に対応して使用すべき音符の数を決定する決定手段と、
この決定手段で決定された数の音符を用いて自動的に曲を作成する作曲手段と
を備えた自動作曲装置。 - コンピュータにおいて使用される記録媒体であって、
作成すべき曲の時間長を入力するステップと、
入力された時間長に対応して使用すべき音符の数を決定するステップと、
決定された数の音符を用いて曲を自動的に作成するステップと
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 - コンピュータにおける自動作曲方法であって、
作成すべき曲の時間長を前記コンピュータに入力するステップと、
入力された時間長に対応する楽節の数を前記コンピュータにより決定するステップと、
各々決定された数の楽節からなる複数の楽節構成を前記コンピュータにより求めるステップと、
求めた複数の楽節構成のうちから1つの楽節構成を前記コンピュータにて選択するステップと、
選択された楽節構成を有する曲を前記コンピュータにより自動的に作成するステップと
を含む自動作曲方法。 - 作成すべき曲の時間長を入力する入力手段と、
この入力手段で入力された時間長に対応する楽節の数を決定する決定手段と、
各々前記決定手段で決定された数の楽節からなる複数の楽節構成を決定する楽節構成決定手段と、
この楽節構成決定手段で決定された複数の楽節構成のうちから1つの楽節構成を選択する選択手段と、
この選択手段で選択された楽節構成を有する曲を自動的に作成する作曲手段と
を備えた自動作曲装置。 - コンピュータにおいて使用される記録媒体であって、
作成すべき曲の時間長を入力するステップと、
入力された時間長に対応する楽節の数を決定するステップと、
各々決定された数の楽節からなる複数の楽節構成を求めるステップと、
求めた複数の楽節構成のうちから1つの楽節構成を選択するステップと、
選択された楽節構成を有する曲を自動的に作成するステップと
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000021580A JP3752940B2 (ja) | 2000-01-31 | 2000-01-31 | 自動作曲方法、自動作曲装置及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000021580A JP3752940B2 (ja) | 2000-01-31 | 2000-01-31 | 自動作曲方法、自動作曲装置及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001215961A JP2001215961A (ja) | 2001-08-10 |
JP3752940B2 true JP3752940B2 (ja) | 2006-03-08 |
Family
ID=18547974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000021580A Expired - Fee Related JP3752940B2 (ja) | 2000-01-31 | 2000-01-31 | 自動作曲方法、自動作曲装置及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3752940B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111415643B (zh) * | 2020-04-26 | 2023-07-18 | Oppo广东移动通信有限公司 | 通知音创作方法、装置、终端设备和存储介质 |
-
2000
- 2000-01-31 JP JP2000021580A patent/JP3752940B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001215961A (ja) | 2001-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6175072B1 (en) | Automatic music composing apparatus and method | |
JP3528654B2 (ja) | メロディ生成装置及びリズム生成装置と記録媒体 | |
JP3637775B2 (ja) | メロディ生成装置と記録媒体 | |
JP2002023747A (ja) | 自動作曲方法と装置及び記録媒体 | |
JP2001331175A (ja) | 副旋律生成装置及び方法並びに記憶媒体 | |
JP3266149B2 (ja) | 演奏ガイド装置 | |
JP2000039837A (ja) | 演奏練習装置と記録媒体 | |
JP3752940B2 (ja) | 自動作曲方法、自動作曲装置及び記録媒体 | |
JP3546739B2 (ja) | 自動演奏装置と記録媒体 | |
JP6693596B2 (ja) | 自動伴奏データ生成方法及び装置 | |
JP3671788B2 (ja) | 音色設定装置および音色設定方法並びに音色設定プログラムを記録したコンピュータで読み取り可能な記録媒体 | |
JP2001022354A (ja) | アルペジオ生成装置及びその記録媒体 | |
JP3812510B2 (ja) | 演奏データ処理方法および楽音信号合成方法 | |
JP3752859B2 (ja) | 自動作曲装置と記録媒体 | |
JP2000112472A (ja) | 自動作曲装置と記録媒体 | |
JP3641955B2 (ja) | 楽曲データ生成装置及びそのための記録媒体 | |
JP3775249B2 (ja) | 自動作曲装置及び自動作曲プログラム | |
JP2531068B2 (ja) | メロディ付加音制御装置 | |
JP5104414B2 (ja) | 自動演奏装置及びプログラム | |
JP3430895B2 (ja) | 自動伴奏装置及び自動伴奏制御プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3587133B2 (ja) | 発音長決定方法と装置及び記録媒体 | |
JP3799843B2 (ja) | 楽曲生成装置および楽曲生成プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2002032079A (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP3669301B2 (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP3637782B2 (ja) | データ生成装置と記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040921 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050301 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050401 |
|
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: 20050829 |
|
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: 20051122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051205 |
|
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: 20081222 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |