JP2894177B2 - 演奏情報分析装置 - Google Patents

演奏情報分析装置

Info

Publication number
JP2894177B2
JP2894177B2 JP5253411A JP25341193A JP2894177B2 JP 2894177 B2 JP2894177 B2 JP 2894177B2 JP 5253411 A JP5253411 A JP 5253411A JP 25341193 A JP25341193 A JP 25341193A JP 2894177 B2 JP2894177 B2 JP 2894177B2
Authority
JP
Japan
Prior art keywords
sound
chord
satisfied
analysis
bass
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
JP5253411A
Other languages
English (en)
Other versions
JPH07110685A (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 JP5253411A priority Critical patent/JP2894177B2/ja
Priority to DE69426588T priority patent/DE69426588T2/de
Priority to EP94115846A priority patent/EP0647934B1/en
Publication of JPH07110685A publication Critical patent/JPH07110685A/ja
Priority to US08/798,611 priority patent/US5796026A/en
Application granted granted Critical
Publication of JP2894177B2 publication Critical patent/JP2894177B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

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

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP5253411A JP2894177B2 (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
JP5253411A JP2894177B2 (ja) 1993-10-08 1993-10-08 演奏情報分析装置

Publications (2)

Publication Number Publication Date
JPH07110685A JPH07110685A (ja) 1995-04-25
JP2894177B2 true JP2894177B2 (ja) 1999-05-24

Family

ID=17251018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5253411A Expired - Fee Related JP2894177B2 (ja) 1993-10-08 1993-10-08 演奏情報分析装置

Country Status (1)

Country Link
JP (1) JP2894177B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5970934B2 (ja) * 2011-04-21 2016-08-17 ヤマハ株式会社 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記録媒体
JP5982980B2 (ja) 2011-04-21 2016-08-31 ヤマハ株式会社 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記憶媒体

Also Published As

Publication number Publication date
JPH07110685A (ja) 1995-04-25

Similar Documents

Publication Publication Date Title
US5850051A (en) Method and apparatus for creating an automatic accompaniment pattern on the basis of analytic parameters
EP1638077B1 (en) Automatic rendition style determining apparatus, method and computer program
US8324493B2 (en) Electronic musical instrument and recording medium
US8946534B2 (en) Accompaniment data generating apparatus
US8314320B2 (en) Automatic accompanying apparatus and computer readable storing medium
US20100224051A1 (en) Electronic musical instrument having ad-lib performance function and program for ad-lib performance function
US20130047821A1 (en) Accompaniment data generating apparatus
US5539146A (en) Performance information analyzer and chord detection device associated therewith
JP2894177B2 (ja) 演奏情報分析装置
JP2894176B2 (ja) 和音検出装置
JP2894178B2 (ja) 演奏情報における奏法検出方法
EP0647934B1 (en) Electronic musical apparatus
JP2768233B2 (ja) 電子楽器
US5942711A (en) Roll-sound performance device and method
US5283389A (en) Device for and method of detecting and supplying chord and solo sounding instructions in an electronic musical instrument
JP4253997B2 (ja) 楽音情報変換装置、その制御方法、該制御方法を実現するプログラムを格納した記憶媒体
JP3329242B2 (ja) 演奏データ分析装置および演奏データ分析プログラムを記録した媒体
JP3189837B2 (ja) 演奏情報分析装置および演奏情報分析方法
JP3978277B2 (ja) 自動伴奏装置
JP2504260B2 (ja) 楽音周波数情報発生装置
JP2513341B2 (ja) 電子楽器
JP3186752B2 (ja) 演奏情報分析装置および演奏情報分析方法
JPH0758434B2 (ja) 自動伴奏装置
JP4025440B2 (ja) 電子鍵盤楽器
JP3186748B2 (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