JPH0981143A - 自動作曲機 - Google Patents

自動作曲機

Info

Publication number
JPH0981143A
JPH0981143A JP7258283A JP25828395A JPH0981143A JP H0981143 A JPH0981143 A JP H0981143A JP 7258283 A JP7258283 A JP 7258283A JP 25828395 A JP25828395 A JP 25828395A JP H0981143 A JPH0981143 A JP H0981143A
Authority
JP
Japan
Prior art keywords
pitch
candidate
melody
note
sound
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.)
Granted
Application number
JP7258283A
Other languages
English (en)
Other versions
JP3528361B2 (ja
Inventor
Jiyunichi Minamitaka
純一 南高
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 JP25828395A priority Critical patent/JP3528361B2/ja
Publication of JPH0981143A publication Critical patent/JPH0981143A/ja
Application granted granted Critical
Publication of JP3528361B2 publication Critical patent/JP3528361B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 処理量が少なく、簡単な構成で、かつ使用者
からの簡単な指示に従ってメロディを生成する自動作曲
機を提供する。 【解決手段】 メロディ素材メモリ10に記憶されるメ
ロディ素材データはメロディの各音の情報として音高デ
ータを含んでいる。音楽背景入力部20は音楽の背景情
報(例えばキー、スケール、コード)を入力する。音種
指定部40は音種を指定する。音高変更部30は入力さ
れた音楽背景情報、指定された音種、及びメロディ素材
メモリ10からの音高データとに基づいて変更された音
高を生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は音楽装置に関し、
特にメロディを自動生成する自動作曲機に属する。
【0002】
【従来の技術】メロディを自動生成する自動作曲機は既
に知られている。例えば、同一出願人に係る特願昭62
−86571号には与えられたモチーフを基にメロディ
生成パラメータを生成し、このメロディ生成パラメータ
とコード進行とからモチーフに続くメロディを生成する
自動作曲機が示されている。この自動作曲機はモチーフ
を反映したメロディを生成することができるが、データ
処理量が多いという問題があった。また、効率よく、自
然でリアルなメロディを生成することができなかった。
そこで、同一出願人に係る特願平3−360549号で
は、音種列で表現したフレーズを多数記憶したフレーズ
データベースと、音楽背景(キーやコード進行)ととも
にフレーズの連結の仕方を記述したメロディ生成インデ
クスレコードを多数記憶した生成データベースとを用意
し、生成データベースから所望のメロディ生成インデク
スレコードを選択し、そのメロディ生成インデクスレコ
ードの記述内容に従って、フレーズデータベースからフ
レーズを取り出し、その音種列を音高列に変換すること
によってメロディを生成する自動作曲機が提案されてい
る。この自動作曲機によれば効率よくリアルなメロディ
を生成することができる。
【0003】
【発明が解決しようとする課題】しかしながら、いずれ
の従来の自動作曲機も与えられたメロディを使用者から
の簡単な指示に従って音楽的に変形する能力を欠いてい
る。したがってこの発明の目的はこのようなメロディ変
形能力を簡単な構成かつ少ないデータ処理量で実現した
自動作曲機を提供することである。
【0004】
【課題を解決するための手段】この発明によれば、各音
を少なくとも音高で表現した音列をメロディ素材データ
として記憶するメロディ素材データ記憶手段と、音楽の
背景情報を入力する音楽背景入力手段と、音種を指定す
る音種指定手段と、前記メロディ素材データ記憶手段か
らの各音の音高を、記憶された音高、入力された音楽の
背景情報及び指定された音種に基づき変更する音高変更
手段と、を有することを特徴とする自動作曲機が提供さ
れる。この構成において、メロディ素材データ記憶手段
に記憶される(原メロディとしての)音列の各音には音
情報として音高が含まれる。ここで、原メロディの変形
を希望する使用者は、変形指示として、音楽の背景情報
と音種をそれぞれ音楽背景入力手段、音種指定手段を介
して入力、指示する。これに対し、自動作曲機の音高変
更手段は入力された音楽の背景情報と指定された音種と
に適合するように原メロディの各音の音高を変更する。
即ち、音高変更手段は記憶された各音の音高を入力され
た音楽の背景情報、指示された音種及び記憶された音高
に基づき変更する。以上の説明から理解されるように、
本自動作曲機は原理上、簡単な構成であり、かつデータ
処理量が少ないにもかかわらず、使用者からの簡単な指
示に合わせてメロディを音楽的に変形することができ
る。
【0005】好ましい構成例において、上記音高変更手
段は、メロディ素材データ記憶手段に記憶された音高に
基づいて複数の異なる音高候補を順次ひとつずつ生成す
る音高候補生成手段と、生成された音高候補の音種を上
記音楽背景入力手段から入力された音楽の背景情報に従
って分類する音種分類手段と、分類された音種と音種指
定手段によって指定された音種とを比較し、その比較結
果に従って生成された音高候補を変更音高とするかどう
かを決定し、変更音高としなかった場合は上記音高候補
生成が次の音高候補を生成するように制御する音高決定
手段とで構成される。なお、記憶容量が問題でなけれ
ば、音高変更手段をルックアップテーブルメモリで構成
することができる。例えば、メロディ素材データ記憶手
段からの音高データを第1引数、指定された音種を第2
引数、入力された音楽の背景情報を第3の引数として変
更音高データを返すルックアップテーブルメモリによっ
て音高変更手段を実現できる。
【0006】最初に挙げた音高変更手段の場合、変更音
高として決定される音高は音高候補生成手段が生成する
音高候補に依存する。一構成例において、音高候補生成
手段はメロディ素材データ記憶手段に記憶された音高を
最初の音高候補として生成する手段を有する。別の構成
例では、音高候補生成手段はメロディ素材データ記憶手
段における前音から現音への音高の変化分を前音の決定
音高データに加算し、その加算結果を現音の最初の音高
候補として生成する手段を有する。最初の音高候補に続
く音高候補については、複数の音高差データを順次読出
し可能に記憶する音高差テーブル記憶手段を設け、音高
差テーブル記憶手段から読み出した音高差データと前回
の音高候補のデータとを演算することによって生成でき
る。また、複数の異なる音高差テーブル記憶手段を用意
し、その1つを選択できるようにすれば、どの音高差テ
ーブル記憶手段を選んだかによって音高変更の結果を変
えることができる。
【0007】
【発明の実施の形態】以下、図面を参照してこの発明の
実施の形態を説明する。図1はこの発明による自動作曲
機の機能ブロック図である。図1においてメロディ素材
メモリ10は原メロディである音列の各音を少なくとも
音高で表現したメロディ素材データを記憶する。音楽背
景入力部20は音楽の背景情報を入力する。音楽の背景
情報は例えばキー、スケール及びコード進行の情報を含
み得る。あるいはこれに代え、キーとスケールのみ、あ
るいはコード進行のみを入力するようにしてもよい。音
種指定部40は音種を指定する。音高変更部30はメロ
ディ素材データに含まれる各音の音高を、メロディ素材
メモリ10に記憶される音高音楽背景入力部20から入
力される音楽背景情報及び音種指定部40からの指定音
種に基づき変更するものである。図示の音高変更部30
は、メロディ素材メモリ10からの記憶音高に基づいて
複数の異なる音高候補を順次ひとつずつ生成する音高候
補生成部32と、生成された音高候補の音種を入力され
た音楽背景情報に基づいて分類する音種分類部34と、
分類された音種を音種指定部40からの指定音種と比較
し、その比較結果に従って音高候補を変更音高とするか
どうかを決定する音高決定部36から成る。なお、音高
決定部36は音高候補生成部32からの音高候補を変更
音高としなかった場合は音高候補生成部32に対し次の
音高候補を生成するように要求する。結果として音高変
更部30はメロディ素材メモリ10に記憶された音高列
を入力された音楽背景情報と指定された音種に合うよう
に修正した変更音高列を生成する。
【0008】図2は本自動作曲機を組み込んだ電子鍵盤
楽器のハードウェア構成例を示すブロック図である。図
2において、第1のCPU1は発音制御以外のすべての
処理を行うものであり、第2のCPU2は発音制御を行
うものである。デュアルCPUコントローラ3はCPU
1とCPU2のコントローラである。ROM4はプログ
ラムとデータを記憶する。RAM5はCPU1の使用す
る一時記憶用メモリである。パネルスイッチ6は楽器パ
ネル上に配置した複数のスイッチを含み、鍵盤7は演奏
操作される複数のキーを含む。RAM8はCPU2の使
用する一時記憶用メモリである。音源9はCPU2によ
って制御されて楽音信号を発生する。
【0009】図3は本自動作曲機で使用した、各音楽要
素に対する数値割当を例示するものである。コードタイ
プ“MAJ”、“MIN”、“7TH”、“M7”はそ
れぞれ数値データ“0”、“1”、“2”、“3”で表
現する。またコードが定義されていない状態(NC)を
“4”で表現する。スケール“ダイアトニック”、“ド
リアン”は数値データ“0”、“1”で表現する。また
スケールが未定義の状態(NS)を“2”で表現する。
ルート(コード根音)とキーについてはC=“0”、C
#=“1”、以下同様にしてB=“11”で表現する。
音種“コードトーン(CT)”、“アベイラブルノート
(TN)”、“スケールノート(SN)”、“テンショ
ンノート(TN)”、“アボイドノート(AV)”はそ
れぞれ数値“0”、“1”、“2”、“3”、“4”で
表現する。またルートを“0”、タイプを“1”で定義
する。また、各音種について、その音種が指定されてい
る状態(ON)を“1”、指定されていない状態(OF
F)を“0”で定義する。
【0010】図4は標準ピッチクラスセットメモリを示
すものである。標準ピッチクラスセットメモリは図2の
ROM4内に置かれるもので、後述する音種の分類のた
めに使用される。標準ピッチクラスメモリはコードトー
ンメモリctDB[ ]、テンションノートメモリtn
DB[ ]及びスケールノートメモリsnDB[ ]か
ら成る。コードトーンメモリctDB[ ]は各コード
タイプに対するコード構成音データを記憶する。テンシ
ョンノートメモリtnDB[ ]は各コードタイプに対
するテンションノートデータを記憶する。スケールノー
トメモリsnDB[ ]は各スケールに対するスケール
ノートデータを記憶する。各ピッチクラスセットデータ
は12ビット構成でビット0が“C”ビット1が“C
#”以下同様にしてビット11が“B”を表わし、各ビ
ットの“1”がそのピッチクラスを要素としてもつこと
を、“0”がそのピッチクラスを要素としてもたないこ
とを表わす。例えばctDB[MAJ]は 000010010001 であり、これはピッチクラス“C”、“E”、“G”が
コードタイプ“MAJ”のピッチクラスセットであるこ
とを表わしている。
【0011】コードトーンメモリctDB[ ]とテン
ションノートメモリtnDB[ ]は入力音楽背景情報
に含まれるコードタイプによってルックアップされて、
そのコードタイプに対するコードトーンとテンションノ
ートのピッチクラスセットを返すメモリである。スケー
ルノートメモリsnDB[ ]は入力音楽背景情報に含
まれるスケールによってルックアップされてそのスケー
ルのピッチクラスセットを返すメモリである。なお図4
の場合、コードトーンメモリctDB[ ]とテンショ
ンノートメモリtnDB[ ]は、コードタイプが音楽
背景情報として入力されなかった場合、即ちコードタイ
プが定義されない場合(コードタイプ=NC)に対する
ピッチクラスセットデータctDB[NC]、tnDB
[NC]をも定義、記憶している。同様にスケールノー
トメモリsnDB[ ]はスケールが定義されない場合
(スケール=NS)に対するピッチクラスセットデータ
snDB[NS]をも定義、記憶している。
【0012】図5にメロディ素材データメモリmel
[ ]を示す。メロディ素材データメモリは入力された
原メロディのデータを記憶する。このメモリに記憶され
る1ノートあたりのデータは101に示すようにタイシ
ング、長さ、強さ、及び音高から成る。メロディ素材の
データ例を参照番号102で示している。図6にコード
進行メモリcho[ ]を示す。コード進行メモリch
o[ ]は入力されたコード進行のデータを記憶する。
1コードあたりのデータは参照番号201に示すよう
に、タイミングデータ、ルート、及びタイプから成る。
コード進行のデータ例を参照番号202で示している。
図7に音高差メモリpc[ ]を示す。音高差メモリp
c[ ]は複数の音高候補を順次生成するための音高差
データの列を記憶する。1、−2、3、−4、5、−6
の音高差データ列を記憶する音高差メモリ301を使用
した場合、音高候補の初期値をINTとすると、IN
T、INTより半音上、INTより半音下、INTより
2半音上、INTより2半音下、INTより3半音上、
INTより3半音下の音高候補が順次生成される。一
方、音高差データ列1、1、1、−4、−1、−1をも
つ音高差メモリ302を使用した場合は、INT、IN
Tより半音上、INTより2半音上、INTより3半音
上、INTより半音下、INTより2半音下、INTよ
り3半音下の順で音高候補が生成される。
【0013】図8に変数のリストを示す。変数keyは
入力されたキー(スケールの開始音)のピッチクラスを
表わす。変数scaleは入力されたスケールの種類を
表わす。変数ntは音高候補の音種(ノートタイプ)を
表わす。変数ntsw[ ]は指定音種フラグセットで
あり、コードトーン(CT)の指定音種フラグntsw
[0]、アベイラブルノート(AN)の指定音種フラグ
ntsw[1]、又スケールノート(SN)の指定音種
フラグntsw[2]、テンションノート(TN)の指
定音種フラグntsw[3]、及びアボイドノート(A
V)の指定音種フラグntsw[4]から成る。各指定
音種フラグはその音種が指定されていれば“1”、指定
されてなければ“0”の値をとる。cp、mpはそれぞ
れ、コード進行メモリデータに対するポインタ、メロデ
ィデータに対するポインタである。chord[ ]は
現在のコードを表わし、chord[0]が根音を、c
hord[1]がタイプを表わしている。cflag、
sflagはそれぞれ、コード、スケールが確定された
かどうかをしめすフラグである。変数pitは音高候補
の音高を表わす。変数pccntは音高変更回数のカウ
ンタである。図9は図2のCPU1によって実行される
メインルーチンのフローチャートであり、本自動作曲機
の全体的動作を示すものである。9−1でCPU1は各
変数の初期化を実行する(cflag=0、sflag
=0)。9−2でCPU1はパネルスイッチ6と鍵盤7
にある入力操作子の状態をよむ。つづいて、各入力指示
に対応して処理を行う。即ち、スケール変更指示(sc
ale)の場合(9−3)は変数scaleを更新する
(9−4)。キー変更指示(key)の場合(9−5)
は変数keyを更新する(9−6)。コード進行入力指
示(chord)の場合(9−7)はその情報を図6に
示すコード進行メモリ[ ]にストアする。メロディ入
力指示(Melody)の場合(9−9)は入力メロデ
ィ情報をメロディ素材メモリmel[ ]にストアする
(9−10)。音高差メモリ選択指示(pc[ ])の
場合(9−11)はROM4にある複数の音高差メモリ
のなかから該当する音高差メモリを選択する(9−1
2)。音種選択指示(Note Type)の場合(9
−13)は指定された音種についての音種フラグnts
w[ ]をセットする(9−14)。メロディ変形指示
の場合(9−15)はメロディ変形処理を行う(9−1
6)。9−17でシステム終了の場合(Continu
e=No)はメインルーチンを抜ける。
【0014】図10はメロディ変形処理ルーチン9−1
6のフローチャートである。まず10−1でメロディ素
材メモリmel[ ]に対するノートポインタmpをm
p=0に初期化する。コードサーチ10−2では、コー
ドが確定していないとき(cflag=0)は、現在の
コードのルートchord[0]=0、タイプchor
d[1]=Noとする。コードが確定していれば(cf
lag=1)、着目しているノートの位置に対応するコ
ードをコード進行メモリcho[ ]からサーチする。
すなわち、mel[mp]のタイミングデータとcho
[cp×3]のタイミングデータを比較して、コードポ
インタcpをインクリメントしていき、cho[cp×
3]<mel[mp]、かつcho[(cp+1)×
3]>mel[mp]を満たすcp、あるいはcho
[cp×3]=mel[mp]を満たすcpを見つけ
る。そしてこのコードポインタcpが指すコードの内容
(ルートとタイプ)を変数chord[ ]に代入する
(chord[0]=cho[cp×3+1]、cho
rd[1]=cho[cp×3+2])。ここにcho
rd[0]とchord[1]は着目しているメロディ
ノートに対するコードのルートとタイプをそれぞれ表わ
している。次に音高候補初期化ステップ10−3で生成
メロディノートの最初の音高候補をメロディ素材メモリ
からの原メロディノートの音高で初期設定する(pit
=mel[mp+3])とともに音高候補カウンタpc
cntをpccnt=0に初期化する。
【0015】ノートタイプ分類10−4では、音高候補
pitの音種を入力された音楽背景情報に従って分類す
る。ノートタイプチェック10−5では分類結果を指定
された音種と比較する。音高候補pitの音種が指定津
された音種と所定の関係を満たすときこの音高候補は変
更音高として決定され、処理は10−10へ進む。そう
でなければ次の音高候補を生成する(10−6)。即
ち、pitに音高差メモリからの音高差データpc[p
ccnt]を加算して次の音高候補を得る(pit=p
it+pc[pccnt])。そしてカウンタpccn
tをインクリメントし(10−8)、次の音高候補につ
いてのノートタイプ分類とチェック10−4、10−5
を繰り返す。所定回数のノートタイプチェックがすべて
不合格の場合(10−7でpccnt<5が不成立)
は、原メロディノートの音高データ,el[mp+3]
を再度pitにセットし(10−9)、次の処理10−
10に移る。音高データ書替処理10−10では、決定
した変更音高データpit(ノートタイプチェック10
−5で合格した音高候補または10−9でセットした原
メロディノートの音高データ)によってメロディ素材メ
モリの音高データmel[mp+3]を書き替える。1
0−11では次のノートへ処理を移るためノートポイン
タを更新する(mp=mp+4)。10−12では最後
のノートまで処理が完了したかどうか(mel[mp+
3]=ffffH)を検査し、完了してなければ10−
2以下の処理を続ける。
【0016】図11はノートタイプ分類(音種分類)ル
ーチン10−4のフローチャートである。このフローで
音高候補pitの音種ntを入力音楽背景情報に従って
分類している。詳しく述べると、まずステップ11−1
で、図4のコードトーンメモリctDB[ ]とテンシ
ョンノートメモリtnDB[ ]から現在の音楽背景の
コードタイプchord[TYPE]に対するコードト
ーンピッチクラスセットctDB[chord[TYP
E]]とテンションノートピッチクラスセットtnDB
[chord[TYPE]]を取り出し、pcs1とp
cs2にそれぞれ格納する。次にステップ11−2で図
4のスケールノートメモリsnDB[ ]から音楽背景
のスケールscaleのピッチクラスセットsnDB
[scale]を取り出しpcs3にセットする。11
−3では音高候補pitのコード根音に対する音程(い
いかえるとコード根音をCとみたときの音高候補のピッ
チクラス)をpc1=(pit−chord[ROO
T]+12)mod12により求める。11−4では音
高候補pitのキーkeyに対する音程(いいかえると
キーをCに移調したときの音高候補のピッチクラス)を
pc2=(pit−ket+12)mod12により求
める。以下pc1を候補ピッチクラスpc1と呼びpc
2を候補ピッチクラスpc2と呼ぶ。
【0017】コードトーンテスト11−5で、候補ピッ
チクラスpc1がコードピッチクラスセットpcs1に
含まれるなら音高候補の音種をコードトーンと決定し
て、ntにコードトーン(CT)を示す“0”をセット
する(11−6)。ここにpc1がpcs1に含まれる
かどうかは、2のpc1乗とpcs1のビット毎の論理
積をとり、それが2のpc1乗と等しいかどうか(2
pc1∩pcs1と2pc1が等しいかどうか)で判定され
る。アベイラブルノートテスト11−7で、候補ピッチ
クラスpc1がテンションピッチクラスセットpcs2
に含まれかつ候補ピッチクラスpc2がスケールピッチ
クラスセットpcs3に含まれるなら音高候補の音種を
アベイラブルノートと決定してnt1にアベイラブルノ
ート(AN)を示す“1”をセットする(11−8)。
スケールノートテスト11−9で、候補ピッチクラスp
c2がスケールピッチクラスセットpcs3に含まれる
なら(11−7は不成立だから候補ピッチクラスpc1
はテンションピッチクラスpcs2には含まれない)、
音高候補の音種をスケールノートと決定してntにスケ
ールノート(SN)を示す“2”をセットする(11−
10)。テンションノートテスト11−11で候補ピッ
チクラスpc1がテンションピッチクラスセットpcs
2に含まれるなら(11−7は不成立だから候補ピッチ
クラスpc2はスケールピッチクラスpcs3には含ま
れない)、音高候補pitの音種をテンションノートと
決定してntにテンションノート(TN)を示す“3”
をセットする。
【0018】音高候補pitがコードトーンでなく(1
1−5)、アベイラブルノートでなく(11−7)、ス
ケールノートでなく(11−9)、テンションノートで
ない(11−11)ときは、その音種をアボイドノート
と決定してntにアボイドノート(AV)を示す“4”
をセットする。以上のノートタイプ分類処理10−4の
結果、音高候補pitは“コードトーン”、“アベイラ
ブルノート”、“スケールノート”、“テンションノー
ト”、“アボイドノート”のいずれかに分類される(音
楽背景情報としてキー、スケール、コード進行が与えら
れる場合)。
【0019】ところで本自動作曲機において、音楽背景
情報の入力法として (1)キー、スケール及びコード進行の入力 (2)キー、スケールのみの入力 (3)コード進行のみの入力 の3通りがある。図11に示す音種分類処理はいずれの
入力法に対しても、音種を分類することができるように
なっている。この音種分類処理16−4で図4に示す標
準ピッチクラスメモリを使用した場合、音高候補の音種
は、キー、スケールのみの入力に対しては“スケールノ
ート”か“アボイドノート”のいずれかに分類され、コ
ード進行のみの入力に対しては“コードトーン”“アベ
イラブルノート”“スケールノート”のいずれかに分類
される。図12にノートタイプチェック10−5のフロ
ーを示す。まず12−1で音種カウンタntcntをn
tcnt=0(音種“コードトーン”を意味する)に初
期化する。12−2で合否フラグchkをchk=NG
(=0)に初期化する。12−3でntcntの指す指
定音種フラグntsw[ntcnt]をチェックして音
種ntcntが指定された音種か(ntsw[ntcn
t]=1)どうかを調べる。指定された音種であれば、
12−4へ進み、この指定された音種ntcntと音高
候補の音種ntとを比較する。ここで合格条件nt≦n
tcntが成立するなら、合否フラグchkに合格(O
K)を示す“1”をセットしてリターンする。
【0020】音種が指定されていないか(10−3でn
tsw[ntcnt]=0)、12−4の合格条件が不
成立なら、12−7で音種カウンタntcntをインク
リメンし、12−3に戻る。いずれの音種も指定されて
いないか、合格条件不成立なら12−6でntcnt=
4となり、chk=NGでリターンする図3で上述した
ように、音種について、コードトーンには数値“0”、
アベイラブルノートには数値“1”、スケールノートに
は数値“2”、テンションノートには数値“3”、アボ
イドノートには数値“4”を割り当てている。各音種に
割り当てた数値はその音種が使用される優先度(数値が
低いほど優先度が高い)を表わしているとみることがで
きる。12−4に示す音種条件ntcnt≧nt1は、
分類した音種(音高候補pitの音種)がユーザーの指
定した音種より低くない優先度をもつことを意味してい
る。
【0021】図10のメロディ変形処理の動作例を説明
する。図13にメロディ素材例を示す。入力条件は、 キー=G スケール=ダイアトニック(GABCDEF#) コード=CM7(コードトーン:C、E、G、B、テン
ション:D、F#、A) 指定音種=アベイラブルノート(ntsw[AN]=O
N) である。動作結果を図14に示す。図14の1回目に示
すように、メロディ素材の音高列C4、D4、E4、F
4、G4は与えられた音楽背景(キーG、ダイアトニッ
クスケール、コードCM7)の下で音種列CT(コード
トーン)、AN(アベイラブルノート)、CT(コード
トーン)、AV(アボイドノート)、CT(コードトー
ン)と解釈される。AVであるF4は指定音種がANな
ので不合格である。そこで図7の音高差メモリ301に
従い、次の音高候補F#4が生成され、これがAN(ア
ベイラブルノート)として分類され、変更音高となる
(2回目)。上記入力条件において、キー、スケールが
入力されなかった場合の動作結果を図15に示す。この
場合、素材のF4の音はSN(スケールノート)と解釈
される(図4の標準ピッチクラスメモリ)に示すsnD
B[NS]のピッチクラスセットにより)。したがって
F4は指定音種ANに適合せず、F#4に変換される
(2回目)。
【0022】同じメロディ素材について、入力条件を、 キー=G、 スケール=ダイアトニック(スケール音:G、A、B、
C、D、E、F#) コード=なし 指定音種=スケールノート(ntsw[SN]=ON) としたときの動作結果を図16に示す。この場合、素材
の音高列C4、D4、E4、F4、G4は音楽背景(キ
ーGのダイアトニックスケール)の下で音種列SN、S
N、SN、AV、SNと解釈される。AV(アボイドノ
ート)と解釈されたF4の音は指定音種SN(スケール
ノート)なので不合格となる。F4をF#4に変更する
と、F#4=SNと解釈されるので、この音に決定され
る(2回目)。
【0023】図17にメロディ変形処理9−16の変形
例を示す。このメロディ変形処理と図10のメロディ変
形処理との違いは最初の音高候補の設定にある。すなわ
ち、17−3に示すように、このメロディ変形処理で
は、最初の音高候補(音高候補の初期値)pitを、 pit=mel[mp+3]+d によって求める。ここにmel[mp+3]=着目して
いる原メロディ音の音高、dは音高データ書替ステップ
17−10にd=pit−mel[mp+3]で示され
るように、d=前音の変更音高−前音の原音高である。
よって、最初の音高候補pitは、 pit=前音の変更音高+(原メロディの現音高−前音
高) である。つまり、最初の音高候補は前音として決定した
変更音高にメロディ素材の前音から現音への音高の変化
分を加えたものである。なお変数dは初期化ステップ1
5−1でd=0に初期化されるが、これはメロディの最
初の音の音高候補の初期値=素材の最初の音の音高とす
るためである。その他の点は図10のメロディ変形処理
と同じであり、17−1、17−4〜17−9、17−
11は図10の10−2、10−4〜10−9、10−
11に対応している。
【0024】図17のメロディ変形処理の動作例を述べ
る。メロディ素材=図13に示すもの入力条件を、 キー=G スケール=ダイアトニック(スケール音:G、A、B、
C、D、E、F#) コード=CM7(コードトーン:C、E、G、B、テン
ション:D、F#、A) 指定音種=アベイラブルノート(ntsw[AN]=O
N) としたときの動作結果を図18に示す。この場合、素材
の音高列C4、D4、E4、F4、G4はC4、D4、
E4、F#4、A4に変換された。詳しく述べると、1
回目において、第1音〜第3音C4、D4、E4は与え
られた音楽背景(キーGのダイアトニックスケール、コ
ードCM7)の下でCT(コードトーン)、AN(アベ
イラブルノート)、CT(コードトーン)と解釈され、
指定音種=ANなのでいずれも合格である。第4音の候
補初期値=E4(第3音の決定音高)+F4−E4(素
材の第3音から第4音への変化分)=F4で与えられる
が、これは音種AV(アボイドノート)と分類される。
指定音種=ANだから不合格。2回目に第4音はF#4
に変換される。このF#4は音種AN(アベイラブルノ
ート)に分類され、音種テストに合格する。したがって
第5音の音高候補初期値=F#4+(G4−F4)=G
#4となる(1回目)。これは音種AV(アボイドノー
ト)と分類され、指定音種ANの条件に合わない。次に
半音上げられてA4の候補が生成される(2回目)。こ
の候補は音種AN(アベイラブルノート)と分類される
ので、音種テストに合格し、これが第5音として決定さ
れる。
【0025】音高変更の生成は上述した音高差メモリと
標準ピッチクラスメモリを用いる方式が少ない記憶容量
で実現できる点で好ましいが、所望であればルックアッ
プテーブル方式でも実現できる。その例を図19に示
す。この変形例の音高変更部30Mは、アドレス生成部
31にて、入力音楽背景情報と素材の音高データと指定
された音種データとからアドレスを生成し、そのアドレ
スで変更音高ルックアップテーブル33をルックアップ
(リードアクセス)する。変更音高ルックアップテーブ
ル33は変更音高データを出力する。
【0026】
【発明の効果】この発明の自動作曲機によれば、メロデ
ィ素材データとして原メロディの各音を少なくとも音高
で表現したデータを用意し、キー、スケール等の音楽背
景情報と音種を入力指定させ、この入力された音楽背景
情報、指定された音種及びメロディ素材データメモリか
らの音高とに基づいて、原メロディの各音の音高を変更
することにより、メロディを生成している。したがっ
て、原理上、少ない処理量で、かつ簡単な構成であるに
もかかわらず、使用者の指示に従うメロディを効率よく
生成できる利点がある。
【図面の簡単な説明】
【図1】この発明に従う自動作曲機のブロック図。
【図2】この発明による自動作曲機を組み込んだ電子楽
器のハードウェア構成のブロック図。
【図3】実施の形態で使用した各音楽要素の数値表現を
示す図。
【図4】標準ピッチクラスセットメモリを示す図。
【図5】メロディ素材メモリを示す図。
【図6】コード進行メモリを示す図。
【図7】音高差メモリを示す図。
【図8】実施の形態で使用した変数のリストを示す図。
【図9】実施の形態の全体動作を表わすメインルーチン
のフローチャート。
【図10】メロディ変形処理のフローチャート。
【図11】ノートタイプ分類のフローチャート。
【図12】ノートタイプチェックのフローチャート。
【図13】メロディ素材例のデータを示す図。
【図14】動作結果を示す図。
【図15】動作結果を示す図。
【図16】動作結果を示す図。
【図17】メロディ変形処理の変形例を示すフローチャ
ート。
【図18】動作結果を示す図。
【図19】音高変更部の変形例を示す機能ブロック図。
【符号の説明】
10 メロディ素材メモリ 20 音楽背景入力部 30 音高変更部 32 音高候補生成部 34 音種分類部 36 変更音高決定部 40 音種指定部

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】各音を少なくとも音高で表現した音列をメ
    ロディ素材データとして記憶するメロディ素材データ記
    憶手段と、 音楽の背景情報を入力する音楽背景入力手段と、 音種を指定する音種指定手段と、 前記メロディ素材データ記憶手段からの各音の音高を、
    記憶された音高、入力された音楽の背景情報及び指定さ
    れた音種に基づき変更する音高変更手段と、 を有することを特徴とする自動作曲機。
  2. 【請求項2】請求項1記載の自動作曲機において、前記
    メロディ素材データを入力するメロディ素材データ入力
    手段を更に有することを特徴とする自動作曲機。
  3. 【請求項3】請求項1記載の自動作曲機において、 前記音楽背景入力手段は前記音楽の背景情報としてキ
    ー、スケール及びコード進行を入力する手段を有するこ
    とを特徴とする自動作曲機。
  4. 【請求項4】請求項1記載の自動作曲機において、 前記音楽背景入力手段は前記音楽の背景情報として (A)キー、スケール及びコード進行 (B)キーとスケールのみ、 (C)コード進行のみ のいずれかを選択入力する手段を有することを特徴とす
    る自動作曲機。
  5. 【請求項5】請求項1記載の自動作曲機において、 前記音高変更手段は、 前記メロディ素材データ記憶手段に記憶された音高に基
    づいて複数の異なる音高候補を順次ひとつずつ生成する
    音高候補生成手段と、 前記音高候補生成手段からの音高候補の音種を前記音楽
    背景入力手段からの入力された音楽の背景情報に従って
    分類する音種分類手段と、 分類された音種と指定された音種とを比較し、その比較
    結果に従って、前記音高候補を変更候補とするかどうか
    を決定するとともに、音高候補としなかった場合は前記
    音高候補生成手段が次の音高候補を生成するように制御
    する音高決定手段と、 を有することを特徴とする自動作曲機。
  6. 【請求項6】請求項5記載の自動作曲機において、前記
    音高候補生成手段は、 複数の音高差データを順次読出し可能に記憶する音高差
    テーブル記憶手段と、 前記メロディ素材データ記憶手段からの音高データと前
    記音高差テーブル記憶手段から読み出した音高差データ
    とを演算して前記音高候補を生成する演算手段と、 を有することを特徴とする自動作曲機。
  7. 【請求項7】請求項5記載の自動作曲機において、前記
    音高候補生成手段は、 各音高差テーブル記憶手段が複数の音高差データを順次
    読出し可能に記憶する、複数の異なる音高差テーブル記
    憶手段と、 前記複数の異なる音高差テーブル記憶手段の1つを選択
    する音高差テーブル選択手段と、 前記メロディ素材データ記憶手段からの音高データと選
    択された音高差テーブル記憶手段からの音高差データと
    を演算して前記音高候補を生成する演算手段と、 を有することを特徴とする自動作曲機。
  8. 【請求項8】請求項5記載の自動作曲機において、 前記音高候補生成手段は、前記メロディ素材データ記憶
    手段に記憶された音高を最初の音高候補として生成する
    手段を有する、 ことを特徴とする自動作曲機。
  9. 【請求項9】請求項5記載の自動作曲機において、 前記音高候補生成手段は、前音の決定音高データに、前
    記メロディ素材データ記憶手段における、前音から現音
    への音高の変化分を加算し、この加算結果を最初の音高
    候補として生成する手段を有する、 ことを特徴とする自動作曲機。
