JPH10124052A - Touch detecting device - Google Patents
Touch detecting deviceInfo
- Publication number
- JPH10124052A JPH10124052A JP8282715A JP28271596A JPH10124052A JP H10124052 A JPH10124052 A JP H10124052A JP 8282715 A JP8282715 A JP 8282715A JP 28271596 A JP28271596 A JP 28271596A JP H10124052 A JPH10124052 A JP H10124052A
- Authority
- JP
- Japan
- Prior art keywords
- data
- touch
- key
- touch data
- cycle
- 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.)
- Pending
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】この発明は、鍵盤等の発音指
示手段の操作状態を検出するタッチ検出装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a touch detection device for detecting an operation state of sounding instruction means such as a keyboard.
【0002】[0002]
【従来の技術】例えば、従来の電子鍵盤楽器には、各鍵
の下面に2つずつスイッチが設けられ、打鍵操作に伴っ
て2つのスイッチが時間差を有して閉じるように構成さ
れたものがある。そして、上記2つのスイッチのオン/
オフ状態が一定周期で走査(スキャン)され、また、上
記2つのスイッチが閉じる時間差が一定周期のクロック
を用いてカウントされる。得られた時間差データは、打
鍵速度または打鍵強度を表すタッチデータとされ、この
タッチデータは発音される楽音の音色、音量等を決定す
るための音楽的ファクタの一つとして用いられる。2. Description of the Related Art For example, in a conventional electronic keyboard instrument, two switches are provided on the lower surface of each key, and two switches are closed with a time lag with a keying operation. is there. Then, turning on / off the above two switches
The OFF state is scanned at a constant cycle (scan), and the time difference between the closing of the two switches is counted using a clock of a constant cycle. The obtained time difference data is used as touch data indicating a keying speed or a keying intensity, and this touch data is used as one of musical factors for determining a tone color, a volume, and the like of a musical tone to be generated.
【0003】[0003]
【発明が解決しようとする課題】しかしながら、上記従
来装置においては、上記各鍵毎に設けられた2つのスイ
ッチのオン/オフ状態を走査するための走査周期を決め
るタイマ動作と、上記2つのスイッチが閉じる時間差を
カウントするためのカウント周期を決めるタイマ動作と
が、一つのタイマによって行われていた。このため、上
記スイッチのオン/オフ状態を検出するときの分解能と
スイッチが閉じる時間差を検出するときの分解能とを異
ならせることができなかった。However, in the above-mentioned conventional apparatus, a timer operation for determining a scanning cycle for scanning the on / off state of two switches provided for each key, and the above-mentioned two switches are provided. And a timer operation for determining a counting period for counting a time difference when the timer is closed has been performed by one timer. For this reason, the resolution when detecting the on / off state of the switch and the resolution when detecting the time difference when the switch closes cannot be made different.
【0004】また、例えば、演奏者がキーボードの複数
のキーを同じ速さまたは強さで打鍵しても、全く同じ速
度または強度ではなく多少変化する。このため、複数の
キーを同じ速度または強度で連続して打鍵しても、各キ
ーの楽音の音量や波形が異なることがある。また、上記
タイマのタイマ周期を短くすることには限界があり、上
記時間差を検出するときの分解能を無限に高めことはで
きない。Further, for example, even if a player strikes a plurality of keys on a keyboard at the same speed or strength, the keys do not have exactly the same speed or strength but slightly change. For this reason, even if a plurality of keys are continuously pressed at the same speed or intensity, the volume and waveform of the musical sound of each key may be different. Further, there is a limit to shortening the timer cycle of the timer, and the resolution for detecting the time difference cannot be infinitely increased.
【0005】このため、同じ音高のキーについて前回の
打鍵速度または打鍵強度に対して少し速度または強度を
変えて打鍵しても、タッチデータが大きく変化する場合
がある。この場合には、タッチデータに応じて発音され
る楽音の音量や波形が変化するので、演奏者が予測しな
い楽音の変化が行われる。[0005] For this reason, even if a key having the same pitch is struck at a slightly different speed or intensity from the previous striking speed or intensity, the touch data may greatly change. In this case, since the volume and waveform of the musical tone generated in response to the touch data change, the musical tone changes unexpectedly by the player.
【0006】[0006]
【課題を解決するための手段】上記課題を解決するため
に本発明は、複数の発音指示手段のそれぞれに対応して
設けられた複数の作動手段の作動を走査する周期と、発
音指示手段ごとの作動手段の作動時間差をカウントする
周期とが異なるようにしたものである。SUMMARY OF THE INVENTION In order to solve the above-mentioned problems, the present invention provides a method of scanning the operation of a plurality of operating means provided corresponding to each of a plurality of sounding instruction means, Is different from the cycle of counting the operation time difference of the operation means.
【0007】これにより、上記走査周期とカウント周期
とを異なる周期とすることができ、複数の作動手段の作
動を検出するときの分解能と、作動手段の作動時間差を
検出するときの分解能とを別々に設定することができ
る。Thus, the scanning cycle and the counting cycle can be different, and the resolution for detecting the operation of the plurality of operating means and the resolution for detecting the operating time difference between the operating means are different. Can be set to
【0008】また、本発明は、発音指示手段のタッチデ
ータを求め、過去のタッチデータと新たに検出されたタ
ッチデータとの差が小さくなるように、当該新たに検出
されたタッチデータを修正するようにしたものである。
これにより、タッチデータの変化を緩和することができ
る。[0008] Further, according to the present invention, the touch data of the sounding instructing means is obtained, and the newly detected touch data is corrected so that the difference between the past touch data and the newly detected touch data is reduced. It is like that.
Thereby, a change in touch data can be reduced.
【0009】[0009]
1.全体回路 図1は電子楽器の全体回路を示す。キーボード1の各キ
ーはキースキャン回路2によってスキャンされ、キーオ
ン、キーオフを示すデータが検出され、CPU7によっ
てRAM8に書き込まれる。キーボード(電子鍵盤楽
器)1は、電子弦楽器、電子吹奏(管)楽器、電子打楽
器(パッド等)、コンピュータのキーボード等で代用し
ても良い。操作パネルに設けられたパネルスイッチ群3
の各スイッチやキーは、パネルスキャン回路4によって
スキャンされる。このスキャンデータはCPU7へ送ら
れ、RAM8に書き込まれる。1. Overall Circuit FIG. 1 shows the overall circuit of an electronic musical instrument. Each key of the keyboard 1 is scanned by the key scan circuit 2, data indicating key-on and key-off is detected, and written into the RAM 8 by the CPU 7. The keyboard (electronic keyboard instrument) 1 may be replaced by an electronic stringed instrument, an electronic wind (wind) instrument, an electronic percussion instrument (pad or the like), a computer keyboard, or the like. Panel switch group 3 provided on operation panel
The switches and keys are scanned by the panel scan circuit 4. The scan data is sent to the CPU 7 and written to the RAM 8.
【0010】タッチタイマ5は、一定周期毎にインタラ
プト信号INT1を発生してCPU7へ送る。スキャン
タイマ6は、一定周期毎にインタラプト信号INT2を
発生してCPU7へ送る。タッチタイマ5及びスキャン
タイマ6は、CPU7内のクロック発生器または別個に
設けられたクロック発生器から発生されるクロック信号
を用いてタイムカウントを行って、タイムアップ時にイ
ンタラプト信号INT1、INT2を発生する。以下、
タッチタイマ5からインタラプト信号INT1が発生さ
れる周期を「カウント周期」、スキャンタイマ6からイ
ンタラプト信号INT2が発生される周期を「スキャン
周期」とする。The touch timer 5 generates an interrupt signal INT1 at regular intervals and sends it to the CPU 7. The scan timer 6 generates an interrupt signal INT2 at regular intervals and sends it to the CPU 7. The touch timer 5 and the scan timer 6 perform time counting using a clock signal generated from a clock generator in the CPU 7 or a separately provided clock generator, and generate interrupt signals INT1 and INT2 when the time is up. . Less than,
A cycle in which the interrupt signal INT1 is generated from the touch timer 5 is referred to as a “count cycle”, and a cycle in which the interrupt signal INT2 is generated from the scan timer 6 is referred to as a “scan cycle”.
【0011】また、CPU7は、後述するタッチタイマ
データTtまたはスキャンタイマデータStをRAM8
から読み出して、タッチタイマ5またはスキャンタイマ
6へ送る。タッチタイマ5はプログラマブルであり、タ
ッチタイマデータTtに応じた周期でインタラプト信号
INT1を発生し、スキャンタイマ6もプログラマブル
であり、スキャンタイマデータStに応じた周期でイン
タラプト信号INT2を発生する。従って、タッチタイ
マデータTtまたはスキャンタイマデータStを変える
ことによって、カウント周期またはスキャン周期を変え
ることができる。The CPU 7 stores touch timer data Tt or scan timer data St, which will be described later, in the RAM 8.
And sends it to the touch timer 5 or the scan timer 6. The touch timer 5 is programmable, and generates an interrupt signal INT1 at a cycle according to the touch timer data Tt, and the scan timer 6 is also programmable, and generates an interrupt signal INT2 at a cycle according to the scan timer data St. Therefore, the count cycle or the scan cycle can be changed by changing the touch timer data Tt or the scan timer data St.
【0012】上記キースキャン回路2は、上記スキャン
周期でキーボード1の各キーをスキャンする。すなわ
ち、CPU7にインタラプト信号INT2が入力される
と、CPU2からキースキャン回路へスキャン開始を指
令するデータが送られる。キースキャン回路2は、この
指令データに応答して各キーをスキャンし、このスキャ
ンデータをバッファに一時的に記憶する。また、CPU
7は、インタラプト信号INT2が入力されたとき、上
記指令データをキースキャン回路2へ送るとともに、上
記バッファに記憶されているスキャンデータを読み込ん
で、CPU7内のリングバッファに一時的に記憶する。
RAM8には、各種のデータが記憶され、記憶されたデ
ータの一部が操作パネルに設けられたLCD(液晶表示
装置)21に表示される。The key scan circuit 2 scans each key of the keyboard 1 at the scan cycle. That is, when the interrupt signal INT2 is input to the CPU 7, data for instructing the start of scanning is sent from the CPU 2 to the key scan circuit. The key scan circuit 2 scans each key in response to the command data, and temporarily stores the scan data in a buffer. Also, CPU
7, when the interrupt signal INT2 is input, sends the command data to the key scan circuit 2, reads the scan data stored in the buffer, and temporarily stores the scan data in a ring buffer in the CPU 7.
The RAM 8 stores various data, and a part of the stored data is displayed on an LCD (liquid crystal display) 21 provided on an operation panel.
【0013】ROM9(内部記憶媒体/手段)には後述
する各フローチャートに応じたコンピュータプログラム
であって、CPU5が実行する各種処理に応じたコンピ
ュータプログラムが記憶されている。このコンピュータ
プログラムはCD−ROM(外部記憶媒体/手段)等に
記憶され、上記RAM6(内部記憶媒体/手段)に書き
込まれ記憶される(インストール/転送/複写される)
こともある。またROM9には、イントロ、フィルイ
ン、エンディング等の各パターンに応じたリズム、コー
ド等のシーケンス情報が記憶されており、パネルスイッ
チ群3の選択キーによって選択されたパターンが読み出
されて自動演奏される。The ROM 9 (internal storage medium / means) stores computer programs corresponding to various flowcharts to be described later and corresponding to various processes executed by the CPU 5. This computer program is stored in a CD-ROM (external storage medium / means) or the like, and written and stored in the RAM 6 (internal storage medium / means) (installed / transferred / copied).
Sometimes. The ROM 9 stores sequence information such as rhythm and chord corresponding to each pattern such as intro, fill-in, and ending. The pattern selected by the selection key of the panel switch group 3 is read out and automatically played. You.
【0014】MIDI回路10は、外部接続された電子
楽器との間で楽音情報の送受を行うためのインターフェ
イスである。この楽音情報はMIDI(ミュージカルイ
ンスツルメントデジタルインターフェイス)規格のもの
で、この楽音情報に基づいた発音または自動演奏も行わ
れる。このMIDI回路10に楽音情報が送られて一時
的に記憶されると、CPU5に対してインタラプト信号
が与えられて、送られてきた楽音情報の取り込みや楽音
情報の送受が行われる。The MIDI circuit 10 is an interface for transmitting and receiving musical tone information to and from an externally connected electronic musical instrument. The tone information is based on the MIDI (Musical Instrument Digital Interface) standard, and a tone or an automatic performance is also performed based on the tone information. When the musical tone information is sent to the MIDI circuit 10 and temporarily stored therein, an interrupt signal is given to the CPU 5, and the transmitted musical tone information is taken in and the musical tone information is transmitted / received.
【0015】トーンジェネレータ11は、DSP(デジ
タルシグナルプロセッサ)またはMPU(マイクロプロ
セッシングユニット)等を用いた楽音発生回路である。
このトーンジェネレータ11では、上記キーボード1及
びパネルスイッチ群3から入力されたキーナンバ、タッ
チ、音色、リズム等の音楽的ファクタデータに応じた楽
音データが生成される。このトーンジェネレータ11に
は、複数チャンネル分、例えば16チャンネル分の楽音
生成系が時分割処理により形成されており、楽音をポリ
フォニックに発音させることができる。この各チャンネ
ルに割り当てられる上記楽音データはアサインメントメ
モリ(図示せず)に記憶される。The tone generator 11 is a tone generating circuit using a DSP (Digital Signal Processor) or MPU (Micro Processing Unit).
The tone generator 11 generates musical tone data corresponding to musical factor data such as key numbers, touches, timbres, and rhythms input from the keyboard 1 and the panel switch group 3. In the tone generator 11, a tone generation system for a plurality of channels, for example, 16 channels is formed by time-division processing, and the tone can be generated polyphonically. The tone data assigned to each channel is stored in an assignment memory (not shown).
【0016】サウンドシステム12では、上記トーンジ
ェネレータ11から送られてきた楽音データに、デジタ
ルフィルタによってフィルタ処理が施されたり、エフェ
クト回路によってリバーブ効果が付加されたり、パンニ
ング回路によって音像位置の設定が行われる。さらに、
サウンドシステム12では、D−A変換器によって上記
楽音データに応じたアナログ信号を生成してスピーカか
ら発音する。In the sound system 12, the tone data sent from the tone generator 11 is filtered by a digital filter, a reverb effect is added by an effect circuit, and a sound image position is set by a panning circuit. Will be further,
In the sound system 12, an analog signal corresponding to the tone data is generated by a DA converter and is generated from a speaker.
【0017】2.パネルスイッチ群 上記パネルスイッチ群3には、図2に示すように、LC
D(液晶表示装置)21、音量設定用のつまみ22、テ
ンポ設定用のつまみ23、アップキー24、ダウンキー
25、モード切り換えスイッチ26のほか、種々の設定
スイッチや操作スイッチ等(図示せず)が設けられてい
る。2. Panel switch group As shown in FIG.
D (liquid crystal display) 21, a knob 22 for setting a volume, a knob 23 for setting a tempo, an up key 24, a down key 25, a mode switch 26, various setting switches and operation switches (not shown) Is provided.
【0018】音量設定用のつまみ22は、上記サウンド
システム12から発音される楽音全体の音量を変化させ
るための操作子である。また、テンポ設定用のつまみ2
3は、自動演奏によって発音される楽音のテンポを変化
させるための操作子である。そして、上記パネルスキャ
ン回路4によってつまみ22、23の操作量が検出され
て、この検出された操作量データがCPU7へ送られ
る。CPU7に入力された操作量データは、音量データ
またはテンポデータとして使用される。この音量データ
は演奏強度的ファクタの1つであり、テンポデータは演
奏速度的ファクタの1つである。A knob 22 for setting the volume is an operator for changing the volume of the whole tone generated by the sound system 12. Also, a knob 2 for tempo setting
Reference numeral 3 denotes an operator for changing the tempo of a musical tone generated by the automatic performance. Then, the operation amounts of the knobs 22 and 23 are detected by the panel scan circuit 4, and the detected operation amount data is sent to the CPU 7. The operation amount data input to the CPU 7 is used as volume data or tempo data. This volume data is one of the performance intensity factors, and the tempo data is one of the performance speed factors.
【0019】アップキー24はLCD21に表示された
数値を増加させ、ダウンキー25はLCD21に表示さ
れた数値を減少させる。アップキー24とダウンキー2
5は、アップダウンカウンタ(図示せず)に接続されて
おり、両キー24、25の操作によってカウント値が変
化する。このカウント値はパネルスキャン回路4によっ
て読み取られてCPU7へ送られる。The up key 24 increases the numerical value displayed on the LCD 21, and the down key 25 decreases the numerical value displayed on the LCD 21. Up key 24 and down key 2
Reference numeral 5 is connected to an up / down counter (not shown), and the count value changes by operating both keys 24 and 25. This count value is read by the panel scan circuit 4 and sent to the CPU 7.
【0020】モード切り換えスイッチ26は、上記アッ
プキー24とダウンキー25によるパラメータの設定モ
ードを切り換えるスイッチである。スイッチ26を操作
する毎に、カウント周期を設定するモードとスキャン周
期を設定するモードとが切り換えられる。従って、カウ
ント周期とスキャン周期とを別々に独立して設定するこ
とができ、カウント周期とスキャン周期とを異なる値に
設定することが可能である。勿論、カウント周期とスキ
ャン周期とを同じ値に設定することも可能である。The mode changeover switch 26 is a switch for changing over a parameter setting mode using the up key 24 and the down key 25. Each time the switch 26 is operated, the mode for setting the count cycle and the mode for setting the scan cycle are switched. Therefore, the count cycle and the scan cycle can be set separately and independently, and the count cycle and the scan cycle can be set to different values. Of course, it is also possible to set the count period and the scan period to the same value.
【0021】LCD21には、上記設定モードにおける
周期が表示される。例えば、タッチタイマ5の周期を設
定するモードでは「TOUCH=1/256」、スキャ
ンタイマ6の周期を設定するモードでは「SCAN=1
/128」のように、モード名と周期とが表示される。The LCD 21 displays the cycle in the setting mode. For example, in the mode in which the cycle of the touch timer 5 is set, “TOUCH = 1/256”, and in the mode in which the cycle of the scan timer 6 is set, “SCAN = 1”.
/ 128 ", the mode name and the cycle are displayed.
【0022】3.キースイッチ 図3に示すように、キーボード1の各キーKの下面に
は、弾性体からなる基体30が取り付けられている。こ
の基体30は段差を有した階段状に形成されており、下
方の段面にスイッチS1が設けられ、上方の段面にスイ
ッチS2が設けられている。そして、キーKの下方に配
設された基板33には、スイッチS1、S2に対向する
接点31、32が同じ高さの位置に設けられている。な
お、図3は上下方向の寸法を実際よりも拡大して示すも
のである。3. Key Switch As shown in FIG. 3, a base 30 made of an elastic body is attached to the lower surface of each key K of the keyboard 1. The base 30 is formed in a stepped shape having a step. The switch S1 is provided on the lower step surface, and the switch S2 is provided on the upper step surface. Then, on a substrate 33 provided below the key K, contacts 31, 32 facing the switches S1, S2 are provided at the same height. FIG. 3 shows the dimensions in the up-down direction larger than the actual size.
【0023】キーKが打鍵されると、スイッチS1が先
に接点31に当接して閉じられ、スイッチS1はオンに
なる。次に、スイッチS2が時間差を有して接点32に
当接して閉じられ、スイッチS2がオンになる。そし
て、図4に示すように、スイッチS1がオンになった時
間T1からスイッチS2がオンになった時間T2までの
時間差Tvに基づいて、打鍵速度または打鍵強度を表す
タッチデータが作成される。キーオンイベントはスイッ
チS2がオンになった時間T2であり、キーオフイベン
トはスイッチS1がオフになった時間T3である。When the key K is depressed, the switch S1 first comes into contact with the contact 31 and is closed, and the switch S1 is turned on. Next, the switch S2 is closed with a time difference in contact with the contact 32, and the switch S2 is turned on. Then, as shown in FIG. 4, based on a time difference Tv from a time T1 when the switch S1 is turned on to a time T2 when the switch S2 is turned on, touch data representing a keying speed or a keying strength is created. The key-on event is a time T2 when the switch S2 is turned on, and the key-off event is a time T3 when the switch S1 is turned off.
【0024】4.レジスタ群 図8はRAM8に設けられたレジスタ群の一部を示す。
RAM8に設けられたレジスタには、タッチカウントデ
ータTC、キー指定ポインタデータx、全キー数データ
KN、タッチデータTnew 、緩和率データR、タッチタ
イマデータTt、スキャンタイマデータSt、テンポデ
ータTmp、音量データVol等が記憶される。4. Register Group FIG. 8 shows a part of a register group provided in the RAM 8.
Registers provided in the RAM 8 include touch count data TC, key designation pointer data x, total key number data KN, touch data Tnew, relaxation rate data R, touch timer data Tt, scan timer data St, tempo data Tmp, volume. Data Vol and the like are stored.
【0025】タッチカウントデータTCは、後述するタ
ッチカウンタ処理で、上記カウント周期に同期してカウ
ントアップされる。このタッチカウントデータTCは、
上記スイッチS1とS2とが閉じられる時間差を求める
ための時間データとして使用される。The touch count data TC is counted up in synchronization with the above-described counting cycle in a touch counter process described later. This touch count data TC is
It is used as time data for obtaining a time difference when the switches S1 and S2 are closed.
【0026】キー指定ポインタデータxは、後述するR
AM8内の各キー毎のデータの中から1つのキーのデー
タを指定するために使用される。このキー指定ポインタ
データxは「0」〜「KN」までの値を有し、x=
「0」が最低音高のキーに対応しており、x=「KN」
が最高音高のキーに対応している。また、全キー数デー
タKNはキーボード1の鍵数データである。The key designation pointer data x is an R
It is used to designate data of one key from data for each key in AM8. This key designation pointer data x has a value from “0” to “KN”, and x =
“0” corresponds to the lowest pitch key, and x = “KN”
Corresponds to the highest pitch key. The total key number data KN is the key number data of the keyboard 1.
【0027】タッチデータTnew は、キーオンイベント
があったキーについて、打鍵速度または打鍵強度等のタ
ッチレスポンスを表すデータであり、本実施例では、上
記スイッチS1とスイッチS2とが閉じられた時間の差
である。また、緩和率データRは、旧タッチデータTol
d に対して新タッチデータTnew が変化した量を一定率
に減少させるためのデータであり、例えばR=50%に
設定される。この緩和率データRは、後述するイニシャ
ライズ処理(ステップ102)でROM9からRAM8
に書き写される。The touch data Tnew is data representing a touch response such as a keying speed or a keying intensity for a key having a key-on event. In the present embodiment, the difference between the times when the switches S1 and S2 are closed is described. It is. The relaxation rate data R is the old touch data Tol
This is data for reducing the amount of change of the new touch data Tnew with respect to d at a constant rate, and is set, for example, to R = 50%. This relaxation rate data R is transferred from the ROM 9 to the RAM 8 in an initialization process (step 102) described later.
Is copied to
【0028】タッチタイマデータTtは、上記タッチタ
イマ5から上記インタラプト信号INT1が発生される
周期(カウント周期)を決めるデータである。このタッ
チタイマデータTtには、上記モード切り換えスイッチ
26によってカウント周期設定モードが選択されたとき
に、上記アップキー24とダウンキー25の操作によっ
て設定されたカウント周期が記憶される。The touch timer data Tt is data for determining a cycle (count cycle) in which the interrupt signal INT1 is generated from the touch timer 5. In the touch timer data Tt, the count cycle set by operating the up key 24 and the down key 25 when the count cycle setting mode is selected by the mode changeover switch 26 is stored.
【0029】スキャンタイマデータStは、上記スキャ
ンタイマ6から上記インタラプト信号INT2が発生さ
れる周期(スキャン周期)を決めるデータである。この
スキャンタイマデータStには、上記モード切り換えス
イッチ26によってスキャン周期設定モードが選択され
たときに、上記アップキー24とダウンキー25の操作
によって設定されたスキャン周期が記憶される。The scan timer data St is data that determines a cycle (scan cycle) in which the interrupt signal INT2 is generated from the scan timer 6. The scan timer data St stores a scan cycle set by operating the up key 24 and the down key 25 when the scan cycle setting mode is selected by the mode switch 26.
【0030】さらに、上記タッチタイマデータTt及び
スキャンタイマデータStは、後述する音量データVol
またはテンポデータTmpに応じて変更される。例えば、
上記パネルスキャン回路4からスキャンデータがCPU
7に入力されると、RAM8に記憶されているタッチタ
イマデータTt及びスキャンタイマデータStが読み出
され、スキャンデータの中の音量データVolとテンポデ
ータTmPを用いた所定の演算合成が行われる。この演算
合成は、例えば音量データVolおよびテンポデータTmp
に応じて変化する変数を決定し、この変数をタッチタイ
マデータTtおよびスキャンタイマデータStに加減乗
除したり、または関数を用いた計算を行っても良いし、
データテーブルのルックアップ処理でも良い。Further, the touch timer data Tt and the scan timer data St include volume data Vol described later.
Alternatively, it is changed according to the tempo data Tmp. For example,
The scan data from the panel scan circuit 4 is sent to the CPU
7, the touch timer data Tt and the scan timer data St stored in the RAM 8 are read out, and predetermined arithmetic synthesis using the volume data Vol and the tempo data TmP in the scan data is performed. This arithmetic synthesis is performed by, for example, volume data Vol and tempo data Tmp.
May be determined, and the variable may be added, subtracted, multiplied, or divided by the touch timer data Tt and the scan timer data St, or a calculation using a function may be performed.
Look-up processing of a data table may be used.
【0031】音量データVolは、上記音量設定用のつま
み22によって設定された音量を表すデータであり、上
記パネルスキャン回路4によってつまみ22の操作量が
検出され、この操作量データが音量データVolとして記
憶される。また、テンポデータTmpは、上記テンポ設定
用のつまみ23によって設定されたテンポを表すデータ
であり、上記パネルスキャン回路4によってつまみ23
の操作量が検出され、この操作量データがテンポデータ
Tmpとして記憶される。The volume data Vol is data representing the volume set by the volume setting knob 22. The operation amount of the knob 22 is detected by the panel scan circuit 4, and the operation amount data is used as the volume data Vol. It is memorized. The tempo data Tmp is data representing the tempo set by the tempo setting knob 23, and is output by the panel scan circuit 4.
Is detected, and the operation amount data is stored as tempo data Tmp.
【0032】また、伴奏、リズム等の演奏パートの一部
が自動演奏される自動演奏モードにおいては、ROM9
から読み出された自動演奏データの中の音量データVol
とテンポデータTmpが上記RAM8のレジスタに書き写
される。そして、この自動演奏データ中の音量データV
ol及びテンポデータTmpを用いて、上記タッチタイマデ
ータTt及びスキャンタイマデータStの変更が行われ
る。In an automatic performance mode in which a part of a performance part such as accompaniment and rhythm is automatically performed, the ROM 9
Volume data Vol in the automatic performance data read from
And the tempo data Tmp are copied to the register of the RAM 8. Then, the volume data V in the automatic performance data
The touch timer data Tt and the scan timer data St are changed using the ol and the tempo data Tmp.
【0033】さらに、MIDI回路10から入力された
外部データを用いて演奏が行われる場合には、この外部
データ内の音量データVol及びテンポデータTmpが上記
RAM8のレジスタに書き込まれ、これらのデータVo
l、Tmpに応じて上記タッチタイマデータTt及びスキ
ャンタイマデータStが変更される。Further, when a performance is performed using the external data input from the MIDI circuit 10, the volume data Vol and the tempo data Tmp in the external data are written into the register of the RAM 8, and these data Vo are written.
The touch timer data Tt and the scan timer data St are changed according to l and Tmp.
【0034】なお、タッチタイマデータTtおよびスキ
ャンタイマデータStが、音楽的ファクタ、すなわち、
演奏速度的ファクタ(テンポ、リタルダンド等)、演奏
強度的ファクタ(音量、フォルテ、ピアノ等)、音高的
ファクタ、音色的ファクタ、タッチ的ファクタ、音長的
ファクタ、ステレオ的ファクタまたは設定エフェクト量
の全部または一部に応じて変更されるようにしても良
い。It should be noted that the touch timer data Tt and the scan timer data St are musical factors, that is,
Performance speed factor (tempo, ritardando, etc.), performance intensity factor (volume, forte, piano, etc.), pitch factor, timbre factor, touch factor, duration factor, stereo factor or set effect amount You may make it change according to all or some.
【0035】この場合、上述の音量データVolおよびテ
ンポデータTmpと同様に、これらファクタデータがタッ
チタイマデータTtまたはスキャンタイマデータStに
演算合成される。これらファクタデータは、再生される
自動演奏データの中に記憶されたり、上記MIDI回路
10を介して他の装置から送られたり、上記キーボード
1またはパネルスイッチ群3より入力される。In this case, like the above-described volume data Vol and tempo data Tmp, these factor data are arithmetically synthesized with the touch timer data Tt or the scan timer data St. These factor data are stored in the automatic performance data to be reproduced, sent from another device via the MIDI circuit 10, or input from the keyboard 1 or panel switch group 3.
【0036】5.メモリマップ 図6に示すように、RAM8には各キー毎のスイッチS
1のオン/オフデータを記憶するエリアA1、各キー毎
のスイッチS2のオン/オフデータを記憶するエリアA
2、スイッチS1タイミングデータを記憶するエリアA
3、各キーのオン/オフデータを記憶するエリアA4及
び各キー毎のタッチデータTold を記憶するエリアA5
が設けられている。5. Memory Map As shown in FIG. 6, the RAM 8 has a switch S for each key.
Area A1 for storing ON / OFF data of the first key, and area A for storing ON / OFF data of the switch S2 for each key.
2. Area A for storing switch S1 timing data
3. Area A4 for storing on / off data of each key and area A5 for storing touch data Told for each key
Is provided.
【0037】上記キーボード1の各キーには、最低音高
のキーから順番にキーナンバが与えられており、上記各
エリアにはこのキーナンバ毎にデータが記憶される。キ
ーナンバに対応するアドレスの指定は上記キー指定ポイ
ンタxによって行われ、x=0が最低音高のキーナンバ
に対応し、x=KNが最高音高のキーナンバに対応して
いる。Each key of the keyboard 1 is given a key number in order from the lowest pitch key, and data is stored for each key number in each area. The address corresponding to the key number is designated by the key designation pointer x, where x = 0 corresponds to the key number having the lowest pitch and x = KN corresponds to the key number having the highest pitch.
【0038】スイッチS1のオン/オフデータが記憶さ
れるエリア、スイッチS2のオン/オフデータが記憶さ
れるエリアは2段に区分され、それぞれ新旧のオン/オ
フデータが記憶される。また、スイッチS1、S2及び
キーのオン/オフデータは、オンであれば「1」、オフ
であれば「0」である。An area for storing the ON / OFF data of the switch S1 and an area for storing the ON / OFF data of the switch S2 are divided into two stages, and new and old ON / OFF data are stored respectively. The on / off data of the switches S1 and S2 and the key is "1" when on, and "0" when off.
【0039】エリアA1には、後述するタッチレスポン
ス処理(ステップ108)で、新たに読み込まれた各キ
ーのスイッチS1のオン/オフデータが新データS1ne
w として記憶され、前回の処理で記憶された各キーのス
イッチS1のオン/オフデータが旧データS1old とし
て記憶される。In the area A1, the on / off data of the switch S1 of each key newly read is stored in the new data S1ne in a touch response process (step 108) described later.
w, and the ON / OFF data of the switch S1 of each key stored in the previous processing is stored as old data S1old.
【0040】エリアA2には、タッチレスポンス処理
(ステップ108)で、新たに読み込まれた各キーのス
イッチS2のオン/オフデータが新データS2new とし
て記憶され、前回の処理で記憶された各キーのスイッチ
S2のオン/オフデータが旧データS2old として記憶
される。In the area A2, in the touch response process (step 108), the on / off data of the switch S2 of each key newly read is stored as new data S2new, and the data of each key stored in the previous process is stored. The ON / OFF data of the switch S2 is stored as old data S2old.
【0041】エリアA3には、各キー毎に、打鍵が開始
されてスイッチS1が閉じられたときのタイマカウント
データTCが、スイッチS1が閉じられたタイミングを
示すデータとして記憶される。エリアA4には、各キー
毎に、キーオンイベントがあった場合には「1」に書き
換えられ、キーオン状態で「1」が記憶され、キーオフ
イベントがあった場合には「0」に書き換えられ、キー
オフ状態で「0」が記憶される。In the area A3, for each key, timer count data TC at the time when the key is started and the switch S1 is closed is stored as data indicating the timing at which the switch S1 is closed. In the area A4, for each key, if there is a key-on event, it is rewritten to "1", in the key-on state, "1" is stored, and if there is a key-off event, it is rewritten to "0". “0” is stored in the key-off state.
【0042】エリアA5には、後述するタッチデータ修
正処理(ステップ174)で修正された後の、スイッチ
S1が閉じられてからスイッチS2が閉じられるまでの
時間差に相当するタッチデータTold が、各キー毎に記
憶される。このタッチデータTold は、音楽的ファクタ
データの中のタッチ的ファクタデータの一部としてCP
U7からトーンジェネレータ11へ送られる。In the area A5, touch data Told corresponding to a time difference from the time when the switch S1 is closed to the time when the switch S2 is closed after being corrected in a touch data correcting process (step 174) described later is stored in each area. It is stored every time. The touch data Told is used as a part of the touch factor data in the musical factor data.
It is sent from U7 to the tone generator 11.
【0043】6.メインルーチン 図7はメインルーチンのフローチャートである。この処
理は電源投入によりスタートし、電源オフにより終了す
る。電源投入時には、上記RAM8内の各種レジスタの
クリア処理等のイニシャライズ処理が行われる(ステッ
プ102)。このイニシャライズ処理(ステップ10
2)では、上記タッチタイマ5へタッチタイマデータT
tの初期値データが送られ、上記スキャンタイマ6へス
キャンタイマデータStの初期値データが送られる。6. Main Routine FIG. 7 is a flowchart of the main routine. This process starts when the power is turned on and ends when the power is turned off. When the power is turned on, an initialization process such as a process of clearing various registers in the RAM 8 is performed (step 102). This initialization processing (step 10
In 2), the touch timer data T
The initial value data of t is sent, and the initial value data of the scan timer data St is sent to the scan timer 6.
【0044】その後、パネルスイッチ処理(ステップ1
04)、キーオン/オフ処理(ステップ106)、タッ
チレスポンス処理(ステップ108)、MIDI処理
(ステップ110)、音色変更処理(ステップ11
2)、自動演奏処理(ステップ114)、その他の処理
(ステップ116)が繰り返し実行される。Thereafter, panel switch processing (step 1)
04), key on / off processing (step 106), touch response processing (step 108), MIDI processing (step 110), tone color changing processing (step 11)
2), automatic performance processing (step 114), and other processing (step 116) are repeatedly executed.
【0045】パネルスイッチ処理(ステップ104)で
は、パネルスキャン回路4からCPU7へ入力されるス
キャンデータに基づいて、各種のパネルスイッチ群3に
関する処理が行われる。In the panel switch process (step 104), various processes related to the panel switch group 3 are performed based on the scan data input from the panel scan circuit 4 to the CPU 7.
【0046】キーオン/オフ処理(ステップ106)で
は、キーボードスキャン回路2からCPU7に入力され
たスキャンデータに基づいてキーオンイベント及びキー
オフイベントの判別が行われ、キーオンイベントがあっ
たキーについては音楽的ファクタデータを含む楽音デー
タが形成され、キーオフイベントがあったキーについて
は消音を指令するデータが形成される。また、このキー
オン/オフ処理では、下記のタッチレスポンス処理(ス
テップ108)が行われる。In the key-on / off process (step 106), a key-on event and a key-off event are determined based on the scan data input from the keyboard scan circuit 2 to the CPU 7, and the key having the key-on event is determined by a musical factor. Tone data including data is formed, and data for instructing mute is formed for a key having a key-off event. In this key on / off processing, the following touch response processing (step 108) is performed.
【0047】タッチレスポンス処理(ステップ108)
では、上記スイッチS1とスイッチS2のオン/オフデ
ータに基づいて、各キーの打鍵開始、キーオンイベン
ト、離鍵開始、キーオフイベントが検出され、さらに、
タッチレスポンスを表すデータとして、スイッチS1が
閉じられてからスイッチS2とが閉じられるまでの時間
差データが求められる。Touch response processing (step 108)
Then, based on the ON / OFF data of the switch S1 and the switch S2, the keying start, key-on event, key-release start, and key-off event of each key are detected.
As data representing the touch response, time difference data from when the switch S1 is closed to when the switch S2 is closed is obtained.
【0048】MIDI処理(ステップ110)では、上
記キーボード1、パネルスイッチ群3の操作に応じた楽
音情報を、MIDI回路10を介して出力するミディア
ウト処理と、MIDI回路10を通じて入力された楽音
データを処理するミディイン処理とが行われる。In the MIDI process (step 110), a MIDI output process for outputting musical tone information corresponding to the operation of the keyboard 1 and the panel switch group 3 via the MIDI circuit 10, and a musical tone data input via the MIDI circuit 10. Is performed.
【0049】音色変更処理(ステップ112)では、パ
ネルスキャン回路4からCPU7へ入力されるスキャン
データの中からパネルスイッチ群3に設けられた音色選
択スイッチ(図示せず)の操作データが読み出されて、
音色選択スイッチによって選択された音色に対応する音
色データがROM9から読み出されてRAM8に書き写
される。この音色データは、ピアノ、オルガン、バイオ
リン、マンドリン、フルート、ドラム…等の楽器固有の
波形データ、楽器以外の人工的音色の波形データ、エン
ベロープデータ、周波数特性データ等の音色を形成する
ために必要な楽音データである。In the tone change processing (step 112), operation data of a tone select switch (not shown) provided in the panel switch group 3 is read from the scan data input from the panel scan circuit 4 to the CPU 7. hand,
The timbre data corresponding to the timbre selected by the timbre selection switch is read from the ROM 9 and copied to the RAM 8. This timbre data is necessary to form timbres such as waveform data unique to musical instruments such as piano, organ, violin, mandolin, flute, drum, etc., waveform data of artificial timbres other than musical instruments, envelope data, frequency characteristic data, etc. Music data.
【0050】そして、この音色データがトーンジェネレ
ータ11へ送られ、トーンジェネレータ11内のバッフ
ァ(アサインメントメモリ)に記憶される。このバッフ
ァ内に他の音色の音色データが記憶されていれば、新た
に送られた音色データに書き換えられる。これにより、
トーンジェネレータ11によって、上記音色選択スイッ
チによって選択された音色の音色データが形成され、こ
の音色の楽音がサウンドシステム12から発音される。The tone data is sent to the tone generator 11 and stored in a buffer (assignment memory) in the tone generator 11. If tone data of another tone is stored in this buffer, the tone data is rewritten with newly sent tone data. This allows
The tone generator 11 forms timbre data of the timbre selected by the timbre selection switch, and the tone system 12 produces a tone of the timbre.
【0051】トーンジェネレータ11では、複数チャン
ネル分の楽音波形データが時分割処理によってポリフォ
ニックに生成され、サウンドシステム12へ送られる。
サウンドシステム12では、トーンジェネレータ11か
ら入力された楽音波形データがアナログの楽音信号に変
換されて発音される。In the tone generator 11, musical tone waveform data for a plurality of channels is polyphonically generated by time-division processing and sent to the sound system 12.
In the sound system 12, the musical tone waveform data input from the tone generator 11 is converted into an analog musical tone signal and emitted.
【0052】自動演奏処理(ステップ114)は、パネ
ルスイッチ群3に設けられた演奏モード切り換えスイッ
チ(図示せず)の操作によって自動演奏モードが選択さ
れたときに行われる。ROM9には、リズムデータ、コ
ードデータ、メロディデータ等の自動演奏データがシー
ケンスデータとして記憶されている。そして、パネルス
イッチ群3に設けられた自動演奏パート選択スイッチ
(図示せず)によって選択された演奏パートのシーケン
スデータがROM9からRAM8へ書き写され、さらに
トーンジェネレータ11へ送られる。The automatic performance process (step 114) is performed when an automatic performance mode is selected by operating a performance mode changeover switch (not shown) provided in the panel switch group 3. The ROM 9 stores automatic performance data such as rhythm data, chord data, and melody data as sequence data. Then, the sequence data of the performance part selected by the automatic performance part selection switch (not shown) provided in the panel switch group 3 is copied from the ROM 9 to the RAM 8 and further sent to the tone generator 11.
【0053】トーンジェネレータ11では、上記自動演
奏データを用いて楽音波形データが形成される。この楽
音波形データがサウンドシステム12へ送られることに
より、選択された演奏パートの楽音の自動演奏が行われ
る。自動演奏される演奏パート数は、1パート、複数パ
ート、全パートの何れでも良い。In the tone generator 11, tone waveform data is formed using the automatic performance data. By sending the musical tone waveform data to the sound system 12, the musical performance of the selected performance part is automatically performed. The number of performance parts to be automatically played may be one part, a plurality of parts, or all parts.
【0054】7.キースキャン処理 図8はキースキャン処理のフローチャートを示す。この
処理はスキャンタイマ6からCPU7へインタラプト信
号INT2が入力される毎に、割り込み処理によって実
行される。すなわち、このキースキャン処理は上記スキ
ャン周期で繰り返し実行される。まず、キーボードスキ
ャン回路2内のバッファに一時的に記憶されているスキ
ャンデータの中の各キーのスイッチS1のオン/オフデ
ータS1new が読み込まれ、このデータS1new は、C
PU2内に設けられているリングバッファに一時的に記
憶される(ステップ122)。7. Key Scan Processing FIG. 8 shows a flowchart of the key scan processing. This process is executed by an interrupt process every time the interrupt signal INT2 is input from the scan timer 6 to the CPU 7. That is, this key scan process is repeatedly executed in the scan cycle. First, on / off data S1new of the switch S1 of each key in the scan data temporarily stored in the buffer in the keyboard scan circuit 2 is read.
It is temporarily stored in a ring buffer provided in PU2 (step 122).
【0055】次に、上記スキャンデータの中の各キーの
スイッチS2のオン/オフデータS2new が読み込ま
れ、このデータS2new がリングバッファに一時的に記
憶される(ステップ124)。さらに、RAM8に記憶
されているタッチカウントデータTCが読み込まれ、こ
のタッチカウントデータがリングバッファに一時的に記
憶される(ステップ126)。Next, on / off data S2new of the switch S2 of each key in the scan data is read, and this data S2new is temporarily stored in the ring buffer (step 124). Further, the touch count data TC stored in the RAM 8 is read, and the touch count data is temporarily stored in the ring buffer (step 126).
【0056】8.タッチカウンタ処理 図9はタッチカウンタ処理のフローチャートを示す。こ
の処理はタッチタイマ5からCPU7へインタラプト信
号INT1が入力される毎に、割り込み処理によって実
行される。すなわち、このタッチカウンタ処理は上記カ
ウント周期で繰り返し実行される。この処理では、RA
M8に記憶されているタッチカウンタTCがインクリメ
ントされる(ステップ128)。従って、カウント周期
でタッチカウンタTCがカウントアップされる。8. Touch Counter Processing FIG. 9 shows a flowchart of the touch counter processing. This process is executed by an interrupt process every time the interrupt signal INT1 is input from the touch timer 5 to the CPU 7. That is, this touch counter processing is repeatedly executed in the above-described count cycle. In this process, RA
The touch counter TC stored in M8 is incremented (step 128). Therefore, the touch counter TC is counted up in the count cycle.
【0057】本実施例では、キーボード1の各キーに設
けられたスイッチS1、S2のオン/オフを走査するス
キャン周期と、スイッチS1とS2が閉じられる時間差
をカウントするカウント周期とを異なる周期とすること
ができ、スイッチS1とS2のオン/オフを検出すると
きの分解能と、スイッチS1とS2が閉じられる時間差
を検出するときの分解能とを別々に設定することができ
る。In the present embodiment, the scan cycle for scanning on / off of the switches S1 and S2 provided on each key of the keyboard 1 and the count cycle for counting the time difference when the switches S1 and S2 are closed are different from each other. The resolution for detecting the on / off of the switches S1 and S2 and the resolution for detecting the time difference when the switches S1 and S2 are closed can be set separately.
【0058】これにより、例えば、スイッチS1とS2
が閉じられる時間差を検出するときの分解能を高くした
り低くしたりするために、上記カウント周期のみを短く
または長くすることができるし、逆にスキャン周期のみ
を短くまたは長くすることも可能である。Thus, for example, the switches S1 and S2
In order to increase or decrease the resolution when detecting the time difference during which is closed, it is possible to shorten or lengthen only the above-described counting period, and conversely, it is also possible to shorten or lengthen only the scanning period. .
【0059】9.タッチレスポンス処理 図10はキーオン/オフ処理(ステップ106)の中で
行われるタッチレスポンス処理(ステップ108)のフ
ローチャートである。まず、上記リングバッファに記憶
されているスイッチS1のオン/オフデータS1new が
読み出され、このデータS1new がRAM8の所定エリ
アに記憶される(ステップ132)。同様に、スイッチ
S2のオン/オフデータS2new が上記リングバッファ
から読み出されてRAM8の所定エリアに記憶される
(ステップ134)。9. Touch Response Processing FIG. 10 is a flowchart of the touch response processing (Step 108) performed in the key on / off processing (Step 106). First, ON / OFF data S1new of the switch S1 stored in the ring buffer is read, and the data S1new is stored in a predetermined area of the RAM 8 (step 132). Similarly, ON / OFF data S2new of the switch S2 is read from the ring buffer and stored in a predetermined area of the RAM 8 (step 134).
【0060】そして、ROM9からキー数データが読み
出され、RAM8内の所定のレジスタに全キー数データ
KNとして記憶される(ステップ136)。また、キー
指定ポインタデータxが「0」にリセットされる(ステ
ップ138)。これにより、以下の処理では、まず最低
音高のキーについて処理が行われる。Then, the key number data is read from the ROM 9 and stored as a total key number data KN in a predetermined register in the RAM 8 (step 136). Further, the key designation pointer data x is reset to "0" (step 138). As a result, in the following processing, processing is first performed on the key with the lowest pitch.
【0061】次に、上記新たに読み込まれたスイッチS
1のオン/オフデータS1new と前回の処理において読
み込まれたスイッチS1のオン/オフデータS1old と
が等しいか否かが判別される(ステップ140)。この
ステップ140の判別がNOであれば、両データS1ne
w とS1old とが異なっているので、打鍵の開始または
キーオフイベントが行われたことになる。従って、次に
打鍵の開始またはキーオフイベントが行われたか否かが
判別される(ステップ142)。このステップ142で
は、新データS1new が旧データS1old よりも大きい
か否かが判別される。すなわち、旧データS1old が
「0」であり新データS1new が「1」であるときに、
打鍵の開始が行われたと判別される。Next, the newly read switch S
It is determined whether the on / off data S1new of the switch S1 read in the previous process is equal to the on / off data S1old of the switch S1 (step 140). If the determination in step 140 is NO, both data S1ne
Since w and S1old are different, it means that the start of keying or the key-off event has occurred. Therefore, it is determined whether or not the next keying start or key-off event has been performed (step 142). In step 142, it is determined whether the new data S1new is larger than the old data S1old. That is, when the old data S1old is “0” and the new data S1new is “1”,
It is determined that keying has been started.
【0062】次に、上記リングバッファに記憶されてい
るタッチカウントデータTCが読み出されて、S1タイ
ミングデータとしてRAM8の所定エリアに記憶される
(ステップ144)。さらに、上記ステップ140、1
42において使用されたデータS1new は、旧データS
1 old としてRAM8の所定エリアへ書き写される
(ステップ146)。そして、キー指定ポインタデータ
xがインクリメントされる(ステップ154)。Next, the touch count data TC stored in the ring buffer is read out and stored in a predetermined area of the RAM 8 as S1 timing data (step 144). Further, steps 140, 1
42, the old data S1new
It is copied to a predetermined area of the RAM 8 as 1 old (step 146). Then, the key designation pointer data x is incremented (step 154).
【0063】他方、上記ステップ140の判別がYES
であれば新旧データS1new とS1old とが等しいの
で、スイッチS1はオンまたはオフのままである。この
場合には、打鍵開始またはキーオフイベントに伴う処理
は行われず、ステップ142、144、146の処理は
ジャンプされる。On the other hand, the determination in step 140 is YES.
If so, the new and old data S1new and S1old are equal, so the switch S1 remains on or off. In this case, the processing associated with the keying start or key-off event is not performed, and the processing of steps 142, 144, and 146 is skipped.
【0064】また、上記ステップ142の判別がNOで
あれば、上記新データS1new が「0」であり旧データ
S1old が「1」である。これは、スイッチS1がオン
からオフに変化してキーオフイベントがあったことを意
味する。この場合には、RAM8内のキー指定ポインタ
データxに応じたキーナンバのエリアに記憶されている
キーマップデータが「1」であるか否かが判別される
(ステップ148)。キーマップデータが「1」であれ
ば、このキーマップデータが「0」にクリアされる(ス
テップ150)。If the determination in step 142 is NO, the new data S1new is "0" and the old data S1old is "1". This means that the switch S1 has changed from on to off and a key-off event has occurred. In this case, it is determined whether or not the key map data stored in the area of the key number corresponding to the key designation pointer data x in the RAM 8 is "1" (step 148). If the key map data is "1", the key map data is cleared to "0" (step 150).
【0065】そして、次にキーオフ処理が行われる(ス
テップ152)。このキーオフ処理では、キー指定ポイ
ンタデータxに対応するキーナンバの楽音に対し、キー
オフを指令するデータがトーンジェネレータ11へ送ら
れる。これにより、トーンジェネレータ11によって、
キー指定ポインタデータxに対応するキーナンバの楽音
を消音させる処理が行われる。Then, a key-off process is performed (step 152). In this key-off process, data for instructing key-off is sent to the tone generator 11 for the tone of the key number corresponding to the key designation pointer data x. Thereby, by the tone generator 11,
A process of silencing the tone of the key number corresponding to the key designation pointer data x is performed.
【0066】ステップ152の後またはステップ148
の判別がNOであったときには、ステップ146で、上
記新データS1new が、旧データS1old としてRAM
8の所定エリアへ書き写される。そして、キー指定ポイ
ンタデータxがインクリメントされる(ステップ15
4)。After step 152 or step 148
Is NO, in step 146, the new data S1new is stored in the RAM as old data S1old.
8 is copied to a predetermined area. Then, the key designation pointer data x is incremented (step 15).
4).
【0067】他方、上記ステップ140の判別がYES
であれば新旧データS1new とS1old とが等しいの
で、スイッチS1はオンまたはオフのままである。この
場合には、打鍵開始またはキーオフイベントに伴う処理
は行われず、ステップ142、144、146の処理は
ジャンプされる。On the other hand, the determination in step 140 is YES.
If so, the new and old data S1new and S1old are equal, so the switch S1 remains on or off. In this case, the processing associated with the keying start or key-off event is not performed, and the processing of steps 142, 144, and 146 is skipped.
【0068】また、上記ステップ142の判別がNOで
あれば、上記新データS1new が「0」であり旧データ
S1old が「1」である。これは、スイッチS1がオン
からオフに変化してキーオフイベントがあったことを意
味する。この場合には、RAM8内のキー指定ポインタ
データxに応じたキーナンバのエリアに記憶されている
キーマップデータが「1」であるか否かが判別される
(ステップ148)。キーマップデータが「1」であれ
ば、このキーマップデータが「0」にクリアされる(ス
テップ150)。If the determination in step 142 is NO, the new data S1new is "0" and the old data S1old is "1". This means that the switch S1 has changed from on to off and a key-off event has occurred. In this case, it is determined whether or not the key map data stored in the area of the key number corresponding to the key designation pointer data x in the RAM 8 is "1" (step 148). If the key map data is "1", the key map data is cleared to "0" (step 150).
【0069】そして、次にキーオフ処理が行われる(ス
テップ152)。このキーオフ処理では、キー指定ポイ
ンタデータxに対応するキーナンバの楽音に対し、キー
オフを指令するデータがトーンジェネレータ11へ送ら
れる。これにより、トーンジェネレータ11によって、
キー指定ポインタデータxに対応するキーナンバの楽音
を消音させる処理が行われる。Then, a key-off process is performed (step 152). In this key-off process, data for instructing key-off is sent to the tone generator 11 for the tone of the key number corresponding to the key designation pointer data x. Thereby, by the tone generator 11,
A process of silencing the tone of the key number corresponding to the key designation pointer data x is performed.
【0070】ステップ152の後またはステップ148
の判別がNOであったときには、ステップ146で、上
記新データS1new が、旧データS1old としてRAM
8の所定エリアへ書き移される。そして、キー指定ポイ
ンタデータxがインクリメントされる(ステップ15
4)。After step 152 or step 148
Is NO, in step 146, the new data S1new is stored in the RAM as old data S1old.
8 is transferred to a predetermined area. Then, the key designation pointer data x is incremented (step 15).
4).
【0071】以上の処理(ステップ140〜152)が
全てのキーについて行われる(ステップ154、15
6)。これにより、打鍵開始があったキーについては、
S1タイミングデータとしてタッチカウントデータTC
が記憶され(ステップ144)、キーオフイベントがあ
ったキーについてはキーオフ処理(ステップ152)が
行われる。そして、次にスイッチS2に関する処理(ス
テップ158)が行われる。The above processing (steps 140 to 152) is performed for all keys (steps 154 and 15).
6). As a result, for keys that have started keying,
Touch count data TC as S1 timing data
Is stored (step 144), and a key-off process (step 152) is performed for the key having the key-off event. Then, the process related to the switch S2 (step 158) is performed.
【0072】10.スイッチS2に関する処理 図11はスイッチS2に関する処理(ステップ158)
のフローチャートを示す。まず、上記キー指定ポインタ
データxが再び「0」にリセットされる(ステップ16
2)。これにより、以下の処理では、まず最低音高のキ
ーについてスイッチS2に関する処理が行われる。10. FIG. 11 shows a process related to the switch S2 (step 158).
The flowchart of FIG. First, the key designation pointer data x is reset to "0" again (step 16).
2). As a result, in the following processing, first, processing relating to the switch S2 is performed for the lowest pitch key.
【0073】次に、上記新たに読み込まれたスイッチS
2のオン/オフデータS2new と前回の処理において読
み込まれたスイッチS2のオン/オフデータS2old と
が等しいか否かが判別される(ステップ164)。この
ステップ164の判別がNOであれば、両データS2ne
w とS2old とが異なっているので、キーオンイベント
または離鍵の開始が行われたことになる。従って、次に
キーオンイベントまたは離鍵の開始が行われたか否かが
判別される(ステップ166)。このステップ166で
は、新データS2new が旧データS2old よりも大きい
か否かが判別される。すなわち、旧データS2old が
「0」であり新データS2new が「1」であるときに、
キーオンイベントがあったと判別される。Next, the newly read switch S
It is determined whether the on / off data S2new of the switch S2 read in the previous process is equal to the on / off data S2old of the switch S2 in the previous process (step 164). If the determination in this step 164 is NO, both data S2ne
Since w and S2old are different, it means that a key-on event or key release has been started. Therefore, it is determined whether a key-on event or a key release has been started next (step 166). In this step 166, it is determined whether the new data S2new is larger than the old data S2old. That is, when the old data S2old is “0” and the new data S2new is “1”,
It is determined that a key-on event has occurred.
【0074】この場合には、次に、上記リングバッファ
に記憶されているタッチカウントデータTCが読み出さ
れて、RAM8に記憶されているS1タイミングデータ
から減算され、この演算結果がタッチデータTnew とし
てRAM8に記憶される(ステップ168)。すなわ
ち、ステップ168では次の演算が行われる。In this case, next, the touch count data TC stored in the ring buffer is read and subtracted from the S1 timing data stored in the RAM 8, and the result of this operation is used as the touch data Tnew. The data is stored in the RAM 8 (step 168). That is, in step 168, the following calculation is performed.
【0075】 Tnew =TC−(S1タイミングデータ) …(1) このとき、RAM8から読み出されるS1タイミングデ
ータは、打鍵開始が行われてスイッチS1が閉じられた
ときのタッチカウントデータTCであり、上記ステップ
144で記憶されたデータである。従って、タッチデー
タTnew は、スイッチS1が閉じられてからスイッチS
2が閉じられるまでの時間差を表すデータである。Tnew = TC− (S1 timing data) (1) At this time, the S1 timing data read from the RAM 8 is the touch count data TC at the time when the key input is started and the switch S1 is closed. This is the data stored in step 144. Therefore, the touch data Tnew is changed from the switch S1 after the switch S1 is closed.
2 is data representing a time difference until the shutter is closed.
【0076】次に、得られたタッチデータTnew が負の
値であるか否かが判別される(ステップ170)。ここ
で、タッチデータTnew が負の値となるのはタッチカウ
ンタがオーバフローして「S1タイミングデータ」>
「TC」となる場合であり、負の値になったときには正
の値に変換される(ステップ172)。タッチデータT
new が正の値であればステップ172はジャンプされ
る。そして、得られた新タッチデータTnew を前回の処
理で得られた旧タッチデータTold に応じて修正する処
理(ステップ174)が行われる。このタッチデータ修
正処理(ステップ174)によって修正された後のタッ
チデータは、旧タッチデータTold としてRAM8に記
憶される。Next, it is determined whether or not the obtained touch data Tnew is a negative value (step 170). Here, the touch data Tnew becomes a negative value because the touch counter overflows and “S1 timing data”>
This is the case where "TC" is reached, and when it becomes a negative value, it is converted to a positive value (step 172). Touch data T
If new is a positive value, step 172 is jumped. Then, a process of correcting the obtained new touch data Tnew according to the old touch data Told obtained in the previous process (step 174) is performed. The touch data corrected by the touch data correction process (step 174) is stored in the RAM 8 as old touch data Told.
【0077】次に、RAM8内のキー指定ポインタデー
タxに応じたキーナンバのエリアに記憶されているキー
マップデータが「1」であるか否かが判別される(ステ
ップ176)。キーオンイベントがあったときには、キ
ーマップデータが「0」であるから、ステップ176の
判別はNOとなり、次にキーオン処理(ステップ17
8)が行われる。Next, it is determined whether or not the key map data stored in the key number area corresponding to the key designation pointer data x in the RAM 8 is "1" (step 176). If there is a key-on event, the key map data is "0", so the determination in step 176 is NO, and the key-on processing (step 17)
8) is performed.
【0078】キーオン処理(ステップ178)では、キ
ーオンイベントが行われたキーナンバデータと共に、キ
ーオンを指令するデータ、上記修正後のタッチデータT
old、その他の音楽的ファクタデータ等を含む楽音デー
タが形成され、この楽音データがトーンジェネレータ1
1へ送られる。トーンジェネレータ11では、入力され
た楽音データに応じて、入力されたキーナンバの音高の
楽音波形データについて、入力されたタッチデータTol
d 、その他の音楽的ファクタデータに応じて楽音波形が
生成/修正される。トーンジェネレータ11で形成され
た楽音波形データはサウンドシステム12へ送られ、キ
ーオンイベントが行われたキーの楽音が発音される。そ
して次に、キー指定ポインタデータxに対応するキーマ
ップデータに「1」がセットされる(ステップ18
0)。In the key-on process (step 178), data for instructing a key-on, the touch data T after the correction, together with the key number data for which the key-on event has been performed.
old and other musical factor data including musical factor data are formed.
Sent to 1. In accordance with the input musical tone data, the tone generator 11 converts the input touch data Tol for the input musical tone waveform data of the pitch of the key number.
d. A tone waveform is generated / corrected according to other musical factor data. The musical sound waveform data generated by the tone generator 11 is sent to the sound system 12, and the musical sound of the key on which the key-on event has been performed is generated. Then, "1" is set to the key map data corresponding to the key designation pointer data x (step 18).
0).
【0079】ステップ180の後、ステップ176の判
別がYESの場合及びステップ166の判別がNOの場
合には、次に、上記ステップ164、166において使
用されたデータS2new は、旧データS2old としてR
AM8の所定エリアへ書き移される(ステップ18
2)。ステップ166の判別がNOの場合には、上記新
データS2new が「0」であり、旧データS2 old が
「1」である。これは、スイッチS2がオンからオフに
変化して、離鍵開始が行われたことを意味する。そし
て、ステップ182の後に、キー指定ポインタデータx
がインクリメントされる(ステップ184)。After the step 180, if the judgment in the step 176 is YES and if the judgment in the step 166 is NO, then the data S2new used in the above-mentioned steps 164 and 166 is replaced by the old data S2old as the old data S2old.
The data is transferred to a predetermined area of the AM 8 (step 18).
2). If the determination in step 166 is NO, the new data S2new is "0" and the old data S2old is "1". This means that the switch S2 has changed from on to off, and key release has been started. Then, after step 182, the key designation pointer data x
Is incremented (step 184).
【0080】他方、上記ステップ164の判別がYES
であれば新旧データS2new とS2old とが等しいの
で、スイッチS2はオンまたはオフのままである。この
場合には、キーオンイベントまたは離鍵開始に伴う処理
は行われず、ステップ166〜182の処理はジャンプ
される。On the other hand, the determination in step 164 is YES
If so, the new and old data S2new and S2old are equal, so the switch S2 remains on or off. In this case, the processing associated with the key-on event or the start of key release is not performed, and the processing of steps 166 to 182 is jumped.
【0081】以上の処理(ステップ164〜184)が
全てのキーについて行われる(ステップ184、18
6)。これにより、キーオンイベントがあったキーにつ
いては、タッチデータTnew 、Told が求められて、楽
音データの一部としてトーンジェネレータ11へ送られ
る。The above processing (steps 164 to 184) is performed for all keys (steps 184 and 18).
6). As a result, the touch data Tnew and Told of the key having the key-on event are obtained and sent to the tone generator 11 as a part of the musical sound data.
【0082】11.タッチデータ修正処理 図12は、上記S2処理(ステップ158)の中のタッ
チデータ修正処理(ステップ174)のフローチャート
を示す。この処理では、キーのタッチデータTold の変
化を緩和するための修正が行われる。11. Touch Data Correction Process FIG. 12 shows a flowchart of the touch data correction process (step 174) in the S2 process (step 158). In this process, a correction is made to alleviate a change in the touch data Told of the key.
【0083】例えば、演奏者がキーボード1の複数のキ
ーを同じ速さまたは強さで打鍵しても、全く同じ速度ま
たは強度ではなく多少変化する。このため、複数のキー
を同じ速度または強度で連続して打鍵しても、各キーの
楽音の音量が異なることがある。また、上記タッチタイ
マ5のタイマ周期を短くすることには限界があり、上記
タッチカウントデータTCの分解能を無限に高めことは
できない。このため、同じ音高のキーについて前回の打
鍵速度または打鍵強度に対して少し速度または強度を変
えて打鍵しても、タッチデータが大きく変化する場合が
ある。この場合には、タッチデータに応じて発音される
楽音の音量や波形が変化するので、演奏者が予測しない
楽音の変化が行われる。For example, even if the player strikes a plurality of keys on the keyboard 1 at the same speed or strength, the keys do not change exactly at the same speed or strength but slightly change. For this reason, even if a plurality of keys are continuously pressed at the same speed or intensity, the volume of the musical sound of each key may be different. Further, there is a limit to shortening the timer cycle of the touch timer 5, and the resolution of the touch count data TC cannot be increased infinitely. For this reason, even if a key with the same pitch is struck with a slightly different speed or intensity compared to the previous keying speed or intensity, touch data may greatly change. In this case, since the volume and waveform of the musical tone generated in response to the touch data change, the musical tone changes unexpectedly by the player.
【0084】そこで、本実施例では、前回の処理で記憶
されたタッチデータTold と新たに得られたタッチデー
タTnew とを比較し、両タッチデータの変化を緩和する
処理を設けた。図14に示すタッチデータ修正処理(ス
テップ174)は、その一例であり、この他の演算、デ
ータの置換等によってタッチデータの修正を行う処理で
あっても良い。Therefore, in the present embodiment, a process is provided for comparing the touch data Told stored in the previous process with the newly obtained touch data Tnew to mitigate a change in both touch data. The touch data correction process (step 174) shown in FIG. 14 is an example, and may be a process of correcting the touch data by another operation, data replacement, or the like.
【0085】まず、RAM8からキー指定ポインタデー
タxに対応する旧タッチデータTold が読み出される
(ステップ190)。次に、RAM8から緩和率データ
Rが読み出される(ステップ192)。そして、読み出
されたデータTold 、Rと新たに読み込まれた新タッチ
データTnew とを用いて次の演算が行われ(ステップ1
94)、新タッチデータTnew が修正される。First, the old touch data Told corresponding to the key designation pointer data x is read from the RAM 8 (step 190). Next, the relaxation rate data R is read from the RAM 8 (step 192). Then, the next operation is performed using the read data Told and R and the newly read new touch data Tnew (step 1).
94), the new touch data Tnew is corrected.
【0086】 Told =(Tnew −Told )×R+Told …(2) この演算によって、旧データTold と新データTnew と
の差に緩和率Rが乗算され、旧データTold に加算され
る。そして、キー指定ポインタデータxに対応する旧タ
ッチデータTold は、この修正後のタッチデータTold
に書き換えられる(ステップ194)。これにより、新
データTnew の旧データTold に対する変化量の半分の
値が新たなタッチデータの変化量となり、タッチデータ
の変化が緩和される。上記S2処理(ステップ158)
が全てのキーについて行われるので、タッチデータ修正
処理(ステップ174)も全キーについて行われる。Told = (Tnew−Told) × R + Told (2) By this operation, the difference between the old data Told and the new data Tnew is multiplied by the relaxation rate R and added to the old data Told. The old touch data Told corresponding to the key designation pointer data x is the corrected touch data Told.
(Step 194). As a result, half the value of the change amount of the new data Tnew with respect to the old data Told becomes the change amount of the new touch data, and the change of the touch data is moderated. The above S2 processing (step 158)
Is performed for all keys, so that the touch data correction process (step 174) is also performed for all keys.
【0087】例えば、演奏者は同じ速度または強度で複
数のキーを打鍵したつもりでも、実際には打鍵速度また
は強度が各キー毎に異なっていたため、図13に破線で
示すように、キー指定ポインタデータxが「0」〜
「5」に対応する新タッチデータTnew が大きく変動し
たとする。この場合には、上記タッチデータ修正処理
(ステップ174)によってタッチデータの変化が緩和
され、図13に実線で示すように、上記各キーについて
互いの差が少ないタッチデータに修正される。For example, even if the player intends to hit a plurality of keys at the same speed or strength, the keying speed or strength is actually different for each key. Therefore, as shown by the broken line in FIG. Data x is "0" ~
It is assumed that the new touch data Tnew corresponding to “5” has changed greatly. In this case, the change of the touch data is reduced by the touch data correction process (step 174), and as shown by the solid line in FIG.
【0088】12.タッチデータ修正処理の他の例
(1) 上記実施例では各キー毎に求められたタッチデータTol
d がトーンジェネレータ11へ送られる例を示したが、
例えば、全キーのタッチデータの平均値を求めて、この
平均タッチデータATold を全キーに共通のタッチデー
タとしてもよい。さらにこの共通のタッチデータに基づ
いて各キーのタッチデータを修正するようにしても良
い。12. Another Example of Touch Data Correction Process (1) In the above embodiment, the touch data Tol obtained for each key
An example in which d is sent to the tone generator 11 has been shown,
For example, an average value of touch data of all keys may be obtained, and the average touch data ATold may be used as touch data common to all keys. Further, the touch data of each key may be corrected based on the common touch data.
【0089】この場合には、図5に破線で示すように平
均タッチデータATold を記憶するレジスタが増設され
る。さらに、上記タッチデータ修正処理(ステップ17
4)の代わりに図14に示す平均タッチデータ修正処理
(ステップ200)が行われる。In this case, as shown by a broken line in FIG. 5, a register for storing the average touch data ATold is added. Further, the touch data correction process (step 17)
An average touch data correction process (step 200) shown in FIG. 14 is performed instead of 4).
【0090】この処理(ステップ200)では、まずR
AM8に記憶されている平均タッチデータATold とキ
ー指定ポインタデータxに対応するキーの旧タッチデー
タTold が読み出される(ステップ202)。次に、読
み出されたデータATold 、Told と新たに読み込まれ
た新タッチデータTnew とを用いて、キーオンイベント
があったキーについての新タッチデータTnew を含めた
新たな平均タッチデータATnew が求められる(ステッ
プ206)。この新平均タッチデータATnewは、下記
の平均値を求める演算によって求められる。In this process (step 200), first, R
The old touch data Told of the key corresponding to the average touch data ATold and the key designation pointer data x stored in the AM 8 are read (step 202). Next, using the read data ATold and Told and the newly read new touch data Tnew, new average touch data ATnew including the new touch data Tnew for the key having the key-on event is obtained. (Step 206). The new average touch data ATnew is obtained by a calculation for obtaining the following average value.
【0091】 ATnew =(Tnew −Told )/KN+ATold …(3) RAM8に記憶されている平均タッチデータATold
は、この演算により求められた新平均タッチデータAT
new に書き換えられる(ステップ206)。また、RA
M8のキー指定ポインタデータxに対応するキーの旧タ
ッチデータToldが新タッチデータTnew に書き換えら
れる(ステップ206)。ATnew = (Tnew−Told) / KN + ATold (3) Average touch data ATold stored in the RAM 8
Is the new average touch data AT obtained by this calculation.
It is rewritten to new (step 206). Also, RA
The old touch data Told of the key corresponding to the key designation pointer data x of M8 is rewritten with the new touch data Tnew (step 206).
【0092】さらに、図11中のキーオン処理(ステッ
プ178)では、上記平均タッチデータAT old がR
AM8から読み出されて、キーオンイベントがあったキ
ーについてのタッチデータとしてトーンジェネレータ1
1へ送られる。すなわち、各キー毎に求められたタッチ
データTold が平均タッチデータATold に修正された
ことになる。Further, in the key-on process (step 178) in FIG. 11, the average touch data AT old is set to R
The tone generator 1 is read from the AM 8 as touch data for a key having a key-on event.
Sent to 1. That is, the touch data Told obtained for each key is corrected to the average touch data ATold.
【0093】なお、上記新平均タッチデータATnew を
求める演算式(3)を次のように変更しても良い。Note that the operation formula (3) for obtaining the new average touch data ATnew may be changed as follows.
【0094】 ATnew =(Tnew −Told )R/KN+ATold …(4) これにより、各キー毎の新タッチデータTnew と旧タッ
チデータTold との差を緩和率Rによって緩和した値の
平均値が求められる。この場合には、ステップ202に
RAM8から緩和率データRを読み出す処理が含まれ
る。ATnew = (Tnew−Told) R / KN + ATold (4) As a result, the average value obtained by relaxing the difference between the new touch data Tnew and the old touch data Told for each key by the relaxation rate R is obtained. . In this case, step 202 includes a process of reading the relaxation rate data R from the RAM 8.
【0095】さらに、上記キー指定ポインタデータxを
0からKNまで一巡させて、まずオンイベントがあった
キー全部についてタッチデータTnew を求め、その後に
上記平均タッチデータATold を求める演算処理が実行
されるようにしても良い。新たな平均タッチデータAT
new は、オンイベントがあったキーのタッチデータTne
w の総和をオンイベントがあったキーの総数で割ること
によって得られる。Further, the key designation pointer data x is cycled from 0 to KN, firstly, the touch data Tnew is obtained for all the keys for which an ON event has occurred, and thereafter, the arithmetic processing for obtaining the average touch data ATold is executed. You may do it. New average touch data AT
new is the touch data Tne of the key that had the on event
It is obtained by dividing the sum of w by the total number of keys that had an on-event.
【0096】そして、オンイベントがあった各キーのタ
ッチデータTnew は、次にキー指定ポインタデータxが
0に戻ってオンイベントがあったキーについてのタッチ
データTnew が求められるまで、同一の平均タッチデー
タATnew に置き換えられ、トーンジェネレータ11へ
送られる。The touch data Tnew of each key having an on-event is the same average touch until the key designation pointer data x returns to 0 and the touch data Tnew of the key having an on-event is obtained. The data is replaced with the data ATnew and sent to the tone generator 11.
【0097】13.タッチデータ修正処理の他の例
(2) 上記平均タッチデータATold を、1オクターブ毎の平
均値としても良い。この場合には、RAM8に図15に
示すような1オクターブ毎の平均タッチデータATold
を記憶するエリアが増設される。また、キーボード1は
Mオクターブのキーを有しているものとする。そして、
図14に示す平均タッチデータ修正処理(ステップ20
0)が若干変更される。13. Another Example of Touch Data Correction Process (2) The average touch data ATold may be an average value for each octave. In this case, the average touch data ATold for each octave as shown in FIG.
Is added. The keyboard 1 has M octave keys. And
The average touch data correction process shown in FIG.
0) is slightly changed.
【0098】まず、ステップ202で平均タッチデータ
ATold 読み出されるときに、キー指定ポインタデータ
xがどのオクターブのキーを指定しているかが判別され
る。例えば、キー指定ポインタデータxとオクターブ値
とを対応させたデータテーブルのルックアップ処理によ
って判別される。または、各オクターブに含まれるxの
上限値データがRAM8に記憶されており、キー指定ポ
インタデータxと各上限値データとが比較されることに
よって判別される。そして、キー指定ポインタデータx
が属するオクターブに対応する平均タッチデータATol
d がRAM8から読み出される。First, at step 202, when the average touch data ATold is read, it is determined which octave key is designated by the key designation pointer data x. For example, it is determined by a lookup process of a data table in which the key designation pointer data x and the octave value are associated. Alternatively, the upper limit value data of x included in each octave is stored in the RAM 8, and the determination is made by comparing the key designation pointer data x with each upper limit value data. Then, key designation pointer data x
Touch data ATol corresponding to the octave to which the
d is read from the RAM 8.
【0099】また、ステップ204では、上記演算式
(3)、(4)中の全キー数KNの代わりに、1オクタ
ーブ中の鍵数が用いられる。これにより、キーオンイベ
ントがあったキーについての新タッチデータTnew を含
めた1オクターブ中のタッチデータの平均値ATnew が
求められる。そして、ステップ206では、キー指定ポ
インタデータxが属するオクターブに対応する平均タッ
チデータATold が、新平均タッチデータATnew に書
き換えられる。In step 204, the number of keys in one octave is used instead of the total number of keys KN in the above equations (3) and (4). Thus, the average value ATnew of the touch data in one octave including the new touch data Tnew for the key having the key-on event is obtained. Then, in step 206, the average touch data ATold corresponding to the octave to which the key designation pointer data x belongs is rewritten to the new average touch data ATnew.
【0100】なお、上記平均タッチデータATold を求
める範囲は、全キー範囲またはオクターブ毎に限られ
ず、ある音域毎、所定のキーの範囲、演奏者によって設
定された範囲等であっても良い。そして、これらの範囲
毎に平均タッチデータAToldを求めて、これらの範囲
毎の共通のタッチデータとし、この共通のタッチデータ
によって各キー毎のタッチデータTnew を修正する。The range for obtaining the average touch data ATold is not limited to the entire key range or every octave, but may be a certain range, a predetermined range of keys, a range set by a player, or the like. Then, the average touch data ATold is obtained for each of these ranges, and is used as common touch data for each of these ranges, and the touch data Tnew for each key is corrected using the common touch data.
【0101】14.タッチデータ修正処理の他の例
(3) 上述のように、連続して複数のキーが押鍵されるときに
は、同じタッチレスポンスであることが多い。この場
合、各打鍵時間差(打鍵速度または打鍵強度)はほぼ同
じで、各キーは連続的に打鍵されるはずである。14. Another Example of Touch Data Correction Process (3) As described above, when a plurality of keys are continuously pressed, the touch response is often the same. In this case, the keying time differences (keying speed or keying strength) are almost the same, and each key should be keyed continuously.
【0102】従って、キーオンイベントのあったキーK
aのスイッチS2がオンになったときの時刻T2aを検
出して、次にキーオンイベントがあったキーKbのスイ
ッチS2がオンになった時刻T2bとの時間差(T2b
−T2a)を求め、この時間差の大きさに応じてキーK
bについてのタッチデータTnew または緩和率Rを補正
しても良い。これにより、単位時間当りの押鍵数の大き
さによってもタッチデータの修正度合が変えられる。Therefore, the key K having the key-on event
A time T2a when the switch S2 of a is turned on is detected, and the time difference (T2b) from the time T2b when the switch S2 of the key Kb having the next key-on event is turned on is detected.
−T2a), and the key K is determined according to the magnitude of the time difference.
The touch data Tnew or the relaxation rate R for b may be corrected. As a result, the degree of correction of the touch data can be changed depending on the number of key presses per unit time.
【0103】なお、タッチデータが音楽的ファクタ、す
なわち、演奏速度的ファクタ(テンポ、リタルダンド
等)、演奏強度的ファクタ(音量、フォルテ、ピアノ
等)、音高的ファクタ、音色的ファクタ、タッチ的ファ
クタ、音長的ファクタ、ステレオ的ファクタまたは設定
エフェクト量の全部または一部に応じて変更されるよう
にしても良い。The touch data is a musical factor, that is, a performance speed factor (tempo, ritardand, etc.), a performance intensity factor (volume, forte, piano, etc.), a pitch factor, a timbre factor, a touch factor. , The length factor, the stereo factor, or all or part of the set effect amount.
【0104】この場合、上述の音量データVolおよびテ
ンポデータTmpと同様に、これらファクタデータがタッ
チタイマデータTtまたはスキャンタイマデータStに
演算合成される。これらファクタデータは、再生される
自動演奏データの中に記憶されたり、上記MIDI回路
10を介して他の装置から送られたり、上記キーボード
1またはパネルスイッチ群3より入力される。In this case, like the above-described volume data Vol and tempo data Tmp, these factor data are arithmetically synthesized with the touch timer data Tt or the scan timer data St. These factor data are stored in the automatic performance data to be reproduced, sent from another device via the MIDI circuit 10, or input from the keyboard 1 or panel switch group 3.
【0105】15.他の変形例 なお、本発明は上記実施例に限定されず、本発明の趣旨
を逸脱しない範囲で種々変更可能である。例えば、上記
緩和率Rの値を可変としても良い。また、緩和率Rが固
定または可変の場合の両者において、全キーについて同
じ緩和率Rを適用しても良いし、例えば1オクターブ毎
のように、ある範囲毎に緩和率Rを異なる値としても良
い。15. Other Modifications The present invention is not limited to the above-described embodiment, and can be variously modified without departing from the spirit of the present invention. For example, the value of the relaxation rate R may be variable. Also, in both cases where the relaxation rate R is fixed or variable, the same relaxation rate R may be applied to all keys, or the relaxation rate R may be different for each certain range, for example, for each octave. good.
【0106】また、上記実施例では、キーに設けられた
スイッチS1、S2がオンになる時間差データをタッチ
データとする例を示したが、時間差データを発生させる
作動手段としては、機械的スイッチに限られず、光学的
スイッチ、近接スイッチ、タッチスイッチ、圧力センサ
等、キーの打鍵操作に応じて時間的にずれて作動するも
のであればどのような作動手段でも良い。Further, in the above-described embodiment, an example has been described in which the time difference data at which the switches S1 and S2 provided on the keys are turned on is used as the touch data. However, the operating means for generating the time difference data is a mechanical switch. There is no limitation, and any operation means such as an optical switch, a proximity switch, a touch switch, and a pressure sensor may be used as long as they operate with a time lag according to the key operation of the key.
【0107】[0107]
【発明の効果】以上詳述したように、本発明は、複数の
発音指示手段のそれぞれに対応して設けられた複数の作
動手段の作動を走査する周期と、発音指示手段ごとの作
動手段の作動時間差をカウントする周期とを異なる周期
とすることができ、複数の作動手段の作動を検出すると
きの分解能と、作動手段の作動時間差を検出するときの
分解能とを別々に設定することができる。これにより、
例えば、作動手段の作動時間差を検出するときの分解能
を高めるために、上記作動手段の作動時間差をカウント
する周期のみを短くすることができるし、この逆も可能
である。As described above in detail, according to the present invention, the scanning cycle of the operation of the plurality of operation means provided corresponding to each of the plurality of sound generation instruction means, The cycle for counting the operation time difference can be set to a different cycle, and the resolution for detecting the operation of the plurality of operation means and the resolution for detecting the operation time difference between the operation means can be set separately. . This allows
For example, in order to increase the resolution when detecting the operation time difference of the operation means, only the cycle for counting the operation time difference of the operation means can be shortened, and vice versa.
【0108】また、本発明は、発音指示手段のタッチデ
ータを求め、過去のタッチデータと新たに検出されたタ
ッチデータとの差が小さくなるように、当該新たに検出
されたタッチデータを修正することによって、タッチデ
ータの変化を緩和することができる。Further, according to the present invention, the touch data of the sounding instruction means is obtained, and the newly detected touch data is corrected so that the difference between the past touch data and the newly detected touch data is reduced. Thereby, a change in touch data can be reduced.
【0109】これにより、演奏者による打鍵速度または
打鍵強度が一定ではないときに、タッチデータが大きく
変動して演奏者の意に反するタッチレスポンスが生じる
ことを防止できる。同様に、上記作動手段の作動時間差
を検出するときの分解能が足りないために、検出された
作動時間差と実際の作動時間差との誤差が大きくなった
場合でも、タッチデータの変化を緩和することができ
る。Thus, it is possible to prevent the touch data from fluctuating greatly and generating a touch response contrary to the player's intention when the keying speed or the keying intensity of the player is not constant. Similarly, since the resolution at the time of detecting the operation time difference of the operation means is insufficient, even when the error between the detected operation time difference and the actual operation time difference increases, it is possible to reduce the change in the touch data. it can.
【図1】 電子楽器の全体回路図である。FIG. 1 is an overall circuit diagram of an electronic musical instrument.
【図2】 パネルスイッチ群3の一部を示す平面図であ
る。FIG. 2 is a plan view showing a part of a panel switch group 3;
【図3】 キーに設けられたスイッチS1及びS2を示
す側面図である。FIG. 3 is a side view showing switches S1 and S2 provided on a key.
【図4】 スイッチS1及びS2のオン/オフとキーオ
ン/オフとの関係を示すタイミング図である。FIG. 4 is a timing chart showing a relationship between ON / OFF of switches S1 and S2 and key ON / OFF.
【図5】 RAM8に設けられたレジスタ群の一部を示
す図である。FIG. 5 is a diagram showing a part of a register group provided in a RAM 8;
【図6】 RAM8に設けられたデータマップ図であ
る。FIG. 6 is a data map diagram provided in a RAM 8;
【図7】 メインルーチンのフローチャートを示す図で
ある。FIG. 7 is a diagram showing a flowchart of a main routine.
【図8】 キースキャン処理のフローチャートを示す図
である。FIG. 8 is a diagram showing a flowchart of a key scan process.
【図9】 タッチカウンタ処理のフローチャートを示す
図である。FIG. 9 is a diagram illustrating a flowchart of a touch counter process.
【図10】タッチレスポンス処理のフローチャートを示
す図である。FIG. 10 is a diagram illustrating a flowchart of a touch response process.
【図11】S2処理のフローチャートを示す図である。FIG. 11 is a diagram showing a flowchart of an S2 process.
【図12】タッチデータ修正処理のフローチャートを示
す図である。FIG. 12 is a diagram illustrating a flowchart of a touch data correction process.
【図13】タッチデータTnew と修正後のタッチデータ
を示す図である。FIG. 13 is a diagram showing touch data Tnew and touch data after correction.
【図14】平均タッチデータ修正処理のフローチャート
を示す図である。FIG. 14 is a diagram illustrating a flowchart of an average touch data correction process.
【図15】RAM8に設けられた平均タッチデータの記
憶エリアマップを示す図である。FIG. 15 is a diagram showing a storage area map of average touch data provided in a RAM 8;
1…キーボード、2…キーボードスキャン回路、3…パ
ネルスイッチ群、4…パネルスキャン回路、5…タッチ
タイマ、6…スキャンタイマ、7…CPU、8…RA
M、9…ROM、10…MIDI回路、11…トーンジ
ェネレータ、12…サウンドシステム、21…LCD、
22…音量設定用つまみ、23…テンポ設定用つまみ、
24…アップスイッチ、25…ダウンスイッチ、26…
モード切り換え用スイッチ、K…キー、S1、S2…ス
イッチ。DESCRIPTION OF SYMBOLS 1 ... Keyboard, 2 ... Keyboard scan circuit, 3 ... Panel switch group, 4 ... Panel scan circuit, 5 ... Touch timer, 6 ... Scan timer, 7 ... CPU, 8 ... RA
M, 9 ROM, 10 MIDI circuit, 11 tone generator, 12 sound system, 21 LCD,
22: knob for volume setting, 23: knob for tempo setting,
24 ... Up switch, 25 ... Down switch, 26 ...
Mode switching switch, K ... key, S1, S2 ... switch.
Claims (7)
段につき、この複数の発音指示手段それぞれに対応して
設けられ、かつこの発音指示手段の発音操作に応じて時
間的にずれて作動する複数の作動手段につき、当該作動
手段の作動を走査するようにし、 この走査の周期を第1の周期として決定するようにし、 上記各発音指示手段ごとに複数の作動手段の各作動の時
間差を検出するようにし、 この検出される時間差のカウント周期を第2の周期とし
て決定するようにし、この第1の周期は上記第2の周期
とは異なることを特徴とするタッチ検出装置。1. A plurality of sounding instruction means for instructing sounding of a musical tone are provided corresponding to each of the plurality of sounding instruction means, and operate with a time lag according to the sounding operation of the sounding instruction means. The operation of the operating means is scanned for the plurality of operating means, the scanning cycle is determined as the first cycle, and the time difference between the operations of the plurality of operating means is detected for each of the sounding instruction means. The touch detection device is characterized in that a count cycle of the detected time difference is determined as a second cycle, and the first cycle is different from the second cycle.
演奏速度的ファクタ、演奏強度的ファクタ、音高的ファ
クタ、音色的ファクタ、タッチ的ファクタ、音長的ファ
クタ、ステレオ的ファクタまたは設定エフェクト量に応
じて変更されまたは異なっていることを特徴とする請求
項1記載のタッチ検出装置。2. The first cycle and the second cycle,
Claims characterized by being changed or different according to a performance speed factor, a performance intensity factor, a pitch factor, a timbre factor, a touch factor, a pitch factor, a stereo factor, or a set effect amount. Item 2. The touch detection device according to Item 1.
段につき、この発音指示手段の発音操作の速さまたは強
さを検出し、この検出されたタッチデータを記憶させる
ようにし、 この記憶された過去のタッチデータと上記新たに検出さ
れたタッチデータとの差が小さくなるように、当該新た
に検出されたタッチデータを修正することを特徴とする
請求項1または2記載のタッチ検出装置。3. A plurality of sounding instruction means for instructing sounding of a musical tone, detecting a speed or intensity of a sounding operation of the sounding instruction means and storing the detected touch data. 3. The touch detection device according to claim 1, wherein the newly detected touch data is corrected so that a difference between the past touch data and the newly detected touch data is reduced. 4.
ータを記憶するようにし、さらに上記各発音指示手段ご
とにタッチデータを修正することを特徴とする請求項3
記載のタッチ検出装置。4. The method according to claim 3, wherein touch data is stored for each of said plurality of sounding instruction means, and touch data is corrected for each of said sounding instruction means.
The touch detection device according to any one of the preceding claims.
ごとの発音指示手段にわたって共通のタッチデータを記
憶するようにし、この記憶されるようにしたタッチデー
タに基づいて各発音指示手段のタッチデータを修正する
ことを特徴とする請求項4記載のタッチ検出装置。5. Touch data common to all of the plurality of sounding instruction means or sounding instruction means for each range is stored, and the touch data of each sounding instruction means is stored based on the stored touch data. The touch detection device according to claim 4, wherein the touch detection device corrects the touch.
度的ファクタ、演奏強度的ファクタ、音高的ファクタ、
音色的ファクタ、タッチ的ファクタ、音長的ファクタ、
ステレオ的ファクタまたは設定エフェクト量に応じて変
更されまたは異なっていることを特徴とする請求項4ま
たは5記載のタッチ検出装置。6. The correction content of the touch data includes a performance speed factor, a performance intensity factor, a pitch factor,
Tonal factor, touch factor, duration factor,
The touch detection device according to claim 4, wherein the touch detection device is changed or different according to a stereoscopic factor or a set effect amount.
段毎に1つまたは複数設けられ、かつ発音操作の開始か
ら発音操作の終了までの間に時間的差を有する複数の作
動信号を発生するようにし、 この発生される上記作動信号に基づいて、上記各発音指
示手段毎に、発音の開始を判別するようにし、 上記発音指示手段の全てを走査周期毎に走査して、上記
発生される作動信号を検出するようにし、 この走査の周期を決定するようにし、 手動操作によって上記走査周期を設定するための走査周
期情報を発生するようにし、 この発生される走査周期情報に応じて上記決定される走
査周期を変更するようにし、 音楽的ファクタの全てまたは一部に応じて、上記決定さ
れた走査周期を修正するようにし、 上記発生される作動信号の発生される時間を、各発音指
示手段毎に検出するようにし、 上記走査周期の決定とは別異であり、上記検出される上
記作動信号の発生される時間のカウント周期を決定する
ようにし、 手動操作によって上記カウント周期を設定するためのカ
ウント周期情報を発生するようにし、 この発生されるカウント周期情報に応じて上記決定され
るカウント周期を変更するようにし、 音楽的ファクタの全てまたは一部に応じて、上記決定さ
れたカウント周期を修正するようにし、 上記検出される作動信号の発生される時間に基づいて、
上記発音の開始が判別された発音指示手段について、上
記作動信号の発生時間差を各発音指示手段毎に求めるよ
うにし、 この求められた上記作動信号の発生時間差に応じて、上
記発音指示手段の発音操作の速さまたは強さを示すタッ
チデータを発生するようにし、 この発生されたタッチデータを各発音指示手段毎に記憶
させるようにし、 上記新たに発生された新タッチデータと上記記憶されて
いる過去のタッチデータとの差を求めるようにし、 上記新たに発生された新タッチデータについて、上記求
められたタッチデータの差および所定または可変設定さ
れた補正値による演算を施して、上記タッチデータの差
が小さくなるように当該新タッチデータを修正するよう
にし、 上記発生された全発音指示手段のタッチデータの平均値
を求めるようにし、 上記発生されたタッチデータの平均値を、1オクターブ
毎に求めるようにし、 上記発生されたタッチデータの平均値を、所定または可
変設定された範囲について求めるようにし、 上記新たに発生された新タッチデータについて、上記全
発音指示手段のタッチデータの平均値、または上記1オ
クターブ毎のタッチデータの平均値、または上記所定ま
たは可変設定された範囲のタッチデータの平均値による
演算を施すことにより、或いはこのタッチデータの平均
値に置換することにより、上記タッチデータの差が小さ
くなるように当該新タッチデータを修正することを特徴
とするタッチ検出装置。7. A plurality of activation signals are provided for each of a plurality of sounding instruction means for instructing sounding of a musical tone, and a plurality of operation signals having a time difference from the start of the sounding operation to the end of the sounding operation. Based on the generated operation signal, the start of sound generation is determined for each of the sounding instruction means. The scanning cycle is determined by determining the scanning cycle, and the scanning cycle information for setting the scanning cycle is generated by a manual operation. According to the generated scanning cycle information, Changing the determined scanning period, modifying the determined scanning period according to all or a part of the musical factor, and generating time of the generated activation signal. Detecting each sounding instruction means, different from the determination of the scanning cycle, determining the counting cycle of the time when the detected operation signal is generated, and performing the counting by manual operation. Generating count cycle information for setting a cycle, changing the determined count cycle in accordance with the generated count cycle information, and changing the count cycle in accordance with all or a part of a musical factor; Correcting the determined counting period, based on the time when the detected activation signal is generated,
For the sounding instruction means for which the start of the sounding is determined, the time difference of generation of the operation signal is obtained for each sounding instruction means. Touch data indicating the speed or intensity of the operation is generated, and the generated touch data is stored for each sounding instructing means. The newly generated new touch data and the stored new touch data are stored. A difference from the past touch data is obtained, and the newly generated new touch data is subjected to a calculation based on the obtained difference between the touch data and a predetermined or variably set correction value, and The new touch data is corrected so as to reduce the difference, and the average value of the generated touch data of all the sound generation instruction means is obtained. The average value of the generated touch data is obtained for each octave. The average value of the generated touch data is obtained for a predetermined or variably set range. Calculating the average value of the touch data of all the sounding instruction means, the average value of the touch data for each octave, or the average value of the touch data in the predetermined or variably set range for the new touch data. Or by replacing the new touch data with the average value of the touch data so as to reduce the difference between the touch data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8282715A JPH10124052A (en) | 1996-10-24 | 1996-10-24 | Touch detecting device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8282715A JPH10124052A (en) | 1996-10-24 | 1996-10-24 | Touch detecting device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10124052A true JPH10124052A (en) | 1998-05-15 |
Family
ID=17656106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8282715A Pending JPH10124052A (en) | 1996-10-24 | 1996-10-24 | Touch detecting device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10124052A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007163815A (en) * | 2005-12-14 | 2007-06-28 | Roland Corp | Recorder |
JP2008070407A (en) * | 2006-09-12 | 2008-03-27 | Casio Comput Co Ltd | Touch response detecting apparatus and electronic musical instrument |
-
1996
- 1996-10-24 JP JP8282715A patent/JPH10124052A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007163815A (en) * | 2005-12-14 | 2007-06-28 | Roland Corp | Recorder |
JP4515382B2 (en) * | 2005-12-14 | 2010-07-28 | ローランド株式会社 | Recorder |
JP2008070407A (en) * | 2006-09-12 | 2008-03-27 | Casio Comput Co Ltd | Touch response detecting apparatus and electronic musical instrument |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0944150A (en) | Electronic keyboard musical instrument | |
JPH10187157A (en) | Automatic performance device | |
JPH10124052A (en) | Touch detecting device | |
JP4239706B2 (en) | Automatic performance device and program | |
JP3439312B2 (en) | Electronic musical instrument pitch controller | |
JPH0720865A (en) | Electronic musical instrument | |
JP3933070B2 (en) | Arpeggio generator and program | |
JP3210582B2 (en) | Automatic performance device and electronic musical instrument equipped with the automatic performance device | |
JP3090570B2 (en) | Tone modulation controller for electronic musical instruments | |
JP4197489B2 (en) | Electronic musical instruments | |
JP3595676B2 (en) | Music sound generating apparatus and music sound generating method | |
JP3630266B2 (en) | Automatic accompaniment device | |
JP2957842B2 (en) | Electronic musical instrument | |
JPH07146681A (en) | Electronic musical instrument | |
JP2915753B2 (en) | Electronic musical instrument | |
JP3307742B2 (en) | Accompaniment content display device for electronic musical instruments | |
JP2972362B2 (en) | Musical control information processing device, musical control information processing method, performance pattern selection device, and performance pattern selection method | |
JPH10319949A (en) | Electronic musical instrument | |
JPH07175480A (en) | Data setter for electronic musical instrument | |
JP3015226B2 (en) | Electronic musical instrument | |
JPH07104753A (en) | Automatic tuning device of electronic musical instrument | |
JPH07271374A (en) | Electronic musical instrument | |
JPH04181997A (en) | Reverberation device | |
JPH07181966A (en) | Data setting device of electronic musical instrument | |
JPH06314096A (en) | Device for detecting front code of electronic musical instrument |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040803 |