JPH08335079A - 電子鍵盤楽器 - Google Patents

電子鍵盤楽器

Info

Publication number
JPH08335079A
JPH08335079A JP7143751A JP14375195A JPH08335079A JP H08335079 A JPH08335079 A JP H08335079A JP 7143751 A JP7143751 A JP 7143751A JP 14375195 A JP14375195 A JP 14375195A JP H08335079 A JPH08335079 A JP H08335079A
Authority
JP
Japan
Prior art keywords
key
event
automatic performance
performance event
keyboard
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
Application number
JP7143751A
Other languages
English (en)
Other versions
JP3704747B2 (ja
Inventor
Takamichi Masubuchi
孝道 増渕
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 JP14375195A priority Critical patent/JP3704747B2/ja
Publication of JPH08335079A publication Critical patent/JPH08335079A/ja
Application granted granted Critical
Publication of JP3704747B2 publication Critical patent/JP3704747B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】 電子鍵盤楽器において、自動演奏の際に楽音
を発生するのみならず、これと同期して該当する鍵を駆
動する。 【構成】 CPU10は、RAM12から自動演奏イベ
ントを再生し、駆動指示を鍵盤駆動回路2に送る。押鍵
検出回路3は、鍵盤1の動作を検出することにより演奏
イベントを発生する。この演奏イベントには、演奏者の
鍵盤演奏に対応したものの他、自動演奏イベントに対応
した無効イベントが含まれるが、CPU10は無効イベ
ント以外の演奏イベントについての楽音形成処理を電子
的な音源回路7に指示する。また、CPU10は、駆動
指示が与えられてから演奏イベントが発生されるまでの
反応時間を予め測定する。そして、自動演奏の際には、
自動演奏イベントに対応した楽音形成処理の指示よりも
反応時間分だけ先行し、駆動指示を鍵駆動回路2へ出力
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は自動演奏機能を備えた
電子鍵盤楽器に関する。
【0002】
【従来の技術】自動的に演奏を行う楽器として、いわゆ
る自動演奏ピアノのように鍵盤の鍵を演奏データに従っ
て駆動することによりピアノの打弦機構を動作させて音
を出すタイプのものと、電子的な音源により演奏データ
に従って楽音信号を形成する演奏機能付き電子楽器とが
ある。
【0003】
【発明が解決しようとする課題】ところで、上述のもの
のうち自動演奏ピアノは自動演奏の際に鍵が動くので演
奏を聴くだけでなく見て楽しむことができるという利点
がある。しかしながら、自動演奏ピアノの場合、ピアノ
の音しか発音させることができず、また、高価でもあ
る。一方、演奏機能付き電子楽器は、電子的な音源によ
り多彩な楽音を発生させることができ、自動ピアノに比
べれば安価ではあるが、自動演奏時に楽音しか発生され
ないため、演奏を見て楽しむということができない。
【0004】この発明は、このような背景の下でなされ
たものであり、自動演奏の際に楽音が発生されるのみな
らず、これと同期して該当する鍵が駆動され、演奏を聴
くだけでなく見て楽しむことができる電子鍵盤楽器を提
供することを目的としている。
【0005】
【課題を解決するための手段】請求項1に係る発明は、
自動演奏イベントを発生する手段と、自動演奏イベント
に基づく駆動指示に従って鍵盤を駆動する鍵駆動手段
と、前記鍵盤の動作を検出することにより演奏イベント
を発生する検出手段と、前記自動演奏イベント、および
前記演奏イベントのうち前記自動演奏イベントに対応し
た無効イベント以外の演奏イベントについての楽音形成
処理を電子的な音源に指示する制御手段とを具備するこ
とを特徴とする電子鍵盤楽器を要旨とする。
【0006】請求項2に係る発明は、前記演奏イベント
のうち、キーコードが前記自動演奏イベントのキーコー
ドと一致し、かつ、発生タイミングが前記自動演奏イベ
ントに対応した楽音形成処理の指示のタイミングと所定
の誤差範囲内で一致するものを前記無効イベントとみな
すことを特徴とする請求項1記載の電子鍵盤楽器を要旨
とする。
【0007】請求項3に係る発明は、前記演奏イベント
のうち、キーコードが前記自動演奏イベントのキーコー
ドと一致し、発生タイミングが前記自動演奏イベントに
対応した楽音形成処理の指示のタイミングと所定の誤差
範囲内で一致し、さらにベロシティが前記自動演奏イベ
ントのベロシティあるいは自動演奏イベントに基づいて
駆動された鍵により発生したイベントのベロシティと所
定の誤差範囲内で一致するにするものを前記無効イベン
トとみなすことを特徴とする請求項1記載の電子鍵盤楽
器を要旨とする。
【0008】請求項4に係る発明は、自動演奏イベント
を発生する手段と、自動演奏イベントに基づく駆動指示
に従って鍵盤を駆動する鍵駆動手段と、前記鍵盤の動作
を検出することにより演奏イベントを発生する検出手段
と、前記鍵駆動手段に対して前記駆動指示が与えられて
から前記検出手段により演奏イベントが発生されるまで
の反応時間を測定し、自動演奏の際には、前記自動演奏
イベントに対応した楽音形成処理を楽音形成手段へ指示
するとともに、この指示のタイミングよりも前記反応時
間分だけ先行して該自動演奏イベントに対応した駆動指
示を前記鍵駆動手段へ出力する制御手段とを具備するこ
とを特徴とする電子鍵盤楽器を要旨とする。
【0009】請求項5に係る発明は、前記制御手段は、
自動演奏に先立って前記反応時間を測定することを特徴
とする請求項4記載の電子鍵盤楽器を要旨とする。
【0010】請求項6に係る発明は、前記制御手段は、
自動演奏時に前記駆動指示を出力する際に前記反応時間
を測定することを特徴とする請求項4記載の電子鍵盤楽
器を要旨とする。
【0011】請求項7に係る発明は、前記制御手段は、
前記自動演奏イベントの指定に従って複数種類の駆動強
度に対応した駆動指示を前記鍵駆動手段へ出力するもの
であり、これらの複数種類の駆動強度について前記反応
時間の測定を行うことを特徴とする請求項4記載の電子
鍵盤楽器を要旨とする。
【0012】請求項8に係る発明は、発音強度データを
含む自動演奏イベントを発生する手段と、自動演奏イベ
ントに基づく駆動指示に従って鍵盤を駆動する鍵駆動手
段と、前記自動演奏イベントに対応した楽音形成処理を
電子的な音源に指示して発音強度データに応じた強度の
楽音を形成するとともに、該自動演奏イベントに含まれ
る発音強度データを該発音強度データの分解能よりも粗
い閾値により量子化することにより鍵駆動強度を求め、
この鍵駆動強度に従って鍵盤を駆動すべき旨の駆動指示
を前記鍵駆動手段に供給する制御手段とを具備すること
を特徴とする電子鍵盤楽器を要旨とする。
【0013】請求項9に係る発明は、自動演奏イベント
を発生する手段と、自動演奏イベントに基づく駆動指示
に従って鍵盤を駆動する鍵駆動手段と、前記鍵盤の動作
を検出することにより演奏イベントを発生する検出手段
と、前記検出手段により既に動作が検出されている鍵盤
に対応する自動演奏イベントが発生した場合、該自動演
奏イベントによる鍵盤駆動を中止するか、あるいは押鍵
駆動後、即座に離鍵駆動を行う制御手段とを具備するこ
とを特徴とする電子鍵盤楽器を要旨とする。
【0014】
【作用】上記請求項1〜3に係る発明によれば、自動演
奏イベントに従って楽音形成処理の指示が行われると共
に鍵盤の駆動が行われる。このようにしてなされる鍵駆
動の他、演奏者によっても押離鍵が行われ、これらの両
方に対応した演奏イベントが出力される。しかし、演奏
イベントのうち、自動演奏イベントに起因して発生した
ものは無効イベントとして取り扱われ、楽音形成処理の
対象とならない。従って、自動演奏イベントおよび演奏
者による鍵盤演奏に対応した楽音形成処理を行う場合
に、前者に対応した楽音形成処理が重複して行われると
いう不具合は生じない。
【0015】上記請求項4〜7に係る発明によれば、鍵
の反応時間が測定され、この反応時間を考慮したタイミ
ングで自動演奏イベントに対応した駆動指示が行われ
る。従って、自動演奏イベントに対応した楽音形成処理
と鍵駆動とを同期化させることができる。
【0016】上記請求項8に係る発明によれば、自動演
奏の際のベロシティよりは粗い精度ではあるが、このベ
ロシティを鍵盤の押離鍵の速度に反映される。本発明に
おいて、自動演奏イベントに基づいて行われる押離鍵は
楽音形成を目的としたものではなく、使用者が見て楽し
むためのものであるが、押離鍵にある程度の強弱があっ
た方が実際の演奏を見るのと同様な楽しみを与えること
ができる。本発明によれば、このような要求に応えるこ
とができる。
【0017】上記請求項9に係る発明によれば、演奏者
によって押鍵がされた後に自動演奏イベントが発生さ
れ、その自動演奏イベントによって鍵が押鍵駆動されて
いる状態において該鍵に対する離鍵操作が演奏者によっ
て行われた場合に、演奏者によって離鍵されたにも拘わ
らず鍵が戻らないといった不都合を防止することができ
る。
【0018】
【実施例】以下、本発明を更に理解しやすくするため、
実施例について説明する。かかる実施例は、本発明の一
態様を示すものであり、この発明を限定するものではな
く、本発明の範囲で任意に変更可能である。
【0019】<第1実施例> A.本実施例の構成 図1は本実施例による電子鍵盤楽器の構成を示すブロッ
ク図である。以下、この図を参照し、本実施例の構成に
ついて説明する。
【0020】(1)鍵盤、鍵駆動手段および検出手段 図1において、1は多数の鍵が配備されてなる鍵盤、2
は自動演奏の際に鍵盤1を構成する各鍵を駆動するため
の鍵駆動回路である。また、3は押鍵検出回路であり、
この押鍵検出回路3を介して鍵盤1の各鍵の押鍵、離鍵
が検出され、キーイベント(演奏イベント)が発生され
る。このキーイベントは押離鍵された鍵の番号を表すキ
ーコードと押離鍵の速度を表すベロシティを含んでい
る。
【0021】図2は、鍵盤1における各鍵の取り付け構
造を示すものであり、同図において101が鍵である。
この図に示すように、鍵101は、支点102を中心に
回動自在に支持されている。図2において鍵101の右
端の部分が演奏者と対面する前端部であり、この部分は
バネ103によって上方へ持上げられている。一方、鍵
101の後端部の下方には駆動機構104が設けられて
いる。この駆動機構104は鍵駆動のための手段として
ソレノイド(図示略)を内蔵している。例えば押鍵駆動
が行われる場合には、このソレノイドへの通電によって
磁界が発生され、この磁界により鍵101の後端部下方
に設けられた被駆動部104が上方へ突き上げ駆動され
(矢印m)、この突き上げ駆動により、鍵101の前端
部がバネ103の反発力に抗して降下される(矢印
M)。駆動機構104による突き上げ駆動がされていな
いときには、演奏者が行う押鍵、離鍵操作は、何の妨げ
も受けない。各鍵を押鍵駆動あるいは離鍵駆動するため
には各鍵に対応した駆動機構104のソレノイドに対す
る通電制御を行う必要があるが、この通電制御は図1に
おける鍵盤駆動回路2を介して行われる。
【0022】(2)操作および表示のための手段 4はこの電子鍵盤楽器の操作パネル面に配備された各種
スイッチ類、5はこれらの各スイッチのオン/オフ状態
を検知するためのスイッチ検出回路、6は操作パネル面
上のディスプレイ(図示略)に演奏者に対する各種メッ
セージの表示を行わせるための表示回路である。
【0023】(3)楽音形成手段 7は電子的な構成により楽音信号を形成する音源回路で
ある。この音源回路7によって形成された楽音信号は、
効果回路8によって各種の音響的効果が付与され、サウ
ンドシステムSSから楽音として発音される。これらの
音源回路7、効果回路8およびサウンドシステムSSが
本実施例における楽音形成手段を構成している。すなわ
ち、本実施例は、上述のように鍵101を駆動するため
の鍵盤駆動回路2等を備えてはいるものの、これらによ
って行われる鍵駆動により打弦機構等を動作せしめて発
音を行うものではなく、専らこの電子的な楽音形成手段
によって楽音を出力するものである。
【0024】(4)制御手段 図1において、CPU10、ROM11、RAM12お
よびタイマ13は、この電子鍵盤楽器の制御手段を構成
している。すなわち、CPU10は、バスを介して図1
に示される各部を制御することにより、この電子鍵盤楽
器の所期の機能を提供するものである。ROM11はC
PU10によって実行される制御プログラムを予め記憶
している。RAM12はCPU10が制御を行う際に必
要な各種制御情報の一時記憶等に使用される。また、自
動演奏が行われる際にはイベントおよびデルタデータ
(後述)からなる演奏データが演奏に先立ってこのRA
M12に記憶される。タイマ13はCPU10が各種制
御を行うタイミングを得るために設けられた手段であ
り、予め設定された時間間隔で定期的にタイマ割込み信
号をCPU10に供給する。このタイマ割込み信号に
は、常に一定時間間隔で出力されるタイマ割込み信号の
ほか、自動演奏の設定テンポに応じた時間間隔で発生さ
れる自動演奏用タイマ割込み信号がある。通常、一定時
間間隔のタイマ割込み信号は、自動演奏用タイマ割込み
信号の発生周期よりも十分に短い周期(本実施例では1
ms)で発生される。
【0025】本実施例においてCPU10が行う制御の
うち主なものを挙げると次の通りである。
【0026】a.通常の鍵盤演奏のための制御 この制御は、基本的には通常の電子鍵盤楽器において行
われるものと同様である。すなわち、CPU10は、押
鍵検出回路3を介してキーオンイベントおよびキーオフ
イベント(演奏イベント)を検出し、これらのキーイベ
ントに応答して、音源回路7による発音および消音の制
御を行う。ただし、本実施例においては、自動演奏時に
おいても演奏者による鍵盤演奏を認めているため、押鍵
検出回路3から検出される演奏イベントには自動演奏に
対応したものと演奏者の鍵盤演奏に対応したものとが混
在することとなり、その取り扱いが問題となる。なお、
この取り扱いについては後述する。
【0027】b.自動演奏のための制御 本実施例では、自動演奏に先立ち、演奏データがFDD
15等から供給され、図3に例示するような態様でRA
M12に記憶される。この図に示すように、演奏データ
はイベントとデルタタイムからなる一連のデータであ
り、RAM12内の連続した各アドレスにデルタタイ
ム、イベント、デルタタイム、…という具合に順次交互
に記憶されている。ここで、デルタタイムは、その直後
にあるイベントをRAM12から読み出すまでの待機時
間を指定する情報である。イベントは、楽音信号の形成
に関連した指示を行う情報であり、キーイベント(自動
演奏イベント)の他、音色設定等の制御情報も含まれ
る。キーイベントには、発音を指示するキーオンイベン
トと消音を指示するキーオフイベントがある。また、キ
ーイベントには発音または消音の対象となる音高(すな
わち、電子鍵盤楽器においては鍵の番号)を指定するキ
ーコード、発音の強度を指定するベロシティが含まれて
いる。自動演奏開始の指示が与えられた場合、CPU1
0は、これらの演奏データをRAM12から逐次読み出
し、この演奏データに従って音源回路7の楽音信号形成
処理を制御し、自動演奏を行う。
【0028】また、本実施例における自動演奏は、音に
よる演出のみならず、これに合わせて鍵の動きによる演
出を行うものである。すなわち、CPU10は、キーイ
ベントをRAM12から読み出した場合、これに応答し
た楽音形成の制御を行うのみならず、このキーイベント
に対応した鍵を押鍵駆動あるいは離鍵駆動すべく、鍵盤
駆動回路2に対して必要な指令を行う。
【0029】以上の自動演奏のための制御は、タイマ1
3から供給されるタイマ割込み信号に同期して行われ
る。
【0030】さて、本実施例は、自動演奏と演奏者によ
るマニュアル演奏を同時に行い得るように構成されてお
り、自動演奏中において鍵盤1の各鍵は演奏データに従
って駆動されると共に演奏者によっても押離鍵が行われ
る。このため、マニュアル演奏の結果生じたキーイベン
ト(演奏イベント)と演奏データ中のキーイベント(自
動演奏イベント)に従って押離鍵駆動が行われた結果生
じたキーイベントの両方が押鍵検出回路3を介して検出
される。これらの各キーイベントのうち前者のものは音
源回路7へ送って発音処理あるいは消音処理を行わせる
べきものであるが、後者のものは無効イベントであり、
音源回路7へは送らず無視しなければならない。無視し
ないで音源回路7へ送ると、同一の演奏データに対応し
た発音処理または消音処理が重複して行われてしまうか
らである。
【0031】そこで、本実施例においては、RAM12
内の所定の記憶エリアに図4に示す第1〜第3のバッフ
ァを設定し、CPU10がこれらの各バッファを用いる
ことによりキーイベントの時系列的な管理を行い、上記
の重複した発音処理あるいは消音処理が行われないよう
に制御を行っている。なお、これらのバッファを使用し
た制御については、本実施例の動作説明の際に詳述す
る。
【0032】c.鍵駆動タイミングの最適化のための制
御 上述したように、本実施例においては、音源回路7によ
って発音を行わせる際にその楽音に対応した鍵を押離鍵
させる。ここで、鍵駆動回路2によって鍵の駆動を開始
してから実際に押鍵または離鍵が行われるまでに遅延が
生じる。従って、音源回路7によって発音を行うのと同
時に鍵駆動回路2による鍵の駆動を行ったのでは、押鍵
および離鍵の動きが発音タイミングおよび消音タイミン
グよりも遅れてしまう。
【0033】そこで、本実施例においては、自動演奏
中、再生すべきキーイベントが発生した場合、図5に示
す態様で鍵駆動およびキーイベントに対応した発音・消
音のタイミング制御を行う。すなわち、 i)キーイベント発生時点から所定の待機時間Tだけ待
機した後のタイミングで当該キーイベントを音源回路7
に送り、キーイベントに対応した発音または消音を行わ
せる。 ii)音源回路7にキーイベントを送るタイミングよりも
所定の先行時間dTだけ前のタイミングにおいて、当該
キーイベントに対応した押鍵または離鍵の指示を鍵駆動
回路2に与える。先行時間dTとしては、押鍵または離
鍵の指示を鍵駆動回路2に与えてから、押鍵または離鍵
が実際に行われるまでの反応時間を使用する。
【0034】このような制御により、鍵の動きと音源回
路7の発音および消音タイミングとの同期化が行われ
る。
【0035】ところで、鍵駆動装置105は、発熱によ
り、その特性が変動する。そして、この特定変動が生じ
た場合、上記反応時間も変動することとなる。また、鍵
駆動装置105の特性には各鍵間でばらつきがある。従
って、すべての鍵について、鍵の動きを正確に発音また
は消音タイミングと同期させるためには、上記時間dT
として各鍵毎に最適値を設定する必要がある。
【0036】そこで、本実施例においてCPU10は、
上記反応時間を各鍵毎に測定し、この測定結果に基づい
て各鍵毎に最適な先行時間dTを求め、以後はこの先行
時間dTに従った鍵駆動のタイミング制御を行う。
【0037】(5)自動演奏のための情報を授受あるい
は記憶するための手段 14は外部との間でMIDI情報の送受信を行うための
MIDIインタフェース、15は演奏データを記憶する
ためのFD(フレキシブルディスク)の駆動を行うFD
D(フレキシブルディスク駆動装置)である。これら
は、この電子鍵盤楽器において自動演奏を行うのに必要
な演奏データを得るため、あるいは電子鍵盤楽器の演奏
により生じた演奏データを記録または外部に出力するた
めに設けられた手段である。
【0038】B.本実施例の動作 図6〜図12はCPU10によって実行される制御の内
容を示すフローチャートである。以下、これらの図を参
照し、本実施例の動作を説明する。
【0039】(1)全体フロー この電子鍵盤楽器の電源が投入されると、CPU10は
図6にフローを示すメインルーチンを実行する。すなわ
ち、最初に初期化処理(ステップS1)を実行し、以後
は、キースキャン処理(ステップS2)、自動演奏処理
(ステップS3)、発音・鍵駆動処理(ステップS4)
および操作パネル面上の各種スイッチ類の状態検出等の
その他の処理(ステップS5)を繰返し実行する。図9
はステップS1において実行される初期化処理ルーチン
のフローを示している。また、図10〜図12はステッ
プS2〜S4において実行されるキースキャン処理ルー
チン、自動演奏処理ルーチンおよび発音・鍵駆動処理ル
ーチンの各フローを示している。
【0040】一方、タイマ13からCPU10に対し、
自動演奏の設定テンポに応じた時間間隔で自動演奏用タ
イマ割込み信号が供給される。この結果、CPU10
は、その時点で実行中の処理を中断し、図7にフローを
示す自動演奏用タイマ割込み処理ルーチンを実行するこ
とにより、自動演奏フラグAPに“1”をセットする
(ステップS101)。そして、この処理の終了後、中
断していた処理を再開する。また、上記自動演奏用タイ
マ割込み信号とは別に、タイマ13からCPU10に対
し、一定時間間隔(例えば1ms間隔)でタイマ割込み
信号が供給される。この結果、CPU10は、実行中の
処理を中断して図8にフローを示す一定時間毎タイマ割
込み処理ルーチンを実行する。すなわち、キーフラグK
EYに“1”をセットし(ステップS201)、発音・
鍵駆動フラグTG_KDにも“1”をセットする(ステ
ップS202)。そして、この処理の終了により、中断
していた処理を再開する。
【0041】(2)初期化処理 本実施例においては、電源投入直後の初期化処理(図6
に示すメインルーチンのステップS1)において、上述
した鍵駆動タイミングの最適化のための処理を行う。こ
こで、図9を参照し、この初期化処理の詳細について説
明する。まず、ステップS301に進み、鍵番号レジス
タKNに初期値「1」を設定する。次いでステップS3
02に進むと、鍵駆動回路2に対し鍵番号レジスタKN
の内容に対応した鍵(すなわち、この場合は第1番目の
鍵)についての押鍵駆動指示およびこの押鍵駆動の強度
を指定する押鍵信号Fを供給するとともに、計時を開始
する。この結果、鍵駆動回路2により、上記押鍵駆動指
示のなされた鍵に対応した駆動機構104のソレノイド
に押鍵信号Fに対応した電流が通電され、押鍵信号Fに
対応した強度での押鍵駆動が行われる。
【0042】次にステップS303に進み、上記押鍵駆
動指示に対応したキーオンイベントが押鍵検出回路3を
介して検出されるまで待機する。そして、該当するキー
オンイベントが検出された場合にはステップS304に
進んで計時を終了する。そして、この計時により得られ
た押鍵駆動指示からキーオンイベント発生までの反応時
間を示す情報を、鍵番号KNおよび押鍵強度Fに対応し
た押鍵用先行時間レジスタdT_on(KN,F)に格
納する。次にステップS305に進み、上記待機時間T
から押鍵用先行時間レジスタdT_on(KN,F)の
内容を減算する。そして、この減算結果を鍵番号KNお
よび押鍵強度Fに対応した押鍵用待機時間レジスタDT
_on(KN,F)に格納する。
【0043】以上説明したステップS302〜S305
に相当する処理を離鍵駆動についても実施することによ
り(ステップS306〜S309)、離鍵駆動指示から
キーオフイベント発生までの反応時間を測定し、この測
定結果に従って鍵番号KNおよび離鍵強度Fに対応した
離鍵用待機時間を求め、離鍵用待機時間レジスタDT_
off(KN,F)に格納する。
【0044】そして、ステップS310に進み、鍵番号
レジスタKNの内容が最大値(例えば「88」)と等し
いか否かを判断する。そして、この判断結果が「NO」
の場合は、鍵番号レジスタKNの内容を1だけ増加させ
(ステップS311)、ステップS302〜S310)
を実行する。
【0045】鍵盤1を構成するすべての鍵について、上
記ステップS301〜S310が実行されると、ステッ
プS310の判断結果が「YES」となり、この初期化
処理を終了する。 以上のように、鍵盤上の全鍵につい
て、キーイベントが発生してから押鍵または離鍵の駆動
指示の送出まで待機せねばならない時間が求められ、押
鍵用待機時間レジスタDT_on(KN,F)および離
鍵用待機時間レジスタDT_off(KN,F)内に格
納される。
【0046】(3)自動演奏 操作パネル上に設けられた自動演奏の指示のためのスイ
ッチがオン状態とされると、この操作がメインルーチン
のステップS5において検知され、ランフラグRUNに
“1”がセットされる。この結果、以下のように自動演
奏のための制御が行われる。
【0047】まず、メインルーチンのステップS3から
図11に示す自動演奏処理ルーチンへ進むと、そのステ
ップS501においてランフラグRUNの内容が“1”
か否かを判断する。この場合、ランフラグRUNに
“1”がセットされていることにより、ステップS50
1の判断結果が「YES」となってステップS502へ
進む。なお、自動演奏の指示がなされておらず、ランフ
ラグRUNが“0”となっている場合にはステップS5
01の結果が「NO」となり、そのままメインルーチン
に戻る。すなわち、この自動演奏処理ルーチンの実質的
な処理は自動演奏の指示がなされてときのみ実行され
る。
【0048】次にステップS502に進むと、自動演奏
フラグAPの内容が“1”か否かを判断する。前述した
自動演奏用タイマ割込み信号がタイマ13から供給さ
れ、これに伴って図7に示す自動演奏用タイマ割込み処
理ルーチンが実行された直後においては、自動演奏フラ
グAPに“1”がセットされているため、ステップS5
02の判断結果が「YES」となってステップS503
に進む。一方、ステップS502の判断結果が「NO」
の場合はメインルーチンに戻る。
【0049】次にステップS503に進むと、自動演奏
フラグAPに“0”を書込む。次にステップS504に
進み、残り時間レジスタTIMEの内容が「0」となっ
ているか否かを判断する。この残り時間レジスタTIM
Eは、RAM12から演奏データを読み出す時刻までの
残り時間を示す情報を記憶するレジスタである。残り時
間レジスタTIMEの内容が「0」よりも大きい場合、
すなわち、未だ演奏データを読み出す時刻に至っていな
い場合には、ステップS504の判断結果が「NO」と
なり、ステップS599へ進んで残り時間レジスタTI
MEの内容を1だけ減少させ、メインルーチンに戻る。
【0050】再びメインルーチンのステップS3におい
て自動演奏処理ルーチンが実行される際、ステップS5
02まで進むこととなるが、自動演奏用タイマ割込み信
号が発生され、自動演奏フラグAPが“1”にセットさ
れるまでの間は、ステップS502の判断結果が「N
O」となるため、ステップS503以降の処理は一切実
行されない。そして、自動演奏フラグAPの内容が
“1”となった後、自動演奏処理ルーチンが最初に実行
される場合に限り、ステップS503以降の処理が実行
される。すなわち、自動演奏処理ルーチンにおけるステ
ップS503以降の処理は、自動演奏用タイマ割込み信
号の発生タイミングに同期して実行されるものであり、
また、1回の自動演奏用タイマ割込み信号の発生に対し
て1回限り実行される。従って、残り時間レジスタTI
MEの内容も、自動演奏用タイマ割込み信号が発生され
る毎に1ずつ減少してゆくこととなる(ステップS59
9)。
【0051】そして、残り時間レジスタTIMEの内容
が「0」になると、ステップS504からステップS5
05へ進み、RAM12の読み出しアドレスを進めて演
奏データを読み出す。次にステップS506に進み、読
み出した演奏データがデルタタイムであるか否かを判断
する。
【0052】演奏データがキーイベント等、デルタタイ
ム以外のデータである場合には、ステップS506の判
断結果が「NO」となり、ステップS507に進む。そ
して、読み出した演奏データがキーオンまたはキーオフ
のキーイベントであるか否かを判断する。この判断結果
が「NO」の場合はそのデータに対応した制御(ステッ
プS508)を行ってステップS505へ戻る。一方、
ステップS507の判断結果が「YES」の場合はステ
ップS509へ進み、ステップS505において読み出
したキーイベントを第1バッファに書込むと共にこのキ
ーイベントに対応した発音または消音を行うまでの待機
時間の初期値として所定の待機時間Tを第1バッファに
書込む(図4参照)。次にステップS510へ進み、上
記キーイベントおよびこのキーイベントの鍵番号に対応
した待機時間の第2バッファへの書込みを行う。すなわ
ち、読み出したキーイベントがキーオンイベントである
場合には、その鍵番号KNに対応した押鍵用待機時間レ
ジスタDT_on(KN、F)から押鍵用待機時間を読
み出し、キーオンイベントと共に第2バッファへ書込
む。また、キーイベントがキーオフイベントである場合
には、その鍵番号KNに対応した離鍵用待機時間レジス
タDT_off(KN、F)から離鍵用待機時間を読み
出し、キーオフイベントと共に第2バッファへ書込む。
【0053】ステップS510が終了すると、ステップ
S505へ戻り、読み出しアドレスを進めて新たな演奏
データを読み出し、その演奏データがキーイベント等の
デルタタイム以外のデータである場合はステップS50
6からステップS507へ進み、上述と同様な処理を実
行する。
【0054】ステップS505においてデルタタイムを
読み出した場合はステップS506の判断結果が「YE
S」となってステップS511へ進む。そして、読み出
したデルタタイムを残り時間レジスタTIMEに書込
む。このようにして次に演奏データを読み出すまでに待
機しなければならない残り時間が設定される訳である。
次いでステップS512へ進み、残り時間レジスタTI
MEの内容が「0」か否かを判断し、この判断結果が
「YES」の場合はステップS505へ戻る。一方、ス
テップS512の判断結果が「NO」の場合は残り時間
レジスタTIMEの内容を1だけ減少させ(ステップS
599)、メインルーチンに戻る。
【0055】以上のように、自動演奏用タイマ割込み信
号の発生に同期したタイミングで、RAM12からキー
イベントが逐次読み出され、所定の待機時間Tを示す情
報と共に第1バッファに書込まれ、さらに当該キーイベ
ントの鍵番号に対応した待機時間情報と共に第2バッフ
ァに書込まれる。
【0056】このようにしてバッファに書込まれたキー
イベントは、メインルーチンのステップS4において図
12に示す発音・鍵駆動処理ルーチンが実行されること
により、楽音形成処理および鍵駆動処理に使用される。
【0057】まず、ステップS601に進むと、発音・
鍵駆動フラグTG_KDの内容が“1”か否かを判断す
る。そして、この判断結果が「YES」の場合は発音・
鍵駆動フラグTG_KDに“0”を書込んで(ステップ
S602)、ステップS603以降の処理へ進み、「N
O」の場合は何等処理を行うことなくメインルーチンに
戻る。この発音・鍵駆動フラグTG_KDは、一定時間
間隔でタイマ割込み信号が発生され、図8に示す一定時
間毎タイマ割込み処理が実行されることにより“1”が
セットされる。従って、発音・鍵駆動処理ルーチンにお
けるステップS602以降の処理は、一定時間間隔でタ
イマ割込み信号が発生される毎に実行されることとな
る。
【0058】次にステップS603へ進むと、第1バッ
ファ内に発音または消音までの待機時間が0となってい
るキーイベントがあるか否かを判断する。該当するキー
イベントがない場合はステップS604およびS605
を飛ばしてステップS606へ進み、第1バッファ内に
発音または消音までの待機時間がαとなっているキーイ
ベントがあるか否かを判断する。該当するキーイベント
がない場合はステップS607を飛ばしてステップS6
08へ進み、第1バッファ内の各キーイベントに対応し
た各待機時間を一律に1だけ減少させる。
【0059】次にステップS609に進み、第2バッフ
ァ内に押鍵駆動または離鍵駆動までの待機時間が0とな
っているキーイベントがあるか否かを判断する。該当す
るキーイベントがない場合はステップS610およびS
611を飛ばしてステップS612へ進み、第2バッフ
ァ内の各キーイベントに対応した各待機時間を一律に1
だけ減少させる。
【0060】次にステップS613に進み、第3バッフ
ァ内に待機時間が0であるキーイベントがあるか否かを
判断し、該当するキーイベントがない場合は第3バッフ
ァ内の各キーイベントに対応した待機時間を一律に1だ
け減少させ(ステップS615)、メインルーチンに戻
る。なお、第3バッファ内のキーイベントおよび待機時
間については後述する。
【0061】以上のように、一定時間間隔でタイマ割込
み信号が発生される毎に、第1〜第3の各バッファ内の
キーイベントに対応した各待機時間についての判定が行
われると共に各待機時間を1だけ減少させる処理が行わ
れ、各待機時間は次第に減少してゆくこととなる。
【0062】さて、前述した自動演奏処理ルーチンが実
行された結果、あるキーオンイベントがRAM12から
読み出されたとすると、このキーオンイベントおよび所
定の待機時間Tが第1バッファに書込まれ(図11にお
けるステップS509)、このキーオンイベントおよび
その鍵番号KNに対応した押鍵用待機時間DT_on
(KN,F)が第2バッファに書込まれる。
【0063】そして、この発音・鍵駆動処理ルーチンが
実行される毎に、第1バッファ内の待機時間は初期値T
から、第2バッファ内の押鍵用待機時間は初期値DT_
on(KN,F)から、順次1ずつデクリメントされて
ゆく。
【0064】ここで、時間T、DT_on(KN,
F)、αは、図5に示す関係を有している(ただし、図
5においてDT_on(KN,F)は単にDTと表され
ている)。このため、キーオンイベントの読み出し時刻
から押鍵用待機時間DT_on(KN,F)だけ経過し
た時点において、最初に第2バッファ内の押鍵用待機時
間が0となる。
【0065】この結果、ステップS609の判断結果が
「YES」となり、ステップS610へ進むこととな
る。そして、ステップS610へ進むと、待機時間が0
となった第2バッファ内のキーオンイベントが読み出さ
れ、このキーオンイベントに対応した押鍵駆動の指示お
よび押鍵強度を指定する押鍵信号Fが鍵駆動回路2へ送
られる。
【0066】次にキーオンイベントの読み出し時刻から
時間T−αだけ経過した時点において、第1バッファ内
の当該キーオンイベントに対応した待機時間がαとな
る。この結果、ステップS606の判断結果が「YE
S」となり、ステップS607へ進むこととなる。そし
て、ステップS607へ進むと、当該キーオンイベント
およびこのキーオンイベントに対応した待機時間の初期
値2αが第3バッファに書込まれる。このようにして書
込まれた第3バッファ内の待機時間が前述したステップ
S613〜S615の各処理の処理対象となる訳であ
る。第3バッファ内の待機時間が0より大きい間はステ
ップS613の判断結果が「NO」となるため、待機時
間のデクリメント(ステップS615)のみが行われ
る。
【0067】次にキーオンイベントの読み出し時刻から
時間Tだけ経過すると、第1バッファ内の当該キーオン
イベントに対応した待機時間が0となる。この結果、ス
テップS603の判断結果が「YES」となり、ステッ
プS604へ進み、当該キーオンイベントが音源回路7
へ送られ、発音が行われる。次いでステップS605へ
進み、発音を行ったキーオンイベントが第1バッファか
ら消去される。
【0068】以上のようにして、キーオンイベントの読
み出し時刻から押鍵用待機時間DT_on(KN,F)
だけ経過した時点において押鍵駆動の指示が行われ、読
み出し時刻から所定の待機時間Tだけ経過した時点にお
いて当該キーオンイベントに対応した発音が行われる。
ここで、押鍵用待機時間DT_on(KN,F)は、押
鍵駆動指示が発音タイミングよりも反応時間dT_on
(KN,F)だけ先行して行われるように設定されてい
るため、キーオンイベントに対応した発音が行われると
と同時に当該キーオンイベントに対応した押鍵動作が行
われる(図5参照)。
【0069】その後、キーオンイベントの読み出し時刻
から時間T+αだけ経過すると(すなわち、上記ステッ
プS607において第3バッファにキーオンイベントお
よび待機時間の初期値2αを書き込んだ時点から時間2
αが経過すると)、第3バッファ内の当該キーオンイベ
ントに対応した待機時間が0となる。この結果、ステッ
プS613の判断結果が「YES」となり、ステップS
614へ進み、第3バッファから当該キーオンイベント
が消去される。
【0070】すなわち、本実施例においてはキーオンイ
ベントの読み出し時刻から時間Tだけ経過した時点にお
いて当該キーオンイベントに対応した発音が行われる
が、この発音時刻を中心に±αの範囲の期間、当該キー
オンイベントが第3バッファ内に保存される。
【0071】以上、RAM12から読み出されたキーオ
ンイベントの取り扱いを例に説明を行ったが、キーオフ
イベントについても全く同様な処理が行われる。
【0072】(4)演奏者による鍵盤演奏 本実施例においては、上述の自動演奏が行われていない
場合および自動演奏が行われている場合のいずれにおい
ても、演奏者が鍵盤1を操作して演奏を行うことができ
る。自動演奏中に演奏者による鍵盤演奏が行われると、
演奏者による押離鍵操作に対応したキーイベント(演奏
イベント)と、RAM12から読み出されたキーイベン
ト(自動演奏イベント)に従って鍵駆動がなされること
によって生じるキーイベントの両方が、押鍵検出回路3
を介して検出される。これらのキーイベントは、メイン
ルーチンのステップS2を介して実行されるキースキャ
ン処理ルーチン(図10)の処理対象となる。
【0073】まず、ステップS401に進み、キーフラ
グKEYの内容が“1”か否かを判断する。そして、こ
の判断結果が「YES」の場合はキーフラグKEYに
“0”を書込んで(ステップS402)、ステップS4
03以降の処理へ進み、「NO」の場合は何等処理を行
うことなくメインルーチンに戻る。このキーフラグKE
Yも、上述した発音・鍵駆動フラグTG_KDと同様、
一定時間間隔でタイマ割込み信号が発生されることによ
り“1”がセットされる。従って、キースキャン処理ル
ーチンにおけるステップS402以降の処理も、一定時
間間隔でタイマ割込み信号が発生される毎に実行され
る。
【0074】次にステップS403へ進むと、押鍵検出
回路3を介して鍵盤1のスキャンを行う。次いでステッ
プS404へ進み、押鍵検出回路3を介してキーオンイ
ベントまたはキーオフイベントが検出されたか否かを判
断し、この判断結果が「NO」の場合はメインルーチン
へ戻り、「YES」の場合はステップS405へ進む。
【0075】次にステップS405に進むと、ステップ
S403において検出されたキーオンイベントまたはキ
ーオフイベントと同一のキーコードを含むキーイベント
が第3バッファ内にないか否かを判断する。この判断結
果が「YES」の場合はステップS406に進み、ステ
ップS403において検出されたキーオンイベントまた
はキーオフイベントを音源回路7へ送り、これに対応し
た発音または消音を行わせる。そして、メインルーチン
に戻る。
【0076】一方、ステップS405の判断結果が「N
O」の場合はステップS406を実行することなくメイ
ンルーチンに戻る。このような制御が行われるため、本
実施例においては、RAM12から読み出されたキーイ
ベント(自動演奏イベント)について発音処理または消
音処理が重複して行われることはない。
【0077】何故ならば、前述した通り、RAM12か
らキーイベント(自動演奏イベント)が読み出された場
合には、このキーイベントに対応した発音または消音が
行われる時刻から±αの範囲内の期間、当該キーイベン
トが第3バッファ内に保存されている。また、本実施例
においては、RAM12からキーイベント(自動演奏イ
ベント)が読み出された場合には、そのキーイベントに
対応した発音または消音と同時に、そのキーイベントに
対応した鍵駆動が行われ、この鍵駆動に対応したキーイ
ベントが検出される。従って、かかる鍵駆動に対応した
キーイベント(無効イベント)に関しては、上記ステッ
プS405の判断結果は必ず「NO」となり、重複した
発音処理または消音処理が行われることはないのであ
る。なお、ステップS404において複数のキーイベン
トが同時に検出された場合はステップS405(および
S406)の処理を複数の各イベントについて行うもの
とする。
【0078】<第2実施例>上記第1実施例ではRAM
12から読み出されたキーイベントに対応した鍵駆動を
行う際に一定の押鍵信号または離鍵信号Fを鍵駆動回路
2に与えたが、本実施例においては、信号Fの大きさを
図13に示すようにキーイベントのベロシティに応じて
段階的に変化させる。ただし、鍵駆動回路2による鍵の
駆動強度の制御に関して、あまりに厳しい要求をしたの
では楽器が高価になってしまうので、本実施例ではベロ
シティの分解能よりは粗い閾値を用いてベロシティを量
子化し、信号Fを決定する。このようにベロシティを量
子化しても、発音される音には全く影響がなく、駆動強
度を細かく制御しなくても何ら問題はない。
【0079】このように鍵の駆動速度を可変とした場
合、鍵の反応時間も鍵の駆動速度により変化する。この
ため、押鍵用待機時間または離鍵用待機時間として固定
の値を使用したのでは、鍵の駆動速度によっては発音タ
イミングと鍵駆動タイミングとの間にずれが生じてしま
う。
【0080】そこで、本実施例においては、上記第1実
施例における各処理を以下のように変更する。
【0081】まず、初期化処理ルーチン(図9)は、図
14に示すフローに従って実行する。すなわち、信号F
の大きさを「1」に初期設定し(ステップS701)、
次いで図9に示す初期化処理ルーチンを実行する(ステ
ップS702)。そして、信号Fの大きさを最大値と比
較し(ステップS703)、最大値に達するまで「1」
ずつインクリメントしながら(ステップS704)、ス
テップS702を繰返し実行する。この結果、鍵盤1の
各鍵の鍵番号KNと信号Fの各組合せに対応した押鍵用
待機時間DT_on(KN,F)および離鍵用待機時間
DT_off(KN,F)が得られる。
【0082】また、自動演奏処理ルーチン(図11)の
実行時においては、RAM12から読み出したキーイベ
ントのベロシティを参照し、このベロシティに対応した
信号Fを求め、この信号Fに対応した押鍵用待機時間D
T_on(KN,F)または離鍵用待機時間DT_of
f(KN,F)を第2バッファへ書き込む(ステップS
510)。
【0083】また、発音・鍵駆動処理ルーチン(図1
2)の実行時においては、第2バッファから読み出され
たキーイベント中のベロシティに従って押鍵信号または
離鍵信号Fの出力を行う(ステップS610)。このよ
うにすることで、鍵速度が変っても発音タイミングと一
致したタイミングで押離鍵を行わせることができる。
【0084】また、キースキャン処理ルーチン(図1
0)を実行する際には、同ルーチンのステップS405
およびS406に代えて、図15に示す一致判定処理ル
ーチンを実行する。
【0085】すなわち、押鍵検出回路3を介してキーオ
ンイベントまたはキーオフイベントが検出された場合、
このキーオンイベントまたはキーオフイベントと同一の
キーコードを含むキーイベントが第3バッファ内にない
か否かを判断し(ステップS801)、この判断結果が
「YES」の場合は当該キーオンイベントまたはキーオ
フイベントを音源回路7へ送って発音または消音を行わ
せる(ステップS802)。
【0086】しかし、ステップS801の判断結果が
「NO」である場合には、当該キーオンイベント等のベ
ロシティと第3バッファ内のこれに対応したキーイベン
トのベロシティを比較し(ステップS803)、両者が
近い場合に限って当該キーオンイベント等を無視し、両
者が近い値でない場合には無視することなく音源回路7
へ送る(ステップS802)。すなわち、2つのキーイ
ベントが非常にタイミングが接近しており、かつ、同一
の鍵に関するものであっても、ベロシティが異なれば全
く別のキーイベントとして取り扱うものである。このよ
うな制御が行われる結果、演奏者が自動演奏による鍵駆
動と非常に近いタイミングで、しかも、全く同一の鍵に
ついて押鍵または離鍵を行った場合であっても、押鍵強
度が異なれば、この演奏者による押離鍵も無視されるこ
となく楽音形成に使用される。
【0087】<第3実施例>上記第1実施例では電源投
入直後の初期化処理ルーチンにより、各鍵の反応時間を
測定し、各鍵についての押鍵用待機時間DT_on(K
N,F)および離鍵用待機時間DT_off(KN,
F)の設定を行った。
【0088】しかしながら、電子鍵盤楽器が長時間使用
され、鍵駆動回路2によるソレノイドへの通電が何回も
繰返されると、各鍵の駆動機構104の特性が発熱によ
って変化し、鍵の反応時間も変化することとなる。
【0089】そこで、本実施例においては、各鍵の反応
時間の測定および押鍵用待機時間DT_on(KN,
F)等の設定を逐次行う。具体的には次の通りである。
まず、RAM12内に、上記第1〜第3のバッファに加
えて、図16に示す第4バッファを設定する。
【0090】また、キースキャン処理ルーチン(図1
0)のステップS405およびS406を図17に示す
一致判定処理ルーチンに置き換える。さらに発音・鍵駆
動ルーチン(図12)のステップS610を図18に示
す駆動信号出力処理ルーチンに置き換え、同ルーチンの
ステップS615の後に図19に示す計時処理ルーチン
を追加する。
【0091】かかる変更のなされた本実施例によれば、
以下の動作が得られる。まず、一定時間間隔のタイマ割
込み信号に同期して発音・鍵駆動処理ルーチン(図1
2)が駆動され、そのステップS609の判断結果が
「YES」となった場合には、第2バッファ内のキーイ
ベントに対応した鍵駆動の指示およびその駆動強度を指
定する押鍵信号または離鍵信号Fを鍵駆動回路2へ送る
(図18のステップS1001)。次いでこの鍵駆動の
指示を行ったキーイベントを時間情報の初期値「0」と
共に第4バッファに書き込む。そして、発音・鍵駆動処
理ルーチンを終える際には、この第4バッファ内のキー
イベントに対応した時間情報をインクリメント(図19
のステップS1101)してからメインルーチンに戻
る。以後、この第4バッファ内の時間情報はタイマ割込
み信号が発生される毎に1ずつインクリメントされてゆ
く。
【0092】そして、キースキャン処理ルーチン(図1
0)の実行時、そのステップS403およびS404に
おいて押鍵検出回路3を介してキーオンイベント等が検
出された場合、このキーオンイベント等と同一のキーコ
ードを含むキーイベントが第3バッファ内にないか否か
を判断し(図17のステップS901)、この判断結果
が「YES」の場合は当該キーオンイベント等を音源回
路7へ送って発音等を行わせる(図17のステップS9
02)。
【0093】一方、ステップS901の判断結果が「N
O」である場合には、ステップS903に進む。本実施
例においては、上述の通り、鍵駆動の指示の行われたキ
ーイベントはすべて第4バッファ内に格納される。ステ
ップS903では、この第4バッファ内のキーイベント
の中から押鍵検出回路3を介して検出したキーオンイベ
ント等と同一のキーイベントを探し、このキーイベント
に対応した時間情報を第4バッファから読み出す。この
時間情報は、第4バッファ内のキーイベントについての
鍵駆動の指示がなされてから現在までの経過時間、すな
わち、その鍵駆動の指示が行われてから実際に鍵駆動が
行われ、今回、押鍵検出回路3からキーオンイベント等
が検出されるまでに要した鍵の反応時間に他ならない。
そこで、ステップS903では、この第4バッファから
読み出した時間情報により、押鍵用先行時間レジスタd
T_on(KN,F)または離鍵用先行時間レジスタd
T_off(KN,F)の内容を更新する。次にステッ
プS904に進み、この更新結果に従って、押鍵用待機
時間レジスタDT_on(KN,F)または離鍵用待機
時間レジスタDT_off(KN,F)の内容を更新す
る。そして、ステップS903において探し出したキー
イベントを第4バッファから消去し(ステップS90
5)、メインルーチンに戻る。
【0094】このように本実施例によれば、RAM12
から読み出したキーイベントに従って鍵駆動が行われ、
この鍵駆動によって生じたキーイベントが検出される毎
に、その鍵に対応した押鍵用待機時間レジスタDT_o
n(KN,F)または離鍵用待機時間レジスタDT_o
ff(KN,F)の内容が更新される。
【0095】<変形例>以上、本発明の各実施例を説明
したが、本発明にはさらに以下のような変形が考えられ
る。 (1)内部的に発生した演奏データに基づいて鍵盤を駆
動するものに限らず、外部装置(電子鍵盤楽器や自動演
奏装置等)から供給された演奏データに基づいて鍵盤を
駆動するようにしても良い。すなわち、本発明にいう
「自動演奏」とは、本電子鍵盤楽器の鍵を演奏者が操作
することにより得られる演奏以外のすべてを含むもので
ある。このとき、反応時間dTを最初に求めるときは、
外部装置に対して各キーのオン/オフイベントを出力す
るように要求してイベントを受信し、外部装置と本電子
鍵盤楽器との間の信号伝送に要する遅延を含めた反応時
間dTを求めるようにしてもよい。
【0096】(2)鍵盤の駆動方式はどのようなもので
あってもよい。 (3)上記第3実施例では、反応時間dT_onおよび
dT_offを逐次変更する際、時間の経過に従って同
じキーに関して得られた複数のdT_on等を平均化す
るようにしてもよい。
【0097】(4)上記第2実施例では、演奏者の操作
により発生したキーイベントの内、駆動により発生した
キーイベントとキーコードが一致し、かつ、タイミング
がほぼ一致するが、ベロシティの異なるなるものについ
ては発音させるようにしたが、この時、駆動信号の元と
なった演奏データによる発音を無効とするようにしても
よい。また、無効とするか否かを選択できるようにして
もよい。
【0098】(5)上記第1実施例では反応時間を測定
する際に鍵を1個ずつ駆動するようにしたが、複数個ず
つまとめて、あるいは全鍵同時に駆動し、駆動した鍵に
ついての反応時間を測定するようにしてもよい。 (6)反応時間の測定をする際、鍵が駆動されるが、こ
の鍵の駆動により楽音を発音させてもよいし、発音させ
ないようにしてもよい。また、発音させるか発音させな
いかを演奏者が選択し得るようにしてもよい。
【0099】(7)演奏者の指によって押鍵がされてい
る(マニュアル押鍵)間に、該鍵に対応した自動演奏イ
ベントが発生した場合、この自動演奏イベントに対応し
た押鍵駆動を中止するか、あるいは押鍵駆動後、即座に
離鍵駆動信号を送るように制御手段を設計してもよい。
このようにすることにより、マニュアル押鍵後に発生し
た自動演奏イベントにより鍵が押鍵駆動されている状態
でマニュアル離鍵された時に鍵が戻らないといった不都
合を防止することができる。
【0100】
【発明の効果】以上説明したように、本発明に係る電子
鍵盤楽器によれば、自動演奏の際に楽音が発生されるの
みならず、これと同期して該当する鍵が駆動されるた
め、演奏を聴くだけでなく見て楽しむことができるとい
う効果がある。
【図面の簡単な説明】
【図1】 この発明の第1実施例による電子鍵盤楽器の
構成を示すブロック図である。
【図2】 同実施例における鍵の取り付け構造を示す図
である。
【図3】 同実施例における演奏データを示す図であ
る。
【図4】 同実施例における第1〜第3のバッファを示
す図である。
【図5】 同実施例におけるキーイベント発生タイミン
グ、鍵駆動指示タイミングおよびキーイベントに対応し
た発音タイミングの関係を示す図である。
【図6】 同実施例の動作を示すフローチャートであ
る。
【図7】 同実施例の動作を示すフローチャートであ
る。
【図8】 同実施例の動作を示すフローチャートであ
る。
【図9】 同実施例の動作を示すフローチャートであ
る。
【図10】 同実施例の動作を示すフローチャートであ
る。
【図11】 同実施例の動作を示すフローチャートであ
る。
【図12】 同実施例の動作を示すフローチャートであ
る。
【図13】 この発明の第2実施例における駆動信号F
とベロシテイの関係を示す図である。
【図14】 同実施例の動作を示すフローチャートであ
る。
【図15】 同実施例の動作を示すフローチャートであ
る。
【図16】 この発明の第3実施例において使用する第
4バッファを示す図である。
【図17】 同実施例の動作を示すフローチャートであ
る。
【図18】 同実施例の動作を示すフローチャートであ
る。
【図19】 同実施例の動作を示すフローチャートであ
る。
【符号の説明】
1……鍵盤、2……鍵盤駆動回路、3……押鍵検出回
路、7……音源回路、10……CPU、11……RO
M、12……RAM、13……タイマ。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 自動演奏イベントを発生する手段と、 自動演奏イベントに基づく駆動指示に従って鍵盤を駆動
    する鍵駆動手段と、 前記鍵盤の動作を検出することにより演奏イベントを発
    生する検出手段と、 前記自動演奏イベント、および前記演奏イベントのうち
    前記自動演奏イベントに対応した無効イベント以外の演
    奏イベントについての楽音形成処理を電子的な音源に指
    示する制御手段とを具備することを特徴とする電子鍵盤
    楽器。
  2. 【請求項2】 前記演奏イベントのうち、キーコードが
    前記自動演奏イベントのキーコードと一致し、かつ、発
    生タイミングが前記自動演奏イベントに対応した楽音形
    成処理の指示のタイミングと所定の誤差範囲内で一致す
    るものを前記無効イベントとみなすことを特徴とする請
    求項1記載の電子鍵盤楽器。
  3. 【請求項3】 前記演奏イベントのうち、キーコードが
    前記自動演奏イベントのキーコードと一致し、発生タイ
    ミングが前記自動演奏イベントに対応した楽音形成処理
    の指示のタイミングと所定の誤差範囲内で一致し、さら
    にベロシティが前記自動演奏イベントのベロシティある
    いは自動演奏イベントに基づいて駆動された鍵により発
    生したイベントのベロシティと所定の誤差範囲内で一致
    するにするものを前記無効イベントとみなすことを特徴
    とする請求項1記載の電子鍵盤楽器。
  4. 【請求項4】 自動演奏イベントを発生する手段と、 自動演奏イベントに基づく駆動指示に従って鍵盤を駆動
    する鍵駆動手段と、 前記鍵盤の動作を検出することにより演奏イベントを発
    生する検出手段と、 前記鍵駆動手段に対して前記駆動指示が与えられてから
    前記検出手段により演奏イベントが発生されるまでの反
    応時間を測定し、自動演奏の際には、前記自動演奏イベ
    ントに対応した楽音形成処理を楽音形成手段へ指示する
    とともに、この指示のタイミングよりも前記反応時間分
    だけ先行して該自動演奏イベントに対応した駆動指示を
    前記鍵駆動手段へ出力する制御手段とを具備することを
    特徴とする電子鍵盤楽器。
  5. 【請求項5】 前記制御手段は、自動演奏に先立って前
    記反応時間を測定することを特徴とする請求項4記載の
    電子鍵盤楽器。
  6. 【請求項6】 前記制御手段は、自動演奏時に前記駆動
    指示を出力する際に前記反応時間を測定することを特徴
    とする請求項4記載の電子鍵盤楽器。
  7. 【請求項7】 前記制御手段は、前記自動演奏イベント
    の指定に従って複数種類の駆動強度に対応した駆動指示
    を前記鍵駆動手段へ出力するものであり、これらの複数
    種類の駆動強度について前記反応時間の測定を行うこと
    を特徴とする請求項4記載の電子鍵盤楽器。
  8. 【請求項8】 発音強度データを含む自動演奏イベント
    を発生する手段と、 自動演奏イベントに基づく駆動指示に従って鍵盤を駆動
    する鍵駆動手段と、 前記自動演奏イベントに対応した楽音形成処理を電子的
    な音源に指示して発音強度データに応じた強度の楽音を
    形成するとともに、該自動演奏イベントに含まれる発音
    強度データを該発音強度データの分解能よりも粗い閾値
    により量子化することにより鍵駆動強度を求め、この鍵
    駆動強度に従って鍵盤を駆動すべき旨の駆動指示を前記
    鍵駆動手段に供給する制御手段とを具備することを特徴
    とする電子鍵盤楽器。
  9. 【請求項9】 自動演奏イベントを発生する手段と、 自動演奏イベントに基づく駆動指示に従って鍵盤を駆動
    する鍵駆動手段と、 前記鍵盤の動作を検出することにより演奏イベントを発
    生する検出手段と、 前記検出手段により既に動作が検出されている鍵盤に対
    応する自動演奏イベントが発生した場合、該自動演奏イ
    ベントによる鍵盤駆動を中止するか、あるいは押鍵駆動
    後、即座に離鍵駆動を行う制御手段とを具備することを
    特徴とする電子鍵盤楽器。
JP14375195A 1995-06-09 1995-06-09 電子鍵盤楽器 Expired - Fee Related JP3704747B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14375195A JP3704747B2 (ja) 1995-06-09 1995-06-09 電子鍵盤楽器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14375195A JP3704747B2 (ja) 1995-06-09 1995-06-09 電子鍵盤楽器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005009656A Division JP3966328B2 (ja) 2005-01-17 2005-01-17 電子鍵盤楽器

Publications (2)

Publication Number Publication Date
JPH08335079A true JPH08335079A (ja) 1996-12-17
JP3704747B2 JP3704747B2 (ja) 2005-10-12

Family

ID=15346177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14375195A Expired - Fee Related JP3704747B2 (ja) 1995-06-09 1995-06-09 電子鍵盤楽器

Country Status (1)

Country Link
JP (1) JP3704747B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006243537A (ja) * 2005-03-04 2006-09-14 Yamaha Corp 鍵盤楽器
EP1973098A1 (en) 2007-03-23 2008-09-24 Yamaha Corporation Electronic keyboard instrument having key driver
JP2008233826A (ja) * 2007-03-23 2008-10-02 Yamaha Corp 楽器の制御装置
US7732698B2 (en) 2007-03-23 2010-06-08 Yamaha Corporation Electronic keyboard instrument having a key driver

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006243537A (ja) * 2005-03-04 2006-09-14 Yamaha Corp 鍵盤楽器
JP4501725B2 (ja) * 2005-03-04 2010-07-14 ヤマハ株式会社 鍵盤楽器
US7985914B2 (en) 2005-03-04 2011-07-26 Yamaha Corporation Automatic player accompanying singer on musical instrument and automatic player musical instrument
EP1973098A1 (en) 2007-03-23 2008-09-24 Yamaha Corporation Electronic keyboard instrument having key driver
JP2008233826A (ja) * 2007-03-23 2008-10-02 Yamaha Corp 楽器の制御装置
US7732698B2 (en) 2007-03-23 2010-06-08 Yamaha Corporation Electronic keyboard instrument having a key driver
US7897863B2 (en) 2007-03-23 2011-03-01 Yamaha Corporation Electronic keyboard instrument having key driver