JP25828395A 1995-09-12 1995-09-12 自動作曲機 Expired - Fee Related JP3528361B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25828395A JP3528361B2 (ja) 1995-09-12 1995-09-12 自動作曲機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25828395A JP3528361B2 (ja) 1995-09-12 1995-09-12 自動作曲機

Publications (2)

Publication Number Publication Date
JPH0981143A true JPH0981143A (ja) 1997-03-28
JP3528361B2 JP3528361B2 (ja) 2004-05-17

Family

ID=17318106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25828395A Expired - Fee Related JP3528361B2 (ja) 1995-09-12 1995-09-12 自動作曲機

Country Status (1)

Country Link
JP (1) JP3528361B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010186073A (ja) * 2009-02-12 2010-08-26 Kawai Musical Instr Mfg Co Ltd スケール変換装置、方法及びプログラム
CN102956224A (zh) * 2011-08-26 2013-03-06 雅马哈株式会社 乐曲生成装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010186073A (ja) * 2009-02-12 2010-08-26 Kawai Musical Instr Mfg Co Ltd スケール変換装置、方法及びプログラム
CN102956224A (zh) * 2011-08-26 2013-03-06 雅马哈株式会社 乐曲生成装置

Also Published As

Publication number Publication date
JP3528361B2 (ja) 2004-05-17

