Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3671236B2 - Keyboard drive device - Google Patents
[go: Go Back, main page]

JP3671236B2 - Keyboard drive device - Google Patents

Keyboard drive device Download PDF

Info

Publication number
JP3671236B2
JP3671236B2 JP19334997A JP19334997A JP3671236B2 JP 3671236 B2 JP3671236 B2 JP 3671236B2 JP 19334997 A JP19334997 A JP 19334997A JP 19334997 A JP19334997 A JP 19334997A JP 3671236 B2 JP3671236 B2 JP 3671236B2
Authority
JP
Japan
Prior art keywords
key
data
storage means
area
signal
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
JP19334997A
Other languages
Japanese (ja)
Other versions
JPH1124658A (en
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP19334997A priority Critical patent/JP3671236B2/en
Publication of JPH1124658A publication Critical patent/JPH1124658A/en
Application granted granted Critical
Publication of JP3671236B2 publication Critical patent/JP3671236B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明が属する技術分野】
この発明は、演奏データに応じて鍵盤を自動的に押鍵及び離鍵する鍵盤駆動装置に関する。
【0002】
【従来の技術】
このような鍵盤駆動装置においては、各鍵ごとにプランジャ、ソレノイドその他のアクチュエータ(駆動機構部)を設けて、演奏データのイベントが押鍵であるときは、押鍵すべき鍵に対応するアクチュエータの駆動信号をオンにする。また、演奏データのイベントが離鍵であるときは、離鍵すべき鍵に対応するアクチュエータの駆動信号をオフにする。したがって、演奏データのイベントが和音である場合には、その和音に対応する複数の鍵を同時に押鍵及び離鍵する駆動信号をアクチュエータに与える。
【0003】
【発明が解決しようとする課題】
ところで、和音のように同時に押鍵する場合や、和音以外でも同一の期間重複して押鍵する場合には、対応する複数の鍵を駆動するアクチュエータに与える駆動信号を供給する電源の負荷も大きくなる。したがって、同時に又は同期間に押鍵する最大鍵数が制限されている。このため、上記鍵盤駆動装置においては、この最大鍵数を超えた演奏データについては押鍵処理を省略しなければならなかった。
この発明の課題は、同時に駆動できる最大鍵数を超えて押鍵すべき演奏データがある場合でも押鍵処理を行うようにすることである。
【0004】
【課題を解決するための手段】
この発明は、供給される駆動信号に応じて鍵を駆動させる駆動手段と、鍵番号データを所定個数分のみ記憶可能な第1の記憶手段と、第1の記憶手段に空きエリアがないときに、鍵番号データを記憶する第2の記憶手段と、第1の記憶手段に記憶されている鍵番号データに対応する鍵を駆動させるための駆動信号を駆動手段へ与える駆動信号供給手段と、処理タイミングに従って順次供給される演奏データが押鍵データであった場合に、第1の記憶手段に空きエリアがあるときには、この演奏データ中の鍵番号データを空きエリアに記憶させ、一方、第1の記憶手段に空きエリアがないときには、第2の記憶手段に鍵番号データを記憶させるように制御し、更に、供給された演奏データが離鍵データであった場合には、この演奏データ中の鍵番号データと同じ鍵番号のデータが記憶されている第1及び第2の記憶手段のエリアを空き状態にし、第1の記憶手段に空きエリアが生じ、かつ第2の記憶手段に鍵番号データが記憶されているときは、この鍵番号データを第1の記憶手段の空きエリアに転送すると共に、第2の記憶手段におけるこの鍵番号データが記憶されているエリアを空き状態にする記憶制御手段とを備えた構成になっている。
この構成によれば、駆動できる最大鍵数を超えて押鍵すべき演奏データがある場合には、その押鍵すべき鍵の情報(鍵番号データ)をいったん保留しておき、駆動中のいずれかの鍵が離鍵されたときに保留中の鍵の情報に基づいて押鍵処理をする。
【0005】
【発明の実施の形態】
以下、図1〜図17を参照してこの発明の第1及び第2実施形態について説明する。
図1は、この発明による鍵盤駆動装置を電子楽器に適用した場合における第1及び第2実施形態のシステム構成を示す図である。CPU1は、システムバスに接続された下記の各部との間でコマンド及びデータの授受を行って、この電子楽器全体を制御する。ROM2は、CPU1が実行する制御プログラムや電源投入後のイニシャライズ処理における初期データを記憶している。RAM3は、CPU1が処理したデータを記憶する。鍵盤4は、押鍵操作及び離鍵操作に応じて鍵番号その他のデータをCPU1に入力する。入力されたデータはRAM4に一時的に記憶され、発音処理及び消音処理がなされる。
【0006】
プランジャー5は、演奏者の代わりに、演奏データに応じて鍵盤を自動的に押鍵及び離鍵させる鍵盤駆動手段である。プランジャードライバ6は、CPU1のコマンドに応じてプランジャー5に与える駆動信号を生成する信号生成手段である。スイッチング回路7は、この駆動信号に応じて電源8からプランジャー5を駆動する実際の電流を中継する。タイマ9は、一定時間ごとにCPU1に対してタイマインタラプトを入力する。タイマインタラプトについては後述する。音源10は、CPU1からの発音指令及び消音指令に基づいて楽音信号を生成し、図示しないサウンドシステムに送出する。MIDIインタフェース11は、外部のMIDI機器との間でMIDIデータを送受信する。
【0007】
自動演奏データメモリ12は、予め入力された自動演奏データ又はMIDIインタフェース11から入力されたMIDIデータを自動演奏データとして記憶する。この自動演奏データメモリ12の自動演奏データは、図2に示すように、イベント及びこのイベントの処理タイミングのデータで構成され、CPU1の読出指令によって順次読み出される。イベントが和音の場合には、複数のイベントの処理タイミングが同じタイミングになっている。CPU1は、この自動演奏データに基づいて、プランジャードライバ6に対して押鍵指令及び離鍵指令を発する。
【0008】
図3(1)は、鍵盤4の構造を示す断面図である。各鍵41は、その先端部41aがフレーム42に固定されている。鍵41の下側の所定位置には、スイッチ押部41bが下側に突出して設けられている。このスイッチ押部41bに対向するフレーム42の位置には、2つの押鍵タッチ検出スイッチ43が設けられており、押鍵、離鍵を検出してその検出信号をCPU1に入力する。CPU1は、この検出信号に応じて音源10に対する発音指示、消音指示を行う。また、鍵41の下側における先端部41aとスイッチ押部41bとの間には突起41cが設けられている。そして、この突起41cにはコイルスプリング44の一端が固定され、他の一端はフレーム42に固定されている。このコイルスプリング44によって鍵41が上側に付勢され、押鍵操作に対して反発力を与える。
【0009】
また、フレーム42の所定位置には、プランジャー5が固定されている。さらに、プランジャー5に近接して鍵駆動アーム45が軸45aに対して回動可能に取り付けられている。鍵駆動アーム45は、軸45aに設けられたバネ(図示せず)によってプランジャー5側に付勢されているとともに、コイルスプリング44の伸張力によって鍵41の下側突起部41dに当接して付勢されている。したがって、プランジャー5が駆動されていない状態では、図3(1)に示すように、鍵駆動アーム45がプランジャー5の可動部5aに押し当てられた状態になっている。
【0010】
いま、プランジャードライバ6からプランジャー5に駆動信号が与えられると、プランジャー5の可動部5aが鍵駆動アーム45側に突出する。この結果、図3(2)に示すように、鍵駆動アーム45が下側に回動して、鍵41の下側突起部41dを下側に押圧し、鍵41は先端部41aの板バネ構造により下側にたわみ、自動的に押鍵されることになる。またこのとき、鍵41のスイッチ押部41bの押下により押鍵タッチ検出スイッチ43がオンになる。この場合において、2つの押鍵タッチ検出スイッチ43は同時にオンにならず、時間差をもってオンになる。この時間差は、押鍵速度に応じて変化する。そして、プランジャー5への駆動信号がオフになると、コイルスプリング44及び鍵41の先端部41aの板バネ構造のバネの付勢力により鍵41が図3(1)に示す状態に戻る。
【0011】
したがって、押鍵時には、鍵駆動アーム45はコイルスプリング44及び鍵41の先端部41aの板バネ構造のバネの付勢力を超えるだけの回動作用を必要とし、このため電源8からはその回動作用に必要な電流がプランジャー5に供給される。したがって、同時に押鍵する鍵の数が多くなると、電源8の負荷が大きくなるので、同時に押鍵する最大鍵数を制限している。ちなみに、第1及び第2実施形態においてはこの最大鍵数を6個に制限している。
【0012】
次に、第1及び第2実施形態における演奏データの処理の概念について、図4〜図6を参照して説明する。自動演奏データメモリ12のイベントデータで同時処理分のデータ例えば和音のデータは、図4に示すRAM3の一時メモリエリア31に一時的に記憶される。したがって、図5に示すように、一時メモリ31に記憶されるイベントデータは、図2に示す自動演奏データメモリ12のデータ形式と同じになっている。CPU1のデータ判別機能は、RAM3の状態メモリ32に一時メモリ31のイベントデータを全て転送できるだけの空きエリアがあるか否かを判別して、空きエリアがある場合にはそのイベントデータを状態メモリ32に転送し、空きエリアが足りない場合は、転送できないイベントデータを保留メモリ33に転送する。
【0013】
状態メモリ32のデータ形式は、図5に示すように、鍵番号、オフフラグ、タイマインタラプトによって変化する時間データTで構成されている。オフフラグがのときは離鍵状態であることを表し、オフフラグが0のときは押鍵状態であることを表す。また、保留メモリ33のデータ形式は、鍵番号のみで構成されている。CPU1は、プランジャードライバ6を監視して、駆動信号がオフになったか否かを判別して、オフになったときは対応する状態メモリ32のオフフラグを0から1に変えてそのエリアを空きにし、その空きエリアに保留メモリ33に記憶したイベントデータを転送する。また、鍵盤駆動状態に応じた発音処理、消音処理を音源10に対して指示する。
【0014】
例えば、図6に示すように、ノート1からノート5までが同時に押鍵されているときに、処理タイミングt1のノート6の押鍵イベントデータが一時メモリ31に転送されたときは、最大押鍵数6に対して1つの空きエリアがあるので、ノート6のイベントデータを状態メモリ32に転送して、押鍵処理をすることができる。この後、ノート1からノート6までが押鍵中において、ノート7のイベントデータが一時メモリ31に転送されたときは、最大押鍵数6に対して1つの空きエリアもないので、ノート7のイベントデータは保留メモリ33に記憶される。
【0015】
そして、t2のタイミングにおいてノート5がオフになると、その時点でノート7のイベントデータを保留メモリ33から状態メモリ32に転送する。また、状態メモリ32に空きエリアがない状態でノート8のイベントデータ一時メモリ31に転送されたときは、ノート8のイベントデータは保留メモリ33に転送され、t3のタイミングにおいてノート6がオフになると、その時点でノート8のイベントデータを保留メモリ33から状態メモリ32に転送する。
【0016】
次に、第1実施形態の動作をCPU1のフローチャートを参照して詳細に説明する。
図7のメインフローにおいて、イニシャライズ処理(ステップS1)をした後、データリード/ライト処理(ステップS2)、発音処理(ステップS3)、その他の処理(ステップS4)を繰り返すループを実行する。
【0017】
ステップS2におけるデータリード/ライト処理は、図8に示すように、一時メモリ32内にデータが残っているか否かを判別する(ステップS5)。データが残っていないときは自動演奏データメモリ12の現在指定されているエリアから、イベント及び処理タイミングからなるデータを読み出し(ステップS6)、そのデータを一時メモリ31に格納する(ステップS7)。次に、自動演奏データメモリ12の次のエリアを指定する(ステップS8)。そして、自動演奏データメモリ12の直前の指定エリアの処理タイミングと、現在の指定エリアの処理タイミングとが同じタイミングであるか否かを判別する(ステップS9)。
【0018】
同じタイミングであるときは、これらのデータは和音を表しているので、同時に押鍵処理を行う必要がある。したがって、ステップS6に移行して、現在の指定エリアのデータを読み出す。ステップS9において、直前の指定エリアの処理タイミングと現在の指定エリアの処理タイミングとが異なるときは、図9のフローにおいて、一時メモリ31内のデータの処理タイミングがタイマ9の現在値であるか否か、すなわちイベント開始時間であるか否かを判別する(ステップS10)。また、図8のステップS5において一時メモリ31内にデータが残っている場合には、自動演奏データメモリ12からデータを読み出すことなく、図9のステップS10に移行して、一時メモリ31内のデータの処理タイミングがイベント開始時間であるか否かを判別する。
【0019】
ステップS10において、一時メモリ31内のデータの処理タイミングがイベント開始時間でない場合は、メインフローに戻る。処理タイミングがイベント開始時間であるときは、一時メモリ31の空きでないエリアからイベントデータを読み出し、そのエリアを空きにする(ステップS11)。そして、読み出したイベントデータが鍵盤4をオンにするキーオンデータであるか、それとも鍵盤4をオフするキーオフデータであるかを判別する(ステップS12)。キーオンデータであるときは、状態メモリ32に空きエリアがあるか否かを、鍵番号の有無で判断する(ステップS13)。そして、空きエリアがあるときは、その空きエリアに対して鍵番号を格納し、オフフラグに0をセットし、Tに0をセットする(ステップS14)。そして、一時メモリ15の全エリアが空きになったか否かを判別する(ステップS15)。一方、ステップS13において、状態メモリ32に空きエリアがない場合には、保留メモリの最初の空きエリアに鍵番号を格納する(ステップS16)。そして、ステップS15に移行して一時メモリ31の全エリアが空きになったか否かを判別する。
【0020】
一時メモリ15の全エリアが空きになった場合はメインフローに戻るが、空きでないエリアがあるときは、ステップS11に移行してその空きでないエリアからデータを読み出す。ステップS12において、読み出したイベントデータが鍵盤4をオフにするキーオフデータであるときは、オフする鍵番号が保留メモリ33に記憶されているか否かを判別する(ステップS17)。記憶されていない場合には、オフする鍵番号が記憶されている状態メモリ32のエリアを探す(ステップS18)。そして、見つかったエリアのオフフラグに1をセットして、Tに0をセットする(ステップS19)。次に、ステップS15に移行して一時メモリ31の全エリアが空きになったか否かを判別する。ステップS17において、オフする鍵番号が保留メモリ33に記憶されているときは、記憶されているエリアを空きにして、空きになったエリアにそのエリア以下のデータを前詰めする(ステップS20)。この後、ステップS15に移行して一時メモリ31の全エリアが空きになったか否かを判別する。
【0021】
図10及び図11は、タイマインタラプト処理のフローである。10msごとにタイマインタラプトが入ると、図10において、状態メモリ32に空きでないエリアがあるか否かを判別する(ステップS21)。空きでないエリアがあるときは、データが記憶されている最初のエリアを指定する(ステップS22)。次に、その指定したエリアのTに10(ms)を加算し(ステップS23)、その加算したTを基準時間TB(この場合、TB=40ms)で除算し(ステップS24)、商A及び余りBを求める。そして、商Aと余りBとの値を比較する(ステップS25)。
【0022】
AがBより大きいときは、指定したエリアのオフフラグが1であるか否か、すなわち、そのエリアのイベントが消音であるか否かを判別する(ステップS26)。このオフフラグが0(発音)であるときは、そのエリアの鍵番号に対応するプランジャードライバ6にプランジャー信号オンを送出する(ステップS27)。一方、このオフフラグが1(消音)であるときは、そのエリアの鍵番号に対応するプランジャードライバ6にプランジャー信号オフを送出する(ステップS28)。
【0023】
ステップS25において、AがB以下であるときは、指定したエリアのオフフラグが1であるか否かを判別する(ステップS29)。このオフフラグが0(発音)であるときは、ステップS28において、そのエリアの鍵番号に対応するプランジャードライバ6にプランジャー信号オフを送出する。一方、このオフフラグが1(消音)であるときは、ステップS27において、そのエリアの鍵番号に対応するプランジャードライバ6にプランジャー信号オンを送出する。
【0024】
ステップS27又はステップS28において、プランジャー信号オン又はオフを送出した後は、指定したエリアのオフフラグが1(消音)であるか否かを判別し(ステップS30)、オフフラグが1であるときはTが160msより大きいか否かを判別する(ステップS31)。Tが160msより大きい場合には、その指定したエリアを空きにする(ステップS32)。そして、指定しているエリア以降に空きでないエリアがあるか否かを判別する(ステップS33)。ステップS30においてオフフラグが0である場合、又はステップS31においてTが160ms以下である場合は、ステップS33において指定しているエリア以降に空きでないエリアがあるか否かを判別する。空きでないエリアがあるときは、見つかったエリアを指定して(ステップS34)、ステップS24に移行してT/TBの演算を行う。
【0025】
ステップS33において、状態メモリ32において指定したエリア以降に空きエリアがないとき、又は、ステップS21において、状態メモリ32が全て空きエリアであるときは、図11のフローにおいて、保留メモリ33に空きでないエリアがあるか否かを判別する(ステップS35)。空きエリアがある場合には、データが記憶されている最初のエリアを指定する(ステップS36)。次に、状態メモリ32に空きエリアがあるか否かを判別し(ステップS37)、空きエリアがある場合には、保留メモリ33に記憶されている鍵番号データを状態メモリ32の空きエリアに移し、そのエリアにおけるオフフラグを0にセットし、Tに0をセットする(ステップS38)。
【0026】
次に、保留メモリ33の指定エリアを空きにする(ステップS39)。そして、保留メモリ33の次のエリアも空きでないか否かを判別し(ステップS40)、次のエリアが空きでない場合は次のエリアを指定する(ステップS41)。そして、ステップS37に移行して、状態メモリ32の空きエリアを判別する。ステップS37において、状態メモリ32に空きエリアがない場合、又は、ステップS40において、保留メモリにおいて指定しているエリア以降に空きでないエリアがない場合には、保留メモリ33内のデータを前詰めにする(ステップS42)。この後、メインフローに戻る。また、ステップS35において、保留メモリ33が全て空きエリアである場合には、メインフローに戻る。
【0027】
図12は、TB=40msの場合に、10msごとのタイマインタラプトに応じて、プランジャー信号の推移を示したものである。
10msごとのタイマインタラプト(以下、「TI」と略記する)に応じて、図10のステップS24における演算T/TB(=40)の商A及び余りBは、図12に示す値となる。したがって、オフフラグが0すなわち押鍵の場合には、TI=0〜30の期間は、図10のステップS25、ステップS29、ステップS28の処理によってプランジャー信号はオフとなる。TI=40〜50の期間は、図10のステップS25、ステップS29、ステップS27の処理によってプランジャー信号はでオンとなる。同様に、TI=50〜80の期間はオフ、TI=80〜100の期間はオン、TI=100〜120の期間はオフ、TI=120〜150の期間はオン、TI=150〜160の期間はオフ、TI=160以降は常時オンとなる。すなわち、押鍵開始過渡期のプランジャー信号は、断続的にオンとなり、しかもオン時間が次第に長くなって、最終的に連続したオン信号となる。
【0028】
一方、オフフラグが1すなわち離鍵の場合には、押鍵の場合とは位相が逆になる。また、Tが160msを超えたときは、完全に離鍵されているので、図10のステップS31からステップS32に以降して、指定したエリアを空きにする。
【0029】
このように、上記第1実施形態によれば、駆動できる最大鍵数を超えて押鍵すべき演奏データがある場合には、その押鍵すべき鍵の情報をいったん保留しておき、駆動中のいずれかの鍵が離鍵されたときに保留中の鍵の情報に基づいて押鍵処理をする。したがって、同時に駆動できる最大鍵数を超えて押鍵すべき演奏データがあるときでも押鍵処理を行うことができる。この場合において、保留中の鍵の押鍵タイミングが、実際の演奏データの処理タイミングすなわち発音タイミングより若干遅れることになるが、このタイミングずれは、いわゆる「ノリ」としてとらえられ、むしろ機械的な正確さが薄れて、人間味が生まれるので必ずしも欠点にはならない。
【0030】
また、図12に示すように、押鍵及び離鍵を徐々に行うので、図3に示した各鍵におけるコイルスプリング44及び鍵駆動アーム45の軸44aに設けられた図示しないバネに対する応力変化が緩やかになり、その疲労度が低減される。また、押鍵時に電源8からプランジャー5に供給される電流のせん頭値が小さくなるので、定格値の低い小型かつ安価な電源を使用できる効果もある。さらに、各鍵の所定個所に設けられた緩衝材も簡単な構造のものが使用できる。
【0031】
図13及び図14は、基準時間TBが30ms及び20msの場合において、タイマインタラプトに応じたプランジャー信号の推移を示したものである。この2つの図であきらかなように、基準時間TBが小さくなるほど押鍵速度及び離鍵速度が速くなる。また、図2に示した自動演奏データでは省略したが、イベントデータには鍵番号及び押鍵又は離鍵を表すオン・オフの情報の他に、押鍵速度を表すベロシティデータが含まれている。そして、鍵構造において説明したように、2つの押鍵タッチ検出スイッチ43は同時にオンにならず時間差をもってオンになり、この時間差は押鍵速度に応じて変化する。
【0032】
したがって、イベントデータに含まれるベロシティデータに応じて基準時間TBを変化させることにより、音源10に対してベロシティ情報を供給することができる。この結果、プランジャー5による自動押鍵であっても、あたかも人間が演奏したかのように、演奏データにおけるベロシティデータに基づいた強弱をつけた発音が可能になる。
【0033】
次に、図15〜図17に基づいてこの発明の第2実施形態を説明する。
第2実施形態においても、第1実施形態と同様、図12に示すように、押鍵及び離鍵を徐々に行う。この場合において、押鍵開始の過渡状態においては、電源8からプランジャー5に電流が流れていない時間がある。逆に、離鍵開始の過渡状態においては、電源8からプランジャー5に電流が流れている時間がある。そこで、この第2実施形態においては、電源8の負荷電流を増加することなく押鍵及び離鍵の過渡状態を重ね合わせる。このため、RAM3内に同時駆動可能鍵数の2倍のエリアをもつ状態メモリを有する構成にしている。そして、状態メモリの全エリアの2分の1のエリアは押鍵に対応するエリアとし、残りの2分の1は離鍵に対応するエリアとする。
【0034】
なお、第2実施形態におけるCPU1のメインフローは第1実施形態と同じであり、データリード/ライト処理及びタイマインタラプト処理についても、第1実施形態と同じ処理を多く含んでいる。したがって、図15及び図16において、第1実施形態と同じ処理については同一の符号で表し、その説明は省略する。
【0035】
図15は、第2実施形態におけるデータリード/ライト処理の一部のフローであり、ステップS13において状態メモリに空きエリアがあるときは、オフフラグが0すなわち発音状態の状態メモリのエリア数が、状態メモリの全エリア数(例えば、12エリア)の2分の1(6エリア)より少ないか否かを判別する(ステップS43)。そして、オフフラグが0のエリア数が全エリア数の2分の1より少ない場合には、ステップS14に移行して状態メモリの空きエリアに鍵番号を格納し、オフフラグに0をセットし、Tに0をセットする。
【0036】
図16は、第2実施形態におけるタイマインタラプト処理の一部のフローであり、ステップS37において状態メモリに空きエリアがあるときは、オフフラグが0の発音状態の状態メモリのエリア数が、状態メモリの全エリア数の2分の1より少ないか否かを判別する(ステップS44)。そして、オフフラグが0のエリア数が全エリア数の2分の1より少ない場合には、ステップS38に移行して保留メモリの指定エリアに記憶されている鍵番号データを状態メモリの空きエリアに格納し、オフフラグに0をセットし、Tに0をセットする。
【0037】
図17は、互いに異なる2つの鍵の押鍵信号及び離鍵信号を示している。この図で明らかなように、2つの鍵においてオン状態(ハイレベル)となるプランジャー信号の期間が重複しない。したがって、押鍵状態の任意の鍵が離鍵を開始して完全に離鍵状態になる前に、保留メモリに記憶されている鍵番号に対応する他の鍵の押鍵を開始することができる。この結果、無駄のない鍵盤操作が可能になる。
【0038】
【発明の効果】
この発明によれば、駆動できる最大鍵数を超えて押鍵すべき演奏データがある場合には、その押鍵すべき鍵の情報をいったん保留しておき、駆動中のいずれかの鍵が離鍵されたときに保留中の鍵の情報に基づいて押鍵処理をする。したがって、同時に駆動できる最大鍵数を超えて押鍵すべき演奏データがある場合でも押鍵処理を行うことができる。
【図面の簡単な説明】
【図1】この発明の各実施形態における電子楽器のシステムを示すブロック図。
【図2】図1における自動演奏データメモリの自動演奏データを示す図。
【図3】図1における鍵盤の鍵の構造を示す断面図。
【図4】この発明の自動演奏データの流れを示す図。
【図5】図1におけるRAMのデータエリアを示す図。
【図6】押鍵信号を表すタイミングチャート。
【図7】第1実施形態におけるCPUのメインフローチャート。
【図8】図7におけるデータリード/ライト処理のフローチャート。
【図9】図8に続くデータリード/ライト処理のフローチャート。
【図10】第1実施形態におけるタイマインタラプト処理のフローチャート。
【図11】図10に続くタイマインタラプト処理のフローチャート。
【図12】第1実施形態におけるある基準時間での押鍵信号の推移を示すタイミングチャート。
【図13】第1実施形態における他の基準時間での押鍵信号の推移を示すタイミングチャート。
【図14】第1実施形態における他の基準時間での押鍵信号の推移を示すタイミングチャート。
【図15】第2実施形態におけるデータリード/ライト処理の一部のフローチャート。
【図16】第2実施形態におけるタイマインタラプト処理の一部のフローチャート。
【図17】第2実施形態における押鍵信号及び離鍵信号の推移を示すタイミングチャート。
【符号の説明】
1 CPU
3 RAM
4 鍵盤
5 プランジャー
6 プランジャードライバ
10 音源
12 自動演奏データメモリ
[0001]
[Technical field to which the invention belongs]
The present invention relates to a keyboard driving apparatus that automatically presses and releases a keyboard according to performance data.
[0002]
[Prior art]
In such a keyboard driving device, a plunger, solenoid or other actuator (drive mechanism) is provided for each key, and when the performance data event is a key depression, the actuator corresponding to the key to be depressed is provided. Turn on the drive signal. When the performance data event is a key release, the actuator drive signal corresponding to the key to be released is turned off. Therefore, when the performance data event is a chord, a drive signal for simultaneously pressing and releasing a plurality of keys corresponding to the chord is given to the actuator.
[0003]
[Problems to be solved by the invention]
By the way, when keys are pressed simultaneously like chords, or when keys are pressed repeatedly for the same period other than chords, the load on the power supply for supplying drive signals to the actuators that drive the corresponding keys is also large. Become. Therefore, the maximum number of keys to be pressed simultaneously or during the synchronization is limited. For this reason, in the keyboard driving device, the key pressing process has to be omitted for performance data exceeding the maximum number of keys.
An object of the present invention is to perform a key pressing process even when performance data to be pressed exceeds the maximum number of keys that can be driven simultaneously.
[0004]
[Means for Solving the Problems]
This invention Supplied According to the driving signal Drive the key Driving means, Only a predetermined number of key number data can be stored When there is no free area in the first storage means and the first storage means, Key number Second storage means for storing data and stored in the first storage means Key number To data For driving the corresponding key Drive signal To drive means give Drive signal Supply Means, When the performance data sequentially supplied in accordance with the processing timing is key depression data, if there is an empty area in the first storage means, the key number data in the performance data is stored in the empty area, while the first data When there is no empty area in the storage means, the second storage means is controlled to store the key number data. Further, if the supplied performance data is key release data, The areas of the first and second storage means in which data having the same key number as the key number data are stored are made empty, an empty area is generated in the first storage means, and the key number data is stored in the second storage means Is stored, the key number data is transferred to the empty area of the first storage means, and the area where the key number data is stored in the second storage means is made empty. And a storage control means.
According to this configuration, when there is performance data to be pressed exceeding the maximum number of keys that can be driven, information on the key to be pressed (Key number data) Is temporarily held, and when any of the keys being driven is released, the key pressing process is performed based on the information of the held key.
[0005]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, first and second embodiments of the present invention will be described with reference to FIGS.
FIG. 1 is a diagram showing a system configuration of first and second embodiments when a keyboard driving device according to the present invention is applied to an electronic musical instrument. The CPU 1 exchanges commands and data with the following units connected to the system bus to control the entire electronic musical instrument. The ROM 2 stores a control program executed by the CPU 1 and initial data in initialization processing after power-on. The RAM 3 stores data processed by the CPU 1. The keyboard 4 inputs a key number and other data to the CPU 1 in accordance with a key pressing operation and a key releasing operation. The input data is temporarily stored in the RAM 4, and a sound generation process and a mute process are performed.
[0006]
The plunger 5 is a keyboard driving means for automatically pressing and releasing the keyboard according to performance data, instead of the performer. The plunger driver 6 is a signal generating unit that generates a drive signal to be given to the plunger 5 in accordance with a command from the CPU 1. The switching circuit 7 relays an actual current for driving the plunger 5 from the power supply 8 in accordance with the drive signal. The timer 9 inputs a timer interrupt to the CPU 1 at regular intervals. The timer interrupt will be described later. The sound source 10 generates a musical sound signal based on the sound generation command and the mute command from the CPU 1 and sends it to a sound system (not shown). The MIDI interface 11 transmits / receives MIDI data to / from an external MIDI device.
[0007]
The automatic performance data memory 12 stores automatic performance data input in advance or MIDI data input from the MIDI interface 11 as automatic performance data. As shown in FIG. 2, the automatic performance data in the automatic performance data memory 12 is composed of an event and data of processing timing of the event, and is sequentially read by a read command from the CPU 1. When the event is a chord, the processing timing of the plurality of events is the same timing. The CPU 1 issues a key depression command and a key release command to the plunger driver 6 based on the automatic performance data.
[0008]
FIG. 3 (1) is a cross-sectional view showing the structure of the keyboard 4. Each key 41 has a tip portion 41 a fixed to the frame 42. At a predetermined position on the lower side of the key 41, a switch pressing portion 41b is provided so as to protrude downward. Two key-pressing touch detection switches 43 are provided at the position of the frame 42 facing the switch pressing portion 41b. The key pressing and key release are detected and the detection signal is input to the CPU 1. The CPU 1 issues a sound generation instruction and a mute instruction to the sound source 10 according to the detection signal. A protrusion 41c is provided between the tip 41a and the switch pressing part 41b on the lower side of the key 41. One end of the coil spring 44 is fixed to the protrusion 41 c and the other end is fixed to the frame 42. The key 41 is biased upward by the coil spring 44, and a repulsive force is applied to the key pressing operation.
[0009]
A plunger 5 is fixed at a predetermined position of the frame 42. Further, a key drive arm 45 is attached in the vicinity of the plunger 5 so as to be rotatable with respect to the shaft 45a. The key drive arm 45 is biased toward the plunger 5 by a spring (not shown) provided on the shaft 45a, and abuts against the lower protrusion 41d of the key 41 by the extension force of the coil spring 44. It is energized. Therefore, when the plunger 5 is not driven, the key driving arm 45 is pressed against the movable portion 5a of the plunger 5 as shown in FIG.
[0010]
Now, when a drive signal is given to the plunger 5 from the plunger driver 6, the movable part 5a of the plunger 5 protrudes to the key drive arm 45 side. As a result, as shown in FIG. 3B, the key drive arm 45 rotates downward to press the lower protrusion 41d of the key 41 downward, and the key 41 is a leaf spring of the tip 41a. Depending on the structure, it will bend down and be automatically pressed. At this time, the key pressing touch detection switch 43 is turned on when the switch pressing portion 41b of the key 41 is pressed. In this case, the two key pressing touch detection switches 43 are not turned on at the same time but are turned on with a time difference. This time difference changes according to the key pressing speed. When the drive signal to the plunger 5 is turned off, the key 41 returns to the state shown in FIG. 3A by the biasing force of the coil spring 44 and the spring of the leaf spring structure of the tip 41a of the key 41.
[0011]
Therefore, when the key is depressed, the key driving arm 45 needs to rotate so as to exceed the urging force of the spring of the leaf spring structure of the coil spring 44 and the tip 41a of the key 41. The current required for the operation is supplied to the plunger 5. Therefore, since the load of the power source 8 increases as the number of keys pressed simultaneously increases, the maximum number of keys pressed simultaneously is limited. Incidentally, the maximum number of keys is limited to 6 in the first and second embodiments.
[0012]
Next, the concept of performance data processing in the first and second embodiments will be described with reference to FIGS. Data for simultaneous processing, such as chord data, in the event data of the automatic performance data memory 12 is temporarily stored in the temporary memory area 31 of the RAM 3 shown in FIG. Therefore, as shown in FIG. 5, the event data stored in the temporary memory 31 has the same data format as the automatic performance data memory 12 shown in FIG. The data discriminating function of the CPU 1 discriminates whether or not there is an empty area in the state memory 32 of the RAM 3 that can transfer all the event data in the temporary memory 31. If there is an empty area, the event data is stored in the state memory 32. If there is not enough free area, event data that cannot be transferred is transferred to the hold memory 33.
[0013]
As shown in FIG. 5, the data format of the state memory 32 is composed of a key number, an off flag, and time data T that changes according to a timer interrupt. Off flag 1 Indicates that the key is released, and when the off flag is 0, it indicates that the key is pressed. Further, the data format of the holding memory 33 is composed only of the key number. The CPU 1 monitors the plunger driver 6 to determine whether or not the drive signal is turned off, and when it is turned off, the off flag of the corresponding state memory 32 is changed from 0 to 1 to free the area. The event data stored in the reserved memory 33 is transferred to the empty area. Further, the sound source 10 is instructed to generate sound and mute according to the keyboard drive state.
[0014]
For example, as shown in FIG. 6, when note 1 to note 5 are simultaneously depressed and the key depression event data of note 6 at processing timing t1 is transferred to temporary memory 31, the maximum key depression Since there is one vacant area for Equation 6, the event data of Note 6 can be transferred to the state memory 32 to perform the key pressing process. After that, when the notes 1 to 6 are being depressed and the event data of the note 7 is transferred to the temporary memory 31, there is no one empty area for the maximum number of depressed keys 6. The event data is stored in the holding memory 33.
[0015]
When the note 5 is turned off at the timing t2, the event data of the note 7 is transferred from the holding memory 33 to the state memory 32 at that time. In addition, the event data of note 8 in a state where there is no free area in the state memory 32 But When transferred to the temporary memory 31, the event data of the note 8 is transferred to the hold memory 33. When the note 6 is turned off at the timing t3, the event data of the note 8 is transferred from the hold memory 33 to the state memory 32 at that time. Forward to.
[0016]
Next, the operation of the first embodiment will be described in detail with reference to the flowchart of the CPU 1.
In the main flow of FIG. 7, after the initialization process (step S1), a loop that repeats the data read / write process (step S2), the sound generation process (step S3), and other processes (step S4) is executed.
[0017]
In the data read / write process in step S2, as shown in FIG. 8, it is determined whether or not data remains in the temporary memory 32 (step S5). When no data remains, data consisting of an event and processing timing is read from the currently designated area of the automatic performance data memory 12 (step S6), and the data is stored in the temporary memory 31 (step S7). Next, the next area of the automatic performance data memory 12 is designated (step S8). Then, it is determined whether or not the processing timing of the designated area immediately before the automatic performance data memory 12 is the same as the processing timing of the current designated area (step S9).
[0018]
Since these data represent chords at the same timing, it is necessary to perform a key pressing process at the same time. Therefore, the process proceeds to step S6, and the data of the current designated area is read. In step S9, when the processing timing of the immediately preceding designated area is different from the processing timing of the current designated area, whether or not the processing timing of the data in the temporary memory 31 is the current value of the timer 9 in the flow of FIG. That is, it is determined whether it is the event start time (step S10). If data remains in the temporary memory 31 in step S5 in FIG. 8, the process proceeds to step S10 in FIG. 9 without reading the data from the automatic performance data memory 12, and the data in the temporary memory 31 is read. It is determined whether or not the processing timing is the event start time.
[0019]
In step S10, when the data processing timing in the temporary memory 31 is not the event start time, the process returns to the main flow. When the processing timing is the event start time, the event data is read from the non-empty area of the temporary memory 31 and the area is made empty (step S11). Then, it is determined whether the read event data is key-on data for turning on the keyboard 4 or key-off data for turning off the keyboard 4 (step S12). If it is key-on data, whether or not there is an empty area in the state memory 32 is determined based on the presence or absence of a key number (step S13). If there is a free area, the key number is stored for the free area, 0 is set in the off flag, and 0 is set in T (step S14). Then, it is determined whether or not all the areas of the temporary memory 15 are empty (step S15). On the other hand, if there is no empty area in the state memory 32 in step S13, the key number is stored in the first empty area of the reserved memory (step S16). Then, the process proceeds to step S15, and it is determined whether or not all areas of the temporary memory 31 are empty.
[0020]
When all the areas of the temporary memory 15 become empty, the process returns to the main flow. However, when there is an area that is not empty, the process proceeds to step S11 and data is read from the area that is not empty. In step S12, when the read event data is key-off data for turning off the keyboard 4, it is determined whether or not the key number to be turned off is stored in the holding memory 33 (step S17). If not stored, the area of the state memory 32 in which the key number to be turned off is stored is searched (step S18). Then, 1 is set to the off flag of the found area, and 0 is set to T (step S19). Next, the process proceeds to step S15, and it is determined whether or not all areas of the temporary memory 31 are empty. In step S17, when the key number to be turned off is stored in the holding memory 33, the stored area is made empty, and data below the area is left-justified in the empty area (step S20). Thereafter, the process proceeds to step S15, and it is determined whether or not all areas of the temporary memory 31 are empty.
[0021]
10 and 11 are flowcharts of the timer interrupt process. When a timer interrupt is entered every 10 ms, it is determined in FIG. 10 whether there is a non-empty area in the state memory 32 (step S21). If there is an area that is not empty, the first area in which data is stored is designated (step S22). Next, 10 (ms) is added to T of the designated area (step S23), and the added T is divided by the reference time TB (in this case, TB = 40 ms) (step S24) to obtain the quotient A and the remainder. Find B. Then, the values of the quotient A and the remainder B are compared (step S25).
[0022]
When A is larger than B, it is determined whether or not the off flag of the designated area is 1, that is, whether or not the event of the area is muted (step S26). When the off flag is 0 (sounding), a plunger signal ON is sent to the plunger driver 6 corresponding to the key number of the area (step S27). On the other hand, when the off flag is 1 (silence), a plunger signal OFF is sent to the plunger driver 6 corresponding to the key number of the area (step S28).
[0023]
If A is B or less in step S25, it is determined whether or not the off flag of the designated area is 1 (step S29). If the off flag is 0 (sounding), a plunger signal off is sent to the plunger driver 6 corresponding to the key number of the area in step S28. On the other hand, when the off flag is 1 (silence), in step S27, a plunger signal ON is sent to the plunger driver 6 corresponding to the key number of the area.
[0024]
After sending the plunger signal on or off in step S27 or step S28, it is determined whether or not the off flag of the designated area is 1 (silence) (step S30). If the off flag is 1, T Is greater than 160 ms (step S31). If T is larger than 160 ms, the designated area is made empty (step S32). Then, it is determined whether or not there is a non-empty area after the designated area (step S33). If the off flag is 0 in step S30, or if T is 160 ms or less in step S31, it is determined whether there is a non-empty area after the area designated in step S33. When there is an area that is not empty, the found area is designated (step S34), and the process proceeds to step S24 to calculate T / TB.
[0025]
In step S33, when there is no empty area after the area specified in the state memory 32, or when the state memory 32 is all empty areas in step S21, in the flow of FIG. It is determined whether or not there is (step S35). If there is a free area, the first area in which data is stored is designated (step S36). Next, it is determined whether or not there is an empty area in the state memory 32 (step S37). If there is an empty area, the key number data stored in the holding memory 33 is moved to the empty area of the state memory 32. Then, the off flag in that area is set to 0, and 0 is set to T (step S38).
[0026]
Next, the designated area of the holding memory 33 is made empty (step S39). Then, it is determined whether or not the next area of the holding memory 33 is not empty (step S40). If the next area is not empty, the next area is designated (step S41). Then, the process proceeds to step S37 to determine an empty area in the state memory 32. If there is no empty area in the state memory 32 in step S37, or if there is no non-empty area after the area specified in the reserved memory in step S40, the data in the reserved memory 33 is left-justified. (Step S42). Thereafter, the process returns to the main flow. In step S35, if all the reserved memories 33 are free areas, the process returns to the main flow.
[0027]
FIG. 12 shows the transition of the plunger signal in response to a timer interrupt every 10 ms when TB = 40 ms.
In accordance with a timer interrupt every 10 ms (hereinafter abbreviated as “TI”), the quotient A and the remainder B of the calculation T / TB (= 40) in step S24 of FIG. 10 are the values shown in FIG. Therefore, when the off flag is 0, that is, when the key is depressed, the plunger signal is turned off by the processing of step S25, step S29, and step S28 in FIG. During the period of TI = 40 to 50, the plunger signal is turned on by the processing of step S25, step S29, and step S27 in FIG. Similarly, the period of TI = 50-80 is off, the period of TI = 80-100 is on, the period of TI = 100-120 is off, the period of TI = 120-150 is on, the period of TI = 150-160 Is off, and is always on after TI = 160. That is, the plunger signal in the key-pressing start transition period is intermittently turned on, and the on-time gradually becomes longer, and finally becomes a continuous on signal.
[0028]
On the other hand, when the off flag is 1, that is, when the key is released, the phase is opposite to that when the key is pressed. When T exceeds 160 ms, the key is completely released, so that the designated area is made empty after step S31 to step S32 in FIG.
[0029]
As described above, according to the first embodiment, when there is performance data to be pressed exceeding the maximum number of keys that can be driven, the information on the key to be pressed is temporarily held, and driving is in progress. When any one of the keys is released, the key pressing process is performed based on the information on the pending key. Accordingly, the key pressing process can be performed even when there is performance data to be pressed exceeding the maximum number of keys that can be driven simultaneously. In this case, the key pressing timing of the held key is slightly delayed from the actual performance data processing timing, that is, the sound generation timing. However, this timing shift is regarded as a so-called “pitch” and is rather mechanically accurate. It is not necessarily a drawback because it is thin and impersonal.
[0030]
Also, as shown in FIG. 12, the key is gradually depressed and released, so that the stress change with respect to the spring (not shown) provided on the shaft 44a of the coil spring 44 and the key drive arm 45 in each key shown in FIG. It becomes gentle and its fatigue level is reduced. In addition, since the peak value of the current supplied from the power source 8 to the plunger 5 when the key is depressed is reduced, there is an effect that a small and inexpensive power source having a low rated value can be used. Further, the cushioning material provided at a predetermined location of each key can also have a simple structure.
[0031]
FIG. 13 and FIG. 14 show the transition of the plunger signal according to the timer interrupt when the reference time TB is 30 ms and 20 ms. As is apparent from these two figures, the key pressing speed and the key releasing speed increase as the reference time TB decreases. Although omitted in the automatic performance data shown in FIG. 2, the event data includes velocity data indicating the key pressing speed in addition to the key number and the on / off information indicating key pressing or key release. . As described in the key structure, the two key pressing touch detection switches 43 are not turned on at the same time but are turned on with a time difference, and this time difference changes according to the key pressing speed.
[0032]
Therefore, the velocity information can be supplied to the sound source 10 by changing the reference time TB according to the velocity data included in the event data. As a result, even with the automatic key pressing by the plunger 5, it is possible to generate a sound with strength and weakness based on the velocity data in the performance data as if the person had performed.
[0033]
Next, a second embodiment of the present invention will be described with reference to FIGS.
Also in the second embodiment, as in the first embodiment, as shown in FIG. 12, key pressing and key release are gradually performed. In this case, there is a time during which no current flows from the power supply 8 to the plunger 5 in the transient state of the key pressing start. On the contrary, in the transient state of the key release start, there is a time during which current flows from the power source 8 to the plunger 5. Therefore, in the second embodiment, the key pressing and key releasing transient states are overlapped without increasing the load current of the power source 8. Therefore, the RAM 3 has a state memory having an area twice the number of keys that can be driven simultaneously. A half of the total area of the state memory is an area corresponding to key depression, and the remaining half is an area corresponding to key release.
[0034]
The main flow of the CPU 1 in the second embodiment is the same as that in the first embodiment, and the data read / write process and the timer interrupt process include many of the same processes as in the first embodiment. Therefore, in FIG.15 and FIG.16, the same process as 1st Embodiment is represented by the same code | symbol, and the description is abbreviate | omitted.
[0035]
FIG. 15 is a partial flow of data read / write processing in the second embodiment. When there is an empty area in the state memory in step S13, the off flag is 0, that is, the number of areas of the state memory in the sounding state is the state. It is determined whether or not the total number of memory areas (for example, 12 areas) is less than one half (6 areas) (step S43). If the number of areas whose off flag is 0 is less than half of the total number of areas, the process proceeds to step S14, where the key number is stored in the empty area of the state memory, 0 is set in the off flag, and T is set. Set 0.
[0036]
FIG. 16 is a flowchart of a part of the timer interrupt process in the second embodiment. When there is an empty area in the state memory in step S37, the number of areas of the state memory in the sounding state in which the off flag is 0 is set in the state memory. It is determined whether or not it is less than half of the total number of areas (step S44). If the number of areas whose off flag is 0 is less than half of the total number of areas, the process proceeds to step S38, and the key number data stored in the designated area of the reserved memory is stored in the empty area of the status memory. Then, 0 is set in the off flag, and 0 is set in T.
[0037]
FIG. 17 shows a key pressing signal and a key releasing signal for two different keys. As is apparent from this figure, the periods of the plunger signals that are turned on (high level) in the two keys do not overlap. Therefore, before any key in the key-pressed state starts to be released and completely released, it is possible to start pressing another key corresponding to the key number stored in the holding memory. . As a result, it is possible to operate the keyboard without waste.
[0038]
【The invention's effect】
According to the present invention, when there is performance data to be pressed exceeding the maximum number of keys that can be driven, information on the key to be pressed is temporarily held, and any of the keys being driven is released. When the key is locked, the key pressing process is performed based on the information on the key being held. Therefore, even when there is performance data to be pressed exceeding the maximum number of keys that can be driven simultaneously, the key pressing process can be performed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a system of an electronic musical instrument in each embodiment of the present invention.
FIG. 2 is a diagram showing automatic performance data in an automatic performance data memory in FIG. 1;
3 is a cross-sectional view showing the structure of a key of the keyboard in FIG. 1. FIG.
FIG. 4 is a diagram showing a flow of automatic performance data according to the present invention.
5 is a diagram showing a data area of a RAM in FIG.
FIG. 6 is a timing chart showing a key pressing signal.
FIG. 7 is a main flowchart of a CPU according to the first embodiment.
8 is a flowchart of data read / write processing in FIG.
FIG. 9 is a flowchart of data read / write processing following FIG. 8;
FIG. 10 is a flowchart of timer interrupt processing in the first embodiment.
FIG. 11 is a flowchart of timer interrupt processing following FIG. 10;
FIG. 12 is a timing chart showing the transition of the key pressing signal at a certain reference time in the first embodiment.
FIG. 13 is a timing chart showing the transition of the key depression signal at another reference time in the first embodiment.
FIG. 14 is a timing chart showing the transition of the key pressing signal at another reference time in the first embodiment.
FIG. 15 is a partial flowchart of data read / write processing according to the second embodiment.
FIG. 16 is a flowchart showing a part of timer interrupt processing in the second embodiment;
FIG. 17 is a timing chart showing transition of a key press signal and a key release signal in the second embodiment.
[Explanation of symbols]
1 CPU
3 RAM
4 keyboard
5 Plunger
6 Plunger driver
10 sound sources
12 Automatic performance data memory

Claims (5)

供給される駆動信号に応じて鍵を駆動させる駆動手段と、
鍵番号データを所定個数分のみ記憶可能な第1の記憶手段と、
前記第1の記憶手段に空きエリアがないときに、前記鍵番号データを記憶する第2の記憶手段と、
前記第1の記憶手段に記憶されている鍵番号データに対応する鍵を駆動させるための前記駆動信号を前記駆動手段へ与える駆動信号供給手段と、
処理タイミングに従って順次供給される演奏データが押鍵データであった場合に、前記第1の記憶手段に空きエリアがあるときには、当該演奏データ中の鍵番号データを前記空きエリアに記憶させ、一方、前記第1の記憶手段に空きエリアがないときには、前記第2の記憶手段に前記鍵番号データを記憶させるように制御し、更に、前記供給された演奏データが離鍵データであった場合には、当該演奏データ中の鍵番号データと同じ鍵番号のデータが記憶されている前記第1及び第2の記憶手段のエリアを空き状態にし、前記第1の記憶手段に空きエリアが生じ、かつ前記第2の記憶手段に鍵番号データが記憶されているときは、当該鍵番号データを前記第1の記憶手段の空きエリアに転送すると共に、前記第2の記憶手段における当該鍵番号データが記憶されているエリアを空き状態にする記憶制御手段と、
を備えたことを特徴とする鍵盤駆動装置。
Driving means for Ru to drive the key in response to a drive signal supplied,
First storage means capable of storing only a predetermined number of key number data ;
Second storage means for storing the key number data when there is no empty area in the first storage means;
Drive signal supply means for providing the drive means with the drive signal for driving the key corresponding to the key number data stored in the first storage means;
When the performance data sequentially supplied according to the processing timing is key depression data, if there is an empty area in the first storage means, key number data in the performance data is stored in the empty area, When there is no empty area in the first storage means, control is performed so that the key number data is stored in the second storage means, and further, when the supplied performance data is key release data The areas of the first and second storage means in which data having the same key numbers as the key number data in the performance data are stored are made empty, an empty area is generated in the first storage means, and the When the key number data is stored in the second storage means, the key number data is transferred to an empty area of the first storage means, and the key number in the second storage means is transferred. A storage control unit for the area in which data is stored in the vacant state,
A keyboard driving device comprising:
前記信号生成手段は、押鍵速度及び離鍵速度を制御する信号パターンの駆動信号を前記駆動手段に与えることを特徴とする請求項1記載の鍵盤駆動装置。  2. The keyboard driving apparatus according to claim 1, wherein the signal generating means gives a driving signal of a signal pattern for controlling a key pressing speed and a key releasing speed to the driving means. 前記信号生成手段は、演奏データに応じて前記信号パターンを演算によって生成することを特徴とする請求項2記載の鍵盤駆動装置。  3. The keyboard driving apparatus according to claim 2, wherein the signal generating means generates the signal pattern by calculation according to performance data. 前記信号生成手段は、予め設定されているデータに基づいて前記信号パターンを生成することを特徴とする請求項2記載の鍵盤駆動装置。  3. The keyboard driving apparatus according to claim 2, wherein the signal generating means generates the signal pattern based on preset data. 前記記憶制御手段が、前記第1の記憶手段の同一のエリアにおいて離鍵すべき鍵のデータの後に押鍵すべき鍵のデータを転送する場合には、前記信号パターンは、当該離鍵すべき鍵及び当該押鍵すべき鍵に対する駆動信号同士が互いに排他的な信号パターンであることを特徴とする請求項2〜4のいずれかに記載の鍵盤駆動装置。  When the storage control unit transfers key data to be pressed after key data to be released in the same area of the first storage unit, the signal pattern should be released 5. The keyboard driving apparatus according to claim 2, wherein the driving signals for the key and the key to be pressed are mutually exclusive signal patterns.
JP19334997A 1997-07-04 1997-07-04 Keyboard drive device Expired - Fee Related JP3671236B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19334997A JP3671236B2 (en) 1997-07-04 1997-07-04 Keyboard drive device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19334997A JP3671236B2 (en) 1997-07-04 1997-07-04 Keyboard drive device

Publications (2)

Publication Number Publication Date
JPH1124658A JPH1124658A (en) 1999-01-29
JP3671236B2 true JP3671236B2 (en) 2005-07-13

Family

ID=16306431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19334997A Expired - Fee Related JP3671236B2 (en) 1997-07-04 1997-07-04 Keyboard drive device

Country Status (1)

Country Link
JP (1) JP3671236B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4543475B2 (en) * 1999-04-13 2010-09-15 ヤマハ株式会社 Performance practice device and fingering practice device
JP4656254B2 (en) * 1999-04-13 2011-03-23 ヤマハ株式会社 Keyboard instrument

Also Published As

Publication number Publication date
JPH1124658A (en) 1999-01-29

Similar Documents

Publication Publication Date Title
JP3671236B2 (en) Keyboard drive device
JPS60149089A (en) Musical sound setter for electronic musical instrument
JP2001166773A (en) Electronic musical instrument
JP2684967B2 (en) Electronic musical instrument
JP2611467B2 (en) Electronic keyboard instrument
JP3585722B2 (en) Automatic accompaniment device
JP3099180B2 (en) Alarm clock
JP3709054B2 (en) Data output device for electronic keyboard instrument
JP2001188527A (en) Keyboard device
US5376751A (en) Autoplay apparatus and method preventing continued operation of sound operation/controlling means during pause
JP3596024B2 (en) Electronic musical instrument
JP3334781B2 (en) Automatic accompaniment device
JPH05323955A (en) Automatic drive type keyboard device
JP7298653B2 (en) ELECTRONIC DEVICES, ELECTRONIC INSTRUMENTS, METHOD AND PROGRAMS
JP5318460B2 (en) Resonant sound generator
JP2877040B2 (en) Keyboard instrument pedal control device
JP3663676B2 (en) Key drive device and automatic keyboard device
JPH0631964B2 (en) Electronic musical instrument
JP2000010563A (en) Liquid crystal keyboard device for electronic musical instrument and control method thereof
JP3636604B2 (en) Electronic musical instruments
JP2508911B2 (en) Automatic performance data editing device
JP2024146203A (en) Electronic musical instrument, automatic operation method and automatic operation program
JP5816245B2 (en) Resonant sound generator
JP2005077763A (en) System for generating automatic accompaniment, and program
JP4873307B2 (en) Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050328

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

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120428

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120428

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees