JP3413844B2 - 演奏データの調検出装置 - Google Patents

演奏データの調検出装置

Info

Publication number
JP3413844B2
JP3413844B2 JP06686292A JP6686292A JP3413844B2 JP 3413844 B2 JP3413844 B2 JP 3413844B2 JP 06686292 A JP06686292 A JP 06686292A JP 6686292 A JP6686292 A JP 6686292A JP 3413844 B2 JP3413844 B2 JP 3413844B2
Authority
JP
Japan
Prior art keywords
key
detected
performance data
data
note name
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
Application number
JP06686292A
Other languages
English (en)
Other versions
JPH05273976A (ja
Inventor
栄一郎 青木
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP06686292A priority Critical patent/JP3413844B2/ja
Publication of JPH05273976A publication Critical patent/JPH05273976A/ja
Application granted granted Critical
Publication of JP3413844B2 publication Critical patent/JP3413844B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、自動編曲装置等と共に
用いて好適な調検出装置に係わり、特にメロディ等の演
奏データに含まれている音名情報に基づいて調を検出す
る演奏データの調検出装置に関する。 【0002】 【従来の技術】従来、楽曲の調を検出する方法として、
曲の冒頭や最終の和音から調を検出することが行われて
いたが、曲の冒頭はジャズ等では必ずしも調の主和音で
始まるとは限らず、また最終の和音の場合も、転調や移
調したままで曲が終了することがあり、正しい調が検出
できなかった。 【0003】また、曲の転調を検出する方法としては、
属7和音から主和音に変化する所謂ドミナントモーショ
ンを検出して転調を検出していたが、ドミナントモーシ
ョンが用いられている場合にしか転調が検出できないな
ど別途問題がある。 【0004】 【発明が解決しようとする課題】そこで、曲全体の和音
を調べて調や転調を検出することも考えられるが、和音
進行と調の関係を調べるなど検出に手間がかかるという
問題がある。また、任意のメロディに対して装飾音や副
旋律のメロディを自動作曲する技術が研究されている
が、このような場合にはむしろ和音は決められておら
ず、メロディだけから調や転調を検出することが必要と
なる。 【0005】本発明は、和音が決められていない場合に
もメロディ等の演奏データから簡単にかつ迅速に調を検
出することを課題とする。 【0006】 【課題を解決するための手段】上記の課題を解決するた
めになした本発明の請求項1の演奏データの調検出装置
は、音名情報を含む演奏データを記憶した演奏データ記
憶手段と、前記演奏データ記憶手段に記憶された演奏デ
ータを任意の区間に分割する分割手段とを含み、該分割
された区間ごとに該演奏データに基づいて調を検出する
演奏データの調検出装置において、該分割された区間に
含まれる演奏データの音名情報から所定の音程差を有す
る少なくとも2つ1組の音名を選択音名組として検出す
る選択音名組検出手段と、前記選択音名組検出手段によ
って検出された選択音名組に基づいて調の候補を選出す
る候補選出手段と、前記選択音名組検出手段によって検
出された音名以外の音名を特定音名として前記演奏デー
タ記憶手段に記憶された演奏データから検出する特定音
名検出手段と、前記特定音名検出手段によって検出され
た特定音名に基づいて、前記候補選出手段で選出された
候補の調の絞り込みを行う候補絞り込み手段と、前記候
補絞り込み手段によって絞り込まれた調を前記演奏デー
タの進行に沿って記憶する調記憶手段と、を備えたこと
を特徴とする。 【0007】 【作用】請求項1の演奏データの調検出装置における選
択音名組検出手段は、分割手段で分割された区間に含ま
れる演奏データの音名情報から所定の音程差を有する音
名を選択音名組として検出し、候補選出手段は前記選択
音名組に基づいて調の候補を挙げる。さらに特定音名検
出手段が前記選択音名組以外の音名を検出し、その検出
された特定音名に基づいて候補絞り込み手段は候補を絞
り込む。そして、調記憶手段は前記候補絞り込み手段に
よって絞り込まれた調を前記演奏データの進行に沿って
記憶する。こうして調検出装置はより正確に絞り込まれ
た候補の中から調を検出する。 【0008】御の一例としては、演奏データを所定の
検査区間に区切って演奏データの先頭から各検査区間単
位で音名情報を読み出し、各検査区間毎に現在までに読
み出された音名情報について調検出手段で調が検出され
ると、この検出された調を調記憶手段に記憶する。 【0009】請求項1における1組の選択音名組あるい
は請求項4の第1の特定音高情報としては、例えば、全
音階(diatonic scale) 中で、6半音の音程差となる音
名をもつ2つの音とすることができる。また、請求項1
における特定音名あるいは請求項5の第2の特定音高情
報としては、上記1組の選択音名組あるいは第1の特定
音高情報以外のいずれかの音名をもつ音とすることがで
きる。 【0010】平行調を除いて考えれば、上記選択音名組
が1組決まればそれに対応する調が2種類に限定され
る。さらに選択音以外の音の音名を調べればそのうちの
どちらかが判る。なお、平行調については、前の調との
関係で近親調等に決定するなど、優先順位で決定するこ
とができる。 【0011】 【実施例】図2は本発明実施例の演奏データの調検出装
置のブロック図であり、CPU1は、プログラムメモリ
2に記憶されている制御プログラムに基づいてワーキン
グメモリ3の各種レジスタやフラグを使用しながら制御
を行う。 【0012】メロディメモリ4と調性メモリ5はRAM
で構成されており、例えばMIDI情報により外部から
インターフェース6を介して入力される演奏データがメ
ロディメモリ4に記憶され、この演奏データから検出さ
れた調が調性メモリ5に記憶される。 【0013】優先テーブルメモリ7はROMで構成され
ており、後述説明するように可能性のある複数の調の候
補の中から適正な調を選択するために参照される優先テ
ーブルが記憶されている。 【0014】図3はメロディメモリの記録フォーマット
を示す図である。この実施例の演奏データは、キーオン
またはキーオフのタイミングを曲の先頭からのクロック
数によって表すタイミングデータ、キーオンまたはキー
オフを示すイベントデータ、キーオンまたはキーオフの
対象となる音高を示すキーコード、および、曲の終了を
示すエンドデータで構成されている。なお、演奏データ
の1小節は96クロックに相当する。 【0015】そして、これらのデータは、タイミングデ
ータ、イベントデータおよびキーコードの順で各イベン
ト毎にセットにされるとともに曲の最後のキーコードの
後にはエンドデータが記憶され、各データは、メロディ
メモリ4において曲の先頭側から順にMEL(0),M
EL(1),MEL(2),…のように変数I(I=
0,1,2,…)で識別されるレジスタに記憶される。
そして、タイミングデータMEL(P)(P=0,3,
6,…)を検索することにより、任意の検査区間におけ
るメロディのキーコードが検出される。 【0016】この実施例では演奏データを2分の1小節
(48クロック)毎の検査区間に区切り、各検査区間毎
にキーコードを読み出し、可能な限り少ないキーコード
で調性を検出して、検出した調性を調性メモリ5に記憶
する。このとき、調検出の条件を最初に満足したキーコ
ードが含まれている検査区間の最初のタイミングをその
調の起点として記憶する。 【0017】図4は調性メモリの記録フォーマットを示
す図であり、検出された調は、その調の起点となるタイ
ミングデータ、その調の主音コードおよびメジャー/マ
イナーを示すモードコードをセットにして記憶され、曲
の最後にはエンドデータが記憶される。なお、各データ
はレジスタKTN(0),KTN(1),KTN
(2),…のように変数I(I=0,1,2,…)で識
別されるレジスタに記憶される。 【0018】ここで、この実施例における調の検出方法
について説明する。図1に「○」および「●」で示した
ように、Cメジャー調の全音階(diatonic Cmajor scal
e)は音名C,D,E,F,G,A,Bの各音で構成され
ている。ここで、「●」に着目すると、4度音Fから7
度音Bまでは6半音の音程差となっており、また、Fか
ら1オクターブ下の7度音Bまでも6半音の音程差とな
っている。逆に増4度音程となる音名の組み合わせは他
にはないことも判る。 【0019】そうすると、いま、メジャー調について考
えると、メロディ中に6半音の音程差を有する2つの音
a,bが検出されれば、そのメロディの調は、一方の音
aが4度音で他方の音bが7度音となる調と、一方の音
aが7度音で他方の音bが4度音となる調との二種類の
調に限定されることが判る。例えば図1に示したよう
に、FとBの音が検出されれば、そのメロディは、Cメ
ジャー調またはF♯メジャー調の何れかの調になる。 【0020】また、上記のように4度音と7度音が逆に
なるような二種類の調の音階においては、Cメジャー調
のC,D,E,G,A,とF♯メジャー調のF♯,G
♯,A♯,C♯,D♯(図の「○」の音名)のように、
4度音と7度音以外には共通の音が存在しない。したが
って、メロディ中にこれらの共通音とならない音(特定
音名)が一つでも検出されれば、上記二種類の調のうち
何れの調であるかが判定できる。 【0021】しかし、Cメジャー調に対するAマイナー
調やF♯メジャー調に対するD♯マイナー調のように、
平行調の関係にある調は音階が同じ音で構成されている
ので、4度音と7度音だけからはこれらの調が区別でき
ず、また、メロディによってはその調の音階にない音を
用いている場合もあるので、複数調の候補が考えられ
る。 【0022】そこで、これらの複数調の候補から何れの
調に決定するかは、優先テーブルメモリ7の優先テーブ
ルを参照して、初期設定された調または前に検出された
調と関連しやすい調を選択する。 【0023】図5は優先テーブルの一例を示す図であ
り、この優先テーブルは、前に検出された調として参照
される任意の調(I,Im)に対してその近親調を優先
順位を付けて対応つけたものである。なお、同図では、
各調の主音を任意の調(メジャー/マイナー)の主音に
対する度数(ローマ数字および♭記号)で代表させて図
示してある。また、優先順位の高いものほど小さな数字
で表している。 【0024】例えば、Cメジャー調についてはF,G,
Am,Dm,Em,Cmの順で優先順位0,1,2,
3,4,5が付けられており、前に検出された調がCメ
ジャー調であれば、現在の候補調のうちF,G,Am,
Dm,Em,Cmにある調で優先順位の最も高い調を検
出調とする。 【0025】この実施例では、図6に示したように、1
2ビットの各ビットを12の音名(C,C♯,D,D
♯,…,B)および音名コード(0,1,2,3,…,
11)に対応させた特徴音名記憶レジスタCAR1,C
AR2,CAR3を備えている。 【0026】各レジスタCAR1,CAR2,CAR3
の内容はC調またはF♯調に対応して設定されており、
レジスタCAR1は4度音および7度音に対応する音名
F,Bのビットが“1”でその他のビットが“0”に、
レジスタCAR2はC調の特定音のビットが“1”でそ
の他のビットが“0”に、さらに、レジスタCAR3は
F♯調の特定音のビットが“1”でその他のビットが
“0”にそれぞれ設定されている。 【0027】そして、演奏データから検出したキーコー
ドの情報を、各ビットを音名および音名コードに対応さ
せた12ビットの検出音名レジスタXを用いてビット
“1”によって記憶し、この検出音名レジスタXとレジ
スタCAR1,CAR2,CAR3とのマッチング(ビ
ット単位の論理積演算)により、4度音と7度音、およ
び特定音を検出するようにしている。 【0028】なお、このマッチングの処理は検出音名レ
ジスタXの内容をビット単位で図の矢印のように左に循
環シフトしながら行い、このシフト回数により、検出さ
れた4度音と7度音、および特定音についての調の主音
を検出する。 【0029】図7は制御プログラムのメインルーチン、
図8〜図10はサブルーチンを示すフローチャートで
り、各フローチャートに基づいて動作を説明する。な
お、前記のようにメロディメモリ4には演奏データが記
憶されるが、この演奏データの入力処理については詳細
な説明を省略し、以下の説明ではメロディメモリ4に演
奏データが記憶されているものとする。 【0030】また、以下の説明および各フローチャート
において、制御に用いられる各レジスタおよびフラグを
下記のラベルで表記し、各レジスタおよびフラグとそれ
らの内容は特に断らない限り同一のラベルで表す。 【0031】MEL(i):演奏データ KTN(i):検出した調性のデータを記憶するレジス
タ N:検査区間を指すポインタレジスタ P:演奏データのタイミングデータを指すポインタレジ
スタ OP:調が検出された検査区間より後の検査区間におけ
る最初のタイミングデータを指すポインタレジスタ K:調性のデータを指すポインタレジスタ T:調が検出された区間の次の検査区間を指すポインタ
レジスタ 【0032】KC(i):キーオンになっているキーコ
ードのリストをとるレジスタ M:キーコードのリストの個数をカウントするレジスタ EVKC:キーオンイベントのキーコードを記憶するレ
ジスタ NTC:現在までのキーオンの音を12の音名に対応す
る12ビットで一時記憶する12ビットのレジスタ X:レジスタNTCの内容を循環シフトするための検出
音名レジスタ J:検出音名レジスタXのシフト回数をカウントするレ
ジスタ MSK:マッチング結果を格納するレジスタ 【0033】ONTC:前回までのキーオンの音を一時
記憶する12ビットのレジスタ OTN:初期値および前に検出された調の主音コードを
記憶するレジスタ OMD:初期値および前に検出された調のモードコード
を記憶するレジスタ FLG:マッチングの成否を示す内部フラグ 【0034】図7のメインルーチンの処理を開始する
と、ステップS1で各レジスタN,P,K,Tを“0”
にリセットし、ステップS2でレジスタNTCをクリア
し、ステップS3でレジスタOTNとレジスタOMDに
初期値としてCメジャー調の“C”コード(主音コー
ド)およびメジャーコード(モードコード)をそれぞれ
格納する。そして、ステップS4で図8のメロディ音名
検出処理を行い、ステップS5で図9の特徴との比較処
理を行う。 【0035】図8のメロディ音名検出処理では、ステッ
プS201の処理によりポインタPは0,3,6,…の
ように0から始まる3の倍数になるので、MEL(P)
はタイミングデータまたはエンドデータ、MEL(P+
1)はイベントデータ、MEL(P+2)はキーコード
となる。 【0036】そこで、ステップS21で、MEL(P)
がエンドデータであるか否かを判定し、エンドデータで
あればメインルーチンに復帰し、エンドデータでなけれ
ばMEL(P)はタイミングデータであるのでステップ
S22に進み、このタイミングデータMEL(P)がポ
インタNで示される現在の検査区間内のタイミングであ
るか否かを判定する。 【0037】すなわち、Nは0から始まる検査区間のポ
インタで、1つの検査区間は48クロックであるので、
MEL(P)<(N+1)×48であればタイミングデ
ータMEL(P)は現在の検査区間内のタイミングであ
り、MEL(P)<(N+1)×48でなければタイミ
ングデータMEL(P)は次の検査区間のタイミングで
ある。 【0038】このステップS22の判定により、タイミ
ングデータMEL(P)が現在の検査区間内である間
は、ステップS23以降でその検査区間内のキーオンの
キーコードを記憶する処理を行い、タイミングデータM
EL(P)が次の検査区間になるとメインルーチンに復
帰する。 【0039】ステップS23では、キーコードMEL
(P+2)をレジスタEVKCに格納し、ステップS2
4でイベントデータMEL(P+1)がオンイベントデ
ータであるか否かを判定し、オンイベントデータであれ
ばステップS25以降の処理を行い、オンイベントデー
タでなければオフイベントデータであるのでステップS
28以降の処理を行う。 【0040】ステップS25ではキーコードEVKCを
キーコードのリストKC(M)に記憶し、ステップS2
6でリストの個数Mを1増加させる。そして、ステップ
S27で、キーコードEVKCに対応するNTCのビッ
トを“1”にセットし、ステップS201でポインタP
を3増加してステップS21に戻る。 【0041】一方、ステップS28では、イベントデー
タMEL(P+1)がオフイベントデータであるので、
このオフイベントに対応するキーコードEVKCをキー
コードのリストKC(0)〜KC(M−1)から削除し
て、削除データ以降を前にシフトしてリストの配列を詰
め、ステップS29でリストの個数Mを1減少させてス
テップS201に進む。 【0042】以上のメロディ音名検出処理により、オン
イベントが検査区間の最後まで継続しているキーコード
のリストがKC(0)〜KC(M−1)として得られる
とともに、検査区間内で少なくとも一度はオンイベント
となった全てのキーコードがレジスタNTCの“1”の
ビットによって表現される。 【0043】次に、図9の特徴との比較処理では、ステ
ップS31でNTCをレジスタXに記憶し、ステップS
32でレジスタJとフラグFLGを“0”にリセット
し、ステップS33に進む。 【0044】ステップS33以降の処理は、ステップS
305によるレジスタJの1増加とステップS306の
判定により、各音名に対応して12回繰り返す。先ずス
テップS33で、レジスタCAR1とレジスタXをビッ
ト毎に論理積をとってその結果をレジスタMSKに格納
し、ステップS34でMSK=CAR1であるか否かを
判定し、MSK=CAR1でなければ4度音と7度音の
少なくとも一方が検出されないのでステップS304に
進み、MSK=CAR1であれば4度音と7度音が共に
検出されたのでステップS35に進む。 【0045】ステップS35では、レジスタCAR2と
レジスタXをビット毎に論理積をとってその結果をレジ
スタMSKに格納し、ステップS36でMSK>0であ
るか否かを判定し、MSK>0でなければ、Jを主音コ
ードとするメジャー調(またはその平行調)の特定音が
検出されないのでステップS39に進み、MSK>0で
あれば、その特定音が検出されたのでステップS37に
進む。 【0046】ステップS37では、{J,メジャー}と
{(J+9) mod 12,マイナー}を候補調のリ
ストに加え、ステップS38でフラグFLGを“1”に
セットしてステップS39に進む。なお、記号{x,
y}は、主音コードがxでモードコードがyである調を
示している。 【0047】ステップS39では、レジスタCAR3と
レジスタXをビット毎に論理積をとってその結果をレジ
スタMSKに格納し、ステップS301でMSK>0で
あるか否かを判定し、MSK>0でなければ、(J+
6) mod 12を主音コードとするメジャー調(ま
たはその平行調)の特定音が検出されないのでステップ
S304に進み、MSK>0であれば、その特定音が検
出されたのでステップS302に進む。 【0048】ステップS302では、{(J+6) m
od 12,メジャー}と{(J+3) mod 1
2,マイナー}を候補調のリストに加え、ステップS3
03でフラグFLGを“1”にセットしてステップS3
04に進む。 【0049】そして、ステップS304でレジスタXの
各ビットを左に循環シフトし、ステップS305でレジ
スタJを1増加させ、ステップS306でJ=12であ
るか否かを判定して、J=12でなければステップS3
3以降を繰り返し、J=12であれば全ての主音コード
についての処理が終了したのでメインルーチンに復帰す
る。 【0050】以上の特徴との比較処理により、調の候補
が得られればフラグFLGが“1”にセットされ、メイ
ンルーチンのステップS6でこのフラグFLGの判定が
行われる。 【0051】メインルーチンにおいて、ステップS6の
判定でFLG=0であれば、現在の検査区間において候
補調が検出されなかったのでステップS7以降の処理を
行い、FLG=0であれば、現在の検査区間で候補調が
検出されたのでステップS11以降の処理を行う。 【0052】ステップS7では、現在の検査区間が演奏
データの最終区間であるか否かを判定し、最終区間でな
ければステップS17でポインタNを1増加させて次の
検査区間についてステップS4以降の処理を繰り返し、
最終区間であればステップS8以降の処理を行う。 【0053】ステップS8では、調性メモリKTN
(K)のポインタKを判定し、K=0であれば最終区間
まで一度も調が検出されなかったことになるので、ステ
ップS9で表示等により調検出失敗の処理を行い、K=
0でなければ最終区間までに調が検出されたことになる
ので、ステップS10で調性メモリのレジスタKTN
(K)にエンドデータを記憶して処理を終了する。 【0054】一方、検査区間で候補調が得られた場合、
すなわち、ステップS11では、直前に検出された調
(OTN,OMD)により優先テーブルを読み出して候
補調の中で最も優先順位の高い調を検索し、ステップS
12で優先テーブル内に候補調があるか否かを判定し、
候補調がなければステップS7以降の処理を行う。 【0055】ステップS12で候補調があれば、ステッ
プS13で、キーコードのリストKC(0)〜KC(M
−1)の各キーコードに対応するNTCのビットを
“1”にセットして他のビットは“0”にリセットし、
ステップS14で図10の調記憶処理を行う。 【0056】なお、ステップS13の処理により、現在
の検査区間の最後までオンイベントが継続しているキー
コードだけがレジスタNTCに記憶される。また、後述
説明するように調記憶処理では検出された調の主音コー
ドとモードコードがレジスタKTN(K+1),KTN
(K+2)にそれぞれ記憶される。 【0057】ステップS14の調記憶処理が終了する
と、ステップS15でNTCをレジスタONTCに記憶
するとともにポインタPをポインタOPに記憶し、ステ
ップS16で、検出された調の主音コードKTN(K+
1)とモードコードKTN(K+2)をそれぞれレジス
タOTNおよびレジスタOMDに記憶し、ステップS1
7でポインタNを1増加させてステップS4に戻る。 【0058】なお、ステップS15の時点では、ポイン
タPは、メロディ音名検出処理(図8)のステップS2
01によって3増加されているので、調が検出された検
査区間以降の検査区間における最初のイベントのタイミ
ングデータを指しており、これがポインタOPに記憶さ
れる。 【0059】図10の調記憶処理では、先ず、ステップ
S41でK=0であるか否かを判定し、K=0であれば
初めて調が検出された場合であるので、ステップS40
2で、タイミングデータ“0”をKTN(K)に格納
し、検出された調の主音コードをKTN(K+1)に格
納し、さらに検出された調のモードコードをKTN(K
+2)に格納して、ステップS403に進む。 【0060】一方、ステップS41でK=0でなけれ
ば、前に調が検出されていることになるので、ステップ
S42以降で、現在検出された調の起点を示すタイミン
グデータを求めてそのタイミングデータと主音コードお
よびモードコードを記憶する処理を行う。 【0061】先ず、ステップS42でレジスタTの値を
ポインタIに記憶し、ステップS43でCAR1をレジ
スタCAR1' に書き込み、ステップS44で、レジス
タCAR1' を検出された調の主音コードに対応する回
数だけ右に循環シフトしてステップS45に進む。 【0062】ここで、レジスタTの値は、前回この調記
憶処理を行ったときにステップS404でNより1大き
な値に設定され、また、このときのNは前回調が検出さ
れた区間すなわち検出調が確定した区間を指していたも
のである。したがって、ステップS42によりポインタ
Iは、前回調が検出された検査区間の次の検査区間を指
している。 【0063】また、ポインタOPは、前記のようにメイ
ンルーチンのステップS12により、前回調が検出され
た検査区間より後の検査区間における最初のイベントの
タイミングデータを指している。 【0064】ステップS45では、タイミングデータM
EL(OP)がポインタIで示される検査区間(前回調
が検出された区間の次の区間)のタイミングであるか否
かを判定し、タイミングデータMEL(OP)がその検
査区間内であればステップS46以降で4度音と7度音
の検出処理を行う。 【0065】また、タイミングデータMEL(OP)が
ポインタIで示される検査区間内でなければステップS
405でポインタIを1増加させてステップS45以降
の処理を繰り返す。 【0066】ステップS46では、イベントデータME
L(OP+1)がオンイベントデータであるか否かを判
定し、オンイベントデータであればステップS47以降
の処理を行い、オンイベントデータでなければオフイベ
ントデータであるのでステップS405に進む。 【0067】ステップS47ではキーコードMEL(O
P+2)に対応するONTCのビットを“1”にセット
し、ステップS48でONTCとCAR1' をビット毎
に論理積をとってその結果をレジスタMSKに記憶す
る。 【0068】ここで、CAR1' は、ステップS44の
循環シフトにより、検出された調における4度音と7度
音に対応するビットが“1”に設定されている。そこで
、ステップS49でMSK>0であるか否かを判定
し、MSK>0でなければ、4度音も7度音も何れも検
出されないのでステップS405に進み、MSK>0で
あれば、4度音と7度音の少なくとも一方が検出された
のでステップS401に進む。 【0069】ステップS401では、現在のポインタI
によって示されるタイミングI×48を検出された調の
起点を示すデータとしてKTN(K)に格納し、検出さ
れた調の主音コードをKTN(K+1)に格納し、さら
に、検出された調のモードコードをKTN(K+2)に
格納する。 【0070】このようにステップS401で調性の記憶
が終了すると、ステップS403でポインタKを3増加
させ、ステップS404でポインタNに1加算した値を
レジスタTに記憶し、メインルーチンに復帰する。 【0071】図11は調記憶処理の一例を説明する図で
あり、例えばN=3の検査区間で第1の調αが検出され
たとすると、調記憶処理のステップS41においてはK
=0であるので、ステップS402で曲の先頭のタイミ
ング“0”がKTN(K)に記憶され、この第1の調α
は曲の先頭を起点としいることが記憶される。また、ス
テップS402でK=3、ステップS404でT=N+
1=4となる。 【0072】次に、N=8の検査区間で第2の調βが検
出されたとすると、調記憶処理のステップS42により
I=4(前に調が検出された検査区間の次の検査区間の
番号)となり、ステップS45〜ステップS49の処理
がI=4,5,…の順に行われる。 【0073】そして、例えばI=6の検査区間で最初に
4度音(または7度音)が検出されたとするとステップ
S401により、このI=6の検査区間の最初のタイミ
ング(6×48)がタイミングデータKTN(3)に記
憶される。 【0074】このように、調記憶処理により、調検出に
用いられた4度音または7度音のうち先に出現した音を
含む検査区間の先頭が調の起点として記憶される。例え
ば図11の例では、曲の先頭から3小節目までが第1の
調αで、4小節目以降が第2の調βとして記憶される。
このようにして、転調の位置が検出される。 【0075】図9の特徴との比較処理によれば、4度音
と7度音の両方が検出されて特定音の一つでも検出され
ると直ぐに候補調を得ることができ、この候補調から演
奏データの調を検出するように動作するので、少ない音
で迅速な検出動作を行うことができる。 【0076】なお、本実施例では、全音階の場合を例に
したが、他の音階を用いる場合にもその音階に固有な選
択音名組と特定音があるので、それらの音程差等に従っ
て処理をすればよいことはいうまでもない。 【0077】 【発明の効果】以上説明したように本発明の演奏データ
の調検出装置によれば、演奏データを複数の区間に分割
して区間ごとに4度と7度のように所定の音程差をもつ
音名とそれ以外の特定の音名とから候補を絞りつつ調を
検出するようにしたので、和音が決められていない場合
にもメロディ等の演奏データから簡単にかつ迅速に調を
検出することができるとともに、調の変わる位置(転調
位置)なども検出でき、演奏データ全体における調の進
行を検出することができる。
【図面の簡単な説明】 【図1】本発明実施例における調検出方法を説明する図
である。 【図2】本発明実施例の演奏データの調検出装置のブロ
ック図である。 【図3】実施例における演奏データのフォーマットを示
す図である。 【図4】実施例における調性メモリのフォーマットを示
す図である。 【図5】実施例における優先テーブルを示す図である。 【図6】実施例における特徴音名記憶レジスタを示す図
である。 【図7】実施例における制御のメインルーチンのフロー
チャートである。 【図8】実施例におけるメロディ音名検出処理のフロー
チャートである。 【図9】実施例における特徴との比較処理のフローチャ
ートである。 【図10】実施例における調記憶処理のフローチャート
である。 【図11】実施例における調記憶処理の一例を説明する
図である。 【符号の説明】 1…CPU、2…プログラムメモリ、3…ワーキングメ
モリ、4…メロディメモリ、5…調性メモリ、7…優先
テーブルメモリ。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/12

Claims (1)

  1. (57)【特許請求の範囲】 【請求項1】 音名情報を含む演奏データを記憶した演
    奏データ記憶手段と、前記演奏データ記憶手段に記憶さ
    れた演奏データを任意の区間に分割する分割手段とを含
    み、該分割された区間ごとに該演奏データに基づいて調
    を検出する演奏データの調検出装置において、該分割された区間に含まれる 演奏データの音名情報から
    所定の音程差を有する少なくとも2つ1組の音名を選択
    音名組として検出する選択音名組検出手段と、 前記選択音名組検出手段によって検出された選択音名組
    に基づいて調の候補を選出する候補選出手段と、 前記選択音名組検出手段によって検出された音名以外の
    音名を特定音名として前記演奏データ記憶手段に記憶さ
    れた演奏データから検出する特定音名検出手段と、 前記特定音名検出手段によって検出された特定音名に基
    づいて、前記候補選出手段で選出された候補の調の絞り
    込みを行う候補絞り込み手段と、前記候補絞り込み手段によって絞り込まれた調を前記演
    奏データの進行に沿って記憶する調記憶手段と、 を備えたことを特徴とする演奏データの調検出装置。
JP06686292A 1992-03-25 1992-03-25 演奏データの調検出装置 Expired - Fee Related JP3413844B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06686292A JP3413844B2 (ja) 1992-03-25 1992-03-25 演奏データの調検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06686292A JP3413844B2 (ja) 1992-03-25 1992-03-25 演奏データの調検出装置

Publications (2)

Publication Number Publication Date
JPH05273976A JPH05273976A (ja) 1993-10-22
JP3413844B2 true JP3413844B2 (ja) 2003-06-09

Family

ID=13328094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06686292A Expired - Fee Related JP3413844B2 (ja) 1992-03-25 1992-03-25 演奏データの調検出装置

Country Status (1)

Country Link
JP (1) JP3413844B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3750547B2 (ja) * 2001-03-14 2006-03-01 ヤマハ株式会社 フレーズ分析装置及びフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4581699B2 (ja) * 2005-01-21 2010-11-17 日本ビクター株式会社 音程認識装置およびこれを利用した音声変換装置
JP5293710B2 (ja) 2010-09-27 2013-09-18 カシオ計算機株式会社 調判定装置および調判定プログラム
JP5909967B2 (ja) * 2011-09-30 2016-04-27 カシオ計算機株式会社 調判定装置、調判定方法及び調判定プログラム
JP7176114B2 (ja) * 2019-06-17 2022-11-21 AlphaTheta株式会社 楽曲解析装置、プログラムおよび楽曲解析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石桁真礼生、外5名,楽典 理論と実習,日本,音楽之友社,1965年 4月10日,第81頁〜第83頁、第119頁〜第131頁

Also Published As

Publication number Publication date
JPH05273976A (ja) 1993-10-22

Similar Documents

Publication Publication Date Title
JP3704980B2 (ja) 自動作曲装置と記録媒体
US4704933A (en) Apparatus for and method of producing automatic music accompaniment from stored accompaniment segments in an electronic musical instrument
JP2000231381A (ja) メロディ生成装置及びリズム生成装置と記録媒体
JP3413844B2 (ja) 演奏データの調検出装置
JPH07219536A (ja) 自動編曲装置
US5009145A (en) Automatic performance apparatus having automatic synchronizing function
US6486390B2 (en) Apparatus and method for creating melody data having forward-syncopated rhythm pattern
JP3196604B2 (ja) 和音分析装置
US4889026A (en) Sequencer unit of electronic musical instrument
US5478967A (en) Automatic performing system for repeating and performing an accompaniment pattern
US5491298A (en) Automatic accompaniment apparatus determining an inversion type chord based on a reference part sound
JP3013648B2 (ja) 自動編曲装置
JP2522337B2 (ja) 自動演奏装置
JP3278886B2 (ja) 調検出装置
US5824932A (en) Automatic performing apparatus with sequence data modification
JP3591444B2 (ja) 演奏データ分析装置
JP3216529B2 (ja) 演奏データ分析装置および演奏データ分析方法
JPH05346781A (ja) 調検出装置および自動編曲装置
JP2856025B2 (ja) 自動伴奏装置
JP3413842B2 (ja) 自動伴奏装置
JP3807333B2 (ja) メロディ検索装置およびメロディ検索プログラム
JP2536525B2 (ja) 電子楽器のコ−ドシ−ケンサ
JP2861709B2 (ja) 自動伴奏装置
JPH05188961A (ja) 自動伴奏装置
JP2674331B2 (ja) 自動伴奏装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030304

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

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees