JPH0764561A - 電子楽器 - Google Patents
電子楽器Info
- Publication number
- JPH0764561A JPH0764561A JP5234235A JP23423593A JPH0764561A JP H0764561 A JPH0764561 A JP H0764561A JP 5234235 A JP5234235 A JP 5234235A JP 23423593 A JP23423593 A JP 23423593A JP H0764561 A JPH0764561 A JP H0764561A
- Authority
- JP
- Japan
- Prior art keywords
- key
- timing
- chord
- register
- performance
- 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
- 238000001514 detection method Methods 0.000 claims description 42
- 230000033764 rhythmic process Effects 0.000 abstract 5
- 238000000034 method Methods 0.000 description 70
- 238000010586 diagram Methods 0.000 description 18
- 101100020619 Arabidopsis thaliana LATE gene Proteins 0.000 description 11
- 230000015654 memory Effects 0.000 description 10
- 239000000470 constituent Substances 0.000 description 5
- 230000003936 working memory Effects 0.000 description 5
- 230000000994 depressogenic effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
通常の演奏状態で発生する演奏データに基づいて和音を
正確に検出するができるようにする。 【構成】入力手段は、演奏に対応した演奏データを入力
する。演奏データの中には、押鍵及び離鍵に関するもの
が存在するので、入力手段から押鍵に関するデータが入
力したり、離鍵に関するデータが入力したりして、その
状態は常に変化している。そこで、和音検出手段は、入
力手段からの演奏データの入力時刻とは無関係の自動伴
奏の所定の音符長に従った拍タイミング毎に和音を検出
すると共にこの拍タイミングの近傍であり、拍タイミン
グから所定時間だけ離れたタイミング毎にも和音を検出
するようにしている。これによって、拍タイミングと演
奏のタイミングとが一致しないような場合、すなわち拍
タイミングよりも若干遅れて演奏データが入力された場
合でも、正確に和音を検出することができるようにな
る。
Description
じて発生した演奏データに基づいて和音を検出する和音
検出機能を有する電子楽器に関する。
例えば鍵盤等を手弾き演奏(押鍵)することにより発生
した演奏データすなわち各ノートのオン・オフ状態の組
み合わせ(押鍵パターン)に対応した和音の根音及び種
類(タイプ)を検出するものである。従来の和音検出装
置は、押鍵イベントが発生する毎にその押鍵パターンに
基づいて和音を検出したり、又は全鍵離鍵の状態から最
初の押鍵イベントが発生してから所定時間が経過するま
での間に発生した押鍵イベントのパターンに応じて和音
を検出したりしていた。
方法は、新たに和音を検出する前に予め全鍵を離鍵状態
にした後でなければ、和音を検出することができないの
で、全鍵が離鍵状態となるように和音検出用の特別の演
奏を行わなければならず、通常の演奏状態(メロディー
演奏等)の下では全鍵が離鍵状態にならない限り、和音
を検出することができないという問題を有する。
であり、和音検出のための特別な演奏を行わなくても通
常の演奏状態で発生する演奏データに基づいて和音を正
確に検出することのできる和音検出機能を有する電子楽
器を提供することを目的とする。
は、演奏に対応した演奏データを入力する入力手段と、
自動伴奏の所定の音符長に従った拍タイミング毎、及び
この拍タイミングの近傍であり、拍タイミングから所定
時間だけ離れたタイミング毎に、前記演奏データに基づ
いて和音を検出する和音検出手段とを具えたものであ
る。
ら、その入力時刻に同期させて、和音検出処理を行って
いた。ところが、この発明の電子楽器は演奏データの入
力時刻とは無関係に自動伴奏の所定の音符長に従った拍
タイミング毎、及びこの拍タイミングの近傍であり、拍
タイミングから所定時間だけ離れたタイミング毎に、和
音の検出を行っている。すなわち、演奏データの中に
は、押鍵及び離鍵に関するものが存在するので、入力手
段から押鍵に関するデータが入力したり、離鍵に関する
データが入力したりして、その状態は常に変化してい
る。ところが、和音の演奏はだいたい拍タイミング毎に
行われるのが普通なので、その拍タイミングに集中して
押鍵や離鍵が発生する。そこで、和音検出手段は、入力
手段からの演奏データの入力時刻とは無関係の拍タイミ
ング毎に和音を検出している。従って、この拍タイミン
グ毎にその時点における演奏データに基づいて和音を検
出することによって、正確に和音を検出することができ
る。しかし、実際の演奏においては、拍タイミングと演
奏のタイミングとが完全に一致するようなことはなく、
拍タイミングよりも若干遅れて演奏データが入力された
りすることがある。そこで、この発明では、拍タイミン
グ毎に和音を検出すると共にこの拍タイミングの近傍で
あり、拍タイミングから所定時間だけ離れたタイミング
毎でも和音を検出するようにしている。これによって、
より正確に和音を検出することができるようになる。
例を詳細に説明する。図2はこの発明に係る和音検出装
置を内蔵した電子楽器のハードウェア構成を示すブロッ
ク図である。この実施例の電子楽器は、マイクロプロセ
ッサユニット(CPU)21、プログラムメモリ(RO
M)22、ワーキングメモリ(RAM)23を含むマイ
クロコンピュータの制御の下に各種の処理を実行するよ
うになっている。
制御するものである。このCPU21に対して、データ
及びアドレスバス2Cを介してプログラムメモリ22、
ワーキングメモリ23、自動伴奏装置24、押鍵検出回
路25、スイッチ検出回路26、音源回路27が接続さ
れている。
テムプログラム、楽音に関する各種パラメータや各種デ
ータ等を格納しているものであり、リードオンリーメモ
リ(ROM)で構成されている。ワーキングメモリ23
は、CPU21がプログラムを実行する際に発生する各
種のデータやフラグを一時的に記憶するものであり、ラ
ンダムアクセスメモリ(RAM)の所定のアドレス領域
がそれぞれ割り当てられる。自動伴奏装置24は、和音
の根音及び種類(タイプ)に関するデータやベース進行
に関するデータ等を記憶した伴奏パターンメモリを内蔵
しており、これらのデータをタイマ2Bからのテンポク
ロックに応じて順次読み出して自動伴奏音を生成する。
するための複数の鍵を備えており、各鍵に対応したキー
スイッチを有しており、また必要に応じて押圧力検出装
置等のタッチ検出手段を有している。鍵盤28は音楽演
奏のための基本的な操作子であり、これ以外の演奏操作
子でもよいことはいうまでもない。
高を指定する鍵盤28のそれぞれの鍵に対応して設けら
れたキースイッチ回路を含むものである。この押鍵検出
回路25は、鍵盤28の離鍵状態から押鍵状態への変化
を検出してキーオンイベントを出力し、押鍵状態から離
鍵状態への変化を検出してキーオフイベントを出力する
と共にそれぞれのキーオンイベント及びキーオフイベン
トに関する鍵の音高を示すキーコード(ノートナンバ)
を出力する。押鍵検出回路25は、この他にも鍵押し下
げ時の押鍵操作速度や押圧力等を検出してベロシティデ
ータやアフタタッチデータとして出力する。
29に設けられた各々の操作子(スイッチ)に対応して
設けられており、各々の操作子の操作状況に応じた操作
データをイベント情報として出力する。パネルスイッチ
29は、自動伴奏のスタート/ストップ、伴奏のスタイ
ル、発生すべき楽音の音色、音量、音高、効果等を選
択、設定、制御するための各種の操作子を含むものであ
る。
信号の同時発生が可能であり、データ及びアドレスバス
2Cを経由して与えられる演奏データを入力し、それに
基づいたメロディ音や伴奏音等の楽音信号を発生する。
音源回路27における楽音信号発生方式はいかなるもの
を用いてもよい。例えば、発生すべき楽音の音高に対応
して変化するアドレスデータに応じて波形メモリに記憶
した楽音波形サンプル値データを順次読み出すメモリ読
み出し方式、又は上記アドレスデータを位相角パラメー
タデータとして所定の周波数変調演算を実行して楽音波
形サンプル値データを求めるFM方式、あるいは上記ア
ドレスデータを位相角パラメータデータとして所定の振
幅変調演算を実行して楽音波形サンプル値データを求め
るAM方式等の公知の方式を適宜採用してもよい。
ウンドシステム2A内のデジタル−アナログ変換器(A
DC)、アンプ及びスピーカを介して発音される。タイ
マ2Bは和音検出用の所定時間間隔を計時したり、自動
伴奏のテンポを設定したりするためのテンポクロックパ
ルスを発生するものであり、このテンポクロックパルス
の周波数はパネルスイッチ29上のテンポスイッチ(図
示していない)によって調整される。発生したテンポク
ロックはCPU21や自動伴奏装置24に対してタイマ
割込み命令として与えられ、自動伴奏装置24はタイマ
割込み処理により自動伴奏の各種処理を実行する。
される和音検出装置の処理の一例を図1、図3、図4、
図5、図7、図8及び図9のフローチャートに基づいて
説明する。図3は、マイクロコンピュータが処理するメ
インルーチンの一例を示す図である。このメインルーチ
ンはつぎのようなステップで順番に実行される。
と、CPU21はプログラムメモリ22に格納されてい
る制御プログラムに応じた処理を開始する。そして、こ
の「初期設定」処理では、ワーキングメモリ23内の各
種レジスタやフラグ等を初期化する。 ステップ32:押鍵検出回路25をスキャンして鍵盤2
8が操作され、キーイベントが発生したかどうかを判定
し、キーイベント有り(YES)の場合は次のステップ
33のキーイベント処理を実行してからステップ34に
進み、キーイベント無し(NO)の場合はステップ34
に進む。
イベントが発生する毎に行われるキーイベント処理であ
る。このキーイベント処理の詳細は図4に示してある。 ステップ34:スイッチ検出回路26をスキャンしてス
タート/ストップスイッチが操作され、そのオンイベン
トが発生したかどうかを判定し、オンイベント有り(Y
ES)の場合はステップ35に進み、オンイベント無し
(NO)の場合はステップ3Aに進む。
を反転する。すなわち、この実施例では、スタート/ス
トップスイッチが操作される毎に自動伴奏が開始したり
又は停止したりする。 ステップ36:演奏走行状態フラグRUNが『1』かど
うかを判定し、『1』(YES)の場合、すなわち自動
伴奏が開始される場合はステップ37に進み、そうでな
い(NO)場合、すなわち自動伴奏が停止される場合は
ステップ39進む。
演奏走行状態フラグRUNが反転された結果、それが
『1』であると、すなわち自動伴奏が開始されたと判定
されたので、ここでは自動伴奏装置24にスタート信号
を出力する。 ステップ38:自動伴奏の新たなスタートに対応してテ
ンポクロックレジスタCLKを『0』にリセットする。 ステップ39:同じく前のステップ36の処理で演奏走
行状態フラグRUNが反転された結果、それが『0』で
あると、すなわち自動伴奏が停止されたと判定されたの
で、自動伴奏装置24にストップ信号を出力する。 ステップ3A:パネルスイッチ29におけるその他の操
作子の操作に基づく処理や、その他の音量変更処理等の
種々の処理をおこなう。
図3のステップ33のキーイベント処理の一例を示す図
である。このキーイベント処理は鍵盤28が操作され、
キーイベントが発生する毎に、つぎのようなステップで
順番に実行される。
ベントかどうかを判定し、キーオンイベント(YES)
の場合はステップ42に進み、そうでない(NO)場合
はステップ43に進む。 ステップ42:前のステップ41でキーオンイベントと
判定されたので、そのキーオンイベントに対応するキー
コードの発音処理(キーオン処理)をおこなう。 ステップ43:現在押鍵中の全てのキーコードをキーコ
ードリストレジスタKCLSTに格納する。
フイベントと判定されたので、そのキーオフイベントに
対応するキーコードの消音処理(キーオフ処理)をおこ
なう。 ステップ45:テンポクロックレジスタCLKの値を1
2で除した余り(CLKmod12)が『0』かどうか
を判定し、『0』(YES)の場合は図3のメインルー
チンにリターンし、『0』以外の値(NO)の場合には
ステップ43に進む。 この実施例では、1小節を96分長とし、4分音符を2
4分長、8分音符を12分長としている。テンポクロッ
クレジスタCLKは『0』〜『95』の値を繰り返し累
算しているので、この値を8分音符長の『12』で除し
た余り(CLKmod12)が『0』の場合には、丁度
8分音符の発音タイミングすなわち拍タイミングである
ことを意味する。
ーオンイベントが発生した時点で、そのキーオンイベン
トに対応するキーコードをキーコードリストレジスタK
CLSTに格納し、キーオフイベントが発生した時点
で、そのキーオフイベントに対応するキーコードをキー
コードリストレジスタKCLSTから削除するという処
理を行っているが、テンポクロックレジスタCLKの値
を12で除した余り(CLKmod12)が『0』にな
ってから『1』になるまでの間に発生したキーオフイベ
ントに対しては、そのキーオフイベントに対応するキー
コードをキーコードリストレジスタKCLSTから削除
することなくリターンしている。これによって、CLK
mod12が『0』になってから『1』になるまでの間
に押鍵状態であったところのキーコードが全てキーコー
ドリストレジスタKCLSTに格納されることとなる。
行されるタイマ割り込み処理を示す図である。図6は、
図5のタイマ割り込み処理によって実行される和音検出
処理やレガート処理の動作を説明するための図である。
図6において、横軸は時間を示し、縦軸はその時の押鍵
状態を示す。図5のタイマ割り込み処理は1小節当たり
96回の割込みで実行される。これに対応して図6の下
側には、現在の割込みタイミングを示すために、テンポ
クロックレジスタCLKの値(23〜39)が示してあ
る。
音符のタイミングを基準にして、その前後1分長におけ
る押鍵状態を検出し、それに応じて和音の検出を行って
いる。これに対応して図6の上側には、テンポクロック
レジスタCLKの値を12で除した余り(CLKmod
12)が『11』の場合を示すプリタイミングPRE、
『0』の場合を示すジャストタイミングJUST、
『1』の場合を示すレイトタイミングLATEがそれぞ
れ示してある。$図6において、キーコードK1のキー
は、割込タイミング24と25の間で押鍵され、割込タ
イミング39と40の間で離鍵されている。キーコード
K2のキーは、割込タイミク23と24の間で押鍵さ
れ、割込タイミング39と40の間で離鍵されている。
キーコードK3のキーは、割込タイミング35と36の
間で押鍵され、割込タイミング39と40の間で離鍵さ
れている。キーコードK4のキーは、割込タイミング2
3と24の間で押鍵され、割込タイミング36と37の
間で離鍵されている。キーコードK5のキーは、割込タ
イミング28で押鍵され、割込タイミング34で離鍵さ
れている。
ステップで順番に実行される。 ステップ51:演奏走行状態フラグRUNが『1』かど
うかを判定し、『1』(YES)の場合、すなわち自動
伴奏が開始される場合はステップ52に進み、そうでな
い(NO)場合、すなわち自動伴奏が停止される場合は
ステップ54に進む。 ステップ52:テンポクロックレジスタCLKの値を1
2で除した余り(CLKmod12)が『11』か、
『0』か、又は『1』であるかどうかを判定し、『1
1』、『0』又は『1』(YES)の場合は次のステッ
プ53に進み、これ以外の値(NO)の場合にはステッ
プ54に進む。 ステップ53:テンポクロックレジスタCLKの値を1
2で除した余り(CLKmod12)が『11』、
『0』及び『1』の場合、すなわち図6のプリタイミン
グPRE(割込タイミング23及び35)、ジャストタ
イミングJUST(割込タイミング24及び36)及び
レイトタイミングLATE(割込タイミング25及び3
7)のそれぞれにおける押鍵状態を検出するための押鍵
状態検出処理を行う。この押鍵状態検出処理の詳細につ
いては後述する。 ステップ54:テンポクロックレジスタCLKの値を
『1』だけインクリメント処理してリターンする。これ
によって、割込タイミングは1ずつ増加する。
出処理の詳細を示す図である。この押鍵状態検出処理
は、前述のように、テンポクロックレジスタCLKの値
を12で除した余り(CLKmod12)が『11』
(プリタンミングPRE)、『0』(ジャストタイミン
グJUST)又は『1』(レイトタイミングLATE)
の場合に行われる。この押鍵状態検出処理はつぎのよう
なステップで順番に実行される。 ステップ11:カレントリストレジスタCLST内のキ
ーコードをプリリストレジスタPLSTに格納する。 ステップ12:キーコードリストレジスタKCLST内
のキーコードをカレントリストレジスタCLSTに格納
する。
リストレジスタPLSTには1回前の割込タイミングに
おけるキーコードが格納され、カレントリストレジスタ
CLSTには現在押鍵中の全てのキーコードが格納され
る。なお、図4のステップ45の判定処理によって、テ
ンポクロックレジスタCLKの値を12で除した余り
(CLKmod12)が『0』になってから『1』にな
るまでの間に発生したキーオフイベントに対しては、そ
のキーオフイベントに対応するキーコードをキーコード
リストレジスタKCLSTから削除することなくリター
ンしているので、ジャストタイミングJUSTからレイ
トタイミングLATEまでの間にキーオフイベントが発
生しても、それは無視され、キーオンイベントのみが有
効なものとして、キーコードリストレジスタKCLST
内に追加格納される。例えば、図6ではキーコードK4
のキーが割込タイミング36と37の間で離鍵され、キ
ーコードK3のキーが割込タイミング35と36の間で
押鍵されているキー状態がこれに対応する。
どうかを判定し、『1』(YES)の場合はステップ1
7に進み、『0』(NO)の場合はステップ14に進
む。この継続フラグCFは、ステップ14及び15の処
理で共にYESと判定された場合にステップ16で
『1』に設定され、ステップ17の処理でNOと判定さ
れた場合に『0』に設定される。例えば、図6では、ス
テップ13の判定は割込タイミング36ではYESとな
り、これ以外の割込タイミング23、24、25、35
及び37ではNOとなる。
続中でないと判定されたので、このステップではテンポ
クロックレジスタCLKの値を12で除した余り(CL
Kmod12)が『11』(プリタイミングPRE)か
どうかを判定し、『11』(YES)の場合にはステッ
プ15に進み、そうでない(NO)場合はステップ1C
に進む。例えば、図6では、ステップ14の判定は割込
タイミング23及び35ではYESとなり、これ以外の
割込タイミング24、25、37ではNOとなる。
割込タイミングがプリタイミングPREであると判定さ
れたということは、ステップ11でプリリストレジスタ
PLSTに前回のレイトタイミングLATEにおけるキ
ーコードが格納され、ステップ12でカレントリストレ
ジスタCLSTに今回のプリタイミングPREにおける
キーコードが格納されているので、このステップ15で
は、カレントリストレジスタCLST内のキーコードが
全てプリリストレジスタPLST内のキーコードに属す
るかどうかを判定し、属する(YES)場合、すなわち
押鍵に継続性がある場合には次のステップ16に進み、
属しない(NO)場合、すなわち押鍵に継続性がない場
合にはステップ1Cに進む。
T内のキーコードが全てプリリストレジスタPLST内
のキーコードに属するということは、前回のレイトタイ
ミングLATEにおける押鍵が今回のプリタイミングP
REでも継続している場合を意味し、逆に属しないとい
うことは新たな離鍵又は押鍵が行われたことを意味す
る。例えば、図6では、割込タイミング25(レイトタ
イミングLATE)のキーコードはK1、K2及びK4
であり、割込タイミング35(プリタイミングPRE)
のキーコードはK1、K2及びK4なので、この場合に
は押鍵に継続性があると判定される。従って、図6では
ステップ15の判定は、割込タイミング35ではYES
となり、これ以外の割込タイミング23ではNOとな
る。
割込みタイミングがプリタイミングPREであり、ステ
ップ15でカレントリストレジスタCLST内のキーコ
ードが全てプリリストレジスタPLST内のキーコード
に属すると判定されたということは、前回のレイトタイ
ミングLATEにおける押鍵と今回のプリタイミングP
REにおける押鍵との間に継続性が存在することを意味
するので、このステップでは、継続フラグCFに『1』
をセットして、ステップ1Cに進む。従って、図6では
割込タイミング35で継続フラグCFに『1』がセット
される。
ラグCFが『1』、すなわち押鍵継続中であると判定さ
れたので、このステップではカレントリストレジスタC
LST内のキーコードが全てプリリストレジスタPLS
T内のキーコードに属するかどうかを判定し、属する
(YES)場合にはステップ18に進み、属しない(N
O)場合にはステップ19に進む。すなわち、前のステ
ップ13で押鍵継続中であると判定されたので、前回の
押鍵状態検出処理から今回の押鍵状態検出処理の間でも
依然として押鍵継続中であるかどうかを判定している。
コードが全てプリリストレジスタPLST内のキーコー
ドに属する(YES)ということは、前回のプリタイミ
ングPREにおける押鍵が今回のジャストタイミングJ
USTでも継続している場合、又は前回のジャストタイ
ミングJUSTにおける押鍵が今回のレイトタイミング
LATEでも継続しているか、又はその間に離鍵された
場合を意味し、逆に属しない(NO)ということは前回
のプリタイミングPREと今回のジャストタイミングJ
USTとの間で新たな押鍵があった場合、又は前回のジ
ャストタイミングJUSTと今回のレイトタイミングL
ATEとの間で新たに押鍵された場合を意味する。例え
ば、図6では、割込タイミング36におけるステップ1
7の判定は属しない(NO)となる。
と判定され、ステップ17で今回も押鍵継続中であると
判定されたので、このステップではテンポクロックレジ
スタCLKの値を12で除した余り(CLKmod1
2)が『0』かどうか、すなわち割込みタイミングがジ
ャストタイミングJUSTかどうかを判定し、『0』
(YES)の場合には現在の割込みタイミングがジャス
トタイミングJUSTなので、ステップ1Cに進みパー
ト分割処理を行い、そうでない(NO)場合には現在の
割込みタイミングがプリタイミングPRE又はレイトタ
イミングLATEなので、ステップ1Dに進む。
ストレジスタCLST内のキーコードが全てプリリスト
レジスタPLST内のキーコードに属しない(NO)と
判定されたので、前回のタイミングから今回のタイミン
グの間に新たな押鍵があったことを意味するので、この
ステップでは、継続フラグCFを『0』にリセットす
る。従って、図6では、割込タイミク36で継続フラグ
CFは『0』にリセットされる。
LKの値を12で除した余り(CLKmod12)が
『11』かどうか、すなわち割込みタイミングがプリタ
イミングPREかどうかを判定し、『11』(YES)
の場合はステップ1Cに進み、『0』又は『1』(N
O)の場合は次のステップ1Bに進む。
おけるステップ1Aの判定はNO(ジャストタイミング
である)となる。
たな押鍵があったと判定され、さらに割込みタイミング
がジャストタイミングJUST又はレイトタイミングL
ATEである場合に該当するので、レガート処理を行
う。このレガート処理の詳細は図9に示されている。 ステップ1C:カレントリストレジスタCLST内のキ
ーコードを所定のパートに分割するためのパート分割処
理を行う。このパート分割処理の詳細については図7を
用いて後述する。
LKの値を12で除した余り(CLKmod12)が
『11』かどうかを判定し、『11』(YES)の場合
には和音検出処理の必要がないので、ステップ1Fに進
み、そうでない(NO)場合は和音検出処理を行うため
に次のステップ1Eに進む。 ステップ1E:前のステップ1Cでそれぞれのパートに
分割されたキーコードに基づいた和音の検出処理を行
う。この和音検出処理の詳細についは、図8を用いて後
述する。 ステップ1F:前のステップ1Bのレガート処理でカレ
ントリストレジスタCLSTの内容が変更された可能生
があるので、ステップ12と同様にキーコードリストレ
ジスタKCLST内のキーコードをカレントリストレジ
スタCLSTに格納しなおす。
処理の詳細を示す図である。このパート分割処理は、カ
レントリストレジスタCLSTに格納されているキーコ
ードを各パート(メロディパート、ベースパート、コー
ドパート)にそれぞれ分割する。このパート分割処理は
つぎのようなステップで順番に実行される。
LSTの構成要素(キーコード)の数が2音以下かどう
かを判定し、2音以下(YES)の場合はステップ72
に進み、3音以上(NO)の場合はステップ73に進
む。 ステップ72:前のステップ71でカレントリストレジ
スタCLSTの構成要素(キーコード)の数が2音以下
だと判定されたので、カレントリストレジスタCLST
内のキーコードの属する音域(例えば、鍵盤を3分割し
た場合の高音域をメロディパート、中音域をコードパー
ト、低音域をベースパートとする)に応じて、各パート
(メロディパート、ベースパート、コードパート)に分
類し、それを各メロディパートレジスタM、ベースパー
トレジスタB及びコードパートレジスタCに2音又は1
音を格納する。
LSTの構成要素(キーコード)の数が3音かどうかを
判定し、3音(YES)の場合はステップ74に進み、
4音以上(NO)の場合はステップ75に進む。 ステップ74:前のステップ73でカレントリストレジ
スタCLSTの構成要素(キーコード)の数が3音だと
判定されたので、カレントリストレジスタCLST内の
キーコードはコードパートに対応するとして、メロディ
パートレジスタM及びベースパートレジスタBにはそれ
ぞれ空集合φを格納し、コードパートレジスタCにカレ
ントリストレジスタCLST内の3つの構成要素(キー
コード)を格納する。
LSTの構成要素(キーコード)の数が4音かどうかを
判定し、4音(YES)の場合はステップ76に進み、
5音以上(NO)の場合はステップ79に進む。 ステップ76:前のステップ75でカレントリストレジ
スタCLSTの構成要素(キーコード)の数が4音だと
判定されたので、カレントリストレジスタCLST内の
最上音のキーコードがキーコードナンバC4以上の音高
かどうかを判定し、C4以上(YES)の音高の場合は
ステップ77に進み、C4より低い音高の場合はステッ
プ78に進む。
トリストレジスタCLST内の最上音のキーコードがキ
ーコードナンバC4以上の音高だと判定されたので、こ
のステップでは、その最上音(1音)のキーコードをメ
ロディパートレジスタMに格納し、残りの3音をコード
パートレジスタCに格納し、ベースパートレジスタBに
は空集合φを格納する。 ステップ78:前のステップ76でカレントリストレジ
スタCLST内の最上音のキーコードがキーコードナン
バC4より低い音高だと判定されたので、このステップ
では、その最下音(1音)のキーコードをベースパート
レジスタBに格納し、残りの3音をコードパートレジス
タCに格納し、メロディパートレジスタMには空集合φ
を格納する。
トリストレジスタCLSTの構成要素(キーコード)の
数が5音以上だと判定されたので、そのカレントリスト
レジスタCLST内の最上音(1音)のキーコードをメ
ロディパートレジスタMに格納し、その最下音(1音)
のキーコードをベースパートレジスタBに格納し、最上
音及び最下音以外の残りの音の下から3音又は全部の音
をコードパートレジスタCに格納する。
理の詳細を示す図である。この和音検出処理は、図7の
パート分割処理で分割されたコードパートレジスタC及
びベースパートレジスタB内のキーコードに応じて行わ
れる。この和音検出処理はつぎのようなステップで順番
に実行される。 ステップ81:コードパートレジスタCの集合が空集合
φかどうかを判定し、空集合φ(YES)の場合はステ
ップ8Bに進み、空集合φでない(NO)場合はステッ
プ82に進む。 ステップ82:ベースパートレジスタBの集合が空集合
φかどうかを判定し、空集合φ(YES)の場合はステ
ップ87に進み、空集合φでない(NO)場合はステッ
プ83に進む。
で共にコードパートレジスタC及びベースパートレジス
タBが空集合φでないと判定されたので、このステップ
では、コードベースレジスタCBにコードパートレジス
タC及びベースパートレジスタB内のキーコードを格納
する。 ステップ84:コードベースレジスタCBに格納されて
いる構成要素(キーコード)に基づいて和音を検出す
る。
検出することができたかどうかを判定し、検出できた
(YES)場合はステップ86に進み、検出できなかっ
た(NO)場合はステップ87に進む。 ステップ86:ベースレジスタBSに空集合φを意味す
る16進数の『F』(図ではFHで表示してある)を格
納する。 ステップ87:コードパートレジスタCにはキーコード
が格納されているがステップ82でベースパートレジス
タBには空であると判定された場合、又はステップ85
でコードベースレジスタCB内の構成要素(キーコー
ド)に基づいて和音が検出されなかったと判定された場
合なので、コードパートレジスタC内の構成要素(キー
コード)に基づいて和音を検出する。
検出することができたかどうかを判定し、検出できた
(YES)場合はステップ89に進み、検出できなかっ
た(NO)場合は図1のステップ1Fにリターンする。 ステップ89:前のステップ87で和音が検出されたの
で、このステップでは、ベースレジスタBSにベースパ
ートレジスタBの構成要素(キーコード)を12で除し
た余り、すなわち音名を格納する。なお、ベースパート
レジスタBが空の時には空集合φを意味する16進数の
『F』(図ではFHで表示してある)を格納する。
音レジスタRTに格納し、検出された和音の種類を和音
タイプレジスタTPに格納する。 ステップ8B:根音レジスタRT、和音タイプレジスタ
TP及びベースレジスタBSにそれぞれ格納されている
根音、和音の種類及びベース音を自動伴奏装置24に出
力する。これによって、自動伴奏装置24は検出された
和音に基づいた伴奏を行う。なお、ベースレジスタBS
の格納値が『FH』の場合には、検出された和音に対応
したベース音を自動伴奏装置24側で生成して伴奏す
る。
理の詳細構成を示す図である。このレガート処理は、図
7のパート分割処理でコードパートレジスタC及びメロ
ディパートレジスタMにそれぞれ分割格納されたキーコ
ードに応じて行われる。例えば、図6では、割込タイミ
ング36でこのレガート処理が行われる。このレガート
処理はつぎのようなステップで順番に実行される。 ステップ91:コードメロディレジスタCMにコードパ
ートレジスタC及びメロディパートレジスタMのキーコ
ードを格納する。 ステップ92:コードメロディレジスタCMに格納され
ているキーコードの中で最も音高の低い音(最下音)を
コードボトムレジスタCBotに格納し、最も音高の高
い音(最上音)をコードトップレジスタCTopに格納
する。
空集合φかどうかを判定し、空集合φ(YES)の場合
はステップ94に進み、空集合φでない(NO)場合は
ステップ96に進む。 ステップ94:カレントリストレジスタCLST中でコ
ードボトムレジスタCBotのキーコード以上の音高を
有する音列(キーコード列)をカレントオーバラップコ
ードレジスタCOCBotに格納する。 ステップ95:カレントオーバラップコードレジスタC
OCBotに格納されているキーコードが、コードメロ
ディレジスタCMに格納されているキーコードとコード
トップレジスタCTopに対して上下6度以内の音(キ
ーコード)とを加算したものに等しいかどうかを判定
し、等しい(YES)場合、すなわち押鍵状態がレガー
ト状態である場合にはステップ99に進み、等しくない
(NO)場合、すなわち押鍵状態がレガート状態でない
場合には図1のステップ1Cにリターンする。
パートレジスタCが空集合φだと判定されたので、この
ステップでは、メロディパートレジスタMが空集合φか
どうかを判定し、空集合φ(YES)の場合は押鍵がメ
ロディパート及びコードパートに対応する押鍵が存在し
なかったことを意味するので、図1のステップ1Cにリ
ターンし、空集合φでない(NO)場合、メロディパー
トに関する押鍵が存在した場合はステップ96に進む。 ステップ97:カレントリストレジスタCLST中でメ
ロディパートレジスタMのキーコードに対して上下6度
以内の音列(キーコード列)をカレントオーバラップメ
ロディレジスタCOMに格納する。 ステップ98:カレントオーバラップメロディレジスタ
COMに格納されているキーコードが、コードメロディ
レジスタCMに格納されているキーコードとメロディパ
ートレジスタMに対して上下6度以内の音(キーコー
ド)とを加算したものに等しいかどうかを判定し、等し
い(YES)場合、すなわち押鍵状態がレガート状態で
ある場合にはステップ99に進み、等しくない(NO)
場合、すなわち押鍵状態がレガート状態でない場合には
図1のステップ1Cにリターンする。
たが、自動伴奏処理をおこなうシーケンサモジュール
と、押鍵検出回路や音源回路からなる音源モジュールと
がそれぞれ別々に構成され、各モジュール間のデータの
授受を周知のMIDI規格でおこなうように構成された
ものにも同様に適用できることは言うまでもない。ま
た、上述の実施例では、ジャストタイミングJUSTか
らレイトタイミングLATEまでの間でキーオフイベン
トが発生しても、そのキーコードをキーコードリストレ
ジスタKCLSTから削除しない場合について説明した
が、プリタイミングPREからレイトタイミングLAT
Eまでの間でキーオフイベントが発生した場合でも同様
に処理してもよい。さらに、上述の実施例では、図7の
パート分割処理と図8の和音検出処理とを同じタイミン
グで行う場合について説明したが、パート分割処理だけ
を和音検出処理のタイミングよりも細かく行うようにし
てもよい。すなわち、和音検出処理を8分音符長のタイ
ミングで行い、パート分割処理を32分音符長のタイミ
ングで行うようにしてもよい。
別な演奏を行わなくても通常の演奏状態で発生する演奏
データに基づいて和音を正確に検出することができると
いう効果がある。
出処理の詳細を示す図である。
器のハード構成を示すブロック図である。
チンの一例を示す図である。
が処理する図3のキーイベント処理の一例を示す図であ
る。
タイマ割込み処理の詳細を示す図である。
る和音検出処理やレガート処理の動作を説明するための
図である。
処理の詳細を示す図である。
理の詳細を示す図である。
理の詳細を示す図である。
ングメモリ、24…自動伴奏装置、25…押鍵検出回
路、26…スイッチ検出回路、27音源回路、28…鍵
盤、29…パネルスイッチ、2A…サウンドシステム、
2B…タイマ、2C…データ及びアドレスバス
Claims (1)
- 【請求項1】 演奏に対応した演奏データを入力する入
力手段と、 自動伴奏の所定の音符長に従った拍タイミング毎、及び
この拍タイミングの近傍であり、拍タイミングから所定
時間だけ離れたタイミング毎に、前記演奏データに基づ
いて和音を検出する和音検出手段とを具えたことを特徴
とする電子楽器。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5234235A JP2768233B2 (ja) | 1993-08-26 | 1993-08-26 | 電子楽器 |
| US08/270,457 US5641928A (en) | 1993-07-07 | 1994-07-05 | Musical instrument having a chord detecting function |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5234235A JP2768233B2 (ja) | 1993-08-26 | 1993-08-26 | 電子楽器 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0764561A true JPH0764561A (ja) | 1995-03-10 |
| JP2768233B2 JP2768233B2 (ja) | 1998-06-25 |
Family
ID=16967814
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5234235A Expired - Fee Related JP2768233B2 (ja) | 1993-07-07 | 1993-08-26 | 電子楽器 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2768233B2 (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012022095A (ja) * | 2010-07-13 | 2012-02-02 | Yamaha Corp | 電子楽器 |
| JP2012098480A (ja) * | 2010-11-01 | 2012-05-24 | Yamaha Corp | コード検出装置及びプログラム |
| JP2012098481A (ja) * | 2010-11-01 | 2012-05-24 | Yamaha Corp | コード検出装置及びプログラム |
| JP2012189941A (ja) * | 2011-03-14 | 2012-10-04 | Yamaha Corp | コード検出装置およびコード検出方法を実現するためのプログラム |
| JP2012189942A (ja) * | 2011-03-14 | 2012-10-04 | Yamaha Corp | コード検出装置およびコード検出方法を実現するためのプログラム |
| JP2012189943A (ja) * | 2011-03-14 | 2012-10-04 | Yamaha Corp | コード検出装置およびコード検出方法を実現するためのプログラム |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01177089A (ja) * | 1987-12-29 | 1989-07-13 | Yamaha Corp | 自動伴奏装置 |
| JPH05108072A (ja) * | 1991-10-16 | 1993-04-30 | Casio Comput Co Ltd | 自動伴奏装置 |
-
1993
- 1993-08-26 JP JP5234235A patent/JP2768233B2/ja not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01177089A (ja) * | 1987-12-29 | 1989-07-13 | Yamaha Corp | 自動伴奏装置 |
| JPH05108072A (ja) * | 1991-10-16 | 1993-04-30 | Casio Comput Co Ltd | 自動伴奏装置 |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012022095A (ja) * | 2010-07-13 | 2012-02-02 | Yamaha Corp | 電子楽器 |
| JP2012098480A (ja) * | 2010-11-01 | 2012-05-24 | Yamaha Corp | コード検出装置及びプログラム |
| JP2012098481A (ja) * | 2010-11-01 | 2012-05-24 | Yamaha Corp | コード検出装置及びプログラム |
| JP2012189941A (ja) * | 2011-03-14 | 2012-10-04 | Yamaha Corp | コード検出装置およびコード検出方法を実現するためのプログラム |
| JP2012189942A (ja) * | 2011-03-14 | 2012-10-04 | Yamaha Corp | コード検出装置およびコード検出方法を実現するためのプログラム |
| JP2012189943A (ja) * | 2011-03-14 | 2012-10-04 | Yamaha Corp | コード検出装置およびコード検出方法を実現するためのプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2768233B2 (ja) | 1998-06-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2562370B2 (ja) | 自動伴奏装置 | |
| JPH079586B2 (ja) | 電子楽器の自動伴奏装置 | |
| JPH0651761A (ja) | 自動演奏装置 | |
| JPH0634170B2 (ja) | 電子楽器の自動伴奏装置 | |
| JPH0584920B2 (ja) | ||
| JP2768233B2 (ja) | 電子楽器 | |
| US5641928A (en) | Musical instrument having a chord detecting function | |
| JPH04274497A (ja) | 自動伴奏装置 | |
| JPH07306679A (ja) | 電子鍵盤楽器 | |
| JPH0769698B2 (ja) | 自動伴奏装置 | |
| US5418326A (en) | Automatic accompaniment instrument for automatically performing an accompaniment that is based on a chord progression formed by a sequence of chords | |
| JP2998527B2 (ja) | 自動伴奏装置 | |
| JP2513014B2 (ja) | 電子楽器の自動演奏装置 | |
| JP2943560B2 (ja) | 自動演奏装置 | |
| US5159142A (en) | Electronic musical instrument with lone modification for polyphonic effect | |
| US5541355A (en) | Electronic musical instrument having an automatic peformance function | |
| JPH05273971A (ja) | 電子楽器 | |
| JP2570562B2 (ja) | 自動演奏装置及び自動伴奏装置 | |
| JPH0631964B2 (ja) | 電子楽器 | |
| JPH0464073B2 (ja) | ||
| JPH0734158B2 (ja) | 自動演奏装置 | |
| JP3033393B2 (ja) | 自動伴奏装置 | |
| JP2629564B2 (ja) | 和音検出装置 | |
| JP3097382B2 (ja) | 和音検出装置 | |
| JP3055352B2 (ja) | 伴奏パターン作成装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 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 (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090410 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090410 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100410 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110410 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120410 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130410 Year of fee payment: 15 |
|
| LAPS | Cancellation because of no payment of annual fees |