JP2894176B2 - 和音検出装置 - Google Patents
和音検出装置Info
- Publication number
- JP2894176B2 JP2894176B2 JP5253410A JP25341093A JP2894176B2 JP 2894176 B2 JP2894176 B2 JP 2894176B2 JP 5253410 A JP5253410 A JP 5253410A JP 25341093 A JP25341093 A JP 25341093A JP 2894176 B2 JP2894176 B2 JP 2894176B2
- Authority
- JP
- Japan
- Prior art keywords
- sound
- chord
- satisfied
- bass
- analysis
- 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
入力される演奏情報やメモリ等に記憶されている演奏情
報など楽曲の音高情報を含む演奏情報から和音を検出す
る和音検出装置に関する。
る演奏に合わせて自動伴奏を行う所謂自動伴奏機能を備
えたものがある。この種の電子楽器は伴奏音で和音演奏
を行うために、鍵盤から入力される演奏情報すなわち弾
かれた鍵のキーコードに基づいて次のような和音検出を
行っている。
を検出する(特公昭62−33594号)。 強く押鍵された時のみ和音を検出する(特公昭62−
33595号)。 1つの鍵盤を低音側の左鍵域と高音側の右鍵域とに仮
想的に分割し、左鍵域で押鍵された鍵のキーコードに基
づいて和音を検出する。 複数のパートにそれぞれ対応する鍵盤を複数用い、複
数のパートを演奏して入力されたパート毎に異なる処理
を行い、伴奏パートから和音を検出する。
であれば和音が検出可能であるが、通常の演奏からは正
確な和音の検出が困難である。また、の場合は、和音
検出用に強押鍵で演奏しなければならず、不自然な演奏
となることがある。さらに、の場合は、各パートを演
奏する鍵域が限られてしまい、演奏自体が制限されると
いう問題がある。また、の場合は鍵盤が多くなるので
演奏が難しくなり、また、複数の鍵盤を要するので楽器
自体が高価なものとなってしまう。
を改善するためになされたものであり、新たな鍵盤等を
設けることなく、通常の自然な演奏に対して正確な和音
検出を行なえるようにすることを課題とする。
めになした本発明の和音検出装置は、複数の音高情報を
含む演奏情報を入力する演奏情報入力手段と、上記演奏
情報入力手段で入力される演奏情報を解析して奏法を検
出する奏法検出手段と、上記奏法検出手段で検出された
奏法に応じて前記入力された演奏情報を複数のパートに
分解するパート分解手段と、前記分解された複数のパー
トのうち、所定パートの演奏情報に基づいて和音を検出
する和音検出手段と、を備えたことを特徴とする。
は、演奏情報入力手段で入力される演奏情報を解析して
アルペジオ奏法やコード奏法等の奏法を検出し、パート
分解手段は、この奏法検出手段で検出された奏法に心じ
て前記入力された演奏情報を複数のパートに分解し、和
音検出手段は、この分解された複数のパートのうち、所
定パートの演奏情報に基づいて和音を検出する。
法(非アルペジオ奏法、非コード奏法)等の奏法を検出
することにより、入力された演奏情報が複数の演奏パー
トの内のどのパートに属する演奏情報なのか、例えば和
音パートなのか、メロディパートなのかを高精度に検出
することができる。そして、例えば和音パートであると
された演奏情報に基づいて和音を検出することにより、
非和音構成音が多く含まれるメロディパートの演奏情報
を和音検出の対象から排除することができるので、正確
な和音検出が可能となる。
の小節頭や強拍/弱拍等のタイミング、時間的に前後す
る音高情報の音高差、同時押鍵数、同時押鍵音の音高
差、音高情報をパート等のグループ分けしたグループ情
報など、各種の情報あるいはこれらの組合せに基づいて
検出することができる。
電子楽器のブロック図であり、CPU1はプログラムメ
モリ2に格納されている制御プログラムに基づいてワー
キングメモリ3のワーキングエリアを使用して電子楽器
全体の制御を行い、鍵盤4の操作による鍵盤演奏、伴奏
パターンメモリ5に記憶されている伴奏パターンと検出
和音とに基づく自動伴奏を行う。なお、伴奏パターンメ
モリ5には曲のスタイルおよび奏法(モード)に応じた
複数の伴奏パターンが記憶されている。
し、キーイベントのあった鍵に対応するキーコードをキ
ーオン信号またはキーオフ信号とともに取り込み、音源
6にキーコードとノートオンまたはノートオフを出力し
て鍵盤演奏に対応する発音処理と消音処理を行う。な
お、音源6は入力されるキーコードに応じた楽音信号を
発生し、この楽音信号はサウンドシステム7に出力さ
れ、サウンドシステム7はこの楽音信号のD/A変換、
増幅等を行って楽音を発生する。
ストップを指定するスタート/ストップスイッチ、調性
を指定する調設定スイッチ、自動伴奏のスタイル選択や
テンポ設定を行うスイッチ、音源6の音色設定を行うス
イッチなどの各種のスイッチを備えており、これらのス
イッチの操作イベントはCPU1に取り込まれ、CPU
1は各スイッチイベントに応じた処理を行う。
れたテンポをタイマ9に設定し、タイマ9は設定された
テンポに応じて1小節当り96個のテンポクロックをC
PU1に発生する。CPU1はこのテンポクロックによ
って割込み処理を行い、鍵盤4から入力されるキーコー
ドに基づいて奏法を検出しながら、鍵盤4で発生してい
るキーコードをこの奏法に応じたパートに割り当てるグ
ループ解析を行う。
プ解析の結果に基づいて和音を検出し、伴奏パターンメ
モリ5から読み出した伴奏パターンのキーコードを検出
和音に応じて音高変換し、音源6に音高変換したキーコ
ードとノートオンまたはノートオフを出力して自動伴奏
を行う。なお、CPU1は、自動伴奏のスタート時から
テンポクロックをカウントすることにより小節中の強拍
または弱拍のタイミングや小節線(小節頭)のタイミン
グを検出する。
鍵盤4における押鍵音を、上声部で旋律をとるメロディ
声部、メロディに和声を加えるメロディコード声部、下
声部でベースをとるベース声部、ベースに和声付けする
ベースコード声部の4つのパートに分解する。
分解する判断条件は、同時押鍵数、現在のタイミングが
小節の頭であるか否か、現在のタイミングが強拍音か弱
拍音か、前のベース声部音との音程など、アルペジオ、
コードおよびノーマルの各奏法に対応する複数の条件の
組合せであり、これらの条件に応じて現在のキーコード
がどのパートに属するかを決定する。したがって、この
4つのパートは、その音域が固定の音域ではなく演奏情
報に応じて変化するものである。
(A) はアルペジオ奏法、同図(B) はコード奏法を示して
おり、例えば、アルペジオ奏法では和音構成音が時間的
に分散して弾かれ、コード奏法では和音構成音が同時に
弾かれる傾向にある。そこで、このコード奏法のように
同時に多数の音が押鍵された和音(ブロックコードとい
う。)であるか否かを判定して奏法の検出に利用する。
法では和音の根音に限らずベース声部となりやすい強拍
の音をベース音とし、コード奏法では和音の根音をベー
ス音とすることが音楽的に適しているので、この実施例
ではこの奏法に応じてベース音の選択方法も切り替える
ようにしている。なお、この実施例では、例えば強拍で
ベース音を弾いて弱拍でブロックコードを演奏する所謂
スライド奏法はアルペジオ奏法としている。
パートに分解するにあたって、各パートとキーコードの
関係を次式(1)のリスト構造で表すようにしている。 [[a1]. [b1.b2.…].[c1.c2.…].[d1.d2.…]] …(1) ここで、“[”,“]”はリストの各要素を括る記号、
“.”はリストの各要素を区切る記号、a1はベース声部
のキーコード(ベース声部は1音)、b1,b2等はベース
コード声部のキーコード、c1,c2等はメロディコード声
部のキーコード、d1,d2等はメロディ声部のキーコード
であり、上式(1)全体は各パート毎のキーコードのリ
ストをそれぞれ要素とする全体のリスト(以後、「全解
析リスト」という。)を示している。
ループ解析でキーコードを各パートに割り当てながら、
ベースコード声部にキーコードがあればこのベースコー
ド声部に基づく和音検出を行い、ベースコード声部にキ
ーコードがなければメロディコード声部のキーコードに
基づく和音検出を行い、メロディコード声部にキーコー
ドがなければさらにメロディ声部のキーコードに基づく
和音検出を行う。
フローチャート、図4〜図11は割込み処理ルーチンお
よびサブルーチンのフローチャートであり、各フローチ
ャートに基づいて実施例の動作を説明する。なお、以下
の説明では、鍵盤から入力されるキーコードを「入力
音」、各パートのリストの要素となったキーコードを
「検出音」と、必要に応じて適宜呼び代えて説明する。
声部」を「B部」、「ベースコード声部」を「BC
部」、「メロディコード声部」を「MC部」および「メ
ロディ声部」を「M部」と表記する。さらに、以下の説
明および各フローチャートにおいて各レジスタ、フラグ
およびリスト等を下記のラベルで表記し、それらの内容
は特に断らない限り同一のラベルで表す。
オ、C=コード、N=ノーマル) NT:入力音 NT:1音解析時の解析の対象となる入力音 NTL:3音解析時の押鍵下音 NTM:3音解析時の押鍵中音 NTH:3音解析時の押鍵上音 PB:前回のベース声部 PBC:前回のベースコード声部 PMC:前回のメロディコード声部 PM:前回のメロディ声部 PBCTP:前回のベースコード声部の最高音 PMBT:前回のメロディコード声部およびメロディ声
部の最低音 RUN:自動伴奏のスタート/ストップを示すフラグ
の処理を開始すると、ステップA1で各フラグおよびレ
ジスタのリセット等の初期設定を行い、ステップA2で
鍵盤4におけるキーイベントの有無を判定し、キーイベ
ントが無ければステップA8に進み、キーイベントが有
ればステップA3でキーオンイベントであるか否かを判
定する。キーオンイベントであればステップA4で発音
処理行い、ステップA5でキーコードリストにキーコー
ドを追加してステップA8に進む。また、キーオンイベ
ントでなければステップA6で消音処理を行い、ステッ
プA7でキーコードリストからキーコードを削除してス
テップA8に進む。
るスタート/ストップスイッチの操作イベントの有無を
判定し、イベントが無ければステップA13に進み、操
作イベントが有ればステップA9でフラグRUNを反転
し、ステップA10で「RUN=1」であるか否かを判
定する。そして、「RUN=1」であればステップA1
1で伴奏パターンの読み出しポインタをセットするとと
もに、テンポクロックCLKおよびブロックフラグBF
をリセットしてステップA13に進む。また、「RUN
=0」であればステップA12で伴奏音を消音してステ
ップA13に進む。
ける調設定スイッチ、スタイル選択スイッチ、テンポ設
定スイッチ等の操作イベントを検出し、操作イベントが
あればステップA14で各操作イベントに応じた設定処
理を行い、ステップA15でその他の処理を行ってステ
ップA2に戻る。
と消音が行われるとともに、操作スイッチ8におけるス
タート/ストップスイッチの操作による自動伴奏の開始
と停止、および調性の設定、スタイルの選択、テンポの
設定等が行われる。
クロックによって96分の1小節毎に起動され、先ず、
ステップB1で、「RUN=1」であるか否かを判定
し、「RUN=1」でなければ元のルーチンに復帰し、
「RUN=1」であれば、ステップB2で「CLK m
od 12=0」であるか否かを判定し、「CLK m
od 12=0」でなければステップB14に進み、
「CLK mod 12=0」であればステップB3で
図5のグループ解析の処理を行ってステップB4以降で
グループ解析の結果に基づいて和音検出を行う。すなわ
ち、グループ解析および和音検出の処理は8分音符毎に
行われる。
と、ステップB4ベースコード声部の検出音の有無を判
定し、ベースコード声部に検出音があればステップB5
でベースコード声部のキーコードにより和音を検出す
る。ベースコード声部に検出音が無ければステップB6
でメロディコード声部の検出音の有無を判定し、メロデ
ィコード声部に検出音があればステップB7でメロディ
コード声部のキーコードにより和音を検出する。
ればステップB8でメロディ声部の検出音の有無を判定
し、メロディ声部に検出音があればステップB9でメロ
ディ声部のキーコードにより和音を検出する。そして、
メロディ声部にも検出音が無ければ前回の和音を継続す
ることにしてステップB14に進む。
音検出を行うと、ステップB10でベースコード声部に
3音以上あるか否かを判定し、3音以上であればステッ
プB11で「mode=A」であるか否か、すなわち、
モードがアルペジオであるか否かを判定し、「mode
=A」であればステップB12でベース声部のキーコー
ドをレジスタBSに格納してステップB14に進む。
合(ステップB10)、モードがアルペジオでない場合
(ステップB11)、ステップB7でメロディコード声
部による和音検出を行った場合、およびステップB9で
メロディ声部による和音検出を行った場合は、それぞれ
ステップB13で検出和音の根音をレジスタBSに格納
してステップB14に進む。
た全解析リストに基づいてベースコード声部とメロディ
コード声部の検出音が和音検出に用いられ、ベースコー
ド声部、メロディコード声部およびメロディ声部の順に
優先順位を持たせて和音検出が行われる。
上でモードがアルペジオであった場合にはベース音BS
としてベース声部のキーコードが用いられ、それ以外の
場合はベース音として検出和音の根音が用いられる。す
なわち、図2で説明したように、アルペジオ奏法の場合
は最初の音をベース音とし、コード奏法の場合は和音の
根音をベース音とされる。
およびCLKに基づいて伴奏パターンを読み出して再生
する。伴奏パターンはスタイル、モード毎にあり、その
時のスタイル、modeに応じて選択され、CLKに基
づいて読み出される。読み出された伴奏パターンのキー
コードは調および検出和音により音高変換して再生す
る。また、ベースパターンはベース音BSに応じて音高
変換して再生する。そして、ステップB15でテンポク
ロックCLKをインクリメントして元のルーチンに復帰
する。
「BF=1」であるか否かを判定し、「BF=1」であ
ればステップC2で「入力音数が0またはBCBに入力
音が含まれている」という条件を満足するか否かを判定
し、条件を満足すればステップC9に進み、条件を満足
しなければステップC3でブロックフラグBFをクリア
してステップC9に進む。すなわち、前回までがブロッ
クコードで現在の入力音が無いか前回の入力音に含まれ
ている場合はブロックフラグBFを現在のまま“1”に
し、入力音が新たな音の場合にはブロックフラグBFを
“0”にする。
プC4で入力音が4音以上であるか否かを判定し、4音
以上であればステップC7に進み、4音以上でなければ
ステップC5で入力音が3音であるかを判定する。3音
でなければステップC9に進み、3音であれば、ステッ
プC6で「上2音の音程(音高差)が8度または6度」
という条件を満足するか否かを判定し、条件を満足すれ
ばステップC9に進み、条件を満足しなければステップ
C7でブロックフラグBFを“1”にセットし、ステッ
プC8で現在の入力音をレジスタBCBに格納してステ
ップC9に進む。
合はブロックコードと判定し、3音の場合は条件付きで
ブロックコードと判定される。例えば、ベース単音とメ
ロディ2音が同時に弾かれた場合などのように3音でも
ブロックコードといえない場合(上2音の音程が8度ま
たは6度のとき)はブロックコードと判定しないように
なっている。
検出音(メロディ音)をリストPMに、前回のメロディ
コード声部の検出音(メロディコード音)をリストPM
Cに、前回のベースコード声部の検出音(ベースコード
音)をリストPBCに、前回のベース声部の検出音(ベ
ース音)をレジスタPBにそれぞれ格納して前回の解析
結果を各リストおよびレジスタに記憶し、ステップC1
0に進む。
て、0音の場合(入力音無しの場合)はステップC11
以降の処理を行い、1音の場合はステップC15で(入
力音)をNt に格納してステップC16で図6の1音解
析の処理を行い、3音の場合はステップC17で図10
の3音解析の処理を行い、その他の場合はステップC1
8で2音または4音以上の場合の解析をそれぞれ行って
元のルーチンに復帰する。
節頭であるか否かを判定し、小節頭であればステップC
12で全解析リストを[[PB].[].[].[]]
にして前回のベース音だけを有効にして元のルーチンに
復帰する。また、小節頭でなければステップC13で現
在のタイミングが弱拍であるか否かを判定し、弱拍であ
れば元のルーチンに復帰し、弱拍でなければ、すなわ
ち、強拍であればステップC14で全解析リスト
を[[].[].[].[]](全て空リスト)にして
元のルーチンに復帰する。
解析結果をリストPNSQに格納するとともにベースコ
ード声部の最高音をレジスタPBCTPに格納し、ステ
ップD2で前回のベース音PBの有無を判定し、前回の
ベース音PBが無ければステップD3で「Nt ≦G3コ
ード(キーコード)」であるか否か、すなわち、入力音
NTが「一点ト(ソ)」またはそれより下の音であるか
否かを判定する。
ース音とみなしてステップD10で全解析リストを
[[NT].[].[].[]]とするとともにmod
eをノーマル(N)にして元のルーチンに復帰する。ま
た、「NT≦G3コード」でなければNTをメロディ音
とみなしてステップD4で全解析リスト
を[[].[].[].[NT]]として元のルーチン
に復帰する。
ば、ステップD5で現在のタイミングが小節頭であるか
否かを判定し、小節頭であればステップD9以降の処理
を行い、小節頭でなければステップD6で現在のタイミ
ングが強拍か否かを判定して、強拍であればステップD
7で図7の強拍解析の処理を行って元のルーチンに復帰
し、強拍でなければステップD8で図8の弱拍解析の処
理を行って元のルーチンに復帰する。
小節頭であった場合の処理であり、先ずステップD9
で、「NT=PB」であるか否かすなわち入力音が前回
のベース音と同じであるか否かを判定し、同じであれば
ステップD10の処理を行い、同じでなければステップ
D11で「Nt ≦C4コードかつNt <PB+12」の
条件を満足するか否かを判定する。
プD10に進み、条件を満足しなければステップD12
で「Nt >C4コードかつNt <PBS+完全5度」の
条件を満足するか否かを判定する。ステップD12で条
件を満足すればステップD10に進み、条件を満足しな
ければ入力音NTをメロディ音と判定して、ステップD
13で全解析リストを[[].[].[].[NT]]
とするとともにmodeをノーマル(N)にして元のル
ーチンに復帰する。
音がない場合はG3コードを基準にしてベース声部かメ
ロディ声部に割り当て、前回ベース音がある場合は現在
のタイミングが小節頭であるか否かによって異なる条件
で解析を行う。小節頭の場合は前回ベース音PBSとC
4コードに応じた条件で解析を行い、ベース声部または
メロディ声部に割り当てられる。また、前回ベース音が
あり、現在のタイミングが小節頭でない場合は、現在の
タイミングが強拍のタイミングか弱拍のタイミングかに
応じて解析を行う。
で入力音NTが前回のベース音PBと同じであるか否か
を判定し、同じであればステップE2で全解析リストを
[[PB].PBC.[].[]]として元のルーチン
に復帰する。すなわち、同じ音であればベース音とベー
スコード音は前回のままにする。また、同じでなければ
ステップE3で「PB−長2度≦NT<PB+長2度」
の条件を満足するか否かを判定し、条件を満足すればす
なわち前回ベース音の近傍の範囲内にあれば、入力音N
Tをベース音とみなしてステップE4で全解析リストを
[[NT].[].[].[]]として元のルーチンに
復帰する。
度」の条件を満足しなければステップE5で「NT<P
B−長2度」の条件を満足するか否かを判定し、条件を
満足すればステップE6に進み、条件を満足しなければ
ステップE10に進む。
かを判定し、「BF=1」であれば入力音NTをベース
音とみなしてステップE7で全解析リストを[[N
T].[].[].[]]とするとともにmodeをア
ルペジオ(A)にして元のルーチンに復帰する。また、
「BF=1」でなければステップE8で前回のベースコ
ード声部PBCに前回のベース音PBを加入してリスト
CBCNTに格納し、ステップE9で全解析リストを
[[NT].CBCNT.[].[]]とするとともに
modeをコード(C)にして元のルーチンに復帰す
る。
5で、「NT<PB−長2度」の条件を満足しない場合
であり、先ず、「NT≦PBCTP」の条件を満足する
か否かを判定し、条件を満足すればステップE12に進
み、満足しなければ、すなわち、入力音NTが前回のベ
ースコード声部の最高音より高い場合はステップE11
で図9のアルペジオ拡張の処理を行って元のルーチンに
復帰する。
るか否かを判定し、「mode=C」であれば、NTを
メロディ音とみなして、ステップE13で前回のベース
コード声部からNT以上高い音を除去してリストCBC
NTに格納し、ステップE14で全解析リストを[[P
B].CBCNT.[].[NT]]として元のルーチ
ンに復帰する。
でなければ、ステップE15でNTがPBCに含まれて
いるか否かを判定し、含まれていればステップE16で
全解析リストを[[PB].PBC.[].[]]とし
て元のルーチンに復帰し、NTがPBCに含まれていな
ければ、NTをベース音とみなしてステップE17で全
解析リストを[[NT].[].[].[]]とすると
ともにmodeをコード(C)にして元のルーチンに復
帰する。
E10で入力音NTが前回のベースコード声部の最高音
PBCTPより高い場合はステップE11でアルペジオ
拡張が行われ、入力音NTがベースコード声部のリスト
に加入されてベースコード声部のリストが拡張される傾
向になる。
15で入力音NTが前回のベースコード声部に含まれて
いない場合は、ステップE17で入力音NTがベース声
部とされる傾向になる。
で入力音NTが前回のベース音PBと同じであるか否か
を判定し、同じであればステップF2で全解析リストを
[[PB].PBC.[].[]]として元のルーチン
に復帰する。また、同じでなければステップF3で「N
T<PB」であるか否かを判定し、「NT<PB」であ
ればステップF4に進み、「NT<PB」でなければス
テップF10に進む。
かを判定し、「BF=1」であれば入力音NTをベース
音とみなしてステップF5で全解析リストを[[N
T].[].[].[]]とするとともにmodeをア
ルペジオ(A)にして元のルーチンに復帰する。また、
「BF=1」でなければステップF6で前回のベースコ
ード声部PBCに前回のベース音PBを加入してリスト
CBCNTに格納し、ステップF7で全解析リストを
[[NT].CBCNT.[].[]]としてステップ
F8に進む。
か否かを判定し、「mode=A」であれば元のルーチ
ンに復帰し、「mode=A」でなければステップF9
でmodeをコード(C)にして元のルーチンに復帰す
る。
「NT<PB」でない場合の処理であり、先ず、「PB
<NT≦PB+長2度」の条件を満足するか否かを判定
し、条件を満足しなければステップF12に進み、満足
すればれば、すなわち、入力音NTが前回のベース音の
上長2度以内であれば入力音NTをベース音とみなして
ステップF11で全解析リストを[[N
T].[].[].[]]とするとともにmodeをノ
ーマル(N)にして元のルーチンに復帰する。
の条件を満足するか否かを判定し、条件を満足すればス
テップF14に進み、満足しなければ、すなわち、入力
NTが前回のベースコード声部の最高音より高い場合は
ステップF13で図9のアルペジオ拡張の処理を行って
元のルーチンに復帰する。
るか否かを判定し、「mode=C」であれば、NTを
メロディ音とみなして、ステップF15で前回のベース
コード声部からNT以上高い音を除去してリストCBC
NTに格納し、ステップF16で全解析リストを[[P
B].CBCNT.[].[NT]]として元のルーチ
ンに復帰する。
でなければ、ステップF17でNTがPBCに含まれて
いるか否かを判定し、含まれていればステップF18で
全解析リストを[[PB].PBC.[].[]]とし
て元のルーチンに復帰する。NTがPBCに含まれてい
なければ、NTをベース音とみなしてステップF19で
前回のベースコード声部PBCに入力音NTを加入して
リストCBCNTに格納し、ステップF20で全解析リ
ストを[[NT].CBCNT.[].[]]とすると
ともにmodeをアルペジオ(A)にして元のルーチン
に復帰する。
F12で入力音NTが前回のベースコード声部の最高音
PBCTPより高い場合はステップF13でアルペジオ
拡張が行われ、入力音NTがベースコード声部のリスト
に加入されてベースコード声部のリストが拡張される傾
向になる。
17で入力音NTが前回のベースコード声部に含まれて
いない場合でも、ステップF19およびステップF20
により、入力音NTがベースコード声部のリストに加入
されてベースコード声部のリストが拡張され、モードが
アルペジオとなる傾向になる。
処理により入力音NTがベース音とされる傾向がある
が、弱拍解析のステップF20ではベース音は前回のベ
ース音PBとされ、この弱拍解析は強拍解析よりもベー
ス音が変化しにくいようになっている。
プG1で前回のメロディコード声部と前回のメロディ声
部の中の最低音をレジスタPMBTに格納し、ステップ
G2で入力音NTが前回の押鍵音に含まれているか否か
を判定する。含まれていれば入力音NTをメロディ音と
みなしてステップG3で全解析リストを[[PB].P
BC.[].[NT]]とし、元のルーチンに復帰す
る。
ていなければ、ステップG4で「mode=C」である
か否かを判定し、「mode=C」であればステップG
3に進み、「mode=C」でなければステップG5で
「前回のメロディ声部PMがあり、かつ、PMBT−N
T≦NT−PBCTP」の条件を満足するか否かを判定
する。
G3に進み、条件を満足しなければステップG6で「0
<NT−PBCTP≦長6度」の条件を満足するか否か
を判定し、条件を満足すれば入力音NTがベースコード
声部(その最高音PBCTP)に近いので、ステップG
7で前回のベースコード声部PBCに入力音NTを加入
してリストCBCNTに格納し、ステップG8で全解析
リストを[[PB].CBCNT.[].[]]とする
とともにmodeをアルペジオ(A)にして元のルーチ
ンに復帰する。このステップG7,G8の処理により、
アルペジオ拡張が行われる。
ば、ステップG9で全解析リストを[[PB].PB
C.[].[NT]]として元のルーチンに復帰する。
1で、3つの入力音の上音をNTHに、中音をNTM
に、下音をNTLにそれぞれ格納し、ステップH2で下
音NTLをレジスタNTに入れてステップH3で図6の
1音解析を行う。
と、ステップH4で1音解析の結果が[[NT].*.
[].[]](記号「*」は何でもよい場合を示してい
る。)の条件を満足するか否かを判定し、条件を満足す
れば、すなわち、3音の下音がベース音で、メロディコ
ード音とメロディ音が無い場合はステップH6に進み、
条件を満足しなければステップH5で図11の3音解析
の処理を行って元のルーチンに復帰する。
度以内」という条件を満足するか否かを判定し、条件を
満足しなければステップH8に進み、条件を満足すれば
ステップH7で全解析リストを[[NTL].[NT
M.NTH].[].[]]とするとともにmodeを
コード(C)にして元のルーチンに復帰する。
が5度以内」という条件を満足するか否かを判定し、条
件を満足しなければステップH10に進み、条件を満足
すればステップH9で全解析リストを[[NTL].
[NTM].[].[NTH]]とするとともにmod
eをコード(C)にして元のルーチンに復帰する。
隔が5度以内」という条件を満足するか否かを判定し、
条件を満足しなければステップH12に進み、条件を満
足すればステップH11で全解析リストを[[NT
L].[].[NTM.NTH].[]]とするととも
にmodeをノーマル(N)にして元のルーチンに復帰
する。
隔が6度または8度」であるという条件を満足するか否
かを判定し、条件を満足しなければステップH13で全
解析リストを[[NTL].[].[].[NTM.N
TH]]とするとともにmodeをノーマル(N)にし
て元のルーチンに復帰する。また、ステップH12で条
件を満足しなければ、ステップH14で全解析リストを
[[NTL].[NTM].[].[NTH]]とする
とともにmodeをコード(C)にして元のルーチンに
復帰する。
「3音の間隔が各々5度以内」という条件を満足するか
否かを判定し、条件を満足しなければステップh3に進
み、条件を満足すればステップh2で全解析リストを
[[PB].[].[NTL.NTM.NT
H].[]]として元のルーチンに復帰する。
が5度以内」という条件を満足するか否かを判定し、条
件を満足しなければステップh5に進み、条件を満足す
ればステップh4で全解析リストを[[PB].[NT
L.NTM].[].[NTH]]として元のルーチン
に復帰する。
が5度以内」という条件を満足するか否かを判定し、条
件を満足しなければステップh7に進み、条件を満足す
ればステップh6で全解析リストを[[PB].[NT
L].[NTM.NTH].[]]として元のルーチン
に復帰する。
が8度以内」であるという条件を満足するか否かを判定
し、条件を満足しなければステップh11に進み、条件
を満足すればステップh8で「3音の上2音の間隔が6
度または8度」であるという条件を満足するか否かを判
定し、条件を満足しなければステップh9で全解析リス
トを[[PB].[NTL.NTM].[].[NT
H]]として元のルーチンに復帰する。また、条件を満
足すればステップh10で全解析リストを[[PB].
[NTL].[].[NTM.NTH]]として元のル
ーチンに復帰する。
隔が6度または8度」であるという条件を満足するか否
かを判定し、条件を満足しなければステップh12で全
解析リストを[[PB].[NTL.NTM].[].
[NTH]]として元のルーチンに復帰する。また、条
件を満足すればステップh10で全解析リストを[[P
B].[NTL].[].[NTM.NTH]]として
元のルーチンに復帰する。
の相互の音程(音高差)に応じて各音を各パートに割り
当て、この割り当て方に応じてモードが設定される。ま
た、2音および4音以上の解析についても同様に音楽的
な条件に応じてパートに割り当てられる。
情報を分析して奏法を検出するとともにこの奏法に応じ
て入力音がグループ分けされ、このグループ分けされた
結果に基づいて和音がリアルタイムで検出される。
パートのキーコードに基づいて和音を検出するようにし
ているので、和音構成音を奏法に応じて抽出することが
でき、和音検出の精度を高めることができる。
報の分析を行うようにしているが、キーイベントが発生
する毎に分析を行うようにしてもよい。また、鍵盤から
の演奏情報に限らず、MIDI情報などで供給される演
奏情報についても同様の処理を行うことができる。さら
に、リアルタイムの演奏情報に限らず、既に演奏されて
メモリに記憶されている演奏情報について同様の処理を
行ってもよい。また、符長を考慮して奏法を検出するよ
うにしてもよい。
置によれば、演奏情報入力手段から入力される複数の音
高情報を含む演奏情報を解析してアルペジオ奏法やコー
ド奏法等の奏法を検出し、この検出した奏法に応じて演
奏情報を複数のパートに分解し、分解された複数のパー
トのうち、所定パートの演奏情報に基づいて和音を検出
するようにしたので、新たな鍵盤等を設けることなく、
通常の自然な演奏に対して和音検出を行うことができる
とともに、例えば非和音構成音が多く含まれるメロディ
パートの演奏情報を和音検出の対象から排除することが
できるので、正確な和音検出を行うことができる。
楽器のブロック図である。
一例を示す図である。
トである。
ある。
ートである。
である。
である。
である。
ャートである。
トである。
ートである。
モリ、4…鍵盤、5…伴奏パターンメモリ、6…音源、
7…サウンドシステム、8…操作スイッチ、9…タイ
マ。
Claims (1)
- 【請求項1】 複数の音高情報を含む演奏情報を入力す
る演奏情報入力手段と、 上記演奏情報入力手段で入力される演奏情報を解析して
奏法を検出する奏法検出手段と、 上記奏法検出手段で検出された奏法に応じて前記入力さ
れた演奏情報を複数のパートに分解するパート分解手段
と、 前記分解された複数のパートのうち、所定パートの演奏
情報に基づいて 和音を検出する和音検出手段と、 を備えたことを特徴とする和音検出装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5253410A JP2894176B2 (ja) | 1993-10-08 | 1993-10-08 | 和音検出装置 |
DE69426588T DE69426588T2 (de) | 1993-10-08 | 1994-10-07 | Elektronische Musikvorrichtung |
EP94115846A EP0647934B1 (en) | 1993-10-08 | 1994-10-07 | Electronic musical apparatus |
US08/798,611 US5796026A (en) | 1993-10-08 | 1997-02-11 | Electronic musical apparatus capable of automatically analyzing performance information of a musical tune |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5253410A JP2894176B2 (ja) | 1993-10-08 | 1993-10-08 | 和音検出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07110684A JPH07110684A (ja) | 1995-04-25 |
JP2894176B2 true JP2894176B2 (ja) | 1999-05-24 |
Family
ID=17251002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5253410A Expired - Fee Related JP2894176B2 (ja) | 1993-10-08 | 1993-10-08 | 和音検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2894176B2 (ja) |
-
1993
- 1993-10-08 JP JP5253410A patent/JP2894176B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07110684A (ja) | 1995-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6816833B1 (en) | Audio signal processor with pitch and effect control | |
US8314320B2 (en) | Automatic accompanying apparatus and computer readable storing medium | |
US8324493B2 (en) | Electronic musical instrument and recording medium | |
JPH1074087A (ja) | 自動伴奏パターン発生装置及び方法 | |
USRE37041E1 (en) | Voice processor | |
US20100224051A1 (en) | Electronic musical instrument having ad-lib performance function and program for ad-lib performance function | |
JP2879948B2 (ja) | 音声処理装置 | |
US20130047821A1 (en) | Accompaniment data generating apparatus | |
JP3049989B2 (ja) | 演奏情報分析装置および和音検出装置 | |
JP2894177B2 (ja) | 演奏情報分析装置 | |
US6750390B2 (en) | Automatic performing apparatus and electronic instrument | |
JP2894176B2 (ja) | 和音検出装置 | |
JP2894178B2 (ja) | 演奏情報における奏法検出方法 | |
US5796026A (en) | Electronic musical apparatus capable of automatically analyzing performance information of a musical tune | |
JP2768233B2 (ja) | 電子楽器 | |
US5942711A (en) | Roll-sound performance device and method | |
JP4253997B2 (ja) | 楽音情報変換装置、その制御方法、該制御方法を実現するプログラムを格納した記憶媒体 | |
JP3329242B2 (ja) | 演奏データ分析装置および演奏データ分析プログラムを記録した媒体 | |
JP3189837B2 (ja) | 演奏情報分析装置および演奏情報分析方法 | |
JP3186752B2 (ja) | 演奏情報分析装置および演奏情報分析方法 | |
JPH02173698A (ja) | 電子楽器 | |
JP3186748B2 (ja) | 演奏情報分析装置および演奏情報分析方法 | |
JP3978277B2 (ja) | 自動伴奏装置 | |
JP2504260B2 (ja) | 楽音周波数情報発生装置 | |
JP2513341B2 (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: 19990202 |
|
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: 20090305 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090305 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100305 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110305 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110305 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120305 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |