JPH087589B2 - 自動コード付加装置 - Google Patents
自動コード付加装置Info
- Publication number
- JPH087589B2 JPH087589B2 JP63125930A JP12593088A JPH087589B2 JP H087589 B2 JPH087589 B2 JP H087589B2 JP 63125930 A JP63125930 A JP 63125930A JP 12593088 A JP12593088 A JP 12593088A JP H087589 B2 JPH087589 B2 JP H087589B2
- Authority
- JP
- Japan
- Prior art keywords
- chord
- melody
- section
- added
- 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.)
- Expired - Fee Related
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 [発明の技術分野] この発明は与えられたメロディに対して自動的にコー
ド進行を付加する自動コード付加装置に関する。
ド進行を付加する自動コード付加装置に関する。
[背 景] 一般にメロディに対しては複数のコード解釈が可能で
ある。
ある。
この点に鑑みて、本件出願人は妥当な音楽知識を適用
してメロディを分析することによりメロディに対して付
加可能なコード候補を判別する機能を備えた自動コード
付加装置を提案している(昭和63年4月6日特許願
(1)、名称「自動コード付加装置」)。詳細には、こ
の出願の実施例の装置は上記機能として、メロディの各
区間(小節)に対して、仮定したコードのコード構成音
とメロディとのマッチングによるコード付加の可否を判
別する手段と非和声音の分類によるコード付加の可否判
別手段と音階によるコード付加の可否判別手段とを有し
ており、上記3つの判定に合格したコードを各区間に対
して付加可能なコード候補としている。これらのコード
候補はいずれもコード判別手段(メロディ分析手段)に
組み込まれた音楽知識によって解釈可能な意味において
区間ごとに妥当なコードである。
してメロディを分析することによりメロディに対して付
加可能なコード候補を判別する機能を備えた自動コード
付加装置を提案している(昭和63年4月6日特許願
(1)、名称「自動コード付加装置」)。詳細には、こ
の出願の実施例の装置は上記機能として、メロディの各
区間(小節)に対して、仮定したコードのコード構成音
とメロディとのマッチングによるコード付加の可否を判
別する手段と非和声音の分類によるコード付加の可否判
別手段と音階によるコード付加の可否判別手段とを有し
ており、上記3つの判定に合格したコードを各区間に対
して付加可能なコード候補としている。これらのコード
候補はいずれもコード判別手段(メロディ分析手段)に
組み込まれた音楽知識によって解釈可能な意味において
区間ごとに妥当なコードである。
しかしながら、1つのメロディ区間に対して複数のコ
ード候補が抽出され得るため、使用者にコード候補のな
かから1つを選択するという作業を強いることになる問
題がある。仮にメロディの区間数をXとし、1区間に付
き、N個のコード候補(実際にはNの値は区間のメロデ
ィに依存するが)が抽出されたとすると、メロディに対
して付加可能なコード進行(コードの列)の組み合わせ
の総数はNのX乗であり、X=16、N=2のときで6万
強にもなる。このため音楽的知識の乏しい使用者にとっ
て、そのなかから1つの好ましいコード進行を選択する
作業は著しく困難となる。
ード候補が抽出され得るため、使用者にコード候補のな
かから1つを選択するという作業を強いることになる問
題がある。仮にメロディの区間数をXとし、1区間に付
き、N個のコード候補(実際にはNの値は区間のメロデ
ィに依存するが)が抽出されたとすると、メロディに対
して付加可能なコード進行(コードの列)の組み合わせ
の総数はNのX乗であり、X=16、N=2のときで6万
強にもなる。このため音楽的知識の乏しい使用者にとっ
て、そのなかから1つの好ましいコード進行を選択する
作業は著しく困難となる。
したがって、使用者のコード進行の選択作業を軽減す
るような機能を上述したような自動コード付加装置に付
加することは非常に好ましいことである。その場合、こ
の機能には選択するコード進行の自然さを保証するよう
な能力があることが望まれる。というのは、メロディ分
析手段により抽出された付加可能なコード候補はメロデ
ィ区間を単位としてみた場合には、音楽知識上妥当であ
るものの、それらのコード候補を任意に連結していって
比較的長いメロディに対するコード進行を生成したとす
ると、全体として不自然なコード進行が得られる可能性
があるからである。このような不自然なコード進行は通
常、使用者の望むようなコード進行とは考えられない。
るような機能を上述したような自動コード付加装置に付
加することは非常に好ましいことである。その場合、こ
の機能には選択するコード進行の自然さを保証するよう
な能力があることが望まれる。というのは、メロディ分
析手段により抽出された付加可能なコード候補はメロデ
ィ区間を単位としてみた場合には、音楽知識上妥当であ
るものの、それらのコード候補を任意に連結していって
比較的長いメロディに対するコード進行を生成したとす
ると、全体として不自然なコード進行が得られる可能性
があるからである。このような不自然なコード進行は通
常、使用者の望むようなコード進行とは考えられない。
[発明の目的] したがって、この発明の目的はメロディの分析によっ
て、区間ごとに複数のコード候補を付加可能として判別
する可能性のある自動コード付加装置において、判別さ
れたコード候補の列によって形成される多数のコード進
行の組み合わせの全体としてなかから、自然なコード進
行を自動的に選択することができ、使用者側のコード進
行の選択作業を軽減させることのできる自動コード付加
装置を提供することである。
て、区間ごとに複数のコード候補を付加可能として判別
する可能性のある自動コード付加装置において、判別さ
れたコード候補の列によって形成される多数のコード進
行の組み合わせの全体としてなかから、自然なコード進
行を自動的に選択することができ、使用者側のコード進
行の選択作業を軽減させることのできる自動コード付加
装置を提供することである。
[発明の要点] この発明は上記の目的を達成するため、与えられたメ
ロディを分析して、個々のメロディ区間に対して付加可
能なコード候補を判別するメロディ分析手段を備える自
動コード付加装置において、個々のメロディ区間に対し
て付加可能と判別された各コード候補がメロディの調に
対してもつ調性の距離を測定し、その測定結果に従っ
て、コード候補のなかの1つのコードを選択するよにし
たことを特徴とする。
ロディを分析して、個々のメロディ区間に対して付加可
能なコード候補を判別するメロディ分析手段を備える自
動コード付加装置において、個々のメロディ区間に対し
て付加可能と判別された各コード候補がメロディの調に
対してもつ調性の距離を測定し、その測定結果に従っ
て、コード候補のなかの1つのコードを選択するよにし
たことを特徴とする。
[発明の作用、展開] 請求項1によれば、距離測定手段により、メロディの
調と各コード候補との調性の距離が測定され、コード決
定手段により、メロディ区間のコード候補のうちで、1
つのコードが距離測定手段の測定結果に基づいて選択さ
れる。したがって、生成されるコード進行(区間当り1
つのコードを次々と連結した情報)は調性の距離の点で
一貫性のあるものとなり、自然さを備えている。このた
め、使用者は多数の組み合わせのなかから1つのコード
進行を選択する作業を行う必要はなくなり、所期の目的
が達成される。
調と各コード候補との調性の距離が測定され、コード決
定手段により、メロディ区間のコード候補のうちで、1
つのコードが距離測定手段の測定結果に基づいて選択さ
れる。したがって、生成されるコード進行(区間当り1
つのコードを次々と連結した情報)は調性の距離の点で
一貫性のあるものとなり、自然さを備えている。このた
め、使用者は多数の組み合わせのなかから1つのコード
進行を選択する作業を行う必要はなくなり、所期の目的
が達成される。
請求項2は上記距離測定手段が参照するメロディの調
の情報を提供する手段の好ましい構成例に関している。
それによれば、メロディの調はメロディ分析手段の抽出
したコード候補の全体の分布に基づいて判別される。例
えば、抽出されたコード候補のなかで最も頻度の高いコ
ード候補によりメロディの調が決定される。
の情報を提供する手段の好ましい構成例に関している。
それによれば、メロディの調はメロディ分析手段の抽出
したコード候補の全体の分布に基づいて判別される。例
えば、抽出されたコード候補のなかで最も頻度の高いコ
ード候補によりメロディの調が決定される。
メロディの調の情報提供は他の手段でも実現でき、使
用者から直接、メロディの調を入力してもよいし、メロ
ディ分析手段の結果を参照することなく独立に調を判別
する手段によってもよい。ただし、前者の場合は、使用
者から誤ったメロディの調が入力されるおそれがあり、
後者の場合は、調判別手段の処理が複雑になる。
用者から直接、メロディの調を入力してもよいし、メロ
ディ分析手段の結果を参照することなく独立に調を判別
する手段によってもよい。ただし、前者の場合は、使用
者から誤ったメロディの調が入力されるおそれがあり、
後者の場合は、調判別手段の処理が複雑になる。
請求項3はコード進行の選択のためのより好ましい構
成例に関している。それによれば、メロディの調とメロ
ディの各区間に付加するコードとの調性の距離(第1の
調性距離)を制限する第1パラメータと、前記のコード
間の調性距離(第2の調性距離)を制限する第2パラメ
ータとを入力する入力手段とともに、メロディ分析手段
により抽出された前後のコード候補間の調性距離(第2
の調性距離)を測定する第2距離測定手段とが追加され
る。そして、コード決定手段はコード候補に対し、第1
の調性距離を測定する手段と第2の調性距離を測定する
手段からの測定結果のうちで、上記第1パラメータと第
2パラメータの指定する距離条件に合うような測定結果
をもたらしたコード候補を最終的に付加すべきコードと
して決定する。
成例に関している。それによれば、メロディの調とメロ
ディの各区間に付加するコードとの調性の距離(第1の
調性距離)を制限する第1パラメータと、前記のコード
間の調性距離(第2の調性距離)を制限する第2パラメ
ータとを入力する入力手段とともに、メロディ分析手段
により抽出された前後のコード候補間の調性距離(第2
の調性距離)を測定する第2距離測定手段とが追加され
る。そして、コード決定手段はコード候補に対し、第1
の調性距離を測定する手段と第2の調性距離を測定する
手段からの測定結果のうちで、上記第1パラメータと第
2パラメータの指定する距離条件に合うような測定結果
をもたらしたコード候補を最終的に付加すべきコードと
して決定する。
この構成において、第1パラメータは全体のコード進
行の一貫性に対して寄与し、第2パラメータは前後のコ
ードを連結する場合のつながりの自然さに寄与する。こ
の結果、決定されたコードの列によって規定されるコー
ド進行は全体として自然であるばかりか局所的にも自然
なものになる。
行の一貫性に対して寄与し、第2パラメータは前後のコ
ードを連結する場合のつながりの自然さに寄与する。こ
の結果、決定されたコードの列によって規定されるコー
ド進行は全体として自然であるばかりか局所的にも自然
なものになる。
さらに、この構成の場合、第1パラメータと第2パラ
メータは使用者にとって極めて簡単なコード進行指示入
力の情報となるので区間ごとにコードを選択するという
面倒な作業から使用者を開放できるとともに、第1パラ
メータと第2パラメータの設定次第によって生成される
コード進行が変わるので、より使用者に適したコード信
号を与えることが可能となる。
メータは使用者にとって極めて簡単なコード進行指示入
力の情報となるので区間ごとにコードを選択するという
面倒な作業から使用者を開放できるとともに、第1パラ
メータと第2パラメータの設定次第によって生成される
コード進行が変わるので、より使用者に適したコード信
号を与えることが可能となる。
請求項4によれば、距離測定手段により、前のメロデ
ィ区間に対して付加可能とされたコード候補と各コード
候補との調性の距離が測定され、コード決定手段によ
り、メロディ区間のコード候補のうちで、1つのコード
が距離測定手段の測定結果に基づいて選択される。した
がって、生成されるコード進行(区間当り1つのコード
を次々と連結した情報)は調性の距離の点で一貫性のあ
るものとなり、自然さを備えている。このため、使用者
は多数の組み合わせのなかから1つのコード進行を選択
する作業を行う必要はなくなり、所期の目的が達成され
る。
ィ区間に対して付加可能とされたコード候補と各コード
候補との調性の距離が測定され、コード決定手段によ
り、メロディ区間のコード候補のうちで、1つのコード
が距離測定手段の測定結果に基づいて選択される。した
がって、生成されるコード進行(区間当り1つのコード
を次々と連結した情報)は調性の距離の点で一貫性のあ
るものとなり、自然さを備えている。このため、使用者
は多数の組み合わせのなかから1つのコード進行を選択
する作業を行う必要はなくなり、所期の目的が達成され
る。
[実施例] 以下、図面を参照して本発明の一実施例について説明
する。
する。
<全体構成> 本実施例に係る自動コード付加装置の全体構成を第1
図に示す。1はCPUであり、コード付加のための全体的
な制御を行う。ワークメモリ2はコードデータ等を一時
記憶するのに用いられる。入力装置3はメロディデータ
の入力、調性距離の指定等に用いられる。メロディ入力
装置としては、例えば鍵盤(リアルタイム入力)が使用
できる。モニター4はCRT、楽音形成回路、サウンドシ
ステム等から構成され、メロディとコード(伴奏)の表
示、出力等を行う。入力装置3から入力されたメロディ
データはメロディデータメモリ5に記憶される。プロダ
クションルールデータメモリ6には、コード候補とメロ
ディの特徴(音程の進行、和声音の位置等)が与えられ
たときにメロディに含まれる非和声音を分類する音楽知
識を表現するデータ(プロダクションルール)が記憶さ
れる。コード構成音メモリ7には各コードタイプのコー
ド構成音データが記憶される。
図に示す。1はCPUであり、コード付加のための全体的
な制御を行う。ワークメモリ2はコードデータ等を一時
記憶するのに用いられる。入力装置3はメロディデータ
の入力、調性距離の指定等に用いられる。メロディ入力
装置としては、例えば鍵盤(リアルタイム入力)が使用
できる。モニター4はCRT、楽音形成回路、サウンドシ
ステム等から構成され、メロディとコード(伴奏)の表
示、出力等を行う。入力装置3から入力されたメロディ
データはメロディデータメモリ5に記憶される。プロダ
クションルールデータメモリ6には、コード候補とメロ
ディの特徴(音程の進行、和声音の位置等)が与えられ
たときにメロディに含まれる非和声音を分類する音楽知
識を表現するデータ(プロダクションルール)が記憶さ
れる。コード構成音メモリ7には各コードタイプのコー
ド構成音データが記憶される。
本実施例の自動コード付加装置はメロディのそれぞれ
の区間(小節)に対してメロディの分析を行って各区間
のメロディに付加可能なコードを抽出する機能を備えて
いる。具体的には、この機能は非和声音を分類する知識
(プロダクションルールで表現される)を有しており、
メロディの各区間に対して、すべてのコードのそれぞれ
についてのその付加の可否を調べるため、仮定したコー
ドからメロディを和声音(コード構成音)とコード構成
外音とに分け、各コード構成外音の性格(非和声音の種
類)を分析すべく、各コード構成外音の前後のメロディ
の状況を関数で計算し、その状況に非和声音分類知識を
適用する。仮定したコードが正しいとき(付加可能なコ
ード候補のとき)は、すべてのコード構成外音の性格が
特定できるが、正しくないときには分類できない(違法
音)が検出される。したがって、分類できない音が検出
されたときはそのコードの仮定を誤りとすることによ
り、付加できないコードを除外することができる。
の区間(小節)に対してメロディの分析を行って各区間
のメロディに付加可能なコードを抽出する機能を備えて
いる。具体的には、この機能は非和声音を分類する知識
(プロダクションルールで表現される)を有しており、
メロディの各区間に対して、すべてのコードのそれぞれ
についてのその付加の可否を調べるため、仮定したコー
ドからメロディを和声音(コード構成音)とコード構成
外音とに分け、各コード構成外音の性格(非和声音の種
類)を分析すべく、各コード構成外音の前後のメロディ
の状況を関数で計算し、その状況に非和声音分類知識を
適用する。仮定したコードが正しいとき(付加可能なコ
ード候補のとき)は、すべてのコード構成外音の性格が
特定できるが、正しくないときには分類できない(違法
音)が検出される。したがって、分類できない音が検出
されたときはそのコードの仮定を誤りとすることによ
り、付加できないコードを除外することができる。
このようにして得られる不可能なコード候補の数は1
区間に付き、複数になり得る。したがって、この情報を
自動コード付加装置の最終結果としたのでは、使用者は
コード進行を得るために、コードの選択を区間ごとに行
わなければならず、その作業が大変になる。
区間に付き、複数になり得る。したがって、この情報を
自動コード付加装置の最終結果としたのでは、使用者は
コード進行を得るために、コードの選択を区間ごとに行
わなければならず、その作業が大変になる。
そこで本実施例には使用者からの簡単な操作によって
入力される情報を受け、それに従って、1区間に付き1
つのコードをコード候補のなかから自動的に選択する機
能が付加されている。詳細には、上記入力情報として、
入力装置3から、メロディの調と各区間のコードとの調
性距離に対する指示情報(後述するRG)と前後のコード
間の調性距離に対する指示情報(後述するCG)とが入力
される。一方、実施例のCPU1では各区間に対して抽出し
たコード候補のかで最も頻度の高いコード候補に対応す
る調をメロディの調として判別し、この調と各区間のコ
ード候補との調性距離を測定するとともに、前後の区間
に対するコード候補間の調性距離を測定する。そして入
力装置3より指示された調性距離と最もよく一致する調
性距離の測定値を捜し出し、その測定値をもたらしたコ
ード候補を最終結果のコードとして選択するようにして
いる。
入力される情報を受け、それに従って、1区間に付き1
つのコードをコード候補のなかから自動的に選択する機
能が付加されている。詳細には、上記入力情報として、
入力装置3から、メロディの調と各区間のコードとの調
性距離に対する指示情報(後述するRG)と前後のコード
間の調性距離に対する指示情報(後述するCG)とが入力
される。一方、実施例のCPU1では各区間に対して抽出し
たコード候補のかで最も頻度の高いコード候補に対応す
る調をメロディの調として判別し、この調と各区間のコ
ード候補との調性距離を測定するとともに、前後の区間
に対するコード候補間の調性距離を測定する。そして入
力装置3より指示された調性距離と最もよく一致する調
性距離の測定値を捜し出し、その測定値をもたらしたコ
ード候補を最終結果のコードとして選択するようにして
いる。
<全体動作> 第2図に本実施例のゼネラルフローを示す。まず、2
−1でCPU1はメロディデータメモリ5のメロディデータ
とプロダクションルールデータメモリ6のプロダクショ
ンルールデータをワークメモリ2に読み込む(なお、入
力装置3からの調性距離に関する指示情報RG、CGについ
てはすでに読み取られているものとする)。次に2−2
で小節ごとに非和声音分析を行って、使用可能なコード
候補を判別する。2−3ではこの使用可能と判別された
コード候補に対して、コード別にその出現頻度を算出す
る。続いて2−4で出現頻度のなかで最大頻度をもつコ
ード候補を捜し出してメロディの調を決定する。最後に
2−5で調と各小節のコード候補との測定距離と前後の
コード候補間の測定距離を測定し、その測定値のうち
で、指定されている調性距離のパラメータRG、CGに最も
よく一致する測定値を捜し出し、その測定値を与えたコ
ード候補を1小節毎に1つずつ見つけていってコード進
行を生成する。
−1でCPU1はメロディデータメモリ5のメロディデータ
とプロダクションルールデータメモリ6のプロダクショ
ンルールデータをワークメモリ2に読み込む(なお、入
力装置3からの調性距離に関する指示情報RG、CGについ
てはすでに読み取られているものとする)。次に2−2
で小節ごとに非和声音分析を行って、使用可能なコード
候補を判別する。2−3ではこの使用可能と判別された
コード候補に対して、コード別にその出現頻度を算出す
る。続いて2−4で出現頻度のなかで最大頻度をもつコ
ード候補を捜し出してメロディの調を決定する。最後に
2−5で調と各小節のコード候補との測定距離と前後の
コード候補間の測定距離を測定し、その測定値のうち
で、指定されている調性距離のパラメータRG、CGに最も
よく一致する測定値を捜し出し、その測定値を与えたコ
ード候補を1小節毎に1つずつ見つけていってコード進
行を生成する。
<データ形式> 第3図は以下のフローで用いるメロディデータとコー
ドデータのフォーマット例を示したものである。この例
では、メロディデータは音高データと音長データの列で
表現され、音高データは、16ビット長で上位8ビットが
オクターブを表わし、下位8ビットがCを“0"として半
音ごとに1インクリメントする整数値で表現される、音
長データは最短の音長を“1"とし、その倍の音長は“2"
というような整数値で表わされる。
ドデータのフォーマット例を示したものである。この例
では、メロディデータは音高データと音長データの列で
表現され、音高データは、16ビット長で上位8ビットが
オクターブを表わし、下位8ビットがCを“0"として半
音ごとに1インクリメントする整数値で表現される、音
長データは最短の音長を“1"とし、その倍の音長は“2"
というような整数値で表わされる。
一方、コードデータは16ビット長で上位8ビットが種
類(コードタイプ)を表わし、下位8ビットがコードの
根音を表わす。
類(コードタイプ)を表わし、下位8ビットがコードの
根音を表わす。
<メロディデータ読み込み> 第2図のゼネルフローの2−1内で実行されるメロデ
ィデータの読み込みの詳細を第5図に示す。第4図はメ
ロディデータメモリ5に記憶されるメロディデータ例
(ベートーベンの喜びの歌)である。第5図の処理の結
果、i番目の音高データはMDiに格納され、i番目の音
長データはMRiに格納され、メロディ音の総数はMDNOに
格納される。
ィデータの読み込みの詳細を第5図に示す。第4図はメ
ロディデータメモリ5に記憶されるメロディデータ例
(ベートーベンの喜びの歌)である。第5図の処理の結
果、i番目の音高データはMDiに格納され、i番目の音
長データはMRiに格納され、メロディ音の総数はMDNOに
格納される。
<プロダクションルールデータの読み込み> ゼネラルフローの2−1内で実行されるプロダクショ
ンルールーデータの読み込みの詳細を第7図に示す。第
6図の(a)にはプロダクションルールデータメモリ6
に記憶されるプロダクションルールデータ例が示されて
いる。
ンルールーデータの読み込みの詳細を第7図に示す。第
6図の(a)にはプロダクションルールデータメモリ6
に記憶されるプロダクションルールデータ例が示されて
いる。
プロダクションルールの全体は、メロディに含まれる
非和声音を分類するための音楽知識(第6図(b)、
(c)参照)を表現したものであり、各プロダクション
ルールデータは、ルールの前提部を規定するデータとし
て下限データLi、関数の種類を指示する関数指示データ
Xi、上限データUiを有し、ルールの結論部としてデータ
YiとNiを有する。関数は分析するメロディの特徴を数値
表現したもので、その例は後述する第14図に示される。
データXiで示される関数の値FxiがLi以上でかつUi以下
である(Li≦Fxi≦Ui)というのがプロダクションルー
ルの前提部(命題)であり、この前提部が成立するとき
の結論がデータYiで示され、この前提部が不成立のとき
の結論がデータNiで示されている。そして、データYiま
たはNiが正の値をもつときは、その値が後述する前向推
論において次に参照すべきプロダクションルールの番号
を示し、負の値をもつときは、その絶対値によって非和
声音の種類が表現される。前向推論は必ず1つのルール
から開始され、このルールのことをルールと呼ぶ。負の
値をもつ結論YiまたはNiをみつけたときに前向推論は終
了する。この負の値のなかに、第6図(a)にillで示
す違法な音(どの非和声音にも該当しない音)を表わす
データが含まれる。後述するように、このような違法な
音が推論の結論になったときは、推論の前提であるコー
ドの仮定に誤りがあると考えて、そのコードをロディに
付加できないコードと判定している。
非和声音を分類するための音楽知識(第6図(b)、
(c)参照)を表現したものであり、各プロダクション
ルールデータは、ルールの前提部を規定するデータとし
て下限データLi、関数の種類を指示する関数指示データ
Xi、上限データUiを有し、ルールの結論部としてデータ
YiとNiを有する。関数は分析するメロディの特徴を数値
表現したもので、その例は後述する第14図に示される。
データXiで示される関数の値FxiがLi以上でかつUi以下
である(Li≦Fxi≦Ui)というのがプロダクションルー
ルの前提部(命題)であり、この前提部が成立するとき
の結論がデータYiで示され、この前提部が不成立のとき
の結論がデータNiで示されている。そして、データYiま
たはNiが正の値をもつときは、その値が後述する前向推
論において次に参照すべきプロダクションルールの番号
を示し、負の値をもつときは、その絶対値によって非和
声音の種類が表現される。前向推論は必ず1つのルール
から開始され、このルールのことをルールと呼ぶ。負の
値をもつ結論YiまたはNiをみつけたときに前向推論は終
了する。この負の値のなかに、第6図(a)にillで示
す違法な音(どの非和声音にも該当しない音)を表わす
データが含まれる。後述するように、このような違法な
音が推論の結論になったときは、推論の前提であるコー
ドの仮定に誤りがあると考えて、そのコードをロディに
付加できないコードと判定している。
第6図に示すプロダクションルールデータのアドレス
割当の場合、各プロダクションルールのデータは下限デ
ータLiのアドレスを先頭として5つの連続するアドレス
に、記憶される。詳細には5で割り切れるアドレスにLi
が、5で割った余り1つのアドレスにXiが、余り2のア
ドレスにUiが、余り3のアドレスにYiが、余り4のアド
レスにNiのデータが記憶される。
割当の場合、各プロダクションルールのデータは下限デ
ータLiのアドレスを先頭として5つの連続するアドレス
に、記憶される。詳細には5で割り切れるアドレスにLi
が、5で割った余り1つのアドレスにXiが、余り2のア
ドレスにUiが、余り3のアドレスにYiが、余り4のアド
レスにNiのデータが記憶される。
なお、第7図においてrulenoには、プロダクションル
ールの総数がセットされる。
ールの総数がセットされる。
<コード判定> 第2図のゼネラルフローの2−2で実行されるコード
判定のフローを第8図に示す。
判定のフローを第8図に示す。
まず25−1で小節の番号BARを“1"に所期化し、25−
2でBARの示す小節のメロディデータの開始位置Psと終
了位置Peを求める。25−3でコードの根音ROOTを所期化
し、25−4でコードのタイプTYPEを所期する。そして、
25−5では小節の開始位置Psから終了位置Peまでのメロ
ディデータに対し、ROOTとTYPEとに規定されるコードを
仮定したときの非和声音分析を行う。この分析結果は25
−6でチェックされ、分析結果のなかに分類不可(違法
音)を示す音が1つも含まれないときOK(付加可能)と
なる。OKのときのみ、スタックCSTKにそのときの根音の
データROOTとタイプのデータTYPEをプッシュしておく
(25−7、25−8)。したがって、付加可能なコードは
スタックCSTKには記録されない。この処理をBARの示す
小節に対してすべてのコードについて繰り返し実行する
(25−9、25−10、25−11、25−12)。1小節のメロデ
ィに対して付加可能なコードをすべて抽出したら、1小
節の区切りを表わす識別マーク(区切りマーク)をスタ
ックCSTKにプッシュしておく(25−13)。そして、以上
の処理をすべての小節に対して行い(25−14、25−1
5)、全小節が完了したら、endマークをスタックにプッ
シュしておく(25−16)。
2でBARの示す小節のメロディデータの開始位置Psと終
了位置Peを求める。25−3でコードの根音ROOTを所期化
し、25−4でコードのタイプTYPEを所期する。そして、
25−5では小節の開始位置Psから終了位置Peまでのメロ
ディデータに対し、ROOTとTYPEとに規定されるコードを
仮定したときの非和声音分析を行う。この分析結果は25
−6でチェックされ、分析結果のなかに分類不可(違法
音)を示す音が1つも含まれないときOK(付加可能)と
なる。OKのときのみ、スタックCSTKにそのときの根音の
データROOTとタイプのデータTYPEをプッシュしておく
(25−7、25−8)。したがって、付加可能なコードは
スタックCSTKには記録されない。この処理をBARの示す
小節に対してすべてのコードについて繰り返し実行する
(25−9、25−10、25−11、25−12)。1小節のメロデ
ィに対して付加可能なコードをすべて抽出したら、1小
節の区切りを表わす識別マーク(区切りマーク)をスタ
ックCSTKにプッシュしておく(25−13)。そして、以上
の処理をすべての小節に対して行い(25−14、25−1
5)、全小節が完了したら、endマークをスタックにプッ
シュしておく(25−16)。
この結果、スタックCSTKには先頭から始めて第1小節
に対して付加可能なすべてのコードがROOTとTYPEの対で
順次記憶され、区切りマークを挟んで第2小節に対して
付加可能なコードのデータが続き、以下同様にして、最
後の区切りマークの後、endマークが付いている。
に対して付加可能なすべてのコードがROOTとTYPEの対で
順次記憶され、区切りマークを挟んで第2小節に対して
付加可能なコードのデータが続き、以下同様にして、最
後の区切りマークの後、endマークが付いている。
<メロディ小節の選択> 第8図の25−2で実行されるメロディの小節位置の選
択の詳細を第9図から第11図に示す。この処理により、
Psには、着目している小節の最初の音符がメロディデー
タ{MDi}、{MRi}の何番目のデータであるかが入り、
Peには着目している小節の次の小節の最初の音符よりひ
とつの前の音符がメロディデータの何番目のデータであ
るかが入る。このPsとPeの情報は、次に述べる非和声音
分析処理25−5内において、調査すべきメロディデータ
の範囲を規定する。
択の詳細を第9図から第11図に示す。この処理により、
Psには、着目している小節の最初の音符がメロディデー
タ{MDi}、{MRi}の何番目のデータであるかが入り、
Peには着目している小節の次の小節の最初の音符よりひ
とつの前の音符がメロディデータの何番目のデータであ
るかが入る。このPsとPeの情報は、次に述べる非和声音
分析処理25−5内において、調査すべきメロディデータ
の範囲を規定する。
<非和声音分析> 第8図の25−5で実行される非和声音の分析の詳細を
第12図に示す。
第12図に示す。
まず、33−2で非和声音のカウンタjを初期化し、33
−3でメロディデータの音符カウンタiを着目している
小節の先頭位置Psに設定する。33−4で、着目していi
番目の音符が和声音か否かを判別する。コード候補の構
成音と同音のものは和声音とされる。和声音でないとき
は、非和声音カウンタをインクリメントし(33−5)、
着目している音符を中心とするメロディの特徴要素を表
わす関数Fを計算し(33−6)、プロダクションルール
による前向推論を実行して(33−7)、着目音符につい
ての結論をRSjに代入する(33−8)。音符カウンタi
をインクリメントし(33−9)、着目している小節の最
後の音符Peに到達するまで(33−10)、33−4以降の処
理を繰り返す。
−3でメロディデータの音符カウンタiを着目している
小節の先頭位置Psに設定する。33−4で、着目していi
番目の音符が和声音か否かを判別する。コード候補の構
成音と同音のものは和声音とされる。和声音でないとき
は、非和声音カウンタをインクリメントし(33−5)、
着目している音符を中心とするメロディの特徴要素を表
わす関数Fを計算し(33−6)、プロダクションルール
による前向推論を実行して(33−7)、着目音符につい
ての結論をRSjに代入する(33−8)。音符カウンタi
をインクリメントし(33−9)、着目している小節の最
後の音符Peに到達するまで(33−10)、33−4以降の処
理を繰り返す。
上記処理33−4の詳細は第13図に示される。34−1で
は、コードデータをコード構成音データに変換してい
る。この変換は、コードデータの種類データTYPEをポイ
ンタとして、コード構成音メモリ7からC調で表わされ
た構成音データ(例えば、メジャーであれば、00001001
0001)を読み出し、それをコードデータの根音データRO
OTが示す数だけ左に転回することで行われる。34−2で
は、34−1で生成した構成音データCCと同一形式のデー
タにメロディ音高データMDiを変換している。CCΛmm
(論理積)の結果が0でないときはコード構成音のなか
にメロディ音と同じ音が含まれる。すなわち、MDiは和
声音である(34−3、34−5)。CCΛmm=0のときはMD
iは非和声音である(34−3、34−4)。
は、コードデータをコード構成音データに変換してい
る。この変換は、コードデータの種類データTYPEをポイ
ンタとして、コード構成音メモリ7からC調で表わされ
た構成音データ(例えば、メジャーであれば、00001001
0001)を読み出し、それをコードデータの根音データRO
OTが示す数だけ左に転回することで行われる。34−2で
は、34−1で生成した構成音データCCと同一形式のデー
タにメロディ音高データMDiを変換している。CCΛmm
(論理積)の結果が0でないときはコード構成音のなか
にメロディ音と同じ音が含まれる。すなわち、MDiは和
声音である(34−3、34−5)。CCΛmm=0のときはMD
iは非和声音である(34−3、34−4)。
第12図のFの計算33−6の詳細を第14図に示す。この
例では関数Fとして、 F1:着目している音符(非和声音)の何個先に和声音が
位置するか(後方和声音の位置) F2:着目している音符の何個手前に和声音が位置するか
(前方和声音の位置) F3:前方和声音から後方和声音までにある非和声音の数 F4:前方和声音と後方和声音との音高差 F5:前方和声音と後方和声音との間における非和声音の
高さの分布 F6:前方和声音から後方和声音までのメロディの音高が
単調に変化するか否か F7:後方和声音とその1つ前の音との音高差(後方和声
音への音程進行) F8:前方和声音とのそ1つの者との音高差(前方和声音
からの音程進行) を計算している。この他に、弱拍か強拍かを示す情報、
音長を区別する情報を関数Fのセットに加えてもよい。
個々の関数Fの算出のフローチャート(第15図〜第22
図)はそれ自体の記載から明らかであるので説明は省略
する。
例では関数Fとして、 F1:着目している音符(非和声音)の何個先に和声音が
位置するか(後方和声音の位置) F2:着目している音符の何個手前に和声音が位置するか
(前方和声音の位置) F3:前方和声音から後方和声音までにある非和声音の数 F4:前方和声音と後方和声音との音高差 F5:前方和声音と後方和声音との間における非和声音の
高さの分布 F6:前方和声音から後方和声音までのメロディの音高が
単調に変化するか否か F7:後方和声音とその1つ前の音との音高差(後方和声
音への音程進行) F8:前方和声音とのそ1つの者との音高差(前方和声音
からの音程進行) を計算している。この他に、弱拍か強拍かを示す情報、
音長を区別する情報を関数Fのセットに加えてもよい。
個々の関数Fの算出のフローチャート(第15図〜第22
図)はそれ自体の記載から明らかであるので説明は省略
する。
第12図の33−7における前向推論の詳細を第23図に示
す。まず、ルールナンバーポインタPを、プロダクショ
ンルールのなかでルートとなっているルールを指示する
“1"にセットする(44−1)。しかる後、ルールナンバ
ーポインタPの示すルールの前提部(Lp≦Fxp≦Up)が
成立するかどうかをチェックし、成立するときはそのル
ールの肯定結論部のデータYpを次のルールへのポインタ
として使用し、不成立のときはそのルールの否定結論部
のデータNpを次のルールへのポインタとして使用する。
ただし、データYp、Npが、負と値のときは、最終結論に
達しているので、その絶対値(−Yp、−Np)を否和声音
の種類の識別子または違法な音の識別子として結論レジ
スタにセットする。フローに従うと、44−3の条件Lp>
Fxpか44−5の条件Fxp>Upが成立するとき、ルールPの
前提部Lp≦Fxp≦Upは不成立であるのでそのルールの否
定結論部のデータNpをaに代入し(44−4、44−6)、
それ以外の場合は前提部成立なので、aにはルールPの
肯定結論部のデータYpが入る(44−2)。このaをPに
代入し(44−7)、Pが正値のときは、次にルールナン
バーポインタとして次のルールの検査に戻り、Pが負の
ときは、−Pを非和声音の分類結果とする(44−8、44
−9)。
す。まず、ルールナンバーポインタPを、プロダクショ
ンルールのなかでルートとなっているルールを指示する
“1"にセットする(44−1)。しかる後、ルールナンバ
ーポインタPの示すルールの前提部(Lp≦Fxp≦Up)が
成立するかどうかをチェックし、成立するときはそのル
ールの肯定結論部のデータYpを次のルールへのポインタ
として使用し、不成立のときはそのルールの否定結論部
のデータNpを次のルールへのポインタとして使用する。
ただし、データYp、Npが、負と値のときは、最終結論に
達しているので、その絶対値(−Yp、−Np)を否和声音
の種類の識別子または違法な音の識別子として結論レジ
スタにセットする。フローに従うと、44−3の条件Lp>
Fxpか44−5の条件Fxp>Upが成立するとき、ルールPの
前提部Lp≦Fxp≦Upは不成立であるのでそのルールの否
定結論部のデータNpをaに代入し(44−4、44−6)、
それ以外の場合は前提部成立なので、aにはルールPの
肯定結論部のデータYpが入る(44−2)。このaをPに
代入し(44−7)、Pが正値のときは、次にルールナン
バーポインタとして次のルールの検査に戻り、Pが負の
ときは、−Pを非和声音の分類結果とする(44−8、44
−9)。
<頻度カウント、調決定> ゼネラルフロー(第2図)の2−3で行われる付加可
能なコード候補の頻度カウント処理の詳細を第24図に示
す。この処理は2−4で行われる調決定のための前処理
である(本実施例では、処理2−2で得た付加可能なコ
ード候補のうち最大の頻度をもつコード候補をメロディ
の調として決定している)。
能なコード候補の頻度カウント処理の詳細を第24図に示
す。この処理は2−4で行われる調決定のための前処理
である(本実施例では、処理2−2で得た付加可能なコ
ード候補のうち最大の頻度をもつコード候補をメロディ
の調として決定している)。
上述したように、2−3の処理によりスタックCSTK上
はROOTデータの後にTYPEデータが続き、この対でコード
が規定され、TYPEデータの後にはROOTデータ(1小節内
に付加可能なコードが残っている場合)または区切りデ
ータが続き、区切りデータの次にはROOTデータ(次小節
がある場合の次小節に対して付加可能なコードの根音)
またはendマークが続いている。したがって、根音d1、
タイd2のコードをカウントするための変数Dd1、d2を用
意しておき、スタックCSTKを先頭からendマークまで走
査し、その間で、ROOTデータとTYPEデータの対を読み取
るごとに対応するカウンタDd1、d2をインクリメントし
ていけば、コード候補の頻度がコード別に得られること
になる。第24図はこれに従ったフローであり、47−4で
NOとなるときは47−2で読んだスタックのデータd1がRO
OTデータのときである。ROOTデータの次は必らずTYPEデ
ータが続くので、これを読み取ったデータd2(47−5)
と先のデータd1で指示されるコードカウンタDd1、d2を
インクリメントしている(47−6)。endマークを読み
取ったら、処理完了である(47−3)。
はROOTデータの後にTYPEデータが続き、この対でコード
が規定され、TYPEデータの後にはROOTデータ(1小節内
に付加可能なコードが残っている場合)または区切りデ
ータが続き、区切りデータの次にはROOTデータ(次小節
がある場合の次小節に対して付加可能なコードの根音)
またはendマークが続いている。したがって、根音d1、
タイd2のコードをカウントするための変数Dd1、d2を用
意しておき、スタックCSTKを先頭からendマークまで走
査し、その間で、ROOTデータとTYPEデータの対を読み取
るごとに対応するカウンタDd1、d2をインクリメントし
ていけば、コード候補の頻度がコード別に得られること
になる。第24図はこれに従ったフローであり、47−4で
NOとなるときは47−2で読んだスタックのデータd1がRO
OTデータのときである。ROOTデータの次は必らずTYPEデ
ータが続くので、これを読み取ったデータd2(47−5)
と先のデータd1で指示されるコードカウンタDd1、d2を
インクリメントしている(47−6)。endマークを読み
取ったら、処理完了である(47−3)。
第25図は以上のようにした得た頻度テーブル
{DROOT、TYPE}上で最大の頻度をもつコードを捜し出
して調を決定するフローを示したもので、ゼネラルフロ
ーの処理2−4の詳細である。48−1でmaxを初期化
し、48−2、48−3、48−8、48−9、48−10、48−11
とその関係するループからわかるように、すべての根音
ROOT、タイプTYPEを走査しており、走査の途中で、現在
のROOT、TYPEのコードの頻度カウントDROOT、TYPEが、
それまでの最大の頻度maxより高い値を示しておれば(4
8−4)、その値でmaxを更新するとともに(48−5)、
そのときのROOTとTYPEのデータをそれぞれRとTに代入
している。(48−5、48−7)。したがって、第25図の
処理の結果、RとTにはそれぞれ、最大頻度のコードの
根音とタイプの情報が設定され、これによりメロディの
調が決定されたことになる。例えばRがCの音名で、T
がメジャーのタイプを示しているのであれば、Cの長調
がメロディの調であり、RがCでTがマイナーならCの
短調がメロディの調である。
{DROOT、TYPE}上で最大の頻度をもつコードを捜し出
して調を決定するフローを示したもので、ゼネラルフロ
ーの処理2−4の詳細である。48−1でmaxを初期化
し、48−2、48−3、48−8、48−9、48−10、48−11
とその関係するループからわかるように、すべての根音
ROOT、タイプTYPEを走査しており、走査の途中で、現在
のROOT、TYPEのコードの頻度カウントDROOT、TYPEが、
それまでの最大の頻度maxより高い値を示しておれば(4
8−4)、その値でmaxを更新するとともに(48−5)、
そのときのROOTとTYPEのデータをそれぞれRとTに代入
している。(48−5、48−7)。したがって、第25図の
処理の結果、RとTにはそれぞれ、最大頻度のコードの
根音とタイプの情報が設定され、これによりメロディの
調が決定されたことになる。例えばRがCの音名で、T
がメジャーのタイプを示しているのであれば、Cの長調
がメロディの調であり、RがCでTがマイナーならCの
短調がメロディの調である。
<コード進行決定> ゼネラルフローの2−5で実行されるコード進行の決
定処理の詳細を第26図に示す。
定処理の詳細を第26図に示す。
図示のフローに入る段階でスタックCSTKには先頭から
endマークのアドレスの間に、小節線の区切りマークを
挟んで、小節順にそれぞれの小節に対して付加可能と判
定されたすべてのコード候補が、根音ROOTとタイプTYPE
の2つのデータ対の形式で並べられている。また、Rと
Tには調に対応するコード(調決定コード)の根音とタ
イプのデータが設定されている。さらに、RGとCGには入
力装置3から入力された調と各小節のコードとの調性距
離を制限するパラメータと隣り合うコード間の調性距離
を制限するパラメータとがそれぞれ設定されている。図
示のフローはこれらの情報を基に、1通りのコード進行
{CDBAR}を生成するものである。
endマークのアドレスの間に、小節線の区切りマークを
挟んで、小節順にそれぞれの小節に対して付加可能と判
定されたすべてのコード候補が、根音ROOTとタイプTYPE
の2つのデータ対の形式で並べられている。また、Rと
Tには調に対応するコード(調決定コード)の根音とタ
イプのデータが設定されている。さらに、RGとCGには入
力装置3から入力された調と各小節のコードとの調性距
離を制限するパラメータと隣り合うコード間の調性距離
を制限するパラメータとがそれぞれ設定されている。図
示のフローはこれらの情報を基に、1通りのコード進行
{CDBAR}を生成するものである。
第26図において、minは小節のメロディに対して付加
可能なすべてのコード候補のそれぞれについて次の計算 ||dist1|−RG|+||dist2|−CG| を行った場合の最小値を記憶するための変数であり、新
しい小節を調べる都度、初期化される。上記式におい
て、dist1はコード候補の調(R、T)からの調整距離
の測定値であり、dist2は現コード候補の前コードから
の調性距離の測定値である。最小値を与えたときのコー
ド候補の根音d1とタイプd2がそれぞれROOTとTYPEに記憶
され、そのときの小節番号用のコードを記憶するための
変数CDBARに移される。
可能なすべてのコード候補のそれぞれについて次の計算 ||dist1|−RG|+||dist2|−CG| を行った場合の最小値を記憶するための変数であり、新
しい小節を調べる都度、初期化される。上記式におい
て、dist1はコード候補の調(R、T)からの調整距離
の測定値であり、dist2は現コード候補の前コードから
の調性距離の測定値である。最小値を与えたときのコー
ド候補の根音d1とタイプd2がそれぞれROOTとTYPEに記憶
され、そのときの小節番号用のコードを記憶するための
変数CDBARに移される。
説明を加えると、49−7に進むときは、49−4で読ん
だスタックCSTKのデータ(d1に入っている)がendマー
クでも区切りマークでもないときであり、スタックCSTK
上のデータの記憶の順番も考慮すれば、データd1は根音
のデータである。したがって49−7でその次のアドレス
にあるタイプのデータをd2に読みとっている。したがっ
て(d1、d2)によりコード候補が示される。そこで、次
の49−8で調(R、T)とこのコード候補(d1、d2)と
の調性距離を後述の仕方で測定してdist1にセットし、4
9−9で前小節の確定コードと現小節のコード候補
(d1、d2)との調性距離を同様にして測定してdist2に
セットし、40−10で上述した ||dist1|−RG|+||dist2|−CG| を計算してaに代入している。そして、aの値とminの
値を49−11で比較し、今回のaの方向が小さければ、mi
nにaを代入し、そのときの根音d1とタイプd2をそれぞ
れROOTとTYPEに代入する(49−12〜49−14)。
だスタックCSTKのデータ(d1に入っている)がendマー
クでも区切りマークでもないときであり、スタックCSTK
上のデータの記憶の順番も考慮すれば、データd1は根音
のデータである。したがって49−7でその次のアドレス
にあるタイプのデータをd2に読みとっている。したがっ
て(d1、d2)によりコード候補が示される。そこで、次
の49−8で調(R、T)とこのコード候補(d1、d2)と
の調性距離を後述の仕方で測定してdist1にセットし、4
9−9で前小節の確定コードと現小節のコード候補
(d1、d2)との調性距離を同様にして測定してdist2に
セットし、40−10で上述した ||dist1|−RG|+||dist2|−CG| を計算してaに代入している。そして、aの値とminの
値を49−11で比較し、今回のaの方向が小さければ、mi
nにaを代入し、そのときの根音d1とタイプd2をそれぞ
れROOTとTYPEに代入する(49−12〜49−14)。
スタックCSTK上のデータは区切りマークから区切りマ
ークまでの間に1小節に付加可能なすべてのコード候補
のデータが入っている。したがって、49−6で区切りマ
ークが検出された時点で、ROOTとTYPEにはBARで示され
る小節に対して付加可能なすべてのコード候補のうち
で、上述した式の値を最小にするコード候補、すなわ
ち、使用者の指定した調とコードとの調性距離と、前コ
ードからの調性距離に関する指示条件(RG、CG)に最も
よく合うコード候補の根音とタイプのデータが入ってい
る。これは小節番号Barのメロディに対して決定したコ
ードにほかならない。そこで、49−15に進み、次の小節
の検査のためにminを再初期化と、49−16で小節番号Bar
をインクリメントし、ROOTとTYPEのデータを前コードの
根音とタイプとしてOLDROOTとOLDTYPEに移す処理(49−
17、49−18)を実行するとともに、49−19でROOTとTYPE
からコードデータを得、配列の要素CDBAR-1に代入して
いる。
ークまでの間に1小節に付加可能なすべてのコード候補
のデータが入っている。したがって、49−6で区切りマ
ークが検出された時点で、ROOTとTYPEにはBARで示され
る小節に対して付加可能なすべてのコード候補のうち
で、上述した式の値を最小にするコード候補、すなわ
ち、使用者の指定した調とコードとの調性距離と、前コ
ードからの調性距離に関する指示条件(RG、CG)に最も
よく合うコード候補の根音とタイプのデータが入ってい
る。これは小節番号Barのメロディに対して決定したコ
ードにほかならない。そこで、49−15に進み、次の小節
の検査のためにminを再初期化と、49−16で小節番号Bar
をインクリメントし、ROOTとTYPEのデータを前コードの
根音とタイプとしてOLDROOTとOLDTYPEに移す処理(49−
17、49−18)を実行するとともに、49−19でROOTとTYPE
からコードデータを得、配列の要素CDBAR-1に代入して
いる。
この結果、第26図の処理を完了した時点で配列{CD
BAR}にはメロディの全体に対する1通りのコード進行
を表わす情報が入っていることになる。
BAR}にはメロディの全体に対する1通りのコード進行
を表わす情報が入っていることになる。
<調性の距離の測定> コード進行決定フロー(第26図)の49−8と49−9で
行われる調性の距離の測定の詳細を第27図に示す。第28
図は第27図のフローで使用しているコード間の調性距離
の定義を表わす。この図からわかるように、平行調の関
係にあるコード(例えばAmとc)間の調性距離はゼロで
ある。また、基準から完全5度上のコードの基準からの
調性距離は−2とし、基準から完全5度下のコードの調
性距離は+2としている。
行われる調性の距離の測定の詳細を第27図に示す。第28
図は第27図のフローで使用しているコード間の調性距離
の定義を表わす。この図からわかるように、平行調の関
係にあるコード(例えばAmとc)間の調性距離はゼロで
ある。また、基準から完全5度上のコードの基準からの
調性距離は−2とし、基準から完全5度下のコードの調
性距離は+2としている。
第27図の50−1において、stには基準のコードの根音
データが入る。ここに基準のコードとは49−8(第26
図)の場合には、調決定コード(R、T)のことであ
り、49−10の場合には前小節のコード(OLDROOT、OLDTY
PE)のことである。また、50−1ではa1とa2に測定され
るコードの根音データ、すなわち、49−8、49−9で測
定しようとしているコードの根音データd1がセットされ
る。50−5に示すように、a1の根音データは50−3〜50
−6のループ一周するたびに、5度上に転回され、a2根
音データは5度下に転回される(第28図に示すリングを
反時計回り、または時計回りすることに相当する)。50
−3において、a1=stが成立するのは測定すべきコード
の根音をi回5度上に転回したときであり、50−4にお
いてa2=stが成立するのは測定すべきコードの根音をi
回5度下に転回したら基準のコードの根音に一致したと
きである。したがって前者に対してはxに調整距離とし
てi×2を入れ(50−7)、後者に対してはxにi×
(−2)を入れる。ここまででxに得られているのは、
基準のコードと測定すべきコードとが共にメジャー系か
共にマイナー系であるときの測定コードの調性距離であ
る。したがって、50−9から50−17までの処理におい
て、両コードの系が異なる場合の距離修正を行ってい
る。例えば基準のコードがAmで測定すべきコードがGmaj
だとすると、50−7によりx=+4になっている。これ
は、第28図の調性距離の定義に例えば、x=−2になら
なければならない。この場合、第28図において、50−10
から50−11、50−13と進み、x=x−6によりx=−2
が得られる。また、基準のコードがCmajで測定すべきコ
ードがBminだとすると、50−8により、x=−10になっ
ているこれは第28図によれば、x=−4にならなければ
ならない。この場合、第50図において、50−14から50−
15、50−17と進み、x=x+6によりx=−4が得られ
る。
データが入る。ここに基準のコードとは49−8(第26
図)の場合には、調決定コード(R、T)のことであ
り、49−10の場合には前小節のコード(OLDROOT、OLDTY
PE)のことである。また、50−1ではa1とa2に測定され
るコードの根音データ、すなわち、49−8、49−9で測
定しようとしているコードの根音データd1がセットされ
る。50−5に示すように、a1の根音データは50−3〜50
−6のループ一周するたびに、5度上に転回され、a2根
音データは5度下に転回される(第28図に示すリングを
反時計回り、または時計回りすることに相当する)。50
−3において、a1=stが成立するのは測定すべきコード
の根音をi回5度上に転回したときであり、50−4にお
いてa2=stが成立するのは測定すべきコードの根音をi
回5度下に転回したら基準のコードの根音に一致したと
きである。したがって前者に対してはxに調整距離とし
てi×2を入れ(50−7)、後者に対してはxにi×
(−2)を入れる。ここまででxに得られているのは、
基準のコードと測定すべきコードとが共にメジャー系か
共にマイナー系であるときの測定コードの調性距離であ
る。したがって、50−9から50−17までの処理におい
て、両コードの系が異なる場合の距離修正を行ってい
る。例えば基準のコードがAmで測定すべきコードがGmaj
だとすると、50−7によりx=+4になっている。これ
は、第28図の調性距離の定義に例えば、x=−2になら
なければならない。この場合、第28図において、50−10
から50−11、50−13と進み、x=x−6によりx=−2
が得られる。また、基準のコードがCmajで測定すべきコ
ードがBminだとすると、50−8により、x=−10になっ
ているこれは第28図によれば、x=−4にならなければ
ならない。この場合、第50図において、50−14から50−
15、50−17と進み、x=x+6によりx=−4が得られ
る。
<変形例> 以上で実施例の説明を終えるが本発明は上記実施例に
限定されず、種々の変形、変更が可能である。
限定されず、種々の変形、変更が可能である。
例えば、メロディの分析として上記実施例では非和声
音の分類知識に基づいて各区間のメロディに対するコー
ドの付加の可否を判別しているが、これと組み合せ、あ
るいはこれの代りに、コードから想定されるアヴェラブ
ルノートスケールと各区間のメロディ構成音との関係に
よってコードの付加の可否を判別する手段、コードの構
成音と区間のメロディの構成音とのマッチングによる手
段等が使用できる。要するに、区間ごときコードの付加
の可否を判別する結果、メロディに付加可能なコードと
して1区間のなかから複数のコード候補を抽出する可能
性をもつ任意のメロディ分析手段に対して本発明を適用
することができる。
音の分類知識に基づいて各区間のメロディに対するコー
ドの付加の可否を判別しているが、これと組み合せ、あ
るいはこれの代りに、コードから想定されるアヴェラブ
ルノートスケールと各区間のメロディ構成音との関係に
よってコードの付加の可否を判別する手段、コードの構
成音と区間のメロディの構成音とのマッチングによる手
段等が使用できる。要するに、区間ごときコードの付加
の可否を判別する結果、メロディに付加可能なコードと
して1区間のなかから複数のコード候補を抽出する可能
性をもつ任意のメロディ分析手段に対して本発明を適用
することができる。
また、上記実施例では、区間のメロディに対して付加
可能と判定されたすべてのコード候補のなかから1つの
コードを自動的に選択するために、メロディの調と各コ
ード候補との調整距離と前後の隣り合うコード候補間の
調性距離とを測定し、これらの調整距離の測定値のうち
で使用者の指定した情報RG、CGに最も良く合う測定値を
与えたコード候補を選択している。これは使用者に希望
するコード進行を容易に提供する上で好ましい構成であ
るが、本発明の上からは上記使用者の指定情報は必ずし
も必要でなく、例えば、RG、CGとして予め定められた値
を用いてもよい。また、調性距離として、前後のコード
の調性距離については考慮しないようにしてもよい。ま
た、メロディの調に関しては、メロディの楽譜等が入手
できる場合には使用者から直接入力するようにしてもよ
いし、あるいは各区間のメロディに付加可能なコード候
補の情報を参照することなしに、調を判別する手段を用
いてもよい。メロディに付加可能なコード候補の情報に
よる調判別手段の別の例として、それぞれのコード候補
を基準と仮定して、残りのコード候補の調整距離を測定
し、プラス側になるコード候補の数とマイナス側になる
コード候補との数が最も良く平衡したときの基準コード
をメロディの調と判定するようにしてもよい。
可能と判定されたすべてのコード候補のなかから1つの
コードを自動的に選択するために、メロディの調と各コ
ード候補との調整距離と前後の隣り合うコード候補間の
調性距離とを測定し、これらの調整距離の測定値のうち
で使用者の指定した情報RG、CGに最も良く合う測定値を
与えたコード候補を選択している。これは使用者に希望
するコード進行を容易に提供する上で好ましい構成であ
るが、本発明の上からは上記使用者の指定情報は必ずし
も必要でなく、例えば、RG、CGとして予め定められた値
を用いてもよい。また、調性距離として、前後のコード
の調性距離については考慮しないようにしてもよい。ま
た、メロディの調に関しては、メロディの楽譜等が入手
できる場合には使用者から直接入力するようにしてもよ
いし、あるいは各区間のメロディに付加可能なコード候
補の情報を参照することなしに、調を判別する手段を用
いてもよい。メロディに付加可能なコード候補の情報に
よる調判別手段の別の例として、それぞれのコード候補
を基準と仮定して、残りのコード候補の調整距離を測定
し、プラス側になるコード候補の数とマイナス側になる
コード候補との数が最も良く平衡したときの基準コード
をメロディの調と判定するようにしてもよい。
[発明の効果] 請求項1によれば、与えられたメロディを分析して個
々のメロディ区間に対して付加可能なコード候補を判別
するメロディ分析手段を備える自動コード付加装置にお
いて、付加可能と判定された各コード候補がメロディの
調との間でもつ調性距離を測定し、その測定結果に基づ
き、各コード候補のなかから1メロディ区間に付き1つ
のコードを選択することによってコード進行を得ている
ので、使用者に対し、調性がコントロールされた自然な
コード進行を提供でき、使用者側で行うコード進行の選
択作業を軽減することができるという利点がある。
々のメロディ区間に対して付加可能なコード候補を判別
するメロディ分析手段を備える自動コード付加装置にお
いて、付加可能と判定された各コード候補がメロディの
調との間でもつ調性距離を測定し、その測定結果に基づ
き、各コード候補のなかから1メロディ区間に付き1つ
のコードを選択することによってコード進行を得ている
ので、使用者に対し、調性がコントロールされた自然な
コード進行を提供でき、使用者側で行うコード進行の選
択作業を軽減することができるという利点がある。
請求項2によれば、調判別手段として、上記メロディ
分析手段が付加可能と判別した全コード候補の分布によ
って調を判別する手段を用いているので、請求項1の効
果に加え、調の判別を簡単な構成でしかも確実に得るこ
とができる。
分析手段が付加可能と判別した全コード候補の分布によ
って調を判別する手段を用いているので、請求項1の効
果に加え、調の判別を簡単な構成でしかも確実に得るこ
とができる。
請求項3によれば、コードとメロディの調との調性距
離を制限するパラメータと前後のコード間の調性距離を
制限するパメータを入力手段から入力可能とし、区間に
対する各コード候補とメロディの調との調性距離を測定
する手段に加え、前後のコード候補間の調性距離を測定
する手段を設け、コード決定手段においては、これらの
測定値のうちで入力された両パラメータの指定する条件
に合うような測定値に対応するコード候補を選択してい
るので、全体的な調性距離だけでなくコード間の調性距
離についても制御された自然で変化に豊むコード進行と
提供することができる。さらには使用者からの極めて簡
単な入力により、生成されるコード進行を変えることが
できるので使用者の希望するようなコード進行を効率的
に提供することが可能となる。
離を制限するパラメータと前後のコード間の調性距離を
制限するパメータを入力手段から入力可能とし、区間に
対する各コード候補とメロディの調との調性距離を測定
する手段に加え、前後のコード候補間の調性距離を測定
する手段を設け、コード決定手段においては、これらの
測定値のうちで入力された両パラメータの指定する条件
に合うような測定値に対応するコード候補を選択してい
るので、全体的な調性距離だけでなくコード間の調性距
離についても制御された自然で変化に豊むコード進行と
提供することができる。さらには使用者からの極めて簡
単な入力により、生成されるコード進行を変えることが
できるので使用者の希望するようなコード進行を効率的
に提供することが可能となる。
請求項4によれば、与えられたメロディを分析して個
々のメロディ区間に対して付加可能なコード候補を判別
するメロディ分析手段を備える自動コード付加装置にお
いて、付加可能と判定された各コード候補が前のメロデ
ィ区間に対して付加可能とされたコード候補との間でも
つ調性距離を測定し、その測定結果に基づき、各コード
候補のなかから1メロディ区間に付き1つのコードを選
択することによってコード進行を得ているので、使用者
に対し、調性がコントロールされた自然なコード進行を
提供でき、使用者側で行うコード進行の選択作業を軽減
することができるという利点がある。
々のメロディ区間に対して付加可能なコード候補を判別
するメロディ分析手段を備える自動コード付加装置にお
いて、付加可能と判定された各コード候補が前のメロデ
ィ区間に対して付加可能とされたコード候補との間でも
つ調性距離を測定し、その測定結果に基づき、各コード
候補のなかから1メロディ区間に付き1つのコードを選
択することによってコード進行を得ているので、使用者
に対し、調性がコントロールされた自然なコード進行を
提供でき、使用者側で行うコード進行の選択作業を軽減
することができるという利点がある。
第1図はこの発明の一実施例に係る自動コード付加装置
の全体構成図、第2図は実施例の全体動作を示すフロー
チャート、第3図はメロディとコードのデータ形式を示
す図、第4図はメロディデータメモリに記憶されるメロ
ディデータ例を示す図、第5図はメロディデータの読み
込みのフローチャート、第6図はプロダクションルール
データメモリに記憶されるプロダクションデータ例を示
す図、第7図はプロダションルールデータの読み込みの
フローチャート、第8図はメロディを分析して付加可能
なコードを判定するためのフローチャート、第9図は小
節の開始位置(Ps)と終了位置(pe)を算出するフロー
チャート、第10図はPs算出のフローチャート、第11図は
Pe算出のフローチャート、第12図は非和声音分析のフロ
ーチャート、第13図は和声音と非和声音とを判別するフ
ローチャート、第14図は非和声音の前後のメロディ状況
を表わす関数を算出するフローチャート、第15図は、第
16図、第17図、第18図、第19図、第20図、第21図、第22
図は各関数の算出の詳細なフローチャート、第23図はプ
ロダクションルールによる前向推論のフローチャート、
第24図は付加可能と判別されたコード候補の出現頻度を
算出するフローチャート、第25図はメロディの調を決定
するフローチャート、第26図はコード進行を決定するフ
ローチャート、第27図は調性距離を測定するフローチャ
ート、第28図はコード間の調性距離の定義を示す図であ
る。 1……CPU、2……ワークメモリ、3……入力装置、5
……メロディデータメモリ、6……プロダションルール
データメモリ、(R、T)……メロディの調を表わすデ
ータ、dst1……メロディ調とコード候補との調性距離の
測定値、dst2……前コードからの調性距離の測定値、CD
BAR……第BAR小節のメロディに対して決定されたコード
のデータ。
の全体構成図、第2図は実施例の全体動作を示すフロー
チャート、第3図はメロディとコードのデータ形式を示
す図、第4図はメロディデータメモリに記憶されるメロ
ディデータ例を示す図、第5図はメロディデータの読み
込みのフローチャート、第6図はプロダクションルール
データメモリに記憶されるプロダクションデータ例を示
す図、第7図はプロダションルールデータの読み込みの
フローチャート、第8図はメロディを分析して付加可能
なコードを判定するためのフローチャート、第9図は小
節の開始位置(Ps)と終了位置(pe)を算出するフロー
チャート、第10図はPs算出のフローチャート、第11図は
Pe算出のフローチャート、第12図は非和声音分析のフロ
ーチャート、第13図は和声音と非和声音とを判別するフ
ローチャート、第14図は非和声音の前後のメロディ状況
を表わす関数を算出するフローチャート、第15図は、第
16図、第17図、第18図、第19図、第20図、第21図、第22
図は各関数の算出の詳細なフローチャート、第23図はプ
ロダクションルールによる前向推論のフローチャート、
第24図は付加可能と判別されたコード候補の出現頻度を
算出するフローチャート、第25図はメロディの調を決定
するフローチャート、第26図はコード進行を決定するフ
ローチャート、第27図は調性距離を測定するフローチャ
ート、第28図はコード間の調性距離の定義を示す図であ
る。 1……CPU、2……ワークメモリ、3……入力装置、5
……メロディデータメモリ、6……プロダションルール
データメモリ、(R、T)……メロディの調を表わすデ
ータ、dst1……メロディ調とコード候補との調性距離の
測定値、dst2……前コードからの調性距離の測定値、CD
BAR……第BAR小節のメロディに対して決定されたコード
のデータ。
Claims (4)
- 【請求項1】与えられたメロディに対して自動的にコー
ド進行を付加する自動コード付加装置において、 上記メロディを分析して、個々のメロディ区間に対して
付加可能なコード候補を判別するメロディ分析手段と、 上記メロディの調と上記メロディ分析手段により個々の
メロディ区間に対して付加可能と判別された各コード候
補との調性の距離を測定する距離測定手段と、 上記メロディ分析手段により個々のメロディ区間に対し
て付加可能と判別されたコード候補のなかから、1メロ
ディ区間当り1つのコードを上記距離測定手段の測定結
果に従って選択するコード決定手段と、 を有することを特徴とする自動コード付加装置。 - 【請求項2】請求項1記載の自動コード付加装置におい
て、 上記メロディ分析手段により上記メロディに対して付加
可能と判別されたコード候補の全体の分布に基づいて、
上記メロディの調を判別し、その情報を上記距離測定手
段に与える調判別手段を更に具備することを特徴とする
自動コード付加装置。 - 【請求項3】請求項1記載の自動コード付加装置におい
て、 上記メロディの調と上記メロディの各区間に付加される
コードとの調性の距離を制限する第1パラメータと、上
記メロディの前後の区間における前コードと後コードと
の間の調性の距離を制限する第2パラメータとを入力す
る入力手段と、 上記メロディ分析手段により前のメロディ区間に対して
付加可能を判別された前コード候補と後のメロディ区間
に対して付加可能とされた後コード候補との間の調性の
距離を測定する第2距離測定手段と、 を更に具備し、 上記コード決定手段は、上記距離測定手段と上記第2距
離測定手段の測定結果のうちで、上記入力手段から入力
された第1パラメータと第2パラメータの指定する距離
条件に合うような測定結果を与えたコードを選択するこ
とを特徴とする自動コード付加装置。 - 【請求項4】与えられたメロディに対して自動的にコー
ド進行を付加する自動コード付加装置において、 上記メロディを分析して、個々のメロディ区間に対して
付加可能なコード候補を判別するメロディ分析手段と、 上記メロディ分析手段により前のメロディ区間に対して
付加可能を判別された前コード候補と後のメロディ区間
に対して付加可能とされた後コード候補との間の調性の
距離を測定する距離測定手段と、 上記メロディ分析手段により個々のメロディ区間に対し
て付加可能と判別されたコード候補のなかから、1メロ
ディ区間当り1つのコードを上記距離測定手段の測定結
果に従って選択するコード決定手段と、 を有することを特徴とする自動コード付加装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63125930A JPH087589B2 (ja) | 1988-05-25 | 1988-05-25 | 自動コード付加装置 |
| US07/335,213 US4951544A (en) | 1988-04-06 | 1989-04-06 | Apparatus for producing a chord progression available for a melody |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63125930A JPH087589B2 (ja) | 1988-05-25 | 1988-05-25 | 自動コード付加装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01296287A JPH01296287A (ja) | 1989-11-29 |
| JPH087589B2 true JPH087589B2 (ja) | 1996-01-29 |
Family
ID=14922476
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63125930A Expired - Fee Related JPH087589B2 (ja) | 1988-04-06 | 1988-05-25 | 自動コード付加装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH087589B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10062368B2 (en) | 2016-09-28 | 2018-08-28 | Casio Computer Co., Ltd. | Chord judging apparatus and chord judging method |
| US10410616B2 (en) | 2016-09-28 | 2019-09-10 | Casio Computer Co., Ltd. | Chord judging apparatus and chord judging method |
-
1988
- 1988-05-25 JP JP63125930A patent/JPH087589B2/ja not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10062368B2 (en) | 2016-09-28 | 2018-08-28 | Casio Computer Co., Ltd. | Chord judging apparatus and chord judging method |
| US10410616B2 (en) | 2016-09-28 | 2019-09-10 | Casio Computer Co., Ltd. | Chord judging apparatus and chord judging method |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01296287A (ja) | 1989-11-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1533786B1 (en) | Automatic musical composition classification device and method | |
| CN101916568B (zh) | 信息处理设备、信息处理方法 | |
| US4982643A (en) | Automatic composer | |
| JP5282548B2 (ja) | 情報処理装置、音素材の切り出し方法、及びプログラム | |
| US9460694B2 (en) | Automatic composition apparatus, automatic composition method and storage medium | |
| US9558726B2 (en) | Automatic composition apparatus, automatic composition method and storage medium | |
| JP3484986B2 (ja) | 自動作曲装置、自動作曲方法および記憶媒体 | |
| CA2740638A1 (en) | Method for analyzing a digital music audio signal | |
| US5285711A (en) | Method and apparatus for tuning musical instruments | |
| US5235126A (en) | Chord detecting device in an automatic accompaniment-playing apparatus | |
| JP3132099B2 (ja) | スケール判別装置 | |
| US5763802A (en) | Apparatus for chord analysis based on harmonic tone information derived from sound pattern and tone pitch relationships | |
| US4472992A (en) | Electronic musical instrument | |
| JPH087589B2 (ja) | 自動コード付加装置 | |
| JP2900753B2 (ja) | 自動伴奏装置 | |
| JP3211839B2 (ja) | 調性判定装置及び自動伴奏装置 | |
| JP2526830B2 (ja) | 自動和音付加装置 | |
| JP5272899B2 (ja) | 楽曲難易度算出装置および楽曲難易度算出プログラム | |
| JP2615720B2 (ja) | 自動作曲機 | |
| JP3088919B2 (ja) | 調判定音楽装置 | |
| JP2615722B2 (ja) | 自動作曲機 | |
| JP2958794B2 (ja) | メロディ分析機 | |
| JP2615721B2 (ja) | 自動作曲機 | |
| JPH05346781A (ja) | 調検出装置および自動編曲装置 | |
| JPH049893A (ja) | メロディ分析機 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |