JPH0954579A - メロディ変換装置及びその方法 - Google Patents

メロディ変換装置及びその方法

Info

Publication number
JPH0954579A
JPH0954579A JP7229603A JP22960395A JPH0954579A JP H0954579 A JPH0954579 A JP H0954579A JP 7229603 A JP7229603 A JP 7229603A JP 22960395 A JP22960395 A JP 22960395A JP H0954579 A JPH0954579 A JP H0954579A
Authority
JP
Japan
Prior art keywords
data
note
melody
pitch
pitch data
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.)
Pending
Application number
JP7229603A
Other languages
English (en)
Inventor
Shigeru Matsuyama
茂 松山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP7229603A priority Critical patent/JPH0954579A/ja
Publication of JPH0954579A publication Critical patent/JPH0954579A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 メロディを構成する音符の音高データを変更
して他のメロディに変換する場合に、メロディ変換後の
曲が元の曲の調を維持できるようにする。 【解決手段】 データROM9には、任意の調の各音高
データに対応する変換データの第1及び第2のテーブル
が格納されている。第1のテーブルは、変化記号を有し
ない任意の音符の音高データ及びその任意の音符に変化
記号を有する音符の音高データが同一の数値データに対
応している。第2のテーブルは、第1のテーブルにおけ
る数値データに対応する音高データで構成され、かつ、
この場合の音高データは変化記号を有しない音符の音高
データに対応している。CPU5は、1小節内の音高デ
ータを第1のテーブルの変換データに変換して所定の演
算を行い、演算結果の変換データに対応する第2のテー
ブルの音高データを検索し、検索した音高データを新た
な音高データとする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、メロディ変換装
置及びその方法の技術に属する。
【0002】
【従来の技術】従来のメロディ変換装置においては、任
意の曲を構成する複数の音符の音高データを変更して他
の曲に変換する。この場合、音高は1オクターブを12
の平等な音高に分割して、隣接する音高の差を半音と定
めた十二平均律を使用する。そして、1オクターブの1
2個の音高は、(Ci )を起点とすると、(Ci )、
(Ci #)、(Di )、(Ei ♭)、(Ei )、
(Fi )、(Fi #)、(Gi )、(Ai ♭)、
(Ai )、(Bi ♭)、(Bi )で表される(ただし、
i=−1、0、1、2、3、4…)。これら12個の音
高の中の7個の音高が音符として五線譜に表記される。
この場合、どの音高を主音「ド」とするかは調によって
異なる。例えば、図15(A)に示す曲の1小節の音符
の音高は、(Ci )、(Di )、(Ei )、(Fi )、
(Gi )、(Ai )、(Bi )、(Ci+1 )であり(た
だしi=4)、(Ci )を主音「ド」とするハ長調のメ
ロディになっている。そして、ミ(Ei )とファ
(Fi )との間及びシ(Bi )とド(Ci+1 )との間は
半音になっている。したがって、これらの音符の音高を
上下反転すなわち高低反転すると、図15(B)に示す
ように、(Ci+1 )、(Bi ♭)、(Ai ♭)、
(Gi )、(Fi )、(Ei ♭)、(Ci #)、
(Ci )となる。また例えば、図16(A)に示す曲の
1小節の音高を上方向又は下方向にシフトする変換を行
う。この場合の音符の音高は、(Ci )、(Di )、
(Ei )、(Fi )、(Gi )、(Ei )、(Ci )で
あり(ただしi=4)、(Ci )を主音「ド」とするハ
長調のメロディである。これらの音符を上方向に半音シ
フトすると、図16(B)に示すように、(Ci #)、
(Ei ♭)、(Fi )、(F i #)、(Ai ♭)、(F
i )、(Ci #)となり、下方向に半音シフトすると、
図16(C)に示すように、(Bi )、(Ci #)、
(Ei ♭)、(Ei )、(Fi #)、(Ei ♭)、(B
i )となる。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来のメロディ変換装置の変換方法は、変換後の曲の調が
元の曲とは異なる調になる場合がある。すなわち、図1
5(A)及び図16(A)に示す元の曲は変化記号のな
いハ長調であるが、図15(B)、図16(B)及び
(C)に示す変換後の曲は、シャープ及びフラットの変
化記号を有する音符が多くなり、元のハ長調を維持する
ことができない。このため、変換後の曲の音楽的雰囲気
が元の曲とは異なってしまうという問題があった。この
問題は、曲の調を考慮することなく単に音高データの変
更を行って他のメロディに変換することに起因する。こ
の発明の課題は、メロディを構成する音符の音高データ
を変更して他のメロディに変換する場合に、メロディ変
換後の曲が元の曲の調を維持できるようにすることであ
る。
【0004】
【課題を解決するための手段】請求項1記載の発明は、
十二平均律を構成する音符の音高データを数値データに
変換するテーブルであって変化記号を有しない任意の音
符の音高データ及びその任意の音符に変化記号が付され
た音符の音高データを同一の数値データに変換する第1
のテーブルと、数値データを前記十二平均律を構成する
音符のうち変化記号を有しない音符の音高データに変換
する第2のテーブルとを格納する記憶手段と、メロディ
を構成する複数の音符の音高データを所定区間ごとに変
更して他のメロディに変換する際に、複数の音符の音高
データを第1のテーブルによって変換した数値データを
用いて所定の演算を行い、その演算結果の数値データを
第2のテーブルによって変換した音高データを他のメロ
ディの音符の音高データとする制御手段とを備えた構成
になっている。また、請求項5記載の発明は、メロディ
を構成する複数の音符の高音データを所定区間ごとに変
更して他のメロディに変換するメロディ変換方法におい
て、十二平均律を構成する音符の音高データを数値デー
タに変換し、かつ、その際に変化記号を有しない任意の
音符の音高データ及びその任意の音符に変化記号を有す
る音符の音高データを同一の数値データに変換して所定
の演算を行い、その演算結果の数値データを数値データ
を十二平均律を構成する音符のうち変化記号を有しない
音符の音高データに変換して他のメロディの音符の音高
データとする。請求項1又は請求項5記載の構成によ
り、以下の作用を有する。すなわち、元の曲のメロディ
を構成するすべての音符の音高データに対応する数値デ
ータを用いて音高を変更するための演算を行って正確な
演算結果を算出し、この演算結果を変化記号を有しない
音符の音高データに変換する。
【0005】請求項3記載の発明は、十二平均律を構成
する各調の音符のうち臨時記号を有する音符と臨時記号
を有しない音符とを区別するテーブルを格納する記憶手
段と、メロディを構成する複数の音符の音高データを所
定区間ごとに変更して他のメロディに変換する際に、テ
ーブルを参照して変更後の音高データに係る音符が臨時
記号を有するときはその音符に対する変更を続行する制
御手段とを構成になっている。また、請求項7記載の発
明は、メロディを構成する複数の音符の高音データを所
定区間ごとに変更して他のメロディに変換するメロディ
変換方法において、十二平均律を構成する各調の音符の
うち臨時記号を有する音符と臨時記号を有しない音符と
を区別することにより、変更後の音高データに係る音符
が臨時記号を有するときは当該音符に対する変更を続行
する。請求項3又は請求項7記載の発明の構成により、
変更した後の音符が臨時記号を有しない音符になるまで
変更を続行する作用を有する。
【0006】
【発明の実施の形態】以下、図1〜図14を参照してこ
の発明のメロディ変換装置の第1実施形態〜第3実施形
態を説明する。図1はメロディ変換装置の第1実施形態
のハード構成を示すブロック図である。鍵盤部1は、ユ
ーザの押下すなわち演奏により音高、小節先頭からの音
の開始タイミング、発音時間等を入力する。押鍵検出回
路2は、鍵盤部1の押下を検出して音高データ、クロッ
クタイムデータ、ゲートタイムデータ等の楽音データに
変換する。スイッチ群3は、ユーザの操作により音量、
音色、オクターブ切換、演奏モード等を入力し、スイッ
チ検出回路4はスイッチ群3からの入力を検出して楽音
データに変換する。CPU(制御手段)5は、バス6に
より押鍵検出回路2、スイッチ検出回路4、プログラム
ROM7、ワークRAM8、データROM(記憶手段)
9、表示部10及び楽音発生回路11に接続され、プロ
グラムROM7に格納されているプログラムに基づいて
この装置を制御する。そして、押鍵検出回路2及びスイ
ッチ検出回路4から与えられる楽音データをワークRA
M8に格納し、所定の処理を施して楽音発生回路11に
供給する。楽音発生回路11は、CPU5から供給され
る楽音データに基づいてディジタル音響信号を生成し、
D/Aコンバータ12に供給する。D/Aコンバータ1
2はこのディジタル音響信号をアナログ音響信号に変換
し、電力増幅回路13を介してスピーカ14に供給す
る。したがって、ユーザの鍵盤操作及びスイッチ操作す
なわちユーザのマニュアル演奏に応じた曲がスピーカ1
4から発せられる。
【0007】一方、データROM9にはあらかじめ曲の
メロディデータが格納されている。そして、ユーザはデ
ータROM9に格納されている曲の音符の音高データの
上下すなわち高低を1小節内において反転して他の曲に
変換するメロディ上下変換をすることができる。このた
め、ワークRAM8にはメロディデータをROM9から
転送して格納するためのバッファエリア81及びこのバ
ッファエリア81のアドレスをセットするma(アドレ
スレジスタ)82が設けられている。また、メロディ上
下変換処理のためにpminエリア83及びpmaxエ
リア84が設けられている。各エリアに記憶するデータ
については後述する。
【0008】図2に、ワークRAM8のバッファエリア
81に格納されたメロディデータのフォーマットを示
す。メロディデータは1小節のn個の音符に対応し、音
高を示す音高データ(ノートデータ)#1〜#n、小節
先頭からのクロック時間を示すクロックタイムデータ1
〜n及び発音時間を示すゲートタイムデータ1〜nで構
成される。この場合、音高データは0〜127の128
段階で音高を示すことができる。また、データの最後に
はエンドマーク(FF(H))が格納されている。
【0009】次に、第1実施形態におけるメロディ変換
方法について、図3に示すCPU5によるメロディ変換
処理のフローチャートを参照して説明する。まず、図2
に示す1小節の音符数をカウントする(ステップS
1)。図4に音符数カウント処理のフローチャートを示
す。この処理では、プログラムカウンタpcに「0」を
セットし(ステップS11)、ma82のデータ(m
a)が「FF(H)」すなわちデータエンドか否かを判
別する(ステップS12)。データエンドでない場合に
は、データ(ma)が音高データであるか否かを判別す
る(ステップS13)。例えば、データ(ma)が休符
その他音符以外の記号の場合もあるので、ステップS1
3の判別が必要となる。データ(ma)が音高データで
ある場合には、ステップS14においてpcに1を加算
してステップS15に移行し、データ(ma)が音高デ
ータでない場合にはそのままステップS15に移行す
る。ステップS15では、ma82の値に3を加算して
すなわち次の音符の音高データのアドレスにしてステッ
プS12に移行する。そして、データ(ma)がデータ
エンドになるまで音高データすなわち音符数をカウント
し、データエンドになった場合には図3のメインフロー
チャートに移行する。
【0010】図3のステップS2において、プログラム
カウンタpcの値が「0」か否かを判別し、pcが
「0」である場合には、その1小節内に音高データがな
いすなわち音符がないのでメロディ変換処理を終了し、
pcが「0」でない場合にはメロディデータ入れ換え処
理を行う(ステップS3)。この第1実施形態における
メロディデータ入れ換えは、1小節内の音高データを上
下すなわち高低を反転するメロディ上下変換処理であ
る。図5にメロディ上下変換処理のフローチャートを示
す。この場合、バッファエリア81には、図6(A)に
示すような、(Ci )、(Di )、(Ei )、
(Fi )、(Gi )、(Ai )、(Bi )、(Ci+1
(ただしi=4)の音符からなるハ長調の1小節の音高
データが格納されている。まず、ma82にバッファエ
リア81の先頭アドレスをセットする(ステップS2
1)。次に、pminエリア83に音高データの最大値
「127」をセットし(ステップS22)、pmaxエ
リア84に音高データの最小値「0」をセットする(ス
テップS23)。次に、ma82のアドレスで示すバッ
ファエリア81のデータ(ma)がエンドマークである
か否かを判別する(ステップS24)。この場合、デー
タは最初の音高データ#1でありエンドマークではない
ので、その音高データ(ma)をデータROM9に格納
されている第1のテーブルに基づいて数値データ(m
a)に変換する(ステップS25)。
【0011】図7に第1のテーブルの構成を示す。図に
示すように、ハ長調の十二平均律を構成する音符の各音
高データに数値データが対応し、かつ、シャープやフラ
ットの変化記号を有しない任意の音符の音高データ及び
その任意の音符に変化記号を有する音符の音高データが
同一の数値データに対応している。すなわち、数値デー
タは五線譜の音符の位置を表し、数値データを「7」で
除算した余り「0〜6」がハ長調の階名「ド〜シ」に対
応している。例えば、変化記号を有しないC4の音高デ
ータ「60」と、変化記号シャープを有するC#4の音
高データ「61」とが同一の数値データ「35」に対応
している。この場合、35÷7=5余り0であるので、
いずれの音高データも階名「ド」に対応している。
【0012】図5のステップS26において、数値デー
タ(ma)とpminエリア83のデータ(pmin)
との大小を比較して、数値データ(ma)がデータ(p
min)より小さい場合には、ステップS27に移行し
てその数値データ(ma)をデータ(pmin)として
ステップS28に移行する。数値データ(ma)がデー
タ(pmin)以上である場合には、そのままステップ
S28に移行する。ステップS28においては、数値デ
ータ(ma)とpmaxエリア84のデータ(pma
x)との大小を比較して、数値データ(ma)がデータ
(pmax)より小さい場合には、ステップS29に移
行してその数値データ(ma)をデータ(pmax)と
してステップS30に移行する。数値データ(ma)が
データ(pmax)以上である場合には、そのままステ
ップS30に移行する。次に、ma82のアドレスに3
を加算して、すなわちバッファエリア81の次の音高デ
ータのアドレスにしてステップS24に移行する。
【0013】ステップS24において、バッファエリア
81のデータ(ma)がエンドマークでなく音高データ
である場合には、ステップS24〜ステップS30の各
処理を繰り返し実行し、エンドマークになったときに
は、1小節内の最も低い音高データがpminエリア8
3に格納され、最も高い音高データがpmaxエリア8
4に格納される。この後、再びma82のアドレスをバ
ッファエリア81の先頭アドレスにする(ステップS3
1)。次に、バッファエリア81のデータ(ma)がエ
ンドマークであるか否かを判別する(ステップS3
2)。この場合には、音高データ(ma)でありエンド
マークではないのでステップS33に移行して所定の演
算を行う。すなわち、(pmin)と(pmax)とを
加算して数値データ(ma)を減算したデータを新たな
数値データ(ma)として更新する。次に、その数値デ
ータ(ma)をデータROM9に格納されている第2の
テーブルに基づいて音高データ(ma)に逆変換する
(ステップS34)。
【0014】図8に第2のテーブルの構成を示す。一部
であるハ長調の数値データに対応する音高データのキー
コードを示す。この図に示すように、数値データに対応
する音高データはシャープやフラットの変化記号を有し
ない音符の音高データになっている。図5のステップS
34において、数値データから音高データに逆変換され
た後は、ステップS35においてma82のアドレスに
3を加算して、すなわちバッファエリア81の次の数値
データにしてステップS32に移行する。ステップS3
2において、バッファエリア81のデータ(ma)がエ
ンドマークでなく音高データである場合には、ステップ
S33〜ステップS35の各処理を繰り返し実行し、バ
ッファエリア81のデータ(ma)がエンドマークにな
ったときには、メインルーチン(図示せず)に戻る。
【0015】この結果、図9に示すように、(Ci )、
(Di )、(Ei )、(Fi )、(Gi )、(Ai )、
(Bi )、(Ci+1 )の音符からなるハ長調の1小節の
音高データが、(Ci+1 )、(Bi )、(Ai )、(G
i )、(Fi )、(Ei )、(Di )、(Ci )に上下
変換される。したがって、変換後は、図6(B)に示す
ように、シャープやフラットの変化記号を有しない音符
のメロディになるので、元の曲のメロディと同じくハ長
調の1小節のメロディの曲となる。
【0016】このように、上記第1実施形態によれば、
ハ長調のメロディの曲を他のメロディの曲に変換する場
合において、データROM9に格納されている第1のテ
ーブルを用いて、十二平均律を構成する音符の音高デー
タを数値データに変換する際、シャープやフラットの変
化記号を有しない任意の音符の音高データ及びこの任意
の音符に変化記号を有する音符の音高データを同一の数
値データとなるように変換する。そして、変換した数値
データを用いて上下変換のための演算を行い、その演算
結果の数値データを、データROM9に格納されている
第2のテーブルを用いて、変化記号を有しない音符の音
高データに変換する。したがって、メロディ変換後の曲
が元の曲のハ長調を維持でき、変換後の曲が元の曲の音
楽的雰囲気を保つことができる。
【0017】なお、図7に示す第1のテーブルは、ハ長
調における五線譜の音符の位置に対応するものであり、
ハ長調(キーは0)の場合は音高データがそのまま第1
のテーブルのアドレスになる。しかしながら、調によっ
ては階名「ド」の五線譜の音符の位置が変動する。した
がって、Bi を主音「ド」とするロ長調(キーは11)
の場合には音高データに1を加算したものがテーブルの
アドレスとなり、Bi♭を主音「ド」とする変ロ長調
(キーは10)の場合には音高データに2を加算したも
のがテーブルのアドレスとなり、Ci #を主音「ド」と
する嬰ハ長調(キーは1)の場合には音高データに11
を加算したものがテーブルのアドレスとなる。また、図
8に示す第2のテーブルは、ハ長調の場合には出力値が
そのまま音高となるが、ロ長調の場合には出力値から1
を減算した値が音高データとなり、変ロ長調の場合には
出力値から2を減算した値が音高データとなり、嬰ハ長
調の場合には出力値から11を減算した値が音高データ
となる。したがって、第1及び第2のテーブルを用いる
ことにより、ハ長調以外の任意の調の曲についてメロデ
ィ上下変換を行った場合でも、音記号のすぐ後に付く変
化記号(これを「調号」という)とは別に音符単位に付
けられる変化記号(これを「臨時記号」という)を有す
ることがなく、後の曲のメロディの調が元の曲のメロデ
ィの調と同じになる。
【0018】次に、この発明におけるメロディ上下変換
の第2実施形態について説明する。第2実施形態のハー
ド構成は、図1に示す第1実施形態とほとんど同じであ
るので重複する説明は省略する。この第2実施形態で
は、データROM9にリズム情報データ91が格納され
ており、ワークRAM8にpレジスタ85、キー番号エ
リア86、リズム番号エリア87が設けられている。こ
れらの機能についてはさらに後述する。なお、メロディ
変換処理のためにワークRAM8のバッファエリア81
に格納されたメロディデータのフォーマットについて
は、図2に示す第1実施形態の場合と同様である。以
下、必要に応じて図1及び図2を援用してこの発明の第
2実施形態の特徴を説明する。
【0019】データROM9のリズム情報データ91
は、図10(A)に示すように、変換する曲の固有のリ
ズムを決定するため、リズムパターン0、リズムパター
ン1、……の複数のリズムパターンで構成されている。
各リズムパターンは、拍子及びビートを決定する拍子i
d92及びビートid93、メロディの調を決定するス
ケールid94、リズムのパターンが何小節で構成され
ているかを決定するパターン小節数id95、複数のパ
ート(楽器)の各先頭アドレスを決定するパート先頭ア
ドレス96を有する。スケールid94は、図10
(B)に示すように、12ビットのバイナリデータで構
成されており、各ビットが十二平均律の音高に対応し、
上位ビットにいくほど高い音高に対応している。例え
ば、スケールid=0はハ長調に対応しており、「10
1010110101」となっている。すなわち、(C
i )、(Ci #)、(Di )、(Ei ♭)、(Ei )、
(Fi )、(Fi #)、(Gi )、(Ai ♭)、
(Ai )、(Bi ♭)、(Bi )の12個の音高のう
ち、変化記号を有しない7個の音高(Ci )、
(Di )、(Ei )、(Fi )、(Gi )、(Ai )、
(Bi )に対応するビットが「1」、変化記号を有する
他の5個の音高(Ci #)、(Ei ♭)、(Fi #)、
(Ai ♭)、(Bi ♭)に対応するビットが「0」にな
っている。そして、メロディ変換に際して、新たな曲の
調(key=0〜11)が指定されその情報はワークR
AM8のキー番号エリア86に格納される。通常、指定
されるkeyは元の曲の調のkeyであり、元の曲がハ
長調の場合にはkey=0、ロ長調の場合にはkey=
11、変ロ長調の場合にはkey=10、嬰ハ長調の場
合にはkey=1が指定される。なお、指定されたリズ
ムパターンのリズム番号87もワークRAM8のリズム
番号エリア87に格納される。
【0020】次に、この第2実施形態におけるメロディ
変換方法について、図11に示すCPU5の動作のフロ
ーチャートを参照して説明する。なお、メロディ変換処
理のメインフロー及び音符数カウント処理については、
第1実施形態における図3及び図4と同じでありその説
明は省略する。この第2実施形態におけるメロディ変換
も第1実施形態と同様、1小節内の音高を上下反転する
メロディ上下変換である。バッファエリア81にはメロ
ディ変換の対象となる曲として、図12(A)に示すよ
うな、(Ci )、(Di )、(Ei )、(Fi )、(G
i )、(Ei )、(Ci )(ただしi=4)の音符n1
〜n7からなるハ長調の1小節の音高データ(60、6
2、64、65、67、64、60)が格納されてい
る。まず、ma82にバッファエリア81の先頭アドレ
スをセットする(ステップS41)。次に、pminエ
リア83に音高データの最大値「127」をセットし
(ステップS42)、pmaxエリア84に音高データ
の最小値「0」をセットする(ステップS43)。次
に、ma82のアドレスで示すバッファエリア81のデ
ータ(ma)がエンドマークであるか否かを判別する
(ステップS44)。エンドマークでなく音高データで
ある場合には、その音高データ(ma)とpminエリ
ア83のデータ(pmin)との大小を比較する(ステ
ップS45)。音高データ(ma)がデータ(pmi
n)以上と判別した場合には、ステップS46に移行し
てその音高データ(ma)をデータ(pmin)として
ステップS47に移行する。音高データ(ma)がデー
タ(pmin)より小さい場合には、そのままステップ
S47に移行する。ステップS47においては、音高デ
ータ(ma)とpmaxエリア84のデータ(pma
x)との大小を比較して、音高データ(ma)がデータ
(pmax)以上である場合には、ステップS48に移
行してその音高データ(ma)をデータ(pmax)と
してステップS49に移行する。音高データ(ma)が
データ(pmax)より小さい場合には、そのままステ
ップS49に移行する。次に、ma82のアドレスに3
を加算して、すなわちバッファエリア81の次の音高デ
ータのアドレスにしてステップS44に移行する。
【0021】ステップS44において、バッファエリア
81のデータ(ma)がエンドマークでない場合には、
ステップS44〜ステップS49の各処理を繰り返し実
行し、エンドマークになったときには、この場合の1小
節内の最も低い音高データ(60)がpminエリア8
3に格納され、最も高い音高データ(67)がpmax
エリア84に格納される。この後、再びma82のアド
レスをバッファエリア81の先頭アドレスにする(ステ
ップS50)。次に、バッファエリア81のデータ(m
a)がエンドマークであるか否かを判別する(ステップ
S51)。データ(ma)がエンドマークでなく音高デ
ータである場合には、データ(pmin)とデータ(p
max)との和(127)からその音高データ(ma)
を減算した値を新たな音高データ(ma)とすることに
より音高の上下反転を行う(ステップS52)。そし
て、得られる新たな音高データ(ma)をワークRAM
8のpレジスタ85に格納する(ステップS53)。
【0022】次に、ステップS54に移行して、上下変
換後の各音符の音高が変化記号を有するか否かを判別す
る。このため、ワークRAM8に設定されているリズム
情報データのスケールidと変換後の音高データである
pレジスタ85の音高データ(ma)との間で以下の演
算を行う。まず、音高データ(ma)からkey番号を
減算した値を12で除算して余り値を求める。さらに、
その余り値だけ12ビットのバイナリデータ「0000
00000001」の最下位ビット「1」を左シフトさ
せ、スケールidの12ビットのバイナリデータと論理
積を求める演算を行う。そして、論理積が「1」となる
ビットがあるか否か、すなわちシフトした桁のビットの
論理積が「1」であるか否かを判別する。論理積が
「1」であればその音符は変化記号を有せず、論理積が
「0」であればその音符は変化記号を有することにな
る。この判別処理は、格納した音高データ(ma)の各
々について行うが、いま説明を簡便にするため、図12
(A)の音符n1〜n7について上下変換を行い、ステ
ップS54の判別処理をしない場合の音符の様子を図1
2(B)に示す。例えば、図12(B)の音符n1の場
合には、ステップS52の演算、pmin(60)+p
max(67)−ma(60)=67により、音高デー
タの値が「67」となる。またこの場合、指定されたk
eyの値は「0」である。したがって、余り値は「7」
となり最下位ビット「1」は左に7桁シフトされ、スケ
ールid=0のバイナリデータの下位から8桁目のビッ
ト「1」と論理演算され、演算結果「1」が得られる。
この場合には、上下反転後の音符n1が変化記号を有し
ない。
【0023】一方、図12(B)の音符n3の場合に
は、音高データの値が「63」(60+67−64=6
3)であり、指定されたkeyの値は同じく「0」であ
る。したがって、余り値は「3」となり下位ビット
「1」は左に3ビットシフトされ、スケールid=0の
バイナリデータの下位から4ビット目のデータ「0」と
論理演算され、演算結果「0」が得られる。この場合に
は、上下反転後の音符n3が変化記号フラットを有す
る。ステップS55において、演算結果が「1」でない
場合にはpレジスタ85の音高データ(ma)に「1」
を加算し(ステップS55)、再びステップS54に戻
って論理演算を行う。そして、演算結果が「1」になる
まですなわち上下反転後の音符が変化記号を有しないよ
うになるまでステップS54及びステップS55の処理
を実行する。例えば、図12(B)の音符n3の場合に
は、音高データ「63」に「1」を加算して「64」と
する。この場合には、余り値は「4」となり下位ビット
「1」は左に4ビットシフトされ、スケールid=0の
バイナリデータの下位から5ビット目のデータ「1」と
論理演算され、演算結果「1」が得られる。このよう
に、ステップS54において演算結果「1」が得られた
場合には、pレジスタ85の音高データ(ma)を変換
後の曲の音高データ(ma)としてバッファエリア81
に格納する(ステップS56)。次に、アドレスmaに
3を加算して、すなわち次の音符の音高データ(ma)
のアドレスをセットしてステップS51に移行する。こ
の後、ステップS51において、バッファエリア81の
データ(ma)がエンドマークでない場合には、エンド
マークになるまでステップS51〜S57を繰り返し実
行する。そして、データ(ma)がエンドマークになっ
た場合には、メロディ上下変換後バッファエリア81に
格納されたすべての音高データ(ma)の音符が変化記
号を有しないことになる。この結果、メロディ変換後の
1小節内の音符n1〜n7は図12(C)に示すように
なる。
【0024】このように、上記第2実施形態において
は、十二平均律を構成するハ長調の音符のうち変化記号
を有する音符と変化記号を有しない音符とを区別するこ
とにより、変更後の音高データに係る音符が変化記号を
有するときは、変化記号を有しない音符になるまでその
音符に対する音高の変更を続行する。したがって、メロ
ディを構成する音符の音高データを変更して他のメロデ
ィに変換する場合に、メロディ変換後の曲が元の曲のハ
長調を維持することができる。
【0025】次に、この発明の第3実施形態について説
明する。この第3実施形態におけるメロディ変換は、1
小節内の音符を上方向すなわち音高の高い方向又は下方
向すなわち音高の低い方向にシフトする変換を行うもの
である。この場合、ハード構成、メロディデータの構
成、メロディ変換処理のメインフロー及び音符数カウン
ト処理については、第1及び第2実施形態における図1
〜図4の場合と同じでありその説明は省略する。また、
リズム情報データの構成についても、第2実施形態の図
10(A)及び(B)と同じである。図13にCPU5
が実行するメロディデータ入れ換え処理のフローチャー
トを示す。この処理では、まず、CPU5のポインタi
を「0」にセットする(ステップS61)。次に、ワー
クRAM8のpレジスタ85にバッファエリア81のア
ドレスma+3×iのデータ(ma+3×i)をセット
する。したがって、i=0の場合には図2に示す音高デ
ータ(ma)である音高データ#1をpレジスタ85に
セットする(ステップS62)。
【0026】次に、音高データの入れ換えが上シフト指
定か又は下シフト指定かを判別する(ステップS6
3)。上シフト指定である場合にはpレジスタの値を
「1」だけ増加し(ステップS64)、下シフト指定で
ある場合にはpレジストの値を「1」だけ減少する(ス
テップS65)。すなわち、その音符の音高を上方向又
は下方向に半音シフトする。そして、第2実施形態の場
合と同様に、音高データ(ma)からkey番号を減算
した値を12で除算して余り値を求めて、その余り値だ
け「1」を左シフトさせ、スケールidのバイナリデー
タと論理積を求める演算を行う(ステップS66)。論
理積が「1」であればその音符は変化記号を有せず、論
理積が「0」であればその音符は変化記号を有すること
になる。ステップS66において論理積が「0」の場合
には、ステップS63に移行して指定されているシフト
の方向に応じて、pレジスタの値をさらに「1」だけ増
加又は減少する。この後再びステップS66において論
理積が「1」であるか又は「0」であるかを判別する。
そして、論理積が「1」になるまでステップS63〜S
66の各処理を繰り返し実行する。論理積が「1」にな
った場合には、pレジスタの値を変換後の音高データ
(ma+3×i)とする(ステップS67)。
【0027】次に、ポインタiに「1」を加算するイン
クリメント処理を行い(ステップS68)、ポインタi
の値がプログラムカウンタpcの値と同じか否かを判別
する(ステップS69)。図4に示したように、pcは
1小節内の音符数を表すのでi=pcである場合には、
すべての音符についてシフト処理がなされて変化記号を
有しない音符に変換されたことになる。したがって、i
=pcでない場合にはステップS62〜S69の各処理
を繰り返し行い、すべての音符の音高データのシフト処
理を行う。ステップS69において、i=pcとなった
場合には図3のメインフローに戻る。
【0028】例えば、図14(A)に示すような、(C
i )、(Di )、(Ei )、(Fi)、(Gi )、(E
i )、(Ci )(ただしi=4)の音符からなるハ長調
の1小節の音高データについて上シフトした場合には、
図14(B)に示すように、(Di )、(Ei )、(F
i )、(Gi )、(Ai )、(Fi )、(Di )の音符
となり、変化記号を有しないハ長調の音符のメロディと
なる。また、図14(A)の音符を下シフトした場合に
は、図14(C)に示すように、(Bi )、(Ci )、
(Di )、(Ei )、(Fi )、(Di )、(Bi )の
音符となり、この場合にも変化記号を有しないハ長調の
音符のメロディとなる。
【0029】このように、上記第3実施形態において
は、十二平均律を構成するハ長調の音符のうち変化記号
を有する音符と変化記号を有しない音符とを区別するこ
とにより、変更後の音高データに係る音符が変化記号を
有するときは、変化記号を有しない音符になるまでその
音符に対する音高のシフト処理を続行する。したがっ
て、メロディを構成する音符の音高データを変更して他
のメロディに変換する場合に、メロディ変換後の曲が元
の曲のハ長調を維持することができる。
【0030】なお、上記第2及び第3実施形態において
は、Ci を主音「ド」とするハ長調におけるメロディ上
下変換の場合について説明したが、Di を主音「ド」と
するニ長調(キーは2)の場合には、リズム情報データ
91内のスケールid94は、図10(B)に示すスケ
ールid=1に対応しており、12ビットのバイナリデ
ータは「011010101101」となっている。そ
して、音高データ(ma)からkey番号を減算した値
を12で除算して余り値を求めて、その余り値だけ
「1」を左シフトさせ、スケールidのバイナリデータ
と論理積を求める演算を行う。論理積が「1」であれば
その音符は臨時記号を有せず、論理積が「0」であれば
その音符は臨時記号を有することになる。したがって、
ハ長調以外の任意の調の曲についてメロディ上下変換を
行った場合でも、調号とは別に音符単位に付けられる臨
時記号を有することがなく、後の曲のメロディの調が元
の曲のメロディの調と同じになる。
【0031】
【発明の効果】請求項1又は請求項5記載の発明によれ
ば、元の曲のメロディを構成するすべての音符の音高デ
ータに対応する数値データを用いて音高を変更するため
の演算を行って正確な演算結果を算出し、この演算結果
を変化記号を有しない音符の音高データに変換すること
により、メロディを構成する音符の音高データを変更し
て他のメロディに変換する場合に、メロディ変換後の曲
が元の曲の調を維持することができる。したがって、メ
ロディ変換後も元の曲の音楽的雰囲気を失うことがな
い。
【0032】請求項3又は請求項7記載の発明によれ
ば、変更した後の音符が臨時記号を有しない音符になる
まで変更を続行することにより、メロディを構成する音
符の音高データを変更して他のメロディに変換する場合
に、メロディ変換後の曲が元の曲の調を維持することが
できる。したがって、メロディ変換後も元の曲の音楽的
雰囲気を失うことがない。
【図面の簡単な説明】
【図1】この発明のメロディ変換装置の実施形態におけ
る構成を示すブロック図。
【図2】実施形態におけるワークRAMにおけるメロデ
ィデータを示す図。
【図3】実施形態におけるメロディ変換処理を示すメイ
ンフローチャート。
【図4】図3における音符数カウント処理のフローチャ
ート。
【図5】第1実施形態におけるメロディ上下変換処理の
フローチャート。
【図6】第1実施形態におけるメロディ変換の音符例を
示す図。
【図7】第1実施形態におけるデータROMの第1のテ
ーブルを示す図。
【図8】第1実施形態におけるデータROMの第2のテ
ーブルを示す図。
【図9】第1実施形態におけるメロディ変換処理の演算
の様子を示す図。
【図10】第2実施形態におけるデータROM内のリズ
ム情報データの構成示す図。
【図11】第2実施形態におけるメロディ上下変換処理
のフローチャート。
【図12】第2実施形態におけるメロディ変換処理の音
符例を示す図。
【図13】第2実施形態におけるメロディ上下変換処理
のフローチャート。
【図14】第3実施形態におけるメロディ変換処理の音
符例を示す図。
【図15】従来のメロディ変換装置におけるメロディデ
ータの上下変換処理の一例を示す図。
【図16】従来のメロディ変換装置におけるメロディデ
ータのシフト処理の一例を示す図。
【符号の説明】 5 CPU 8 ワークRAM 9 データROM 81 メロディデータエリア 83 バッファエリア

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 十二平均律を構成する音符の音高データ
    を数値データに変換するテーブルであって変化記号を有
    しない任意の音符の音高データ及び当該任意の音符に変
    化記号が付された音符の音高データを同一の数値データ
    に変換する第1のテーブルと、前記数値データを前記十
    二平均律を構成する音符のうち前記変化記号を有しない
    音符の音高データに変換する第2のテーブルとを格納す
    る記憶手段と、 メロディを構成する複数の音符の音高データを所定区間
    ごとに変更して他のメロディに変換する際に、前記複数
    の音符の音高データを前記第1のテーブルによって変換
    した数値データを用いて所定の演算を行い、当該演算結
    果の数値データを前記第2のテーブルによって変換した
    音高データを前記他のメロディの音符の音高データとす
    る制御手段とを備えたことを特徴とするメロディ変換装
    置。
  2. 【請求項2】 前記制御手段は、前記第1のテーブルを
    用いて前記所定区間内の最高の音高データを変換した数
    値データと最低の音高データを変換した数値データとを
    加算した数値データから変更に係る音符の音高データを
    変換した数値データを減算して前記他のメロディの音符
    の音高データを求めることを前記所定の演算とすること
    を特徴とする請求項1記載のメロディ変換装置。
  3. 【請求項3】 十二平均律を構成する各調の音符のうち
    臨時記号を有する音符と臨時記号を有しない音符とを区
    別するテーブルを格納する記憶手段と、 メロディを構成する複数の音符の音高データを所定区間
    ごとに変更して他のメロディに変換する際に、前記テー
    ブルを参照して変更後の音高データに係る音符が臨時記
    号を有するときは当該音符に対する変更を続行する制御
    手段とを備えたことを特徴とするメロディ変換装置。
  4. 【請求項4】 前記テーブルは、十二平均律の音符に対
    応する12ビットのバイナリデータで構成され、前記制
    御手段は、前記変更後の音高データに係る音符に対応す
    る前記テーブルのビットが臨時記号を有する音符である
    か否かを判別して当該変更の続行を決定することを特徴
    とする請求項3記載のメロディ変換装置。
  5. 【請求項5】 前記テーブルは、メロディ変換による新
    たな曲のリズムを決定するためのリズム情報データ内に
    存在することを特徴とする請求項3又は4記載のメロデ
    ィ変換装置。
  6. 【請求項6】 メロディを構成する複数の音符の高音デ
    ータを所定区間ごとに変更して他のメロディに変換する
    メロディ変換方法において、 十二平均律を構成する音符の音高データを数値データに
    変換し、かつ、その際に変化記号を有しない任意の音符
    の音高データ及び当該任意の音符に変化記号を有する音
    符の音高データを同一の数値データに変換して所定の演
    算を行い、当該演算結果の数値データを前記数値データ
    を前記十二平均律を構成する音符のうち前記変化記号を
    有しない音符の音高データに変換して前記他のメロディ
    の音符の音高データとすることを特徴とするメロディ変
    換方法。
  7. 【請求項7】 前記所定の演算は、当該所定区間内の最
    高の音高データを変換した数値データと最低の音高デー
    タを変換した数値データとを加算し、当該加算した数値
    データから変更に係る音符の音高データを変換した数値
    データを減算して前記他のメロディの音符の音高データ
    とする演算であることを特徴とする請求項6記載のメロ
    ディ変換方法。
  8. 【請求項8】 メロディを構成する複数の音符の高音デ
    ータを所定区間ごとに変更して他のメロディに変換する
    メロディ変換方法において、 十二平均律を構成する各調の音符のうち臨時記号を有す
    る音符と臨時記号を有しない音符とを区別することによ
    り、変更後の音高データに係る音符が臨時記号を有する
    ときは当該音符に対する変更を続行することを特徴とす
    るメロディ変換方法。
  9. 【請求項9】 十二平均律の音符に対応する各調の12
    ビットのバイナリデータを参照して、前記変更後の音高
    データに係る音符に対応するビットが臨時記号を有する
    音符であるか否かを判別して当該変更の続行を決定する
    ことを特徴とする請求項8記載のメロディ変換方法。
  10. 【請求項10】 前記バイナリデータは、メロディ変換
    による新たな曲のリズムを決定するためのリズム情報デ
    ータ内に存在することを特徴とする請求項9記載のメロ
    ディ変換方法。
JP7229603A 1995-08-16 1995-08-16 メロディ変換装置及びその方法 Pending JPH0954579A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7229603A JPH0954579A (ja) 1995-08-16 1995-08-16 メロディ変換装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7229603A JPH0954579A (ja) 1995-08-16 1995-08-16 メロディ変換装置及びその方法

Publications (1)

Publication Number Publication Date
JPH0954579A true JPH0954579A (ja) 1997-02-25

Family

ID=16894772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7229603A Pending JPH0954579A (ja) 1995-08-16 1995-08-16 メロディ変換装置及びその方法

Country Status (1)

Country Link
JP (1) JPH0954579A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010197610A (ja) * 2009-02-24 2010-09-09 Kawai Musical Instr Mfg Co Ltd 旋律変形装置及び旋律変形プログラム
JP2010197600A (ja) * 2009-02-24 2010-09-09 Kawai Musical Instr Mfg Co Ltd 旋律変形装置及び旋律変形プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010197610A (ja) * 2009-02-24 2010-09-09 Kawai Musical Instr Mfg Co Ltd 旋律変形装置及び旋律変形プログラム
JP2010197600A (ja) * 2009-02-24 2010-09-09 Kawai Musical Instr Mfg Co Ltd 旋律変形装置及び旋律変形プログラム

Similar Documents

Publication Publication Date Title
US6395970B2 (en) Automatic music composing apparatus that composes melody reflecting motif
US6294720B1 (en) Apparatus and method for creating melody and rhythm by extracting characteristic features from given motif
US6100462A (en) Apparatus and method for generating melody
JP3049989B2 (ja) 演奏情報分析装置および和音検出装置
JP2705334B2 (ja) 自動伴奏装置
JP2900753B2 (ja) 自動伴奏装置
US5403967A (en) Electronic musical instrument having melody correction capabilities
JP3724347B2 (ja) 自動作曲装置及び方法並びに記憶媒体
JPH0954579A (ja) メロディ変換装置及びその方法
JPH0769698B2 (ja) 自動伴奏装置
JP2856025B2 (ja) 自動伴奏装置
JP2623955B2 (ja) 電子楽器
JP3661963B2 (ja) 電子楽器
JP3319390B2 (ja) 自動伴奏装置
JPH0631964B2 (ja) 電子楽器
JP4093000B2 (ja) 楽譜表示データを記憶した記憶媒体、その楽譜表示データを用いた楽譜表示装置及びプログラム
JP2605377Y2 (ja) 自動伴奏装置
JP3186752B2 (ja) 演奏情報分析装置および演奏情報分析方法
JPH11282472A (ja) 伴奏発生装置
JP3430268B2 (ja) 自動伴奏装置
JPH09106284A (ja) 和音発生指示装置
JPH04319999A (ja) 電子楽器の発音指示装置及び発音指示方法
JP3189837B2 (ja) 演奏情報分析装置および演奏情報分析方法
JP2000172253A (ja) 電子楽器
JP3186748B2 (ja) 演奏情報分析装置および演奏情報分析方法