JP3775039B2 - メロディ生成装置と記録媒体 - Google Patents
メロディ生成装置と記録媒体 Download PDFInfo
- Publication number
- JP3775039B2 JP3775039B2 JP04108098A JP4108098A JP3775039B2 JP 3775039 B2 JP3775039 B2 JP 3775039B2 JP 04108098 A JP04108098 A JP 04108098A JP 4108098 A JP4108098 A JP 4108098A JP 3775039 B2 JP3775039 B2 JP 3775039B2
- Authority
- JP
- Japan
- Prior art keywords
- sound
- melody
- original
- new
- chord
- 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】
【従来の技術】
従来、与えられた演奏データを、指定されたコード進行に適合するように音高変換する技術が知られている(例えば、特開平7−219534号公報参照)。より具体的には、与えられた演奏データの各音高を、その演奏データの元となったコード進行に基づいて所定の基準コード(例えばCメジャー)に基づくように逆変換し、この逆変換後の演奏データの各音高を、指定されたコード進行に基づく音高となるように変換している。前記逆変換は、与えられた演奏データの各音高を、元となったコードのルートと前記基準コードのルートとの差分だけ全体的にシフトした後、元となったコードのタイプに応じて、前記基準のタイプ(メジャー)に適合するように若干修正するようにしている。また、前記変換は、前記基準のタイプ(メジャー)に基づくように逆変換された各音高を、指定されたコードのタイプに適合するように若干修正した後、指定されたコードのルートと前記基準コードのルートとの差分だけ全体にシフトするようにしている。このような技術は、一般的にはベースパートやコードパート等の自動伴奏に用いられている。
【0003】
【発明が解決しようとする課題】
上述の技術をメロディパートに応用すれば、あるコード進行に基づいて作成されたメロディを他のコード進行に基づくメロディに変換することができ、新たなメロディの生成が可能となる。しかしながら、元となったコード進行における各コード区間毎に、或いは指定されたコード進行における各コード区間毎に、元となった、或いは指定されたコードのルートと基準コードのルートとの差分だけ全体的にシフトされるため、コードが変わる位置の前後においてメロディの流れが分断されてしまい、生成されたメロディは、最初の与えられたメロディの雰囲気を保持することができないという問題点がある。
【0004】
この発明の目的は、所望のメロディとメロディ雰囲気が近似した新メロディを生成することができる新規なメロディ生成装置及び記録媒体を提供することにある。
【0005】
【課題を解決するための手段】
この発明に係る第1のメロディ生成装置は、
元メロディを表わす元メロディデータを供給する供給手段と、
前記元メロディに関して所望のコード進行を指定する指定手段と、
前記元メロディを構成する各音を重要音又は非重要音のいずれかに分類する分類手段であって、前記重要音としては所定の条件を満たす複数音が予め定められているものと、
前記供給手段からの元メロディデータと前記指定手段で指定されたコード進行とに基づいて前記元メロディの構成音に対応する新メロディの構成音を決定することにより新メロディを表わすメロディデータを生成する生成手段であって、前記分類手段で重要音であると分類された各重要音については前記指定手段で指定されたコード進行の中で該重要音に対応するコードの構成音のうちから該重要音及びその直前の重要音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として選択し、前記分類手段で重要音でないと分類された各非重要音については該非重要音及びその直前の音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として採用するものと
を備えたものである。
【0006】
第1のメロディ生成装置によれば、元メロディを構成する各音は、重要音又は非重要音のいずれか分類される。重要音としては、例えば強拍音、アクセントのある音、長い音等が予め定められている。重要音であると分類された各重要音については指定手段で指定されたコード進行の中で該重要音に対応するコード構成音のうちから該重要音及びその直前の重要音の音高変化状態と一致又は近似した音高変化状態が得られる音が新メロディの構成音として生成手段により選択される。また、重要音でないと分類された各非重要音については該非重要音及びその直前の音の音高変化状態と一致又は近似した音高変化状態が得られる音が新メロディの構成音として生成手段により採用される。生成手段は、新メロディの構成音として選択・採用した一連の音を表わすメロディデータを生成する。このメロディデータは、元メロディの音高変化状態とユーザ指定のコード進行とに基づいて元メロディの構成音に対応する新メロディの構成音を決定したものであり、元メロディとメロディ雰囲気が近似したものとなる。
【0007】
この発明に係る第1のメロディ生成装置において、前記生成手段は、前記分類手段で重要音でないと分類された各非重要音について該非重要音及びその直前の音の音高変化状態と一致又は近似した音高変化状態が得られる候補音が前記指定手段で指定されたコード進行の中で該非重要音に対応するコードの構成音と共存できない矛盾する音か否かを判定し、矛盾するとの判定に応じて該候補音と音高が近似した音を該コードの構成音のうちから新メロディの構成音として採用し、矛盾しないとの判定に応じて該候補音と音高が一致又は近似した音を該コードで成立する音階音のうちから新メロディの構成音として採用するようにしてもよい。このようにすると、コードの構成音と共存できない矛盾する音が新メロディに含まれるのを防止することができる。
【0008】
この発明に係る第1のメロディ生成装置にあっては、前記生成手段で生成されるメロディデータが表わす新メロディの中から音高差が所定値以上である連続した2音を検出する検出手段と、この検出手段で検出された連続した2音のうちの前音を、前記指定手段で指定されたコード進行の中で該前音に対応するコードの構成音のうち前記元メロディの対応する2音の音高変化状態と一致又は近似した音高変化状態が得られる音に修正する修正手段とを更に設けてもよい。このようにすると、所定値以上の音高差を例えば短3度以上の音程とすることにより跳躍する元の音を該元の音に対応するコードの構成音のうち元メロディの対応する2音の音高変化状態と一致又は近似した音高変化状態が得られる音とすることができ、不自然さを解消することができる。
【0009】
この発明に係る第2のメロディ生成装置は、
元メロディを表わす元メロディデータと該元メロディに関してコード進行を表わす元コードデータとを供給する供給手段と、
この供給手段からの元コードデータが表わす各元コード毎に前記元メロディの構成音のうちで該元コードに対応するメロディ音の中に、該元コードの構成音以外の音であってその音を該元コードに付加したときにテンション音として成立する音があるか判定する判定手段と、
この判定手段での判定の結果が肯定的になるのに応答した判定に係る元コードを、前記テンション音として成立する音をコード構成音とするテンション度数付きのコードに修正する第1の修正手段と、
前記元メロディに関して所望の新コード進行を指定する指定手段と、
この指定手段で指定された新コード進行のうち前記第1の修正手段での修正に係るコードに対応する新コードを該修正に係るコードと同じテンション度数を有するコードとするように前記新コード進行を修正する第2の修正手段と、
前記元メロディを構成する各音を重要音又は非重要音のいずれかに分類する分類手段であって、前記重要音としては所定の条件を満たす複数音が予め定められているものと、
前記供給手段からの元メロディデータと前記第2の修正手段で修正された新コード進行とに基づいて前記元メロディの構成音に対応する新メロディの構成音を決定することにより新メロディを表わすメロディデータを生成する生成手段であって、前記分類手段で重要音であると分類された各重要音については前記第2の修正手段で修正された新コード進行の中で該重要音に対応する新コードの構成音のうちから該非重要音及びその直前の音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として選択し、前記分類手段で重要音でないと分類された各非重要音については該非重要音及びその直前の音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として採用するものと
を備えたものである。
【0010】
第2のメロディ生成装置によれば、判定手段は、元コードデータが表わす各元コード毎に元メロディの構成音のうちで該元コードに対応するメロディ音の中に、該元コードの構成音以外の音であってその音を元コードに付加したときにテンション音として成立する音があるか判定する。この判定の結果が肯定的になると、第1の修正手段が判定に係る元コードを、前記テンション音として成立する音をコード構成音とするテンション度数付きのコードに修正する。第2の修正手段は、指定手段で指定された新コード進行のうち第1の修正手段での修正に係るコードに対応する新コードを該修正に係るコードと同じテンション度数を有するコードに修正する。そして、第2の修正手段で修正された新コード進行を用いて第1のメロディ生成装置と同様にメロディ生成動作が行なわれる。従って、第1のメロディ生成装置と同様に元メロディとメロディ雰囲気が近似したメロディデータを得ることができ、しかも第2の修正手段で修正された新コード進行を用いたことにより元メロディにおけるテンションの響きを新メロディに引き継ぐことができる。
【0011】
この発明を実施する際には、供給手段、指定手段、判定手段、生成手段等にそれぞれ相当する処理ステップを含むプログラムを記録した記録媒体を用いてもよい。すなわち、記録媒体のプログラムを読取って各処理ステップを実行するコンピュータによりメロディ生成装置の機能を実現することができる。
【0012】
【発明の実施の形態】
この発明の一実施形態に係るメロディ生成方法は、元コードが設定されている元メロディを、そのメロディ雰囲気を保ちつつユーザ指定の新コード進行に相応しい新メロディに変換するものである。ここで、元メロディのメロディ雰囲気を保つということは、
(1)元メロディとメロディラインが似ていること、
(2)メロディとコードとの融合感が変わらないこと
という2つの要素を含んでいる。
【0013】
元メロディと近似したメロディラインを得るための処理としては、
(1)メロディ音高の増減ラインが同一で、新たな凹凸が生じないようにすること、
(2)新メロディの各音は、対応する元メロディの各音になるべく近い音にすること、
(3)音域の広がりは、元メロディとあまり相違しないようにすること
などが要求される。
【0014】
また、メロディとコードとの融合感を維持することは、メロディをコードの構成音とすることによって実現される。しかし、メロディのすべての音をコード構成音にすると、音が跳躍し、なめらかなメロディができない。そこで、メロディ中の特定の重要音(例えば強拍音、アクセントのある音、長い音など)をコード構成音にする(一般に「ボイシング」と呼ばれている)。隣り合う重要音の間の音についてはボイシングを意識しない。このようにメロディの重要音をコード構成音とすることによってコードとの融合をとっている。
【0015】
ここでいうコードとは、必ずしも記述されているコードネームに一致しない。例えば図1(a),(b)に示すように音名Aの元メロディ音に関して記述されているコードネームがCM (Cメジャー)である場合は多々あるが、この場合には正確にコードネームを記述するとテンションを含むC6 である。ここではこのコードで扱い、「修正後元コード」と呼ぶ。図1(c)には、修正後元コードC6 を示す。こうすることによって元メロディ音Aは、コードC6 の構成音となる。
【0016】
ユーザが図1(d)に示すように新コードFを指定すると、この新コードを修正前元コードC6 と同じテンション度数を有するコードF6 に修正する。このコードF6 を「修正後新コード」と呼び、図1(e)に示す。そして、修正後新コードF6 の構成音のうちの1音を図1(f)に示すように新メロディ音とする。このようにすると、元メロディにおけるテンションの響きを新メロディに引き継ぐことができる。
【0017】
なお、ユーザ指定の新コードが修正後元コードと矛盾する場合には、ユーザ指定の新コードを優先する。例えば図1(d)に示すように新コードとしてCM7を指定したときは、CM7が修正後元コードC6 と矛盾する(共存できない)ので、図1(e)に示すように新コードCM7を優先して修正後新コードとし、図1(f)に示すように新メロディ音をCM7の構成音のうちの1音とする。
【0018】
次に、メロディの生成過程を説明する。この生成過程は、重要音処理と、非重要音処理と、生成音修正処理との3ステップを含んでいる。
【0019】
重要音処理では、元メロディの重要音を修正後新コードの構成音に変換する。修正後新コードの構成音としては、複数の音が存在するので、次のルールに従って選択する。
【0020】
(1)新メロディにおける重要音とその直前の重要音との音高差は、対応する元メロディの重要音間の音高差と同一とする。この条件を満たす音が修正後新コードの構成音の中に存在しないときは、修正後新コードの構成音のうち該条件を満たす音に近い音を採用する。近い音が同一距離で複数存在するときは、所定の片方(例えば上方)を採用する。
【0021】
(2)新メロディにおける曲先頭又はフレーズ先頭の音は、元メロディと音高同一とする。この条件を満たす音が修正後新コードの構成音の中に存在しないときは、修正後新コードの構成音のうち該条件を満たす音に近い音を採用する。近い音が同一距離で複数存在するときは、所定の片方(例えば上方)を採用する。
【0022】
非重要音処理では、重要音処理で生成した新メロディにおける隣り合う重要音間の非重要音を次のルールに従って生成する。
【0023】
(1)新メロディにおける非重要音とその直前の音との音高差は、対応する元メロディの音間の音高差と同一とする。この条件を満たす音が修正後新コードの構成音と矛盾するときは、該コードの構成音のうち該条件を満たす音に近い音を採用する。近い音が同一距離で複数存在するときは、所定の片方(例えば上方)を採用する。非重要音に関する上記条件を満たす音が修正後新コードの構成音と矛盾しないときは、該条件を満たす音が音階音(Available Note Scale の構成音)であればそのまま採用し、音階音でなければ音階音のうち該条件を満たす音に近い音を採用する。近い音が複数存在するときは、所定の片方(例えば上方)を採用する。
【0024】
(2)曲又はフレーズの重要音出現前の音(最初の重要音より前の音)については、元メロディと音高同一とする。この条件を満たす音が修正前の新コードの構成音と矛盾するときは、該コードの構成音のうち該条件を満たす音に近い音を採用する。近い音が同一距離で複数存在するときは、所定の片方(例えば上方)を採用する。
【0025】
生成音修正処理では、重要音処理及び非重要音処理で生成された新メロディについて不自然な音がないかチェックし、あれば修正する。一例として、音が跳躍する(連続した2音間の音程が短3度以上ある)場合、跳躍元音(連続した2音のうちの前音)は、修正後新コードの構成音でないと不自然なので、修正後新コードの構成音のうち元メロディと一致又は近似した音高変化状態が得られる音を採用する。
【0026】
上記したメロディ生成過程を図2の楽譜に関して説明する。図2において、(A)は元メロディ、(B)は新コードによる新メロディ、(C)は新メロディ生成過程の音をそれぞれ示す。図2(A),(B)において、重要音には丸印を付してあり、図2(A)〜(C)において、各メロディ音符には番号を付してある。
【0027】
まず、元コードを元メロディを参照しながらテンションを加えた修正後元コードに修正する。図2(A)の例においてこの場合が生ずるのは、第2小節第1拍の重要音Fで、これを元コードのテンション(7度の音)として含め、修正後元コードをG7 とする。他の元コードは、対応する元メロディ音を含んでいるので、修正前元コードをそのまま修正後元コードとする。
【0028】
次に、図2(B)の新メロディについて説明する。ここでは、曲先頭の音を重要音とする。また、ユーザ指定の新コード進行F,A,Dm,Emのうちの新コードAを修正後元コードG7 と同じテンション度数を有するコードA7 に修正し、修正後新コード進行F,A7 ,Dm,Emを設定する。
【0029】
曲先頭の音は、元メロディ音がGであり、これを修正後新コードFの構成音に変換する。この場合、Gは、コードFの構成音ではないので、コードFの構成音のうちGに近い音を探すと、図2(C)に番号27の音符で示すようにAかFである。この両者は、Gから同一距離にあるため、曲先頭に関して定めた条件に基づいて一方の音を採用する。ここでは、上方を条件としてAを採用し、番号14の音とする。
【0030】
次の重要音は、番号16の音である。元メロディにおいて番号1の音(G)に対する番号3の音(E)の音高差は短3度下であり、これを新メロディに当てはめると、番号14の音(A)の短3度下の音は、図2(C)に番号28の音符で示すようにF#になる。これは、修正後新コードFの構成音ではないので、近いコード構成音である長3度下のFを採用し、番号16の音とする。
【0031】
次の重要音は、番号17の音である。元メロディにおいて番号3の音(E)に対する番号4の音(F)の音高差は短2度上であり、これを新メロディに当てはめると、番号16の音(F)の短2度上の音は、図2(C)に番号29の音符で示すようにF#となる。これは、修正後新コードA7 の構成音ではないので、F#に近く且つA7 の構成音であるGを採用し、番号17の音とする。
【0032】
この後、番号19,20の重要音についても上記したと同様に元メロディ音を対応する修正後新コードの構成音に変換するが、その説明を省略し、番号24の重要音について説明する。元メロディにおいて番号7の音(C)に対する番号11の音(G)の音高差は、完全5度上であるから、新メロディにおいても図2(C)に番号31の音符で示すように番号20の音(D)から完全5度上の音であるAにしたいが、Aは、修正後新コードEmの構成音ではない。そこで、Aに近いコード構成音としてGかBが候補となる。ここでは、所定の条件として上方をとることとし、Bを採用し、番号24の音とする。所定の条件としては、間に入る音符の数が多くなることを想定して音高差が大きくなる方を採用するというものでもよい。
【0033】
次に、重要音の間を埋める音の生成について説明する。番号15の音については、元メロディにおいて番号1の音(G)に対する番号2の音(E)の音高差が短3度下であるから、番号14の音(A)から短3度下の音を求めると、図2(C)に番号28の音符で示すようにF#となる。これは、修正後新コードFの構成音Fと矛盾するので、近いコード構成音であるFを採用し、番号15の音とする。
【0034】
次に、番号18の音については、元メロディにおいて番号4の音(F)に対する番号5の音(D)の音高差が短3度下であるから、番号17の音(G)から短3度下の音を求めると、Eとなる。これは、修正後新コードA7 の構成音と矛盾しない音階音(ここでは、ハ長調の音階の構成音)であるので、番号18の音として採用する。
【0035】
番号21の音については、元メロディにおいて番号7の音(C)に対する番号8の音(D)の音高差が長2度上であるから、番号20の音(D)から長2度上の音を求めると、Eとなる。これは、修正後新コードDmの構成音と矛盾しない音階音であるので、番号21の音として採用する。
【0036】
番号22の音については、元メロディにおいて番号8の音(D)に対する番号9の音(E)の音高差が長2度上であるので、番号21の音(E)の長2度上の音を求めると、F#となる。これは、修正後新コードDmの構成音Fと矛盾するので、近い(短2度上の)コード構成音であるFを採用し、番号22の音とする。
【0037】
番号23の音については、元メロディにおいて番号9の音(E)に対する番号10の音(F)の音高差が短2度上であるので、番号22の音(F)の短2度上の音を求めると、F#となる。これは、修正後新コードDmの構成音Fと矛盾するので、近いコード構成音を求めると、Aとなり、これを番号23の音とする。
【0038】
図2(B)に示すような新メロディが生成された後、新メロディには生成音修正処理を施す。一例として、跳躍する元の音はコード音というルールに従って修正を行なう。仮に、番号23の音が図2(C)に番号30の音符で示すようにGの音であったとすると、このGの音が番号24の重要音に跳躍する。Gの音は、修正後新コードDmの構成音ではない。そこで、GをDmの構成音であるAに修正し、番号23の音とする。GをFに修正することも考えられるが、Fにすると、元メロディと近似した音高変化状態が得られない。
【0039】
なお、図2の例では、曲先頭音が重要音であったが、非重要音の場合には、重要音が出現するまでの新メロディ音としては、修正前新コードの構成音と矛盾しない限り元メロディ音をそのまま採用する。そして、元メロディ音が修正前新コードと矛盾するときは、修正前新コードの構成音のうち元メロディ音に近い音(複数ならば所定の1つ)を採用する。
【0040】
図3は、上記したメロディ生成方法を実施するメロディ生成装置を備えた電子楽器の回路構成を示すものである。この電子楽器は、パーソナルコンピュータ等の小型コンピュータによってメロディ生成、楽音発生等が制御されるようになっている。
【0041】
バス10には、CPU(中央処理装置)12、ROM(リード・オンリィ・メモリ)14、RAM(ランダム・アクセス・メモリ)16、検出回路18,20、表示回路22、音源回路24、効果回路26、外部記憶装置28、MIDI(Musical Instrument Digital Interface)インターフェース30、通信インターフェース32、タイマ34等が接続されている。
【0042】
CPU12は、ROM14にストアされたプログラムに従ってメロディ生成のための各種処理を実行するもので、これらの処理については図5〜9を参照して後述する。
【0043】
RAM16は、CPU12による各種処理に際して使用される種々の記憶部を含むもので、主な記憶部としては、元メロディデータ記憶部16A、元コードデータ記憶部16B、新コードデータ記憶部16C、新メロディデータ記憶部16D等を含んでいる。
【0044】
検出回路18は、鍵盤36から鍵操作情報を検出するものである。検出回路20は、スイッチ群38から各種スイッチの操作情報を検出するものである。スイッチ群38は、一例として文字入力及び数値入力が可能なキーボードからなる。
【0045】
表示回路22は、表示器39の表示動作を制御することにより各種の表示を可能にするものである。
【0046】
音源回路24は、複数の楽音発生チャンネルを有するものである。楽音発生方式としては、波形メモリ方式、FM方式、物理モデル方式、高調波合成方式、フォルマント合成方式、VCO,VCF,VCA等を用いるアナログシンセサイザ方式等の任意のものを採用することができる。また、音源回路24としては、専用のハードウェアを用いるものに限らず、DSP(ディジタル・シグナル・プロセッサ)とマイクロプログラムを組合せたもの、CPUとソフトウェアを組合せたものであってもよい。さらに、複数の楽音発生チャンネルは、対応する複数の回路で構成してもよく、あるいは1つの回路を時分割的に使用することによって形成してもよい。
【0047】
効果回路26は、音源回路24から発生される楽音信号にコーラス、リバーブ等の効果を付加するものである。効果回路26から送出される楽音信号は、サウンドシステム40に供給され、音響に変換される。
【0048】
外部記憶装置28は、HD(ハードディスク)、FD(フロッピーディスク)、CD(コンパクトディスク)、DVD(ディジタル多目的ディスク)、MO(光磁気ディスク)等のうち1又は複数種類の記録媒体を着脱可能なものである。外部記憶装置28に所望の記録媒体を装着した状態では、記録媒体からRAM16へデータを転送可能である。また、装着した記録媒体がHDやFDのように書込可能なものであれば、RAM16のデータを記録媒体に転送可能である。
【0049】
外部記憶装置28に装着する記録媒体には、多数の楽曲データがデータベースとして記録されている。各楽曲データは、元メロディを表わす元メロディデータと該元メロディに関してコード進行を表わす元コードデータとを含んでいる。
【0050】
楽曲データのデータベースとしては、外部記憶装置28の代りにRAM16を用いてもよい。また、プログラム記録手段としては、ROM14の代りに外部記憶装置28の記録媒体(前述のHD,FD,CD,DVD,MO等)を用いることができる。この場合、記録媒体に記録したプログラムは、外部記憶装置28からRAM16へ転送する。そして、RAM16に記憶したプログラムに従ってCPU12を動作させる。このようにすると、プログラムの追加やバージョンアップ等を容易に行なうことができる。
【0051】
MIDIインターフェース30は、自動演奏装置等の他のMIDI機器42との間で演奏情報等の送受信を行なうために設けられたものである。
【0052】
通信インターフェース32は、通信ネットワーク(例えばLAN(ローカル・エリア・ネットワーク)、インターネット、電話回線等)を介してサーバコンピュータ46と情報通信を行なうために設けられたものである。この発明の実施に必要なプログラムや各種データは、サーバコンピュータ46から通信ネットワーク44及び通信インターフェース32を介してRAM16又は外部記憶装置28へダウンロード要求に応じて取込むようにしてもよい。
【0053】
タイマ34は、与えられるテンポデータに対応する周期でテンポクロック信号TCLを発生するもので、テンポクロック信号TCLは、割込命令としてCPU12に供給される。CPU12は、テンポクロック信号TCLの各クロックパルス毎に割込処理を開始する。このような割込処理を利用することにより記憶部16A,16B又は記憶部16C,16Dの記憶データに基づいて自動演奏を行なうことができる。
【0054】
上記した電子楽器において、CPU12は、鍵盤36で鍵が押されるたびに、押された鍵に対応する音高情報と発音命令信号とを音源回路24に供給する。音源回路24は、音高情報及び発音命令信号に応じて、押された鍵に対応する音高を有する楽音信号を発生する。このようにしてマニュアル演奏音の発生が可能となる。
【0055】
図4は、データベースに楽曲データを登録する第1の例を示すものである。データベース50は、前述したように外部記憶装置28(又はRAM16)により構成される。元メロディデータ入力手段52としては、鍵盤36又はスイッチ群38が用いられ、重要音マークデータ入力手段54としては、スイッチ群38が用いられる。元コードデータ入力手段としては、鍵盤36又はスイッチ群38が用いられるが、破線で示すように元メロディデータを入力とするコード付与装置(例えばROM14のプログラムに従ってCPU12でメロディを分析し、コードを付与するもの)を用いてもよい。
【0056】
ユーザは、楽曲データ入力モードを選択した後、入力手段52を用いて所望の元メロディデータを入力する。入力された元メロディデータは、記憶部16Aに記憶されると共に図2(A)に示すように表示器39の画面に楽譜形式で表示される。ユーザは、表示器39の画面を見ながら入力手段54により画面上で元メロディに関して重要音を指示する。重要音として指示された各音符については、該音符に対応するメロディデータの一部として記憶部16Aに重要音マークデータが記憶されると共に図2(A)に示すように表示器39の画面に重要音マークが表示される。ユーザは、重要音マークデータを入力する前又はした後に入力手段56により表示に係る元メロディに関して順次に元コードを指定することにより順次の元コードからなるコード進行を表わす元コードデータを入力する。入力された元コードデータは、記憶部16Bに記憶されると共に図2(A)に示すように元メロディに関して表示器39の画面に表示される。
【0057】
ユーザは、表示器39の画面上で元メロディ、重要音、元コード等を確認した後、スイッチ群38中の登録スイッチを押して登録指令を与える。この登録指令に応じて記憶部16Aの元メロディデータ(重要音マークデータを含む)と記憶部16Bの元コードデータとがデータベース50に転送される。
【0058】
ユーザは、上記のような処理により所望の複数の曲について楽曲データをデータベース50に登録することができる。なお、このような登録処理を行なわず、登録処理済みの記録媒体を外部記憶装置28に装着するようにしてもよい。
【0059】
ユーザがメロディ生成モードを選択すると、図5,6に示すようなメロディ生成処理が開始される。
【0060】
ステップ60では、データベース50から元メロディデータ(重要音マークデータを含む)と元コードデータとを読出し、それぞれ記憶部16Aと記憶部16Bとにロードする。そして、ステップ61では、記憶部16Bの元コードデータのうち最初の元コードを見る。
【0061】
次に、ステップ62では、ステップ61で見た元コードに対応する元メロディ音の中に、元コードの構成音以外の音であってその音を元コードに付加したときにテンション音として成立する音が含まれているか判定する。この判定の結果が肯定的(Y)であればステップ63に移り、元コードを、前記テンション音として成立する元メロディ音をコード構成音とするテンション度数付きのコードに変更して修正後元コードとする。また、ステップ62の判定結果が否定的(N)であればステップ64に移り、元コードをそのまま修正後元コードとする。
【0062】
ステップ63又は64の処理が終ったときは、ステップ65に移り、鍵盤36又はスイッチ群38により元コードに対応する新コードを指定する。そして、ステップ66では、指定に係る新コードが修正後元コードと矛盾するか判定する。この判定の結果が否定的(N)であればステップ67に移り、修正後元コードがテンション度数付きか判定する。この判定の結果が肯定的(Y)であればステップ68に移り、新コードを、修正後元コードと同じテンション度数を有するコードに変更して修正後新コードとする。
【0063】
ステップ66の判定結果が肯定的(Y)であったときは、ステップ69で新コードをそのまま修正後新コードとする。この結果、修正後元コードと矛盾する新コードが優先的に修正後新コードとされる。また、ステップ67の判定結果が否定的(N)であったときは、ステップ68の処理が必要ないので、ステップ69に移り、新コードを修正後新コードとする。
【0064】
ステップ68又は69の処理が終ったときは、ステップ70に移り、元コードが終了か判定する。最初の元コードについて上記処理を行なったときは、ステップ70の判定結果が否定的(N)となり、ステップ61に戻る。ステップ61では、次の元コードを見る。そして、ステップ62以降の処理を上記したと同様に実行する。
【0065】
記憶部16Bの元コードデータにおける最後の元コードに関してステップ61〜69の処理が終ると、ステップ70の判定結果が肯定的(Y)となり、図6のステップ72に移る。
【0066】
上記した処理によれば、例えば図2(A)の番号4の音に関してステップ62,63により元コードGがG7 に変更されて修正後元コードとなる。また、図1(d)に示したように修正後元コードC6 と矛盾する新コードCM7は、ステップ66,69によりそのまま修正後新コードとなる。さらに、図2(B)の新コードAは、ステップ67,68により修正後元コードG7 に対応してA7 に変更されて修正後新コードとなる。記憶部16Bの元コードデータは、修正後元コードデータに変更され、記憶部16Cの新コードデータは、修正後新コードデータに変更される。
【0067】
ステップ72では、記憶部16Aの元メロディデータのうち最初の元メロディ音を見る。そして、ステップ74では、ステップ72で見た元メロディ音に関して重要音か(重要音マークデータありか)判定する。この判定の結果が肯定的(Y)であればステップ76に移り、図7に関して後述するように重要音処理のサブルーチンを実行する。
【0068】
ステップ74の判定結果が否定的(N)であったとき又はステップ76の処理が終ったときは、ステップ78に移り、元メロディが終了か判定する。最初の元メロディ音について上記処理を行なったときは、ステップ78の判定結果が否定的(N)となり、ステップ72に戻る。ステップ72では、次の元メロディ音を見る。そして、ステップ74,76の処理を上記したと同様に実行する。
【0069】
記憶部16Aの元メロディデータにおける最後の元メロディ音に関してステップ74,76の処理が終ると、ステップ78の判定結果が肯定的(Y)となり、ステップ80に移る。
【0070】
ステップ80では、記憶部16Aの元メロディデータの先頭に読出アドレスを戻す。そして、ステップ82で最初の元メロディ音を見る。
【0071】
次に、ステップ84では、ステップ82で見た元メロディ音が非重要音か(重要音マークデータなしか)判定する。この判定の結果が肯定的(Y)であればステップ86に移り、図8について後述するように非重要音処理を実行する。
【0072】
ステップ84の判定結果が否定的(N)であったとき又はステップ86の処理が終ったときは、ステップ88に移り、元メロディが終了か判定する。最初の元メロディ音について上記処理を行なったときは、ステップ88の判定結果が否定的(N)となり、ステップ82に戻る。ステップ82では、次の元メロディ音を見る。そして、ステップ84,86の処理を上記したと同様に実行する。
【0073】
記憶部16Aの元メロディデータにおける最後の元メロディ音に関してステップ84,86の処理が終ると、ステップ88の判定結果が肯定的(Y)となり、処理エンドとする。
【0074】
図7は、重要音処理のサブルーチンを示すもので、ステップ90では、ステップ74で重要音と判定された元メロディ音が曲又はフレーズで初めての重要音か判定する。この判定の結果が肯定的(Y)であればステップ92に移る。
【0075】
ステップ92では、ステップ90で初めての重要音と判定された元メロディ音が修正後新コードの構成音か判定する。この判定の結果が肯定的(Y)であればステップ94に移り、判定に係る元メロディ音を新メロディ音として採用する。
【0076】
ステップ92の判定結果が否定的(N)であったときは、ステップ96に移り、修正後新コードの構成音のうちにステップ92での判定に係る元メロディ音に近いコード構成音が同一距離で複数あるか判定する。この判定の結果が肯定的(Y)であればステップ98に移り、複数音のうちの所定の音(例えば上方の音)を新メロディ音として採用する。
【0077】
ステップ96の判定結果が否定的(N)であったときは、ステップ100に移り、修正後新コードの構成音のうちステップ92での判定に係る元メロディ音に最も近いコード構成音を新メロディ音として採用する。ステップ94、98又は100の処理が終ったときは、図6のルーチンにリターンする。
【0078】
ステップ90の判定結果が否定的(N)であったときは、ステップ102に移る。ステップ102では、新メロディの候補音が修正後新コードの構成音か判定する。新メロディの候補音は、該候補音の直前の新メロディの重要音の音高に対して対応する元メロディ音(ステップ90での判定に係る元メロディ音)とこの元メロディ音の直前の元メロディ重要音との音高差を加算することにより音高が決定される音である。ステップ102の判定結果が肯定的(Y)であればステップ104に移り、ステップ102での判定に係る候補音を新メロディ音として採用する。
【0079】
ステップ102の判定結果が否定的(N)であったときは、ステップ106に移り、修正後新コードの構成音のうちにステップ102での判定に係る候補音に近いコード構成音が同一距離で複数あるか判定する。この判定の結果が肯定的(Y)であればステップ108に移り、複数音のうちの所定の音(例えば上方の音)を新メロディとして採用する。
【0080】
ステップ106の判定結果が否定的(N)であったときは、ステップ110に移り、修正後新コードの構成音のうちステップ102での判定に係る候補音に最も近いコード構成音を新メロディ音として採用する。ステップ104、108又は110の処理が終ったときは、図6のルーチンにリターンする。
【0081】
図7の処理によれば、例えば図2(B)の番号14の音Aは、ステップ92,96,98により決定される。すなわち、元メロディ音(番号1の音)Gは、修正後新コードFの構成音ではないので、ステップ92からステップ96に移り、近いコード構成音が同一距離で複数あるか調べると、あることが判明し、ステップ98で複数音A,Fのうち上方の音であるAを採用する。
【0082】
また、図2(B)の番号16の音Fは、ステップ102,106,110により決定される。即ち、新メロディの候補音は、番号14の音Aから短3度下の音F#であり、修正後新コードFの構成音ではないので、ステップ102からステップ106に移る。ステップ106で近いコード構成音が同一距離で複数あるか調べると、ないことが判明し、ステップ110で最も近いコード構成音であるFを採用する。
【0083】
さらに、図2(B)の番号24の音Bは、ステップ102,106,108により決定される。すなわち、新メロディの候補音は、番号20の音Dから完全5度上の音Aであり、修正後新コードEmの構成音ではないので、ステップ102からステップ106に移る。ステップ106で近いコード構成音が同一距離で複数あるか調べると、あることが判明し、ステップ108で複数音G,Bのうち上方の音であるBを採用する。
【0084】
図8は、非重要音処理のサブルーチンを示すもので、ステップ120では、ステップ84で非重要音と判定された元メロディ音が曲又はフレーズで重要音出現前の音か判定する。この判定の結果が肯定的(Y)であればステップ122に移る。
【0085】
ステップ122では、ステップ120で重要音出現前の音と判定された元メロディ音が修正前の新コードの構成音と矛盾するか判定する。この判定の結果が否定的(N)であればステップ124に移り、元メロディ音を新メロディ音として採用する。
【0086】
ステップ122の判定結果が肯定的(Y)であったときは、ステップ126に移り、修正前の新コードの構成音のうちの1音を新メロディ音として採用する。この場合、図7のステップ96〜100と類似した処理を行なう。すなわち、修正前の新コードの構成音のうちにステップ122での判定に係る元メロディ音に近いコード構成音が同一距離で複数あるか調べ、あれば複数音のうちの所定の音(例えば上方の音)を採用し、なければ修正前の新コードの構成音のうちステップ122での判定に係る元メロディ音に最も近いコード構成音を採用する。ステップ124又は126の処理が終ったときは、図6のルーチンにリターンする。
【0087】
ステップ120の判定結果が否定的(N)であったときは、ステップ128に移る。ステップ128では、新メロディの候補音が修正後新コードの構成音と矛盾するか判定する。新メロディの候補音は、該候補音の直前の新メロディ音の音高に対して対応する元メロディ音とこの元メロディ音の直前の元メロディ音との音高差を加算することにより音高が決定される音である。
【0088】
ステップ128の判定結果が肯定的(Y)であればステップ130に移り、修正後新コードの構成音のうちの1音を新メロディ音として採用する。この場合、図7のステップ106〜110と類似した処理を行なう。すなわち、修正後新コードの構成音のうちにステップ128での判定に係る候補音に近いコード構成音が同一距離で複数あるか調べ、あれば複数音のうちの所定の音(例えば上方の音)を採用し、なければ修正後新コードの構成音のうちステップ128での判定に係る候補音に最も近いコード構成音を採用する。
【0089】
ステップ128の判定結果が否定的(N)であったときは、ステップ132に移り、ステップ128での判定に係る候補音が修正後新コードで成立する音階の音階音か判定する。なお、音階を決める際には調の情報が必要となるが、このときの調は、ユーザが指定するようにしてもよいし、修正後新コードを解析して自動的に指定するようにしてもよい。この判定の結果が肯定的(Y)であればステップ134に移り、ステップ128での判定に係る候補音を新メロディ音として採用する。
【0090】
ステップ132での判定結果が否定的(N)であったときは、ステップ136に移り、音階音のうちステップ128での判定に係る候補音に近い1音を新メロディ音として採用する。この場合、図7のステップ106〜110に類似した処理を行なう。すなわち、音階音のうちにステップ128での判定に係る候補音に近い音が同一距離で複数あるか調べ、あれば複数音のうちの所定の音(例えば上方の音)を採用し、なければ音階音のうちステップ128での判定に係る候補音に最も近い音を採用する。ステップ130,134又は136の処理が終ったときは、図6のルーチンにリターンする。
【0091】
図8の処理によれば、例えば図2(B)の番号15の音Fは、ステップ128,130により決定される。すなわち、新メロディの候補音は、番号14の音Aから短3度下のF#であり、修正後新コードFの構成音と矛盾するので、ステップ128からステップ130に移り、修正後新コードFの構成音のうちF#に最も近いFを採用する。
【0092】
また、図2(B)の番号18の音は、ステップ128,132,134により決定される。すなわち、新メロディの候補音は、番号17の音Gから短3度下のEであり、修正後新コードA7 の構成音と矛盾しない音階音であるので、ステップ128からステップ132を経てステップ134に移り、Eを新メロディ音として採用する。
【0093】
上記のようなメロディ生成処理により生成された新メロディ音を表わす新メロディデータは、記憶部16Dに記憶される。メロディ生成処理の終了後、ユーザが生成音修正モードを選択すると、図9の生成音修正処理が開始される。図9のルーチンは、図6のステップ88に続けて行なうようにしてもよい。
【0094】
ステップ140では、記憶部16Dの新メロディデータのうち曲先頭から連続した2音について前音に対する後音の音程(音高差)を求める。そして、ステップ142では、前音に対する後音の音程が短3度以上か(音の跳躍か)判定する。この判定の結果が肯定的(Y)であればステップ144に移り、前音が修正後新コードの構成音か判定する。
【0095】
ステップ144の判定結果が否定的(N)であったときは、ステップ146に移り、前音を修正後新コードの構成音に修正する。この場合、修正後新コードの構成音のうち前音に近いコード構成音であって元メロディと一致又は近似した音高変化状態が得られる音を新メロディ音(修正後の前音)として採用する。
【0096】
ステップ142の判定結果が否定的(N)であったとき、ステップ144の判定結果が肯定的(Y)であったとき又はステップ146の処理が終ったときは、ステップ148に移り、新メロディが終了か判定する。曲先頭から連続した2音について上記処理を行なったときは、ステップ148の判定結果が否定的(N)となり、ステップ140に戻る。ステップ140では、次の連続した2音について前音に対する後音の音程を求める。そして、ステップ142〜146の処理を上記したと同様に実行する。
【0097】
記憶部16Dの新メロディデータにおける最後の連続した2音についてステップ140〜146の処理が終ると、ステップ148の判定結果が肯定的(Y)となり、処理エンドとする。
【0098】
図9の処理によれば、例えば図2(C)の番号30の音Gと図2(B)の番号24の音Bとがステップ140でいう順次の2音であったとすると、ステップ140では、音程として長3度上が求められる。そして、ステップ142では、音程が短3度以上であるので、判定結果が肯定的(Y)となり、ステップ144に移る。
【0099】
ステップ144では、番号30の音Gが修正後新コードDmの構成音ではないので、判定結果が否定的(N)となり、ステップ146に移る。ステップ146では、番号30の音Gを、近いコード構成音であって元メロディと近似した音高変化状態が得られる音Aに修正する。
【0100】
図10は、データベースに楽曲データを登録する第2の例を示すものであり、図4と同様の部分には同様の符号を付して詳細な説明を省略する。
【0101】
ユーザは、入力手段52を用いて所望の元メロディデータを入力する。入力された元メロディデータは、記憶部16Aに記憶されると共に図2(A)に示すように表示器39の画面に楽譜形式で表示される。ユーザは、入力手段54により表示に係る元メロディに関して順次に元コードを指定することにより順次の元コードからなるコード進行を表わす元コードデータを入力する。入力された元コードデータは、記憶部16Bに記憶されると共に図2(A)に示すように元メロディに関して表示器39の画面に表示される。入力手段56としては、図4に関して前述したようにコード付与装置を用い、自動的に元コードデータの入力を行なうようにしてもよい。
【0102】
重要音検出手段58は、記憶部16Aの元メロディデータに基づいて重要音を検出し、重要音マークデータを記憶部16Aに書込むもので、一例として図11に示す重要音検出処理をCPU12に実行させることにより実現される。
【0103】
図11の重要音検出処理において、ステップ150では、記憶部16Aの元メロディデータにおける最初の元メロディ音について重要音か分析する。重要音としては、強拍音、アクセントのある音、長い音(例えば4分音符長より長い音)等が予め定められている。重要音の決定には、フレーズ中の重要音についてハーモナイズを行なうライン・ライティング(ソリ・ボイシング)の技法が参考になる(例えば、渡辺貞夫著「ジャズスタディー」、第193〜202頁参照)。コード進行によってトーナリティ(調性)が変更されたときの冒頭の音等が重要音とされることもあるので、図10において破線で示すように入力手段56からの元コードデータを重要音検出手段58に供給し、元コードデータが表わすコード進行を考慮して重要音分析を行なうようにしてもよい。
【0104】
次に、ステップ152では、ステップ150の分析結果に基づいて分析に係る元メロディ音が重要音か判定する。この判定の結果が肯定的(Y)であればステップ154に移り、判定に係る元メロディ音に対応するメロディデータの一部として記憶部16Aに重要音マークデータを書込む。
【0105】
ステップ152の判定結果が否定的(N)であったとき又はステップ154の処理が終ったときは、ステップ156に移り、元メロディが終了か判定する。最初のメロディ音について上記処理を行なったときは、ステップ156の判定結果が否定的(N)となり、ステップ150に戻る。ステップ150では、次の元メロディ音が重要音か分析する。そして、ステップ152,154の処理を上記したと同様に実行する。
【0106】
記憶部16Aの元メロディデータにおける最後の元メロディ音に関してステップ150〜154の処理が終ると、ステップ156の判定結果が肯定的(Y)となり、処理エンドとする。
【0107】
ステップ152で重要音と判定された各音符については、図2(A)に示すように表示器39の画面に重要音マークが表示される。
【0108】
ユーザは、表示器39の画面上で元メロディ、重要音、元コード等を確認した後、ステップ群38中の登録スイッチを押して登録指令を与える。この登録指令に応じて記憶部16Aの元メロディデータ(重要音マークデータを含む)と記憶部16Bの元コードデータとがデータベース50に転送される。
【0109】
図10,11について上記した処理により楽曲データをデータベース50に登録した場合にも、図5〜9について前述したと同様にメロディ生成等の処理を行なうことができる。
【0110】
図12は、データベースに楽曲データを登録する第3の例を示すものであり、図4と同様の部分には同様の符号を付して詳細な説明を省略する。
【0111】
図12の登録方式は、図10の登録方式において重要音検出手段58を省略したものに相当し、図5,6の処理において重要音分析を行なうことを特徴とするものである。ユーザは、図10について前述したと同様にして入力手段52,56を用いて記憶部16A,16Bにそれぞれ元メロディデータ、元コードデータを入力する。ユーザは、表示器39の画面上で元メロディ、元コード等を確認した後、スイッチ群38中の登録スイッチを押して登録指令を与える。この登録指令に応じて記憶部16Aの元メロディデータと記憶部16Bの元コードデータとがデータベース50に転送される。
【0112】
図13は、図12の方式でデータ登録を行なった場合に図5,6の処理において必要とされる修正を示すものである。ステップ72に代るステップ72’では、図11のステップ150と同様に(次の)元メロディ音が重要音か分析し、ステップ82に代るステップ82’では、図11のステップ150と同様に(次の)元メロディ音が重要音か分析する。このような修正を加えることで図5〜9について前述したと同様にメロディ生成等の処理を行なうことができる。
【0113】
図14は、この発明の一応用例として自動作曲処理を示すものである。データベース160には、多数の曲テンプレートデータM1 ,M2 ,M3 …が予め登録されている。
【0114】
ステップ162では、ユーザにより与えられる検索条件(例えば、拍子、ジャンル、楽曲形式、コード進行等)に適合する曲テンプレートデータをデータベース160にて検索する。そして、ステップ164では、ユーザの指示に従って検索に係る複数の曲テンプレートデータの中から1つの曲テンプレートデータを選択する。
【0115】
次に、ステップ166では、ユーザにより与えられる変形条件(例えば、歌詞音節数等)に従って選択に係る曲テンプレートデータを変形する。そして、ステップ168では、ユーザにより与えられるコード進行に従ってステップ166での変形に係る曲テンプレートデータを再び変形する。ステップ168の変形処理としては、この発明に係るメロディ生成処理が行なわれ、ユーザ指定のコード進行に相応しい新メロディが生成される。
【0116】
次に、ステップ170では、ステップ162〜168の処理により生成される楽曲データ(メロディデータ及びコードデータ)に修正処理を施す。この処理は、最終的な手直しであり、図9の生成音修正処理、画面上での編集処理、1音符毎に音を聴き、必要に応じて修正する処理等を行なうことができる。
【0117】
この後、ステップ172では、記録処理を行なう。これは、RAM16の修正済みの楽曲データを外部記憶装置28に装着された記録媒体に記録する処理である。
【0118】
図15は、図14の自動作曲処理の変形例を示すものである。この変形例の特徴は、ステップ180〜186の処理にある。図14と同様処理には同様の符号を付して詳細な説明を省略する。データベース160中の各曲テンプレートデータM1 ,M2 ,M3 …は、それぞれ所定のコード進行に基づいて作成されたものである。
【0119】
ステップ180では、ユーザによりコード進行以外の検索条件(例えば拍子、ジャンル、楽曲形式等)が与えられる。そして、与えられた検索条件に適合した曲テンプレートデータをデータベース160から検索する。
【0120】
次に、ステップ182では、図14のステップ168に相当する処理を行なう。すなわち、ユーザにより与えられるコード進行に従ってステップ180での検索に係る複数の曲テンプレートデータをそれぞれ変形する。このときの変形処理としては、この発明に係るメロディ生成処理が行なわれ、ユーザ指定のコード進行に相応しい新メロディが生成される。
【0121】
次に、ステップ184では、図14のステップ164に相当する選択処理を行なう。すなわち、ユーザの指示に従ってステップ182での生成に係る複数の楽曲データの中から1つの楽曲データを選択する。そして、ステップ186に移る。
【0122】
ステップ186では、図14のステップ166に相当する変形処理を行なう。
すなわち、ユーザにより与えられる変形条件(例えば、歌詞音節数等)に従ってステップ184での選択に係る楽曲データを変形する。そして、ステップ170の修正処理及びステップ172の記録処理を図14に関して前述したと同様に実行する。
【0123】
図15の自動作曲処理によれば、データベース検索時にコード進行の条件がはずされるため、登録されている曲テンプレートデータの数が多くなっても、ヒットする確率が高くなる。しかも、検索された曲テンプレートデータは、ステップ182で所望のコード進行に基づいて変形されるので、ユーザが指定したコード進行に相応しい楽曲データを得ることができる。ステップ180,182を検索処理として見れば、検索条件として入力したコード進行に適合した曲テンプレートデータが検索されたのと等価になる。
【0124】
この発明は、上記した実施形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
【0125】
(1)新コード進行のコード変更タイミングを元コード進行のコード変更タイミングと同じタイミング(1小節に1つ)としたが、異なるタイミングとしてもよい。
【0126】
(2)新コード進行は、個々のコードをユーザが入力するものに限らず、典型的なコード進行を多数記憶したデータベースからユーザが所望のコード進行を選択して入力するようにしてもよい。
【0127】
(3)メロディ変形の条件(例えば新メロディの候補音が複数ある場合にどれを選択するかなど)をユーザが選択できるようにしてもよい。
【0128】
(4)複数の候補音に基づいて新メロディを複数生成すると共に該複数の新メロディをユーザに提示し、ユーザが提示に係る複数の新メロディのうち所望の新メロディを選択するようにしてもよい。
【0129】
(5)メロディ生成の際に元メロディ音が重要音であるか否かを1音毎に判定し、その都度、判定結果に応じて重要音/非重要音に適したメロディ音を生成するようにしたが、例えば、最初にすべての音について重要音であるか否かを判定し、判定結果に応じて元メロディ音を重要音/非重要音に分離してしまい、分離された重要音/非重要音毎に夫々に適したメロディをまとめて生成し、その後、生成された両メロディを合成するように構成してもよい。
【0130】
(6)テンション付きコードに修正された元コード進行におけるテンションを新コード進行においても反映させるために、メロディに対応する元コード進行を持たせるようにしたが、ユーザーが指定した新コード進行をそのままメロディ生成に使用する場合は、元コード進行を持たなくてもよい。すなわち、新コード進行を修正後新コードに変更することなく、新コード進行のまま元メロディに与えることにより新メロディを生成するようにしてもよい。
【0131】
(7)楽曲全体について新コード進行を指定するものに限らず、楽曲の一部分のみについて新コード進行を指定し、新コード進行を指定した部分の元メロディのみを新メロディに変換するようにしてもよい。すなわち、新コード進行を指定しなかった残りの部分の元メロディについては、元メロディのままとするようにしてもよい。これにより、例えば元メロディについて与えられている元コード進行のうちの一部分のみを他のコード進行に変更し、該変更に対応させてメロディを該他のコード進行に適合するように変更するといった使い方が可能となる。
【0132】
(8)この発明は、電子楽器の形態に限らず、パーソナルコンピュータとアプリケーションソフトウェアとの組合せの形態でも実施することができる。アプリケーションソフトウェアは、磁気ディスク、光磁気ディスク、半導体メモリ等の記録媒体に記憶させてパーソナルコンピュータに供給してもよいし、あるいは通信ネットワークを介してパーソナルコンピュータに供給するようにしてもよい。
【0133】
(9)この発明は、電子楽器に限らず、カラオケ装置等に用いる曲データの作成にも適用することができる。
【0134】
(10)この発明は、鍵盤式電子楽器に限らず、弦楽器式、管楽器式、打楽器式等の電子楽器にも適用することができる。
【0135】
(11)この発明は、音源装置、自動演奏装置等を内蔵した電子楽器に限らず、鍵盤、音源装置、自動演奏装置等をMIDIや各種ネットワーク等の通信手段で結合した電子楽器にも適用することができる。
【0136】
(12)元メロディ、元コード、新メロディ、新コード等の演奏データのフォーマットは、イベントの発生時刻を1つ前のイベントからの相対時間で表わす「イベント+相対時間」方式に限らず、イベントの発生時刻を曲や小節内の絶対時間で表わす「イベント+絶対時間」方式、音符の音高と音符長あるいは休符と休符長で曲の内容を表す「音高(休符)+符長」方式、イベント発生の最小時間単位毎に記憶領域を確保し、イベントの発生時刻に対応する記憶領域にイベントを記憶する方式等の任意の方式を用いることができる。
【0137】
【発明の効果】
以上のように、この発明によれば、元メロディ中の各重要音を元メロディの音高変化状態とユーザ指定のコード進行とに基づいて新メロディの構成音に変換すると共に元メロディ中の各非重要音を元メロディの音高変化状態に基づいて新メロディの構成音に変換するようにしたので、元メロディとメロディ雰囲気が近似した新メロディを生成可能となる効果が得られる。
【0138】
また、元メロディの各非重要音を新メロディの構成音に変換する際に、各非重要音について該非重要音及びその直前の音の音高変化状態と一致又は近似した音高変化状態が得られる候補音がユーザ指定のコード進行の中で該非重要音に対応するコードの構成音と共存できない矛盾する音か否かを判定し、矛盾していれば該コードの構成音のうちから、矛盾していなければ該コードで成立する音階音のうちからそれぞれ新メロディの構成音を採用する構成にすると、コードの構成音と矛盾する音が新メロディに含まれるのを防止することができ、不自然さを解消できる効果が得られる。
【0139】
さらに、新メロディの中から所定値以上の音高差を有する順次の2音を検出し、該2音のうちの前音を、この前音に対応するコードの構成音のうち元メロディの対応する2音の音高変化状態と一致又は近似した音高変化状態が得られる音に修正する構成にすると、音の跳躍時に生ずる不自然さを解消できる効果が得られる。
【0140】
さらに、判定手段では、元コードデータが表わす各元コード毎に元メロディの構成音のうちで該元コードに対応するメロディ音の中に、該元コードの構成音以外の音であってその音を元コードに付加したときにテンション音として成立する音があるか判定し、この判定の結果が肯定的になると、第1の修正手段では、判定に係る元コードを、前記テンション音として成立する音をコード構成音とするテンション度数付きのコードに修正し、第2の修正手段では、指定手段で指定された新コード進行のうち第1の修正手段での修正に係るコードに対応する新コードを該修正に係るコードと同じテンション度数を有するコードとするように前記新コード進行を修正し、修正に係る新コード進行に基づいて元メロディの構成音を新メロディの構成音に変換する構成にすると、元メロディにおけるテンションの響きを新メロディに引き継ぐことができ、元メロディとの近似性が向上する効果が得られる。
【図面の簡単な説明】
【図1】 この発明に係るメロディ生成方法によるコード修正の一例を示す図である。
【図2】 この発明に係るメロディ生成方法によるメロディ生成の一例を示す図である。
【図3】 この発明に係るメロディ生成装置を備えた電子楽器を示すブロック図である。
【図4】 データベースへのデータ登録の第1の例を示すブロック図である。
【図5】 メロディ生成処理の一部を示すフローチャートである。
【図6】 メロディ生成処理の残部を示すフローチャートである。
【図7】 重要音処理のサブルーチンを示すフローチャートである。
【図8】 非重要音処理のサブルーチンを示すフローチャートである。
【図9】 生成音修正処理を示すフローチャートである。
【図10】 データベースへのデータ登録の第2の例を示すブロック図である。
【図11】 重要音検出処理を示すフローチャートである。
【図12】 データベースへのデータ登録の第3の例を示すフローチャートである。
【図13】 図12の方式でデータ登録を行なった場合に図5,6の処理において必要とされる修正を示すフローチャートである。
【図14】 この発明の一応用例として自動作曲処理を示すフローチャートである。
【図15】 図14の自動作曲処理の変形例を示すフローチャートである。
【符号の説明】
10:バス、12:CPU、14:ROM、16:RAM、16A:元メロディデータ記憶部、16B:元コードデータ記憶部、16C:新コードデータ記憶部、16D:新メロディデータ記憶部、28:外部記憶装置。
Claims (6)
- 元メロディを表わす元メロディデータを供給する供給手段と、
前記元メロディに関して所望のコード進行を指定する指定手段と、
前記元メロディを構成する各音を重要音又は非重要音のいずれかに分類する分類手段であって、前記重要音としては所定の条件を満たす複数音が予め定められているものと、
前記供給手段からの元メロディデータと前記指定手段で指定されたコード進行とに基づいて前記元メロディの構成音に対応する新メロディの構成音を決定することにより新メロディを表わすメロディデータを生成する生成手段であって、前記分類手段で重要音であると分類された各重要音については前記指定手段で指定されたコード進行の中で該重要音に対応するコードの構成音のうちから該重要音及びその直前の重要音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として選択し、前記分類手段で重要音でないと分類された各非重要音については該非重要音及びその直前の音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として採用するものと
を備えたメロディ生成装置。 - 前記生成手段は、前記分類手段で重要音でないと分類された各非重要音について該非重要音及びその直前の音の音高変化状態と一致又は近似した音高変化状態が得られる候補音が前記指定手段で指定されたコード進行の中で該非重要音に対応するコードの構成音と共存できない矛盾する音か否かを判定し、矛盾するとの判定に応じて該候補音と音高が近似した音を該コードの構成音のうちから新メロディの構成音として採用し、矛盾しないとの判定に応じて該候補音と音高が一致又は近似した音を該コードで成立する音階音のうちから新メロディの構成音として採用するものである請求項1記載のメロディ生成装置。
- 前記生成手段で生成されるメロディデータが表わす新メロディの中から音高差が所定値以上である連続した2音を検出する検出手段と、この検出手段で検出された連続した2音のうちの前音を、前記指定手段で指定されたコード進行の中で該前音に対応するコードの構成音のうち前記元メロディの対応する2音の音高変化状態と一致又は近似した音高変化状態が得られる音に修正する修正手段とを更に備えた請求項1又は2記載のメロディ生成装置。
- 元メロディを表わす元メロディデータを供給する供給手段と、
前記元メロディに関して所望のコード進行を指定する指定手段と
を備えたコンピュータにおいて使用される記録媒体であって、
前記元メロディを構成する各音を重要音又は非重要音のいずれかに分類する分類ステップであって、前記重要音としては所定の条件を満たす複数音が予め定められているものと、
前記供給手段で供給された元メロディデータと前記指定手段で指定されたコード進行とに基づいて前記元メロディの構成音に対応する新メロディの構成音を決定することにより新メロディを表わすメロディデータを生成する生成ステップであって、前記分類ステップで重要音であると分類された各重要音については前記指定手段で指定されたコード進行の中で該重要音に対応するコードの構成音のうちから該重要音及びその直前の重要音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として選択し、前記分類ステップで重要音でないと分類された各非重要音については該非重要音及びその直前の音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として採用するものと
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 元メロディを表わす元メロディデータと該元メロディに関してコード進行を表わす元コードデータとを供給する供給手段と、
この供給手段からの元コードデータが表わす各元コード毎に前記元メロディの構成音のうちで該元コードに対応するメロディ音の中に、該元コードの構成音以外の音であってその音を該元コードに付加したときにテンション音として成立する音があるか判定する判定手段と、
この判定手段での判定の結果が肯定的になるのに応答した判定に係る元コードを、前記テンション音として成立する音をコード構成音とするテンション度数付きのコードに修正する第1の修正手段と、
前記元メロディに関して所望の新コード進行を指定する指定手段と、
この指定手段で指定された新コード進行のうち前記第1の修正手段での修正に係るコードに対応する新コードを該修正に係るコードと同じテンション度数を有するコードとするように前記新コード進行を修正する第2の修正手段と、
前記元メロディを構成する各音を重要音又は非重要音のいずれかに分類する分類手段であって、前記重要音としては所定の条件を満たす複数音が予め定められているものと、
前記供給手段からの元メロディデータと前記第2の修正手段で修正された新コード進行とに基づいて前記元メロディの構成音に対応する新メロディの構成音を決定することにより新メロディを表わすメロディデータを生成する生成手段であって、前記分類手段で重要音であると分類された各重要音については前記第2の修正手段で修正された新コード進行の中で該重要音に対応する新コードの構成音のうちから該重要音及びその直前の重要音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として選択し、前記分類手段で重要音でないと分類された各非重要音については該非重要音及びその直前の音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として採用するものと
を備えたメロディ生成装置。 - 元メロディを表わす元メロディデータと該元メロディに関してコード進行を表わす元コードデータとを供給する供給手段と、
前記元メロディに関して所望の新コード進行を指定する指定手段と
を備えたコンピュータにおいて使用される記録媒体であって、
前記供給手段で供給された元コードデータが表わす各元コード毎に前記元メロディの構成音のうちで該元コードに対応するメロディ音の中に、該元コードの構成音以外の音であってその音を該元コードに付加したときにテンション音として成立する音があるか判定する判定ステップと、
この判定ステップでの判定の結果が肯定的になるのに応答した判定に係る元コードを、前記テンション音として成立する音をコード構成音とするテンション度数付きのコードに修正する第1の修正ステップと、
前記指定手段で指定された新コード進行のうち前記第1の修正ステップでの修正に係るコードに対応する新コードを該修正に係るコードと同じテンション度数を有するコードとするように前記新コード進行を修正する第2の修正ステップと、
前記元メロディを構成する各音を重要音又は非重要音のいずれかに分類する分類ステップであって、前記重要音としては所定の条件を満たす複数音が予め定められているものと、
前記供給手段で供給された元メロディデータと前記第2の修正ステップで修正された新コード進行とに基づいて前記元メロディの構成音に対応する新メロディの構成音を決定することにより新メロディを表わすメロディデータを生成する生成ステップであって、前記分類ステップで重要音であると分類された各重要音については前記第2の修正ステップで修正された新コード進行の中で該重要音に対応する新コードの構成音のうちから該重要音及びその直前の重要音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として選択し、前記分類手段で重要音でないと分類された各非重要音については該非重要音及びその直前の音の音高変化状態と一致又は近似した音高変化状態が得られる音を新メロディの構成音として採用するものと
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04108098A JP3775039B2 (ja) | 1998-02-06 | 1998-02-06 | メロディ生成装置と記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04108098A JP3775039B2 (ja) | 1998-02-06 | 1998-02-06 | メロディ生成装置と記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11224089A JPH11224089A (ja) | 1999-08-17 |
JP3775039B2 true JP3775039B2 (ja) | 2006-05-17 |
Family
ID=12598493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04108098A Expired - Fee Related JP3775039B2 (ja) | 1998-02-06 | 1998-02-06 | メロディ生成装置と記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3775039B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8097801B2 (en) * | 2008-04-22 | 2012-01-17 | Peter Gannon | Systems and methods for composing music |
-
1998
- 1998-02-06 JP JP04108098A patent/JP3775039B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11224089A (ja) | 1999-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000514571A (ja) | 自動即興演奏システム及び方法 | |
JP3637775B2 (ja) | メロディ生成装置と記録媒体 | |
JP3528654B2 (ja) | メロディ生成装置及びリズム生成装置と記録媒体 | |
JP3915807B2 (ja) | 奏法自動判定装置及びプログラム | |
JP2019008336A (ja) | 演奏装置、演奏プログラム、及び演奏パターンデータ生成方法 | |
JP3436377B2 (ja) | 自動編曲装置および電子楽器 | |
JPH10207460A (ja) | 演奏設定データ選択装置、演奏設定データ選択方法及びプログラムを記録した媒体 | |
JP3775039B2 (ja) | メロディ生成装置と記録媒体 | |
JP3752859B2 (ja) | 自動作曲装置と記録媒体 | |
JP3531507B2 (ja) | 楽曲生成装置および楽曲生成プログラムを記録したコンピュータで読み取り可能な記録媒体 | |
JP2000112472A (ja) | 自動作曲装置と記録媒体 | |
JP3620396B2 (ja) | 情報修正装置及び情報修正プログラムを記録した媒体 | |
JP3747802B2 (ja) | 演奏データ編集装置及び方法並びに記憶媒体 | |
JP5104414B2 (ja) | 自動演奏装置及びプログラム | |
JP3775390B2 (ja) | 演奏設定データ選択装置、演奏設定データ選択方法及び記録媒体 | |
JP3807333B2 (ja) | メロディ検索装置およびメロディ検索プログラム | |
JP3637782B2 (ja) | データ生成装置と記録媒体 | |
JP3565107B2 (ja) | メロディ生成装置、コード進行データ作成装置及び記録媒体 | |
JP3738634B2 (ja) | 自動伴奏装置、及び記録媒体 | |
JP4186802B2 (ja) | 自動伴奏生成装置及びプログラム | |
JP3752940B2 (ja) | 自動作曲方法、自動作曲装置及び記録媒体 | |
JP3669301B2 (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP3775388B2 (ja) | 演奏設定データ選択装置、演奏設定データ選択方法及び記録媒体 | |
JP3821094B2 (ja) | 演奏設定データ選択装置、演奏設定データ選択方法及び記録媒体 | |
JP3818298B2 (ja) | アベイラブル・ノート・スケール決定装置及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050920 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20051116 |
|
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 |