JP3843800B2 - タッチ制御装置及びタッチ制御方法 - Google Patents
タッチ制御装置及びタッチ制御方法 Download PDFInfo
- Publication number
- JP3843800B2 JP3843800B2 JP2001317949A JP2001317949A JP3843800B2 JP 3843800 B2 JP3843800 B2 JP 3843800B2 JP 2001317949 A JP2001317949 A JP 2001317949A JP 2001317949 A JP2001317949 A JP 2001317949A JP 3843800 B2 JP3843800 B2 JP 3843800B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- touch
- touch data
- velocity
- maximum value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、電子楽器に適用されるタッチ制御装置及びタッチ制御方法に関し、特にユーザの打鍵力に応じたタッチレスポンスを得るためのタッチカーブを生成する技術に関する。
【0002】
【従来の技術】
従来、例えば電子ピアノのような電子鍵盤楽器におけるタッチレスポンスの特性は、タッチカーブによって規定されている。タッチレスポンスを制御できる鍵盤装置の各鍵は、第1の押圧深さでオンになる第1キースイッチS1及びこの第1の押圧深さより深い第2の押圧深さでオンになる第2キースイッチS2を備えている。
【0003】
これら第1キースイッチS1及び第2キースイッチS2のオン又はオフを表す信号はタッチセンサに供給される。タッチセンサは、第1キースイッチS1のオンを表す信号を受け取ってから第2キースイッチS2のオンを表す信号を受け取るまでの時間を計測することにより押鍵速度Δt(=S2−S1)を検出する。この押鍵速度Δtは、例えば図11に示すように、128段階のデジタル値に変換されてタッチデータとして出力される。
【0004】
このタッチセンサから出力されたタッチデータは、更に図12に示すようなタッチカーブT1〜T3の何れかに従って、発音に使用される音量及び音色を決定するためのベロシティ値に変換される。ユーザは、何れのタッチカーブT1〜T3を用いるかを選択でき、これを「タッチカーブセレクト機能」という。
【0005】
図12におけるタッチカーブT1は「ノーマル(Normal)」と呼ばれ、標準的な打鍵力を有する者が演奏した時に最もアコースティックピアノの音に近づくように設定されている。タッチカーブT2は「ライト(Light)」と呼ばれ、弱いタッチで大きなベロシティ値を得るために使用される。このタッチカーブT2は、例えば低年齢者や高齢者といった標準より弱い打鍵力を有する者に好適である。また、タッチカーブT3は「ヘビー(Heavy)」と呼ばれ、強いタッチで小さなベロシティ値を得るために使用される。このタッチカーブT3は、標準より強い打鍵力を有する者に好適である。
【0006】
このようなタッチカーブは、具体的には、図13に示すような変換テーブルを用いて実現されている。この変換テーブルは、ノーマル、ライト及びヘビーの各々について、00H〜7FH(末桁の「H」は先行する記号が16進数表記であることを表す。以下においても同じ)といった各タッチデータに対応するベロシティ値を記憶することにより構成されている。そして、タッチデータが与えられると、その時に選択されているノーマル、ライト及びヘビーの何れかから、与えられたタッチデータに対応するベロシティ値が読み出され、発音時の音量及び音色を決定するために使用される。
【0007】
【発明が解決しようとする課題】
上述したタッチカーブT1〜T3は、通常、メーカーから提供されるのでユーザが任意に変更することはできない。そこで、特開2000−215965号公報は、ユーザの好みや押鍵力に合ったタッチレスポンスを得るためのタッチカーブを生成できる「タッチ制御装置及びタッチ制御方法」を開示している。この公報は、ユーザが最大の力で打鍵した時のタッチデータに基づいてタッチカーブを補正する技術、及びユーザがメゾフォルテの力で打鍵した時のタッチデータの平均値から、標準的なメゾフォルテのベロシティ値とベロシティの最大値とを用いてタッチカーブを補正する技術を開示している。
【0008】
しかしながら、上述した技術では、所望のタッチカーブを作るための処理が複雑であるので、所望のタッチカーブを簡単な処理によって得ることのできる技術が望まれている。
【0009】
本発明は、このような要請に応えるためになされたもので、ユーザに好適なタッチレスポンスが得られるタッチカーブを簡単に作ることができるタッチ制御装置及びタッチ制御方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明の第1の態様に係るタッチ制御装置は、上記目的を達成するために、打鍵の強さを表すタッチデータを発生する鍵盤装置と、前記鍵盤装置で発生されたタッチデータの最大値を算出する最大値算出部と、前記鍵盤装置で発生されたタッチデータの平均値を算出する平均値算出部と、前記最大値算出部で算出されたタッチデータの最大値を発音に使用されるベロシティの最大値に対応させた点、前記平均値算出部で算出された平均値を前記ベロシティの所定値に対応させた点、及びタッチデータの最小値を前記ベロシティの最小値に対応させた点を結ぶ線から成るタッチカーブを生成する制御部、とを備えている。
【0011】
本発明の第1の態様に係るタッチ制御装置は、ユーザが鍵盤装置を打鍵することにより得られたタッチデータの最大値及び平均値並びに必然的に定まるタッチデータの最小値をベロシティの最大値、所定値及び最小値にそれぞれ対応させた3点を線で結ぶことによりタッチカーブを生成する。従って、簡単な処理であるにも拘わらず、ユーザに好適なタッチレスポンスを得ることのできるタッチカーブを生成できる。
【0012】
本発明の第1の態様に係るタッチ制御装置において、前記タッチカーブは、前記最大値算出部で算出されたタッチデータの最大値を前記ベロシティの最大値に対応させた点と前記平均値算出部で算出された平均値をベロシティの所定値に対応させた点とを結ぶ直線、及び、前記平均値算出部で算出された平均値をベロシティの所定値に対応させた点とタッチデータの最小値をベロシティの最小値に対応させた点とを結ぶ直線から構成できる。この構成によれば、簡単な一次方程式でベロシティの各値を算出できるので、タッチカーブを生成するための処理が極めて簡単になる。
【0013】
また、この本発明の第1の態様に係るタッチ制御装置において、前記ベロシティの所定値は、前記鍵盤装置がメゾフォルテの強さで押された時のベロシティ値とすることができる。メゾフォルテの強さで押された時のベロシティ値は、例えば「80」程度とすることができる。この構成によれば、所定値を簡単に定めることができるので、タッチカーブを生成するための処理が簡単になる。
【0014】
また、本発明の第1の態様に係るタッチ制御装置において、前記最大値算出部及び平均値算出部は、最弱から最強に至るまでの力で前記鍵盤装置が複数回打鍵されることにより得られたタッチデータに基づいて、タッチデータの最大値及びタッチデータの平均値をそれぞれ算出するように構成できる。この構成によれば、ユーザの打鍵力をタッチカーブに正確に反映させることができる。
【0015】
更に、本発明の第1の態様に係るタッチ制御装置において、前記最大値算出部及び平均値算出部は、所定の曲が前記鍵盤装置で弾かれることにより得られたタッチデータに基づいて、タッチデータの最大値及びタッチデータの平均値をそれぞれ算出するように構成できる。この構成によれば、ユーザが弾いた曲に基づいてタッチカーブが生成されるので、ユーザの負担が軽減される。
【0016】
また、本発明の第2の態様に係るタッチ制御方法は、上記と同様の目的で、鍵盤装置からの打鍵の強さを表すタッチデータの最大値を算出するステップと、前記鍵盤装置からのタッチデータの平均値を算出するステップと、前記算出されたタッチデータの最大値を発音に使用されるベロシティの最大値に対応させた点、前記算出された平均値を前記ベロシティの所定値に対応させた点、及びタッチデータの最小値を前記ベロシティの最小値に対応させた点を結ぶ線から成るタッチカーブを生成するステップ、とを備えている。
【0017】
本発明の第2の態様に係るタッチ制御方法において、前記タッチカーブは、前記算出されたタッチデータの最大値を前記ベロシティの最大値に対応させた点と前記算出された平均値をベロシティの所定値に対応させた点とを結ぶ直線、及び、前記算出された平均値をベロシティの所定値に対応させた点とタッチデータの最小値をベロシティの最小値に対応させた点とを結ぶ直線から構成できる。
【0018】
この場合、前記ベロシティの所定値は、前記鍵盤装置がメゾフォルテの強さで押された時のベロシティ値とすることができる。また、前記タッチデータの最大値を算出するステップ及び前記タッチデータの平均値を算出するステップは、最弱から最強に至るまでの力で前記鍵盤装置が複数回打鍵されることにより得られたタッチデータに基づいて、タッチデータの最大値及びタッチデータの平均値をそれぞれ算出するように構成できる。更に、前記タッチデータの最大値を算出するステップ及び前記タッチデータの平均値を算出するステップは、所定の曲が前記鍵盤装置で弾かれることにより得られたタッチデータに基づいて、タッチデータの最大値及びタッチデータの平均値をそれぞれ算出するように構成できる。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態に係るタッチ制御装置及びタッチ制御方法を図面を参照しながら詳細に説明する。以下では、タッチ制御装置は電子楽器に組み込まれているものとする。従って、本発明の理解を容易にするために、電子楽器の全体の構成及び動作をも含めて説明する。
【0020】
図1は、本発明の実施の形態に係るタッチ制御装置が適用された電子楽器の構成を示すブロック図である。この電子楽器は、システムバス30によって相互に接続された、中央処理装置(以下、「CPU」という)10、プログラムメモリ11、ワークメモリ12、キースキャン回路13、パネルスキャン回路14及び楽音発生部15から構成されている。システムバス30は、上述した各構成要素間でアドレス信号、データ信号、制御信号等を送受するために使用される。
【0021】
CPU10は、プログラムメモリ11に記憶されている制御プログラムに従って電子楽器の全体を制御する。本発明の最大値算出部、平均値算出部及び制御部は、CPU10の処理によって実現されている。このCPU10で実行される処理の内容は、後にフローチャートを参照しながら詳細に説明する。
【0022】
プログラムメモリ11は、例えばリードオンリメモリ(ROM)から構成されており、上述した制御プログラムの他に、CPU10が使用する種々の固定データを記憶している。また、このプログラムメモリ11の中には、タッチカーブを構成するベロシティ値を、図13に示すような変換テーブルの形式で記憶するためのタッチカーブメモリ110が設けられている。
【0023】
この実施の形態では、タッチカーブメモリ110には、図2に示した5種類のタッチカーブT1、T2、T2+、T3及びT3+を構成するベロシティ値が格納されているものとする。なお、タッチカーブT1、T2及びT3は従来の技術の欄で説明したものと同じである。また、タッチカーブT2+は、「ライトプラス(Light Plus)」と呼ばれ、ライトより更に弱いタッチで大きなベロシティ値を得るために使用される。また、タッチカーブT3+は「ヘビープラス(Heavy Plus)」と呼ばれ、ヘビーより更に強いタッチで小さなベロシティ値を得るために使用される。
【0024】
ワークメモリ12は、例えばランダムアクセスメモリ(RAM)で構成されて居る。このワークメモリ12は、この電子楽器で処理が実行される際に、種々のデータを一時記憶するために使用される。このワークメモリ12には、電子楽器を制御するための各種レジスタ、カウンタ、フラグ等が定義されている。これらの詳細については、以下において出現する都度説明する。
【0025】
また、このワークメモリ12の中には、ユーザが作成したタッチカーブを記憶するためのユーザタッチカーブメモリ120が設けられている。この実施の形態では、ユーザは、ユーザ1及びユーザ2といった2種類のタッチカーブを作成できるものとする。しかし、本発明では、ユーザが作成できるタッチカーブの種類は2種類に限定されず任意である。
【0026】
キースキャン回路13には複数の鍵を備えた鍵盤装置20が接続されている。この鍵盤装置20は、押鍵によって発音を指示し、離鍵によって消音を指示するために使用される。この鍵盤装置20としては、例えば、従来の技術の欄で説明したような、異なる押圧深さでそれぞれオンになる第1キースイッチS1及び第2キースイッチS2を各鍵に備えた2接点方式の鍵盤装置が用いられている。
【0027】
このキースキャン回路13は、CPU10からの指令に応答して鍵盤装置20のての全キースイッチをスキャンする。そして、このスキャンにより得られた全てのキースイッチの開閉状態を示す信号に基づいてキーデータを作成する。キーデータは、各鍵を1ビットに対応させたビット列から成り、各ビットは、例えば「1」で押鍵中、「0」で離鍵中であることを表す。キースキャン回路13は、第2キースイッチS2がオンになっている場合に押鍵中であることを表すデータ「1」を作成し、第1キースイッチS1がオフになっている場合は離鍵中であることを表すデータ「0」を作成する。作成されたキーデータは、システムバス30を介してCPU10に送られる。
【0028】
また、キースキャン回路13は、押鍵によって第1キースイッチS1がオンになってから第2キースイッチS2がオンになるまでの時間を計測して押鍵速度Δtを生成し、この生成した押鍵速度Δtに基づいてタッチデータを生成する。即ち、キースキャン回路13は、図11に示すように、押鍵速度Δtを128段階のデジタル値に変換してタッチデータとして出力する。このタッチデータは、システムバス30を介してCPU10に送られる。CPU10は、その時点で選択されているタッチカーブT1〜T3の何れかに従って、受け取ったタッチデータに対応するベロシティ値をタッチカーブメモリ110から読み出し、音量及び音色を制御する。
【0029】
パネルスキャン回路14には操作パネル21が接続されている。操作パネル21は、図3に示すように、LCD40、アップスイッチ50及びダウンスイッチ51から成るバリュースイッチ、録音スイッチ(REC)52並びにストップスイッチ(STOP)53を搭載している。LCD40は、各種メッセージを表示するために使用される。アップスイッチ50及びダウンスイッチ51は、LCD40にメッセージとして表示されるメニューの選択に使用される。録音スイッチ52は、ユーザ1及びユーザ2のタッチカーブを作成する際に録音を開始させるために使用される。ストップスイッチ53は、タッチカーブを作成するための録音を停止させると共にユーザ1又はユーザ2のタッチカーブの生成処理を開始させるために使用される。
【0030】
なお、実際の電子楽器の操作パネルには、上記以外に、種々のパネルスイッチ、これらパネルスイッチの設定状態(ON/OFF)を表示するLED表示器等が設けられているが図示を省略してある。
【0031】
パネルスキャン回路14は、CPU10からの指令に応答して操作パネル21の各スイッチをスキャンする。そして、このスキャンにより得られた各スイッチの開閉状態を示す信号に基づいて、各スイッチを1ビットに対応させたパネルデータを作成する。各ビットは、例えば「1」でスイッチのオン、「0」でオフ状態を表す。このパネルデータは、システムバス30を介してCPU10に送られる。CPU10は、このパネルデータに基づいてパネルイベントが発生したかどうかを判断する。また、パネルスキャン回路14は、CPU10から送られてきた表示データをLCD40に送る。これにより、文字や図形から成るメッセージがLCD40に表示される。
【0032】
楽音発生部15は、CPU10からの指示に応答してデジタル楽音信号を発生する。この楽音発生部で発生されたデジタル楽音信号は、D/A変換部22に送られる。D/A変換部22は、受け取ったデジタル楽音信号をアナログ楽音信号に変換してアナログ信号処理部23に送る。アナログ信号処理部23は、アナログ楽音信号に例えば音響効果信号を付加して増幅器24に送る。増幅器24は、アナログ信号処理部23からの信号を増幅してスピーカ25に送る。これにより、スピーカ25から楽音が発生される。
【0033】
次に、以上のように構成される電子楽器において、現在のタッチレスポンスをユーザの好みのタッチレスポンスに変更するためにタッチカーブを生成する場合の操作を説明する。
【0034】
ユーザは、先ず、電子楽器に一般的に備えられているモード設定機能を用いて、電子楽器の動作モードをタッチカーブ選択モードに移行させる。タッチカーブ選択モードに入ると、その時点で選択されているタッチカーブがLCD40に表示される。図3は、「TOUCH=USER1」という表示によってユーザ1のタッチカーブが選択されている例を示している。この状態でアップスイッチ50又はダウンスイッチ51が操作されると、「USER1」の部分の表示が変更されてタッチカーブの選択状態が変更される。
【0035】
なお、ユーザ1及びユーザ2のタッチカーブは、所期状態ではノーマルのタッチカーブT1と同じである。一旦ユーザ1及びユーザ2のタッチカーブが作成されてユーザタッチカーブメモリ120に格納されると、以後は、それらのタッチカーブが更に変更されるまで有効である。
【0036】
以下では、ユーザ1のタッチカーブを生成する場合を例に挙げて説明する。LCD40に「USER1」が表示された状態で、録音スイッチ52が押されると、図4に示すような「START PLAYING SOFT→LOUD」というメッセージがLCD40に表示され、録音モードに入る。ユーザは、この状態で、最弱から最強に至るまでの力で鍵盤装置20を満遍なく打鍵する。
【0037】
ユーザによる打鍵が開始されると、図5に示すような「PRESS STOP、WHEN FINISHED」というメッセージがLCD40に表示される。この際、LCD40の右下角に音符記号が点滅し、録音中であることを表す。
【0038】
ユーザによる打鍵が完了し、ユーザがストップスイッチ53を押すと、録音されたデータの解析、具体的には、タッチデータの最大値及び平均値を算出し、これらに基づいてタッチカーブを生成する処理が実行される。そして、タッチカーブが生成が完了してユーザタッチカーブメモリ120に格納されると、図6に示すような「ANALYSIS COMPLETED」というメッセージがLCD40に表示される。その後、図3に示した表示に戻る。以後、ユーザ1のタッチカーブに従ったベロシティ値で発音させることが可能になる。
【0039】
次に、上記のように構成された本発明に係るタッチ制御装置が適用された電子楽器の動作を図7〜図9に示したフローチャートを参照しながら説明する。
【0040】
(1−1)メイン処理
図7は本発明の実施の形態に係るタッチ制御装置が適用された電子楽器のメイン処理を示すフローチャートである。このメイン処理ルーチンは電源の投入により起動される。電源が投入されると、先ず、イニシャライズが行われる(ステップS10)。このイニシャライズでは、CPU10の内部のハードウェアが初期状態に設定されると共に、ワークメモリ12に定義されているレジスタ、カウンタ、フラグ等に初期値が設定される。
【0041】
イニシャライズが終了すると、次いで、パネルスイッチのイベントが検出されたかどうかが調べられる(ステップS11)。即ち、CPU10は、パネルスキャン回路14からパネルデータを取り込み、前回にステップS11で取り込まれたパネルデータから変化しているかどうかを調べる。
【0042】
このステップS11で、パネルスイッチイベントが検出されたことが判断されると、パネルスイッチイベントの原因になったパネルスイッチに割り当てられている機能を実現するためのパネルスイッチイベント処理が実行される(ステップS12)。このパネルスイッチイベント処理の詳細は後述する。一方、上記ステップS11でパネルスイッチイベントが検出されなかったことが判断された時は、ステップS12の処理はスキップされる。
【0043】
次いで、キーイベントが検出されたかどうかが調べられる(ステップS13)。即ち、CPU10は、キースキャン回路13からキーデータを取り込み、前回にステップS13で取り込まれたキーデータから変化しているかどうかを調べる。なお、キーイベントが検出された場合は、キーデータ中のビットが「0」から「1」に変化した場合はオンイベントが、「1」から「0」に変化した場合はオフイベントがそれぞれ発生したものと判断される。
【0044】
このステップS13で、キーイベントが検出されたことが判断されると、キーイベントの原因となった鍵で指定される音の発生又は消去を行うためのキーイベント処理が実行される(ステップS14)。このキーイベント処理では、タッチカーブを生成するための処理も実行される。キーイベント処理の詳細は後述する。一方、上記ステップS13でキーイベントが検出されなかったことが判断された時は、ステップS14の処理はスキップされる。
【0045】
次いで、「その他の処理」が行われる(ステップS15)。この「その他の処理」では、MIDI処理等が行われる。その後ステップS11に戻り、以下ステップS11〜S15の処理が繰り返される。この繰り返し実行の過程で、パネルスイッチイベント若しくはキーイベントが発生し、又はMIDIインタフェース回路(図示しない)でデータを受信すると、それらに応じた処理が行われる。これにより電子楽器としての各種機能が発揮される。
【0046】
(1−2)パネルスイッチイベント処理
次に、上記メイン処理ルーチンのステップS12で行われるパネルスイッチイベント処理の詳細を、図8に示したフローチャートを参照しながら説明する。
【0047】
パネルスイッチイベント処理では、先ず、タッチカーブ選択モードであるかどうかが調べられる(ステップS20)。ここで、タッチカーブ選択モードであることが判断されると、その時点で選択されているタッチカーブの名称を示すメッセージ、例えば、図3に示す「TOUCH=USER1」というメッセージがLCD40に表示される(ステップS21)。
【0048】
次いで、アップスイッチ50のオンイベントがあるかどうかが調べられる(ステップS22)。ここで、アップスイッチ50のオンイベントがあることが判断されると、タッチカーブ名称が上方に更新される(ステップS23)。即ち、タッチカーブの名称が、ライトプラス→ライト→ノーマル→ヘビー→ヘビープラス→ユーザ1→ユーザ2の方向に1つだけ変化する。一方、アップスイッチ50のオンイベントがないことが判断されると、ステップS23の処理はスキップされる。
【0049】
次いで、ダウンスイッチ51のオンイベントがあるかどうかが調べられる(ステップS24)。ここで、ダウンスイッチ51のオンイベントがあることが判断されると、タッチカーブ名称が下方に更新される(ステップS25)。即ち、タッチカーブの名称が、ライトプラス←ライト←ノーマル←ヘビー←ヘビープラス←ユーザ1←ユーザ2の方向に1つだけ変化する。一方、ダウンスイッチ51のオンイベントがないことが判断されると、ステップS25の処理はスキップされる。
【0050】
次いで、録音スイッチ52のオンイベントがあるかどうかが調べられる(ステップS26)。なお、図示は省略しているが、録音スイッチ52のオンイベントの有無は、録音スイッチ52が押された時点でユーザ1又はユーザ2のタッチカーブが選択されている場合にのみ有効になるように制御される。
【0051】
このステップS26で、録音スイッチ52のオンイベントがあることが判断されると、RECフラグが「1」にセットされる(ステップS27)。このRECフラグは、ワークメモリ12に設けられたフラグであり、電子楽器が録音モードであるかどうかを記憶する。このRECフラグが「1」にセットされることにより、電子楽器は録音モードに入る。
【0052】
次いで、打鍵カウンタの内容n、累算タッチデータレジスタの内容TDsum及び最大タッチデータレジスタの内容TDmaxがゼロにクリアされる(ステップS28)。打鍵カウンタは、ワークメモリ12に設けられたカウンタであり、録音モード中になされた打鍵の回数を計数するために使用される。累算タッチデータレジスタは、ワークメモリ12に設けられたレジスタであり、録音モード中になされた打鍵により発生したタッチデータを累積加算する。最大タッチデータレジスタは、ワークメモリ12に設けられたレジスタであり、録音モード中になされた打鍵により発生したタッチデータの最大値を記憶する。
【0053】
次いで、打鍵を促すメッセージ、例えば、図4に示すような「START PLAYING SOFT→LOUD」というメッセージがLCD40に表示される(ステップS29)。上記ステップS26で録音スイッチ52のオンイベントがないことが判断されると、ステップS27〜S29の処理はスキップされる。
【0054】
次いで、ストップスイッチ53のオンイベントがあるかどうかが調べられる(ステップS30)。ここで、ストップスイッチ53のオンイベントがあることが判断されると、タッチカーブを生成する処理が行われる(ステップS31)。この処理では、打鍵カウンタの内容n、累積タッチデータレジスタの内容TDsum及び最大タッチデータレジスタの内容TDmaxに基づいてタッチカーブが生成される(詳細は後述する)。
【0055】
次いで、タッチデータの生成が完了すると、その旨を表す、例えば図6に示すような「ANALYSIS COMPLETED」というメッセージがLCD40に表示される(ステップS32)。その後、シーケンスはメイン処理ルーチンにリターンする。以後は、ステップS31で生成されたユーザ1のタッチカーブに従ってベロシティ値が生成され、発音に使用される。
【0056】
上記ステップS30でストップスイッチ53のオンイベントがないことが判断された場合は、ステップS31及びS32の処理を行うことなく、シーケンスはメイン処理ルーチンにリターンする。
【0057】
上記ステップS20でタッチカーブ選択モードでないことが判断されると、その他のパネルイベント処理が行われる(ステップS33)。この処理では、図示しないパネルスイッチのイベントに対する処理が実行される。その後、シーケンスはメイン処理ルーチンに戻る。
【0058】
(1−3)キーイベント処理
次に、上記メイン処理ルーチンのステップS14で行われるキーイベント処理の詳細を、図9に示すフローチャートを参照しながら説明する。キーイベント処理では、先ず、キーナンバ検出処理が行われる(ステップS40)。この処理では、キーイベントの原因となった鍵のキーナンバが生成される。次いで、その鍵のタッチデータTDがキースキャン回路13から取り込まれる(ステップS41)。
【0059】
次いで、RECフラグが「1」であるかどうか、つまり録音モードであるかどうかが調べられる(ステップS42)。ここで、RECフラグが「1」、つまり録音モードであることが判断されると、次いで、打鍵カウンタの内容nがインクリメント(+1)される(ステップS43)。
【0060】
次いで、ステップS41で得られたタッチデータTDが、タッチデータレジスタの内容TDsumに累積加算される(ステップS44)。次いで、最大タッチデータレジスタの内容TDmaxがタッチデータTDより小さいかどうかが調べられる(ステップS45)。ここで、小さいことが判断されると、タッチデータTDが最大のタッチデータTDmaxとして最大タッチデータレジスタに格納される(ステップS46)。一方、小さくないことが判断されると、ステップS46の処理はスキップされる。これらステップS45及びS46の処理により、最大タッチデータレジスタには、常に、録音モード中の打鍵により発生したタッチデータの最大値が格納される。
【0061】
次いで、録音の停止を促すメッセージ、例えば図5に示すような「PRESSSTOP、WHEN FINISHED」というメッセージがLCD40に表示される(ステップS47)。この際、録音中であることを表す音譜記号もLED40の右下角に点滅表示される。
【0062】
上記ステップS42で、RECフラグが「0」、つまり録音モードでないことが判断されると、ステップS43〜S47の処理はスキップされる。この場合、通常の発音又は消音が行われる。
【0063】
次いで、ベロシティが算出される(ステップS48)。即ち、上記ステップS41で得られたタッチデータが、その時点で選択されているタッチカーブに従ってベロシティ値に変換される。次いで、発音/消音処理が行われる(ステップS49)。即ち、キーイベントがオンイベントであれば発音処理が行われ、オフイベントであれば消音処理が行われる。
【0064】
発音処理では、上記ステップS40で検出されたキーナンバ及び上記ステップS48で算出されたベロシティ値に基づいて発音パラメータが生成され、楽音発生部15に送られる。これにより、上記キーナンバで指定された高さの音が上記ベロシティ値で指定された音量及び音色で発音される。
【0065】
一方、消音処理では、リリーススピードを高速にしたエンベロープデータが楽音発生部15に送られる。これにより、上記ステップS40で検出されたキーナンバで指定される音が消音される。その後、シーケンスはメイン処理ルーチンに戻る。
【0066】
次に、上述したパネルスイッチイベント処理ルーチンのステップS31で実行されるタッチカーブ生成処理の詳細を説明する。
【0067】
図10は、タッチカーブ生成処理によりタッチカーブが生成される様子を示す。即ち、CPU10は、先ず、最大タッチデータレジスタからタッチデータの最大値TDmaxを読み出し、ベロシティ値の最大値P2、即ち127Hに対応付ける。これにより、第1番目の点(TDmax,P2)が決定される。
【0068】
次いで、CPU10は、累算タッチデータレジスタからタッチデータの累算値TDsumを読み出し、打鍵カウンタから読み出した回数nで除算する。これにより、タッチデータの平均値TDavgが求められる。そして、このタッチデータの平均値TDavgをメゾフォルテの力鍵盤装置20が打鍵された場合のベロシティ値P1に対応付ける。これにより、第2番目の点(TDavg,P1)が決定される。なお、メゾフォルテの力で打鍵した場合のベロシティ値としては、「80」又はその近傍の値を用いることができる。
【0069】
また、タッチデータの最小値をベロシティの最小値に対応させた第3番目の点としては、原点(0,0)が用いられる。
【0070】
以上のようにして3つの点が決定されると、次いで、タッチカーブが生成される。即ち、点(TDmax,P2)と点(TDavg,P1)とを結ぶ直線の式を求め、この式に従って、タッチデータTDmaxからTDavgまでの各々に対応するP2からP1までのベロシティ値を算出する。また、点(TDavg,P1)と点(0,0)を結ぶ直線の式を求め、この式に従って、タッチデータTDavgから「0」までの各々に対応するP2から「0」までのベロシティ値を算出する。このようにして算出されたタッチデータとベロシティ値との関係は、図13に示すような変換テーブル形式で構成されたユーザタッチデータメモリ120に格納される。
【0071】
以上説明したように、この実施の形態に係るタッチ制御装置によれば、ユーザが鍵盤装置を打鍵することにより得られたタッチデータの最大値及び平均値並びに必然的に定まるタッチデータの最小値をベロシティの最大値、所定値及び最小値にそれぞれ対応させた3点を線で結ぶことによりタッチカーブを生成するので、簡単な処理であるにも拘わらず、ユーザに好適なタッチレスポンスを得ることのできるタッチカーブを生成できる。
【0072】
なお、以上説明した実施の形態では、最大タッチデータを入力可能な状態では、タッチカーブを、点(TDmax,P2)と点(TDavg,P1)とを結ぶ直線、及び点(TDavg,P1)と点(0,0)とを結ぶ直線から構成したが、例えば最小2乗法を用いて、点(TDmax,P2)、点(TDavg,P1)及び点(0,0)を結ぶ曲線から構成することもできる。
【0073】
また、上述した実施の形態では、メゾフォルテの強さで打鍵した場合のベロシティ値を例えば「80」に対応させて点(TDavg,P1)を求めたが、本発明はこれに限定されず、他の強さで打鍵した場合のベロシティ値を、他の値に対応させるように構成することもできる。例えば、メゾピアノの強さで打鍵した場合のベロシティ値を例えば「50」に対応させて(TDavg,P1)を求めるように構成してもよい。
【0074】
【発明の効果】
以上詳述したように、本発明によれば、ユーザに好適なタッチレスポンスが得られるタッチカーブを簡単に作ることができるタッチ制御装置及びタッチ制御方法を提供できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るタッチ制御装置が適用された電子楽器の構成を示すブロック図である。
【図2】本発明の実施の形態に係るタッチ制御装置が適用された電子楽器で使用されるタッチカーブの種類を示す図である。
【図3】図1に示した操作パネルの一例を示す図である。
【図4】図1に示した操作パネルの表示例(その1)を示す図である。
【図5】図1に示した操作パネルの表示例(その2)を示す図である。
【図6】図1に示した操作パネルの表示例(その3)を示す図である。
【図7】本発明の実施の形態に係るタッチ制御装置が適用された電子楽器のメイン処理を示すフローチャートである。
【図8】図7のパネルスイッチイベント処理の詳細を示すフローチャートである。
【図9】図7のキーイベント処理の詳細を示すフローチャートである。
【図10】本発明の実施の形態に係るタッチ制御装置が適用された電子楽器におけるタッチカーブ生成処理を説明するための図である。
【図11】本発明の実施の形態に係るタッチ制御装置が適用された電子楽器及び従来の電子楽器における押鍵速度とタッチデータの関係を説明するための図である。
【図12】従来の電子楽器におけるタッチカーブを説明するための図である。
【図13】従来のタッチカーブを記憶する変換テーブルの一例を示す図である。
【符号の説明】
10 CPU
11 プログラムメモリ
12 ワークメモリ
13 キースキャン回路
14 パネルスキャン回路
15 楽音発生部
20 鍵盤装置
21 操作パネル
22 D/A変換部
23 アナログ信号処理部
24 増幅器
25 スピーカ
30 システムバス
40 LCD
50 アップスイッチ
51 ダウンスイッチ
52 録音スイッチ
52 ストップスイッチ
110 タッチカーブメモリ
120 ユーザタッチカーブメモリ
Claims (4)
- 打鍵の強さを表すタッチデータを発生する鍵盤装置と、
操作パネルに入力される内容に基づいて設定される期間に前記鍵盤装置で発生されたタッチデータの最大値を算出する最大値算出部と、
前記期間に前記鍵盤装置で発生されたタッチデータの平均値を算出する平均値算出部と、
前記最大値算出部で算出されたタッチデータの最大値を発音に使用されるベロシティの最大値に対応させた点、前記平均値算出部で算出された平均値を前記ベロシティの所定値に対応させた点、及びタッチデータの最小値を前記ベロシティの最小値に対応させた点を結ぶ線から成るタッチカーブを生成する制御部とを備え、
前記タッチカーブは、前記最大値算出部で算出されたタッチデータの最大値を前記ベロシティの最大値に対応させた点と前記平均値算出部で算出された平均値をベロシティの所定値に対応させた点とを結ぶ直線、及び、前記平均値算出部で算出された平均値をベロシティの所定値に対応させた点とタッチデータの最小値をベロシティの最小値に対応させた点とを結ぶ直線から成り、
前記最大値算出部及び平均値算出部は、最弱から最強に至るまでの力で前記鍵盤装置が複数回打鍵されることにより得られたタッチデータに基づいて、タッチデータの最大値及びタッチデータの平均値をそれぞれ算出する
タッチ制御装置。 - 打鍵の強さを表すタッチデータを発生する鍵盤装置と、
操作パネルに入力される内容に基づいて設定される期間に前記鍵盤装置で発生されたタッチデータの最大値を算出する最大値算出部と、
前記期間に前記鍵盤装置で発生されたタッチデータの平均値を算出する平均値算出部と、
前記最大値算出部で算出されたタッチデータの最大値を発音に使用されるベロシティの最大値に対応させた点、前記平均値算出部で算出された平均値を前記ベロシティの所定値に対応させた点、及びタッチデータの最小値を前記ベロシティの最小値に対応させた点を結ぶ線から成るタッチカーブを生成する制御部とを備え、
前記タッチカーブは、前記最大値算出部で算出されたタッチデータの最大値を前記ベロシティの最大値に対応させた点と前記平均値算出部で算出された平均値をベロシティの所定値に対応させた点とを結ぶ直線、及び、前記平均値算出部で算出された平均値をベロシティの所定値に対応させた点とタッチデータの最小値をベロシティの最小値に対応させた点とを結ぶ直線から成り、
前記最大値算出部及び平均値算出部は、所定の曲が前記鍵盤装置で弾かれることにより得られたタッチデータに基づいて、タッチデータの最大値及びタッチデータの平均値をそれぞれ算出する
タッチ制御装置。 - 操作パネルに入力される内容に基づいて設定される期間に鍵盤装置からの打鍵の強さを表すタッチデータの最大値を算出するステップと、
前記期間に前記鍵盤装置からのタッチデータの平均値を算出するステップと、
前記算出されたタッチデータの最大値を発音に使用されるベロシティの最大値に対応させた点、前記算出された平均値を前記ベロシティの所定値に対応させた点、及びタッチデータの最小値を前記ベロシティの最小値に対応させた点を結ぶ線から成るタッチカーブを生成するステップとを備え、
前記タッチカーブは、前記算出されたタッチデータの最大値を前記ベロシティの最大値に対応させた点と前記算出された平均値をベロシティの所定値に対応させた点とを結ぶ直線、及び、前記算出された平均値をベロシティの所定値に対応させた点とタッチデータの最小値をベロシティの最小値に対応させた点とを結ぶ直線から成り、
前記タッチデータの最大値を算出するステップ及び前記タッチデータの平均値を算出するステップは、最弱から最強に至るまでの力で前記鍵盤装置が複数回打鍵されることにより得られたタッチデータに基づいて、タッチデータの最大値及びタッチデータの平均値をそれぞれ算出する
タッチ制御方法。 - 操作パネルに入力される内容に基づいて設定される期間に鍵盤装置からの打鍵の強さを表すタッチデータの最大値を算出するステップと、
前記期間に前記鍵盤装置からのタッチデータの平均値を算出するステップと、
前記算出されたタッチデータの最大値を発音に使用されるベロシティの最大値に対応させた点、前記算出された平均値を前記ベロシティの所定値に対応させた点、及びタッチデータの最小値を前記ベロシティの最小値に対応させた点を結ぶ線から成るタッチカーブを生成するステップとを備え、
前記タッチカーブは、前記算出されたタッチデータの最大値を前記ベロシティの最大値に対応させた点と前記算出された平均値をベロシティの所定値に対応させた点とを結ぶ直線、及び、前記算出された平均値をベロシティの所定値に対応させた点とタッチデータの最小値をベロシティの最小値に対応させた点とを結ぶ直線から成り、
前記タッチデータの最大値を算出するステップ及び前記タッチデータの平均値を算出するステップは、所定の曲が前記鍵盤装置で弾かれることにより得られたタッチデータに基づいて、タッチデータの最大値及びタッチデータの平均値をそれぞれ算出する
タッチ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001317949A JP3843800B2 (ja) | 2001-10-16 | 2001-10-16 | タッチ制御装置及びタッチ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001317949A JP3843800B2 (ja) | 2001-10-16 | 2001-10-16 | タッチ制御装置及びタッチ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003122360A JP2003122360A (ja) | 2003-04-25 |
JP3843800B2 true JP3843800B2 (ja) | 2006-11-08 |
Family
ID=19135741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001317949A Expired - Fee Related JP3843800B2 (ja) | 2001-10-16 | 2001-10-16 | タッチ制御装置及びタッチ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3843800B2 (ja) |
-
2001
- 2001-10-16 JP JP2001317949A patent/JP3843800B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003122360A (ja) | 2003-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6906695B1 (en) | Touch control apparatus and touch control method that can be applied to electronic instrument | |
JP6822578B2 (ja) | 電子楽器 | |
JPH07295568A (ja) | 電子鍵盤楽器 | |
JP3843800B2 (ja) | タッチ制御装置及びタッチ制御方法 | |
JP6410345B2 (ja) | サウンドプレビュー装置及びプログラム | |
JP3045915B2 (ja) | 電子楽器のデータ設定装置 | |
JP3271447B2 (ja) | 電子楽器のテンポ設定装置 | |
JP2008046249A (ja) | 電子鍵盤楽器 | |
JP6305275B2 (ja) | 電子楽器における音声アシスト装置及びプログラム | |
JP3155374B2 (ja) | 音階制御装置 | |
JP3077787B2 (ja) | 電子楽器のテンポ調整装置 | |
JP2915753B2 (ja) | 電子楽器 | |
JP3912668B2 (ja) | 電子楽器 | |
JP2000330561A (ja) | 電子鍵盤楽器 | |
JP3867905B2 (ja) | 電子楽器における楽音生成装置 | |
JP2953937B2 (ja) | 電子楽器の音量調整装置 | |
JP3088047B2 (ja) | 電子楽器の入力情報変更装置 | |
JP3356326B2 (ja) | 電子楽器 | |
JP2594656Y2 (ja) | 電子鍵盤楽器のタッチデータ処理装置 | |
JPH0627946A (ja) | 電子鍵盤楽器 | |
JP2008286858A (ja) | 電子楽音発生器 | |
JP2002287748A (ja) | 電子楽器 | |
WO2004075161A1 (ja) | 電子楽器の音色設定装置 | |
JP2008139720A (ja) | 電子楽器及び電子楽器に適用されるプログラム | |
JPH07152374A (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040519 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060310 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060412 |
|
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: 20060807 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060807 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |