JP2995237B2 - 調性判別装置 - Google Patents
調性判別装置Info
- Publication number
- JP2995237B2 JP2995237B2 JP2289892A JP28989290A JP2995237B2 JP 2995237 B2 JP2995237 B2 JP 2995237B2 JP 2289892 A JP2289892 A JP 2289892A JP 28989290 A JP28989290 A JP 28989290A JP 2995237 B2 JP2995237 B2 JP 2995237B2
- Authority
- JP
- Japan
- Prior art keywords
- membership function
- tonality
- similarity
- music
- music information
- 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
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 <発明の技術分野> この発明は、与えられる楽曲の調(調性)を自動判別
する調性判別装置に関する。
する調性判別装置に関する。
<発明の背景技術> 従来より、入力された楽曲の調(調性)を判別するた
めの調性判別装置が種々研究されている。
めの調性判別装置が種々研究されている。
これらの調性判別装置においては、高級なものになる
と、調判定のアルゴリズムの作成に専門家の知識やノウ
ハウを必要とする。あるいは、判別の精度を上げようと
すると、結果として、判定できる調性の種類を限定せざ
るを得なくなってくる。例えば、マイナーとメジャーと
は判別できてもそれ以外の調、例えば沖縄調やブルース
を判別できないということになる。
と、調判定のアルゴリズムの作成に専門家の知識やノウ
ハウを必要とする。あるいは、判別の精度を上げようと
すると、結果として、判定できる調性の種類を限定せざ
るを得なくなってくる。例えば、マイナーとメジャーと
は判別できてもそれ以外の調、例えば沖縄調やブルース
を判別できないということになる。
<発明の目的> この発明は、以上の点に鑑みてなされたものであり、
比較的簡単な構成でありながら種々の調(調性)の判別
を可能とする調性判別装置を提供することを目的とす
る。
比較的簡単な構成でありながら種々の調(調性)の判別
を可能とする調性判別装置を提供することを目的とす
る。
<発明の構成、作用> 即ちこの発明によれば、上記目的を達成するために、
複数の音符からなる楽曲情報を供給する楽曲情報供給手
段と、複数の調それぞれについて、各音階音の出現頻度
を記憶する出現頻度記憶手段と、上記楽曲情報供給手段
から与えられる楽曲情報の音符の音符長を音名毎に累算
し、所定の音符数毎に、上記累算値と出現頻度記憶手段
に記憶されている複数の調それぞれについての出現頻度
とに基づいて所定の計算を行うことにより、その時点ま
での楽曲情報と複数の調それぞれとの類似度をリアルタ
イムに算出する類似度計算手段と、上記類似度計算手段
によって算出される調毎の類似度を順次更新表示する表
示手段と、を具備したことを特徴とする調性判別装置が
提供される。
複数の音符からなる楽曲情報を供給する楽曲情報供給手
段と、複数の調それぞれについて、各音階音の出現頻度
を記憶する出現頻度記憶手段と、上記楽曲情報供給手段
から与えられる楽曲情報の音符の音符長を音名毎に累算
し、所定の音符数毎に、上記累算値と出現頻度記憶手段
に記憶されている複数の調それぞれについての出現頻度
とに基づいて所定の計算を行うことにより、その時点ま
での楽曲情報と複数の調それぞれとの類似度をリアルタ
イムに算出する類似度計算手段と、上記類似度計算手段
によって算出される調毎の類似度を順次更新表示する表
示手段と、を具備したことを特徴とする調性判別装置が
提供される。
第1図は、この一構成例を示しており、楽曲情報供給
手段GSは、例えば鍵盤を含み、あるいは、鍵盤と接続さ
れこの鍵盤から楽曲情報を入力可能となっている。この
楽曲情報は、音高と音長とで表現される。
手段GSは、例えば鍵盤を含み、あるいは、鍵盤と接続さ
れこの鍵盤から楽曲情報を入力可能となっている。この
楽曲情報は、音高と音長とで表現される。
出現頻度記憶手段(メンバーシップ関数供給手段)MS
は、例えば、予め複数の調(調性)について、各音階の
出現頻度を表わすメンバーシップ関数を記憶している記
憶手段を含んでいる。この記憶手段の記憶内容は、複数
の楽曲について分析した結果に基づくものとなってい
る。
は、例えば、予め複数の調(調性)について、各音階の
出現頻度を表わすメンバーシップ関数を記憶している記
憶手段を含んでいる。この記憶手段の記憶内容は、複数
の楽曲について分析した結果に基づくものとなってい
る。
類似度計算手段CAは、楽曲情報供給手段GSからの楽曲
情報と出現頻度記憶手段(メンバーシップ関数供給手
段)MSからの複数の調についてのメンバーシップ関数と
に基づき、それらの類似度を計算する。具体的には、楽
曲情報供給手段GSから与えられる楽曲情報の音符の音符
長を音名毎に累算し、所定の音符数毎に、上記累算値と
出現頻度記憶手段(メンバーシップ関数供給手段)MSに
記憶されている複数の調それぞれについての出現頻度と
に基づいて所定の計算を行うことにより、その時点まで
楽曲情報と複数の調それぞれとの類似度をリアルタイム
に算出する。この類似度の計算によって、当該楽曲が如
何なる調であるのかが明らかになる。そして、この類似
度計算手段CAの計算結果である調毎の類似度が、表示手
段(出力手段)CUに表示される。この表示手段(出力手
段)OUは、各種表示形態で、使用者に調性判別結果を知
らしめる。従って、予め、各調のメンバーシップ関数を
用意すれば、楽曲の調性判別が、比較的簡単な計算を実
行するだけで行われることになる。
情報と出現頻度記憶手段(メンバーシップ関数供給手
段)MSからの複数の調についてのメンバーシップ関数と
に基づき、それらの類似度を計算する。具体的には、楽
曲情報供給手段GSから与えられる楽曲情報の音符の音符
長を音名毎に累算し、所定の音符数毎に、上記累算値と
出現頻度記憶手段(メンバーシップ関数供給手段)MSに
記憶されている複数の調それぞれについての出現頻度と
に基づいて所定の計算を行うことにより、その時点まで
楽曲情報と複数の調それぞれとの類似度をリアルタイム
に算出する。この類似度の計算によって、当該楽曲が如
何なる調であるのかが明らかになる。そして、この類似
度計算手段CAの計算結果である調毎の類似度が、表示手
段(出力手段)CUに表示される。この表示手段(出力手
段)OUは、各種表示形態で、使用者に調性判別結果を知
らしめる。従って、予め、各調のメンバーシップ関数を
用意すれば、楽曲の調性判別が、比較的簡単な計算を実
行するだけで行われることになる。
<実施例> 以下この発明を図面に示す一実施例により詳細に説明
する。
する。
第2図は、その全体構成を示しており、CPU1が、この
調性判別装置の全体動作を制御する。このCPU1は、ROM
2、RAM3、MIDIインタフェース4及びLCDドライバ5とコ
モンバス6を介して接続されている。このほか、必要に
応じて、制御情報入力用のスイッチ部が設けられている
(図示略)。
調性判別装置の全体動作を制御する。このCPU1は、ROM
2、RAM3、MIDIインタフェース4及びLCDドライバ5とコ
モンバス6を介して接続されている。このほか、必要に
応じて、制御情報入力用のスイッチ部が設けられている
(図示略)。
ROM2は、CPU1の動作の為のプログラムのほか複数の調
(調性)についてのメンバーシップ関数を記憶してい
る。このメンバーシップ関数については、後に詳述す
る。
(調性)についてのメンバーシップ関数を記憶してい
る。このメンバーシップ関数については、後に詳述す
る。
RAM3は、CPU1の各種演算実行時にワークメモリ等とし
て使用される。また、上記MIDIインタフェース4には、
外部の電子楽器EMから演奏情報が与えられるインタフェ
ースである。尚、MIDIとは、MUSICAL INSTRUMENT DIGIT
AL INTERFACEの略称である。このMIDIインタフェース4
を介して与えられる演奏情報が、楽曲情報として順次RA
M3に記憶されてゆく。
て使用される。また、上記MIDIインタフェース4には、
外部の電子楽器EMから演奏情報が与えられるインタフェ
ースである。尚、MIDIとは、MUSICAL INSTRUMENT DIGIT
AL INTERFACEの略称である。このMIDIインタフェース4
を介して与えられる演奏情報が、楽曲情報として順次RA
M3に記憶されてゆく。
CPU1は、RAM3に入力される楽曲情報と、ROM2に記憶さ
れているメンバーシップ関数とに基づき、後述する類似
度演算を実行する。そして、この類似度演算結果に従っ
て、入力された楽曲情報の調性を示す信号をLCDドライ
バ5に与え、LCD7の所定の表示パターンによって楽曲の
調性表示を行う。
れているメンバーシップ関数とに基づき、後述する類似
度演算を実行する。そして、この類似度演算結果に従っ
て、入力された楽曲情報の調性を示す信号をLCDドライ
バ5に与え、LCD7の所定の表示パターンによって楽曲の
調性表示を行う。
ここで、CPU1は、第1図を参照して説明した類似度計
算手段CAを構成し、ROM2がメンバーシップ関数供給手段
MSを構成し、MIDIインタフェース4とRAM3とが上記楽曲
情報提供手段GSを構成し、LCDドライバ5とLCD7とが出
力手段OUを構成する。
算手段CAを構成し、ROM2がメンバーシップ関数供給手段
MSを構成し、MIDIインタフェース4とRAM3とが上記楽曲
情報提供手段GSを構成し、LCDドライバ5とLCD7とが出
力手段OUを構成する。
次にROM2に予め記憶されたメンバーシップ関数につい
て説明する。
て説明する。
まず、Cメジャー(CMaj)のメンバーシップ関数m
CMajについて説明する。このメンバーシップ関数mCMaj
は、メーカサイドでCメジャーと認定する楽曲の楽譜を
複数、できれば多数用意し、その特徴を抽出することで
求められる。
CMajについて説明する。このメンバーシップ関数mCMaj
は、メーカサイドでCメジャーと認定する楽曲の楽譜を
複数、できれば多数用意し、その特徴を抽出することで
求められる。
具体的には、例えば、第3図のような楽譜を用意す
る。尚、この楽譜はCメジャーの曲である。そして、1
小節を例えば96分割した単位時間を1tとし、この曲中に
出現する音階Cについて、トータル何単位時間出現する
のか総和を求める。ここでこの値を、T(C)とおく。
いま例えば、T(C)=480tである。
る。尚、この楽譜はCメジャーの曲である。そして、1
小節を例えば96分割した単位時間を1tとし、この曲中に
出現する音階Cについて、トータル何単位時間出現する
のか総和を求める。ここでこの値を、T(C)とおく。
いま例えば、T(C)=480tである。
同様にして、この曲に出現する音階C#についての出
現総和時間を求める。この値をT(C#)とおく。いま
例えば、T(C#)=0となる。以下同様にして、12音
階(C〜B)について、出現時間の総和を求める。例え
ば、この楽曲の場合次のようになる。尚、tは省略す
る。
現総和時間を求める。この値をT(C#)とおく。いま
例えば、T(C#)=0となる。以下同様にして、12音
階(C〜B)について、出現時間の総和を求める。例え
ば、この楽曲の場合次のようになる。尚、tは省略す
る。
T(C)=480 T(C#)=0 T(D)=192 T(D#)=0 T(E)=336 T(F)=32 T(F#)=16 T(G)=608 T(G#)=48 T(A)=848 T(A#)=48 T(B)=432 ここで、音階ベクトルを次のように定義する。
Th={T(C),T(C#),T(D),T(D#),T
(E),T(E#),T(F),T(F#),T(G),T
(G#),T(A),T(A#),T(B)} 従ってこの場合は、 Th={480、0、192、0、336、32、16、608、48、84
8、48、432} となる。
(E),T(E#),T(F),T(F#),T(G),T
(G#),T(A),T(A#),T(B)} 従ってこの場合は、 Th={480、0、192、0、336、32、16、608、48、84
8、48、432} となる。
そして、Thの自乗和が1となるように標準化し、これ
を標準音階ベクトルTh′とする。
を標準音階ベクトルTh′とする。
Th′={T(C)/D,T(C#)/D,T(D)/D,T
(D#)/D,T(E)/D,T(E#)/D,T(F)/D,T
(F#)/D,T(G)/D,T(G#)/D,T(A)/D,T
(A#)/D,T(B)/D} ここで、 である。Σは、音階αつまりC〜Bについての和であ
る。
(D#)/D,T(E)/D,T(E#)/D,T(F)/D,T
(F#)/D,T(G)/D,T(G#)/D,T(A)/D,T
(A#)/D,T(B)/D} ここで、 である。Σは、音階αつまりC〜Bについての和であ
る。
上記の例では、次のようになる。
Th′={0.372,0,0.148,0,0.261,0.025,0.012,0.472,
0.037,0.659,0.037,0.335} 他の曲についても、以上説明した手順で、Th′を求め
る。例えば100曲について、上記処理を実行して、Th′
0〜Th′99が得られる。そして、100曲についての標準
音階ベクトルの総和ベクトルSTを求める。
0.037,0.659,0.037,0.335} 他の曲についても、以上説明した手順で、Th′を求め
る。例えば100曲について、上記処理を実行して、Th′
0〜Th′99が得られる。そして、100曲についての標準
音階ベクトルの総和ベクトルSTを求める。
ST=Th′0+Th′1+……+Th′98+Th′99={ΣTh′i(C), ΣTh′i(C#),……,ΣTh′i(A#),ΣTh′i(B)} Σは、曲iについて、従って100曲についての和であ
る。
る。
一例としてSTは、次のようになる。
ST={52.8,1.1,15.5,0,22.2,2.4,1.2,51.9,3.1,54.
5,3.9,35.2} ここで、このベクトルを標準化する。
5,3.9,35.2} ここで、このベクトルを標準化する。
ST′=Th′0/D′+Th′1/D′+…… +Th′98/D′+Th′99/D′ ={ΣTh′i(C)/D′,ΣTn′i(C#)/
D′,……, ΣTh′i(A#)/D′, ΣTh′i(B)/D′} ここで であり、Σは、音階αつまりC〜Bについての和であ
る。
D′,……, ΣTh′i(A#)/D′, ΣTh′i(B)/D′} ここで であり、Σは、音階αつまりC〜Bについての和であ
る。
上述の例では、次の値をとる。
ST′={0.516,0.011,0.152,0,0.217,0.023,0.012,0.
508,0.030,0.533,0.038,0.344} このベクトルST′の各成分をメンバーシップ関数m
CMaj(TH)とおく。つまり、メンバーシップ関数mCMaj
(TH)は、音階THを変数にもつ関数であり、上記の例と
しては、第4図のようになる。
508,0.030,0.533,0.038,0.344} このベクトルST′の各成分をメンバーシップ関数m
CMaj(TH)とおく。つまり、メンバーシップ関数mCMaj
(TH)は、音階THを変数にもつ関数であり、上記の例と
しては、第4図のようになる。
このように主音(トニック)がCのつまりCMajについ
てメンバーシップ関数mCMaj(TH)が求まると、C# Maj
のメンバーシップ関数は、mC # Maj(TH)=mCMaj(TH−
1/2Z)で定まる。ここで、1/2Zは、半音を表現するもの
とする。第5図を参照すると理解されるとおり、例え
ば、C−1/2Z=C+11/2Z=Bである。従って、次のよ
うな関係となる。
てメンバーシップ関数mCMaj(TH)が求まると、C# Maj
のメンバーシップ関数は、mC # Maj(TH)=mCMaj(TH−
1/2Z)で定まる。ここで、1/2Zは、半音を表現するもの
とする。第5図を参照すると理解されるとおり、例え
ば、C−1/2Z=C+11/2Z=Bである。従って、次のよ
うな関係となる。
mC # Maj(C)=mCMaj(B) mC # Maj(C#)=mCMaj(C) ………… mC # Maj(B)=mCMaj(A#) この結果メンバーシップ関数mC #MMaj(TH)は、第6
図の如くなる。
図の如くなる。
以下同様にして、DMaj〜BMajについてのメンバーシッ
プ関数mDMaj(TH)〜mBMaj(TH)が求まる。以上で、メ
ジャー系のメンバーシップ関数を12のルート音を基準に
して求めたことになる。
プ関数mDMaj(TH)〜mBMaj(TH)が求まる。以上で、メ
ジャー系のメンバーシップ関数を12のルート音を基準に
して求めたことになる。
次にマイナー系のメンバーシップ関数mCm(TH)〜mBm
(TH)を例えば100曲の音譜を用意して、上記同様の手
順で求める。このメンバーシップ関数のうちmCm(TH)
とmC # m(TH)の一例を第7図と第8図に示す。
(TH)を例えば100曲の音譜を用意して、上記同様の手
順で求める。このメンバーシップ関数のうちmCm(TH)
とmC # m(TH)の一例を第7図と第8図に示す。
ブルース系の曲、すなわち、メジャーブルースとマイ
ナーブルースの曲についても例えば100曲づつ選択し、
上記同様の処理を施して、それぞれのメンバーシップ関
数mCMajBS(TH)〜mBMajBS(TH)とmCmBS(TH)〜mBmBS
(TH)を求める。第9図と第10図とは、それぞれ上記メ
ンバーシップ関数のうちのmCMajBS(TH)とmCmBS(TH)
との一例を表している。
ナーブルースの曲についても例えば100曲づつ選択し、
上記同様の処理を施して、それぞれのメンバーシップ関
数mCMajBS(TH)〜mBMajBS(TH)とmCmBS(TH)〜mBmBS
(TH)を求める。第9図と第10図とは、それぞれ上記メ
ンバーシップ関数のうちのmCMajBS(TH)とmCmBS(TH)
との一例を表している。
以上でメジャー、マイナー、メジャーブルース、マイ
ナーブルースのメンバーシップ関数を求めたことになる
が、このほかにも、判断を必要とする調のメンバーシッ
プ関数を上記同様にして求めることが出来ることは言う
までもない。
ナーブルースのメンバーシップ関数を求めたことになる
が、このほかにも、判断を必要とする調のメンバーシッ
プ関数を上記同様にして求めることが出来ることは言う
までもない。
そして、このように予め求めたメンバーシップ関数
が、第2図のROM2に格納されている。なお、以上の説明
からも理解されるとおり、C以外の主音についてのメン
バーシップ関数は、主音をCとするメンバーシップ関数
のTHの指定をシフト操作すれば求められるのでROM2に
は、主音をCとする次の4つのメンバーシップ関数を記
憶しておく。
が、第2図のROM2に格納されている。なお、以上の説明
からも理解されるとおり、C以外の主音についてのメン
バーシップ関数は、主音をCとするメンバーシップ関数
のTHの指定をシフト操作すれば求められるのでROM2に
は、主音をCとする次の4つのメンバーシップ関数を記
憶しておく。
mCMaj(TH)第4図参照、 mCm(TH)第7図参照、 mCMajBS(TH)第9図参照、 mCmBS(TH)第10図参照。
次に、本実施例の動作について説明を行なう。
この実施例においては、所定数の音符入力がなされる
とリアルタイムで調判別を開始するようになっており、
その結果得られる当該曲の調性に関する情報を、グラフ
ィック表示する。
とリアルタイムで調判別を開始するようになっており、
その結果得られる当該曲の調性に関する情報を、グラフ
ィック表示する。
第11図は、CPU1の動作フローを示しており、まず、10
0でイニシャライズの処理がなされる。その後、MIDIイ
ンタフェース4を介して入力される演奏情報に対しての
入出力処理200が行なわれる。続く300にて、ノートON/O
FFの有無が検知され、MIDIインタフェース4を介して新
たにノートON/OFFを示す情報が入力されてきた場合に
は、400の調判定処理を実行し、そうでないときには、3
00から200に戻る。
0でイニシャライズの処理がなされる。その後、MIDIイ
ンタフェース4を介して入力される演奏情報に対しての
入出力処理200が行なわれる。続く300にて、ノートON/O
FFの有無が検知され、MIDIインタフェース4を介して新
たにノートON/OFFを示す情報が入力されてきた場合に
は、400の調判定処理を実行し、そうでないときには、3
00から200に戻る。
調判定処理400は、具体的には、まず401にて、ノート
ONなのかOFFなのかを検知し、新たな入力がONのとき
は、402に進み当該ノートONの音名(音階)nを検出す
る。そして、403でフラグレジスタO(n)を1とす
る。このフラグレジスタO(n)は、RAM3上に設けられ
ている。続いて、404においてON時間測定カウンタT
(n)をクリアした後、スタートして、この新たな入力
音階についてのON時間の計測を開始する。このON時間測
定カウンタT(n)は、CPU1とRAM3とにより構成される
もので、カウントスタートが設定されると、自動的に計
時処理を行なう。そして、404から200にリターンする。
ONなのかOFFなのかを検知し、新たな入力がONのとき
は、402に進み当該ノートONの音名(音階)nを検出す
る。そして、403でフラグレジスタO(n)を1とす
る。このフラグレジスタO(n)は、RAM3上に設けられ
ている。続いて、404においてON時間測定カウンタT
(n)をクリアした後、スタートして、この新たな入力
音階についてのON時間の計測を開始する。このON時間測
定カウンタT(n)は、CPU1とRAM3とにより構成される
もので、カウントスタートが設定されると、自動的に計
時処理を行なう。そして、404から200にリターンする。
もし、401において、OFFが検知されると405にすす
み、当該ノートOFFの音名(音階)nを検出する。続く4
06では、上記フラグレジスタO(n)を0に設定し、40
7において上記ON時間測定カウンタT(n)の計数動作
をストップして、408でこのON時間測定カウンタT
(n)の内容をトータルON時間レジスタSTI(n)に加
算する。このトータルON時間レジスタSTI(n)は、各
音階分の要素をもっていて、ベクトルとして考えること
が出来る。
み、当該ノートOFFの音名(音階)nを検出する。続く4
06では、上記フラグレジスタO(n)を0に設定し、40
7において上記ON時間測定カウンタT(n)の計数動作
をストップして、408でこのON時間測定カウンタT
(n)の内容をトータルON時間レジスタSTI(n)に加
算する。このトータルON時間レジスタSTI(n)は、各
音階分の要素をもっていて、ベクトルとして考えること
が出来る。
409では、これまでに入力された音符数が所定数を越
えたがどうか、つまりレジスタP(OFF)=20を判断し
て、もし、P(OFF)<20ならば、409で、レジスタP
(OFF)を1インクリメントした後、200にリターンす
る。
えたがどうか、つまりレジスタP(OFF)=20を判断し
て、もし、P(OFF)<20ならば、409で、レジスタP
(OFF)を1インクリメントした後、200にリターンす
る。
409でYESの判断がなされると、411に進みレジスタP
(OFF)の値を10だけ減じた後412に進む。つまり、40
9、410、411の動作から理解されるとおり、最初の状態
では、20を越えた音符入力がなされてから、調判定の処
理を行ない、その後は、新たに10の音符入力がなされる
都度調判定の処理を行なうようになる。
(OFF)の値を10だけ減じた後412に進む。つまり、40
9、410、411の動作から理解されるとおり、最初の状態
では、20を越えた音符入力がなされてから、調判定の処
理を行ない、その後は、新たに10の音符入力がなされる
都度調判定の処理を行なうようになる。
412では、次式のトータル時間レジスタSTI(n)の各
成分の自乗和の平方根Fを計算する。
成分の自乗和の平方根Fを計算する。
この式で、Σは、各音階nつまりC〜Bについての和
をとることを意味する。
をとることを意味する。
続く413において、トータルON時間レジスタSTI(n)
の各要素を標準化するために、つまり標準化されたトー
タルON時間レジスタSTI′(n)(これもベクトルと考
えることが出来る)を求めるべく上記トータルON時間レ
ジスタSTI(n)の各成分を、Fで除算する。
の各要素を標準化するために、つまり標準化されたトー
タルON時間レジスタSTI′(n)(これもベクトルと考
えることが出来る)を求めるべく上記トータルON時間レ
ジスタSTI(n)の各成分を、Fで除算する。
この処理(前処理)を行なったのち、ROM2に記憶され
ている各メンバーシップ関数と、標準化されたトータル
ON時間レジスタSTI′(n)との類似度計算を実行す
る。414C〜414Bまでがメジャー系のメンバーシップ関数
との類似度計算であり、415C〜415Bまでがマイナー系の
メンバーシップ関数との類似度計算であり、416C〜416B
までがメジャーブルース系のメンバーシップ関数との類
似度計算であり、417C〜417Bまでがマイナーブルース系
のメンバーシップ関数との類似度計算である。
ている各メンバーシップ関数と、標準化されたトータル
ON時間レジスタSTI′(n)との類似度計算を実行す
る。414C〜414Bまでがメジャー系のメンバーシップ関数
との類似度計算であり、415C〜415Bまでがマイナー系の
メンバーシップ関数との類似度計算であり、416C〜416B
までがメジャーブルース系のメンバーシップ関数との類
似度計算であり、417C〜417Bまでがマイナーブルース系
のメンバーシップ関数との類似度計算である。
一例を説明すると、CMajのメンバーシップ関数MCMaj
(n)(nと上述したTHとは同じであり各音階C〜Bを
さす)と、上記標準化されたトータルON時間レジスタST
I′(n)の各成分との類似度計算は、つぎのようにな
る。
(n)(nと上述したTHとは同じであり各音階C〜Bを
さす)と、上記標準化されたトータルON時間レジスタST
I′(n)の各成分との類似度計算は、つぎのようにな
る。
SCMaj=ΣSTI′(n)*mCMaj(n) この式でΣは、各音階n(C〜B)についての和であ
る。
る。
第11図に示すような各演算を各メンバーシップ関数と
標準化されたトータルON時間レジスタSTI′(n)との
間で行なうと、演算結果としてSCMaj〜SBMaj、SCm〜
SBm、SCMajBS〜SBMajBS、SCmBS〜SBmBSの12*4=48個
の値が求まる。
標準化されたトータルON時間レジスタSTI′(n)との
間で行なうと、演算結果としてSCMaj〜SBMaj、SCm〜
SBm、SCMajBS〜SBMajBS、SCmBS〜SBmBSの12*4=48個
の値が求まる。
そして、この一連の処理の後200に戻り、CPU1は、LCD
ドライバ5にこの類似度計算結果SCMaj〜SBMaj、SCm〜S
Bm、SCMajBS〜SBMajBS、SCmBS〜SBmBSを送り、LCD7を駆
動する。第12図はLCD7の一表示形態を示している。すな
わち、LCD7は、4つの円グラフ表示により、メジャー、
マイナー、メジャーブルース、マイナブルース夫々の各
主音についての、48個の演算結果を示すことが出来る。
従って、使用者は、この4つの円グラフの表示から、現
在演奏入力している楽曲の調が一体何であるのか視覚的
に確認できる。
ドライバ5にこの類似度計算結果SCMaj〜SBMaj、SCm〜S
Bm、SCMajBS〜SBMajBS、SCmBS〜SBmBSを送り、LCD7を駆
動する。第12図はLCD7の一表示形態を示している。すな
わち、LCD7は、4つの円グラフ表示により、メジャー、
マイナー、メジャーブルース、マイナブルース夫々の各
主音についての、48個の演算結果を示すことが出来る。
従って、使用者は、この4つの円グラフの表示から、現
在演奏入力している楽曲の調が一体何であるのか視覚的
に確認できる。
第12図の例では、もっとも大きな値を示しているFMaj
が、最有力候補であり、次の候補としては、A* m、C
Maj、Gmとがあげられる。
が、最有力候補であり、次の候補としては、A* m、C
Maj、Gmとがあげられる。
以上、この発明の一実施例について説明したが、この
実施例によれば、鍵盤などから入力される楽曲の調(調
性)を、リアルタイムで検出し、表示することが出来、
しかも楽曲の途中で、転調などがあってもそれに応じ
て、逐次表示形態が変るので好ましい。この場合、転調
に対してはトータルON時間レジスタSTI′(n)に記憶
する各音階のON時間データ累算値を最新の所定数の音符
に関するもののみとして、移動累算をしてゆくようにす
ると、更に、良い結果が得られる。
実施例によれば、鍵盤などから入力される楽曲の調(調
性)を、リアルタイムで検出し、表示することが出来、
しかも楽曲の途中で、転調などがあってもそれに応じ
て、逐次表示形態が変るので好ましい。この場合、転調
に対してはトータルON時間レジスタSTI′(n)に記憶
する各音階のON時間データ累算値を最新の所定数の音符
に関するもののみとして、移動累算をしてゆくようにす
ると、更に、良い結果が得られる。
さらに、上記実施例では、各調に関して、夫々の確か
らしさをグラフ表示したので、各調の関係も理解出来、
音楽学習には好都合である。
らしさをグラフ表示したので、各調の関係も理解出来、
音楽学習には好都合である。
なお、上記実施例によれば、半音単位で表現されたメ
ンバーシップ関数を準備したが、さらに細かい音程幅
で、メンバーシップ関数を表現するようにしてもよい。
例えば、第13図は、ベンド情報に対しても類似度計算を
行なえるように、細かい音程単位でとったCMajBSのメン
バーシップ関数mCMajBS(TH)を表している。このよう
なことを行なうとにより、ブルース等の特定の調につい
ては、判別結果の精度を上げることが出来る。
ンバーシップ関数を準備したが、さらに細かい音程幅
で、メンバーシップ関数を表現するようにしてもよい。
例えば、第13図は、ベンド情報に対しても類似度計算を
行なえるように、細かい音程単位でとったCMajBSのメン
バーシップ関数mCMajBS(TH)を表している。このよう
なことを行なうとにより、ブルース等の特定の調につい
ては、判別結果の精度を上げることが出来る。
また、上記実施例では、第12図に関連して述べたとお
り、各調について、当該楽曲が該当している確からしさ
をグラフ表示したが、必ずしもこのような表示形態をと
る必要はなく、例えば、類似度計算を行なった結果、も
っとも類似度が大きいと判定された調の名前のみを文字
表示するようにしてもよい。あるいはは、複数の調の候
補と、その確からしさを数値表示するようにしてもよ
い。
り、各調について、当該楽曲が該当している確からしさ
をグラフ表示したが、必ずしもこのような表示形態をと
る必要はなく、例えば、類似度計算を行なった結果、も
っとも類似度が大きいと判定された調の名前のみを文字
表示するようにしてもよい。あるいはは、複数の調の候
補と、その確からしさを数値表示するようにしてもよ
い。
更に上記実施例によれば、鍵盤にて実際に当該楽曲を
演奏して楽曲情報を入力するほか、各種形態で演奏情報
は供給し得る。例えば、マイクロホンから音声入力した
り、予めコード化されている自動演奏情報をこの調性判
別装置に与えたりすることも出来る。
演奏して楽曲情報を入力するほか、各種形態で演奏情報
は供給し得る。例えば、マイクロホンから音声入力した
り、予めコード化されている自動演奏情報をこの調性判
別装置に与えたりすることも出来る。
また、この調性判別装置の判別結果出力を自動伴奏装
置に供給して、自動伴奏の調を制御することにより、最
適な自動伴奏を実行することもできる。このように、調
判別結果出力は、単に表示することのほか各種用途(歌
手識別、カラオケのものまね度の識別等)に使用でき
る。
置に供給して、自動伴奏の調を制御することにより、最
適な自動伴奏を実行することもできる。このように、調
判別結果出力は、単に表示することのほか各種用途(歌
手識別、カラオケのものまね度の識別等)に使用でき
る。
<発明の効果> 以上説明したとおり本発明は、予め、各調における各
音階音の出現頻度(メンバーシップ関数)を用意すれ
ば、楽曲の調性判別が、比較的簡単な計算を実行するだ
けで行われることになり、判定する調性に制限はなく、
また調判定のために複雑なアルゴリズムを必要とせず、
有効である。
音階音の出現頻度(メンバーシップ関数)を用意すれ
ば、楽曲の調性判別が、比較的簡単な計算を実行するだ
けで行われることになり、判定する調性に制限はなく、
また調判定のために複雑なアルゴリズムを必要とせず、
有効である。
図面は、本発明を示し、第1図は、発明の構成図、第2
図は、一実施例の構成図、第3図は、メンバーシップ関
数を説明するための楽譜を表す図、第4図は、Cメジャ
ーのメンバーシップ関数を示す図、第5図は、各ルート
音の関係を示す図、第6図は、C#メジャーのメンバー
シップ関数を示す図、第7図は、Cマイナーのメンバー
シップ関数を示す図、第8図は、C#マイナーのメンバ
ーシップ関数を示す図、第9図は、Cメジャーブルース
のメンバーシップ関数を示す図、第10図は、Cマイナー
ブルースのメンバーシップ関数を示す図、第11図は、CP
Uの処理フローを示す図、第12図は、表示形態を示す
図、第13図は、半音より小さい音程単位でメンバーシッ
プ関数を表現した状態を示す図である。 GS……楽曲情報供給手段、MS……メンバーシップ関数供
給手段、CA……類似度計算手段、OU……出力手段、1…
…CPU、2……ROM、3……RAM、4……MIDIインタフェ
ース、5……LCDドライバ、7……LCD。
図は、一実施例の構成図、第3図は、メンバーシップ関
数を説明するための楽譜を表す図、第4図は、Cメジャ
ーのメンバーシップ関数を示す図、第5図は、各ルート
音の関係を示す図、第6図は、C#メジャーのメンバー
シップ関数を示す図、第7図は、Cマイナーのメンバー
シップ関数を示す図、第8図は、C#マイナーのメンバ
ーシップ関数を示す図、第9図は、Cメジャーブルース
のメンバーシップ関数を示す図、第10図は、Cマイナー
ブルースのメンバーシップ関数を示す図、第11図は、CP
Uの処理フローを示す図、第12図は、表示形態を示す
図、第13図は、半音より小さい音程単位でメンバーシッ
プ関数を表現した状態を示す図である。 GS……楽曲情報供給手段、MS……メンバーシップ関数供
給手段、CA……類似度計算手段、OU……出力手段、1…
…CPU、2……ROM、3……RAM、4……MIDIインタフェ
ース、5……LCDドライバ、7……LCD。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G10H 1/00 - 1/00 102 G10H 1/36 - 1/42 G09B 15/00 - 15/08 G10G 1/00 - 3/04
Claims (1)
- 【請求項1】複数の音符からなる楽曲情報を供給する楽
曲情報供給手段と、 複数の調それぞれについて、各音階音の出現頻度を記憶
する出現頻度記憶手段と、 上記楽曲情報供給手段から与えられる楽曲情報の音符の
音符長を音名毎に累算し、所定の音符数毎に、上記累算
値と出現頻度記憶手段に記憶されている複数の調それぞ
れについての出現頻度とに基づいて所定の計算を行うこ
とにより、その時点までの楽曲情報と複数の調それぞれ
との類似度をリアルタイムに算出する類似度計算手段
と、 上記類似度計算手段によって算出される調毎の類似度を
順次更新表示する表示手段と、 を具備したことを特徴とする調性判別装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2289892A JP2995237B2 (ja) | 1990-10-26 | 1990-10-26 | 調性判別装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2289892A JP2995237B2 (ja) | 1990-10-26 | 1990-10-26 | 調性判別装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04163486A JPH04163486A (ja) | 1992-06-09 |
| JP2995237B2 true JP2995237B2 (ja) | 1999-12-27 |
Family
ID=17749121
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2289892A Expired - Fee Related JP2995237B2 (ja) | 1990-10-26 | 1990-10-26 | 調性判別装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2995237B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6664458B2 (en) | 2001-03-06 | 2003-12-16 | Yamaha Corporation | Apparatus and method for automatically determining notational symbols based on musical composition data |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9918611D0 (en) * | 1999-08-07 | 1999-10-13 | Sibelius Software Ltd | Music database searching |
| DE102006008260B3 (de) * | 2006-02-22 | 2007-07-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zur Analyse eines Audiodatums |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6365159B2 (ja) | 2014-09-16 | 2018-08-01 | 日亜化学工業株式会社 | 発光装置 |
-
1990
- 1990-10-26 JP JP2289892A patent/JP2995237B2/ja not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6365159B2 (ja) | 2014-09-16 | 2018-08-01 | 日亜化学工業株式会社 | 発光装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6664458B2 (en) | 2001-03-06 | 2003-12-16 | Yamaha Corporation | Apparatus and method for automatically determining notational symbols based on musical composition data |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH04163486A (ja) | 1992-06-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5147389B2 (ja) | 楽曲提示装置、楽曲提示プログラム、楽曲提示システム、楽曲提示方法 | |
| JP3303617B2 (ja) | 自動作曲装置 | |
| EP2688063B1 (en) | Note sequence analysis | |
| US8946533B2 (en) | Musical performance training device, musical performance training method and storage medium | |
| EP2342708B1 (en) | Method for analyzing a digital music audio signal | |
| JP3307156B2 (ja) | 音楽情報分析装置 | |
| US20230186877A1 (en) | Musical piece structure analysis device and musical piece structure analysis method | |
| JPH05224668A (ja) | 作編曲アシスト装置 | |
| JP2995237B2 (ja) | 調性判別装置 | |
| US7166792B2 (en) | Storage medium containing musical score displaying data, musical score display apparatus and musical score displaying program | |
| JP2000315081A (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
| JP3489290B2 (ja) | 自動作曲装置 | |
| JP3196604B2 (ja) | 和音分析装置 | |
| JP2000047673A (ja) | カラオケ装置 | |
| JP3454307B2 (ja) | 楽曲の旋律類似度判定方法 | |
| JP2002041068A (ja) | カラオケ装置における歌唱採点方法 | |
| JP4137148B2 (ja) | プログラム、情報記憶媒体及びゲーム装置 | |
| KR100803894B1 (ko) | 음계 인식 방법 및 그 장치 | |
| JP3664126B2 (ja) | 自動作曲装置 | |
| CN118072698A (zh) | 和弦序列生成方法、装置、终端及存储介质 | |
| JPH11237890A (ja) | 歌唱採点機能付きカラオケ装置における歌唱採点方法 | |
| JP3206370B2 (ja) | 音楽情報分析装置 | |
| EP0367191B1 (en) | Automatic music transcription method and system | |
| CN114898725A (zh) | 一种即兴伴奏生成装置 | |
| JPH0594183A (ja) | 楽音制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |