JP2606459B2 - 電子楽器のタッチレスポンス装置 - Google Patents

電子楽器のタッチレスポンス装置

Info

Publication number
JP2606459B2
JP2606459B2 JP3017146A JP1714691A JP2606459B2 JP 2606459 B2 JP2606459 B2 JP 2606459B2 JP 3017146 A JP3017146 A JP 3017146A JP 1714691 A JP1714691 A JP 1714691A JP 2606459 B2 JP2606459 B2 JP 2606459B2
Authority
JP
Japan
Prior art keywords
touch
data
key
register
itd
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
Application number
JP3017146A
Other languages
English (en)
Other versions
JPH04242292A (ja
Inventor
朗 飯塚
利明 佐藤
靖 鞍掛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP3017146A priority Critical patent/JP2606459B2/ja
Publication of JPH04242292A publication Critical patent/JPH04242292A/ja
Application granted granted Critical
Publication of JP2606459B2 publication Critical patent/JP2606459B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は鍵盤楽器の鍵等の演奏
操作手段の演奏中の操作タッチに応じて各操作毎にその
操作に対応したイニシャルタッチデータと各操作に共通
のアフタタッチデータとを出力する電子楽器のタッチレ
スポンス装置に関する。
【0002】
【従来の技術】電子楽器のタッチレスポンス制御には、
鍵の押し下げ速度に応じて楽音の音色、音高、音量等を
制御するイニシャルタッチ制御と、鍵押圧持続時におけ
る鍵押圧力を検出し、それに応じて楽音の音色等を制御
するアフタタッチ制御とがある。このタッチレスポンス
制御に関する従来技術としては、特公昭61−1451
8号公報、特開平1−200289号公報及び特開平2
−214897号公報等に示されたものがある。
【0003】特公昭61−14518号公報には、鍵の
押し下げ速度に応じた2接点間の作動時間差を検出する
ことによりイニシャルタッチデータを形成すると共に圧
電素子構成の押圧力検出装置を各鍵毎に設け、この押圧
力検出器からの検出信号に応じてアフタタッチデータを
形成し、タッチレスポンス制御するものが記載されてい
る。特開平1−200289号公報には、鍵の押圧力に
応じて互いに異なる出力応答特性の第1及び第2の検出
信号を出力する押圧力検出装置を各鍵毎に設け、第1の
検出信号をイニシャルタッチ信号として、第2の検出信
号をアフタタッチ信号としてタッチレスポンス制御する
ものが記載されている。
【0004】また、特開平2−214897号公報には
各鍵毎に押鍵の全行程を検出するセンサを設け、そのセ
ンサ出力に基づいてイニシャルタッチデータ及びアフタ
タッチデータを出力するものが記載されている。この他
にタッチレスポンス制御に関する従来技術として、特開
昭59−105692号公報や特公昭52−46088
号公報等に示されたものがある。
【0005】
【発明が解決しようとする課題】これらの従来技術は共
に各鍵毎にイニシャル用とアフタ用のタッチセンサを設
けるものであり、タッチデータが演奏者の各鍵の操作に
微妙に反応するため演奏表現力が格段に高いという利点
を有するが、各鍵毎にタッチセンサを設けなければなら
ず、装置全体が複雑かつ高価であるという欠点を有す
る。一方、これに対してイニシャル用のタッチセンサを
各鍵毎に設け、アフタ用のタッチセンサを全鍵に共通と
したものが知られている。これはアフタ用のタッチセン
サを各鍵毎に設けなくてもよいので、装置の構成を単純
化でき、低価格化を実現できる。しかし、演奏操作時に
出力されるアフタタッチデータが全鍵で共通なので、演
奏表現力が若干劣るという欠点を有する。
【0006】この発明は上述の点に鑑みてなされたもの
であり、アフタタッチセンサが全鍵共通であっても各鍵
毎にその鍵操作に応じたアフタタッチデータを出力する
ことのできる電子楽器のタッチレスポンス装置を提供す
ることを目的とする。
【0007】
【課題を解決するための手段】 この発明の電子楽器の
タッチレスポンス装置は、楽音演奏時に操作される複数
の演奏操作子からなる演奏操作手段と、上記演奏操作子
の操作時に、そのイニシャルタッチを上記演奏操作子の
操作毎に検出し、上記演奏操作子の個々の操作に対応し
たイニシャルタッチデータを出力するイニシャルタッチ
検出手段と、上記演奏操作子の操作時に、上記演奏操作
子の個々の操作に対して共通のアフタタッチデータを出
力するアフタタッチ検出手段と、上記演奏操作子の個々
の操作について、操作が開始されたときから操作が終了
までの間、所定の時間毎に、上記アフタタッチ検出手段
から出力される共通のアフタタッチデータを上記イニシ
ャルタッチ検出手段から出力されるイニシャルタッチデ
ータに基づいて変更し、該変更されたアフタタッチデー
タを出力する処理を行うアフタタッチデータ変更手段
と、上記演奏操作子の個々の操作について、操作に対応
して発生する楽音の特性を、上記イニシャルタッチ検出
手段から出力されるイニシャルタッチデータ、及び、上
記アフタタッチデータ変更手段から出力されるアフタタ
ッチデータに基づいて制御する楽音制御手段とを備えた
ことを特徴とするものである。
【0008】
【作用】 従来は、アフタタッチセンサが各鍵共通であ
る場合は、各鍵操作毎に演奏操作子(鍵)に加える押圧
力を異ならせても、各操作に共通のアフタタッチデータ
しか得られないため、同時に複数鍵の操作がなされた場
合各操作鍵のアフタタッチレスポンス制御は同じものと
なってしまい、質の良いアフタタッチレスポンス制御は
期待できない。これに対して、この発明では、アフタタ
ッチ検出手段が各演奏操作子(鍵)に共通のものであっ
ても、各演奏操作子(鍵)毎に個別のイニシャルタッチ
検出手段から出力される個別のイニシャルタッチデータ
に応じて共通のアフタタッチデータを変更することによ
り、各演奏操作子(鍵)毎に異なる個別のアフタタッチ
データを形成することができる。従って、アフタタッチ
検出手段は共通の1つの検出手段のみを設けるだけであ
っても、あたかも各演奏操作子(鍵)毎に個別のアフタ
タッチ検出手段が設けられているかのように、各鍵操作
に対応した個別のアフタタッチデータが形成されるよう
になり、簡単な構成でありながら、アフタタッチレスポ
ンスの演奏表現力を格段に向上することができるもので
あり、各鍵毎に個別のアフタタッチセンサを設ける従来
技術に比べて、鍵盤回りの装置構成を簡単化し、かつ低
コスト化できる、という優れた効果を奏する。また、こ
の発明によれば、個別のアフタタッチデータを形成する
にあたっては、該各操作に対応したアフタタッチデータ
の変更制御を当該操作が継続している期間中、所定の時
間毎に繰り返し行うようにしたことにより、共通のアフ
タタッチ検出手段を使用した簡単な構成でありながら、
同時的に操作された各演奏操作毎に異なるアフタタッチ
データをその発音中継続して作り出すことができ、個別
操作毎にその発音中継続して異なる制御が可能な、質の
良いアフタタッチレスポンス制御を行うことができる、
という優れた効果を奏する。
【0009】
【実施例】以下、この発明の実施例を添付図面に従って
詳細に説明する。第1図の実施例において、電子楽器全
体の制御は、マイクロプロセッサユニット(CPU)1
と、システムプログラムを格納するプログラムROM2
と、各種データを格納し、ワーキング用RAMとして用
いられるデータ及びワーキングRAM3とを含むマイク
ロコンピュータによって行われる。このマイクロコンピ
ュータには、データ及びアドレスバス4を介して、鍵盤
回路5、操作パネル6、音源となるトーンジェネレータ
9等の各種装置が接続されており、このマイクロコンピ
ュータによって制御されている。
【0010】鍵盤回路5は、発生すべき楽音の音高を指
定する鍵盤のそれぞれの鍵に対応して設けられた複数の
キースイッチからなる回路を含む。マイクロコンピュー
タにより、この鍵盤回路5の出力に基づき押圧鍵検出処
理及び押圧鍵を複数の発音チャンネルのいずれかに割り
当てるための発音割当て処理が行われる。また、必要に
応じて押し下げ時の押鍵操作速度を判別してイニシャル
タッチデータITDを生成する処理が行われる。また、
鍵盤回路5には鍵盤の全鍵に共通して、鍵押圧持続時に
おける押圧力を検出してアフタセンサデータATDを出
力するアフタタッチセンサ13が設けられている。この
アフタタッチセンサ13は各鍵毎に設けられていなけれ
ば、複数鍵毎に共通に設けられていてもよい。
【0011】操作パネル6は、音色、音量、音高、効果
等を選択・設定・制御するための各種操作子を含むもの
であり、ピアノ、オルガン、バイオリン、金管楽器、ギ
ター等の各種自然楽器に対応する音色やその他各種の音
色を選択するためのスイッチ類からなる音色選択部7と
自動設定やマニュアル設定等のモードを選択するための
スイッチ類からなるモード選択部8とを有する。変換テ
ーブル12は各種データの格納されたROMで構成さ
れ、例えば、後述するように第2メークと第1メークと
の時間差Δt(n)をイニシャルタッチデータITD
(n)に変換するための変換係数やイニシャルタッチデ
ータITDを音色に応じて可変制御するためのオフセッ
ト値変換係数OFD(ITD(n),音色)やイニシャ
ル値変換係数IND(ITD(n),音色)等が格納さ
れている。
【0012】トーンジェネレータ9は、複数のnチャン
ネルで楽音信号の同時発生が可能であり、データ及びア
ドレスバス4を経由して与えられる各チャンネルに割り
当てられた鍵のキーコードKC、キーオン信号KON、
キーオフ信号KOF、イニシアルタッチデータITD
(n)、アフタタッチデータAFT(n)、音色選択信
号TC及びその他のデータを入力し、これらの各種デー
タに基づき楽音信号を発生する。この実施例では同時発
音可能なチャンネル数は16として説明する。なお、こ
の実施例では、アフタタッチセンサ13から出力される
全鍵共通のアフタセンサデータATDをマイクロコンピ
ャータ処理にてトーンジェネレータ9の各チャンネルn
毎にそれぞれ異なった値のアフタタッチデータAFT
(n)として出力する点に特徴がある。この処理の詳細
については後述する。
【0013】トーンジェネレータ9における楽音信号発
生方式はいかなるものを用いてもよい。例えば、発生す
べき楽音の音高に対応して変化するアドレスデータに応
じて波形メモリに記憶した楽音波形サンプル値データを
順次読み出すメモリ読み出し方式、又は上記アドレスデ
ータを位相角パラメータデータとして所定の周波数変調
演算を実行して楽音波形サンプル値データを求めるFM
方式、あるいは上記アドレスデータを位相角パラメータ
データとして所定の振幅変調演算を実行して楽音波形サ
ンプル値データを求めるAM方式等の公知の方式を適宜
採用してもよい。
【0014】トーンジェネレータ9から発生されたデジ
タルの楽音信号はデジタル/アナログ(D/A)変換器
10によって、アナログの楽音信号に変換され、サウン
ドシステム11に出力される。サウンドシステム11は
スピーカ及び増幅器等で構成され、D/A変換器10か
らのアナログの楽音信号に応じた楽音を発生する。タイ
マ14はマイクロコンピュータに対して2種類のインタ
ラプト信号TI1及びTI2を定期的に与えるもであ
り、この実施例では計時処理(図15のタイマインタラ
プト処理1)とアフタタッチデータ処理(図16のタイ
マインタラプト処理2、図17及び図23のタイマイン
タラプト処理3)とをタイマインタラプトによって実行
する場合について説明する。
【0015】次に、この発明におけるアフタタッチ制御
の概念を図2(a)〜(c)に基づいて説明する。図2
(a)は鍵盤回路5の任意の鍵(複数鍵であってもよ
い)の押圧中にアフタタッチセンサ13から出力される
全鍵共通のアフタセンサデータATDの波形を示す図で
ある。図2(b)及び(c)はそのアフタセンサデータ
ATDとイニシャルタッチデータITD(n)に基づい
て新たに生成され、最終的にトーンジェネレータ9に出
力されるアフタタッチデータAFT(n)の波形を示す
図である。図において、鍵の押し始めの時点を0とし、
図2(b)はチャンネルナンバn=1の場合を、図2
(c)はチャンネルナンバn=2の場合をそれぞれ示
す。図2(b)と(c)とでは、鍵操作によるイニシャ
ルタッチデータITD(n)の大きさが互いに異なるた
めに、最終的に出力されるアフタタッチデータAFT
(n)の大きさも全体的に図2(b)の方が大きくなっ
ている。
【0016】図2(b)及び(c)の場合、一定時間T
c(約20msec)を経過するまではアフタセンサデ
ータATDは出力されていないものとして取り扱い、イ
ニシャルタッチデータITD(n)を基に算出したアフ
タアタックデータAAD(n)をアフタタッチデータA
FT(n)として出力する。即ち、イニシャルタッチデ
ータITD(n)発生後一定時間Tcまではアフタタッ
チ制御は行わずに、イニシャルタッチデータITD
(n)を基に算出されたアフタアタックデータAAD
(n)をアフタタッチデータAFT(n)の代わりに出
力する。
【0017】このアフタアタックデータAAD(n)の
算出は次のように行われる。まず、イニシャルタッチデ
ータITD(n)にアタック係数Cを乗じたアタック値
C×ITD(n)と、イニシャルタッチデータITD
(n)にイニシャルタッチデータITD(n)と音色T
Cとによって決まるオフセット値変換係数OFD(IT
D(n),音色)を乗じたオフセット値ITD(n)×
OFD(ITD(n),音色)と、イニシャルタッチデ
ータITD(n)にイニシャルタッチデータITD
(n)と音色TCとによって決まるイニシャル値変換係
数IND(ITD(n),音色)を乗じたイニシャル値
ITD(n)×IND(ITD(n),音色)とを算出
し、アタック値C×ITD(n)からオフセット値IT
D(n)×OFD(ITD(n),音色)を減算し、さ
らにイニシャル値ITD(n)×IND(ITD
(n),音色)を加算した値(C×ITD(n)−IT
D(n)×OFD(ITD(n),音色)+ITD
(n)×IND(ITD(n),音色))をアフタアタ
ックデータAAD(n)とする。オフセット値変換係数
OFD(ITD(n),音色)及びイニシャル値変換係
数IND(ITD(n),音色)は変換テーブル12に
格納されているものを使用する。
【0018】一般に、この一定時間Tcは鍵が下まで押
し下げられるまでの短い時間であってもよい。これはア
フタタッチセンサ13から真のアフタタッチ検出出力が
得られるまで待機するためである。従って、一定時間T
cは任意に設定してもよい。そして、一定時間Tcだけ
経過した時点で、アフタタッチセンサ13から出力され
るアフタセンサデータATDにアフタ係数C1を乗じた
アフタ値C1×ATDと、前記イニシャル値ITD
(n)×IND(ITD(n),音色)とを加算したも
の(C1×ATD+ITD(n)×IND(ITD
(n),音色)をアフタタッチ制御用のアフタタッチデ
ータAFT(n)としてトーンジェネレータ9に出力す
る。
【0019】図2(b)のようにイニシャルタッチデー
タITD(1)が大きい場合は、アフタアタックデータ
AAD(1)及びアフタタッチデータAFT(1)も全
体的に大きくなり、逆に図2(c)のようにイニシャル
タッチITD(2)が小さい場合はアフタアタックデー
タAAD(2)及びアフタタッチデータAFT(2)も
全体的に小さくなる。従って、アフタタッチセンサ13
から全鍵共通のアフタセンサデータATDが1個しか出
力しなくても、その押鍵処理(イニシャルタッチデータ
ITD(n)の大きさ)に応じたそれぞれ異なった値の
アフタタッチデータAFT(n)がトーンジェネレータ
9に出力されるようになり、演奏表現力は格段に向上す
る。
【0020】このとき、一定時間Tcを経過した時点で
は、図2(b)及び(c)のようにアフタセンサデータ
ATDがアフタアタックデータAAD(n)よりも大き
いか又は小さい場合が大部分なので、一定時間Tc経過
直後はアフタタッチデータAFT(n)が急激に変化
し、発音時に不自然さが残るので、この発明の別の実施
例では一定時間Tc経過後直ちにアフタタッチデータA
FT(n)を出力せずに、両者の差分値を補間処理して
徐々に真のアフタセンサデータATDの波形に近づける
という補間処理を行っている。この補間処理は図17の
タイマインタラプト処理3によって実行される。
【0021】次に、マイクロコンピュータによって実行
される処理の一例を図3から図23に示したフローチャ
ートに基づいて説明する。その前に、各処理で使用され
るワーキングRAM3内の各レジスタ、フラグ等の内容
について説明する。ワーキングRAM3内には次のよう
なレジスタ群及びフラグ群がそれぞれ設定されている。
なお、各レジスタ、フラグ内のデータに対しては、レジ
スタ名、フラグ名をそのまま使用する。例えば、キーコ
ードを格納するキーコードレジスタKCの場合には、K
Cはキーコードレジスタと、それに格納されているキー
コードの2つを示すこととする。
【0022】・KONBUF(i):全部で(i+1)
個のキーオンイベントのキーコードKC及び識別マーク
KS等を同時に格納することのできるキーオンイベント
バッファである。ここで、キーコードKCは鍵盤回路5
の1回のキースキャン中に生じたタッチレスポンススイ
ッチのオンイベントに対応するキーコードであり、識別
マークKSはそのタッチレスポンススイッチオンイベン
トが第1メークであるか第2メークであるかを示すマー
クである。 ・i:キーオンイベントバッファKONBUF(i)の
アドレスを示す変数であり、0〜7の値が割り当てられ
る。 ・n1:第1メークのスイッチがオンした場合にそのチ
ャンネルナンバを示す第1メークオン変数であり、0〜
15の値が割り当てられる。
【0023】・CAL1(n1):第1メークのスイッ
チがオンした場合に、対応するチャンネルn1にフラグ
をたて、計算中であることを示す第1計算中フラグであ
り、計算していない場合には0が、計算中の場合には1
がそれぞれ割り当てられる。 ・t1:第1計算中フラグCAL(n1)のいずれかが
1になった時点、すなわちオールキーオフの状態からい
ずれかのキーの第1メークスイッチがオンした時点から
カウントを始め、第1計算中フラグCAL(n1)の全
てが0になった時点、すなわちオールキーオフになった
時点でリセットされるオールキータイマレジスタであ
る。
【0024】・T1(n1):オールキーオフの状態で
第1メークのスイッチがオンしてからチャンネルナンバ
n1がキーオンされるまでの時間を格納するキーオンタ
イマレジスタである。 ・n2:第2メークのスイッチがオンした場合にそのチ
ャンネルナンバを示す第2メークオン変数であり、0〜
15の値が割り当てられる。 ・T2(n):第2メークのスイッチがオンした時点の
カウンタレジスタt1の値を格納する第2メークオンタ
イマレジスタである。
【0025】・Δt(n):チャンネルnに関して第1
メークのスイッチがオンしてから第2メークのスイッチ
がオンするまでの時間を取り込むメーク間タイマレジス
タであり、これに格納された時間によってイニシャルタ
ッチデータITD(n)が決定される。 ・INT(Δt(n)):変換テーブル12内の変換係
数で変換されたメーク間タイマレジスタΔt(n)の
値、即ちイニシャルタッチデータITD(n)を格納す
るイニシャルレジスタである。なお、この変換における
変換テーブル12の変換係数は時間差Δt(n)の増加
に対して減少させるという逆変換を行うように設定され
ている。
【0026】・ITD(n):イニシャルレジスタIN
T(Δt(n))内のイニシャルタッチデータを格納す
るイニシャルタッチデータレジスタである。 ・C:アフタタッチデータAFT(n)のアタック部に
イニシャルタッチデータITD(n)を取り込む際に、
イニシャルタッチデータITD(n)に乗算するための
所定係数を格納するアタック係数レジスタである。 ・C1:アフタタッチデータAFT(n)にイニシャル
タッチデータITD(n)を取り込む際に、イニシャル
タッチデータITD(n)に乗算するための所定係数を
格納するアフタ係数レジスタである。 ・C2:デジタルコントロールフィルタ(DCF)制御
用アフタタッチデータAFTa(n)のアタック部にイ
ニシャルタッチデータITD(n)を取り込む際に、イ
ニシャルタッチデータITD(n)に乗算するための所
定係数を格納するDCF用アタック係数レジスタであ
る。 ・C3:デジタルコントロールフィルタ(DCF)制御
用アフタタッチデータAFTa(n)にイニシャルタッ
チデータITD(n)を取り込む際に、イニシャルタッ
チデータITD(n)に乗算するための所定係数を格納
するDCF用アフタ係数レジスタである。以上の所定係
数C,C1,C2,C3は、音色毎に異なるプリセット
データであったり、スライドボリューム、テンキー、ダ
イヤル等の各種操作子によって任意に入力可能な値であ
る。なお、最大値及び最小値は予め固定されているもの
とする。
【0027】・OFD(ITD(n),音色):変換テ
ーブル12でイニシャルタッチデータITD(n)と音
色に応じて変換されたオフセットデータ(オフセット変
換係数)を格納するオフセットデータレジスタである。
従って、このオフセットデータレジスタOFD(ITD
(n),音色)の値とイニシャルタッチデータITD
(n)とを乗算することによってオフセット値ITD
(n)×OFD(ITD(n),音色)が得られる。 ・IND(ITD(n),音色):変換テーブル12で
イニシャルタッチデータITD(n)と音色とに応じた
値に変換されたイニシャルデータ(イニシャル変換係
数)を格納するイニシャルデータレジスタである。従っ
て、このイニシャルデータIND(ITD(n),音
色)とイニシャルタッチデータITD(n)とを乗算す
ることによってイニシャル値ITD(n)×IND(I
TD(n),音色)を得ることができる。
【0028】・AFT(n):最終的にトーンジェネレ
ータ9に出力されるアフタタッチデータを格納するアフ
タタッチデータレジスタである。 ・CAL2(n):図2(b)及び(c)の所定時間T
cを計時中であるかどうかを示す第2計算中フラグであ
る。 ・IT(n):トーンジェネレータ9に内蔵されてお
り、イニシャルタッチデータITD(n)を格納するイ
ニシャルタッチレジスタである。
【0029】・AT(n):トーンジェネレータ9に内
蔵されており、アフタタッチデータAFT(n)を格納
するアフタタッチレジスタである。 ・KON(n):キーオンを示すキーオンレジスタであ
り、キーオン時に1、キーオフ時に0となる。従って、
キーオンレジスタは同時にキーオフであるかどうかも示
す。 ・KC(n):チャンネルナンバnのキーコードを示す
キーコードレジスタである。 ・KOFBUF(i):全部で(i+1)個のキーオフ
イベントのキーコード等を同時に格納することのできる
キーオフイベントバッファである。
【0030】・ATD:アフタタッチセンサ13から出
力されるアフタセンサデータを一時的に格納するアフタ
センサデータレジスタである。 ・A(n):アフタタッチセンサ13からのアフタセン
サデータATDをタイマインタラプトで対応するチャン
ネルナンバnに格納するアフタタッチレジスタである。 ・OLD(n):補間処理するかどうかを示す補間フラ
グであり、0(補間する),1(補間しない)の値が割
り当てられる。
【0031】・AFT1(n):補間前のアフタタッチ
データAFT(n)を格納する補間前レジスタである。 ・AFT2(n):補間処理後のアフタタッチデータA
FT(n)の値を格納する補間後レジスタである。 ・MD:タッチレスポンス処理のモードを示すモードレ
ジスタであり、操作パネル6のモード選択部8によって
0〜3の値が割り当てられる。MD=0の時、アフタタ
ッチ処理は行わない。MD=1の時、アフタタッチ処理
として音量レベルのみを制御する。MD=2の時、アフ
タタッチ処理としてDCFを制御する。MD=3の時、
アフタタッチ処理として音量レベル及びDCFの両方を
制御する。この他のレジスタ群については、実施例中で
説明する。
【0032】図3はマイクロコンピュータが処理するメ
インルーチンの一例を示す図である。以下、各ステップ
の処理内容を順に説明する。 ステップ31:電源投入時にマイクロコンピュータのデ
ータ及びワーキングRAM3の全てのデータに所定値を
セットしたり、所定のイニシャライズ処理を実行する。 ステップ32:鍵盤回路5の出力に基づきキーオンイベ
ントが有るかどうかを判定し、有り(Y)の場合は次の
キーオンイベント処理のステップ33に進み、無し
(N)の場合はステップ34にジャンプする。
【0033】ステップ33:キーオンイベントが発生す
る度にキーオンイベント処理(発音割当て処理等)を実
行する。この一例は図12及び図13に示されている。 ステップ34:鍵盤回路5の出力に基づきキーオフイベ
ントが有るかどうかを判定し、有り(Y)の場合は次の
キーオフイベント処理のステップ35に進み、無し
(N)の場合はステップ36にジャンプする。 ステップ35:キーオフイベントが発生する度にキーオ
フイベント処理を実行する。この一例は図14に示され
ている。
【0034】ステップ36:操作パネル6上の音色選択
部7又はモード選択部8の各スイッチが操作され、音色
変更イベント又はモード変更イベントが生じたかどうか
判定し、イベントが生じた(Y)場合は次の音色設定処
理のステップ37に進み、生じていない(N)場合はス
テップ38にジャンプする。 ステップ37:音色選択部7又はモード選択部8のスイ
ッチで選択された音色に応じた各種のパラメータ等の音
色設定処理を行う。この実施例では、主に音色に対応し
たタッチパラメータの設定処理について説明する。この
一例は図4〜図11に示されている。 ステップ38:ここでは上記以外のその他のイベント処
理、即ち操作パネル6におけるその他の操作子の操作に
基づく処理や、その他の種々の処理が行われる。
【0035】次に、図4〜図11に従ってステップ37
の音色設定処理の処理内容を順に説明する。図4は音色
設定処理の概略を示す図である。音色設定処理では、ま
ずその音色設定処理が自動モードなのか、手動モードな
のかを判定して、そのモードを設定する自動/手動モー
ド設定処理を実行する。この一例は図5に示されてい
る。その後に音色設定に必要な各種パラメータを設定す
る各種パラメータ設定処理を実行し、図3の音色設定処
理37を終了する。この一例は図6及び図7に示されて
いる。
【0036】図5は図4の自動/手動モード設定処理の
詳細を示す図である。以下、各ステップの処理内容を順
に説明する。 ステップ50:操作パネル6上のモード選択部8のマニ
ュアル設定モードスイッチにオンイベントが発生したか
どうかを判定し、オンイベントが発生している(Y)場
合は次のステップ51に進み、そうでない場合はステッ
プ52にジャンプする。 ステップ51:手動モードレジスタMANに1を格納
し、パラメータ設定モードが手動モードであることを設
定する。
【0037】ステップ52:操作パネル6上のモード選
択部8のマニュアル設定エスケープスイッチにオンイベ
ントが発生したかどうかを判定し、オンイベントが発生
している(Y)場合は次のステップ53に進み、そうで
ない場合はリターンし、図4の各種パラメータ設定処理
に進む。 ステップ53:手動モードレジスタMANに0を格納
し、パラメータ設定モードが自動モードであることを設
定する。
【0038】図6及び図7は図4の各種パラメータ設定
処理の第1の実施例(各種パラメータ設定処理1)の詳
細を示す図である。以下、各ステップの処理内容を順に
説明する。 ステップ54〜61:これらの各ステップは音色選択部
7で選択された音色の種類を判別し、それに応じて次に
処理しなければならないステップを決定している。すな
わち、ステップ54では、音色選択部7で選択された音
色がピアノであるかどうかを判定し、ピアノ(Y)の場
合はステップ62に進み、そうでない(N)場合は次の
ステップ55に進む。ステップ55でも同様にして音色
選択部7で選択された音色がハープシコードであるかど
うかを判定し、ハープシコード(Y)の場合はステップ
63に進み、そうでない(N)場合は次のステップ56
に進む。
【0039】ここで、ステップ55とステップ56との
間の接続が点線なのは、ステップ55とステップ56と
の間にもピアノ・パーカッシブ系の各種の音色に対応し
た判定ステップが存在していることを示すためである。
従って、ステップ55からステップ56に到達するまで
には数種類の判定ステップを通過している。そして、ス
テップ56では、音色選択部7で選択された音色がギタ
ーであるかどうかを判定し、ギター(Y)の場合はステ
ップ64に進み、そうでない(N)場合はブラス系の音
色選択処理のステップ57に進む。
【0040】ステップ57〜61は判定内容がブラス
I、ブラスII、バイオリン、ストリングスI、ストリン
グスIIに代わっているだけであり、処理内容自体は前述
のステップ54〜56と同じである。なお、ステップ6
1だけは、音色選択部7で選択された音色がストリング
スIIであるかどうかを判定し、その判定結果に応じてス
テップ69又は70のいずれかに進むようになってい
る。 ステップ62〜70:それぞれのステップ54〜61の
判定結果に応じて選択されたステップであり、判定結果
に対応した音色パラメータを音源(トーンジェネレー
タ)9に送出する。ステップ62,63,64の処理が
終了すると、結合子Aを介して図7のステップ71に進
む。ステップ65,66,67の処理が終了すると、結
合子Bを介して図7のステップ72に進む。ステップ6
8,69,70の処理が終了すると、結合子Cを介して
図7のステップ73に進む。
【0041】ステップ71,72,73:手動モードレ
ジスタMANが1であるかどうか、すなわち音色設定処
理が自動モードなのかマニュアルモードなのかを判定
し、1(マニュアル設定モード:Y)の場合はステップ
74,75,76に進む、0(自動設定モード:N)の
場合はステップ80,81,82に進む。
【0042】ステップ74,75,76:操作パネル6
上のマニュアル操作子に変更があったかどうかを判定
し、変更があった(Y)場合はステップ77,78,7
9に進み、変更がなかった場合は前のマニュアル操作子
の状態を維持するためにリターンし、図3のステップ3
7の音色設定処理を終了する。ステップ77,78,7
9:マニュアル操作子に応じたマニュアル値をそれぞれ
のレジスタに格納する。このステップは別々に示した
が、同じ処理なのでまとめてもよい。この処理の一例は
図8に示されている。図8のマニュアル設定処理では、
まずアタック係数レジスタC、オフセットデータレジス
タOFD、イニシャルデータレジスタIND及びアフタ
係数レジスタC1のそれぞれに対応するマニュアル値を
設定し、リターン後に図3のステップ37の音色設定処
理を終了する。なお、オフセットデータレジスタOF
D、イニシャルデータレジスタINDはマニュアル操作
子に対応して設けられた固有のレジスタであり、各チャ
ンネル毎に割り当てられたオフセットデータレジスタO
FD(ITD音色)とは異なるものである。
【0043】ステップ80:ピアノ及びパーカッシブ系
のタッチパラメータの自動設定処理1を行う。この一例
は図9に示されている。ピアノやパーカッシブ系の音は
キーオン等の発音開始時の状態で発音終了までの音色が
ほぼ決定するため、次のようなタッチパラメータの設定
処理を行う。図9の自動設定処理1では、まずアタック
係数レジスタCに0を設定し、アタック値C・ITD
(n)を0にする。マニュアル設定処理のオフセットデ
ータレジスタOFDの代わりにイニシャルタッチデータ
ITD(n)及び音色に依存したオフセットデータOF
D(ITD(n),ピアノ系の音色)を設定する。同様
にイニシャルデータレジスタINDの代わりにイニシャ
ルタッチデータITD(n)及び音色に依存したイニシ
ャルデータIND(ITD(n),ピアノ系の音色)を
設定する。そして、アフタ係数レジスタC1にも0を設
定し、アフタ値C1×ATDを0とする。このようにこ
こではピアノ及びパーカッシブ系の音色に応じたアフタ
タッチ処理を行うための各種のパラメータ設定処理を行
い、リターン後に図3のステップ37の音色設定処理を
終了する。
【0044】ステップ81:ブラス系のタッチパラメー
タの自動設定処理2を行う。この一例は図10に示され
ている。ブラス系の音はキーオンの状態で発音開始時に
大きな音、その後のアフタタッチでクレシェンド等の音
を制御するため、次のようなタッチパラメータの設定処
理を行う。図10の自動設定処理2では、まずアタック
係数レジスタCにC10を設定し、アタック値C・IT
D(n)をC10×ITD(n)にする。ここで、C1
0とはアタック値C・ITD(n)の最大値が10dB
となるような値のことである。次に、マニュアル設定処
理のオフセットデータレジスタOFDの代わりにイニシ
ャルタッチデータITD(n)及び音色に依存したオフ
セットデータOFD(ITD(n),ブラス系の音色)
を設定する。同様にイニシャルデータレジスタINDの
代わりにイニシャルタッチデータITD(n)及び音色
に依存したイニシャルデータIND(ITD(n),ブ
ラス系の音色)を設定する。そして、アフタ係数レジス
タC1にもC12を設定し、アフタ値C1×ATDをC
12×ATDとする。ここで、C12とはアフタ値C1
×ATDの最大値が12dBとなるような値のことであ
る。このようにここではブラス系の音色に応じたアフタ
タッチ処理を行うための各種のパラメータ設定処理を行
い、リターン後に図3のステップ37の音色設定処理を
終了する。
【0045】ステップ82:ストリングス系のタッチパ
ラメータの自動設定処理3を行う。この一例は図11に
示されている。ストリングス系の音は、発音開始時の音
色変化はそれほど大きくなく、アフタタッチを主に制御
するために、次のようなタッチパラメータの設定処理を
行う。図11の自動設定処理3では、まずアタック係数
レジスタCにC3を設定し、アタック値C・ITD
(n)をC3×ITD(n)にする。ここで、C3とは
アタック値C・ITD(n)の最大値が10dBとなる
ような値のことである。次に、マニュアル設定処理のオ
フセットデータレジスタOFDの代わりにイニシャルタ
ッチデータITD(n)及び音色に依存したオフセット
データOFD(ITD(n),ストリングス系の音色)
を設定する。同様にイニシャルデータレジスタINDの
代わりにイニシャルタッチデータITD(n)及び音色
に依存したイニシャルデータIND(ITD(n),ス
トリングス系の音色)を設定する。そして、アフタ係数
レジスタC1にも図9のブラス系の自動設定処理と同じ
C12を設定し、アフタ値C1×ATDをC12×AT
Dとする。このようにここではストリングス系の音色に
応じたアフタタッチ処理を行うための各種のパラメータ
設定処理を行い、リターン後に図3のステップ37の音
色設定処理を終了する。
【0046】図12及び図13は図3のキーオンイベン
ト処理33の詳細を示す図である。以下、各ステップの
処理内容を順に説明する。 ステップ120:アドレス変数iに0を設定する。 ステップ121:鍵盤回路5をキースキャンし、その1
回のキースキャン中にタッチレスポンススイッチにオン
イベントのあったキーコードKCと、そのオンイベント
が第1メーク(0)であるか第2メーク(1)であるか
の識別マークKSとをキーオンイベントバッファKON
BUF(i)にアドレス変数iを順次インクリメントし
ながら格納する。従って、アドレス変数iはオンイベン
トの数を示す。ここで、第1メークとは、イニシャルタ
ッチセンサの第1接点がオンした状態を意味し、第2メ
ークとは、イニシャルタッチセンサの第2接点がオンし
た状態を意味する。
【0047】ステップ122:ステップ121の処理に
よってアドレス変数iは変化している。そこで、これ以
降の処理をアドレス変数i=0から順番に行うため、再
びアドレス変数iに0を設定する。 ステップ123:キーオンイベントバッファKONBU
F(i)内の識別マークKSが1であるかどうか、すな
わちアドレス変数iに対応するオンイベントが第1メー
クなのか第2メークなのかを判定し、第1メーク(N)
の場合はステップ124に進み、第2メーク(Y)の場
合はステップ128に進む。識別マークKSが第1メー
クの場合は、まだイニシャルタッチデータITD(n)
を検出することができず、次の時点で第2メークが発生
するはずであるからそのためのチャンネルを確保するた
めの処理(ステップ124〜127)進み、識別マーク
KSが第2メークの場合にはイニシャルタッチデータI
TD(n)の算出及びアフタタッチデータATF(n)
の算出するための処理(ステップ128〜136)に進
む。
【0048】ステップ124:タッチレスポンススイッ
チにオンイベントがあり、それが第1メークなので、そ
のオンイベントに対するチャンネルを割り当てるために
空きチャンネルn1をサーチする。 ステップ125:ステップ124の空きチャンネルサー
チの結果、空きチャンネルの有無を判定し、空きチャン
ネルn1が存在する(N)場合はステップ126に進
み、空きチャンネルが無い(Y)場合はステップ127
に進む。
【0049】ステップ126:空きチャンネルが存在す
るので、そのオンイベントに対する発音処理を実行する
ために、第1計算中フラグCAL1(n1)に1を格納
する。これによって、オールキータイマレジスタt1は
図15のタイマインタラプト処理1に応じて計時を続行
する。また、このステップ126では、キーオンタイマ
レジスタT1(n1)にオールキータイマレジスタt1
の値を格納する。これによって、タッチレスポンススイ
ッチのオンイベント発生の時刻がキーオンタイマレジス
タT1(n1)にセットされ、その時刻が次の第2メー
クのオンイベントが発生するまで保持され、ステップ1
32のメーク間タイマΔt(n)の計算に利用される。
これらの処理が終了したら、結合子Gを介して図13の
ステップ137に進む。
【0050】ステップ127:ステップ125で空きチ
ャンネル無しと判定されたので、そのオンイベント(ア
ドレス変数iの残りのオンイベント)に対して、発音割
当て処理が実行できない。そこで、キーオンイベントバ
ッファKONBUF(i)に0を格納し、全てのデータ
をクリアし、結合子Fを介してリターンして図3のキー
オンイベント処理35を終了する。 ステップ128:タッチレスポンススイッチにオンイベ
ントがあり、それが第2メークなので、そのオンイベン
トに対して発音チャンネルを割り当てるために空きチャ
ンネルnをサーチする。このステップにはステップ12
4,125,126の処理を一旦終了してから入ってく
るので、ステップ124の時点で空きチャンネルが存在
しても、このステップの時点では空きチャンネルが存在
しない場合がある。そこで、このステップで再度空きチ
ャンネルnのサーチを行う。
【0051】ステップ129:キーオンイベントバッフ
ァKONBUF(i)のキーコードKCと同じキーコー
ドのチャンネルn1(ステップ124でサーチされた空
きチャンネルn1)をサーチする。 ステップ130及びステップ131はステップ128及
び129のサーチの結果に応じた処理を選択するための
ステップである。 ステップ130:ステップ128及び129のサーチの
結果に基づき、空きチャンネルnが存在し、且つキーオ
ンイベントバッファKONBUF(i)に同一キーコー
ドKCが存在する(Y)場合は、結合子Dを介してステ
ップ132に進み、空きチャンネルnが無いか又は同一
キーコードが無い(N)場合は、ステップ131に進
む。
【0052】ステップ131:ステップ128及び12
9のサーチの結果に基づき、空きチャンネルnが存在
し、且つキーオンイベントバッファKONBUF(i)
に同一キーコードKCが無い(Y)場合は、結合子Eを
介してステップ137に進み、また、同一キーコードK
Cの有無に関係なく空きチャンネルnが無い(N)場合
は、ステップ127に進み、キーオンイベントバッファ
KONBUF(i)のデータをクリアし、リターンによ
って、図3のキーオンイベント処理35を終了する。
【0053】ステップ132:空きチャンネルnが存在
し、且つキーオンイベントバッファKONBUF(i)
に同一キーコードKCが存在するので、ステップ129
でサーチされたチャンネルn1をステップ128の空き
チャンネルnに格納する。これによって、ステップ12
4の時点で存在した空きチャンネルn1が正式に発音割
当てチャンネルnとなる。第1計算中フラグCAL(n
1)に0を格納し、オールキータイマレジスタt1の計
時を終了する。第2メークオンタイマレジスタT2
(n)にオールキータイマレジスタt1の値を格納す
る。
【0054】そして、この第2メークオンタイマレジス
タT2(n)の値からキーオンタイマレジスタT1
(n)の値を減算し、それをメーク間タイマレジスタΔ
t(n)に格納する。これによって、メーク間タイマレ
ジスタΔt(n)には第1メークがオンしてから第2メ
ークがオンするまでの時間、すなわちイニシャルタッチ
データの基礎となる2接点の差動時間差が格納される。
このメーク間タイマΔt(n)は変換テーブル12の変
換テーブルによって変換され、イニシャルレジスタIN
T(Δt(n))に格納される。チャンネルn1を空き
チャンネルnに格納しているので、キーオンタイマレジ
スタT1(n)はステップ126のキーオンタイマレジ
スタT1(n1)と同じものである。第2計算中フラグ
CAL2(n)に1を格納し、図16のタイマインタラ
プト処理2に応じて所定時間計時レジスタt2(n)の
計時を開始する。
【0055】ステップ133:イニシャルレジスタIN
T(Δt(n))に格納されているイニシャルタッチデ
ータをイニシャルタッチデータレジスタITD(n)に
格納する。そして、そのイニシャルタッチデータITD
(n)を音源側のトーンジェネレータ9のイニシャルタ
ッチレジスタIT(n)に出力する。 ステップ134:アタック値C×ITD(n)からオフ
セット値ITD(n)×OFD(ITD(n),音色)
を減算し、さらにイニシャル値ITD(n)×IND
(ITD(n),音色)を加算した値(C×ITD
(n)−ITD(n)×OFD(ITD(n),音色)
+ITD(n)×IND(ITD(n),音色))をア
フタアタックデータとして、アフタアタックデータレジ
スタAAD(n)に格納する。そして、そのアフタアタ
ックデータAAD(n)をトーンジェネレータ9のアフ
タタッチデータレジスタAFT(n)に出力する。上記
ステップ133及び134の処理によって、図2(b)
及び(c)の時間t=0の時のレベルが決定される。
【0056】ステップ135:キーオンレジスタKON
の値が0に対応するキーコードレジスタKC(n)にキ
ーオンイベントバッファKONBUF(i)のキーコー
ドKCを格納する。そして、格納したキーコードKC
(n)に対応するキーオンレジスタKON(n)に1を
格納する。これによって、チャンネルナンバnではキー
コードKCを発音中であることが設定される。 ステップ136:キーオンタイマレジスタT1(n)、
第2メークオンタイマレジスタT2(n)、イニシャル
タッチデータレジスタITD(n)及びメーク間タイマ
レジスタΔt(n)のそれぞれに0を格納してリセット
する。これは、次のキーオンイベント処理で使用する各
レジスタを初期化するためである。
【0057】ステップ137:キーオンバッファレジス
タKONBUF(i+1)が0であるかどうか、すなわ
ち、ステップ120〜136の処理の終了したアドレス
変数iの次のキーオンバッファレジスタKONBUF
(i+1)にスイッチオンイベントがあるかどうかを判
定し、次のキーオンバッファレジスタ(i+1)にスイ
ッチオンイベントが有る(N)場合はステップ138に
進み、無い(Y)場合はリターンし、図3のキーオンイ
ベント処理33を終了する。 ステップ138:現在のアドレス変数iの次のキーオン
バッファレジスタKONBUF(i+1)にスイッチオ
ンイベントが存在するので、そのアドレス変数iの値を
1だけインクリメント処理し、結合子Hを介してステッ
プ123に戻り、同様の処理を繰り返す。
【0058】図14は図3のキーオフイベント処理35
の詳細を示す図である。以下、各ステップの処理内容を
順に説明する。 ステップ140:アドレス変数iに0を設定する。 ステップ141:鍵盤回路5をキースキャンし、その1
回のキースキャン中にタッチレスポンススイッチにオフ
イベントのあったキーコードKCと、そのオフイベント
が第1リメーク(0)であるか第2リメーク(1)であ
るかの識別マークKSとをキーオフイベントバッファK
OFBUF(i)にアドレス変数iを順次インクリメン
トしながら格納する。アドレス変数iはキーオフイベン
トの数を示す。ここで、第1リメークとは、イニシャル
タッチセンサの第1接点がオフした状態を意味し、第2
リメークとは、イニシャルタッチセンサの第2接点がオ
フした状態を意味する。
【0059】ステップ142:ステップ141の処理に
よってアドレス変数iは変化している。そこで、これ以
降の処理をアドレス変数i=0から順番に行うため、再
びアドレス変数iに0を設定する。 ステップ143:キーオフイベントバッファKOFBU
F(i)内の識別マークKSが1であるかどうか、すな
わちアドレス変数iに対応するオフイベントが第1リメ
ークなのか第2リメークなのかを判定し、第1リメーク
(N)の場合はステップ144に進み、第2リメーク
(Y)の場合はステップ148に進む。識別マークKで
あるから発音割当てを終了するための処理(ステップ1
44,145)進み、識別マークKSが第1リメークの
場合には前の段階で発音割当て処理は終了しているの
で、オールキーオフを行うための処理(ステップ148
〜151)に進む。
【0060】ステップ144:キーオフイベントバッフ
ァKOFBUF(i)のキーコードKCと同じキーコー
ドを格納しているキーコードレジスタKC(n)をサー
チする。発音割当てを終了するためである。 ステップ145:ステップ144でサーチされたキーオ
ンレジスタKON(n)及びキーコードレジスタKC
(n)に0を格納し、データをクリアする。これによっ
て、第2リメークのスイッチオフイベントのあったチャ
ンネルの発音割当てが終了する。
【0061】ステップ146:キーオフバッファレジス
タKOFBUF(i+1)が0であるかどうか、すなわ
ち、ステップ144,145の処理の終了したアドレス
変数iの次のキーオフバッファレジスタKOFBUF
(i+1)にスイッチオフイベントがあるかどうかを判
定し、次のキーオフバッファレジスタ(i+1)にスイ
ッチオフイベントが有る(N)場合はステップ147に
進み、無い(Y)場合はリターンし、図3のキーオフイ
ベント処理35を終了する。 ステップ147:現在のアドレス変数iの次のキーオフ
バッファレジスタKOFBUF(i+1)にスイッチオ
フイベントが存在するので、そのアドレス変数iの値を
1だけインクリメント処理しステップ143に戻り、同
様の処理をアドレス変数i+1に対して繰り返す。
【0062】ステップ148:キーオフイベントの識別
マークKSが第1リメークの場合には、ステップ14
4、145の処理は既に終了しているので、本来ならス
テップ146に進めばよいのであるが、ここではオール
キーオフ処理を行うためにステップ146と同様にキー
オフバッファレジスタKOFBUF(i+1)が0であ
るかどうかを判定し、次のキーオフバッファレジスタ
(i+1)にスイッチオフイベントが有る(N)場合は
ステップ147に進み、無い(Y)場合はステップ14
9以下に進むようにしている。
【0063】ステップ149:キーコードレジスタKC
をサーチする。 ステップ150:キーコードレジスタKCにキーコード
データが格納されているかどうか、すなわち発音割当て
処理中のキーコードの有無を判定し、格納されていない
(N)場合はオールキーオフなのでステップ151に進
み、格納されている(Y)場合はリターンし、図3のキ
ーオフイベント処理を終了する。ステップ151:オー
ルキーオフなのでオールキータイマレジスタt1に0を
格納しリセットする。
【0064】図15はオールキータイマレジスタt1の
計時を行うためのタイマインタラプト処理1の詳細を示
す図である。このタイマインタラプト処理1は、図1の
タイマ14から出力されるインタラプト信号TI1毎に
実行され、第1計算中フラグCAL1(n1)が1(計
算中)であるかどうかを判定し、計算中(Y)の場合は
次のステップに進み、オールキータイマレジスタt1の
値を1だけインクリメントし、計算中でない(N)場合
はリターンする。
【0065】図16は図2の所定時間Tcの計時を行
い、アフタアタックデータAAD(n)及びアフタタッ
チデータAFT(n)を出力するためのタイマインタラ
プト処理2の詳細を示す図である。このタイマインタラ
プト処理2は図1のタイマ14から出力されるインタラ
プト信号TI2毎に実行される。以下、各ステップの処
理内容を順に説明する。 ステップ160:アフタセンサデータATDの値が所定
値AFR以上であるかどうかを判定し、所定値AFR以
上(Y)の場合は次のステップ161に進み、そうでな
い(N)場合はリターンする。
【0066】ステップ161:チャンネルナンバレジス
タnをリセットする。 ステップ162:チャンネルナンバnが16であるかど
うかを判定し、16(Y)の場合はリターンし、そうで
ない(N)場合は次のステップ163に進む。ステップ
163:チャンネルナンバnのキーコードKC(n)が
0であるかどうか、すなわち、キーコードレジスタKC
(n)にキーコードデータがあるかどうかを判定し、キ
ーコードデータKC(n)が存在しない(Y)場合はス
テップ164に進み、存在する場合(N)は次のステッ
プ165に進む。
【0067】ステップ164:チャンネルナンバnの値
を1だけインクリメントし、ステップ162に進む。こ
れによって、次のチャンネルナンバn+1に対して同様
の処理が実行される。 ステップ165:ステップ163の処理でチャンネルナ
ンバnにキーコードデータが存在しているので、第2計
算中フラグCAL2(n)が1(計算中)であるかどう
か、すなわち、チャンネルナンバnのタッチレスポンス
スイッチの第2メークがオン状態であるかどうかを判定
し、計算中(Y)の場合は次のステップ166に進み、
計算中でない(N)場合は、ステップ164に進む。 ステップ166:チャンネルナンバnの所定時間計時レ
ジスタt2(n)の値を1だけインクリメントする。
【0068】ステップ167:所定時間計時レジスタt
2(n)の値が所定時間Tc以上であるかどうかを判定
し、所定時間Tc以上(Y)の場合は次のステップ16
8に進み、そうでない(N)場合はステップ164に進
む。 ステップ168:前のステップで所定時間Tcを経過し
たので、第2計算中フラグCAL2(n)及び所定時間
計時レジスタt2(n)をリセットする。 ステップ169:アフタセンサデータATDの値をチャ
ンネルナンバnのアフタタッチレジスタA(n)に格納
する。
【0069】ステップ170:アフタ値C1×A(n)
にイニシャル値ITD(n)×IND(ITD(n),
音色)を加算した値(C1×A(n)+ITD(n)×
IND(ITD(n),音色))をアフタタッチデータ
として、トーンジェネレータ9のアフタタッチデータレ
ジスタAFT(n)に出力し、ステップ164に進む。
【0070】図16のタイマインタラプト処理2は一定
時間Tc経過後直ちにアフタタッチデータAFT(n)
を出力する場合について説明したが、次に、両者の差分
値を補間処理して徐々に真のアフタセンサデータATD
の波形に近づける場合のタイマインタラプト処理3につ
て図17を用いて説明する。図17において図16と同
じステップには同一の符号が付してあるので、その説明
は省略する。
【0071】ステップ171:チャンネルナンバnの補
間中フラグOLD(n)が0であるかどうか、すなわ
ち、補間中であるかどうかを判定し、補間中でない
(Y)場合はステップ172に進み、補間中の場合はス
テップ173に進む。 ステップ172:補間中フラグOLD(n)に1をセッ
トし、チャンネルナンバnのアフタタッチデータAFT
(n)に対して補間処理を行うことを示す。 ステップ173:図16のステップ170と同様にアフ
タ値C1×A(n)にイニシャル値ITD(n)×IN
D(ITD(n),音色)を加算した値(C1×A
(n)+ITD(n)×IND(ITD(n),音
色))を補間前アフタタッチデータレジスタAFT1
(n)格納する。
【0072】ステップ174:前のステップで算出され
た補間前アフタタッチデータAFT1(n)と補間後ア
フタタッチデータAFT2(n)との平均値(AFT1
(n)+AFT2(n))/2をアフタタッチデータと
して、トーンジェネレータ9のアフタタッチデータレジ
スタAFT(n)に出力する。 ステップ175:アフタタッチデータAFT(n)を次
からの処理で補間後アフタタッチデータとするために、
アフタタッチデータAFT(n)を補間後アフタタッチ
データレジスタAFT2(n)に格納する。 ステップ176:アフタタッチデータAFT(n)の値
が所定値AFTR以上であるかどうかを判定し、所定値
AFTR以上の場合はステップ164に進み、所定値A
FTRよりも小さい場合はステップ177に進む。ステ
ップ177:アフタタッチデータAFT(n)の値が所
定値AFTRよりも小さいので、補間中レジスタOLD
(n)をリセットし、ステップ164に進む。
【0073】以上のステップ171からステップ177
の処理によって、一定時間Tc経過後に、両者の差分値
を補間処理して、アフタタッチデータAFT(n)の値
を徐々に真のアフタセンサデータATDの波形に近づけ
ることが可能となり、アフタアタックデータAAD
(n)からアフタタッチデータAFT(n)への移行が
スムーズになり、アフタタッチ処理をより自然に行うこ
とができる。
【0074】次に、本発明の第2の実施例について図1
8〜図23を用いて説明する。前述の第1の実施例で
は、アフタタッチデータATF(n)によって音量レベ
ルを制御する場合について説明したが、第2の実施例で
はこの音量レベル制御及び/又はDCF(Digita
l Control Filter)制御を行う場合に
ついて説明する。図18、図19、図20及び図21は
図4の各種パラメータ設定処理の第2の実施例を示す図
であり、第1の実施例の図4及び図5に対応するもので
ある。従って、図18、図19、図20及び図21にお
いて図4及び図5と同じ処理が存在するので、その部分
の説明は簡単に行う。第2の実施例の各種パラメータ設
定処理2では、まずモード選択部8のスイッチによるモ
ード設定処理を実行する。図18はこのモード設定処理
のフローチャートを示す図である。
【0075】ステップ180:操作パネル6上のモード
選択部8のスイッチに変更イベントが発生したかどうか
を判定し、発生した(Y)場合は次のステップ181に
進み、発生していない場合にはモードを変更する必要が
ないので、結合子Jを介して図19のステップ54に進
む。 ステップ181:モード選択部8のスイッチ状態を検出
し、それに応じたステップを選択する。モード選択部8
は例えば0〜3までの値を与えるためのロータリスイッ
チ等で構成されており、このステップではこのスイッチ
の設定位置を検出する。
【0076】ステップ182〜185では前のステップ
181の結果に応じてスイッチの設定位置をモードレジ
スタMDに格納処理する。 ステップ182:モードレジスタMDに0を格納する。
モードレジスタMD=0は、アフタタッチ処理は行わな
いモードのことである。 ステップ183:モードレジスタMDに1を格納する。
モードレジスタMD=1は、アフタタッチ処理として音
量レベルのみを制御するモードのことである。 ステップ184:モードレジスタMDに2を格納する。
モードレジスタMD=2は、アフタタッチ処理としてD
CFを制御するモードのことである。 ステップ185:モードレジスタMDに3を格納する。
モードレジスタMD=3は、アフタタッチ処理として音
量レベル及びDCFの両方を制御するモードのことであ
る。ステップ182〜185の格納処理終了後は、結合
子Jを介して図19のステップ186に進む。
【0077】図19は結合子の記号が異なる点を除けば
図6とほとんど同じ処理なのでここでは簡単に説明す
る。 ステップ186〜193:これらの各ステップは音色選
択部7で選択された音色の種類を判別し、それに応じた
次の処理ステップを決定する。 ステップ194〜202:それぞれのステップ186〜
193の判定結果に応じて選択されたステップであり、
判定結果に対応した音色パラメータを音源(トーンジェ
ネレータ)9に送出する。ステップ194,195,1
96の処理が終了すると、結合子Kを介して図20のス
テップ203に進む。ステップ197,198,199
の処理が終了すると、結合子Lを介して図20のステッ
プ204に進む。ステップ200,201,202の処
理が終了すると、結合子Mを介して図20のステップ2
05に進む。
【0078】図20は図7のフローチャートにステップ
203,204,205が新たに加わり、ステップ8
0,81、82がステップ215,216,217に変
わったものである。 ステップ203,204,205:ここでは、図18の
ステップ182〜185の処理の結果、モードレジスタ
MDに1又は3のいずれかが格納されているかどうかを
判定し、格納されている(Y)場合にはアフタタッチ処
理として音量レベルを制御するため、ステップ206〜
217に進み、格納されていない(N)場合はアフタタ
ッチ処理として音量レベルを制御しないので、結合子
O,P,Qを介して図21のステップ218,219,
220に進む。 ステップ206,207,208:手動モードレジスタ
MANが1であるかどうか、すなわち音色設定処理が自
動モードなのかマニュアルモードなのかを判定し、1
(マニュアル設定モード:Y)の場合はステップ20
9,210,211に進む、0(自動設定モード:N)
の場合はステップ215,216,217に進む。
【0079】ステップ209,210,211:操作パ
ネル6上のマニュアル操作子に変更があったかどうかを
判定し、変更があった(Y)場合はステップ212,2
13,214に進み、変更がなかった場合は結合子O,
P,Qを介して図21のステップ218,219,22
0に進む。 ステップ212,213,214:マニュアル操作子に
応じてマニュアル値をそれぞれのレジスタに格納し、結
合子O,P,Qを介して図21のステップ218,21
9,220に進む。このステップは別々に示したが、同
じ処理なのでまとめてもよい。この処理は図8に示され
たものと同じである。
【0080】ステップ215:ピアノ及びパーカッシブ
系のタッチパラメータのレベル用パラメータ自動設定処
理1を行う。この処理は図9に示されたものと同じであ
る。 ステップ216:ブラス系のタッチパラメータのレベル
用パラメータ自動設定処理2を行う。この処理は図10
に示されたものと同じである。 ステップ217:ストリングス系のタッチパラメータの
レベル用パラメータ自動設定処理3を行う。この処理は
図11に示されたものと同じである。ステップ215,
216,217のいずれかの処理が終了したら結合子
O,P,Qを介して図21のステップ218,219,
220に進む。
【0081】ステップ218,219,220:ここで
は、図18のステップ182〜185の処理の結果、モ
ードレジスタMDに2又は3のいずれかが格納されてい
るかどうかを判定し、格納されている(Y)場合にはア
フタタッチ処理としてDCFを制御するため、ステップ
221〜232に進み、格納されていない(N)場合は
アフタタッチ処理としてDCFを制御しないので、リタ
ーンして、図3の音色設定処理37を終了する。 ステップ221,222,223:手動モードレジスタ
MANが1であるかどうか、すなわち音色設定処理が自
動モードなのかマニュアルモードなのかを判定し、1
(マニュアル設定モード:Y)の場合はステップ22
4,225,226に進み、0(自動設定モード:N)
の場合はステップ230,231,232に進む。
【0082】ステップ224,225,226:操作パ
ネル6上のマニュアル操作子に変更があったかどうかを
判定し、変更があった(Y)場合はステップ227,2
28,229に進み、変更がなかった場合はリターン
し、図3の音色設定処理37を終了する。 ステップ227,228,229:マニュアル操作子に
応じたDCF制御用のマニュアル値をそれぞれのレジス
タに格納し、リターンして、図3の音色設定処理37を
終了する。このステップは別々に示したが、同じ処理な
のでまとめてもよい。この処理は図8に示されたものと
同じであり、DCF用のマニュアル値をそれぞれのアタ
ック係数レジスタC2、オフセットデータレジスタOF
Da、イニシャルデータレジスタINDa及びアフタ係
数レジスタC3に格納する。
【0083】ステップ230:ピアノ及びパーカッシブ
系のタッチパラメータのDCF用パラメータ自動設定処
理1を行う。この処理は図9に示されたものと概略同じ
であるが、それぞれの係数の与え方が若干異なるので説
明する。まず、アタック係数レジスタC2にアタック項
の最大値が500セントずれとなるような値を設定し、
マニュアル設定処理のオフセットデータレジスタOFD
aの代わりにイニシャルタッチデータITD(n)及び
音色に依存したオフセットデータOFDa(ITD
(n),ピアノ系の音色)を設定する。同様にイニシャ
ルデータレジスタINDaの代わりにイニシャルタッチ
データITD(n)及び音色に依存したイニシャルデー
タINDa(ITD(n),ピアノ系の音色)を設定す
る。このとき、イニシャル項の最大値が1200セント
ずれとなるようなイニシャルデータINDa(ITD
(n),ピアノ系の音色)とする。そして、アフタ係数
レジスタC3にも0を設定する。このようにここではピ
アノ及びパーカッシブ系の音色に応じたアフタタッチ処
理を行うための各種のパラメータ設定処理を行い、リタ
ーンして図3の音色設定処理37を終了する。
【0084】ステップ231:ブラス系のタッチパラメ
ータのDCF用パラメータ自動設定処理2を行う。この
処理は図10に示されたものと概略同じであるが、それ
ぞれの係数の与え方が若干異なるので説明する。まず、
アタック係数レジスタC2にアタック項の最大値が24
00セントずれとなるような値を設定し、マニュアル設
定処理のオフセットデータレジスタOFDaの代わりに
イニシャルタッチデータITD(n)及び音色に依存し
たオフセットデータOFDa(ITD(n),ブラス系
の音色)を設定する。同様にイニシャルデータレジスタ
INDaの代わりにイニシャルタッチデータITD
(n)及び音色に依存したイニシャルデータINDa
(ITD(n),ブラス系の音色)を設定する。このと
き、イニシャル項の最大値が500セントずれとなるよ
うなイニシャルデータINDa(ITD(n),ブラス
系の音色)とする。そして、アフタ係数レジスタC3に
アフタ項の最大値が3600セントずれとなるような値
を設定する。このようにここではブラス系の音色に応じ
たアフタタッチ処理を行うための各種のパラメータ設定
処理を行い、リターンして図3の音色設定処理37を終
了する。 ステップ232:ストリングス系のタッチパラメータの
DCF用パラメータ自動設定処理3を行う。この処理は
図11に示されたものと概略同じであるが、それぞれの
係数の与え方が若干異なるので説明する。まず、アタッ
ク係数レジスタC2にアタック項の最大値が400セン
トずれとなるような値を設定し、マニュアル設定処理の
オフセットデータレジスタOFDaの代わりにイニシャ
ルタッチデータITD(n)及び音色に依存したオフセ
ットデータOFDa(ITD(n),ストリングス系の
音色)を設定する。同様にイニシャルデータレジスタI
NDaの代わりにイニシャルタッチデータITD(n)
及び音色に依存したイニシャルデータINDa(ITD
(n),ストリングス系の音色)を設定する。このと
き、イニシャル項の最大値が100セントずれとなるよ
うなイニシャルデータINDa(ITD(n),ブラス
系の音色)とする。そして、アフタ係数レジスタC3に
アフタ項の最大値が2400セントずれとなるような値
を設定する。このようにここではストリングス系の音色
に応じたアフタタッチ処理を行うための各種のパラメー
タ設定処理を行い、リターンして図3の音色設定処理3
7を終了する。
【0085】次に図22を用いて、第2の実施例のキー
オンイベント処理について説明する。キーオンイベント
処理の最初の部分は図12と同じなので省略する。第2
の実施例のキーオンイベント処理が第1の実施例のもの
と異なる点は図13のステップ134の部分がステップ
134a〜dに変更された点である。なお、ステップ1
32,133,135〜138は同じなので省略する。 ステップ134a:ここでは、図18のステップ182
〜185の処理の結果、モードレジスタMDに1又は3
のいずれかが格納されているかどうかを判定し、格納さ
れている(Y)場合にはステップ134bに進み、格納
されていない(N)場合はアフタタッチ処理として音量
レベルを制御しないので、ステップ134cに進む。
【0086】ステップ134b:アタック値C×ITD
(n)からオフセット値ITD(n)×OFD(ITD
(n),音色)を減算し、さらにイニシャル値ITD
(n)×IND(ITD(n),音色)を加算した値
(C×ITD(n)−ITD(n)×OFD(ITD
(n),音色)+ITD(n)×IND(ITD
(n),音色))を音量レベル制御用アフタアタックデ
ータとして、アフタアタックデータレジスタAAD
(n)に格納する。そして、そのアフタアタックデータ
AAD(n)をトーンジェネレータ9のアフタタッチデ
ータレジスタAFT(n)に出力する。これによって、
トーンジェネレータ9はアフタタッチデータレジスタA
FT(n)の値に応じたアフタタッチ処理として音量レ
ベルを制御できる。
【0087】ステップ134c:ここでは、図18のス
テップ182〜185の処理の結果、モードレジスタM
Dに2又は3のいずれかが格納されているかどうかを判
定し、格納されている(Y)場合にはステップ134b
に進み、格納されていない(N)場合はアフタタッチ処
理としてDCFを制御しないので、ステップ134cに
進む。
【0088】ステップ134d:アタック値C2×IT
D(n)からオフセット値ITD(n)×OFDa(I
TD(n),音色)を減算し、さらにイニシャル値IT
D(n)×INDa(ITD(n),音色)を加算した
値(C2×ITD(n)−ITD(n)×OFDa(I
TD(n),音色)+ITD(n)×INDa(ITD
(n),音色))をDCF制御用アフタアタックデータ
として、DCF制御用アフタアタックデータレジスタA
ADa(n)に格納する。そして、そのDCF制御用ア
フタアタックデータAADa(n)をトーンジェネレー
タ9のDCF制御用アフタタッチデータレジスタAFT
a(n)に出力する。これによって、トーンジェネレー
タ9はDCF制御用アフタタッチデータレジスタAFT
a(n)の値に応じてDCFを制御することができる。
【0089】第2の実施例のキーオフイベント処理及び
タイマインタラプト処理1は第1の実施例(図14及び
図15)と同じなので省略する。次に、第2の実施例の
タイマインタラプト処理2について図23を用いて説明
する。第2の実施例のタイマインタラプト処理2が第1
の実施例のものと異なる点は図16のステップ170の
部分がステップ170a〜dに変更され、音量レベル制
御用アフタタッチデータAFT(n)と、DCF制御用
アフタタッチデータAFTa(n)とを出力するように
した点である。なお、ステップ160〜169は同じな
ので省略する。
【0090】ステップ170a:ここでは、図18のス
テップ182〜185の処理の結果、モードレジスタM
Dに1又は3のいずれかが格納されているかどうかを判
定し、格納されている(Y)場合にはステップ170b
に進み、格納されていない(N)場合はアフタタッチ処
理として音量レベルを制御しないので、ステップ170
cに進む。 ステップ170b:アフタ値C1×A(n)にイニシャ
ル値ITD(n)×IND(ITD(n),音色)を加
算した値(C1×A(n)+ITD(n)×IND(I
TD(n),音色))を音量レベル制御用アフタタッチ
データとして、トーンジェネレータ9の音量レベル制御
用アフタタッチデータレジスタAFT(n)に出力し、
ステップ170cに進む。
【0091】ステップ170c:ここでは、図18のス
テップ182〜185の処理の結果、モードレジスタM
Dに2又は3のいずれかが格納されているかどうかを判
定し、格納されている(Y)場合にはステップ170d
に進み、格納されていない(N)場合はアフタタッチ処
理としてDCFを制御しないので、ステップ164に進
む。 ステップ170d:アフタ値C3×A(n)にイニシャ
ル値ITD(n)×INDa(ITD(n),音色)を
加算した値(Ca×A(n)+ITD(n)×INDa
(ITD(n),音色))をDCF制御用アフタタッチ
データとして、トーンジェネレータ9のDCF制御用ア
フタタッチデータレジスタAFTa(n)に出力し、ス
テップ164に進む。これによって、トーンジェネレー
タ9はDCF制御用アフタタッチデータレジスタAFT
a(n)の値に応じてDCFを制御することができる。
なお、図17のように補間処理を実行するようにしても
よいことはいうまでもない。
【0092】以上説明した実施例から生じる各効果を述
べる。 まず、第1に、演奏操作手段の操作毎に楽音制御するチ
ャンネルを割当て、全権共通のアフタタッチデータを割
り当てられたチャンネル毎にそのイニシャルタッチデー
タに応じて変更制御し、各チャンネル毎に新たなアフタ
タッチデータとすることによって、例えば左手で伴奏
(和音)押鍵中にその和音が変化しないで続いている時
に、メロディ部(右手)の鍵を押鍵した場合でも、その
メロディ部の新押鍵のアフタタッチの立上りをシャープ
にすることができ、演奏表現力を格段に向上させること
ができる。また、そのメロディ部の新押鍵時のイニシャ
ルタッチの強さを制御することによってアフタタッチの
立上りを柔らかい表現とすることもできる。
【0093】第2に、アフタタッチデータの立上り部分
であるアタック部データを、少なくともイニシャルタッ
チデータとオフセットデータとから構成することによっ
て、複数の発音チャンネルに押鍵数分のイニシャルタッ
チデータをあてがうことができるので、レガート時又は
1鍵以上を常に押鍵中に他の指を切換演奏する場合など
も、その切換演奏時の新押鍵のアフタタッチの立上りを
変更制御でき、演奏表現力を格段に向上させることがで
きる。 第3に、オフセットデータを音色毎に設けることによっ
て、ピアノ等のようにアフタタッチ制御のあまり必要な
い楽器やブラス系やストリングス系の楽器等のようにア
フタタッチ制御の必要な楽器等にそくしたアフタタッチ
制御を行うことができるので、楽器のクオリティを向上
できる。
【0094】第4に、アフタタッチデータを少なくとも
イニシャルタッチデータとアタック部データと真のアフ
タタッチデータとから構成することによって、既に押鍵
中の新押鍵のアフタタッチの立上り及びその後のアフタ
タッチを変更制御でき、演奏表現力を格段に向上させる
ことができる。 第5に、アフタタッチデータを構成するイニシャルタッ
チデータとアタック部データと真のアフタタッチデータ
のそれぞれの構成比(バランス又は比重)を音色毎に異
ならせることによって、楽器の音色にそくしたアフタタ
ッチ制御を行うことができ、楽器のクオリティを格段に
向上できる。
【0095】第6に、アフタタッチデータによって楽音
レベルを制御することによっ、レガート等の新変化キー
にレベル的表現を付けることができ、演奏表現力を格段
に向上できる。 第7に、アフタタッチデータによって楽音の音色を制御
することによって、レガート等の新変化キーに音色的表
現を付けることができ、演奏表現力を格段に向上でき
る。 第8に、アフタタッチデータによって楽音のカットオフ
周波数をすることによって、演奏表現力を格段に向上で
きる。
【0096】以上の実施例では、ソフトウェア処理によ
りこの発明の制御を行うようにしたが、専用のハードウ
ェアを構成し、同様の制御を行うようにしてもよい。上
記実施例では、アフタタッチの制御対象は音量レベル又
はDCFの2種類の楽音要素であるとしているが、これ
らに限らず音色、音高、効果、ビブラート等の各種効果
に対しても同様に制御するようにしてもよい。また、音
量レベル、DCF、音色、音高、効果等の楽音要素のう
ち少なくとも1つだけをアフタタッチの制御対象として
もよい。
【0097】実施例では、チャンネル数16の場合につ
いて説明したが、これに限定されることはなく、単音で
もこれ以外のチャンネル数でもよい。また、アドレス変
数も8に限定されるものではない。アタック係数C、オ
フセットデータOFD(ITD(n),音色)、イニシ
ャルデータIND(ITD(n),音色)等は変換テー
ブル12に格納したものを使用する場合について説明し
たが、これに限定されるものではなく、適宜の演算処理
によって求めるようにしてもよい。
【0098】実施例では、押鍵後の一定時間Tc経過後
にアフタタッチ制御に移行するようにしたが、一定時間
Tc内であっても、アフタタッチデータAFT(n)の
値がアフタアタックデータAAD(n)に達したら、そ
の時点からアフタタッチ制御に移行するようにしてもよ
い。この場合は前述のような補間処理は不要であるが、
滑らかにアフタタッチ制御に移行するように補間しても
よい。実施例では、補間処理を非直線的に行っている
が、補間を直線形としてもよい。
【0099】更には、一定時間Tcの計時を特に行わず
に、トーンジェネレータ9における(例えば楽音の発音
等)のタイミングに合わせてこの発明を実施してもよ
い。実施例ではアフタタッチデータ出力が0の状態を基
準とした正方向の場合の制御について説明しているが、
これをアフタアタックデータAAD(n)を基準とし
て、それよりも大きい場合に正方向の制御を行い、小さ
い場合に負方向の制御を行なうようにしてもよいし、ま
た、この逆であってもよい。
【0100】上記実施例では、鍵盤によって所望楽音を
指定する電子楽器について説明したが、これに限定され
ることはなく、楽音設定用の演奏操作手段は鍵盤以外の
ものであってもよく、鍵盤のない音源モジュールユニッ
ト等にも同様に適用することは可能である。この発明に
おいて、演奏操作手段とは鍵盤の鍵に限らず、押釦のよ
うな操作子、ストロークの少ない若しくはない電子打楽
器用操作子等の楽音指定操作手段をも含む。即ち、この
発明は、押釦操作子と接点時間差型スイッチ若しくはス
トロークセンサ等のイニシャルセンサと各押釦共通のア
フタセンサとの組合せによる押釦操作子アッセンブリ、
又は前記電子打楽器用操作子と接点時間差検出型スイッ
チ若しくは圧力センサ等のイニシャルセンサと各操作子
共通のアフタセンサとの組合せによる電子打楽器用操作
子アッセンブリの入力装置によってイニシャルデータと
アフタデータとを発生させ、この両データをマイクロコ
ンピュータあるいはハードロジック等で加工制御し、楽
音発生手段をコントロールするものも含む。また、楽音
指定用の操作手段は別にタッチレスポンス用の操作手段
を設け、この操作手段に加わるアフタタッチを検出する
ものであってもよい。また、アフタアタックデータAA
D(n)の値を一定とせずに、時間の関数として時間経
過によって変動させてもよい。
【0101】
【発明の効果】この発明によれば、アフタタッチセンサ
が全鍵共通であっても各鍵毎にその鍵操作に応じたアフ
タタッチデータを出力でき、単純な構成でタッチレスポ
ンスの演奏表現力を格段に向上することができるという
効果がある。
【図面の簡単な説明】
【図1】 この発明に係る電子楽器の一実施例のハード
ウェア構成を示すブロック図である。
【図2】 この発明の趣旨を説明するためにアフタセン
サデータの出力波形とアフタタッチデータの出力波形と
の関係の一例を示す図である。
【図3】 図3のマイクロコンピュータが処理するメイ
ンルーチンの一例を示すフローチャート図である
【図4】 図3の音色設定処理の概略を示すフローチャ
ート図である。
【図5】 図4の自動/手動モード設定処理の詳細例を
示すフローチャート図である。
【図6】 図4の各種パラメータ設定処理の詳細例の前
半部分を示すフローチャート図である。
【図7】 図4の各種パラメータ設定処理の詳細例の後
半部分を示すフローチャート図である。
【図8】 図7のマニュアル設定処理の詳細例を示すフ
ローチャート図である。
【図9】 図7の自動設定処理1の詳細例を示すフロー
チャート図である。
【図10】 図7の自動設定処理2の詳細例を示すフロ
ーチャート図である。
【図11】 図7の自動設定処理3の詳細例を示すフロ
ーチャート図である。
【図12】 図3のキーオンイベント処理の詳細例の前
半部分を示すフローチャート図である。
【図13】 図3のキーオンイベント処理の詳細例の後
半部分を示すフローチャート図である。
【図14】 図3のキーオフイベント処理の詳細例を示
すフローチャート図である。
【図15】 オールキータイマレジスタの計時を行うた
めのタイマインタラプト処理1の詳細例を示すフローチ
ャート図である。
【図16】 所定時間の計時を行い、アフタアタックデ
ータ及びアフタタッチデータを出力するためのタイマイ
ンタラプト処理2の詳細例を示すフローチャート図であ
る。
【図17】 アフタアタックデータからアフタタッチデ
ータに移行する際に補間処理を実行するためのタイマイ
ンタラプト処理3の詳細例を示すフローチャート図であ
る。
【図18】 他の実施例における図4の各種パラメータ
設定処理の詳細例の第1の部分を示すフローチャート図
である。
【図19】 他の実施例における図4の各種パラメータ
設定処理の詳細例の第2の部分を示すフローチャート図
である。
【図20】 他の実施例における図4の各種パラメータ
設定処理の詳細例の第3の部分を示すフローチャート図
である。
【図21】 他の実施例における図4の各種パラメータ
設定処理の詳細例の第4の部分を示すフローチャート図
である。
【図22】 他の実施例における図3のキーオンイベン
ト処理の詳細例の後半部分を示すフローチャート図であ
る。
【図23】 他の実施例におけるタイマインタラプト処
理2の詳細例を示すフローチャート図である。
【符号の説明】
1…CPU、2…プログラムROM、3…データ及びワ
ーキングRAM、4…データ及びアドレスバス、5…鍵
盤回路、6…操作パネル、7…音色選択部、8…モード
選択部、9…トーンジェネレータ、10…D/A変換
器、11…サウンドシステム、12…変換テーブル、1
3…アフタタッチセンサ、14…タイマ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 楽音演奏時に操作される複数の演奏操作
    子からなる演奏操作手段と、 上記演奏操作子の操作時に、そのイニシャルタッチを上
    記演奏操作子の操作毎に検出し、上記演奏操作子の個々
    の操作に対応したイニシャルタッチデータを出力するイ
    ニシャルタッチ検出手段と、 上記演奏操作子の操作時に、上記演奏操作子の個々の操
    作に対して共通のアフタタッチデータを出力するアフタ
    タッチ検出手段と、 上記演奏操作子の個々の操作について、操作が開始され
    たときから操作が終了までの間、所定の時間毎に、上記
    アフタタッチ検出手段から出力される共通のアフタタッ
    チデータを上記イニシャルタッチ検出手段から出力され
    るイニシャルタッチデータに基づいて変更し、該変更さ
    れたアフタタッチデータを出力する処理を行うアフタタ
    ッチデータ変更手段と、 上記演奏操作子の個々の操作について、操作に対応して
    発生する楽音の特性を、上記イニシャルタッチ検出手段
    から出力されるイニシャルタッチデータ、及び、上記ア
    フタタッチデータ変更手段から出力されるアフタタッチ
    データに基づいて制御する楽音制御手段と を備えたことを特徴とする電子楽器のタッチレスポンス
    装置。
JP3017146A 1991-01-17 1991-01-17 電子楽器のタッチレスポンス装置 Expired - Lifetime JP2606459B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3017146A JP2606459B2 (ja) 1991-01-17 1991-01-17 電子楽器のタッチレスポンス装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3017146A JP2606459B2 (ja) 1991-01-17 1991-01-17 電子楽器のタッチレスポンス装置

Publications (2)

Publication Number Publication Date
JPH04242292A JPH04242292A (ja) 1992-08-28
JP2606459B2 true JP2606459B2 (ja) 1997-05-07

Family

ID=11935858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3017146A Expired - Lifetime JP2606459B2 (ja) 1991-01-17 1991-01-17 電子楽器のタッチレスポンス装置

Country Status (1)

Country Link
JP (1) JP2606459B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59105692A (ja) * 1982-12-09 1984-06-19 ヤマハ株式会社 電子楽器のタツチレスポンス装置
JPH02109097A (ja) * 1988-10-18 1990-04-20 Roland Corp 電子楽器

Also Published As

Publication number Publication date
JPH04242292A (ja) 1992-08-28

Similar Documents

Publication Publication Date Title
US5278348A (en) Musical-factor data and processing a chord for use in an electronical musical instrument
JPH0784574A (ja) 電子楽器
JPH04306697A (ja) ステレオ方式
JP2606459B2 (ja) 電子楽器のタッチレスポンス装置
US5508471A (en) Automatic performance apparatus for an electronic musical instrument
JPH096351A (ja) 電子弦楽器
JP2605456B2 (ja) 電子楽器
JP3210582B2 (ja) 自動演奏装置および該自動演奏装置を備えた電子楽器
JPH10124050A (ja) 電子楽器
JP3649906B2 (ja) 電子楽器のキーオンディレイ効果付加装置
JPH0631964B2 (ja) 電子楽器
JPH10124053A (ja) 音楽的情報入力装置
JPH0518437B2 (ja)
JP3630266B2 (ja) 自動伴奏装置
JPH10143153A (ja) 電子楽器
JP2945410B2 (ja) 電子弦楽器
JP2972362B2 (ja) 音楽的制御情報処理装置、音楽的制御情報処理方法、演奏パターン選択装置及び演奏パターン選択方法
JP2773175B2 (ja) 電子楽器
JP2513014B2 (ja) 電子楽器の自動演奏装置
JP3549083B2 (ja) 音量制御装置
JP2636393B2 (ja) 自動演奏装置
JP2666762B2 (ja) 電子楽器
JP2565152B2 (ja) 自動伴奏装置
JPH0926787A (ja) 音色制御装置
JP3263966B2 (ja) 自動演奏機能を有する電子楽器

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080213

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090213

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090213

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100213

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110213

Year of fee payment: 14