Similar Documents

Publication Publication Date Title
US6576828B2 (en) Automatic composition apparatus and method using rhythm pattern characteristics database and setting composition conditions section by section
US6051770A (en) Method and apparatus for composing original musical works
Johnson-Laird How jazz musicians improvise
JP2638021B2 (ja) 自動伴奏装置
US6143971A (en) Automatic composition apparatus and method, and storage medium
US6294720B1 (en) Apparatus and method for creating melody and rhythm by extracting characteristic features from given motif
US5900567A (en) System and method for enhancing musical performances in computer based musical devices
US6100462A (en) Apparatus and method for generating melody
US5202526A (en) Apparatus for interpreting written music for its performance
JP3152123B2 (ja) 自動作曲機
US6984781B2 (en) Music formulation
Geis et al. An ant colony optimizer for melody creation with baroque harmony
US4719834A (en) Enhanced characteristics musical instrument
JP3528361B2 (ja) 自動作曲機
JP2900753B2 (ja) 自動伴奏装置
Burns The history and development of algorithms in music composition, 1957-1993
JP3364941B2 (ja) 自動作曲機
US6657115B1 (en) Method for transforming chords
Winter Interactive music: Compositional techniques for communicating different emotional qualities
Cabral et al. Playing along with d’Accord guitar
Geis et al. Creating melodies and baroque harmonies with ant colony optimization
JP3528372B2 (ja) 自動作曲方法
Langston IMG/1: An incidental music generator
JP3364940B2 (ja) 自動作曲機
Power An analysis of transformation procedures in Gyorgy Ligeti's String Quartet No. 2

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20031216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040114

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: 20040203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040216

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100305

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110305

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110305

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120305

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140305

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees