(57)【特許請求の範囲】
【請求項１】
押鍵操作に応じて順次オンされる第１、第２、および第３接点を備えた鍵からの、前記第１、第２、または第３接点の夫々のオン検出信号に基づき、前記第１接点がオンされてから前記第２接点がオンされるまでの時間を計測する第１計測手段と、
前記第２接点がオンされた後に時間の経過を計測する第２計測手段と、
前記第１計測手段により計測された時間が長くなるほど第１予測時間が長くなるように、前記第１計測手段により計測された時間に応じて前記第１予測時間を設定する第１設定手段と、
前記第１計測手段により計測された時間が第１判定時間より短い場合は、前記第３接点がオンされるか否かにかかわらず、前記第２計測手段により計測される時間が前記第１予測時間を越えたときに発音指示信号を出力し、前記第１計測手段により計測された時間が前記第１判定時間より長い場合は、前記第３接点がオンされた後に発音指示信号を出力する制御手段と、
を備えるタッチ検出装置。
【請求項２】
前記第２接点がオンされてから前記第３接点がオンされるまでの時間を計測する第３計測手段と、
前記第３接点がオンされた後に時間の経過を計測する第４計測手段と、
前記第３計測手段により計測された時間が長くなるほど第２予測時間が長くなるように、前記第３計測手段により計測された時間に応じて前記第２予測時間を設定する第２設定手段と、
を更に備え、
前記制御手段は、前記第１計測手段により計測された時間が前記第１判定時間より長い場合は、前記第４計測手段により計測される時間が前記第２予測時間を越えたときに前記発音指示信号を出力する、請求項１に記載のタッチ検出装置。
【請求項３】
前記第１設定手段は、前記第２接点がオンされた後に前記第１計測手段により計測された時間に対応する速度で前記鍵が移動して前記第３接点よりも下に位置する規定の下限ストローク位置に到達するまでの推定時間を前記第１予測時間として設定し、
前記第２設定手段は、前記第３接点がオンされた後に前記第３計測手段により計測された時間に対応する速度で前記鍵が移動して前記規定の下限ストローク位置に到達するまでの推定時間を前記第２予測時間として設定する、請求項２に記載のタッチ検出装置。
【請求項４】
前記第２接点がオンされてから前記第３接点がオンされるまでの時間を計測する第３計測手段を更に備え、
前記制御手段は、前記第１計測手段により計測された時間が前記第１判定時間より短い場合は、前記第１計測手段により計測された時間に応じたベロシティ値を含む発音指示信号を出力するとともに、前記第１計測手段により計測された時間が前記第１判定時間より長い場合は、前記第３計測手段により計測された時間に応じたベロシティ値を含む発音指示信号を出力する、請求項１に記載のタッチ検出装置。
【請求項５】
前記制御手段は、前記第１計測手段により計測された時間が前記第１判定時間より長い場合であって、前記第３接点がオンされなかった場合には前記発音指示信号を出力しない、請求項１乃至４のいずれかに記載のタッチ検出装置。
【請求項６】
請求項１乃至５のいずれかに記載のタッチ検出装置と、
前記第１、第２、および第３接点を備えた複数の鍵と、
前記発音指示信号に応じた楽音を発音する音源部と、
を備えた電子楽器。
【請求項７】
前記音源部は、前記発音指示信号に含まれるベロシティ値に応じた音色または音量で楽音を発音する、請求項６に記載の電子楽器。
【請求項８】
装置が、
押鍵操作に応じて順次オンされる第１、第２、および第３接点を備えた鍵からの、前記第１、第２、または第３接点の夫々のオン検出のタイミングを特定し、
前記第１接点がオンされてから前記第２接点がオンされるまでの時間を計測する第１計測処理と、
前記第２接点がオンされた後に時間の経過を計測する第２計測処理と、
前記第１計測処理により計測された時間が長くなるほど第１予測時間が長くなるように、前記第１計測処理により計測された時間に応じて前記第１予測時間を設定する第１設定処理と、
前記第１接点がオンされてから前記第２接点がオンされるまでの時間が第１判定時間より短い場合は、前記第３接点がオンされるか否かにかかわらず、前記第２計測処理により計測される時間が前記第１予測時間を越えたときに発音指示信号を出力し、前記第１接点がオンされてから前記第２接点がオンされるまでの時間が前記第１判定時間より長い場合は、前記第３接点がオンされた後に発音指示信号を出力する、
タッチ検出方法。
【請求項９】
コンピュータに、
押鍵操作に応じて順次オンされる第１、第２、および第３接点を備えた鍵からの、前記第１、第２、または第３接点の夫々のオン検出のタイミングを特定する処理と、
前記第１接点がオンされてから前記第２接点がオンされるまでの時間を計測する第１計測処理と、
前記第２接点がオンされた後に時間の経過を計測する第２計測処理と、
前記第１計測処理により計測された時間が長くなるほど第１予測時間が長くなるように、前記第１計測処理により計測された時間に応じて前記第１予測時間を設定する第１設定処理と、
前記第１接点がオンされてから前記第２接点がオンされるまでの時間が第１判定時間より短い場合は、前記第３接点がオンされるか否かにかかわらず、前記第２計測処理により計測される時間が前記第１予測時間を越えたときに発音指示信号を出力し、前記第１接点がオンされてから前記第２接点がオンされるまでの時間が前記第１判定時間より長い場合は、前記第３接点がオンされた後に発音指示信号を出力する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器の鍵盤のタッチ操作を検出する装置、方法、およびプログラム、ならびに電子楽器に関する。
【背景技術】
【０００２】
通常、電子楽器の鍵盤のベロシティ検出は、鍵盤下に設けられ、異なる押下量（ストローク）でオンする２つのスイッチ（接点）のオン時間差を計測し、これをベロシティ情報として用いる方法が一般的である。第１スイッチのオンで計測を開始し、第２スイッチのオンで計測を完了し、この計測したデータから求められた押鍵の強さに応じて、音源の音色、音量を制御して発音処理を実行する（例えば特許文献１に記載の技術）。
【０００３】
近年では、この２つのスイッチの中間ストローク位置にもう一つスイッチを追加し、ピアノのダンパー動作を模した音源制御を行うことができる従来技術も提案されている（例えば特許文献２に記載の技術）。いま、最も浅い位置（鍵に最も近い位置）から第１、第２、第３スイッチと呼ぶと、第２、第３スイッチで押鍵（タッチ）強度を検出する構造自体は変わらないが、第２スイッチと第３スイッチとの間という深い位置での小さいストローク振幅の連打を、アコースティックピアノと同様に行うことができる。また、消音は、従来のストローク位置のまま、第１スイッチのオフで行われる。
【０００４】
アコースティックピアノの構造で考えると、第１スイッチがダンパーのオン制御（消音制御）、第２、第３スイッチで押鍵ベロシティと発音開始タイミングを制御することになり、第１スイッチがオン(＝ダンパーが解放)状態のまま、第２、第３スイッチを繰り返しオンオフすることで、アコースティックピアノの連打に近い多様な音色の重なりを表現できる。これは同音連打、トリル演奏に有効であり、現在も利用されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１９５６４７号公報
【特許文献２】特開２００５−４３５５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
アコースティックピアノにおける押鍵動作では、鍵を下限位置まで押し切らずとも第３スイッチより上の位置までを一定速度以上で押すと、ハンマーが鍵と繋がったアクション部からはずれて慣性によって移動し打弦するので、そのような浅い位置に留まる押鍵で発音させることも可能であることが知られている。
【０００７】
しかし、電子鍵盤楽器の従来の技術では、第３スイッチが設けられた位置の深さまで鍵盤が押下されないと押鍵動作とみなされない。そのため演奏者の意図に反して発音させられず、押鍵検出性能と連打性を損なっているという問題点を有していた。
【０００８】
本発明は、より高精度な押鍵・連打検出を実現することを目的とする。
【課題を解決するための手段】
【０００９】
態様の一例では、押鍵操作に応じて順次オンされる第１、第２、および第３接点を備えた鍵からの、前記第１、第２、または第３接点の夫々のオン検出信号に基づき、前記第１接点がオンされてから前記第２接点がオンされるまでの時間を計測する第１計測手段と、前記第２接点がオンされた後に時間の経過を計測する第２計測手段と、前記第１計測手段により計測された時間が長くなるほど第１予測時間が長くなるように、前記第１計測手段により計測された時間に応じて前記第１予測時間を設定する第１設定手段と、前記第１計測手段により計測された時間が第１判定時間より短い場合は、前記第３接点がオンされるか否かにかかわらず、前記第２計測手段により計測される時間が前記第１予測時間を越えたときに発音指示信号を出力し、前記第１計測手段により計測された時間が前記第１判定時間より長い場合は、前記第３接点がオンされた後に発音指示信号を出力する制御手段と、を備える。
【発明の効果】
【００１０】
本発明によれば、より高精度な押鍵・連打検出を実現することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る電子楽器のハードウェア構成例を示す図である。
【図２】本実施形態に係るタッチ検出装置のハードウェア構成例を示す図である。
【図３】カウンタメモリのデータ構成例を示す図である。
【図４】本実施形態によるタッチ検出動作処理の例を示すフローチャートである。
【図５】浅い位置の押鍵で発音する場合の本実施形態の動作説明図である。
【図６】浅い位置の押鍵で発音しない場合の本実施形態の動作説明図である。
【図７】第１、第２接点間のベロシティが閾値を下回ったが押鍵が第３接点まで到達したので発音する場合の本実施形態の動作説明図である。
【図８】ベロシティ値が閾値を上回りかつ押鍵が第３接点まで通過する場合の本実施形態の動作説明図である。
【図９】本実施形態の動作をまとめた図表である。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて、本発明の実施形態に係るタッチ検出装置を説明する。
【００１３】
図１は、本発明の実施形態に係るタッチ検出装置１１３が適用された電子楽器１００のハードウェア構成例を示すブロック図である。
図１において、電子楽器１００は、ＣＰＵ１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、バス１０４と、入出力インタフェース１０５と、入力部１０６と、出力部１０７と、記憶部１０８と、ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）インタフェース部１０９と、ドライブ１１０と、タッチ検出装置１１３と、を備えている。
【００１４】
ＣＰＵ１０１は、ＲＯＭ１０２に記録されているプログラム、または、記憶部１０８からＲＡＭ１０３にロードされたプログラムに従って各種の処理を実行する。例えばＣＰＵ１０１は、タッチ検出装置１１３から送信された発音情報（詳細については後述する）に基づいて発音するための制御、すなわち発音制御を実行する。ＲＡＭ１０３には、ＣＰＵ１０１が各種の処理を実行する上において必要なデータ等が適宜記憶される。
【００１５】
ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、および後述するタッチ検出装置１１３は、バス１０４を介して相互に接続されている。このバス１０４にはまた、入出力インタフェース１０５も接続されている。入出力インタフェース１０５には、入力部１０６、出力部１０７、記憶部１０８、ＭＩＤＩインタフェース部１０９、およびドライブ１１０が接続されている。
【００１６】
入力部１０６は、複数種類の音が夫々対応付けられた複数の鍵（例えば、８８個の鍵）を有するＭＩＤＩキーボードを含む。電子楽器１００において、複数の鍵に対応づけられた複数種類の音は、ノートナンバにより識別される。この鍵の押離鍵操作は、後述するタッチ検出装置１１３に検出される。
【００１７】
具体的には、入力部１０６は、複数の鍵毎に設けられ、押鍵操作に応じて、順次オンされる第１接点１１５、第２接点１１６、および第３接点１１７が、マトリクス状に接続された鍵スイッチマトリクス１１４を備える。すなわち、最も浅い位置（鍵に最も近い位置）から第１接点１１５、第２接点１１６、第３接点１１７の順に配置される。
【００１８】
鍵スイッチマトリクス１１４は、タッチ検出装置１１３から送信されたコモン側スイッチ入力信号（ＫＣ）に応じて、オンされた第１接点１１５、第２接点１１６、または第３接点１１７を検出する。そして、鍵スイッチマトリクス１１４は、オンされた第１接点１１５を示す第１接点オン信号、オンされた第２接点１１６を示す第２接点オン信号、またはオンされた第３接点１１７を示す第３接点オン信号をタッチ検出装置１１３に送信する。
【００１９】
一方、鍵スイッチマトリクス１１４は、鍵が押切られた状態からの離鍵操作に応じて、第３接点１１７、第２接点１１６、第１接点１１５の順にオフされたことを検出する。そして、鍵スイッチマトリクス１１４は、第１接点１１５、第２接点１１６、または第３接点１１７がそれぞれオフされたことを示す第１接点オフ信号、第２接点オフ信号、または第３接点オフ信号を、それぞれタッチ検出装置１１３に送信する。
【００２０】
また、入力部１０６は、各種情報を入力するためのスイッチを備えている。そして、入力部１０６は、ユーザによって入力された各種情報をＣＰＵ１０１に出力する。
【００２１】
出力部１０７は、ディスプレイや、スピーカおよびＤ／Ａ変換回路等を有しており、画像や音声を出力する。
【００２２】
記憶部１０８は、ハードディスクあるいはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、電子楽器１００の制御のための各種プログラムを記憶する。
【００２３】
ＭＩＤＩインタフェース部１０９は、楽音を発生する音源１１２と発音制御部としてのＣＰＵ１０１とを接続するインタフェースである。音源１１２は、入力部１０６の複数の鍵に夫々対応付けられた複数種類の音を識別するノートナンバに対応付けた音源データを記憶し、ＣＰＵ１０１の制御により、音源データを読み出し楽音を出力する。
【００２４】
ドライブ１１０には、半導体メモリ（ＳＤメモリ、コンパクトフラッシュメモリ等）、磁気ディスク、光ディスク、あるいは光磁気ディスク等よりなる、リムーバブルメディア１１１が適宜装着される。ドライブ１１０によってリムーバブルメディア１１１から読み出されたプログラムは、必要に応じて記憶部１０８にインストールされる。また、リムーバブルメディア１１１は、記憶部１０８に記憶されている各種データも、記憶部１０８と同様に記憶することができる。
【００２５】
次に、図２を参照して、本実施形態に係るタッチ検出装置１１３のハードウェアの構成について説明する。図２は、本実施形態に係るタッチ検出装置１１３のハードウェア構成例を示すブロック図である。タッチ検出装置１１３は、制御回路としてのコントローラ２０１と、イベントフラグセット回路２０２（以下、「ＥＶフラグセット回路２０２」とも呼ぶ）と、ステータス更新回路２０３と、第１カウンタ用加算器（図２中では「第１カウンタ」と表記）２０４と、第２カウンタ用加算器（図２中では「第２カウンタ」と表記）２０５と、第３カウンタ用加算器（図２中では「第３カウンタ」と表記）２０６と、第４カウンタ用加算器（図２中では「第４カウンタ」と表記）２０７と、カウンタメモリ２０８と、到達時間メモリ２０９と、到達比較回路２１０と、ベロシティレジスタ２１１と、ノートナンバレジスタ２１２と、を備える。
【００２６】
コントローラ２０１は、図１の鍵スイッチマトリクス１１４の第１接点１１５、第２接点１１６、または第３接点１１７と接続され、第１接点オン信号、第２接点オン信号、または第３接点オン信号を受信する。また、コントローラ２０１は、タッチ検出装置１１３におけるその他のハードウェアを制御し、発音制御部としてのＣＰＵ１０１による発音の契機となる発音情報を生成し、バス１０４を介して発音制御部に送信する。
【００２７】
本実施形態において、「発音情報」は、ＣＰＵ１０１の処理に対する割り込み情報、入力部１０６の鍵が押下された場合におけるその鍵のノートナンバ、および鍵の押下の強さを示すタッチ情報としてのベロシティ値を含む。発音制御部としてのＣＰＵ１０１は、発音情報を受信したときには、音源１１２と協働して、当該発音情報に含まれるノートナンバに対応する音を、ベロシティに応じた強さで発音する制御を実行する。
【００２８】
また、コントローラ２０１は、鍵スイッチマトリクス１１４にコモン側スイッチ入力信号（ＫＣ）を送信し、鍵スイッチマトリクス１１４から、第１接点オン信号、第２接点オン信号、または第３接点オン信号を受信する。
【００２９】
また、コントローラ２０１は、カウンタメモリ２０８中の後述するイベントフラグ（以下、「ＥＶフラグ」とも呼ぶ）およびステータスフラグ（以下、「ＳＴフラグ」とも呼ぶ）に応じて、タッチ検出装置１１３を構成する上記回路や加算器を制御する。コントローラ２０１は、これらＥＶフラグおよびＳＴフラグの値を、カウンタメモリ２０８に記憶し、適宜参照するとともに、ＥＶフラグセット回路２０２およびステータス更新回路２０３を制御して更新させる。
【００３０】
図３は、図２のカウンタメモリ２０８のデータ構成例を示す図である。カウンタメモリ２０８は、複数の鍵の夫々対応した複数のアドレス、具体的には本実施形態では８８個の鍵の夫々に対応した０番から８７番までの８８個のアドレスを有する。各アドレスには、対応付けられた鍵におけるＥＶフラグの値、ＳＴフラグの値、ベロシティカウンタ値、および補正時間用カウンタ値が記憶されている。
【００３１】
詳細は後述するが、ベロシティカウンタ値（以下、「ＶＣ値」とも呼ぶ）は図２の第１カウンタ用加算器２０４または第３カウンタ用加算器２０６により加算され、補正時間用カウンタ値（以下、「ＴＣ値」とも呼ぶ）は図２の第２カウンタ用加算器２０５または第４カウンタ用加算器２０７により加算される。また、各アドレスには、鍵に対応付けられたノートナンバ（図示せず）が記憶されている。ＶＣ値およびＴＣ値ともに、ＶＣ０〜ＶＣ７およびＴＣ０〜ＴＣ７のそれぞれ８ビットの記憶領域を有する。
【００３２】
ＥＶフラグとしては、“０”又は“１”を取り得る。ＥＶの値“０”は、いずれの鍵も押鍵又は離鍵されていない状態であることを示す。ＥＶの値“１”は、いずれかの鍵が押鍵又は離鍵されている状態であることを示す。
【００３３】
ＳＴフラグの値としては、“０”、“１”、“２”、“３又は“４”を取り得る。ＳＴフラグの値“０”は、押鍵待ち状態であることを示す。ＳＴフラグの値“１”は、後述するバイアス時間をカウント中であることを示す。ＳＴフラグの値“２”は、後述するベロシティ測定値をカウント中であることを示す。ＳＴフラグの値“３”は、後述する補正時間用カウンタ値をカウント中であることを示す。ＳＴフラグの値“４”は、離鍵待ちの状態であることを示す。
【００３４】
ＥＶフラグセット回路２０２は、コントローラ２０１の制御により、図２中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ２０８に記憶されたＥＶフラグの値を更新する。
【００３５】
ステータス更新回路２０３は、コントローラ２０１の制御により、図２中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ２０８に記憶されたＳＴフラグの値を更新する。
【００３６】
第１カウンタ用加算器２０４は、鍵スイッチマトリクス１１４の鍵ごとに、第１接点１１５のオンを契機とするコントローラ２０１によるカウント開始指示の後、第２接点１１６がオンされるまで、図２中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ２０８中のＶＣ値を定期的なタイマ割込みに従って順次加算（カウントアップ）する。また、第１カウンタ用加算器２０４は、鍵スイッチマトリクス１１４の鍵ごとに、コントローラ２０１の制御により、カウンタメモリ２０８中のＶＣ値をリセットする。
【００３７】
同様に、第３カウンタ用加算器２０６は、鍵スイッチマトリクス１１４の鍵ごとに、第２接点１１６のオンを契機とするコントローラ２０１によるカウント開始指示の後、第３接点１１７がオンされるまで、図２中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ２０８中のＶＣ値を定期的なタイマ割込みに従って順次加算（カウントアップ）する。また、第３カウンタ用加算器２０６は、鍵スイッチマトリクス１１４の鍵ごとに、コントローラ２０１の制御により、カウンタメモリ２０８中のＶＣ値をリセットする。
【００３８】
ここで、カウンタメモリ２０８中のＶＣ値は、ＳＴフラグの値“１”のときはバイアス時間を示し、ＳＴフラグの値“２”のときはベロシティ測定値を示す。すなわち、ベロシティ測定値は、第１接点１１５または第２接点１１６がオンされてから第２接点１１６または第３接点１１７がオンされるまでの時間から、予め設定されたバイアス時間が除外された時間を示す値である。
【００３９】
第２カウンタ用加算器２０５は、鍵スイッチマトリクス１１４の鍵ごとに、第２接点１１６のオンおよびベロシティ値が閾値より大きいことを契機とするコントローラ２０１によるカウント開始指示の後、到達比較回路２１０でカウンタメモリ２０８中のＴＣ値の現在値と到達時間メモリ２０９の設定値との一致が検出されるまで、図２中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ２０８中のＴＣ値を定期的なタイマ割込みに従って順次加算（カウントアップ）する。また、第２カウンタ用加算器２０５は、鍵スイッチマトリクス１１４の鍵ごとに、コントローラ２０１の制御により、カウンタメモリ２０８中のＴＣ値をリセットする。
【００４０】
同様に、第４カウンタ用加算器２０７は、鍵スイッチマトリクス１１４の鍵ごとに、第３接点１１７のオンを契機とするコントローラ２０１によるカウント開始指示の後、到達比較回路２１０でカウンタメモリ２０８中のＴＣ値の現在値と到達時間メモリ２０９の設定値との一致が検出されるまで、図２中「メモリ入力へ」および「メモリ入力」と記載された経路で、カウンタメモリ２０８中のＴＣ値を定期的なタイマ割込みに従って順次加算（カウントアップ）する。また、第４カウンタ用加算器２０７は、鍵スイッチマトリクス１１４の鍵ごとに、コントローラ２０１の制御により、カウンタメモリ２０８中のＴＣ値をリセットする。
【００４１】
到達時間メモリ２０９は、鍵スイッチマトリクス１１４の鍵ごとに、コントローラ２０１により確定されたベロシティ測定値に応じて、予め設定された第２カウンタ用加算器２０５または第４カウンタ用加算器２０７による加算終了時間を示す到達時間値を記憶する。この到達時間値は、鍵ごとに、第２接点１１６または第３接点１１７のオンによってベロシティ値が確定したときに、コントローラ２０１によって算出され、到達時間メモリ２０９に設定される。
【００４２】
到達比較回路２１０は、鍵スイッチマトリクス１１４の鍵ごとに、到達時間メモリ２０９に記憶された到達時間値とカウンタメモリ２０８中のＴＣ値の現在値とを比較し、到達時間値とＴＣ値とが一致した時に、その鍵の一致信号をコントローラ２０１に送信する。
【００４３】
図４は、図２のハードウェア構成例を有する図１のタッチ検出装置１１３によるタッチ検出動作処理の例を示すフローチャートである。この処理は、タッチ検出装置１１３内のコントローラ２０１が特には図示しないタッチ検出動作処理プログラムを実行する動作として実現される。コントローラ２０１は、鍵スイッチマトリクス１１４の鍵ごとにそのタッチ状態を繰り返しスキャンするごとに、タッチ検出動作処理プログラムを呼び出して実行することにより、現在スキャンしている鍵についてのタッチ状態を検出する。
【００４４】
どの鍵も押鍵されていない初期状態では、図３に示されるカウンタメモリ２０８中の全ての鍵に対応する記憶領域において、ＥＶフラグは押鍵、離鍵イベントが発生してないことを示す値“０”にリセットされ、ＳＴフラグは押鍵町の状態を示す値“０”にリセットされ、ＶＣ値およびＴＣ値はオール“０”にリセットされる。
【００４５】
タッチ検出動作処理が起動されるとまず、コントローラ２０１は、鍵スイッチマトリクス１１４の現在スキャン中の鍵から第１接点オン信号を受信したか否かを判定することにより、第１接点１１５がオフからオンに変化したか否かを判定する（ステップＳ４０１）。
【００４６】
コントローラ２０１は、第１接点オン信号を受信した場合（ステップＳ４０１の判定がＹＥＳの場合）、つまり第１接点１１５がオフからオンに変化した場合は、現在スキャン中の鍵のノートナンバをノートナンバレジスタ２１２に格納する。なお、複数の鍵が同時に押鍵されることを考慮してノートナンバレジスタ２１２は、複数鍵分のノートナンバを記憶できるように構成してよい。そして、コントローラ２０１は、ＥＶフラグセット回路２０２に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＥＶフラグの値を、押鍵または離鍵イベントの発生を示す値“１”にセットさせる。また、コントローラ２０１は、ステータス更新回路２０３に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＳＴフラグの値を、押鍵バイアスカウント中を示す値“１”にセットさせる。さらに、コントローラ２０１は、第１カウンタ用加算器２０４に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＶＣ値をリセットさせ、加算動作（カウント動作）を開始させる。ＳＴフラグが“１”の場合、ＶＣ値は、バイアス時間を示す。このバイアス時間は、第１接点１１５でのタッチ検出の不安定動作を除去するためにカウントされる。詳細なフローチャートは省略するが、コントローラ２０１は、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＶＣ値がバイアス時間として予め設定された所定値となった場合には、ステータス更新回路２０３に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＳＴフラグの値を、ベロシティカウント中を示す値“２”にセットさせる。さらに、コントローラ２０１は、第１カウンタ用加算器２０４に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＶＣ値をリセットさせ、加算動作（カウント動作）を再度開始させる。これにより、第１接点１１５でのタッチ検出後、バイアス時間分を除いてベロシティが計測されることになる。以上のようにして、コントローラ２０１は、第１接点オン信号を受信した場合、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＶＣ値カウント（以下これを「ＶＣ１カウント」と呼ぶ）を開始する（以上、図４のステップＳ４０２）。その後、コントローラ２０１は、現在スキャン中の鍵に対するタッチ検出動作処理を終了する。これ以後、第１カウンタ用加算器２０４は、第２接点１１６がオンされるまで、カウンタメモリ２０８中のＶＣ値（ＶＣ１カウント値）を定期的なタイマ割込みに従ってカウントアップさせる。
【００４７】
コントローラ２０１は、第１接点オン信号を受信しなかった場合（ステップＳ４０１の判定がＮＯの場合）、つまり第１接点１１５がオフからオンに変化する以外の状態の場合は鍵スイッチマトリクス１１４の現在スキャン中の鍵から第２接点オン信号を受信したか否かを判定することにより、第２接点１１６がオフからオンに変化したか否かを判定する（ステップＳ４０３）。
【００４８】
コントローラ２０１は、第２接点オン信号を受信した場合（ステップＳ４０３の判定がＹＥＳの場合）、つまり第２接点１１６がオフからオンに変化する以外の状態の場合は、現在スキャン中の鍵に対応するＶＣ１カウントを確定させる（ステップＳ４０４）。具体的には、コントローラ２０１は、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＶＣ値に対して反転処理（逆数演算）を実行することによりベロシティ値（この値を「ＶＣ１」とする）を算出し、そのＶＣ１値をベロシティレジスタ２１１に格納する。すなわち、現在スキャン中の鍵において、第１接点１１５がオンされてから第２接点１１６がオンされるまでの時間長に反比例する値が、ＶＣ１値としてベロシティレジスタ２１１に格納される。なお、ノートナンバレジスタ２１２の各記憶アドレスとベロシティレジスタ２１１の各記憶アドレスは対応つけられており、ベロシティレジスタ２１１中のどのベロシティ値がどのノートナンバであるかを識別できるものとする。
【００４９】
続いて、コントローラ２０１は、ＶＣ１値が所定の閾値αよりも大きいか否かを判定する（ステップＳ４０５）。
【００５０】
ＶＣ１＞αではない場合（ステップＳ４０５の判定がＮＯの場合）には、現在スキャン中の鍵についてはさらに第２接点１１６から第３接点１１７までの押鍵動作を監視するために、コントローラ２０１は、ステータス更新回路２０３に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＳＴフラグの値を、押鍵バイアスカウント中を示す値“１”にセットさせる。さらに、コントローラ２０１は、第３カウンタ用加算器２０６に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＶＣ値をリセットさせ、加算動作（カウント動作）を開始させる。ステップＳ４０２の場合と同様に、ＳＴフラグが“１”の場合、ＶＣ値は、バイアス時間を示す。このバイアス時間は、第２接点１１６でのタッチ検出の不安定動作を除去するためにカウントされる。詳細なフローチャートは省略するが、コントローラ２０１は、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＶＣ値がバイアス時間として予め設定された所定値となった場合には、ステータス更新回路２０３に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＳＴフラグの値を、ベロシティカウント中を示す値“２”にセットさせる。さらに、コントローラ２０１は、第３カウンタ用加算器２０６に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＶＣ値をリセットさせ、加算動作（カウント動作）を再度開始させる。これにより、第２接点１１６でのタッチ検出後、バイアス時間分を除いてベロシティが計測されることになる。以上のようにして、コントローラ２０１は、第２接点オン信号を受信しかつＶＣ１＞αではない場合、すなわち現在スキャン中の鍵がそれほど強く押鍵されていない場合には、さらに第２接点１１６から第３接点１１７までの押鍵動作を監視するために、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＶＣ値カウント（以下これを「ＶＣ２カウント」と呼ぶ）を開始する（以上、図４のステップＳ４０６）。その後、コントローラ２０１は、現在スキャン中の鍵に対するタッチ検出動作処理を終了する。これ以後、第３カウンタ用加算器２０６は、第３接点１１６がオンされるまで、カウンタメモリ２０８中のＶＣ値（ＶＣ２カウント値）を定期的なタイマ割込みに従ってカウントアップさせる。
【００５１】
ＶＣ１＞αではある場合（ステップＳ４０５の判定がＹＥＳの場合）には、アコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦する動作をシミュレートするために、コントローラ２０１は、ステータス更新回路２０３に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＳＴフラグの値を、押鍵補正時間カウント中を示す値“３”にセットさせる。次に、コントローラ２０１は、到達時間メモリ２０９に到達時間値をセットする。この到達時間値は、アコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦するまでの時間をシミュレートするものである。コントローラ２０１は、この到達時間を、ステップＳ４０４の処理で確定したＶＣ１値の速度で第２接点１１６から規定の下限ストロークの位置まで移動する時間として算出する。さらに、コントローラ２０１は、第２カウンタ用加算器２０５に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＴＣ値をリセットさせ、加算動作（カウント動作）を開始させる。以上のようにして、コントローラ２０１は、第２接点オン信号を受信しかつＶＣ１＞αである場合、すなわち現在スキャン中の鍵が強く押鍵された場合には、アコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦する動作をシミュレートするために、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＴＣ値カウント（以下これを「ＴＣ１カウント」と呼ぶ）を開始する（以上、図４のステップＳ４０７）。その後、コントローラ２０１は、現在スキャン中の鍵に対するタッチ検出動作処理を終了する。これ以後、第２カウンタ用加算器２０５は、到達比較回路２１０が現在スキャン中の鍵に対するＴＣ値と到達時間メモリ２０９中の到達時間値との一致を検出するまで、カウンタメモリ２０８中のＴＣ値（ＴＣ１カウント値）を定期的なタイマ割込みに従ってカウントアップさせる。
【００５２】
コントローラ２０１は、第２接点オン信号を受信しなかった場合（ステップＳ４０３の判定がＮＯの場合）、つまり第２接点１１６がオフからオンに変化する以外の状態の場合は、鍵スイッチマトリクス１１４の現在スキャン中の鍵から第３接点オン信号を受信したか否かを判定することにより、第３接点１１７がオフからオンに変化したか否かを判定する（ステップＳ４０８）。
【００５３】
コントローラ２０１は、第３接点オン信号を受信した場合（ステップＳ４０８の判定がＹＥＳの場合）、つまり第３接点１１７がオフからオンに変化した場合は、現在スキャン中の鍵に対応するＶＣ２カウントを確定させる。具体的には、コントローラ２０１は、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＶＣ値に対して反転処理（逆数演算）を実行することによりベロシティ値（この値を「ＶＣ２」とする）を算出し、そのＶＣ２値をベロシティレジスタ２１１に格納する。すなわち、現在スキャン中の鍵において、第２接点１１６がオンされてから第３接点１１７がオンされるまでの時間長に反比例する値が、ＶＣ２値としてベロシティレジスタ２１１に格納される。また、コントローラ２０１は、ステータス更新回路２０３に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＳＴフラグの値を、押鍵補正時間カウント中を示す値“３”にセットさせる。次に、コントローラ２０１は、到達時間メモリ２０９に到達時間値をセットする。コントローラ２０１は、この到達時間を、確定したＶＣ２値の速度で第３接点１１７から規定の下限ストロークの位置まで移動する時間として算出する。さらに、コントローラ２０１は、第４カウンタ用加算器２０７に、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＴＣ値をリセットさせ、加算動作（カウント動作）を開始させる。以上のようにして、コントローラ２０１は、第３接点オン信号を受信した場合には、アコースティックピアノの押鍵動作をシミュレートするために、カウンタメモリ２０８中の現在スキャン中の鍵に対応するＴＣ値カウント（以下これを「ＴＣ２カウント」と呼ぶ）を開始する（以上、図４のステップＳ４０９）。その後、コントローラ２０１は、現在スキャン中の鍵に対するタッチ検出動作処理を終了する。これ以後、第４カウンタ用加算器２０７は、到達比較回路２１０が現在スキャン中の鍵に対するＴＣ値と到達時間メモリ２０９中の到達時間値との一致を検出するまで、カウンタメモリ２０８中のＴＣ値（ＴＣ２カウント値）を定期的なタイマ割込みに従ってカウントアップさせる。
【００５４】
コントローラ２０１は、第３接点オン信号を受信しなかった場合（ステップＳ４０８の判定がＮＯの場合）、つまり第３接点１１７がオフからオンに変化する以外の状態の場合は、鍵スイッチマトリクス１１４の現在スキャン中の鍵について、到達比較回路２１０がカウンタメモリ２０８中のＴＣ値と到達時間メモリ２０９中の到達時間値との一致を検出したか否かを判定する（ステップＳ４１０）。
【００５５】
現在スキャン中の鍵について、到達比較回路２１０が一致を検出した場合（ステップＳ４１０の判定がＹＥＳの場合）、コントローラ２０１は、その鍵に対応するノートナンバーとベロシティ値をノートナンバレジスタ２１２およびベロシティレジスタ２１１から読み出す。コントローラ２０１は、イベント割込信号（図２の中の「割込みＥＶ」）によって図１のＣＰＵ１０１に割込み通知を行うことにより、ノートナンバおよびベロシティ値からなる発音情報をＣＰＵ１０１に転送し発音指示を行う（ステップＳ４１１）。最後に、コントローラ２０１は、現在スキャンしている鍵について、カウンタメモリ２０８中のＳＴフラグに、離鍵待ちを示す値“４”をセットする。その後、コントローラ２０１は、現在スキャン中の鍵に対するタッチ検出動作処理を終了する。これに対してＣＰＵ１０１は、タッチ検出装置１１３内のコントローラ２０１から通知された発音情報に基づく楽音の発音指示を、音源１１２に対して行う。
【００５６】
コントローラ２０１は、第３接点オン信号を受信しなかった場合（ステップＳ４１０の判定がＮＯの場合）、コントローラ２０１は、現在スキャン中の鍵に対するタッチ検出動作処理をそのまま終了する。
【００５７】
以上説明した押鍵時のタッチ検出動作処理に対して、離鍵時の消音動作処理については、本発明には関連しないのでその詳細は省略する。離鍵時の概略の動作として、コントローラ２０１は、現在スキャンしている鍵について、カウンタメモリ２０８中のＳＴフラグに離鍵待ちを示す値“４”が格納されている場合に、鍵スイッチマトリクス１１４から第１接点１１５がオフされたことを示す第１接点オフ信号を受信した場合に、コントローラ２０１は、離鍵処理を実行する。例えば、コントローラ２０１は、その鍵に対応するノートナンバーをノートナンバレジスタ２１２から読み出す。コントローラ２０１は、イベント割込信号（図２の中の「割込みＥＶ」）によって図１のＣＰＵ１０１に割込み通知を行うことにより、上記ノートナンバを含む消音情報をＣＰＵ１０１に転送し消音指示を行う。最後に、コントローラ２０１は、現在スキャンしている鍵について、カウンタメモリ２０８中のＳＴフラグに、押鍵待ちを示す値“０”をセットする。これに対してＣＰＵ１０１は、タッチ検出装置１１３内のコントローラ２０１から通知された消音情報に基づく楽音の消音指示を、音源１１２に対して行う。なお、コントローラ２０１は、第３接点１１７、第２接点１１６、第１接点１１５の順に離鍵されるときの各接点間の時間長に基づいて、押鍵時と同様のベロシティ値を算出し、それを離鍵時のベロシティ値としてＣＰＵ１０１に送り、ＣＰＵ１０１が音源１１２に対して離鍵時のベロシティ制御を行うようにしてもよい。
【００５８】
以上のタッチ検出動作処理に基づく本実施形態の動作例について、以下に説明する。図５は、浅い位置の押鍵で発音する場合の本実施形態の動作説明図である。鍵が第１接点１１５と第２接点１１６は通過したが第３接点１１７までは到達しておらず、第１カウンタ用加算器２０４により第１接点１１５と第２接点１１６の間で計測されたベロシティＶＣ１が閾値αより大きい場合、アコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦する状態に相当するとみなされる。この場合、図４のステップＳ４０３→Ｓ４０４→Ｓ４０５→Ｓ４０７の制御処理によって、第１接点１１５と第２接点１１６の間で計測されたＶＣ１値に基づいて推定された下限ストローク位置までの到達時間が、第２カウンタ用加算器２０５によってカウントされる（ＴＣ１カウント）。このカウントによってカウンタメモリ２０８内のＴＣ値が到達時間に一致した時点で、図４のステップＳ４１０→Ｓ４１１の制御処理によって、ＶＣ１値をベロシティ値とするノートオンイベントが発生する。また、第１接点１１５のオフで、ノートオフ（ダンパーオン）のイベントが発生する。
【００５９】
このようにして、本実施形態によれば、アコースティックピアノにおいて鍵を下限位置まで押し切らずともベロシティ値が強ければハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦することによって発音が行われる動作をシミュレートすることが可能となり、より高精度な押鍵・連打検出を実現することが可能となる。
【００６０】
図６は、浅い位置の押鍵で発音しない場合の本実施形態の動作説明図である。鍵が第１接点１１５および第２接点１１６は通過したが第３接点１１７までは到達しておらず、第１カウンタ用加算器２０４により第１接点１１５と第２接点１１６の間で計測されたベロシティＶＣ１が閾値α以下である場合である。この場合、図４のステップＳ４０３→Ｓ４０４→Ｓ４０５→Ｓ４０６の処理によって、第２カウンタ用加算器２０５によるＴＣ１カウントは動作を開始せず、第３カウンタ用加算器２０６によるＶＣ２カウントが開始されるが、打弦が第３接点１１７までは到達せずに第２接点１１６、第１接点１１５の順にオフとなる。このため、図４のステップＳ４１０の判定はＹＥＳとならず、ノートオンは発生せず、従って、ノートオフも発生しない。
【００６１】
すなわち、アコースティックピアノにおいて鍵を下限位置まで押し切らずかつベロシティ値が弱ければハンマーは鍵盤と繋がったアクション部からはずれずに打弦は行われず発音が行われないという動作をシミュレートすることが可能となる。
【００６２】
図７は、第１接点１１５と第２接点１１６の間のＶＣ１値が閾値α以下であったが、押鍵が第３接点１１７まで到達したので発音する場合の本実施形態の動作説明図である。鍵が第１接点１１５および第２接点１１６は通過した時点で、第１カウンタ用加算器２０４により第１接点１１５と第２接点１１６の間で計測されたベロシティＶＣ１が閾値α以下であり、図４のステップＳ４０３→Ｓ４０４→Ｓ４０５→Ｓ４０６の処理によって、第２カウンタ用加算器２０５によるＴＣ１カウントは動作を開始せず、第３カウンタ用加算器２０６によるＶＣ２カウントが開始される。こ状態で、押鍵が第３接点１１７を通過すると、図４のステップＳ４０８→Ｓ４０９の制御処理によって、第２接点１１６と第３接点１１７の間で計測されたＶＣ２値に基づいて推定された下限ストローク位置までの到達時間が、第４カウンタ用加算器２０７によってカウントされる（ＴＣ２カウント）。このカウントによってカウンタメモリ２０８内のＴＣ値が到達時間に一致した時点で、図４のステップＳ４１０→Ｓ４１１の制御処理によって、ＶＣ２値をベロシティ値とするノートオンイベントが発生する。また、第１接点１１５のオフで、ノートオフ（ダンパーオン）のイベントが発生する。
【００６３】
図８は、ＶＣ１値が閾値αを上回りかつ押鍵が第３接点１１７まで通過する場合の本実施形態の動作説明図である。この場合は、図５と同じ動作が実行される。図５で説明したように、この場合もアコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦する状態に相当するとみなされるため、図４のステップＳ４０３→Ｓ４０４→Ｓ４０５→Ｓ４０７の制御処理により、第２カウンタ用加算器２０５によるＴＣ１カウントが開始され、第３カウンタ用加算器２０６によるＶＣ２カウントは開始されない。従って、第３接点１１７のタッチ状態は無視される。この結果、図５の場合と同様に、カウンタメモリ２０８内のＴＣ値が到達時間に一致した時点で、図４のステップＳ４１０→Ｓ４１１の制御処理によって、ＶＣ１値をベロシティ値とするノートオンイベントが発生する。また、第１接点１１５のオフで、ノートオフ（ダンパーオン）のイベントが発生する。
【００６４】
図９は、以上の図５から図８までのケース毎の動作をまとめた図表である。第１接点１１５と第２接点１１６間で計測されたＶＣ１値が閾値αよりも大きい場合、押鍵が第３接点１１７に到達しなくても（図５のケース）、到達しても（図８のケース）、第１接点１１５と第２接点１１６間で計測されたベロシティ値ＶＣ１で発音指示が行われる。これがアコースティックピアノにおいて鍵の強い押鍵動作によってハンマーが鍵盤と繋がったアクション部からはずれて慣性によって移動し打弦する状態に相当する。一方、ＶＣ１値が閾値α以下である場合は、押鍵が第３接点１１７に到達しなければ発音指示は行われず（図６のケース）、到達すれば第２接点１１６と第３接点１１７間で計測されたベロシティ値ＶＣ２で発音指示が行われる（図７のケース）。
【００６５】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）
押鍵操作に応じて順次オンされる第１、第２、および第３接点を備えた鍵からの、当該第１、第２、または第３接点の夫々のオン検出信号に基づき、前記第１接点がオンされてから前記第２接点がオンされるまでの時間をカウントする第１カウンタと、
前記第１カウンタによるカウント完了後にカウントを開始する第２カウンタと、
前記第２接点がオンされてから前記第３接点がオンされるまでの時間をカウントする第３カウンタと、
前記第１カウンタによりカウントされた値が所定の閾値より大きい場合は、前記第２のカウンタのカウント値が予め設定された到達カウント値となったときに、前記第１のカウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力するとともに、前記第１カウンタによりカウントされた値が前記所定の閾値より小さい場合は、前記第３接点がオンされた後に、前記第３カウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力する制御回路と、
を備えるタッチ検出装置。
（付記２）
前記タッチ検出装置は、前記第３カウンタによるカウント完了後にカウントを開始する第４カウンタを更に備え、
前記補正時間用カウンタ値は、前記第２または第４カウンタでカウントされた時間を示し、
前記制御回路は、前記第１カウンタによりカウントされた値が前記所定の閾値より小さい場合に、前記第３接点がオンされた後さらに前記第４カウンタのカウンタ値が前記到達カウント値となったときに、前記第３カウンタのカウント値に応じたタッチ情報を含む発音指示を出力する、付記１に記載のタッチ検出装置。
（付記３）
付記１または２のいずれかに記載のタッチ検出装置を備えた電子楽器。
（付記４）
押鍵操作に応じて順次オンされる第１、第２、および第３接点を備えた鍵と、第１カウンタと、第２カウンタと、第３カウンタとを備えたタッチ検出装置で用いられるタッチ検出方法であって、前記タッチ検出装置は、
前記第１、第２、または第３接点の夫々のオン検出信号に基づき、前記第１接点がオンされてから前記第２接点がオンされるまでの時間を前記第１カウンタでカウントし、
前記第１カウンタによるカウント完了後に前記第２カウンタのカウントを開始させ、
前記第２接点がオンされてから前記第３接点がオンされるまでの時間を前記第１カウンタでカウントし、
前記第１カウンタによりカウントされた値が所定の閾値より大きい場合は、前記第２のカウンタのカウント値が予め設定された到達カウント値となったときに、前記第１のカウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力し、
前記第１カウンタによりカウントされた値が前記所定の閾値より小さい場合は、前記第３接点がオンされた後に、前記第３カウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力する、タッチ検出方法。
（付記５）
押鍵操作に応じて順次オンされる第１、第２、および第３接点を備えた鍵と、第１カウンタと、第２カウンタと、第３カウンタとを備えたタッチ検出装置として用いられるコンピュータに、
前記第１、第２、または第３接点の夫々のオン検出信号に基づき、前記第１接点がオンされてから前記第２接点がオンされるまでの時間を前記第１カウンタでカウントするステップと、
前記第１カウンタによるカウント完了後に前記第２カウンタのカウントを開始させるステップと、
前記第２接点がオンされてから前記第３接点がオンされるまでの時間を前記第１カウンタでカウントするステップと、
前記第１カウンタによりカウントされた値が所定の閾値より大きい場合は、前記第２のカウンタのカウント値が予め設定された到達カウント値となったときに、前記第１のカウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力するステップと、
前記第１カウンタによりカウントされた値が前記所定の閾値より小さい場合は、前記第３接点がオンされた後に、前記第３カウンタのカウント値に応じたタッチ情報を含む発音指示信号を出力するステップと、
を実行させるプログラム。
【符号の説明】
【００６６】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  バス
１０５  入出力インタフェース
１０６  入力部
１０７  出力部
１０８  記憶部
１０９  ＭＩＤＩインタフェース部
１１０  ドライブ
１１１  リムーバブルメディア
１１２  音源
１１３  タッチ検出装置
１１４  鍵スイッチマトリクス
１１５  第１接点
１１６  第２接点
１１７  第３接点
２０１  コントローラ
２０２  イベントフラグセット回路（ＥＶフラグセット回路）
２０３  ステータス更新回路
２０４  第１カウンタ用加算器
２０５  第２カウンタ用加算器
２０６  第３カウンタ用加算器
２０７  第４カウンタ用加算器
２０９  到達時間メモリ
２１０  到達比較回路
２１１  ベロシティレジスタ
２１２  ノートナンバレジスタ
【図１】
0006507519.tif 000002
【図２】
0006507519.tif 000003
【図３】
0006507519.tif 000004
【図４】
0006507519.tif 000005
【図５】
0006507519.tif 000006
【図６】
0006507519.tif 000007
【図７】
0006507519.tif 000008
【図８】
0006507519.tif 000009
【図９】
0006507519.tif 000010