Also Published As

Publication number Publication date
JP3704747B2 (ja) 2005-10-12

Similar Documents

Publication Publication Date Title
JPH0656552B2 (ja) 自動演奏装置
JP4232829B2 (ja) 電子鍵盤楽器
JPH08335079A (ja) 電子鍵盤楽器
JP3966328B2 (ja) 電子鍵盤楽器
JP3122277B2 (ja) 電子楽器
JP3844286B2 (ja) 電子楽器の自動伴奏装置
JP4259606B2 (ja) 電子鍵盤楽器
JP4207226B2 (ja) 楽音制御装置、楽音制御方法及び楽音制御のためのコンピュータプログラム
JP3642130B2 (ja) 電子楽器
JP2001166773A (ja) 電子楽器
JP2002358080A (ja) 演奏制御方法、演奏制御装置及び楽音発生装置
JP3800778B2 (ja) 演奏装置及び記録媒体
JPH03242697A (ja) 電子楽器
JP4056902B2 (ja) 自動演奏装置及び自動演奏方法
JPH07248766A (ja) 自動演奏装置
JP3319043B2 (ja) 自動演奏装置
JP5754404B2 (ja) Midi演奏装置
JPH0542475Y2 (ja)
JP4214845B2 (ja) 自動アルペジオ装置および同装置に適用されるコンピュータプログラム
JPH08234733A (ja) 電子楽器
JP2956924B2 (ja) 電子楽器の自動伴奏装置
JP2770770B2 (ja) 電子楽器
JP2003271140A (ja) 楽器の自動演奏装置
JP2004361528A (ja) 楽音信号発生装置及びレガート処理プログラム
JP2007199109A (ja) 電子楽器

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050718

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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: 20090805

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees