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
Application number
JP5253410A
Other languages
English (en)
Other versions
JPH07110684A (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 JP5253410A priority Critical patent/JP2894176B2/ja
Priority to DE69426588T priority patent/DE69426588T2/de
Priority to EP94115846A priority patent/EP0647934B1/en
Publication of JPH07110684A publication Critical patent/JPH07110684A/ja
Priority to US08/798,611 priority patent/US5796026A/en
Application granted granted Critical
Publication of JP2894176B2 publication Critical patent/JP2894176B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子楽器の鍵盤等から
入力される演奏情報やメモリ等に記憶されている演奏情
報など楽曲の音高情報を含む演奏情報から和音を検出す
る和音検出装置に関する。
【0002】
【従来の技術】従来、電子楽器において、鍵盤で弾かれ
る演奏に合わせて自動伴奏を行う所謂自動伴奏機能を備
えたものがある。この種の電子楽器は伴奏音で和音演奏
を行うために、鍵盤から入力される演奏情報すなわち弾
かれた鍵のキーコードに基づいて次のような和音検出を
行っている。
【0003】複数の鍵が同時に押鍵された時のみ和音
を検出する(特公昭62−33594号)。 強く押鍵された時のみ和音を検出する(特公昭62−
33595号)。 1つの鍵盤を低音側の左鍵域と高音側の右鍵域とに仮
想的に分割し、左鍵域で押鍵された鍵のキーコードに基
づいて和音を検出する。 複数のパートにそれぞれ対応する鍵盤を複数用い、複
数のパートを演奏して入力されたパート毎に異なる処理
を行い、伴奏パートから和音を検出する。
【0004】しかし、の場合は、ごく単純な演奏から
であれば和音が検出可能であるが、通常の演奏からは正
確な和音の検出が困難である。また、の場合は、和音
検出用に強押鍵で演奏しなければならず、不自然な演奏
となることがある。さらに、の場合は、各パートを演
奏する鍵域が限られてしまい、演奏自体が制限されると
いう問題がある。また、の場合は鍵盤が多くなるので
演奏が難しくなり、また、複数の鍵盤を要するので楽器
自体が高価なものとなってしまう。
【0005】
【発明が解決しようとする課題】本発明は、上記の欠点
を改善するためになされたものであり、新たな鍵盤等を
設けることなく、通常の自然な演奏に対して正確な和音
検出を行なえるようにすることを課題とする。
【0006】
【課題を解決するための手段】上記の課題を解決するた
めになした本発明の和音検出装置は、複数の音高情報を
含む演奏情報を入力する演奏情報入力手段と、上記演奏
情報入力手段で入力される演奏情報を解析して奏法を検
出する奏法検出手段と、上記奏法検出手段で検出された
奏法に応じて前記入力された演奏情報を複数のパートに
分解するパート分解手段と、前記分解された複数のパー
トのうち、所定パートの演奏情報に基づいて和音を検出
する和音検出手段と、を備えたことを特徴とする。
【0007】
【作用】本発明の和音検出装置において、奏法検出手段
は、演奏情報入力手段で入力される演奏情報を解析して
アルペジオ奏法やコード奏法等の奏法を検出し、パート
分解手段は、この奏法検出手段で検出された奏法に心じ
て前記入力された演奏情報を複数のパートに分解し、
音検出手段は、この分解された複数のパートのうち、所
定パートの演奏情報に基づいて和音を検出する。
【0008】アルペジオ奏法、コード奏法、ノーマル奏
法(非アルペジオ奏法、非コード奏法)等の奏法を検出
することにより、入力された演奏情報が複数の演奏パー
トの内のどのパートに属する演奏情報なのか、例えば和
音パートなのか、メロディパートなのかを高精度に検出
することができる。そして、例えば和音パートであると
された演奏情報に基づいて和音を検出することにより、
非和音構成音が多く含まれるメロディパートの演奏情報
を和音検出の対象から排除することができるので、正確
な和音検出が可能となる。
【0009】なお、演奏情報における奏法は、演奏情報
の小節頭や強拍/弱拍等のタイミング、時間的に前後す
る音高情報の音高差、同時押鍵数、同時押鍵音の音高
差、音高情報をパート等のグループ分けしたグループ情
報など、各種の情報あるいはこれらの組合せに基づいて
検出することができる。
【0010】
【実施例】図1は本発明実施例の和音検出装置を備えた
電子楽器のブロック図であり、CPU1はプログラムメ
モリ2に格納されている制御プログラムに基づいてワー
キングメモリ3のワーキングエリアを使用して電子楽器
全体の制御を行い、鍵盤4の操作による鍵盤演奏、伴奏
パターンメモリ5に記憶されている伴奏パターンと検出
和音とに基づく自動伴奏を行う。なお、伴奏パターンメ
モリ5には曲のスタイルおよび奏法(モード)に応じた
複数の伴奏パターンが記憶されている。
【0011】CPU1は鍵盤4のキーイベントを検出
し、キーイベントのあった鍵に対応するキーコードをキ
ーオン信号またはキーオフ信号とともに取り込み、音源
6にキーコードとノートオンまたはノートオフを出力し
て鍵盤演奏に対応する発音処理と消音処理を行う。な
お、音源6は入力されるキーコードに応じた楽音信号を
発生し、この楽音信号はサウンドシステム7に出力さ
れ、サウンドシステム7はこの楽音信号のD/A変換、
増幅等を行って楽音を発生する。
【0012】操作スイッチ8は、自動伴奏のスタート/
ストップを指定するスタート/ストップスイッチ、調性
を指定する調設定スイッチ、自動伴奏のスタイル選択や
テンポ設定を行うスイッチ、音源6の音色設定を行うス
イッチなどの各種のスイッチを備えており、これらのス
イッチの操作イベントはCPU1に取り込まれ、CPU
1は各スイッチイベントに応じた処理を行う。
【0013】また、CPU1は操作スイッチ8で設定さ
れたテンポをタイマ9に設定し、タイマ9は設定された
テンポに応じて1小節当り96個のテンポクロックをC
PU1に発生する。CPU1はこのテンポクロックによ
って割込み処理を行い、鍵盤4から入力されるキーコー
ドに基づいて奏法を検出しながら、鍵盤4で発生してい
るキーコードをこの奏法に応じたパートに割り当てるグ
ループ解析を行う。
【0014】そして、CPU1は割込み処理毎のグルー
プ解析の結果に基づいて和音を検出し、伴奏パターンメ
モリ5から読み出した伴奏パターンのキーコードを検出
和音に応じて音高変換し、音源6に音高変換したキーコ
ードとノートオンまたはノートオフを出力して自動伴奏
を行う。なお、CPU1は、自動伴奏のスタート時から
テンポクロックをカウントすることにより小節中の強拍
または弱拍のタイミングや小節線(小節頭)のタイミン
グを検出する。
【0015】ここで、この実施例のグループ解析では、
鍵盤4における押鍵音を、上声部で旋律をとるメロディ
声部、メロディに和声を加えるメロディコード声部、下
声部でベースをとるベース声部、ベースに和声付けする
ベースコード声部の4つのパートに分解する。
【0016】また、このグループ解析で4つのパートに
分解する判断条件は、同時押鍵数、現在のタイミングが
小節の頭であるか否か、現在のタイミングが強拍音か弱
拍音か、前のベース声部音との音程など、アルペジオ、
コードおよびノーマルの各奏法に対応する複数の条件の
組合せであり、これらの条件に応じて現在のキーコード
がどのパートに属するかを決定する。したがって、この
4つのパートは、その音域が固定の音域ではなく演奏情
報に応じて変化するものである。
【0017】図2は奏法の一例を示す図である。同図
(A) はアルペジオ奏法、同図(B) はコード奏法を示して
おり、例えば、アルペジオ奏法では和音構成音が時間的
に分散して弾かれ、コード奏法では和音構成音が同時に
弾かれる傾向にある。そこで、このコード奏法のように
同時に多数の音が押鍵された和音(ブロックコードとい
う。)であるか否かを判定して奏法の検出に利用する。
【0018】また、ベース音については、アルペジオ奏
法では和音の根音に限らずベース声部となりやすい強拍
の音をベース音とし、コード奏法では和音の根音をベー
ス音とすることが音楽的に適しているので、この実施例
ではこの奏法に応じてベース音の選択方法も切り替える
ようにしている。なお、この実施例では、例えば強拍で
ベース音を弾いて弱拍でブロックコードを演奏する所謂
スライド奏法はアルペジオ奏法としている。
【0019】この実施例では、キーコードを前記4つの
パートに分解するにあたって、各パートとキーコードの
関係を次式(1)のリスト構造で表すようにしている。 [[a1]. [b1.b2.…].[c1.c2.…].[d1.d2.…]] …(1) ここで、“[”,“]”はリストの各要素を括る記号、
“.”はリストの各要素を区切る記号、a1はベース声部
のキーコード(ベース声部は1音)、b1,b2等はベース
コード声部のキーコード、c1,c2等はメロディコード声
部のキーコード、d1,d2等はメロディ声部のキーコード
であり、上式(1)全体は各パート毎のキーコードのリ
ストをそれぞれ要素とする全体のリスト(以後、「全解
析リスト」という。)を示している。
【0020】そして、このように演奏の進行に応じてグ
ループ解析でキーコードを各パートに割り当てながら、
ベースコード声部にキーコードがあればこのベースコー
ド声部に基づく和音検出を行い、ベースコード声部にキ
ーコードがなければメロディコード声部のキーコードに
基づく和音検出を行い、メロディコード声部にキーコー
ドがなければさらにメロディ声部のキーコードに基づく
和音検出を行う。
【0021】図3は制御プログラムのメインルーチンの
フローチャート、図4〜図11は割込み処理ルーチンお
よびサブルーチンのフローチャートであり、各フローチ
ャートに基づいて実施例の動作を説明する。なお、以下
の説明では、鍵盤から入力されるキーコードを「入力
音」、各パートのリストの要素となったキーコードを
「検出音」と、必要に応じて適宜呼び代えて説明する。
【0022】また、フローチャートにおいて、「ベース
声部」を「B部」、「ベースコード声部」を「BC
部」、「メロディコード声部」を「MC部」および「メ
ロディ声部」を「M部」と表記する。さらに、以下の説
明および各フローチャートにおいて各レジスタ、フラグ
およびリスト等を下記のラベルで表記し、それらの内容
は特に断らない限り同一のラベルで表す。
【0023】BCB:前回の入力音 BS:ベース音 BF:ブロックフラグ CLK:テンポクロック mode:モード(奏法)を示すフラグ(A=アルペジ
オ、C=コード、N=ノーマル) NT:入力音 NT:1音解析時の解析の対象となる入力音 NTL:3音解析時の押鍵下音 NTM:3音解析時の押鍵中音 NTH:3音解析時の押鍵上音 PB:前回のベース声部 PBC:前回のベースコード声部 PMC:前回のメロディコード声部 PM:前回のメロディ声部 PBCTP:前回のベースコード声部の最高音 PMBT:前回のメロディコード声部およびメロディ声
部の最低音 RUN:自動伴奏のスタート/ストップを示すフラグ
【0024】電源の投入によって図3のメインルーチン
の処理を開始すると、ステップA1で各フラグおよびレ
ジスタのリセット等の初期設定を行い、ステップA2で
鍵盤4におけるキーイベントの有無を判定し、キーイベ
ントが無ければステップA8に進み、キーイベントが有
ればステップA3でキーオンイベントであるか否かを判
定する。キーオンイベントであればステップA4で発音
処理行い、ステップA5でキーコードリストにキーコー
ドを追加してステップA8に進む。また、キーオンイベ
ントでなければステップA6で消音処理を行い、ステッ
プA7でキーコードリストからキーコードを削除してス
テップA8に進む。
【0025】ステップA8では、操作スイッチ8におけ
るスタート/ストップスイッチの操作イベントの有無を
判定し、イベントが無ければステップA13に進み、操
作イベントが有ればステップA9でフラグRUNを反転
し、ステップA10で「RUN=1」であるか否かを判
定する。そして、「RUN=1」であればステップA1
1で伴奏パターンの読み出しポインタをセットするとと
もに、テンポクロックCLKおよびブロックフラグBF
をリセットしてステップA13に進む。また、「RUN
=0」であればステップA12で伴奏音を消音してステ
ップA13に進む。
【0026】ステップA13では、操作スイッチ8にお
ける調設定スイッチ、スタイル選択スイッチ、テンポ設
定スイッチ等の操作イベントを検出し、操作イベントが
あればステップA14で各操作イベントに応じた設定処
理を行い、ステップA15でその他の処理を行ってステ
ップA2に戻る。
【0027】以上の処理により、鍵盤演奏における発音
と消音が行われるとともに、操作スイッチ8におけるス
タート/ストップスイッチの操作による自動伴奏の開始
と停止、および調性の設定、スタイルの選択、テンポの
設定等が行われる。
【0028】図4の割込み処理はタイマ9からのテンポ
クロックによって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分音符毎に
行われる。
【0029】ステップB3でグループ解析が終了する
と、ステップB4ベースコード声部の検出音の有無を判
定し、ベースコード声部に検出音があればステップB5
でベースコード声部のキーコードにより和音を検出す
る。ベースコード声部に検出音が無ければステップB6
でメロディコード声部の検出音の有無を判定し、メロデ
ィコード声部に検出音があればステップB7でメロディ
コード声部のキーコードにより和音を検出する。
【0030】さらにメロディコード声部に検出音が無け
ればステップB8でメロディ声部の検出音の有無を判定
し、メロディ声部に検出音があればステップB9でメロ
ディ声部のキーコードにより和音を検出する。そして、
メロディ声部にも検出音が無ければ前回の和音を継続す
ることにしてステップB14に進む。
【0031】ステップB5でベースコード声部による和
音検出を行うと、ステップB10でベースコード声部に
3音以上あるか否かを判定し、3音以上であればステッ
プB11で「mode=A」であるか否か、すなわち、
モードがアルペジオであるか否かを判定し、「mode
=A」であればステップB12でベース声部のキーコー
ドをレジスタBSに格納してステップB14に進む。
【0032】また、ベースコード声部に3音以上無い場
合(ステップB10)、モードがアルペジオでない場合
(ステップB11)、ステップB7でメロディコード声
部による和音検出を行った場合、およびステップB9で
メロディ声部による和音検出を行った場合は、それぞれ
ステップB13で検出和音の根音をレジスタBSに格納
してステップB14に進む。
【0033】以上の処理により、グループ解析で得られ
た全解析リストに基づいてベースコード声部とメロディ
コード声部の検出音が和音検出に用いられ、ベースコー
ド声部、メロディコード声部およびメロディ声部の順に
優先順位を持たせて和音検出が行われる。
【0034】また、ベースコード声部の検出音が3音以
上でモードがアルペジオであった場合にはベース音BS
としてベース声部のキーコードが用いられ、それ以外の
場合はベース音として検出和音の根音が用いられる。す
なわち、図2で説明したように、アルペジオ奏法の場合
は最初の音をベース音とし、コード奏法の場合は和音の
根音をベース音とされる。
【0035】ステップB14では、スタイル、mode
およびCLKに基づいて伴奏パターンを読み出して再生
する。伴奏パターンはスタイル、モード毎にあり、その
時のスタイル、modeに応じて選択され、CLKに基
づいて読み出される。読み出された伴奏パターンのキー
コードは調および検出和音により音高変換して再生す
る。また、ベースパターンはベース音BSに応じて音高
変換して再生する。そして、ステップB15でテンポク
ロックCLKをインクリメントして元のルーチンに復帰
する。
【0036】図5のグループ解析では、ステップC1で
「BF=1」であるか否かを判定し、「BF=1」であ
ればステップC2で「入力音数が0またはBCBに入力
音が含まれている」という条件を満足するか否かを判定
し、条件を満足すればステップC9に進み、条件を満足
しなければステップC3でブロックフラグBFをクリア
してステップC9に進む。すなわち、前回までがブロッ
クコードで現在の入力音が無いか前回の入力音に含まれ
ている場合はブロックフラグBFを現在のまま“1”に
し、入力音が新たな音の場合にはブロックフラグBFを
“0”にする。
【0037】ステップC1でBF=1でなければステッ
プC4で入力音が4音以上であるか否かを判定し、4音
以上であればステップC7に進み、4音以上でなければ
ステップC5で入力音が3音であるかを判定する。3音
でなければステップC9に進み、3音であれば、ステッ
プC6で「上2音の音程(音高差)が8度または6度」
という条件を満足するか否かを判定し、条件を満足すれ
ばステップC9に進み、条件を満足しなければステップ
C7でブロックフラグBFを“1”にセットし、ステッ
プC8で現在の入力音をレジスタBCBに格納してステ
ップC9に進む。
【0038】以上の処理により、入力音が4音以上の場
合はブロックコードと判定し、3音の場合は条件付きで
ブロックコードと判定される。例えば、ベース単音とメ
ロディ2音が同時に弾かれた場合などのように3音でも
ブロックコードといえない場合(上2音の音程が8度ま
たは6度のとき)はブロックコードと判定しないように
なっている。
【0039】ステップC9では、前回のメロディ声部の
検出音(メロディ音)をリストPMに、前回のメロディ
コード声部の検出音(メロディコード音)をリストPM
Cに、前回のベースコード声部の検出音(ベースコード
音)をリストPBCに、前回のベース声部の検出音(ベ
ース音)をレジスタPBにそれぞれ格納して前回の解析
結果を各リストおよびレジスタに記憶し、ステップC1
0に進む。
【0040】ステップC10では、入力音の数を判定し
て、0音の場合(入力音無しの場合)はステップC11
以降の処理を行い、1音の場合はステップC15で(入
力音)をNt に格納してステップC16で図6の1音解
析の処理を行い、3音の場合はステップC17で図10
の3音解析の処理を行い、その他の場合はステップC1
8で2音または4音以上の場合の解析をそれぞれ行って
元のルーチンに復帰する。
【0041】ステップC11では現在のタイミングが小
節頭であるか否かを判定し、小節頭であればステップC
12で全解析リストを[[PB].[].[].[]]
にして前回のベース音だけを有効にして元のルーチンに
復帰する。また、小節頭でなければステップC13で現
在のタイミングが弱拍であるか否かを判定し、弱拍であ
れば元のルーチンに復帰し、弱拍でなければ、すなわ
ち、強拍であればステップC14で全解析リスト
を[[].[].[].[]](全て空リスト)にして
元のルーチンに復帰する。
【0042】図6の1音解析では、ステップD1で前回
解析結果をリストPNSQに格納するとともにベースコ
ード声部の最高音をレジスタPBCTPに格納し、ステ
ップD2で前回のベース音PBの有無を判定し、前回の
ベース音PBが無ければステップD3で「Nt ≦G3コ
ード(キーコード)」であるか否か、すなわち、入力音
NTが「一点ト(ソ)」またはそれより下の音であるか
否かを判定する。
【0043】「NT≦G3コード」であれば、NTをベ
ース音とみなしてステップD10で全解析リストを
[[NT].[].[].[]]とするとともにmod
eをノーマル(N)にして元のルーチンに復帰する。ま
た、「NT≦G3コード」でなければNTをメロディ音
とみなしてステップD4で全解析リスト
を[[].[].[].[NT]]として元のルーチン
に復帰する。
【0044】ステップD2で前回のベース音PBが有れ
ば、ステップD5で現在のタイミングが小節頭であるか
否かを判定し、小節頭であればステップD9以降の処理
を行い、小節頭でなければステップD6で現在のタイミ
ングが強拍か否かを判定して、強拍であればステップD
7で図7の強拍解析の処理を行って元のルーチンに復帰
し、強拍でなければステップD8で図8の弱拍解析の処
理を行って元のルーチンに復帰する。
【0045】ステップD9以降は、現在のタイミングが
小節頭であった場合の処理であり、先ずステップD9
で、「NT=PB」であるか否かすなわち入力音が前回
のベース音と同じであるか否かを判定し、同じであれば
ステップD10の処理を行い、同じでなければステップ
D11で「Nt ≦C4コードかつNt <PB+12」の
条件を満足するか否かを判定する。
【0046】ステップD11で条件を満足すればステッ
プD10に進み、条件を満足しなければステップD12
で「Nt >C4コードかつNt <PBS+完全5度」の
条件を満足するか否かを判定する。ステップD12で条
件を満足すればステップD10に進み、条件を満足しな
ければ入力音NTをメロディ音と判定して、ステップD
13で全解析リストを[[].[].[].[NT]]
とするとともにmodeをノーマル(N)にして元のル
ーチンに復帰する。
【0047】以上のように、1音解析では、前回ベース
音がない場合はG3コードを基準にしてベース声部かメ
ロディ声部に割り当て、前回ベース音がある場合は現在
のタイミングが小節頭であるか否かによって異なる条件
で解析を行う。小節頭の場合は前回ベース音PBSとC
4コードに応じた条件で解析を行い、ベース声部または
メロディ声部に割り当てられる。また、前回ベース音が
あり、現在のタイミングが小節頭でない場合は、現在の
タイミングが強拍のタイミングか弱拍のタイミングかに
応じて解析を行う。
【0048】図7の強拍解析の処理では、ステップE1
で入力音NTが前回のベース音PBと同じであるか否か
を判定し、同じであればステップE2で全解析リストを
[[PB].PBC.[].[]]として元のルーチン
に復帰する。すなわち、同じ音であればベース音とベー
スコード音は前回のままにする。また、同じでなければ
ステップE3で「PB−長2度≦NT<PB+長2度」
の条件を満足するか否かを判定し、条件を満足すればす
なわち前回ベース音の近傍の範囲内にあれば、入力音N
Tをベース音とみなしてステップE4で全解析リストを
[[NT].[].[].[]]として元のルーチンに
復帰する。
【0049】また、「PB−長2度≦NT<PB+長2
度」の条件を満足しなければステップE5で「NT<P
B−長2度」の条件を満足するか否かを判定し、条件を
満足すればステップE6に進み、条件を満足しなければ
ステップE10に進む。
【0050】ステップE6では「BF=1」であるか否
かを判定し、「BF=1」であれば入力音NTをベース
音とみなしてステップE7で全解析リストを[[N
T].[].[].[]]とするとともにmodeをア
ルペジオ(A)にして元のルーチンに復帰する。また、
「BF=1」でなければステップE8で前回のベースコ
ード声部PBCに前回のベース音PBを加入してリスト
CBCNTに格納し、ステップE9で全解析リストを
[[NT].CBCNT.[].[]]とするとともに
modeをコード(C)にして元のルーチンに復帰す
る。
【0051】ステップE10以降の処理は、ステップE
5で、「NT<PB−長2度」の条件を満足しない場合
であり、先ず、「NT≦PBCTP」の条件を満足する
か否かを判定し、条件を満足すればステップE12に進
み、満足しなければ、すなわち、入力音NTが前回のベ
ースコード声部の最高音より高い場合はステップE11
で図9のアルペジオ拡張の処理を行って元のルーチンに
復帰する。
【0052】ステップE12では「mode=C」であ
るか否かを判定し、「mode=C」であれば、NTを
メロディ音とみなして、ステップE13で前回のベース
コード声部からNT以上高い音を除去してリストCBC
NTに格納し、ステップE14で全解析リストを[[P
B].CBCNT.[].[NT]]として元のルーチ
ンに復帰する。
【0053】また、ステップE12で「mode=C」
でなければ、ステップE15でNTがPBCに含まれて
いるか否かを判定し、含まれていればステップE16で
全解析リストを[[PB].PBC.[].[]]とし
て元のルーチンに復帰し、NTがPBCに含まれていな
ければ、NTをベース音とみなしてステップE17で全
解析リストを[[NT].[].[].[]]とすると
ともにmodeをコード(C)にして元のルーチンに復
帰する。
【0054】以上の強拍解析の処理において、ステップ
E10で入力音NTが前回のベースコード声部の最高音
PBCTPより高い場合はステップE11でアルペジオ
拡張が行われ、入力音NTがベースコード声部のリスト
に加入されてベースコード声部のリストが拡張される傾
向になる。
【0055】また、この強拍解析の場合は、ステップE
15で入力音NTが前回のベースコード声部に含まれて
いない場合は、ステップE17で入力音NTがベース声
部とされる傾向になる。
【0056】図8の弱拍解析の処理では、ステップF1
で入力音NTが前回のベース音PBと同じであるか否か
を判定し、同じであればステップF2で全解析リストを
[[PB].PBC.[].[]]として元のルーチン
に復帰する。また、同じでなければステップF3で「N
T<PB」であるか否かを判定し、「NT<PB」であ
ればステップF4に進み、「NT<PB」でなければス
テップF10に進む。
【0057】ステップF4では「BF=1」であるか否
かを判定し、「BF=1」であれば入力音NTをベース
音とみなしてステップF5で全解析リストを[[N
T].[].[].[]]とするとともにmodeをア
ルペジオ(A)にして元のルーチンに復帰する。また、
「BF=1」でなければステップF6で前回のベースコ
ード声部PBCに前回のベース音PBを加入してリスト
CBCNTに格納し、ステップF7で全解析リストを
[[NT].CBCNT.[].[]]としてステップ
F8に進む。
【0058】ステップF8では「mode=A」である
か否かを判定し、「mode=A」であれば元のルーチ
ンに復帰し、「mode=A」でなければステップF9
でmodeをコード(C)にして元のルーチンに復帰す
る。
【0059】ステップF10以降は、ステップF3で
「NT<PB」でない場合の処理であり、先ず、「PB
<NT≦PB+長2度」の条件を満足するか否かを判定
し、条件を満足しなければステップF12に進み、満足
すればれば、すなわち、入力音NTが前回のベース音の
上長2度以内であれば入力音NTをベース音とみなして
ステップF11で全解析リストを[[N
T].[].[].[]]とするとともにmodeをノ
ーマル(N)にして元のルーチンに復帰する。
【0060】ステップF12では「NT≦PBCTP」
の条件を満足するか否かを判定し、条件を満足すればス
テップF14に進み、満足しなければ、すなわち、入力
NTが前回のベースコード声部の最高音より高い場合は
ステップF13で図9のアルペジオ拡張の処理を行って
元のルーチンに復帰する。
【0061】ステップF14では「mode=C」であ
るか否かを判定し、「mode=C」であれば、NTを
メロディ音とみなして、ステップF15で前回のベース
コード声部からNT以上高い音を除去してリストCBC
NTに格納し、ステップF16で全解析リストを[[P
B].CBCNT.[].[NT]]として元のルーチ
ンに復帰する。
【0062】また、ステップF14で「mode=C」
でなければ、ステップF17でNTがPBCに含まれて
いるか否かを判定し、含まれていればステップF18で
全解析リストを[[PB].PBC.[].[]]とし
て元のルーチンに復帰する。NTがPBCに含まれてい
なければ、NTをベース音とみなしてステップF19で
前回のベースコード声部PBCに入力音NTを加入して
リストCBCNTに格納し、ステップF20で全解析リ
ストを[[NT].CBCNT.[].[]]とすると
ともにmodeをアルペジオ(A)にして元のルーチン
に復帰する。
【0063】以上の弱拍解析の処理において、ステップ
F12で入力音NTが前回のベースコード声部の最高音
PBCTPより高い場合はステップF13でアルペジオ
拡張が行われ、入力音NTがベースコード声部のリスト
に加入されてベースコード声部のリストが拡張される傾
向になる。
【0064】また、この弱拍解析の場合は、ステップF
17で入力音NTが前回のベースコード声部に含まれて
いない場合でも、ステップF19およびステップF20
により、入力音NTがベースコード声部のリストに加入
されてベースコード声部のリストが拡張され、モードが
アルペジオとなる傾向になる。
【0065】さらに、前記強拍解析のステップE17の
処理により入力音NTがベース音とされる傾向がある
が、弱拍解析のステップF20ではベース音は前回のベ
ース音PBとされ、この弱拍解析は強拍解析よりもベー
ス音が変化しにくいようになっている。
【0066】図9のアルペジオ拡張の処理では、ステッ
プG1で前回のメロディコード声部と前回のメロディ声
部の中の最低音をレジスタPMBTに格納し、ステップ
G2で入力音NTが前回の押鍵音に含まれているか否か
を判定する。含まれていれば入力音NTをメロディ音と
みなしてステップG3で全解析リストを[[PB].P
BC.[].[NT]]とし、元のルーチンに復帰す
る。
【0067】また、入力音NTが前回の押鍵音に含まれ
ていなければ、ステップG4で「mode=C」である
か否かを判定し、「mode=C」であればステップG
3に進み、「mode=C」でなければステップG5で
「前回のメロディ声部PMがあり、かつ、PMBT−N
T≦NT−PBCTP」の条件を満足するか否かを判定
する。
【0068】ステップG5で条件を満足すればステップ
G3に進み、条件を満足しなければステップG6で「0
<NT−PBCTP≦長6度」の条件を満足するか否か
を判定し、条件を満足すれば入力音NTがベースコード
声部(その最高音PBCTP)に近いので、ステップG
7で前回のベースコード声部PBCに入力音NTを加入
してリストCBCNTに格納し、ステップG8で全解析
リストを[[PB].CBCNT.[].[]]とする
とともにmodeをアルペジオ(A)にして元のルーチ
ンに復帰する。このステップG7,G8の処理により、
アルペジオ拡張が行われる。
【0069】なお、ステップG6で条件を満足しなけれ
ば、ステップG9で全解析リストを[[PB].PB
C.[].[NT]]として元のルーチンに復帰する。
【0070】図10の3音解析の処理では、ステップH
1で、3つの入力音の上音をNTHに、中音をNTM
に、下音をNTLにそれぞれ格納し、ステップH2で下
音NTLをレジスタNTに入れてステップH3で図6の
1音解析を行う。
【0071】下音NTLについての1音解析が終了する
と、ステップH4で1音解析の結果が[[NT].*.
[].[]](記号「*」は何でもよい場合を示してい
る。)の条件を満足するか否かを判定し、条件を満足す
れば、すなわち、3音の下音がベース音で、メロディコ
ード音とメロディ音が無い場合はステップH6に進み、
条件を満足しなければステップH5で図11の3音解析
の処理を行って元のルーチンに復帰する。
【0072】ステップH6では、「3音の間隔が各々5
度以内」という条件を満足するか否かを判定し、条件を
満足しなければステップH8に進み、条件を満足すれば
ステップH7で全解析リストを[[NTL].[NT
M.NTH].[].[]]とするとともにmodeを
コード(C)にして元のルーチンに復帰する。
【0073】ステップH8では、「3音の下2音の間隔
が5度以内」という条件を満足するか否かを判定し、条
件を満足しなければステップH10に進み、条件を満足
すればステップH9で全解析リストを[[NTL].
[NTM].[].[NTH]]とするとともにmod
eをコード(C)にして元のルーチンに復帰する。
【0074】ステップH10では、「3音の上2音の間
隔が5度以内」という条件を満足するか否かを判定し、
条件を満足しなければステップH12に進み、条件を満
足すればステップH11で全解析リストを[[NT
L].[].[NTM.NTH].[]]とするととも
にmodeをノーマル(N)にして元のルーチンに復帰
する。
【0075】ステップH12では、「3音の上2音の間
隔が6度または8度」であるという条件を満足するか否
かを判定し、条件を満足しなければステップH13で全
解析リストを[[NTL].[].[].[NTM.N
TH]]とするとともにmodeをノーマル(N)にし
て元のルーチンに復帰する。また、ステップH12で条
件を満足しなければ、ステップH14で全解析リストを
[[NTL].[NTM].[].[NTH]]とする
とともにmodeをコード(C)にして元のルーチンに
復帰する。
【0076】図11の3音解析では、ステップh1で
「3音の間隔が各々5度以内」という条件を満足するか
否かを判定し、条件を満足しなければステップh3に進
み、条件を満足すればステップh2で全解析リストを
[[PB].[].[NTL.NTM.NT
H].[]]として元のルーチンに復帰する。
【0077】ステップh3では、「3音の下2音の間隔
が5度以内」という条件を満足するか否かを判定し、条
件を満足しなければステップh5に進み、条件を満足す
ればステップh4で全解析リストを[[PB].[NT
L.NTM].[].[NTH]]として元のルーチン
に復帰する。
【0078】ステップh5では、「3音の上2音の間隔
が5度以内」という条件を満足するか否かを判定し、条
件を満足しなければステップh7に進み、条件を満足す
ればステップh6で全解析リストを[[PB].[NT
L].[NTM.NTH].[]]として元のルーチン
に復帰する。
【0079】ステップh7では、「3音の下2音の間隔
が8度以内」であるという条件を満足するか否かを判定
し、条件を満足しなければステップh11に進み、条件
を満足すればステップh8で「3音の上2音の間隔が6
度または8度」であるという条件を満足するか否かを判
定し、条件を満足しなければステップh9で全解析リス
トを[[PB].[NTL.NTM].[].[NT
H]]として元のルーチンに復帰する。また、条件を満
足すればステップh10で全解析リストを[[PB].
[NTL].[].[NTM.NTH]]として元のル
ーチンに復帰する。
【0080】ステップh11では、「3音の上2音の間
隔が6度または8度」であるという条件を満足するか否
かを判定し、条件を満足しなければステップh12で全
解析リストを[[PB].[NTL.NTM].[].
[NTH]]として元のルーチンに復帰する。また、条
件を満足すればステップh10で全解析リストを[[P
B].[NTL].[].[NTM.NTH]]として
元のルーチンに復帰する。
【0081】上記3音解析および3音解析では、3音
の相互の音程(音高差)に応じて各音を各パートに割り
当て、この割り当て方に応じてモードが設定される。ま
た、2音および4音以上の解析についても同様に音楽的
な条件に応じてパートに割り当てられる。
【0082】以上のように、鍵盤4から入力される演奏
情報を分析して奏法を検出するとともにこの奏法に応じ
て入力音がグループ分けされ、このグループ分けされた
結果に基づいて和音がリアルタイムで検出される。
【0083】このように奏法に応じてグループ分けした
パートのキーコードに基づいて和音を検出するようにし
ているので、和音構成音を奏法に応じて抽出することが
でき、和音検出の精度を高めることができる。
【0084】なお、上記実施例では、8分長毎に演奏情
報の分析を行うようにしているが、キーイベントが発生
する毎に分析を行うようにしてもよい。また、鍵盤から
の演奏情報に限らず、MIDI情報などで供給される演
奏情報についても同様の処理を行うことができる。さら
に、リアルタイムの演奏情報に限らず、既に演奏されて
メモリに記憶されている演奏情報について同様の処理を
行ってもよい。また、符長を考慮して奏法を検出するよ
うにしてもよい。
【0085】
【発明の効果】以上説明したように本発明の和音検出装
置によれば、演奏情報入力手段から入力される複数の音
高情報を含む演奏情報を解析してアルペジオ奏法やコー
奏法等の奏法を検出し、この検出した奏法に応じて演
奏情報を複数のパートに分解し、分解された複数のパー
トのうち、所定パートの演奏情報に基づいて和音を検出
するようにしたので、新たな鍵盤等を設けることなく、
通常の自然な演奏に対して和音検出を行うことができる
とともに、例えば非和音構成音が多く含まれるメロディ
パートの演奏情報を和音検出の対象から排除することが
できるので、正確な和音検出を行うことができる。
【図面の簡単な説明】
【図1】本発明の実施例の和音検出装置を適用した電子
楽器のブロック図である。
【図2】実施例におけるアルペジオ奏法とコード奏法の
一例を示す図である。
【図3】実施例におけるメインルーチンのフローチャー
トである。
【図4】実施例における割込み処理のフローチャートで
ある。
【図5】実施例におけるグループ解析処理のフローチャ
ートである。
【図6】実施例における1音解析処理のフローチャート
である。
【図7】実施例における強拍解析処理のフローチャート
である。
【図8】実施例における弱拍解析処理のフローチャート
である。
【図9】実施例におけるアルペジオ拡張処理のフローチ
ャートである。
【図10】実施例における3音解析処理のフローチャー
トである。
【図11】実施例における3音解析処理のフローチャ
ートである。
【符号の説明】
1…CPU、2…プログラムメモリ、3…ワーキングメ
モリ、4…鍵盤、5…伴奏パターンメモリ、6…音源、
7…サウンドシステム、8…操作スイッチ、9…タイ
マ。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の音高情報を含む演奏情報を入力す
    る演奏情報入力手段と、 上記演奏情報入力手段で入力される演奏情報を解析して
    奏法を検出する奏法検出手段と、 上記奏法検出手段で検出された奏法に応じて前記入力さ
    れた演奏情報を複数のパートに分解するパート分解手段
    と、 前記分解された複数のパートのうち、所定パートの演奏
    情報に基づいて 和音を検出する和音検出手段と、 を備えたことを特徴とする和音検出装置。
JP5253410A 1993-10-08 1993-10-08 和音検出装置 Expired - Fee Related JP2894176B2 (ja)

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)

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