JP5145675B2 - Touch response detection device and electronic musical instrument - Google Patents
Touch response detection device and electronic musical instrument Download PDFInfo
- Publication number
- JP5145675B2 JP5145675B2 JP2006246321A JP2006246321A JP5145675B2 JP 5145675 B2 JP5145675 B2 JP 5145675B2 JP 2006246321 A JP2006246321 A JP 2006246321A JP 2006246321 A JP2006246321 A JP 2006246321A JP 5145675 B2 JP5145675 B2 JP 5145675B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- count rate
- key
- count
- velocity
- 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.)
- Active
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
本発明は、鍵など演奏操作子の操作の速さを検出するためのタッチレスポンス検出装置およびタッチレスポンス検出装置を備えた電子楽器に関する。 The present invention relates to a touch response detection device for detecting the speed of operation of a performance operator such as a key, and an electronic musical instrument including the touch response detection device.
従来、電子鍵盤楽器の鍵など演奏操作子の操作の速さ、つまり、演奏操作子の押下速度を、段差のある2つのゴム接点のスイッチがオンするときの時間差を計測することにより検出することが一般的である。しかしながら、これらスイッチの配置される間隔は、数mmにすぎず、製造工程において、その間隔には数%のばらつきが発生してしまう。したがって、ある電子鍵盤楽器において、その間隔のばらつきなどによって、同じ押下速度で演奏した場合であっても、鍵盤によって検出される押下速度のデータ、つまり、鍵タッチデータが異なってしまい、意図しない音量の音が出てしまうという問題点があった。そこで、接点の間隔のばらつきを補正するために、たとえば、特許文献1に開示された技術においては、鍵盤ごとの補正係数M1〜M88(=K/V1〜K/V88 V1〜V88:打鍵速度)をEPROM14に記憶しておき、発音動作を行う際に、CPUが、音色パラメータなどをROM13から読み出すとともに、EEPROMから打鍵された鍵盤の補正係数Mを読み出す。
特許文献1に開示された技術においては、CPUが、押下された鍵に対応する楽音を発音させる際に、打鍵速度に対応した補正係数をメモリ(EEPROM)から読み出して、読み出された補正係数を考慮した発音処理を行っている。したがって、CPUにおける発音開始時の処理負荷が大きくなるという欠点があった。 In the technique disclosed in Patent Document 1, when the CPU generates a tone corresponding to the pressed key, the correction coefficient corresponding to the keystroke speed is read from the memory (EEPROM), and the read correction coefficient is read out. Sound processing that takes into account. Therefore, there is a drawback that the processing load at the start of sound generation in the CPU is increased.
また、鍵盤のスイッチの誤差を補正することのほか、処理負荷の増大を抑制しつつ、鍵域や音色に応じて、鍵タッチ感を設定できる望ましい。 In addition to correcting the switch error of the keyboard, it is desirable that the key touch feeling can be set according to the key range and tone color while suppressing an increase in processing load.
本発明は、小さい処理負荷で、適切なタッチレスポンスデータを得ることができるタッチレスポンス検出装置、および、当該タッチレスポンス検出装置を備えた電子楽器を提供することを目的とする。 An object of the present invention is to provide a touch response detection device capable of obtaining appropriate touch response data with a small processing load, and an electronic musical instrument including the touch response detection device.
本発明の目的は、鍵盤を構成する各鍵に離間して配置された2つのスイッチのオン時間差を計測することにより、押鍵速度を示すタッチレスポンスデータを算出するタッチレスポンス検出装置であって、前記鍵の2つのスイッチのうち第1のスイッチのオンに伴って、当該鍵に関するカウント値の計数を開始し、所定のタイミングで、現在のカウント値に、カウントレート値を加算するベロシティカウント手段と、前記現在のカウント値及び複数のカウントレート値を記憶する記憶手段と、前記鍵の2つのスイッチのうち第2のスイッチのオンに伴って、前記鍵の現在のカウント値に基づくタッチレスポンスデータを出力するインタフェース手段と、前記記憶手段に記憶された複数のカウントレート値の中から前記現在のカウント値に応じたカウントレート値を読み出すとともに、当該読み出されたカウントレート値に基づいて前記現在のカウント値に加算すべきカウントレート値を算出するカウントレート値算出手段と、を備え、前記記憶手段がさらに、前記鍵ごとに前記カウントレート値を補正するための補正データを記憶し、前記カウントレート値算出手段が、前記算出されたカウントレート値を、前記補正データに基づいて補正することにより、補正されたカウントレート値を算出し、前記補正されたカウントレート値を、前記ベロシティカウント手段に出力することを特徴とするタッチレスポンス検出装置により達成される。 An object of the present invention is a touch response detection device that calculates touch response data indicating a key pressing speed by measuring an on-time difference between two switches arranged apart from each key constituting a keyboard, Velocity counting means that starts counting the count value for the key when the first switch of the two switches of the key is turned on, and adds the count rate value to the current count value at a predetermined timing; Storage means for storing the current count value and a plurality of count rate values; and touch response data based on the current count value of the key when a second switch of the two switches of the key is turned on. and interface means for outputting, in accordance with the current count value from said a plurality of count rate values stored in said storage means It reads the Untoreto value, and a count rate value calculating means for calculating a count rate value to be added to said current count value based on the read count rate value, said storing means further the key Correction data for correcting the count rate value is stored every time, and the count rate value calculating means corrects the calculated count rate value based on the correction data, thereby correcting the count rate value. This is achieved by a touch response detection device that calculates a value and outputs the corrected count rate value to the velocity count means.
本発明によれば、タッチレスポンス検出装置において、カウント値の係数中に、そのカウント値に加算すべきカウントレート値を補正データにより補正し、補正されたカウントレート値を現在のカウント値に加算している。これにより、処理負荷を大きくすることなく適切なタッチレスポンスデータを算出することが可能となる。 According to the present invention, in the touch response detection device, the count rate value to be added to the count value is corrected with the correction data in the coefficient of the count value, and the corrected count rate value is added to the current count value. ing. This makes it possible to calculate appropriate touch response data without increasing the processing load.
好ましい実施態様においては、前記インタフェース手段が、前記現在のカウント値のビットを反転することで、タッチレスポンスデータを得る。 In a preferred embodiment, the interface means obtains touch response data by inverting the bit of the current count value.
別の好ましい実施態様においては、前記記憶手段に記憶された、前記カウントレート値を補正するための補正データが、前記カウントレート値を増大させ、或いは、減少させるための比の値であり、前記カウントレート値算出手段が、前記カウントレート値と、前記補正データとを乗算する。 In another preferred embodiment, the correction data for correcting the count rate value stored in the storage means is a ratio value for increasing or decreasing the count rate value, A count rate value calculation unit multiplies the count rate value by the correction data.
たとえば、前記記憶手段に記憶された、前記カウントレート値を補正するための補正データは、鍵ごとの第1のスイッチのオンから第2のスイッチのオンに至る時間差の誤差をキャンセルする値である。 For example, the correction data for correcting the count rate value stored in the storage means is a value that cancels the error of the time difference from turning on the first switch to turning on the second switch for each key. .
或いは、前記記憶手段に記憶された、前記カウントレート値を補正するための補正データは、音高の変化にしたがって、その値が増大し、或いは、減少するものである。 Alternatively, the correction data for correcting the count rate value stored in the storage means increases or decreases as the pitch changes.
或いは、前記記憶手段に記憶された、前記カウントレート値を補正するための補正データが、楽音発生手段により発音される音色ごとに、当該音色が割り当てられる音域にしたがった値である。 Alternatively, the correction data for correcting the count rate value stored in the storage unit is a value according to the tone range to which the tone color is assigned for each tone color generated by the tone generation unit.
また、本発明の目的は、複数の鍵を備え、各鍵において、離間して配置された2つのスイッチを有する鍵盤と、前記鍵盤を構成する各鍵の2つのスイッチのオン時間差を計測することにより、押鍵速度を示すタッチレスポンスデータを算出するタッチレスポンス検出手段と、当該タッチレスポンスデータおよび押鍵された鍵の音高を受信して、かつ、指定された音色で、受信した音高で、かつ、当該タッチレスポンスデータに基づくベロシティの楽音の生成を、楽音発生手段に指示する制御手段と、前記制御手段から指示された音色、音高、および、ベロシティの楽音データを生成する楽音発生手段と、を備えた電子楽器であって、前記タッチレスポンス検出手段は、前記鍵の2つのスイッチのうち第1のスイッチのオンに伴って、当該鍵に関するカウント値の計数を開始し、所定のタイミングで、現在のカウント値に、カウントレート値を加算するベロシティカウント手段、前記現在のカウント値及び複数のカウントレート値を記憶する記憶手段、前記鍵の2つのスイッチのうち第2のスイッチのオンに伴って、前記鍵の現在のカウント値に基づくタッチレスポンスデータを出力するインタフェース手段、並びに、前記記憶手段に記憶された複数のカウントレート値の中から前記現在のカウント値に応じたカウントレート値を読み出すとともに、当該読み出されたカウントレート値に基づいて前記現在のカウント値に加算すべきカウントレート値を算出するカウントレート値算出手段、を有し、前記記憶手段がさらに、前記鍵ごとに前記カウントレート値を補正するための補正データを記憶し、かつ、前記カウントレート値算出手段が、前記算出されたカウントレート値を、前記補正データに基づいて補正することにより、補正されたカウントレート値を算出し、前記補正されたカウントレート値を、前記ベロシティカウント手段に出力する、ことを特徴とする電子楽器により達成される。 Another object of the present invention is to measure the on-time difference between two keys, each of which comprises a plurality of keys, each key having two switches, and each key constituting the keyboard. The touch response detecting means for calculating the touch response data indicating the key pressing speed, the touch response data and the pitch of the key that has been pressed are received, and the received pitch is the specified tone. And a control means for instructing the tone generation means to generate a velocity tone based on the touch response data, and a tone generation means for generating tone data, pitch and velocity tone data instructed by the control means. The touch response detecting means is configured to apply a key to the key when the first switch of the two switches of the key is turned on. Starts counting a count value at a predetermined timing, the current count value, velocity counting means for adding the count rate value, the current count value and storing means for storing a plurality of count rate value of the key An interface unit that outputs touch response data based on the current count value of the key when the second switch of the two switches is turned on, and a plurality of count rate values stored in the storage unit Count rate value calculation means for reading a count rate value corresponding to the current count value and calculating a count rate value to be added to the current count value based on the read count rate value , said storage means further corrects de for correcting the count rate value for each of the key Count stores the data, and said count rate value calculating means, the count rate value the calculated, by correcting on the basis of the correction data, which calculates a corrected count rate value was the correction This is achieved by an electronic musical instrument characterized by outputting a rate value to the velocity counting means.
好ましい実施態様においては、さらに、前記カウントレート値を補正するための、鍵ごとの第1のスイッチのオンから第2のスイッチのオンに至る時間差の誤差をキャンセルする値である第1の補正データと、音高の変化にしたがって、その値が増大し、或いは、減少するような第2の補正データ、および/または、楽音発生手段により発音される音色ごとに、当該音色が割り当てられる音域に基づく第3の補正データと、を記憶する補正データ記憶手段を備え、前記制御手段が、前記タッチレスポンス検出手段の、インタフェース手段を介して、前記タッチレスポンス検出手段の記憶手段に、前記第1の補正データ、第2の補正データ或いは第3の補正データを書き込むように構成されている。 In a preferred embodiment, the first correction data is a value for canceling an error in a time difference from turning on the first switch to turning on the second switch for each key for correcting the count rate value. The second correction data whose value increases or decreases according to the change in pitch and / or the tone range to which the tone color is assigned for each tone color generated by the tone generation means Correction data storage means for storing third correction data, and the control means stores the first correction in the storage means of the touch response detection means via the interface means of the touch response detection means. Data, second correction data, or third correction data is written.
本発明によれば、小さい処理負荷で、適切なタッチレスポンスデータを得ることができるタッチレスポンス検出装置、および、当該タッチレスポンス検出装置を備えた電子楽器を提供することが可能となる。 ADVANTAGE OF THE INVENTION According to this invention, it becomes possible to provide the touch response detection apparatus which can obtain appropriate touch response data with a small processing load, and the electronic musical instrument provided with the said touch response detection apparatus.
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明の実施の形態にかかる電子楽器の概略を示すブロックダイヤグラムである。図1に示すように、電子楽器は、マイクロコンピュータ1、ROM(Read Only Memory)2、RAM(Random Access Memory)3、スイッチ類4、タッチ検出回路5、鍵盤6、楽音発生回路7、波形ROM8、D/A変換器(DAC)9、増幅回路10およびスピーカ11、12を備えている。マイクロコンピュータ1、ROM2、RAM3および楽音発生回路7は、バス13と接続されており、タッチ検出回路5はマイクロコンピュータ1とシリアルインタフェースで接続されている。 Embodiments of the present invention will be described below with reference to the accompanying drawings. FIG. 1 is a block diagram showing an outline of an electronic musical instrument according to an embodiment of the present invention. As shown in FIG. 1, the electronic musical instrument includes a microcomputer 1, a ROM (Read Only Memory) 2, a RAM (Random Access Memory) 3, switches 4, a touch detection circuit 5, a keyboard 6, a tone generation circuit 7, and a waveform ROM 8. , A D / A converter (DAC) 9, an amplifier circuit 10, and speakers 11 and 12. The microcomputer 1, the ROM 2, the RAM 3 and the tone generation circuit 7 are connected to the bus 13, and the touch detection circuit 5 is connected to the microcomputer 1 through a serial interface.
マイクロコンピュータ1は、電子楽器全体を制御し、プログラムやデータを格納したROM2から、プログラムやデータを読み出して、プログラムを実行する。プログラムの実行にて生成されるデータなどはワークエリアであるRAM3に記憶される。スイッチ類4は、電子楽器のコンソールパネル上に配置されている。マイクロコンピュータ1は、演奏者によるスイッチ類4の操作を検出する。タッチ検出回路5は、後に詳述するように所定のタイミングで鍵盤6に対して走査信号を送出し、各鍵盤6の鍵に配置された2つのスイッチのオンに応答して、演奏操作データ(音高およびタッチレスポンスデータ)を生成して、マイクロコンピュータ1に出力する。本実施の形態において、鍵盤6は88個の鍵を有し、各鍵には、その長手方向に2つのスイッチが配置され、鍵の押下によってまず第1のスイッチがオンされ、さらに、鍵が押下されることにより第2のスイッチがオンされるようになっている。 The microcomputer 1 controls the entire electronic musical instrument, reads the program and data from the ROM 2 storing the program and data, and executes the program. Data generated by executing the program is stored in the RAM 3 which is a work area. The switches 4 are arranged on the console panel of the electronic musical instrument. The microcomputer 1 detects the operation of the switches 4 by the performer. As will be described in detail later, the touch detection circuit 5 sends a scanning signal to the keyboard 6 at a predetermined timing, and in response to turning on of the two switches arranged on the keys of each keyboard 6, performance operation data ( (Pitch and touch response data) are generated and output to the microcomputer 1. In the present embodiment, the keyboard 6 has 88 keys, and each key is provided with two switches in the longitudinal direction. When the key is pressed, the first switch is first turned on. When pressed, the second switch is turned on.
マイクロコンピュータ1は、スイッチ類4の操作により指定された音色、および、タッチ検出回路5から出力されたタッチレスポンスデータを含む演奏操作データに基づき、楽音発生回路7を制御して、所定の楽音を発生させる。楽音発生回路7は、波形ROM8から指定された音色の波形データを読み出して、演奏操作データにしたがった音高および音量(ベロシティ)の楽音を生成してDAC9に出力する。DAC9は、楽音発生回路7から出力されたディジタルデータをアナログ信号に変換する。アナログ信号は増幅回路10を介してスピーカ11、12から放音される。 The microcomputer 1 controls the musical tone generation circuit 7 based on the tone color designated by the operation of the switches 4 and the performance operation data including the touch response data output from the touch detection circuit 5 to generate a predetermined musical tone. generate. The musical tone generation circuit 7 reads the waveform data of the tone color designated from the waveform ROM 8, generates a musical tone having a pitch and volume (velocity) according to the performance operation data, and outputs it to the DAC 9. The DAC 9 converts the digital data output from the tone generation circuit 7 into an analog signal. The analog signal is emitted from the speakers 11 and 12 via the amplifier circuit 10.
図2は、本実施の形態にかかるタッチ検出回路の構成をより詳細に示すブロックダイヤグラムである。図2においては、タッチ検出回路5を構成する部材のほか、図1の鍵盤6も表示している。図2に示すように、タッチ検出回路5は、UART(Universal Asynchronous Receiver Transmitter)21、インタフェースユニット22、セレクタ(SEL)23、RAM24、タイミング発生器25、キーインユニット27、ベロシティカウントレート発生器28、および、ベロシティカウントユニット29を有する。 FIG. 2 is a block diagram showing the configuration of the touch detection circuit according to the present embodiment in more detail. In FIG. 2, in addition to the members constituting the touch detection circuit 5, the keyboard 6 of FIG. 1 is also displayed. As shown in FIG. 2, the touch detection circuit 5 includes a UART (Universal Asynchronous Receiver Transmitter) 21, an interface unit 22, a selector (SEL) 23, a RAM 24, a timing generator 25, a key-in unit 27, a velocity count rate generator 28, And a velocity count unit 29.
UART21は非同期のシリアルインタフェースであり、マイクロコンピュータ1との間のデータ送受信を制御する。マイクロコンピュータ1からシリアル形式で送られるデータは、パラレル形式に変換され、さらにインタフェースユニット22およびセレクタ23を介して、RAM24の所定の領域に書き込まれる。また、タッチ検出回路5における演算により得られたタッチレスポンスデータは、インタフェースユニット22およびUARTを介してマイクロコンピュータ1に転送される。 The UART 21 is an asynchronous serial interface and controls data transmission / reception with the microcomputer 1. Data sent from the microcomputer 1 in a serial format is converted into a parallel format and further written into a predetermined area of the RAM 24 via the interface unit 22 and the selector 23. The touch response data obtained by the calculation in the touch detection circuit 5 is transferred to the microcomputer 1 via the interface unit 22 and the UART.
インタフェースユニット22は、UART21経由で書き込まれたタッチ検出用制御データを、もう一方の入力にベロシティカウントユニット29からの出力が接続されているセレクタ23を介して、RAM24の所定の領域に格納する。タッチ検出用制御データには、ベロシティレートデータおよびベロシティ補正データが含まれる。 The interface unit 22 stores the touch detection control data written via the UART 21 in a predetermined area of the RAM 24 via the selector 23 to which the output from the velocity count unit 29 is connected to the other input. The touch detection control data includes velocity rate data and velocity correction data.
セレクタ23は、上述したようにインタフェースユニット22がUART経由でタッチ検出用制御データを出力する場合には、このタッチ検出用制御データを選択して、RAM24に出力する。それ以外の場合には、ベロシティカウントユニット29からの出力(ベロシティカウント値)を選択して、これをRAM24に出力する。 When the interface unit 22 outputs the touch detection control data via the UART as described above, the selector 23 selects the touch detection control data and outputs it to the RAM 24. In other cases, an output (velocity count value) from the velocity count unit 29 is selected and output to the RAM 24.
タイミング発生器25は、鍵盤6に対して、鍵盤6のスイッチのオン/オフを検出するためのタイミング信号を出力するとともに、RAM24のアドレスとなるCNT[6:0]を出力する。前述したように、本実施の形態においては、88鍵のそれぞれに2つずつスイッチが設けられ、鍵盤6には176個のスイッチが配置される。スイッチは8×22のマトリクスを構成している。キーインユニット27は、マトリクスを走査して、タイミング発生器25のタイミング信号にしたがって、鍵盤6の各鍵のスイッチのオン/オフを検出する。キーインユニット27は、取り込んだスイッチの状態を示す信号を時分割化して、ベロシティカウントユニット29に出力する。 The timing generator 25 outputs a timing signal for detecting on / off of the switch of the keyboard 6 to the keyboard 6 and outputs CNT [6: 0] as an address of the RAM 24. As described above, in this embodiment, two switches are provided for each of 88 keys, and 176 switches are arranged on the keyboard 6. The switches constitute an 8 × 22 matrix. The key-in unit 27 scans the matrix and detects on / off of the switch of each key of the keyboard 6 according to the timing signal of the timing generator 25. The key-in unit 27 time-divides the signal indicating the captured switch state and outputs it to the velocity count unit 29.
ベロシティカウントレート発生器28は、後に詳述するように、ベロシティカウント値、ベロシティレートデータおよびベロシティ補正データに基づいて、ベロシティカウントレートを算出して、ベロシティカウントユニット29に出力する。ベロシティカウントユニット29は、ベロシティカウント値と、ベロシティカウントレート発生器28から出力されたベロシティカウントレートとを加算して、新たなベロシティカウント値を算出する。新たなベロシティカウント値は、セレクタ23を介して、RAM24の所定の領域に格納される。 As described in detail later, the velocity count rate generator 28 calculates a velocity count rate based on the velocity count value, velocity rate data, and velocity correction data, and outputs it to the velocity count unit 29. The velocity count unit 29 adds a velocity count value and the velocity count rate output from the velocity count rate generator 28 to calculate a new velocity count value. The new velocity count value is stored in a predetermined area of the RAM 24 via the selector 23.
本実施の形態においては、RAM24は30ビットのデータを格納できる。アドレス0〜87には、各アドレスに対応してST[3:0]、VC[19:0]およびCOR[5:0]が格納される。30ビットのデータST[3:0]、VC[19:0]およびCOR[5:0]は、鍵盤ごとの情報を表す。ステータスST[3:0]は、その鍵のカウントのステータスを示す。たとえば、この4ビットの値により、カウント準備中、カウント中などのステータスが特定される。ベロシティカウント値VC[19:0]は、鍵盤6のある鍵において、第1のスイッチがオンされた後、第2のスイッチがオンされるまでの間にカウントされる値を示す。ベロシティカウント値VC[19:0]は、ステータスSTが「カウント中」を示す間、所定のタイミングで、後述するように算出されるベロシティカウントレートが加算されていく。ベロシティ補正データCOR[5:0]は、鍵盤6の鍵ごとにベロシティカウント値を補正するため(より詳細には、ベロシティカウント値に加算するベロシティカウントレートを補正するため)の値である。上記データは、後述する信号CNT[6:0]をアドレスとすることで指定される。 In the present embodiment, the RAM 24 can store 30-bit data. Addresses 0 to 87 store ST [3: 0], VC [19: 0], and COR [5: 0] corresponding to each address. 30-bit data ST [3: 0], VC [19: 0] and COR [5: 0] represent information for each keyboard. Status ST [3: 0] indicates the status of the key count. For example, the 4-bit value identifies the status such as preparing for counting or counting. The velocity count value VC [19: 0] indicates a value counted in a key on the keyboard 6 after the first switch is turned on until the second switch is turned on. The velocity count value VC [19: 0] is incremented by a velocity count rate calculated as described later at a predetermined timing while the status ST indicates “counting”. The velocity correction data COR [5: 0] is a value for correcting the velocity count value for each key of the keyboard 6 (more specifically, for correcting the velocity count rate added to the velocity count value). The data is specified by using a signal CNT [6: 0] described later as an address.
また、RAMのアドレス88〜105には、各アドレスに対応してVR[7:0]が格納されている。これらは、後述する信号VC[19:16]をアドレスとすることで指定される。 Further, VR [7: 0] is stored in RAM addresses 88 to 105 corresponding to the respective addresses. These are specified by using a signal VC [19:16] described later as an address.
図2に示すタッチ検出回路5において、キーインユニット27が、ある鍵の第1スイッチのオンを検出すると、その鍵に対応するアドレスのデータ中、ステータスST[3:0]が、カウント中を示す値に変更され、ベロシティカウント値VC[19:0]のカウントが開始される。 In the touch detection circuit 5 shown in FIG. 2, when the key-in unit 27 detects that the first switch of a key is turned on, the status ST [3: 0] in the data corresponding to the key indicates that the key is being counted. The value is changed to a value, and counting of the velocity count value VC [19: 0] is started.
ベロシティカウントユニット29は、所定のタイミングで、ベロシティカウント値VC[19:0]に、ベロシティカウントレート発生器28で算出されたベロシティカウントレートを加算する。ベロシティカウント値VCは、セレクタ23を介して、RAM24中、鍵のアドレスに格納される。ベロシティカウント値VCに対するベロシティカウントレートの加算は、キーインユニット27により同じ鍵の第2のスイッチのオンが検出されるまで繰り返される。 The velocity count unit 29 adds the velocity count rate calculated by the velocity count rate generator 28 to the velocity count value VC [19: 0] at a predetermined timing. The velocity count value VC is stored in the key address in the RAM 24 via the selector 23. The addition of the velocity count rate to the velocity count value VC is repeated until the key-in unit 27 detects that the second switch of the same key is turned on.
キーインユニット27が、上記鍵の第2のスイッチのオンを検出すると、その時点での当該鍵のベロシティカウント値VCが、インタフェースユニット22に与えられ、かつ、インタフェースユニット22において、ベロシティカウント値の各ビット値が反転される。この反転された値が、鍵の押下速度を示すタッチレスポンスデータとなる。タッチレスポンスデータは、鍵の情報(たとえば、音高情報)とともに、UART21を介して、マイクロコンピュータ1に対して出力される。マイクロコンピュータ1は、音高情報およびタッチレスポンスデータに基づいて、ある音高をある強度(或いは速度)でキーオンしたときの演奏操作データを生成して、これを楽音発生回路7に出力する。 When the key-in unit 27 detects that the second switch of the key is turned on, the velocity count value VC of the key at that time is given to the interface unit 22, and each of the velocity count values in the interface unit 22 is given. The bit value is inverted. This inverted value becomes touch response data indicating the key pressing speed. The touch response data is output to the microcomputer 1 via the UART 21 together with key information (for example, pitch information). The microcomputer 1 generates performance operation data when a certain pitch is keyed on at a certain intensity (or speed) based on the pitch information and touch response data, and outputs the performance operation data to the musical tone generation circuit 7.
また、キーインユニット27が、鍵のスイッチのオフを検出すると、ベロシティカウントユニット29からインタフェース22に対して、鍵の情報(音高情報)とキーオフを示す情報が与えられる。与えられた情報は、UART21を介して、マイクロコンピュータ1に対して出力される。マイクロコンピュータ1は、キーオフを示す情報の受信に応答して、キーオフを示す演奏操作データを生成して、これを楽音発生回路7に出力する。 When the key-in unit 27 detects that the key is switched off, the velocity count unit 29 gives key information (pitch information) and information indicating the key-off to the interface 22. The given information is output to the microcomputer 1 via the UART 21. In response to the reception of the information indicating the key-off, the microcomputer 1 generates performance operation data indicating the key-off and outputs it to the musical sound generating circuit 7.
図3は、本実施の形態にかかるベロシティカウントレート発生器の構成を詳細に示すブロックダイヤグラムである。図3に示すように、ベロシティカウントレート発生器28は、セレクタ(SEL)31と、FF32〜35と、減算器36と、乗算器37、40と、加算器38と、変換テーブル39とを有する。 FIG. 3 is a block diagram showing in detail the configuration of the velocity count rate generator according to the present embodiment. As shown in FIG. 3, the velocity count rate generator 28 includes a selector (SEL) 31, FFs 32 to 35, a subtracter 36, multipliers 37 and 40, an adder 38, and a conversion table 39. .
FF33は、ベロシティカウント値VCのうちの上位ビットVC[19:12]を保持する。セレクタ31の一方の入力には、タイミング発生器25からのCNT[6:0]が与えられ、他方の入力には、VCのうちのさらに上位の所定ビットVC[19:16]が与えられ、タイミングにより何れか一方を出力するようになっている。セレクタ31の出力は、RAM24のアドレスとなる。 The FF 33 holds the upper bits VC [19:12] of the velocity count value VC. One input of the selector 31 is supplied with CNT [6: 0] from the timing generator 25, and the other input is supplied with a predetermined upper bit VC [19:16] of VC. Either one is output depending on the timing. The output of the selector 31 is an address of the RAM 24.
FF34には、RAM24においてアドレスVC[19:16]で指定して読み出されたベロシティレートデータVRが格納される(以下、このデータを、VR(VC[19:16])と記す。)。FF33には、アドレス(VC[19:16]+1)で指定して読み出されたベロシティデータが格納される(以下、このデータを、VR(VC[19:12]+1)と記す。)。また、FF35には、ベロシティ補正データCOR[5:0]が格納される。 In the FF 34, velocity rate data VR designated and read by the address VC [19:16] in the RAM 24 is stored (hereinafter, this data is referred to as VR (VC [19:16])). The FF 33 stores velocity data specified and read by an address (VC [19:16] +1) (hereinafter, this data is referred to as VR (VC [19:12] +1)). The FF 35 stores velocity correction data COR [5: 0].
前述したように、FF32からの出力のうち、上位のビットVC[19:12]のうち上位側VC[19:16]はセレクタ31に出力され、その一方、下位側VC[15:12]は乗算器37に出力される。 As described above, among the outputs from the FF 32, the higher-order VC [19:16] of the higher-order bits VC [19:12] is output to the selector 31, while the lower-order VC [15:12] is It is output to the multiplier 37.
以下、図3に示すベロシティカウントレート発生器28における動作について説明する。図4は、本実施の形態にかかるベロシティカウントレート発生器の動作を示すフローチャートである。ベロシティカウントレート発生器28は、タイミング発生器25の出力CNT[6:0]の値で特定される鍵について、RAM24からアドレスCNT[6:0]のデータを読み出す。RAM24から読み出されたデータのうち、ベロシティカウント値の上位ビットVC[19:12]は、FF32に格納される(ステップ401)。また、RAM24から読み出されたデータのうち、ベロシティ補正データCOR[5:0]は、FF35に格納される(ステップ402)。 Hereinafter, the operation in the velocity count rate generator 28 shown in FIG. 3 will be described. FIG. 4 is a flowchart showing the operation of the velocity count rate generator according to the present embodiment. The velocity count rate generator 28 reads the data at the address CNT [6: 0] from the RAM 24 for the key specified by the value of the output CNT [6: 0] of the timing generator 25. Of the data read from the RAM 24, the upper bits VC [19:12] of the velocity count value are stored in the FF 32 (step 401). Of the data read from the RAM 24, velocity correction data COR [5: 0] is stored in the FF 35 (step 402).
次いで、FF32に格納されたベロシティカウント値の上位データVC[19:12]のうちさらに上位のデータVC[19:12]をアドレスとして、RAM24からベロシティレートデータVR(VC[19:16])が読み出され、FF34に格納される(ステップ403)。また、(VC[19:12]+1)をアドレスとして、RAM24からベロシティレートデータVR(VC[19:12]+1)が読み出され、FF33に格納される(ステップ404)。 Next, the velocity data VR (VC [19:16]) is received from the RAM 24 with the higher-order data VC [19:12] of the higher-order data VC [19:12] of the velocity count value stored in the FF 32 as an address. It is read out and stored in the FF 34 (step 403). Also, the velocity rate data VR (VC [19:12] +1) is read from the RAM 24 using (VC [19:12] +1) as an address and stored in the FF 33 (step 404).
FF33の出力VR(VC[19:12]+1)およびFF34の出力VR(VC[19:16])は減算器36に印加され、差分値Diff[7:0]=VR(VC[19:12]+1)−VR(VC[19:16])が算出される。さらに、差分値Diffは、VC[19:12]の下位側のデータVC[15:12]と乗算器37により乗算され、さらに、加算器38によりVR(VC[19:16])と加算される。これにより、補間値Int=VR(VC[19:16])+VC[15:12]×Diffが得られる(ステップ405)。 The output VR (VC [19:12] +1) of the FF 33 and the output VR (VC [19:16]) of the FF 34 are applied to the subtractor 36, and the difference value Diff [7: 0] = VR (VC [19:12]. +1) -VR (VC [19:16]) is calculated. Further, the difference value Diff is multiplied by the data VC [15:12] on the lower side of VC [19:12] by the multiplier 37 and further added by VR (VC [19:16]) by the adder 38. The As a result, the interpolation value Int = VR (VC [19:16]) + VC [15:12] × Diff is obtained (step 405).
本実施の形態において、減算器36、乗算器37、加算器38は、VR(VC[19:12]+1)とVR(VC[19:16])との差であるDiffを、VC[15:12]で直線補完するための演算系を構成する。DiffとVC[15:12]との積を、VR(VC[19:16])に加えることにより、アドレスVC[19:16]による比較的粗い値であるVR[7:0]を、アドレス下位の値VC[15:12]で補間した補間値Intを得ることができる。 In the present embodiment, the subtractor 36, the multiplier 37, and the adder 38 set Diff, which is the difference between VR (VC [19:12] +1) and VR (VC [19:16]), to VC [15 : 12] constitutes an arithmetic system for linear interpolation. By adding the product of Diff and VC [15:12] to VR (VC [19:16]), VR [7: 0], which is a relatively coarse value by address VC [19:16], is An interpolated value Int interpolated with the lower value VC [15:12] can be obtained.
図5(a)は、本実施の形態にかかるベロシティレートデータを説明する図である。図5(a)において、左側はベロシティカウント値の上位データVC[19:12]に相当する。このように、ベロシティカウント値の所定の上位ビット(最上位4ビット)ごとに、これをアドレスとしてRAM24からベロシティレートデータVR[7:0]が読み出される。上述した補間により図6に示すような補間値を得ることができる。図6のグラフにおいて、縦軸がベロシティレート値の補間値に相当し、横軸がベロシティカウント値の上位データVC[19:12]に相当する。 FIG. 5A is a diagram for explaining velocity rate data according to the present embodiment. In FIG. 5A, the left side corresponds to the higher-order data VC [19:12] of the velocity count value. As described above, the velocity rate data VR [7: 0] is read from the RAM 24 for each predetermined high-order bit (the most significant 4 bits) of the velocity count value as an address. An interpolation value as shown in FIG. 6 can be obtained by the interpolation described above. In the graph of FIG. 6, the vertical axis corresponds to the interpolation value of the velocity rate value, and the horizontal axis corresponds to the higher-order data VC [19:12] of the velocity count value.
さらに、補間値Intは、変換テーブル39に出力され、変換テーブル39から変換値が出力される。図5(b)は、本実施の形態にかかる変換テーブルの構成例を示す図である。図5(b)に示すように、変換テーブル39は、補間値Int、VR[7:0]と示されている。)を入力として、変換データに示すような値を出力する。図5(b)から理解できるように、変換テーブル39は、直線補間された補間値を、指数変換する。 Further, the interpolation value Int is output to the conversion table 39, and the conversion value is output from the conversion table 39. FIG. 5B is a diagram illustrating a configuration example of a conversion table according to the present embodiment. As shown in FIG. 5B, the conversion table 39 is indicated by interpolation values Int, VR [7: 0]. ) Is input, and a value as shown in the conversion data is output. As can be understood from FIG. 5B, the conversion table 39 exponentially converts the interpolation value subjected to linear interpolation.
図7は、変換テーブル39を経た補間値を説明するためのグラフである。図7において、縦軸が、指数変換されたベロシティレート値の補間値に相当し、横軸がベロシティカウント値に相当する。 FIG. 7 is a graph for explaining an interpolation value that has passed through the conversion table 39. In FIG. 7, the vertical axis corresponds to the interpolation value of the velocity rate value that has been exponentially converted, and the horizontal axis corresponds to the velocity count value.
このように指数変換された補間値は、後述するベロシティ補正データによる補正を経て、ベロシティカウントレートとして、ベロシティカウントユニット29において、ベロシティカウント値と加算される。このように、指数変換された補間値をカウントすることにより、図8のグラフに示すようなベロシティカウントカーブを得ることができる。このベロシティカーブにおいて、縦軸はベロシティデータ(つまりベロシティカウント値の反転値)、横軸は時間である。 The interpolated value that has been exponentially converted is added to the velocity count value in the velocity count unit 29 as a velocity count rate after being corrected by velocity correction data described later. Thus, by counting the interpolated values that have been exponentially converted, a velocity count curve as shown in the graph of FIG. 8 can be obtained. In this velocity curve, the vertical axis represents velocity data (that is, the inverted value of the velocity count value), and the horizontal axis represents time.
このように、本実施の形態においては、折れ線のベロシティレートを補間し、かつ、これを指数変換してレンジを拡張したものをカウント(積分)する。したがって、得られるベロシティカーブ(図8)は曲線状となる。 As described above, in the present embodiment, the velocity rate of the polygonal line is interpolated, and the result obtained by exponentially converting this is counted (integrated). Therefore, the obtained velocity curve (FIG. 8) is curved.
次に、本実施の形態にかかる補正について説明する。変換テーブル39の出力である指数変換された補間値は、乗算器40の一方の入力に与えられる。乗算器40の他方の入力には、FF35からのベロシティ補正データCOR[5:0]が与えられる。ここで、補正範囲を制限することによって補正データのビット長を削減しているため、補正データCOR[5:0]は上位に11(2進数)を付加され、11000000〜11111111(2進数)の範囲の8ビットデータとして乗算器40に与えられる。したがって、乗算器40において、変換値とベロシティ補正データとが乗算されて出力される。この出力が、ベロシティカウントレートとして、ベロシティカウントユニット29において、ベロシティカウント値VC[19:0]と加算される。 Next, correction according to the present embodiment will be described. The exponent-converted interpolation value that is the output of the conversion table 39 is given to one input of the multiplier 40. The other input of the multiplier 40 is provided with velocity correction data COR [5: 0] from the FF 35. Here, since the bit length of the correction data is reduced by limiting the correction range, 11 (binary number) is added to the correction data COR [5: 0], and 110000-1111111 (binary number). The range is provided to the multiplier 40 as 8-bit data. Therefore, the multiplier 40 multiplies the converted value and the velocity correction data and outputs the result. This output is added as a velocity count rate in the velocity count unit 29 with a velocity count value VC [19: 0].
なお、変換後の補正値11100000(2進数)を補正ゼロとすると、
11000000(2進数)=192(10進数)
11100000(2進数)=224(10進数) :補正ゼロ
11111111(2進数)=255(10進数)
であるから、補正範囲としては、
(192−224)/224=−14.286%
から
(255−224)/224= 13.839%
となる。
If the corrected correction value 11100000 (binary number) after the conversion is zero,
11000000 (binary number) = 192 (decimal number)
11100000 (binary number) = 224 (decimal number): correction zero 11111111 (binary number) = 255 (decimal number)
Therefore, as the correction range,
(192-224) /224=-14.286%
From (255-224) / 224 = 13.839%
It becomes.
本実施の形態においては、鍵毎に、スイッチの接点間のばらつきを補正するための補正データを、ベロシティ補正データとしてRAM24に格納している。鍵に配置された2つのスイッチの物理的な配置位置のずれや、スイッチ自体の特性から、同じ強さで鍵をオンした場合であっても、第1スイッチのオンから第2スイッチのオンにいたるまでの時間が鍵によって異なる場合がある。本実施の形態においては、これをスイッチ接点間の誤差という。そこで、本実施の形態においては、別途、鍵盤のスイッチ接点間の誤差を測定し、その誤差に基づく鍵ごとのベロシティ補正データCORを、マイクロコンピュータ1から、UART21、インタフェースユニット22およびセレクタ23を介して、RAM24に格納している。 In the present embodiment, correction data for correcting variations between switch contacts is stored in the RAM 24 as velocity correction data for each key. Even if the key is turned on with the same strength due to the physical displacement of the two switches placed on the key and the characteristics of the switch itself, the first switch is turned on and the second switch is turned on. The time until it may vary depending on the key. In the present embodiment, this is called an error between switch contacts. Therefore, in the present embodiment, an error between the switch contacts of the keyboard is separately measured, and velocity correction data COR for each key based on the error is sent from the microcomputer 1 via the UART 21, the interface unit 22, and the selector 23. And stored in the RAM 24.
図9は、本実施の形態にかかるベロシティ補正データを説明するためのグラフである。図9において、横軸は鍵を示す。また、縦軸は、測定された鍵ごとのスイッチ接点間の誤差を示す。この例では、測定装置(図示せず)において、ベロシティデータを0〜127とした場合に、ベロシティデータが「72」に相当するように押鍵し、実際に、第1スイッチのオンから第2スイッチのオンに至るまでの時間差に基づいて、本実施の形態にかかるタッチ検出回路5から、ベロシティ補正データによる補正なしで出力されたベロシティデータを取得している。実際に測定され、出力されたベロシティデータは、図9に示すように、鍵により若干のばらつきがある。そこで、本実施の形態においては、鍵ごとに誤差をキャンセルするための値を算出して、この値を、その鍵についてのベロシティ補正データとして、RAM24に格納している。このベロシティ補正データのRAM24への格納は、マイクロコンピュータ1から、UART21、インタフェースユニット22、セレクタ23を介して、RAM24に鍵ごとのベロシティ補正データを与え、RAM24に書き込むことにより実現される。 FIG. 9 is a graph for explaining velocity correction data according to the present embodiment. In FIG. 9, the horizontal axis indicates a key. The vertical axis shows the measured error between switch contacts for each key. In this example, when the velocity data is set to 0 to 127 in the measuring device (not shown), the key is depressed so that the velocity data corresponds to “72”. Based on the time difference until the switch is turned on, velocity data output without correction by velocity correction data is acquired from the touch detection circuit 5 according to the present embodiment. The actually measured and outputted velocity data varies slightly depending on the key as shown in FIG. Therefore, in the present embodiment, a value for canceling the error is calculated for each key, and this value is stored in the RAM 24 as velocity correction data for the key. The storage of the velocity correction data in the RAM 24 is realized by giving velocity correction data for each key to the RAM 24 from the microcomputer 1 via the UART 21, the interface unit 22, and the selector 23, and writing it in the RAM 24.
図9の例では、ベロシティ補正データは、誤差をキャンセルするための比の値である(100+A)/100とすれば良い。ここで、Aは、符号付きの誤差の割合(パーセント)、つまり、(実測値−理論値)/理論値である。たとえば、上記例で、ある鍵について、実際に測定されたベロシティデータが「66」であれば、ベロシティ補正データは、(100+(66−72)/72)/100となる。 In the example of FIG. 9, the velocity correction data may be (100 + A) / 100, which is the ratio value for canceling the error. Here, A is a ratio (percentage) of a signed error, that is, (actual measurement value−theoretical value) / theoretical value. For example, in the above example, if the actually measured velocity data for a certain key is “66”, the velocity correction data is (100+ (66−72) / 72) / 100.
ベロシティカウント値は、基本的には、2接点間距離をカウントレートで除したものである。つまり、以下のように書くことができる。 The velocity count value is basically the distance between two contacts divided by the count rate. In other words, it can be written as follows.
ベロシティカウント値=2接点間距離/カウントレート
そこで、誤差がA%であれば、
ベロシティカウント値=(2接点間距離×(100+A)/100)/
(カウントレート×ベロシティ補正値)
ベロシティ補正値=(100+A)/100
上記ベロシティ補正データを、カウントレートに乗じて補正値を得ることによって、接点間のばらつきをキャンセルすることが可能となる。
Velocity count value = distance between two contacts / count rate So, if the error is A%,
Velocity count value = (distance between two contacts × (100 + A) / 100) /
(Count rate x Velocity correction value)
Velocity correction value = (100 + A) / 100
By multiplying the velocity correction data by the count rate to obtain a correction value, it becomes possible to cancel the variation between the contacts.
本実施の形態によれば、鍵ごとに、スイッチ接点間のばらつき(誤差)をキャンセルするベロシティ補正データをRAM24に格納し、ベロシティ補正データを、カウントレート(本実施の形態では、指数変換されたベロシティレートデータ)と乗算することで、ベロシティカウント値に加算すべき、最終的な補正されたベロシティカウントレートを得ている。これにより、鍵ごとのスイッチ接点間のばらつきをキャンセルすることができ、鍵ごとの誤差のないタッチレスポンスデータを得ることが可能となる。 According to the present embodiment, velocity correction data for canceling variations (errors) between switch contacts is stored in the RAM 24 for each key, and the velocity correction data is converted into a count rate (in this embodiment, exponential conversion is performed). The final corrected velocity count rate to be added to the velocity count value is obtained by multiplying by the velocity rate data). Thereby, the variation between the switch contacts for each key can be canceled, and touch response data without an error for each key can be obtained.
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。 The present invention is not limited to the above embodiments, and various modifications can be made within the scope of the invention described in the claims, and these are also included in the scope of the present invention. Needless to say.
たとえば、前記実施の形態においては、鍵ごとのスイッチ接点間のばらつきをキャンセルするためのベロシティ補正データをRAM24に格納しておき、これを、ベロシティレートデータと乗算することで、補正値を得て、これにより、鍵ごとの誤差が無いタッチレスポンスデータを求めている。しかしながら、ベロシティ補正データはこれに限定されるものではない。 For example, in the above embodiment, velocity correction data for canceling the variation between the switch contacts for each key is stored in the RAM 24, and this is multiplied by the velocity rate data to obtain a correction value. Thus, the touch response data having no error for each key is obtained. However, the velocity correction data is not limited to this.
図10は、ベロシティ補正データの他の例を示すグラフである。図10のグラフにおいて、横軸は鍵、縦軸は、レート補正値(パーセント)である。この例では、鍵が高域となるのにしたがって、ベロシティカウントレートは増大する。つまり、ベロシティカウント値が大きくなりやすくなる。したがって、ベロシティカウント値の反転値であるタッチレスポンスデータは、高域になるのにしたがって小さくなる。これにより、高域ほどタッチ感が軽くなるように設定することが可能となる。 FIG. 10 is a graph showing another example of velocity correction data. In the graph of FIG. 10, the horizontal axis represents the key, and the vertical axis represents the rate correction value (percent). In this example, the velocity count rate increases as the key becomes higher. That is, the velocity count value tends to increase. Therefore, the touch response data that is the inverted value of the velocity count value becomes smaller as the frequency becomes higher. Thereby, it becomes possible to set so that a touch feeling becomes lighter as the frequency increases.
図11は、ベロシティ補正データのさらに他の例を示すグラフである。図11のグラフにおいては、61鍵(0番〜60番)の鍵のうち、17番の鍵と、18番の鍵との間をスプリットポイントとしている。スプリットポイントを境に、楽音発生回路7は、低域側と高域側とで異なる音色で楽音を発生する。この例では、低音側のベロシティカウントレートは、5%だけ小さくなり、その一方、高音側のベロシティカウントレートは、5%だけ大きくなる。つまり、低域側ではベロシティカウント値が通常より大きくなりにくく、高域側ではベロシティカウント値は大きくなりやすい。したがって、ベロシティカウント値の反転値であるタッチレスポンスデータは、低域側ではより大きくなり、高域側ではより小さくなる。これにより、高域側のメロディはより表情をつけることができ、その一方、低域側の伴奏(たとえば自動伴奏)は安定した音量とすることができる。 FIG. 11 is a graph showing still another example of velocity correction data. In the graph of FIG. 11, among the 61 keys (0 to 60), the split point is between the 17th key and the 18th key. The musical tone generation circuit 7 generates musical tones with different timbres on the low frequency side and the high frequency side at the split point. In this example, the velocity count rate on the low tone side is reduced by 5%, while the velocity count rate on the high tone side is increased by 5%. That is, the velocity count value is less likely to be higher than normal on the low frequency side, and the velocity count value is likely to increase on the high frequency side. Therefore, touch response data that is an inverted value of the velocity count value is larger on the low frequency side and smaller on the high frequency side. As a result, the melody on the high frequency side can give a more expression, while the accompaniment (for example, automatic accompaniment) on the low frequency side can have a stable volume.
このように、本発明によれば、RAM24に記憶するベロシティ補正データを変更することにより、鍵域に応じたタッチレスポンスデータや、音色に応じたタッチレスポンスデータを得ることが可能となる。以下、本実施の形態にかかるベロシティ補正データの変更について説明する。 As described above, according to the present invention, by changing the velocity correction data stored in the RAM 24, it is possible to obtain touch response data corresponding to the key range and touch response data corresponding to the timbre. Hereinafter, the change of velocity correction data according to the present embodiment will be described.
たとえば、初期的には、RAM24には接点間のばらつきをキャンセルする値が格納されている。また、図12に示すように、電子楽器のROM2にも、接点間のばらつきをキャンセルする一群の値が格納される(第1のベロシティ補正データ群:符号1201参照)。また、ROM2には、図10に示すような一群の補正値(第2のベロシティ補正データ群:符号1202参照)、並びに、音色ごとに、スプリットの際の低域用の補正値および高域用の補正値(第3のベロシティ補正データ群:符号1203参照)が記憶される。第2のベロシティ補正データも、第3のベロシティ補正データも、カウントレートに乗算すべき比の値となっている。 For example, initially, the RAM 24 stores a value for canceling the variation between the contacts. As shown in FIG. 12, a group of values for canceling the variation between the contacts is also stored in the ROM 2 of the electronic musical instrument (refer to the first velocity correction data group: reference numeral 1201). Further, the ROM 2 stores a group of correction values (second velocity correction data group: see reference numeral 1202) as shown in FIG. 10, and low band correction values and high band values for each tone. Are stored (third velocity correction data group: see reference numeral 1203). Both the second velocity correction data and the third velocity correction data have a ratio value to be multiplied by the count rate.
図13に示すように、たとえば、マイクロコンピュータ1が、高音域のタッチ感を軽くするような設定を指示するユーザのスイッチ群4の操作を受信すると(ステップ1301)、ROM2から、第2のベロシティ補正データ群および第1のベロシティデータ群を読み出す(ステップ1302、1303)。次いで、同じ鍵に関する第1のベロシティ補正データおよび第2のベロシティ補正データを乗算し(ステップ1304)、各鍵についての乗算値を、新たなベロシティ補正データとして、タッチ検出回路5のRAM24に書き込む(ステップ1305)。このようにして得られた乗算値は、接点間のばらつきを考慮しつつ、音域によるタッチ感を考慮した、カウントレートに乗算すべき比の値となる。 As shown in FIG. 13, for example, when the microcomputer 1 receives the user's operation of the switch group 4 instructing the setting to reduce the touch feeling in the high frequency range (step 1301), the second velocity is read from the ROM 2. The correction data group and the first velocity data group are read (steps 1302, 1303). Next, the first velocity correction data and the second velocity correction data relating to the same key are multiplied (step 1304), and the multiplication value for each key is written in the RAM 24 of the touch detection circuit 5 as new velocity correction data ( Step 1305). The multiplication value obtained in this manner is a ratio value to be multiplied by the count rate in consideration of the touch feeling due to the sound range while considering the variation between the contacts.
また、図14に示すように、マイクロコンピュータ1が、高音域の音色および低音域の音色、および、スプリットポイントを含むキースプリットの指示を受信すると(ステップ1401)、ROM2から、低域について設定された音色についての低域用の補正値を読み出すとともに(ステップ1402)、高域について設定された音色についての高域用の補正値を読み出す(ステップ1403)。また、マイクロコンピュータ1は、ROM2から、第1のベロシティデータ群を読み出す(ステップ1404)。 Further, as shown in FIG. 14, when the microcomputer 1 receives a high-pitched tone tone, a low-pitched tone color, and a key split instruction including a split point (step 1401), the low-frequency range is set from the ROM 2. The low-frequency correction value for the timbre is read (step 1402), and the high-frequency correction value for the timbre set for the high frequency is read (step 1403). The microcomputer 1 reads the first velocity data group from the ROM 2 (step 1404).
次いで、マイクロコンピュータ1は、低域に属する鍵について、同じ鍵に関する第1のベロシティ補正データ、および、低域用補正値を乗算し(ステップ1405)、かつ、高域に蔵する鍵について、同じ鍵に関する第1のベロシティ補正データ、および、高域用補正値を乗算する(ステップ1406)。マイクロコンピュータ1は、各鍵についての乗算値を、新たなベロシティ補正データとして、タッチ検出回路5のRAM24に書き込む(ステップ1407)。このようにして得られた乗算値は、接点間のばらつきを考慮しつつ、スプリットのときの高域、低域の音量差を考慮したものとなる。 Next, the microcomputer 1 multiplies the first velocity correction data related to the same key and the low frequency correction value for the keys belonging to the low frequency band (step 1405), and the same for the keys stored in the high frequency band. Multiply the first velocity correction data related to the key and the high frequency correction value (step 1406). The microcomputer 1 writes the multiplication value for each key into the RAM 24 of the touch detection circuit 5 as new velocity correction data (step 1407). The multiplication value obtained in this way takes into account the difference in volume between the high frequency and the low frequency at the time of splitting while considering the variation between the contacts.
無論、叙述したように、第1のベロシティ補正データと乗算することなく、第2のベロシティ補正データ、或いは、第3のベロシティ補正データを、ベロシティ補正データとして、タッチ検出回路5のRAM24に書き込んでも良い。 Of course, as described above, the second velocity correction data or the third velocity correction data may be written in the RAM 24 of the touch detection circuit 5 as velocity correction data without multiplication with the first velocity correction data. good.
1 マイクロコンピュータ
2 ROM
3 RAM
4 スイッチ類
5 タッチ検出回路
6 鍵盤
7 楽音発生回路
8 波形ROM
9 DAC
10 増幅回路
11、12 スピーカ
21 UART
22 インタフェースユニット
23 セレクタ
24 RAM
25 タイミング発生器
27 キーインユニット
28 ベロシティカウントレート発生器
29 ベロシティカウントユニット
1 Microcomputer 2 ROM
3 RAM
4 Switches 5 Touch detection circuit 6 Keyboard 7 Musical sound generation circuit 8 Waveform ROM
9 DAC
10 Amplifying circuit 11, 12 Speaker 21 UART
22 Interface unit 23 Selector 24 RAM
25 Timing generator 27 Key-in unit 28 Velocity count rate generator 29 Velocity count unit
Claims (8)
前記鍵の2つのスイッチのうち第1のスイッチのオンに伴って、当該鍵に関するカウント値の計数を開始し、所定のタイミングで、現在のカウント値に、カウントレート値を加算するベロシティカウント手段と、
前記現在のカウント値及び複数のカウントレート値を記憶する記憶手段と、
前記鍵の2つのスイッチのうち第2のスイッチのオンに伴って、前記鍵の現在のカウント値に基づくタッチレスポンスデータを出力するインタフェース手段と、
前記記憶手段に記憶された複数のカウントレート値の中から前記現在のカウント値に応じたカウントレート値を読み出すとともに、当該読み出されたカウントレート値に基づいて前記現在のカウント値に加算すべきカウントレート値を算出するカウントレート値算出手段と、を備え、
前記記憶手段がさらに、前記鍵ごとに前記カウントレート値を補正するための補正データを記憶し、
前記カウントレート値算出手段が、前記算出されたカウントレート値を、前記補正データに基づいて補正することにより、補正されたカウントレート値を算出し、前記補正されたカウントレート値を、前記ベロシティカウント手段に出力することを特徴とするタッチレスポンス検出装置。 A touch response detection device that calculates touch response data indicating a key pressing speed by measuring an on-time difference between two switches spaced apart from each key constituting a keyboard,
Velocity counting means that starts counting the count value for the key when the first switch of the two switches of the key is turned on, and adds the count rate value to the current count value at a predetermined timing; ,
Storage means for storing the current count value and a plurality of count rate values ;
Interface means for outputting touch response data based on a current count value of the key when a second switch of the two switches of the key is turned on;
A count rate value corresponding to the current count value is read out from a plurality of count rate values stored in the storage means, and should be added to the current count value based on the read count rate value Count rate value calculating means for calculating a count rate value,
The storage means further stores correction data for correcting the count rate value for each key,
The count rate value calculation means calculates the corrected count rate value by correcting the calculated count rate value based on the correction data, and the corrected count rate value is converted into the velocity count. A touch response detecting device characterized in that the output is output to means.
前記カウントレート値算出手段が、前記カウントレート値と、前記補正データとを乗算することを特徴とする請求項1又は2に記載のタッチレスポンス検出装置。 The correction data for correcting the count rate value stored in the storage means is a ratio value for increasing or decreasing the count rate value,
The count rate value calculating means, and said count rate value, touch response detecting device according to claim 1 or 2, characterized in that multiplying the correction data.
前記鍵盤を構成する各鍵の2つのスイッチのオン時間差を計測することにより、押鍵速度を示すタッチレスポンスデータを算出するタッチレスポンス検出手段と、
当該タッチレスポンスデータおよび押鍵された鍵の音高を受信して、かつ、指定された音色で、受信した音高で、かつ、当該タッチレスポンスデータに基づくベロシティの楽音の生成を、楽音発生手段に指示する制御手段と、
前記制御手段から指示された音色、音高、および、ベロシティの楽音データを生成する楽音発生手段と、
を備えた電子楽器であって、
前記タッチレスポンス検出手段は、
前記鍵の2つのスイッチのうち第1のスイッチのオンに伴って、当該鍵に関するカウント値の計数を開始し、所定のタイミングで、現在のカウント値に、カウントレート値を加算するベロシティカウント手段、
前記現在のカウント値及び複数のカウントレート値を記憶する記憶手段、
前記鍵の2つのスイッチのうち第2のスイッチのオンに伴って、前記鍵の現在のカウント値に基づくタッチレスポンスデータを出力するインタフェース手段、並びに、
前記記憶手段に記憶された複数のカウントレート値の中から前記現在のカウント値に応じたカウントレート値を読み出すとともに、当該読み出されたカウントレート値に基づいて前記現在のカウント値に加算すべきカウントレート値を算出するカウントレート値算出手段、を有し、
前記記憶手段がさらに、前記鍵ごとに前記カウントレート値を補正するための補正データを記憶し、かつ、前記カウントレート値算出手段が、前記算出されたカウントレート値を、前記補正データに基づいて補正することにより、補正されたカウントレート値を算出し、前記補正されたカウントレート値を、前記ベロシティカウント手段に出力する、
ことを特徴とする電子楽器。 A keyboard comprising a plurality of keys, each key having two switches spaced apart from each other;
Touch response detecting means for calculating touch response data indicating a key pressing speed by measuring an on-time difference between two switches of each key constituting the keyboard;
Musical tone generating means for receiving the touch response data and the pitch of the pressed key, and generating a musical tone of velocity with a specified tone color based on the received pitch and the touch response data. Control means for instructing
Musical tone generation means for generating musical tone data of tone color, pitch and velocity instructed by the control means;
An electronic musical instrument with
The touch response detecting means includes
Velocity counting means that starts counting the count value related to the key when the first switch of the two switches of the key is turned on, and adds the count rate value to the current count value at a predetermined timing;
Storage means for storing the current count value and a plurality of count rate values ;
With the on of the second switch of the two switches of the key, the interface means for outputting a touch response data based on the current count value of the key, and,
A count rate value corresponding to the current count value is read out from a plurality of count rate values stored in the storage means, and should be added to the current count value based on the read count rate value Count rate value calculating means for calculating the count rate value,
The storage means further stores correction data for correcting the count rate value for each key, and the count rate value calculation means calculates the calculated count rate value based on the correction data. By correcting, the corrected count rate value is calculated, and the corrected count rate value is output to the velocity counting means.
An electronic musical instrument characterized by that.
音高の変化にしたがって、その値が増大し、或いは、減少するような第2の補正データ、および/または、楽音発生手段により発音される音色ごとに、当該音色が割り当てられる音域に基づく第3の補正データと、を記憶する補正データ記憶手段を備え、
前記制御手段が、前記タッチレスポンス検出手段の、インタフェース手段を介して、前記タッチレスポンス検出手段の記憶手段に、前記第1の補正データ、第2の補正データ或いは第3の補正データを書き込むように構成されたことを特徴とする請求項7に記載の電子楽器。 Furthermore, first correction data that is a value for canceling an error in a time difference from turning on the first switch for each key to turning on the second switch for correcting the count rate value;
The second correction data whose value increases or decreases according to the change in the pitch, and / or the third based on the tone range to which the tone color is assigned for each tone color generated by the tone generation means. Correction data storage means for storing the correction data,
The control means writes the first correction data, the second correction data, or the third correction data into the storage means of the touch response detection means via the interface means of the touch response detection means. 8. The electronic musical instrument according to claim 7 , wherein the electronic musical instrument is configured.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006246321A JP5145675B2 (en) | 2006-09-12 | 2006-09-12 | Touch response detection device and electronic musical instrument |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006246321A JP5145675B2 (en) | 2006-09-12 | 2006-09-12 | Touch response detection device and electronic musical instrument |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008070407A JP2008070407A (en) | 2008-03-27 |
JP2008070407A5 JP2008070407A5 (en) | 2011-09-01 |
JP5145675B2 true JP5145675B2 (en) | 2013-02-20 |
Family
ID=39292073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006246321A Active JP5145675B2 (en) | 2006-09-12 | 2006-09-12 | Touch response detection device and electronic musical instrument |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5145675B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5652415B2 (en) * | 2012-03-19 | 2015-01-14 | カシオ計算機株式会社 | Touch detection device, touch detection method, and electronic musical instrument |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5843757B2 (en) * | 1978-07-28 | 1983-09-28 | ヤマハ株式会社 | Touch response device for electronic musical instruments |
JPS63271498A (en) * | 1987-04-30 | 1988-11-09 | カシオ計算機株式会社 | Touch responder |
JP3373647B2 (en) * | 1994-04-22 | 2003-02-04 | 株式会社河合楽器製作所 | Electronic keyboard instrument |
JPH0934458A (en) * | 1995-07-17 | 1997-02-07 | Casio Comput Co Ltd | Musical sound control device |
JPH10124052A (en) * | 1996-10-24 | 1998-05-15 | Kawai Musical Instr Mfg Co Ltd | Touch detecting device |
-
2006
- 2006-09-12 JP JP2006246321A patent/JP5145675B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2008070407A (en) | 2008-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4702392B2 (en) | Resonant sound generator and electronic musical instrument | |
US5569870A (en) | Keyboard electronic musical instrument having partial pedal effect circuitry | |
JP5188863B2 (en) | Electronic musical instruments | |
JP6822578B2 (en) | Electronic musical instrument | |
JP5145675B2 (en) | Touch response detection device and electronic musical instrument | |
JPH03282498A (en) | Musical sound generating device | |
US5308917A (en) | Keyboard touch response setting apparatus | |
JP4935556B2 (en) | Electronic musical instrument resonance sound adding device and electronic musical instrument | |
JPH06195075A (en) | Musical tone generating device | |
JP2008070408A (en) | Touch response detecting apparatus and electronic musical instrument | |
WO2019220623A1 (en) | Signal processing device, signal processing method, and program | |
JP5169753B2 (en) | Resonance sound adding device and electronic musical instrument | |
US6316711B2 (en) | Musical sound signal generation apparatus | |
JP3292331B2 (en) | Electronic musical instrument | |
JP4191073B2 (en) | Waveform data output device | |
US5434348A (en) | Electronic keyboard instrument | |
JP2000330561A (en) | Electronic keyboard musical instrument | |
US20230068966A1 (en) | Signal generation device, signal generation method and non-transitory computer-readable storage medium | |
JP4432951B2 (en) | Musical sound generator and electronic musical instrument | |
JPH07181966A (en) | Data setting device of electronic musical instrument | |
JP3843800B2 (en) | Touch control device and touch control method | |
JP3581763B2 (en) | Electronic musical instrument | |
JP3493838B2 (en) | Electronic musical instrument | |
JP3419174B2 (en) | Electronic musical instrument | |
JP2915753B2 (en) | Electronic musical instrument |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090827 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110816 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110913 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120515 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120801 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120809 |
|
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: 20121030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121112 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5145675 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151207 Year of fee payment: 3 |