JPH043553B2 - - Google Patents
Info
- Publication number
- JPH043553B2 JPH043553B2 JP58106801A JP10680183A JPH043553B2 JP H043553 B2 JPH043553 B2 JP H043553B2 JP 58106801 A JP58106801 A JP 58106801A JP 10680183 A JP10680183 A JP 10680183A JP H043553 B2 JPH043553 B2 JP H043553B2
- Authority
- JP
- Japan
- Prior art keywords
- touch
- count value
- key
- timing
- data
- 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 - Lifetime
Links
- 230000004044 response Effects 0.000 claims description 15
- 238000000034 method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- YDLQKLWVKKFPII-UHFFFAOYSA-N timiperone Chemical compound C1=CC(F)=CC=C1C(=O)CCCN1CCC(N2C(NC3=CC=CC=C32)=S)CC1 YDLQKLWVKKFPII-UHFFFAOYSA-N 0.000 description 1
- 229950000809 timiperone Drugs 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
〔産業上の利用分野〕
この発明は電子楽器のタツチレスポンス装置に
関し、特に鍵の押下時のタツチを検出し、楽音制
御に利用するものに関する。 〔従来の技術〕 鍵の押下時のタツチ(イニシヤルタツチ)を検
出するための代表例として、鍵の押下時における
押下開始から押下完了までの間の所定の2点の押
下タイミングに対応する第1および第2のタイミ
ング(以下、この明細書においては、便宜上第1
のタイミングを押下開始時と言い、第2のタイミ
ングを押下完了時と言うことにする)においてそ
れぞれ作動する第1および第2の接点を各鍵毎に
夫々設け、両接点の作動時間差を測定し、押下速
度に対応したタツチデータを得るようにしたもの
がある。従来は、この接点時間差測定のためのカ
ウンタを各鍵毎にあるいは各発音チヤンネル毎に
夫々独立に設けるようにしていたため、回路スペ
ース及びコストの点で好ましくなかつた。この点
に鑑みて特願昭53−41949号(特開昭54−134414
号)では、全鍵に共通の計数用カウンタ(タイ
マ)を用い、このカウント値を各鍵の押下開始時
及び押下完了時において夫々サンプリングして取
り出し、同一鍵に関する2つのカウント値(サン
プリングデータ)の差を求めることにより該鍵の
タツチデータを得るようにしている。 〔発明が解決しようとする問題点〕 しかし、上述の先願明細書に示されたもので
は、鍵の押下開始時及び押下完了時との時間差が
計数用カウンタのカウント値一巡周期よりも長い
場合はタツチ検出不可能となり、タツチレスポン
ス効果を付与することができないことから、その
ような場合は、当該鍵の発音を中止せざる得なか
つた。 この発明は上述の点に鑑みてなされたもので、
鍵押下時の押下開始から押下完了までの間におけ
る第1及び第2のタイミングの時間差が計数用カ
ウンタのカウント値一巡周期よりも長い場合でも
タツチ検出が可能なタツチレスポンス装置を提供
しようとするものである。 〔問題点を解決するための手段〕 この発明に係る電子楽器のタツチレスポンス装
置は、計数動作を繰り返し行い、時間的に変化す
る計数値データを発生すると共に一定周期毎にオ
ーバーフロー信号を発生する第1の手段と、鍵の
押下開始から押下完了までの間の所定の2点の押
下タイミングに対応する第1及び第2のタイミン
グにおいて前記第1の手段で発生された各計数値
データ、及び前記第1の手段から発生される前記
オーバーフロー信号を、発生順に記憶する第2の
手段と、前記第2の手段に記憶した前記第1及び
第2のタイミングにおける各計数値データと前記
第1のタイミングから前記第2のタイミングまで
に生じたオーバーフロー信号の数とに基づき前記
鍵の押下時のタツチに関連するタツチデータを形
成する第3の手段とを具えたものである。 これを図により示すと第1図のようであり、
TCは第1の手段から発生される計数値データ、
OVFは第1の手段から発生されるオーバーフロ
ー信号、K1,K2は鍵押下に応じて前記第1及
び第2のタイミングに対応して与えられるデー
タ、である。 第1の手段では、計数値データTCを発生する
と共に一定周期毎にオーバーフロー信号OVFを
発生する。第2の手段では、前記第1及び第2の
タイミングにおいて前記第1の手段で発生された
各計数値データ、及び前記第1の手段から発生さ
れる前記オーバーフロー信号OVFを、発生順に
記憶する。例えば、第1のタイミングと第2のタ
イミングの間でオーバーフロー信号OVFが1回
発生したとき、第1のタイミングに対応する計数
値データをTCP、第2のタイミングに対応する計
数値データをTCNとすると、TCP、OVF、TCN
の発生順が区別できるように第2の手段において
これらを記憶する。また、第1のタイミングと第
2のタイミングの間でオーバーフロー信号OVF
が2回発生したとすると、TCP、OVF、OVF、
TCNの発生順が区別できるように第2の手段にお
いてこれらを記憶する。また、第1のタイミング
と第2のタイミングの間でオーバーフロー信号
OVFが1回も発生しなかつたとすると、TCP、
TCNの発生順が区別できるように第2の手段にお
いてこれらを記憶する。 第3の手段では、第2の手段に記憶した前記第
1及び第2のタイミングにおける各計数値データ
TCP、TCNと前記第1のタイミングから前記第2
のタイミングまでに生じたオーバーフロー信号
OVFの数とに基づき前記鍵の押下時のタツチに
関連するタツチデータを形成する。例えば、第1
の計数値TCPと第2の計数値TCNの差TCN−TCP
を求め、かつ第1のタイミングから前記第2のタ
イミングまでに生じたオーバーフロー信号OVF
の数を求め、このオーバーフロー信号OVFの数
に応じて差TCN−TCPに対応するデータまたは所
定のデータをタツチデータとする。例えば、オー
バフロー回数が零であれば差TCN−TCPをそのま
まタツチデータとして用い、1以上であれば所定
の条件に従つて差TCN−TCPをそのまま又は適宜
修正変更してタツチデータとして用いるかあるい
は予め準備された所定のデータをタツチデータと
して用いる。 実施例 第2図には、マイクロコンピユータを用いてこ
の発明を実施した電子楽器のハード構成が示され
ている。キースイツチマトリクス10は各鍵に対
応するキースイツチから成り、前述の通り1鍵に
つき2つの接点(またはスイツチ)を含んでい
る。キースキヤナ11はキースイツチマトリクス
10の各接点(スイツチ)を順次走査し、鍵の押
下開始あるいは押下完了あるいは離鍵を検出す
る。キースキヤナ11は、上述のような鍵の状態
変化が検出されたときイベント割込要求信号EI
と共にその状態変化が押下開始であるのか押下完
了であるのか離鍵であるのかを示すイベントコー
ドEC及びその状態変化に係る鍵を識別するキー
コードKCを出力し、共通バス13に供給する。 タイマ12は、一定のクロツクパルスを逐次カ
ウントする所定モジユロのカウンタ12Aから成
り、そのカウント値が所定モジユロ数に達する毎
に(一定周期で)オーバフロー信号OVFを出力
する。カウンタ12Aのカウント値TCは共通バ
ス13に与えられる。またオーバフロー信号
OVFも割込要素信号として共通バス13に与え
られる。 マイクロコンピユータ部は、中央処理ユニツト
(CPU)14、プログラムあるいはデータを予め
記憶したリードオンリメモリ(ROM)15、及
びランダムアクセスメモリ(RAM)16から成
り、鍵タツチデータ形成処理及び発音割当処理等
を実行する。前述のキースキヤナ11及びタイマ
12の出力は共通バス13を介してマイクロコン
ピユータ部に送られる。 マイクロコンピユータ部では、イベント割込要
求信号EIまたはオーバフロー信号OVFによる割
込要求信号が与えられたとき第3図に示すような
割込ルーチンを実行する。まず、割込要求がイベ
ント割込要求信号EIによるものかオーバフロー
信号OVFによるものかを判断し、信号EIによる
場合はRAM16内のリングバツフア17にその
イベント割込要求に対応するイベントコードEC、
キーコードKC及びタイマカウント値TCを書込
む。オーバフロー信号OVFによる場合は該リン
グバツフア17にオーバフローコードOVFCを書
込む。 リングバツフア17はRAM16内の所定の記
憶エリアを用いて等価的に構成されている。つま
り、この所定の記憶エリアがリングバツフアとし
て機能するように書込み及び読出しのアドレス指
定が制御される。リングバツフア17の記憶形式
は例えば第4図のようになつている。つまりイベ
ントコードエリア、キーコードエリア、タイマカ
ウントエリアから成り、夫々のエリアにイベント
コードEC、キーコードKC、タイマカウント値
TCが書込まれる。オーバフローコードOVFCは
イベントコードエリアに書込まれるが、このとき
キーコードエリア及びタイマカウントエリアには
何も書込まれない。リングバツフア17では、割
込要求の発生順に従つて上記データが順次記憶さ
れる。例えば、(1)キーコードKCの内容がKC(C)で
特定される鍵の離鍵イベント、(2)キーコードKC
の内容がKC(D)で特定される鍵の押下開始イベン
ト、(3)タイマ12のオーバフロー、(4)キーコード
KCの内容がKC(D)で特定される鍵の押下完了イベ
ント、の順で割込要求が発生したとすると、第4
図のアドレスN−3乃至Nに示すようにデータが
記憶される。尚、離鍵イベント、鍵押下開始イベ
ント、鍵押下完了イベントのときのイベントコー
ドECの各内容をKOF、KON1,KON2で示
す。また、鍵押下開始イベント時にサンプリング
されたタイマカウント値TC(つまり第1の計時
値)をTCPで示し、鍵押下完了イベント時にサン
プリングされたタイマカウント値TC(つまり第2
の計時値)をTCNで示す。 マイクロコンピユータ部のメインルーチンは第
5図のようであり、まずリングバツフア17のイ
ベントコードエリアの内容を調べてイベントコー
ドEC(KOF、KON1,KON2のいずれか)が
記憶されたかどうかを判断する。イベントコード
ECが記憶されたならばその種類を見分け、KON
1なら何の処理も行なわないが、KON2ならば
ニユークレームルーチン(新たな押圧鍵の発音割
当てを行なうためのルーチン)を実行し、KOF
ならばニユーレリースルーチン(離鍵にもとづく
処理を行なうためのルーチン)を実行する。 第6図はニユークレームルーチンを示したもの
であり、まずアベイラブルバツフアに利用可能な
発音チヤンネルがあるかどうかを調べ、利用可能
なチヤンネルがなければ直ちにこのルーチンを終
了するが、利用可能なチヤンネルがあればこのル
ーチンを続行する。アベイラブルバツフアは
RAM16内に含まれており、各発音チヤンネル
に対応する記憶位置を有し、楽音発生のために現
在使用されている(つまり新たな押圧鍵にとつて
は利用不可能な)チヤンネルに対応する記憶位置
ではそのチヤンネル番号データとフラツグがクリ
アされているが、楽音発生のために現在使用され
ていない(つまり新たな押圧鍵にとつて利用可能
な)チヤンネルに対応する記憶位置ではそのチヤ
ンネル番号データとフラツグがセツトされてい
る。利用可能であるか否かはフラツグを調べるこ
とにより判明する。 ニユークレームルーチンでは、利用可能なチヤ
ンネルがあればアベイラブルバツフアからそのう
ち1つのチヤンネル番号データを読み出し、その
後そのチヤンネル番号データ及びフラツグをクリ
アする。読み出されたチヤンネル番号データが、
新たな押圧鍵を割当てるべきチヤンネルを特定す
る。次に、今回のニユークレームルーチンに係る
鍵つまり鍵押下完了イベントKON2に係る鍵の
キーコードKCをリングバツフア17から読み出
し、これを上述の如く新割当てのために特定され
たチヤンネルに対応してキーバツフアに書込む。
キーバツフアはRAM16内に含まれており、各
発音チヤンネルに対応する記憶位置を有し、各チ
ヤンネルにどの鍵が割当てられたかを記憶するも
のである。 次にブロツク18では、リングバツフア17か
ら今回の鍵押下完了イベントKON2に対応する
タイマカウント値TCNを読み出し、レジスタにス
トアしておく。ブロツク19では、リングバツフ
ア17を逆方向に読み出す。つまり、リングバツ
フア17の読み出しアドレスを1ステツプだけ逆
戻りさせる。こうしてリングバツフア17から読
み出されたイベントコードがオーバフローコード
OVFCであるか否かを判断し、オーバフローコー
ドOVFCであればブロツク20でオーバフロー回
数をカウントし、ブロツク21でオーバフロー回
数が「1」か「2」かを調べる。オーバフロー信
号をまだ1回しかカウントしていない場合はブロ
ツク19に戻り、リングバツフア17の読み出し
アドレスを更に1ステツプ逆戻りさせる。こうし
てリングバツフア17から読み出されたイベント
コードがオーバフローコードOVFCであるかを再
び判断し、NOならば、そのイベントコードが鍵
押下開始イベントKON1を示しかつそのキーコ
ードKCがキーバツフアにストアしたキーコード
(つまり今回の鍵押下完了イベントに係るキーコ
ード)に一致しているかをブロツク22で調べ
る。ブロツク22がNOならば再びブロツク19
に戻り、リングバツフア17の読み出しアドレス
を更に1ステツプ逆戻りさせる。 こうして、ブロツク19から21のループまた
は19から22のループを何回か繰返し、望みの
キーコードが読み出されたときブロツク22が
YESとなり、リングバツフア17の該当アドレ
スからタイマカウント値TCPを読み出してレジス
タにストアする。次にブロツク23ではそれまで
ブロツク20のルートでカウントされたオーバフ
ロー回数が0回か1回かを調べ、0回ならばブロ
ツク24に進み、鍵押下完了時のタイマカウント
値(第2の計時値)TCNから当該鍵の押下開始時
のタイマカウント値(第1の計時値)TCPを引算
し、その引算結果をタツチデータTDとする。1
回ならばブロツク25で「TCN>TCP」かを調
べ、NOならばブロツク24に進み、タツチデー
タTDを「TCN−TCP」によつて計算する。YES
ならばブロツク26に進み、タツチデータTDを
最弱タツチに対応する所定の最大値に設定する。
また、ブロツク22で希望キーコードが検出され
る前にオーバフロー回数が2回になつた場合は
(つまり鍵押下開始時と押下完了時の間に2回以
上のタイマオーバフローが生じた場合)、直ちに
ブロツク26に進み、タツチデータTDを最大値
(最弱タツチ)とする。 以上のようにして求められたタツチデータTD
は、キーコードKC、イベントコードEC、割当て
たチヤンネルのチヤンネル番号データと共にトー
ンジエネレータ27(第2図)に送出される。 トーンジエネレータ27では割当てられたチヤ
ンネル(チヤンネル番号データによつて指定され
たチヤンネル)においてタツチデータTD、キー
コードKC、イベントコードECにもとづきタツチ
コントロールされた楽音信号を発生し、これをサ
ウンドシステム28に与える。 一例として、第4図のアドレスNに記憶された
鍵押下完了イベントコードKON2に対応して第
6図のニユークレームルーチンが実行される場合
について説明する。ブロツク18の処理により、
アドレスNのタイマカウントエリアに記憶された
第2のタイマカウント値TCNが読み出され、レジ
スタにストアされる。次にブロツク19の処理に
よりリングバツフア17の読み出しアドレスがN
−1に戻される。そこにはオーバフローコード
OVFCが記憶されているので、ブロツク20でオ
ーバフロー回数を1カウントする。オーバフロー
回数はまだ1回目なのでブロツク21からブロツ
ク19に戻り、リンブバツフア17の読み出しア
ドレスがN−2に戻される。そこには鍵押下開始
イベントコードKON1と鍵押下完了イベントコ
ードKON2に対応するキーコードKC(D)と同じキ
ーコードKC(D)が記憶されているのでブロツク2
2がYESとなり、該アドレスN−2に記憶され
た第1のタイマカウント値TCPが読み出されてレ
ジスタにストアされる。オーバフロー回数は1回
であるためブロツク25に進み、レジスタにスト
アしたTCNとTCPを用いてTCN>TCPかを判断す
る。そしてその判断結果に応じてブロツク24ま
たは26が実行され、タツチデータTDが決定さ
れる。 第6図のプログラムによれば、タツチデータ
TDは、タイマ12のオーバフロー回数及び第
1、第2のタイマカウント値TCP、TCNの大小関
係に応じて、次表のように決定される。たて軸と
横軸の条件1、2の交点が、決定されるタツチデ
ータTDの内容を示す。 タイマ12のカウント値TCが第7図aに示す
ように一定周期Tで繰返し変化すると、オーバフ
ロー信号OVFは同図bのように発生する。ここ
で、タイマ12の同一周期内で同一鍵の押下開始
関し、特に鍵の押下時のタツチを検出し、楽音制
御に利用するものに関する。 〔従来の技術〕 鍵の押下時のタツチ(イニシヤルタツチ)を検
出するための代表例として、鍵の押下時における
押下開始から押下完了までの間の所定の2点の押
下タイミングに対応する第1および第2のタイミ
ング(以下、この明細書においては、便宜上第1
のタイミングを押下開始時と言い、第2のタイミ
ングを押下完了時と言うことにする)においてそ
れぞれ作動する第1および第2の接点を各鍵毎に
夫々設け、両接点の作動時間差を測定し、押下速
度に対応したタツチデータを得るようにしたもの
がある。従来は、この接点時間差測定のためのカ
ウンタを各鍵毎にあるいは各発音チヤンネル毎に
夫々独立に設けるようにしていたため、回路スペ
ース及びコストの点で好ましくなかつた。この点
に鑑みて特願昭53−41949号(特開昭54−134414
号)では、全鍵に共通の計数用カウンタ(タイ
マ)を用い、このカウント値を各鍵の押下開始時
及び押下完了時において夫々サンプリングして取
り出し、同一鍵に関する2つのカウント値(サン
プリングデータ)の差を求めることにより該鍵の
タツチデータを得るようにしている。 〔発明が解決しようとする問題点〕 しかし、上述の先願明細書に示されたもので
は、鍵の押下開始時及び押下完了時との時間差が
計数用カウンタのカウント値一巡周期よりも長い
場合はタツチ検出不可能となり、タツチレスポン
ス効果を付与することができないことから、その
ような場合は、当該鍵の発音を中止せざる得なか
つた。 この発明は上述の点に鑑みてなされたもので、
鍵押下時の押下開始から押下完了までの間におけ
る第1及び第2のタイミングの時間差が計数用カ
ウンタのカウント値一巡周期よりも長い場合でも
タツチ検出が可能なタツチレスポンス装置を提供
しようとするものである。 〔問題点を解決するための手段〕 この発明に係る電子楽器のタツチレスポンス装
置は、計数動作を繰り返し行い、時間的に変化す
る計数値データを発生すると共に一定周期毎にオ
ーバーフロー信号を発生する第1の手段と、鍵の
押下開始から押下完了までの間の所定の2点の押
下タイミングに対応する第1及び第2のタイミン
グにおいて前記第1の手段で発生された各計数値
データ、及び前記第1の手段から発生される前記
オーバーフロー信号を、発生順に記憶する第2の
手段と、前記第2の手段に記憶した前記第1及び
第2のタイミングにおける各計数値データと前記
第1のタイミングから前記第2のタイミングまで
に生じたオーバーフロー信号の数とに基づき前記
鍵の押下時のタツチに関連するタツチデータを形
成する第3の手段とを具えたものである。 これを図により示すと第1図のようであり、
TCは第1の手段から発生される計数値データ、
OVFは第1の手段から発生されるオーバーフロ
ー信号、K1,K2は鍵押下に応じて前記第1及
び第2のタイミングに対応して与えられるデー
タ、である。 第1の手段では、計数値データTCを発生する
と共に一定周期毎にオーバーフロー信号OVFを
発生する。第2の手段では、前記第1及び第2の
タイミングにおいて前記第1の手段で発生された
各計数値データ、及び前記第1の手段から発生さ
れる前記オーバーフロー信号OVFを、発生順に
記憶する。例えば、第1のタイミングと第2のタ
イミングの間でオーバーフロー信号OVFが1回
発生したとき、第1のタイミングに対応する計数
値データをTCP、第2のタイミングに対応する計
数値データをTCNとすると、TCP、OVF、TCN
の発生順が区別できるように第2の手段において
これらを記憶する。また、第1のタイミングと第
2のタイミングの間でオーバーフロー信号OVF
が2回発生したとすると、TCP、OVF、OVF、
TCNの発生順が区別できるように第2の手段にお
いてこれらを記憶する。また、第1のタイミング
と第2のタイミングの間でオーバーフロー信号
OVFが1回も発生しなかつたとすると、TCP、
TCNの発生順が区別できるように第2の手段にお
いてこれらを記憶する。 第3の手段では、第2の手段に記憶した前記第
1及び第2のタイミングにおける各計数値データ
TCP、TCNと前記第1のタイミングから前記第2
のタイミングまでに生じたオーバーフロー信号
OVFの数とに基づき前記鍵の押下時のタツチに
関連するタツチデータを形成する。例えば、第1
の計数値TCPと第2の計数値TCNの差TCN−TCP
を求め、かつ第1のタイミングから前記第2のタ
イミングまでに生じたオーバーフロー信号OVF
の数を求め、このオーバーフロー信号OVFの数
に応じて差TCN−TCPに対応するデータまたは所
定のデータをタツチデータとする。例えば、オー
バフロー回数が零であれば差TCN−TCPをそのま
まタツチデータとして用い、1以上であれば所定
の条件に従つて差TCN−TCPをそのまま又は適宜
修正変更してタツチデータとして用いるかあるい
は予め準備された所定のデータをタツチデータと
して用いる。 実施例 第2図には、マイクロコンピユータを用いてこ
の発明を実施した電子楽器のハード構成が示され
ている。キースイツチマトリクス10は各鍵に対
応するキースイツチから成り、前述の通り1鍵に
つき2つの接点(またはスイツチ)を含んでい
る。キースキヤナ11はキースイツチマトリクス
10の各接点(スイツチ)を順次走査し、鍵の押
下開始あるいは押下完了あるいは離鍵を検出す
る。キースキヤナ11は、上述のような鍵の状態
変化が検出されたときイベント割込要求信号EI
と共にその状態変化が押下開始であるのか押下完
了であるのか離鍵であるのかを示すイベントコー
ドEC及びその状態変化に係る鍵を識別するキー
コードKCを出力し、共通バス13に供給する。 タイマ12は、一定のクロツクパルスを逐次カ
ウントする所定モジユロのカウンタ12Aから成
り、そのカウント値が所定モジユロ数に達する毎
に(一定周期で)オーバフロー信号OVFを出力
する。カウンタ12Aのカウント値TCは共通バ
ス13に与えられる。またオーバフロー信号
OVFも割込要素信号として共通バス13に与え
られる。 マイクロコンピユータ部は、中央処理ユニツト
(CPU)14、プログラムあるいはデータを予め
記憶したリードオンリメモリ(ROM)15、及
びランダムアクセスメモリ(RAM)16から成
り、鍵タツチデータ形成処理及び発音割当処理等
を実行する。前述のキースキヤナ11及びタイマ
12の出力は共通バス13を介してマイクロコン
ピユータ部に送られる。 マイクロコンピユータ部では、イベント割込要
求信号EIまたはオーバフロー信号OVFによる割
込要求信号が与えられたとき第3図に示すような
割込ルーチンを実行する。まず、割込要求がイベ
ント割込要求信号EIによるものかオーバフロー
信号OVFによるものかを判断し、信号EIによる
場合はRAM16内のリングバツフア17にその
イベント割込要求に対応するイベントコードEC、
キーコードKC及びタイマカウント値TCを書込
む。オーバフロー信号OVFによる場合は該リン
グバツフア17にオーバフローコードOVFCを書
込む。 リングバツフア17はRAM16内の所定の記
憶エリアを用いて等価的に構成されている。つま
り、この所定の記憶エリアがリングバツフアとし
て機能するように書込み及び読出しのアドレス指
定が制御される。リングバツフア17の記憶形式
は例えば第4図のようになつている。つまりイベ
ントコードエリア、キーコードエリア、タイマカ
ウントエリアから成り、夫々のエリアにイベント
コードEC、キーコードKC、タイマカウント値
TCが書込まれる。オーバフローコードOVFCは
イベントコードエリアに書込まれるが、このとき
キーコードエリア及びタイマカウントエリアには
何も書込まれない。リングバツフア17では、割
込要求の発生順に従つて上記データが順次記憶さ
れる。例えば、(1)キーコードKCの内容がKC(C)で
特定される鍵の離鍵イベント、(2)キーコードKC
の内容がKC(D)で特定される鍵の押下開始イベン
ト、(3)タイマ12のオーバフロー、(4)キーコード
KCの内容がKC(D)で特定される鍵の押下完了イベ
ント、の順で割込要求が発生したとすると、第4
図のアドレスN−3乃至Nに示すようにデータが
記憶される。尚、離鍵イベント、鍵押下開始イベ
ント、鍵押下完了イベントのときのイベントコー
ドECの各内容をKOF、KON1,KON2で示
す。また、鍵押下開始イベント時にサンプリング
されたタイマカウント値TC(つまり第1の計時
値)をTCPで示し、鍵押下完了イベント時にサン
プリングされたタイマカウント値TC(つまり第2
の計時値)をTCNで示す。 マイクロコンピユータ部のメインルーチンは第
5図のようであり、まずリングバツフア17のイ
ベントコードエリアの内容を調べてイベントコー
ドEC(KOF、KON1,KON2のいずれか)が
記憶されたかどうかを判断する。イベントコード
ECが記憶されたならばその種類を見分け、KON
1なら何の処理も行なわないが、KON2ならば
ニユークレームルーチン(新たな押圧鍵の発音割
当てを行なうためのルーチン)を実行し、KOF
ならばニユーレリースルーチン(離鍵にもとづく
処理を行なうためのルーチン)を実行する。 第6図はニユークレームルーチンを示したもの
であり、まずアベイラブルバツフアに利用可能な
発音チヤンネルがあるかどうかを調べ、利用可能
なチヤンネルがなければ直ちにこのルーチンを終
了するが、利用可能なチヤンネルがあればこのル
ーチンを続行する。アベイラブルバツフアは
RAM16内に含まれており、各発音チヤンネル
に対応する記憶位置を有し、楽音発生のために現
在使用されている(つまり新たな押圧鍵にとつて
は利用不可能な)チヤンネルに対応する記憶位置
ではそのチヤンネル番号データとフラツグがクリ
アされているが、楽音発生のために現在使用され
ていない(つまり新たな押圧鍵にとつて利用可能
な)チヤンネルに対応する記憶位置ではそのチヤ
ンネル番号データとフラツグがセツトされてい
る。利用可能であるか否かはフラツグを調べるこ
とにより判明する。 ニユークレームルーチンでは、利用可能なチヤ
ンネルがあればアベイラブルバツフアからそのう
ち1つのチヤンネル番号データを読み出し、その
後そのチヤンネル番号データ及びフラツグをクリ
アする。読み出されたチヤンネル番号データが、
新たな押圧鍵を割当てるべきチヤンネルを特定す
る。次に、今回のニユークレームルーチンに係る
鍵つまり鍵押下完了イベントKON2に係る鍵の
キーコードKCをリングバツフア17から読み出
し、これを上述の如く新割当てのために特定され
たチヤンネルに対応してキーバツフアに書込む。
キーバツフアはRAM16内に含まれており、各
発音チヤンネルに対応する記憶位置を有し、各チ
ヤンネルにどの鍵が割当てられたかを記憶するも
のである。 次にブロツク18では、リングバツフア17か
ら今回の鍵押下完了イベントKON2に対応する
タイマカウント値TCNを読み出し、レジスタにス
トアしておく。ブロツク19では、リングバツフ
ア17を逆方向に読み出す。つまり、リングバツ
フア17の読み出しアドレスを1ステツプだけ逆
戻りさせる。こうしてリングバツフア17から読
み出されたイベントコードがオーバフローコード
OVFCであるか否かを判断し、オーバフローコー
ドOVFCであればブロツク20でオーバフロー回
数をカウントし、ブロツク21でオーバフロー回
数が「1」か「2」かを調べる。オーバフロー信
号をまだ1回しかカウントしていない場合はブロ
ツク19に戻り、リングバツフア17の読み出し
アドレスを更に1ステツプ逆戻りさせる。こうし
てリングバツフア17から読み出されたイベント
コードがオーバフローコードOVFCであるかを再
び判断し、NOならば、そのイベントコードが鍵
押下開始イベントKON1を示しかつそのキーコ
ードKCがキーバツフアにストアしたキーコード
(つまり今回の鍵押下完了イベントに係るキーコ
ード)に一致しているかをブロツク22で調べ
る。ブロツク22がNOならば再びブロツク19
に戻り、リングバツフア17の読み出しアドレス
を更に1ステツプ逆戻りさせる。 こうして、ブロツク19から21のループまた
は19から22のループを何回か繰返し、望みの
キーコードが読み出されたときブロツク22が
YESとなり、リングバツフア17の該当アドレ
スからタイマカウント値TCPを読み出してレジス
タにストアする。次にブロツク23ではそれまで
ブロツク20のルートでカウントされたオーバフ
ロー回数が0回か1回かを調べ、0回ならばブロ
ツク24に進み、鍵押下完了時のタイマカウント
値(第2の計時値)TCNから当該鍵の押下開始時
のタイマカウント値(第1の計時値)TCPを引算
し、その引算結果をタツチデータTDとする。1
回ならばブロツク25で「TCN>TCP」かを調
べ、NOならばブロツク24に進み、タツチデー
タTDを「TCN−TCP」によつて計算する。YES
ならばブロツク26に進み、タツチデータTDを
最弱タツチに対応する所定の最大値に設定する。
また、ブロツク22で希望キーコードが検出され
る前にオーバフロー回数が2回になつた場合は
(つまり鍵押下開始時と押下完了時の間に2回以
上のタイマオーバフローが生じた場合)、直ちに
ブロツク26に進み、タツチデータTDを最大値
(最弱タツチ)とする。 以上のようにして求められたタツチデータTD
は、キーコードKC、イベントコードEC、割当て
たチヤンネルのチヤンネル番号データと共にトー
ンジエネレータ27(第2図)に送出される。 トーンジエネレータ27では割当てられたチヤ
ンネル(チヤンネル番号データによつて指定され
たチヤンネル)においてタツチデータTD、キー
コードKC、イベントコードECにもとづきタツチ
コントロールされた楽音信号を発生し、これをサ
ウンドシステム28に与える。 一例として、第4図のアドレスNに記憶された
鍵押下完了イベントコードKON2に対応して第
6図のニユークレームルーチンが実行される場合
について説明する。ブロツク18の処理により、
アドレスNのタイマカウントエリアに記憶された
第2のタイマカウント値TCNが読み出され、レジ
スタにストアされる。次にブロツク19の処理に
よりリングバツフア17の読み出しアドレスがN
−1に戻される。そこにはオーバフローコード
OVFCが記憶されているので、ブロツク20でオ
ーバフロー回数を1カウントする。オーバフロー
回数はまだ1回目なのでブロツク21からブロツ
ク19に戻り、リンブバツフア17の読み出しア
ドレスがN−2に戻される。そこには鍵押下開始
イベントコードKON1と鍵押下完了イベントコ
ードKON2に対応するキーコードKC(D)と同じキ
ーコードKC(D)が記憶されているのでブロツク2
2がYESとなり、該アドレスN−2に記憶され
た第1のタイマカウント値TCPが読み出されてレ
ジスタにストアされる。オーバフロー回数は1回
であるためブロツク25に進み、レジスタにスト
アしたTCNとTCPを用いてTCN>TCPかを判断す
る。そしてその判断結果に応じてブロツク24ま
たは26が実行され、タツチデータTDが決定さ
れる。 第6図のプログラムによれば、タツチデータ
TDは、タイマ12のオーバフロー回数及び第
1、第2のタイマカウント値TCP、TCNの大小関
係に応じて、次表のように決定される。たて軸と
横軸の条件1、2の交点が、決定されるタツチデ
ータTDの内容を示す。 タイマ12のカウント値TCが第7図aに示す
ように一定周期Tで繰返し変化すると、オーバフ
ロー信号OVFは同図bのように発生する。ここ
で、タイマ12の同一周期内で同一鍵の押下開始
【表】
イベントKON1と押下完了イベントKON2が
発生した場合、オーバフロー回数は0回であり、
典型的には第7図cのように各イベントKON1,
KON2が発生する。つまり、普通はTCN>TCP
であり、その差TCN−TCPは押下速度に正確に対
応している(反比例している)。従つて、TCN−
TCPをタツチデータTDとして用いる。尚、タイ
マ12の1カウント当りの時間よりも接点時間差
が短かい場合はTCN=TCPであり、その差TCN−
TCP=0がタツチデータTDとなる。また、この
場合はTCN<TCPはあり得ない。 次に、オーバフローが1回有り、TCN<TCPで
ある場合とは、典型的には第7図dのようであ
り、両イベント間の時間差TAはタイマ12の1
周期Tよりも短かい。この場合はタイマカウンタ
12Aのモジユロ数の範囲で時間差TAを表現す
ることができる。つまり、TCN<TCPではある
が、「TCN+モジユロ数−TCP」の演算によつて
TAに正確に対応するタツチデータTDを求めるこ
とができる。ところで、2の補数を用いた引算に
よれば上述のようなモジユロ数の加算は不要であ
り、−TCPを2の補数で表現して「TCN−TCP」
なる演算を行ない、その引算結果のサインビツト
を無視すれば、それだけでTAに正確に対応する
タツチデータTDを得ることができる。 次に、オーバフローが1回有り、TCN>TCPで
ある場合とは第7図eのようであり、両イベント
間の時間差TBはタイマ12の1周期Tより長い。
この場合はタイマカウンタ12Aのモジユロ数の
範囲内で時間差TBを正確に表現することができ
ない。そこで、所定の最大値(最弱タツチを示
す)をタツチデータTDとして用いるのである。
オーバフローが2回有る場合とは第7図fのよう
であり、同様の理由により、所定の最大値をタツ
チデータTDとする。オーバフローが3回以上有
る場合も同様である。また、オーバフローが1回
有り、TCN=TCPの場合は第7図eの時間差TB
がTに等しいときであり、この場合はTCN−TCP
は0となつてしまうので所定の最大値をタツチデ
ータTDとする。 上記実施例では、オーバフロー回数が1回で
TCN≧TCPの場合またはオーバフロー回数が2回
以上の場合は、タツチデータTDを所定の最大値
に設定しているが、これに限らず、オーバフロー
回数をカウント値に換算して「TCN−TCP」に加
算する、あるいは所定値を段階的に設定する、 等任意の計算法を採用してよい。 発明の効果 以上説明したようにこの発明によれば、鍵押下
開始時と完了時の時間差がタイマの1周期より長
い場合でもタツチ検出が可能であり、如何なるタ
ツチに対してもタツチコントロールを付与した楽
音を発生することができるようになる。また、タ
イマとして動作するカウンタのハード回路構成を
増加することなくタツチ検出範囲を拡大すること
ができる。
発生した場合、オーバフロー回数は0回であり、
典型的には第7図cのように各イベントKON1,
KON2が発生する。つまり、普通はTCN>TCP
であり、その差TCN−TCPは押下速度に正確に対
応している(反比例している)。従つて、TCN−
TCPをタツチデータTDとして用いる。尚、タイ
マ12の1カウント当りの時間よりも接点時間差
が短かい場合はTCN=TCPであり、その差TCN−
TCP=0がタツチデータTDとなる。また、この
場合はTCN<TCPはあり得ない。 次に、オーバフローが1回有り、TCN<TCPで
ある場合とは、典型的には第7図dのようであ
り、両イベント間の時間差TAはタイマ12の1
周期Tよりも短かい。この場合はタイマカウンタ
12Aのモジユロ数の範囲で時間差TAを表現す
ることができる。つまり、TCN<TCPではある
が、「TCN+モジユロ数−TCP」の演算によつて
TAに正確に対応するタツチデータTDを求めるこ
とができる。ところで、2の補数を用いた引算に
よれば上述のようなモジユロ数の加算は不要であ
り、−TCPを2の補数で表現して「TCN−TCP」
なる演算を行ない、その引算結果のサインビツト
を無視すれば、それだけでTAに正確に対応する
タツチデータTDを得ることができる。 次に、オーバフローが1回有り、TCN>TCPで
ある場合とは第7図eのようであり、両イベント
間の時間差TBはタイマ12の1周期Tより長い。
この場合はタイマカウンタ12Aのモジユロ数の
範囲内で時間差TBを正確に表現することができ
ない。そこで、所定の最大値(最弱タツチを示
す)をタツチデータTDとして用いるのである。
オーバフローが2回有る場合とは第7図fのよう
であり、同様の理由により、所定の最大値をタツ
チデータTDとする。オーバフローが3回以上有
る場合も同様である。また、オーバフローが1回
有り、TCN=TCPの場合は第7図eの時間差TB
がTに等しいときであり、この場合はTCN−TCP
は0となつてしまうので所定の最大値をタツチデ
ータTDとする。 上記実施例では、オーバフロー回数が1回で
TCN≧TCPの場合またはオーバフロー回数が2回
以上の場合は、タツチデータTDを所定の最大値
に設定しているが、これに限らず、オーバフロー
回数をカウント値に換算して「TCN−TCP」に加
算する、あるいは所定値を段階的に設定する、 等任意の計算法を採用してよい。 発明の効果 以上説明したようにこの発明によれば、鍵押下
開始時と完了時の時間差がタイマの1周期より長
い場合でもタツチ検出が可能であり、如何なるタ
ツチに対してもタツチコントロールを付与した楽
音を発生することができるようになる。また、タ
イマとして動作するカウンタのハード回路構成を
増加することなくタツチ検出範囲を拡大すること
ができる。
第1図はこの発明の概念図、第2図はこの発明
に係る電子楽器の一実施例のハード構成ブロツク
図、第3図は同実施例のマイクロコンピユータ部
によつて実行される割込ルーチンプログラムのフ
ローチヤート、第4図は同実施例のリングバツフ
アにおける記憶形式を例示する図、第5図は同実
施例のマイクロコンピユータ部によつて実行され
るメインルーチンプログラムのフローチヤート、
第6図は第5図におけるニユークレームルーチン
プログラムのフローチヤート、第7図は第6図の
ニユークレームルーチンによつて実行されるタツ
チデータ形成処理の典型例を示すタイミングチヤ
ート、である。 1,12……タイマ、2……鍵盤、3……記憶
手段、4……オーバフローカウント手段、5……
タツチデータ形成手段、10……キースイツチマ
トリクス、11……キースキヤナ、17……リン
グバツフア、KC……キーコード、EC……イベン
トコード、EI……イベント割込要求信号、OVF
……オーバフロー信号、TC……タイマカウント
値、TCP……第1の計時値(タイマカウント値)、
TCN……第2の計時値(タイマカウント値)、
KON1……鍵押下開始イベントコード、KON2
……鍵押下完了イベントコード、KOF……離鍵
イベントコード、OVFC……オーバフローコー
ド。
に係る電子楽器の一実施例のハード構成ブロツク
図、第3図は同実施例のマイクロコンピユータ部
によつて実行される割込ルーチンプログラムのフ
ローチヤート、第4図は同実施例のリングバツフ
アにおける記憶形式を例示する図、第5図は同実
施例のマイクロコンピユータ部によつて実行され
るメインルーチンプログラムのフローチヤート、
第6図は第5図におけるニユークレームルーチン
プログラムのフローチヤート、第7図は第6図の
ニユークレームルーチンによつて実行されるタツ
チデータ形成処理の典型例を示すタイミングチヤ
ート、である。 1,12……タイマ、2……鍵盤、3……記憶
手段、4……オーバフローカウント手段、5……
タツチデータ形成手段、10……キースイツチマ
トリクス、11……キースキヤナ、17……リン
グバツフア、KC……キーコード、EC……イベン
トコード、EI……イベント割込要求信号、OVF
……オーバフロー信号、TC……タイマカウント
値、TCP……第1の計時値(タイマカウント値)、
TCN……第2の計時値(タイマカウント値)、
KON1……鍵押下開始イベントコード、KON2
……鍵押下完了イベントコード、KOF……離鍵
イベントコード、OVFC……オーバフローコー
ド。
Claims (1)
- 【特許請求の範囲】 1 計数動作を繰り返し行い、時間的に変化する
計数値データを発生すると共に一定周期毎にオー
バーフロー信号を発生する第1の手段と、 鍵の押下開始から押下完了までの間の所定の2
点の押下タイミングに対応する第1及び第2のタ
イミングにおいて前記第1の手段で発生された各
計数値データ、及び前記第1の手段から発生され
る前記オーバーフロー信号を、発生順に記憶する
第2の手段と、 前記第2の手段に記憶した前記第1及び第2の
タイミングにおける各計数値データと前記第1の
タイミングから前記第2のタイミングまでに生じ
たオーバーフロー信号の数とに基づき前記鍵の押
下時のタツチに関連するタツチデータを形成する
第3の手段と を具えた電子楽器のタツチレスポンス装置。 2 前記第3の手段は、前記第1のタイミングに
おける計数値データと前記第2のタイミングにお
ける計数値データとの差を計算する演算手段を含
むものである特許請求の範囲第1項記載の電子楽
器のタツチレスポンス装置。 3 前記第3の手段は、前記第1のタイミングか
ら前記第2のタイミングまでに生じたオーバーフ
ロー信号の数をカウントするカウント手段を含む
ものである特許請求の範囲第1項記載の電子楽器
のタツチレスポンス装置。 4 前記カウント手段は、前記第2のタイミング
において前記第2の手段に前記計数値データが記
憶されたとき該第2の手段における記憶内容の逆
方向読出しを行い、同じ鍵に関して前記第1のタ
イミングにおいて記憶した前記計数値データが読
み出されるまでに読み出された前記オーバーフロ
ー信号数をカウントするものである特許請求の範
囲第3項記載の電子楽器のタツチレスポンス装
置。 5 前記カウント手段は、前記オーバーフロー信
号のカウント値が所定値に成つたとき前記逆方向
読出しを中止し、前記第3の手段では、前記逆方
向読出しを中止したとき最弱タツチを示す所定の
タツチデータを形成するようにした特許請求の範
囲第4項記載の電子楽器のタツチレスポンス装
置。 6 前記第3の手段は、前記カウント手段でカウ
ントしたオーバーフロー信号の数が所定値以上の
とき最弱タツチを示す所定のタツチデータを形成
するものである特許請求の範囲第3項記載の電子
楽器のタツチレスポンス装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58106801A JPS59232396A (ja) | 1983-06-16 | 1983-06-16 | 電子楽器のタツチレスポンス装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58106801A JPS59232396A (ja) | 1983-06-16 | 1983-06-16 | 電子楽器のタツチレスポンス装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59232396A JPS59232396A (ja) | 1984-12-27 |
JPH043553B2 true JPH043553B2 (ja) | 1992-01-23 |
Family
ID=14442972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58106801A Granted JPS59232396A (ja) | 1983-06-16 | 1983-06-16 | 電子楽器のタツチレスポンス装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59232396A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0740189B2 (ja) * | 1986-10-24 | 1995-05-01 | カシオ計算機株式会社 | タツチレスポンス装置 |
JPH0722716Y2 (ja) * | 1987-05-15 | 1995-05-24 | カシオ計算機株式会社 | タッチレスポンス装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54134414A (en) * | 1978-04-10 | 1979-10-18 | Nippon Gakki Seizo Kk | Touch response device for electronic instrument |
-
1983
- 1983-06-16 JP JP58106801A patent/JPS59232396A/ja active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54134414A (en) * | 1978-04-10 | 1979-10-18 | Nippon Gakki Seizo Kk | Touch response device for electronic instrument |
Also Published As
Publication number | Publication date |
---|---|
JPS59232396A (ja) | 1984-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH043553B2 (ja) | ||
CN104205205B (zh) | 电子键盘乐器 | |
US4644841A (en) | Electronic musical instrument | |
JPS5857119B2 (ja) | 電子楽器のタッチレスポンス装置 | |
JPH0331273B2 (ja) | ||
JPS648356B2 (ja) | ||
JP3169728B2 (ja) | シミュレーションシステム | |
JP2950458B2 (ja) | 電子楽器 | |
JPH0417986Y2 (ja) | ||
JP2604562B2 (ja) | パルス間隔計測装置 | |
JP3945122B2 (ja) | 表示制御装置及び表示制御処理のプログラムを記憶した記憶媒体 | |
JPH0329749Y2 (ja) | ||
JPH0118437B2 (ja) | ||
JPH0610435Y2 (ja) | 小型電子式計算機 | |
JP2594656Y2 (ja) | 電子鍵盤楽器のタッチデータ処理装置 | |
JP2006146082A (ja) | 電子鍵盤楽器の鍵盤装置 | |
JP2536958Y2 (ja) | 自動演奏装置 | |
JP2522651B2 (ja) | 電子楽器 | |
JPH0697397B2 (ja) | 電子楽器 | |
JPS601651B2 (ja) | 乱数発生方式 | |
JPH1031485A (ja) | 自動演奏装置および該自動演奏装置を備えた電子楽器 | |
JPS6131481B2 (ja) | ||
JPH03134737A (ja) | マイクロプロセッサ | |
JPH0731501B2 (ja) | タッチデータ生成装置 | |
JPH08146159A (ja) | 時間測定装置 |