JPH05273976A - 演奏データの調検出装置 - Google Patents
演奏データの調検出装置Info
- Publication number
- JPH05273976A JPH05273976A JP4066862A JP6686292A JPH05273976A JP H05273976 A JPH05273976 A JP H05273976A JP 4066862 A JP4066862 A JP 4066862A JP 6686292 A JP6686292 A JP 6686292A JP H05273976 A JPH05273976 A JP H05273976A
- Authority
- JP
- Japan
- Prior art keywords
- key
- detected
- note name
- performance data
- register
- 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
Links
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】
【目的】メロディ等の演奏データから簡単な構成で迅速
に調を検出する。 【構成】メロディを所定区間に区切ってキーオンの音を
読み出す。Cメジャーの音階のFとBのようにメジャー
全音階の4度音と7度音の両方の選択音を検出してメロ
ディの調を2種類のメジャー調とそれぞれの平行調に限
定する。限定した調の音階で選択音以外の音によって候
補調をさらに限定する。候補調のうち先に検出された調
または初期設定した調との関連のある調を優先テーブル
から選択して調を決定する。決定した調を、最初に選択
音が検出された区間の先頭を示すタイミングデータとと
もに記憶し、そこを転調位置とする。
に調を検出する。 【構成】メロディを所定区間に区切ってキーオンの音を
読み出す。Cメジャーの音階のFとBのようにメジャー
全音階の4度音と7度音の両方の選択音を検出してメロ
ディの調を2種類のメジャー調とそれぞれの平行調に限
定する。限定した調の音階で選択音以外の音によって候
補調をさらに限定する。候補調のうち先に検出された調
または初期設定した調との関連のある調を優先テーブル
から選択して調を決定する。決定した調を、最初に選択
音が検出された区間の先頭を示すタイミングデータとと
もに記憶し、そこを転調位置とする。
Description
【0001】
【産業上の利用分野】本発明は、自動編曲装置等と共に
用いて好適な調検出装置に係わり、特にメロディ等の演
奏データに含まれている音名情報に基づいて調を検出す
る演奏データの調検出装置に関する。
用いて好適な調検出装置に係わり、特にメロディ等の演
奏データに含まれている音名情報に基づいて調を検出す
る演奏データの調検出装置に関する。
【0002】
【従来の技術】従来、楽曲の調を検出する方法として、
曲の冒頭や最終の和音から調を検出することが行われて
いたが、曲の冒頭はジャズ等では必ずしも調の主和音で
始まるとは限らず、また最終の和音の場合も、転調や移
調したままで曲が終了することがあり、正しい調が検出
できなかった。
曲の冒頭や最終の和音から調を検出することが行われて
いたが、曲の冒頭はジャズ等では必ずしも調の主和音で
始まるとは限らず、また最終の和音の場合も、転調や移
調したままで曲が終了することがあり、正しい調が検出
できなかった。
【0003】また、曲の転調を検出する方法としては、
属7和音から主和音に変化する所謂ドミナントモーショ
ンを検出して転調を検出していたが、ドミナントモーシ
ョンが用いられている場合にしか転調が検出できないな
ど別途問題がある。
属7和音から主和音に変化する所謂ドミナントモーショ
ンを検出して転調を検出していたが、ドミナントモーシ
ョンが用いられている場合にしか転調が検出できないな
ど別途問題がある。
【0004】
【発明が解決しようとする課題】そこで、曲全体の和音
を調べて調や転調を検出することも考えられるが、和音
進行と調の関係を調べるなど検出に手間がかかるという
問題がある。また、任意のメロディに対して装飾音や副
旋律のメロディを自動作曲する技術が研究されている
が、このような場合にはむしろ和音は決められておら
ず、メロディだけから調や転調を検出することが必要と
なる。
を調べて調や転調を検出することも考えられるが、和音
進行と調の関係を調べるなど検出に手間がかかるという
問題がある。また、任意のメロディに対して装飾音や副
旋律のメロディを自動作曲する技術が研究されている
が、このような場合にはむしろ和音は決められておら
ず、メロディだけから調や転調を検出することが必要と
なる。
【0005】本発明は、和音が決められていない場合に
もメロディ等の演奏データから簡単にかつ迅速に調を検
出することを課題とする。
もメロディ等の演奏データから簡単にかつ迅速に調を検
出することを課題とする。
【0006】
【課題を解決するための手段】上記の課題を解決するた
めになした本発明の演奏データの調検出装置は、音名情
報を含む演奏データを記憶した演奏データ記憶手段を含
み、該演奏データを基に調を検出する演奏データの調検
出装置において、前記記憶手段に記憶された演奏データ
の音名情報から所定の音程差を有する少なくとも2つ1
組の音名を選択音名組として検出する選択音名組検出手
段と、前記選択音名組検出手段によって検出された選択
音名組に基づいて調の候補を選出する候補選出手段と、
前記選択音名組検出手段によって検出された音名以外の
音名を特定音名として前記演奏データ記憶手段に記憶さ
れた演奏データから検出する特定音名検出手段と、前記
特定音名検出手段によって検出された特定音名に基づい
て、前記候補選出手段で選出された候補の調の絞り込み
を行う候補絞り込み手段と、を備えたことを特徴とす
る。
めになした本発明の演奏データの調検出装置は、音名情
報を含む演奏データを記憶した演奏データ記憶手段を含
み、該演奏データを基に調を検出する演奏データの調検
出装置において、前記記憶手段に記憶された演奏データ
の音名情報から所定の音程差を有する少なくとも2つ1
組の音名を選択音名組として検出する選択音名組検出手
段と、前記選択音名組検出手段によって検出された選択
音名組に基づいて調の候補を選出する候補選出手段と、
前記選択音名組検出手段によって検出された音名以外の
音名を特定音名として前記演奏データ記憶手段に記憶さ
れた演奏データから検出する特定音名検出手段と、前記
特定音名検出手段によって検出された特定音名に基づい
て、前記候補選出手段で選出された候補の調の絞り込み
を行う候補絞り込み手段と、を備えたことを特徴とす
る。
【0007】
【作用】本発明の演奏データの調検出装置における選択
音名組検出手段は、所定の音程差を有する音名を選択音
名組として検出し、候補選出手段は前記選択音名組に基
づいて調の候補を挙げる。さらに特定音名検出手段が前
記選択音名組以外の音名を検出し、その検出された特定
音名に基づいて候補絞り込み手段は候補を絞り込む。こ
うして調検出装置はより正確に絞り込まれた候補の中か
ら調を検出する。
音名組検出手段は、所定の音程差を有する音名を選択音
名組として検出し、候補選出手段は前記選択音名組に基
づいて調の候補を挙げる。さらに特定音名検出手段が前
記選択音名組以外の音名を検出し、その検出された特定
音名に基づいて候補絞り込み手段は候補を絞り込む。こ
うして調検出装置はより正確に絞り込まれた候補の中か
ら調を検出する。
【0008】制御手段の一例としては、演奏データを所
定の検査区間に区切って演奏データの先頭から各検査区
間単位で音名情報を読み出し、各検査区間毎に現在まで
に読み出された音名情報について調検出手段で調が検出
されると、この検出された調を調記憶手段に記憶する。
定の検査区間に区切って演奏データの先頭から各検査区
間単位で音名情報を読み出し、各検査区間毎に現在まで
に読み出された音名情報について調検出手段で調が検出
されると、この検出された調を調記憶手段に記憶する。
【0009】調検出手段における1組の選択音名組と特
定音名としては次のようなものがある。例えば、全音階
(diatonic scale) 中で、6半音の音程差となる音名を
もつ2つの音を1組の選択音名組とすることができ、そ
の選択音名以外のいずれかの音名をもつ音を特定音とす
ることができる。
定音名としては次のようなものがある。例えば、全音階
(diatonic scale) 中で、6半音の音程差となる音名を
もつ2つの音を1組の選択音名組とすることができ、そ
の選択音名以外のいずれかの音名をもつ音を特定音とす
ることができる。
【0010】平行調を除いて考えれば、上記選択音名組
が1組決まればそれに対応する調が2種類に限定され
る。さらに選択音以外の音の音名を調べればそのうちの
どちらかが判る。なお、平行調については、前の調との
関係で近親調等に決定するなど、優先順位で決定するこ
とができる。
が1組決まればそれに対応する調が2種類に限定され
る。さらに選択音以外の音の音名を調べればそのうちの
どちらかが判る。なお、平行調については、前の調との
関係で近親調等に決定するなど、優先順位で決定するこ
とができる。
【0011】
【実施例】図2は本発明実施例の演奏データの調検出装
置のブロック図であり、CPU1は、プログラムメモリ
2に記憶されている制御プログラムに基づいてワーキン
グメモリ3の各種レジスタやフラグを使用しながら制御
を行う。
置のブロック図であり、CPU1は、プログラムメモリ
2に記憶されている制御プログラムに基づいてワーキン
グメモリ3の各種レジスタやフラグを使用しながら制御
を行う。
【0012】メロディメモリ4と調性メモリ5はRAM
で構成されており、例えばMIDI情報により外部から
インターフェース6を介して入力される演奏データがメ
ロディメモリ4に記憶され、この演奏データから検出さ
れた調が調性メモリ5に記憶される。
で構成されており、例えばMIDI情報により外部から
インターフェース6を介して入力される演奏データがメ
ロディメモリ4に記憶され、この演奏データから検出さ
れた調が調性メモリ5に記憶される。
【0013】優先テーブルメモリ7はROMで構成され
ており、後述説明するように可能性のある複数の調の候
補の中から適正な調を選択するために参照される優先テ
ーブルが記憶されている。
ており、後述説明するように可能性のある複数の調の候
補の中から適正な調を選択するために参照される優先テ
ーブルが記憶されている。
【0014】図3はメロディメモリの記録フォーマット
を示す図である。この実施例の演奏データは、キーオン
またはキーオフのタイミングを曲の先頭からのクロック
数によって表すタイミングデータ、キーオンまたはキー
オフを示すイベントデータ、キーオンまたはキーオフの
対象となる音高を示すキーコード、および、曲の終了を
示すエンドデータで構成されている。なお、演奏データ
の1小節は96クロックに相当する。
を示す図である。この実施例の演奏データは、キーオン
またはキーオフのタイミングを曲の先頭からのクロック
数によって表すタイミングデータ、キーオンまたはキー
オフを示すイベントデータ、キーオンまたはキーオフの
対象となる音高を示すキーコード、および、曲の終了を
示すエンドデータで構成されている。なお、演奏データ
の1小節は96クロックに相当する。
【0015】そして、これらのデータは、タイミングデ
ータ、イベントデータおよびキーコードの順で各イベン
ト毎にセットにされるとともに曲の最後のキーコードの
後にはエンドデータが記憶され、各データは、メロディ
メモリ4において曲の先頭側から順にMEL(0),M
EL(1),MEL(2),…のように変数I(I=
0,1,2,…)で識別されるレジスタに記憶される。
そして、タイミングデータMEL(P)(P=0,3,
6,…)を検索することにより、任意の検査区間におけ
るメロディのキーコードが検出される。
ータ、イベントデータおよびキーコードの順で各イベン
ト毎にセットにされるとともに曲の最後のキーコードの
後にはエンドデータが記憶され、各データは、メロディ
メモリ4において曲の先頭側から順にMEL(0),M
EL(1),MEL(2),…のように変数I(I=
0,1,2,…)で識別されるレジスタに記憶される。
そして、タイミングデータMEL(P)(P=0,3,
6,…)を検索することにより、任意の検査区間におけ
るメロディのキーコードが検出される。
【0016】この実施例では演奏データを2分の1小節
(48クロック)毎の検査区間に区切り、各検査区間毎
にキーコードを読み出し、可能な限り少ないキーコード
で調性を検出して、検出した調性を調性メモリ5に記憶
する。このとき、調検出の条件を最初に満足したキーコ
ードが含まれている検査区間の最初のタイミングをその
調の起点として記憶する。
(48クロック)毎の検査区間に区切り、各検査区間毎
にキーコードを読み出し、可能な限り少ないキーコード
で調性を検出して、検出した調性を調性メモリ5に記憶
する。このとき、調検出の条件を最初に満足したキーコ
ードが含まれている検査区間の最初のタイミングをその
調の起点として記憶する。
【0017】図4は調性メモリの記録フォーマットを示
す図であり、検出された調は、その調の起点となるタイ
ミングデータ、その調の主音コードおよびメジャー/マ
イナーを示すモードコードをセットにして記憶され、曲
の最後にはエンドデータが記憶される。なお、各データ
はレジスタKTN(0),KTN(1),KTN
(2),…のように変数I(I=0,1,2,…)で識
別されるレジスタに記憶される。
す図であり、検出された調は、その調の起点となるタイ
ミングデータ、その調の主音コードおよびメジャー/マ
イナーを示すモードコードをセットにして記憶され、曲
の最後にはエンドデータが記憶される。なお、各データ
はレジスタ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度音程となる音名の組み合わせは他
にはないことも判る。
について説明する。図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♯メジャー調の何れかの調になる。
えると、メロディ中に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度音以外には共通の音が存在しない。したが
って、メロディ中にこれらの共通音とならない音(特定
音名)が一つでも検出されれば、上記二種類の調のうち
何れの調であるかが判定できる。
なるような二種類の調の音階においては、Cメジャー調
のC,D,E,G,A,とF♯メジャー調のF♯,G
♯,A♯,C♯,D♯(図の「○」の音名)のように、
4度音と7度音以外には共通の音が存在しない。したが
って、メロディ中にこれらの共通音とならない音(特定
音名)が一つでも検出されれば、上記二種類の調のうち
何れの調であるかが判定できる。
【0021】しかし、Cメジャー調に対するAマイナー
調やF♯メジャー調に対するD♯マイナー調のように、
平行調の関係にある調は音階が同じ音で構成されている
ので、4度音と7度音だけからはこれらの調が区別でき
ず、また、メロディによってはその調の音階にない音を
用いている場合もあるので、複数調の候補が考えられ
る。
調やF♯メジャー調に対するD♯マイナー調のように、
平行調の関係にある調は音階が同じ音で構成されている
ので、4度音と7度音だけからはこれらの調が区別でき
ず、また、メロディによってはその調の音階にない音を
用いている場合もあるので、複数調の候補が考えられ
る。
【0022】そこで、これらの複数調の候補から何れの
調に決定するかは、優先テーブルメモリ7の優先テーブ
ルを参照して、初期設定された調または前に検出された
調と関連しやすい調を選択する。
調に決定するかは、優先テーブルメモリ7の優先テーブ
ルを参照して、初期設定された調または前に検出された
調と関連しやすい調を選択する。
【0023】図5は優先テーブルの一例を示す図であ
り、この優先テーブルは、前に検出された調として参照
される任意の調(I,Im)に対してその近親調を優先
順位を付けて対応つけたものである。なお、同図では、
各調の主音を任意の調(メジャー/マイナー)の主音に
対する度数(ローマ数字および♭記号)で代表させて図
示してある。また、優先順位の高いものほど小さな数字
で表している。
り、この優先テーブルは、前に検出された調として参照
される任意の調(I,Im)に対してその近親調を優先
順位を付けて対応つけたものである。なお、同図では、
各調の主音を任意の調(メジャー/マイナー)の主音に
対する度数(ローマ数字および♭記号)で代表させて図
示してある。また、優先順位の高いものほど小さな数字
で表している。
【0024】例えば、Cメジャー調についてはF,G,
Am,Dm,Em,Cmの順で優先順位0,1,2,
3,4,5が付けられており、前に検出された調がCメ
ジャー調であれば、現在の候補調のうちF,G,Am,
Dm,Em,Cmにある調で優先順位の最も高い調を検
出調とする。
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を備えている。
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”にそれぞれ設定されている。
の内容は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度音、およ
び特定音を検出するようにしている。
ドの情報を、各ビットを音名および音名コードに対応さ
せた12ビットの検出音名レジスタXを用いてビット
“1”によって記憶し、この検出音名レジスタXとレジ
スタCAR1,CAR2,CAR3とのマッチング(ビ
ット単位の論理積演算)により、4度音と7度音、およ
び特定音を検出するようにしている。
【0028】なお、このマッチングの処理は検出音名レ
ジスタXの内容をビット単位で図の矢印のように左に循
環シフトしながら行い、このシフト回数により、検出さ
れた4度音と7度音、および特定音についての調の主音
を検出する。
ジスタXの内容をビット単位で図の矢印のように左に循
環シフトしながら行い、このシフト回数により、検出さ
れた4度音と7度音、および特定音についての調の主音
を検出する。
【0029】図7は制御プログラムのメインルーチン、
図8〜図10はサブルーチンを示すフローチャートで
り、各フローチャートに基づいて動作を説明する。な
お、前記のようにメロディメモリ4には演奏データが記
憶されるが、この演奏データの入力処理については詳細
な説明を省略し、以下の説明ではメロディメモリ4に演
奏データが記憶されているものとする。
図8〜図10はサブルーチンを示すフローチャートで
り、各フローチャートに基づいて動作を説明する。な
お、前記のようにメロディメモリ4には演奏データが記
憶されるが、この演奏データの入力処理については詳細
な説明を省略し、以下の説明ではメロディメモリ4に演
奏データが記憶されているものとする。
【0030】また、以下の説明および各フローチャート
において、制御に用いられる各レジスタおよびフラグを
下記のラベルで表記し、各レジスタおよびフラグとそれ
らの内容は特に断らない限り同一のラベルで表す。
において、制御に用いられる各レジスタおよびフラグを
下記のラベルで表記し、各レジスタおよびフラグとそれ
らの内容は特に断らない限り同一のラベルで表す。
【0031】MEL(i):演奏データ KTN(i):検出した調性のデータを記憶するレジス
タ N:検査区間を指すポインタレジスタ P:演奏データのタイミングデータを指すポインタレジ
スタ OP:調が検出された検査区間より後の検査区間におけ
る最初のタイミングデータを指すポインタレジスタ K:調性のデータを指すポインタレジスタ T:調が検出された区間の次の検査区間を指すポインタ
レジスタ
タ N:検査区間を指すポインタレジスタ P:演奏データのタイミングデータを指すポインタレジ
スタ OP:調が検出された検査区間より後の検査区間におけ
る最初のタイミングデータを指すポインタレジスタ K:調性のデータを指すポインタレジスタ T:調が検出された区間の次の検査区間を指すポインタ
レジスタ
【0032】KC(i):キーオンになっているキーコ
ードのリストをとるレジスタ M:キーコードのリストの個数をカウントするレジスタ EVKC:キーオンイベントのキーコードを記憶するレ
ジスタ NTC:現在までのキーオンの音を12の音名に対応す
る12ビットで一時記憶する12ビットのレジスタ X:レジスタNTCの内容を循環シフトするための検出
音名レジスタ J:検出音名レジスタXのシフト回数をカウントするレ
ジスタ MSK:マッチング結果を格納するレジスタ
ードのリストをとるレジスタ M:キーコードのリストの個数をカウントするレジスタ EVKC:キーオンイベントのキーコードを記憶するレ
ジスタ NTC:現在までのキーオンの音を12の音名に対応す
る12ビットで一時記憶する12ビットのレジスタ X:レジスタNTCの内容を循環シフトするための検出
音名レジスタ J:検出音名レジスタXのシフト回数をカウントするレ
ジスタ MSK:マッチング結果を格納するレジスタ
【0033】ONTC:前回までのキーオンの音を一時
記憶する12ビットのレジスタ OTN:初期値および前に検出された調の主音コードを
記憶するレジスタ OMD:初期値および前に検出された調のモードコード
を記憶するレジスタ FLG:マッチングの成否を示す内部フラグ
記憶する12ビットのレジスタ OTN:初期値および前に検出された調の主音コードを
記憶するレジスタ OMD:初期値および前に検出された調のモードコード
を記憶するレジスタ FLG:マッチングの成否を示す内部フラグ
【0034】図7のメインルーチンの処理を開始する
と、ステップS1で各レジスタN,P,K,Tを“0”
にリセットし、ステップS2でレジスタNTCをクリア
し、ステップS3でレジスタOTNとレジスタOMDに
初期値としてCメジャー調の“C”コード(主音コー
ド)およびメジャーコード(モードコード)をそれぞれ
格納する。そして、ステップS4で図8のメロディ音名
検出処理を行い、ステップS5で図9の特徴との比較処
理を行う。
と、ステップ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)はキーコード
となる。
プ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で示される現在の検査区間内のタイミングであ
るか否かを判定する。
がエンドデータであるか否かを判定し、エンドデータで
あればメインルーチンに復帰し、エンドデータでなけれ
ば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)は次の検査区間のタイミングで
ある。
インタで、1つの検査区間は48クロックであるので、
MEL(P)<(N+1)×48であればタイミングデ
ータMEL(P)は現在の検査区間内のタイミングであ
り、MEL(P)<(N+1)×48でなければタイミ
ングデータMEL(P)は次の検査区間のタイミングで
ある。
【0038】このステップS22の判定により、タイミ
ングデータMEL(P)が現在の検査区間内である間
は、ステップS23以降でその検査区間内のキーオンの
キーコードを記憶する処理を行い、タイミングデータM
EL(P)が次の検査区間になるとメインルーチンに復
帰する。
ングデータMEL(P)が現在の検査区間内である間
は、ステップS23以降でその検査区間内のキーオンの
キーコードを記憶する処理を行い、タイミングデータM
EL(P)が次の検査区間になるとメインルーチンに復
帰する。
【0039】ステップS23では、キーコードMEL
(P+2)をレジスタEVKCに格納し、ステップS2
4でイベントデータMEL(P+1)がオンイベントデ
ータであるか否かを判定し、オンイベントデータであれ
ばステップS25以降の処理を行い、オンイベントデー
タでなければオフイベントデータであるのでステップS
28以降の処理を行う。
(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に戻る。
キーコードのリスト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に進む。
タMEL(P+1)がオフイベントデータであるので、
このオフイベントに対応するキーコードEVKCをキー
コードのリストKC(0)〜KC(M−1)から削除し
て、削除データ以降を前にシフトしてリストの配列を詰
め、ステップS29でリストの個数Mを1減少させてス
テップS201に進む。
【0042】以上のメロディ音名検出処理により、オン
イベントが検査区間の最後まで継続しているキーコード
のリストがKC(0)〜KC(M−1)として得られる
とともに、検査区間内で少なくとも一度はオンイベント
となった全てのキーコードがレジスタNTCの“1”の
ビットによって表現される。
イベントが検査区間の最後まで継続しているキーコード
のリストがKC(0)〜KC(M−1)として得られる
とともに、検査区間内で少なくとも一度はオンイベント
となった全てのキーコードがレジスタNTCの“1”の
ビットによって表現される。
【0043】次に、図9の特徴との比較処理では、ステ
ップS31でNTCをレジスタXに記憶し、ステップS
32でレジスタJとフラグFLGを“0”にリセット
し、ステップS33に進む。
ップ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に進む。
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に
進む。
レジスタ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である調を
示している。
{(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に進む。
レジスタ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に進む。
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であれば全ての主音コード
についての処理が終了したのでメインルーチンに復帰す
る。
各ビットを左に循環シフトし、ステップS305でレジ
スタJを1増加させ、ステップS306でJ=12であ
るか否かを判定して、J=12でなければステップS3
3以降を繰り返し、J=12であれば全ての主音コード
についての処理が終了したのでメインルーチンに復帰す
る。
【0050】以上の特徴との比較処理により、調の候補
が得られればフラグFLGが“1”にセットされ、メイ
ンルーチンのステップS6でこのフラグFLGの判定が
行われる。
が得られればフラグFLGが“1”にセットされ、メイ
ンルーチンのステップS6でこのフラグFLGの判定が
行われる。
【0051】メインルーチンにおいて、ステップS6の
判定でFLG=0であれば、現在の検査区間において候
補調が検出されなかったのでステップS7以降の処理を
行い、FLG=0であれば、現在の検査区間で候補調が
検出されたのでステップS11以降の処理を行う。
判定でFLG=0であれば、現在の検査区間において候
補調が検出されなかったのでステップS7以降の処理を
行い、FLG=0であれば、現在の検査区間で候補調が
検出されたのでステップS11以降の処理を行う。
【0052】ステップS7では、現在の検査区間が演奏
データの最終区間であるか否かを判定し、最終区間でな
ければステップS17でポインタNを1増加させて次の
検査区間についてステップS4以降の処理を繰り返し、
最終区間であればステップS8以降の処理を行う。
データの最終区間であるか否かを判定し、最終区間でな
ければステップS17でポインタNを1増加させて次の
検査区間についてステップS4以降の処理を繰り返し、
最終区間であればステップS8以降の処理を行う。
【0053】ステップS8では、調性メモリKTN
(K)のポインタKを判定し、K=0であれば最終区間
まで一度も調が検出されなかったことになるので、ステ
ップS9で表示等により調検出失敗の処理を行い、K=
0でなければ最終区間までに調が検出されたことになる
ので、ステップS10で調性メモリのレジスタKTN
(K)にエンドデータを記憶して処理を終了する。
(K)のポインタKを判定し、K=0であれば最終区間
まで一度も調が検出されなかったことになるので、ステ
ップS9で表示等により調検出失敗の処理を行い、K=
0でなければ最終区間までに調が検出されたことになる
ので、ステップS10で調性メモリのレジスタKTN
(K)にエンドデータを記憶して処理を終了する。
【0054】一方、検査区間で候補調が得られた場合、
すなわち、ステップS11では、直前に検出された調
(OTN,OMD)により優先テーブルを読み出して候
補調の中で最も優先順位の高い調を検索し、ステップS
12で優先テーブル内に候補調があるか否かを判定し、
候補調がなければステップS7以降の処理を行う。
すなわち、ステップS11では、直前に検出された調
(OTN,OMD)により優先テーブルを読み出して候
補調の中で最も優先順位の高い調を検索し、ステップS
12で優先テーブル内に候補調があるか否かを判定し、
候補調がなければステップS7以降の処理を行う。
【0055】ステップS12で候補調があれば、ステッ
プS13で、キーコードのリストKC(0)〜KC(M
−1)の各キーコードに対応するNTCのビットを
“1”にセットして他のビットは“0”にリセットし、
ステップS14で図10の調記憶処理を行う。
プS13で、キーコードのリストKC(0)〜KC(M
−1)の各キーコードに対応するNTCのビットを
“1”にセットして他のビットは“0”にリセットし、
ステップS14で図10の調記憶処理を行う。
【0056】なお、ステップS13の処理により、現在
の検査区間の最後までオンイベントが継続しているキー
コードだけがレジスタNTCに記憶される。また、後述
説明するように調記憶処理では検出された調の主音コー
ドとモードコードがレジスタKTN(K+1),KTN
(K+2)にそれぞれ記憶される。
の検査区間の最後までオンイベントが継続しているキー
コードだけがレジスタ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に戻る。
と、ステップ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に記憶さ
れる。
タ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に進む。
S41でK=0であるか否かを判定し、K=0であれば
初めて調が検出された場合であるので、ステップS40
2で、タイミングデータ“0”をKTN(K)に格納
し、検出された調の主音コードをKTN(K+1)に格
納し、さらに検出された調のモードコードをKTN(K
+2)に格納して、ステップS403に進む。
【0060】一方、ステップS41でK=0でなけれ
ば、前に調が検出されていることになるので、ステップ
S42以降で、現在検出された調の起点を示すタイミン
グデータを求めてそのタイミングデータと主音コードお
よびモードコードを記憶する処理を行う。
ば、前に調が検出されていることになるので、ステップ
S42以降で、現在検出された調の起点を示すタイミン
グデータを求めてそのタイミングデータと主音コードお
よびモードコードを記憶する処理を行う。
【0061】先ず、ステップS42でレジスタTの値を
ポインタIに記憶し、ステップS43でCAR1をレジ
スタCAR1' に書き込み、ステップS44で、レジス
タCAR1' を検出された調の主音コードに対応する回
数だけ右に循環シフトしてステップS45に進む。
ポインタIに記憶し、ステップS43でCAR1をレジ
スタCAR1' に書き込み、ステップS44で、レジス
タCAR1' を検出された調の主音コードに対応する回
数だけ右に循環シフトしてステップS45に進む。
【0062】ここで、レジスタTの値は、前回この調記
憶処理を行ったときにステップS404でNより1大き
な値に設定され、また、このときのNは前回調が検出さ
れた区間すなわち検出調が確定した区間を指していたも
のである。したがって、ステップS42によりポインタ
Iは、前回調が検出された検査区間の次の検査区間を指
している。
憶処理を行ったときにステップS404でNより1大き
な値に設定され、また、このときのNは前回調が検出さ
れた区間すなわち検出調が確定した区間を指していたも
のである。したがって、ステップS42によりポインタ
Iは、前回調が検出された検査区間の次の検査区間を指
している。
【0063】また、ポインタOPは、前記のようにメイ
ンルーチンのステップS12により、前回調が検出され
た検査区間より後の検査区間における最初のイベントの
タイミングデータを指している。
ンルーチンのステップS12により、前回調が検出され
た検査区間より後の検査区間における最初のイベントの
タイミングデータを指している。
【0064】ステップS45では、タイミングデータM
EL(OP)がポインタIで示される検査区間(前回調
が検出された区間の次の区間)のタイミングであるか否
かを判定し、タイミングデータMEL(OP)がその検
査区間内であればステップS46以降で4度音と7度音
の検出処理を行う。
EL(OP)がポインタIで示される検査区間(前回調
が検出された区間の次の区間)のタイミングであるか否
かを判定し、タイミングデータMEL(OP)がその検
査区間内であればステップS46以降で4度音と7度音
の検出処理を行う。
【0065】また、タイミングデータMEL(OP)が
ポインタIで示される検査区間内でなければステップS
405でポインタIを1増加させてステップS45以降
の処理を繰り返す。
ポインタIで示される検査区間内でなければステップS
405でポインタIを1増加させてステップS45以降
の処理を繰り返す。
【0066】ステップS46では、イベントデータME
L(OP+1)がオンイベントデータであるか否かを判
定し、オンイベントデータであればステップS47以降
の処理を行い、オンイベントデータでなければオフイベ
ントデータであるのでステップS405に進む。
L(OP+1)がオンイベントデータであるか否かを判
定し、オンイベントデータであればステップS47以降
の処理を行い、オンイベントデータでなければオフイベ
ントデータであるのでステップS405に進む。
【0067】ステップS47ではキーコードMEL(O
P+2)に対応するONTCのビットを“1”にセット
し、ステップS48でONTCとCAR1' をビット毎
に論理積をとってその結果をレジスタMSKに記憶す
る。
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に進む。
循環シフトにより、検出された調における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)に
格納する。
によって示されるタイミングI×48を検出された調の
起点を示すデータとしてKTN(K)に格納し、検出さ
れた調の主音コードをKTN(K+1)に格納し、さら
に、検出された調のモードコードをKTN(K+2)に
格納する。
【0070】このようにステップS401で調性の記憶
が終了すると、ステップS403でポインタKを3増加
させ、ステップS404でポインタNに1加算した値を
レジスタTに記憶し、メインルーチンに復帰する。
が終了すると、ステップ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となる。
あり、例えば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,…の順に行われる。
出されたとすると、調記憶処理のステップS42により
I=4(前に調が検出された検査区間の次の検査区間の
番号)となり、ステップS45〜ステップS49の処理
がI=4,5,…の順に行われる。
【0073】そして、例えばI=6の検査区間で最初に
4度音(または7度音)が検出されたとするとステップ
S401により、このI=6の検査区間の最初のタイミ
ング(6×48)がタイミングデータKTN(3)に記
憶される。
4度音(または7度音)が検出されたとするとステップ
S401により、このI=6の検査区間の最初のタイミ
ング(6×48)がタイミングデータKTN(3)に記
憶される。
【0074】このように、調記憶処理により、調検出に
用いられた4度音または7度音のうち先に出現した音を
含む検査区間の先頭が調の起点として記憶される。例え
ば図11の例では、曲の先頭から3小節目までが第1の
調αで、4小節目以降が第2の調βとして記憶される。
このようにして、転調の位置が検出される。
用いられた4度音または7度音のうち先に出現した音を
含む検査区間の先頭が調の起点として記憶される。例え
ば図11の例では、曲の先頭から3小節目までが第1の
調αで、4小節目以降が第2の調βとして記憶される。
このようにして、転調の位置が検出される。
【0075】図9の特徴との比較処理によれば、4度音
と7度音の両方が検出されて特定音の一つでも検出され
ると直ぐに候補調を得ることができ、この候補調から演
奏データの調を検出するように動作するので、少ない音
で迅速な検出動作を行うことができる。
と7度音の両方が検出されて特定音の一つでも検出され
ると直ぐに候補調を得ることができ、この候補調から演
奏データの調を検出するように動作するので、少ない音
で迅速な検出動作を行うことができる。
【0076】なお、本実施例では、全音階の場合を例に
したが、他の音階を用いる場合にもその音階に固有な選
択音名組と特定音があるので、それらの音程差等に従っ
て処理をすればよいことはいうまでもない。
したが、他の音階を用いる場合にもその音階に固有な選
択音名組と特定音があるので、それらの音程差等に従っ
て処理をすればよいことはいうまでもない。
【0077】
【発明の効果】以上説明したように本発明の演奏データ
の調検出装置によれば、演奏データから4度と7度のよ
うに所定の音程差をもつ音名とそれ以外の特定の音名と
から候補を絞りつつ調を検出するようにしたので、和音
が決められていない場合にもメロディ等の演奏データか
ら簡単にかつ迅速に調を検出することができる。
の調検出装置によれば、演奏データから4度と7度のよ
うに所定の音程差をもつ音名とそれ以外の特定の音名と
から候補を絞りつつ調を検出するようにしたので、和音
が決められていない場合にもメロディ等の演奏データか
ら簡単にかつ迅速に調を検出することができる。
【図1】本発明実施例における調検出方法を説明する図
である。
である。
【図2】本発明実施例の演奏データの調検出装置のブロ
ック図である。
ック図である。
【図3】実施例における演奏データのフォーマットを示
す図である。
す図である。
【図4】実施例における調性メモリのフォーマットを示
す図である。
す図である。
【図5】実施例における優先テーブルを示す図である。
【図6】実施例における特徴音名記憶レジスタを示す図
である。
である。
【図7】実施例における制御のメインルーチンのフロー
チャートである。
チャートである。
【図8】実施例におけるメロディ音名検出処理のフロー
チャートである。
チャートである。
【図9】実施例における特徴との比較処理のフローチャ
ートである。
ートである。
【図10】実施例における調記憶処理のフローチャート
である。
である。
【図11】実施例における調記憶処理の一例を説明する
図である。
図である。
1…CPU、2…プログラムメモリ、3…ワーキングメ
モリ、4…メロディメモリ、5…調性メモリ、7…優先
テーブルメモリ。
モリ、4…メロディメモリ、5…調性メモリ、7…優先
テーブルメモリ。
Claims (1)
- 【請求項1】 音名情報を含む演奏データを記憶した演
奏データ記憶手段を含み、該演奏データを基に調を検出
する演奏データの調検出装置において、 前記記憶手段に記憶された演奏データの音名情報から所
定の音程差を有する少なくとも2つ1組の音名を選択音
名組として検出する選択音名組検出手段と、 前記選択音名組検出手段によって検出された選択音名組
に基づいて調の候補を選出する候補選出手段と、 前記選択音名組検出手段によって検出された音名以外の
音名を特定音名として前記演奏データ記憶手段に記憶さ
れた演奏データから検出する特定音名検出手段と、 前記特定音名検出手段によって検出された特定音名に基
づいて、前記候補選出手段で選出された候補の調の絞り
込みを行う候補絞り込み手段と、 を備えたことを特徴とする演奏データの調検出装置。
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 true JPH05273976A (ja) | 1993-10-22 |
JP3413844B2 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) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002268632A (ja) * | 2001-03-14 | 2002-09-20 | Yamaha Corp | フレーズ分析装置及びフレーズ分析プログラムを記録した記録媒体 |
JP2006201614A (ja) * | 2005-01-21 | 2006-08-03 | Victor Co Of Japan Ltd | 音程認識装置およびこれを利用した音声変換装置 |
JP2012068548A (ja) * | 2010-09-27 | 2012-04-05 | Casio Comput Co Ltd | 調判定装置および調判定プログラム |
JP2013076908A (ja) * | 2011-09-30 | 2013-04-25 | Casio Comput Co Ltd | 調判定装置、調判定方法及び調判定プログラム |
WO2020255214A1 (ja) * | 2019-06-17 | 2020-12-24 | AlphaTheta株式会社 | 楽曲解析装置、プログラムおよび楽曲解析方法 |
-
1992
- 1992-03-25 JP JP06686292A patent/JP3413844B2/ja not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002268632A (ja) * | 2001-03-14 | 2002-09-20 | Yamaha Corp | フレーズ分析装置及びフレーズ分析プログラムを記録した記録媒体 |
JP2006201614A (ja) * | 2005-01-21 | 2006-08-03 | Victor Co Of Japan Ltd | 音程認識装置およびこれを利用した音声変換装置 |
JP4581699B2 (ja) * | 2005-01-21 | 2010-11-17 | 日本ビクター株式会社 | 音程認識装置およびこれを利用した音声変換装置 |
JP2012068548A (ja) * | 2010-09-27 | 2012-04-05 | Casio Comput Co Ltd | 調判定装置および調判定プログラム |
CN102419969A (zh) * | 2010-09-27 | 2012-04-18 | 卡西欧计算机株式会社 | 调判断装置 |
US8648241B2 (en) | 2010-09-27 | 2014-02-11 | Casio Computer Co., Ltd. | Key determination apparatus and storage medium storing key determination program |
JP2013076908A (ja) * | 2011-09-30 | 2013-04-25 | Casio Comput Co Ltd | 調判定装置、調判定方法及び調判定プログラム |
WO2020255214A1 (ja) * | 2019-06-17 | 2020-12-24 | AlphaTheta株式会社 | 楽曲解析装置、プログラムおよび楽曲解析方法 |
JPWO2020255214A1 (ja) * | 2019-06-17 | 2020-12-24 | ||
US12080262B2 (en) | 2019-06-17 | 2024-09-03 | Alphatheta Corporation | Musical piece analysis device, program, and musical piece analysis method |
Also Published As
Publication number | Publication date |
---|---|
JP3413844B2 (ja) | 2003-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3704980B2 (ja) | 自動作曲装置と記録媒体 | |
JP2638021B2 (ja) | 自動伴奏装置 | |
US20030089216A1 (en) | Method and system for extracting melodic patterns in a musical piece and computer-readable storage medium having a program for executing the method | |
US5393927A (en) | Automatic accompaniment apparatus with indexed pattern searching | |
US7041888B2 (en) | Fingering guide displaying apparatus for musical instrument and computer program therefor | |
US6100462A (en) | Apparatus and method for generating melody | |
US4704933A (en) | Apparatus for and method of producing automatic music accompaniment from stored accompaniment segments in an electronic musical instrument | |
JPH07219536A (ja) | 自動編曲装置 | |
US4300430A (en) | Chord recognition system for an electronic musical instrument | |
US5221802A (en) | Device for detecting contents of a bass and chord accompaniment | |
JPH05273976A (ja) | 演奏データの調検出装置 | |
US6486390B2 (en) | Apparatus and method for creating melody data having forward-syncopated rhythm pattern | |
US4472992A (en) | Electronic musical instrument | |
JPH0990952A (ja) | 和音分析装置 | |
JP2615880B2 (ja) | 和音検出装置 | |
JP3278886B2 (ja) | 調検出装置 | |
JPH05181409A (ja) | 自動作曲機 | |
JP2694278B2 (ja) | 和音検出装置 | |
JP3216529B2 (ja) | 演奏データ分析装置および演奏データ分析方法 | |
JP3271331B2 (ja) | メロディ分析装置 | |
JP3591444B2 (ja) | 演奏データ分析装置 | |
JPH05346781A (ja) | 調検出装置および自動編曲装置 | |
JP3379110B2 (ja) | 和音検出装置および和音検出方法 | |
JP3413842B2 (ja) | 自動伴奏装置 | |
JP2526830B2 (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 |