JPH0769687B2 - 電子楽器 - Google Patents
電子楽器Info
- Publication number
- JPH0769687B2 JPH0769687B2 JP2070267A JP7026790A JPH0769687B2 JP H0769687 B2 JPH0769687 B2 JP H0769687B2 JP 2070267 A JP2070267 A JP 2070267A JP 7026790 A JP7026790 A JP 7026790A JP H0769687 B2 JPH0769687 B2 JP H0769687B2
- Authority
- JP
- Japan
- Prior art keywords
- vibration
- value
- reference value
- pad
- status
- 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
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 「産業上の利用分野」 この発明は、例えば、演奏操作されたドラムパッドや弦
などの演奏操作子の振動量に基づいて楽音を発生する電
子打楽器もしくは電子弦楽器等に適用して好適な電子楽
器に関するものである。
などの演奏操作子の振動量に基づいて楽音を発生する電
子打楽器もしくは電子弦楽器等に適用して好適な電子楽
器に関するものである。
「従来の技術」 周知のように、電子打楽器は、第14図に示すように、ボ
ード2上に、例えば8個のパッドP1〜P8を配設し、演奏
者がスティック等を用いて各パッドP1〜P8を叩いたとき
に生じる各パッドP1〜P8の振動量を検出し、この検出結
果に基づいて、各パッドP1〜P8に割り当てられた打楽器
音を、設定操作部4の各種設定操作子によって設定され
た楽音パラメータに応じて発音するようになっている。
これにより、例えば、バスドラム、シンバル、タム、ス
ネアドラム、ハイハットオープン、およびハイハットク
ローズ等の打楽器音が発音される。
ード2上に、例えば8個のパッドP1〜P8を配設し、演奏
者がスティック等を用いて各パッドP1〜P8を叩いたとき
に生じる各パッドP1〜P8の振動量を検出し、この検出結
果に基づいて、各パッドP1〜P8に割り当てられた打楽器
音を、設定操作部4の各種設定操作子によって設定され
た楽音パラメータに応じて発音するようになっている。
これにより、例えば、バスドラム、シンバル、タム、ス
ネアドラム、ハイハットオープン、およびハイハットク
ローズ等の打楽器音が発音される。
ここで、上記パッドP1〜P8は比較的大きな操作面を有し
ており、演奏者がパッドP1〜P8の内の一つ、例えばパッ
ドP1を強く叩いた場合、そのパッドP1自身が振動すると
同時に、パッドP1の振動の影響を受けてボード2上に配
設されている他のパッドP2〜P8も振動する。前者は自己
振動と呼ばれ、後者は励振と呼ばれる。
ており、演奏者がパッドP1〜P8の内の一つ、例えばパッ
ドP1を強く叩いた場合、そのパッドP1自身が振動すると
同時に、パッドP1の振動の影響を受けてボード2上に配
設されている他のパッドP2〜P8も振動する。前者は自己
振動と呼ばれ、後者は励振と呼ばれる。
「発明が解決しようとする課題」 ところで、上述したようにボード2上に配設された各パ
ッドP1〜P8には、自己振動と励振による振動が生じるの
で、現在生じている振動が自己振動によるものなのか、
もしくは励振によるものなのかを判別し、これらに応じ
て発音を制御することが必要となる。このような電子楽
器としては、従来、特開平1−177085号が提案されてい
る。これによれば、第15図に示すように、各パッドP1〜
P8に対応して各々設けられた振動体5の振動を振動検出
子6によって電気信号に変換し、この信号をダイオード
Dで半波整流した後、コンデンサCで平滑化し、これに
より得られた包絡線信号を基準として、励振を検出して
いた。しかしながら、この電子楽器においては、振動体
5の振動に直接応答して変化する包絡線信号を基準とし
て励振を検出していたので、例えば、この包絡線信号が
励振以外の原因で変動した場合などにおいて、励振を確
実に判別することができないという問題があった。
ッドP1〜P8には、自己振動と励振による振動が生じるの
で、現在生じている振動が自己振動によるものなのか、
もしくは励振によるものなのかを判別し、これらに応じ
て発音を制御することが必要となる。このような電子楽
器としては、従来、特開平1−177085号が提案されてい
る。これによれば、第15図に示すように、各パッドP1〜
P8に対応して各々設けられた振動体5の振動を振動検出
子6によって電気信号に変換し、この信号をダイオード
Dで半波整流した後、コンデンサCで平滑化し、これに
より得られた包絡線信号を基準として、励振を検出して
いた。しかしながら、この電子楽器においては、振動体
5の振動に直接応答して変化する包絡線信号を基準とし
て励振を検出していたので、例えば、この包絡線信号が
励振以外の原因で変動した場合などにおいて、励振を確
実に判別することができないという問題があった。
この発明は上述した事情に鑑みてなされたもので、励振
を判別するための基準を任意に設定することができ、こ
れにより励振を確実に判別することがきる電子楽器を提
供することを目的としている。
を判別するための基準を任意に設定することができ、こ
れにより励振を確実に判別することがきる電子楽器を提
供することを目的としている。
「課題を解決するための手段」 この発明は、演奏操作される演奏操作子の振動量を検出
する振動検出手段と、前記振動検出手段から出力される
振動量の最大値を記憶する最大値記憶手段と、前記最大
値記憶手段に記憶された値に基づいて、前記演奏操作子
の実際の振動の包絡線に似た仮想的な疑似包絡線に対応
した基準値を発生する基準値発生手段と、前記基準値と
振動量を比較して楽音の発生を指示する楽音発生指示手
段と、前記楽音発生指示手段による楽音の発生指示に応
じて前記最大値記憶手段に記憶された値に対応する楽音
を発生する楽音発生手段とを具備することを特徴として
いる。
する振動検出手段と、前記振動検出手段から出力される
振動量の最大値を記憶する最大値記憶手段と、前記最大
値記憶手段に記憶された値に基づいて、前記演奏操作子
の実際の振動の包絡線に似た仮想的な疑似包絡線に対応
した基準値を発生する基準値発生手段と、前記基準値と
振動量を比較して楽音の発生を指示する楽音発生指示手
段と、前記楽音発生指示手段による楽音の発生指示に応
じて前記最大値記憶手段に記憶された値に対応する楽音
を発生する楽音発生手段とを具備することを特徴として
いる。
「作用」 演奏操作子の振動量の最大値が最大値記憶手段に記憶さ
れ、この最大値に基づいて、演奏操作子の実際の振動の
包絡線に似た仮想的な疑似包絡線に対応した基準値が基
準値発生手段から発生され、この基準値と振動量とが比
較されて励振が検出され、励振が検出された場合に楽音
を発生するようにしたので、疑似包絡線を適宜設定する
ことにより、励振が確実に判別される。
れ、この最大値に基づいて、演奏操作子の実際の振動の
包絡線に似た仮想的な疑似包絡線に対応した基準値が基
準値発生手段から発生され、この基準値と振動量とが比
較されて励振が検出され、励振が検出された場合に楽音
を発生するようにしたので、疑似包絡線を適宜設定する
ことにより、励振が確実に判別される。
「実施例」 以下、図面を参照し、この発明の実施例について説明す
る。
る。
第1図はこの発明の一実施例の構成を示す図である。こ
の図において、ボード2上に配設された8個のパッドP1
〜P8には、第2図に示すように、各パッドP1〜P8に対応
して各々設けれた振動体5の振動を電気信号に変換する
振動検出子6と、この振動検出子6から出力される信号
を全波整流する整流器7とからなる振動検出回路9が各
々設けられている。そして、各パッドP1〜P8がスティッ
クによって叩かれて振動すると、振動検出回路9は、こ
れら各パッドP1〜P8の振動に応じた全波整流波形の振動
検出信号SB1〜SB8をマルチプレクサ10へ各々供給する。
の図において、ボード2上に配設された8個のパッドP1
〜P8には、第2図に示すように、各パッドP1〜P8に対応
して各々設けれた振動体5の振動を電気信号に変換する
振動検出子6と、この振動検出子6から出力される信号
を全波整流する整流器7とからなる振動検出回路9が各
々設けられている。そして、各パッドP1〜P8がスティッ
クによって叩かれて振動すると、振動検出回路9は、こ
れら各パッドP1〜P8の振動に応じた全波整流波形の振動
検出信号SB1〜SB8をマルチプレクサ10へ各々供給する。
マルチプレクサ10は、後述するCPU20から供給されるチ
ャンネルセレクト信号CSに基づいて、各パッドP1〜P8の
振動に応じた振動検出信号SB1〜SB8のいずれか一つを択
一選択するもので、このマルチプレクサ10で選択された
信号は、A/Dコンバータ11でディジタルデータに変換さ
れた後、バスライン12へ出力される。また、上記A/Dコ
ンバータ11は、0.1〔ms〕の周期で、入力インタラプト
信号SIをSPU20へ供給する。
ャンネルセレクト信号CSに基づいて、各パッドP1〜P8の
振動に応じた振動検出信号SB1〜SB8のいずれか一つを択
一選択するもので、このマルチプレクサ10で選択された
信号は、A/Dコンバータ11でディジタルデータに変換さ
れた後、バスライン12へ出力される。また、上記A/Dコ
ンバータ11は、0.1〔ms〕の周期で、入力インタラプト
信号SIをSPU20へ供給する。
一方、図に示す符号13は、パッドP1〜P8と共にボード2
上に設けられた設定操作部4の各種設定操作子のオン/
オフ状態を検出するための操作スイッチ検出回路であ
り、その検出データはバスライン12へ出力される。14は
パッドP1〜P8に対応した8チャンネル分の楽音信号を時
分割処理によって発生する楽音信号発生回路であり、バ
スライン12を介して、発音チャンネルや音色を指定する
ためのデータが供給された場合に、これらの楽音パラメ
ータに対応した打楽器音の楽音信号を発生し、サウンド
システム15内の増幅器16へ出力する。そして、この増幅
器16で増幅された楽音信号がスピーカ17から楽音として
発音される。また、20は種々の演算処理を実行するCPU
(中央処理装置)、21はCPU20において実行されるプロ
グラム(第4図〜第12図参照)が記憶されたROM(リー
ドオンリメモリ)、22は上記プログラムの実行中に必要
なデータを一時的に記憶するRAM(ランダムアクセスメ
モリ)であり、これらはバスライン12を介して相互に接
続されている。また、23はCPU20に対して、1〔ms〕の
周期でタイマインタラプト信号TIを供給するインタラプ
トタイマである。
上に設けられた設定操作部4の各種設定操作子のオン/
オフ状態を検出するための操作スイッチ検出回路であ
り、その検出データはバスライン12へ出力される。14は
パッドP1〜P8に対応した8チャンネル分の楽音信号を時
分割処理によって発生する楽音信号発生回路であり、バ
スライン12を介して、発音チャンネルや音色を指定する
ためのデータが供給された場合に、これらの楽音パラメ
ータに対応した打楽器音の楽音信号を発生し、サウンド
システム15内の増幅器16へ出力する。そして、この増幅
器16で増幅された楽音信号がスピーカ17から楽音として
発音される。また、20は種々の演算処理を実行するCPU
(中央処理装置)、21はCPU20において実行されるプロ
グラム(第4図〜第12図参照)が記憶されたROM(リー
ドオンリメモリ)、22は上記プログラムの実行中に必要
なデータを一時的に記憶するRAM(ランダムアクセスメ
モリ)であり、これらはバスライン12を介して相互に接
続されている。また、23はCPU20に対して、1〔ms〕の
周期でタイマインタラプト信号TIを供給するインタラプ
トタイマである。
ここで、上記RAM22に記憶される各種データの内、本実
施例の要旨に係わるものを列挙すれば、以下の通りであ
る。
施例の要旨に係わるものを列挙すれば、以下の通りであ
る。
□入力データIN(i);A/Dコンバータ11でサンプリング
された各パッドPi(i=1〜8)の振動値に対応したデ
ータ。
された各パッドPi(i=1〜8)の振動値に対応したデ
ータ。
□最大振動値MAX(i);A/Dコンバータ11から出力され
る入力データIN(i)に基づいて求めた各パッドPiの振
動値の最大値に対応したデータ。
る入力データIN(i)に基づいて求めた各パッドPiの振
動値の最大値に対応したデータ。
□基準値CRT(i);最大振動値MAX(i)に基づいて算
出され、各パッドPiの実際の振動の包絡線に似た仮想的
な疑似包絡線に対応して時間的に変化するデータであ
り、この場合、疑似包絡線は、各パッドPiの実際の振動
の包絡線よりも大となるように設定されている。
出され、各パッドPiの実際の振動の包絡線に似た仮想的
な疑似包絡線に対応して時間的に変化するデータであ
り、この場合、疑似包絡線は、各パッドPiの実際の振動
の包絡線よりも大となるように設定されている。
□ステータスST(i);各パッドPiの振動の状態を示す
もので、“0"〜“30"の値となる。
もので、“0"〜“30"の値となる。
□減算値DLT1,DLT2;基準値CRT(i)を算出する際に用
いられるデータで、この実施例では、疑似包絡線の減少
度合(傾き)を、2段階に変化させるため、2種類の減
算値が設定される。
いられるデータで、この実施例では、疑似包絡線の減少
度合(傾き)を、2段階に変化させるため、2種類の減
算値が設定される。
□スレッショルドレベルTHRS1,THRS2;入力データIN
(i)に基づいて最大振動値MAX(i)を求める際の閾
値となるデータである。
(i)に基づいて最大振動値MAX(i)を求める際の閾
値となるデータである。
□干渉値Kij;パッドPj(j=1〜8)とパッドPi(i=
1〜8、但しi≠j)の間の干渉度合を示す値である。
すなわち、各パッドP1〜P8の相対位置関係(特に、距
離)は互いに異なった関係となっており、位置関係が近
くなる程、振動の影響は強く現れる。そこで、各パッド
PjとパッドPiと間の干渉値Kijを示すテーブルが、予
め、第1図に示すROM21内に格納されている。
1〜8、但しi≠j)の間の干渉度合を示す値である。
すなわち、各パッドP1〜P8の相対位置関係(特に、距
離)は互いに異なった関係となっており、位置関係が近
くなる程、振動の影響は強く現れる。そこで、各パッド
PjとパッドPiと間の干渉値Kijを示すテーブルが、予
め、第1図に示すROM21内に格納されている。
次に、上述した構成による電子楽器の動作について説明
する。
する。
まず、第3図に示す波形図を参照して、動作の概略を説
明する。
明する。
CPU20は、図に点D1,D2,D3…で示すように一定のサンプ
リング間隔でA/Dコンバータ11で変換されて出力される
各パッドPiの入力データIN(i)を順次取り込み、各入
力データIN(i)がスレッショルドレベルTHRS1を超え
た時点で、ステータスST(i)を“0"から“1"とし、以
降、入力データIN(i)を順次RAM22へ記憶する。
リング間隔でA/Dコンバータ11で変換されて出力される
各パッドPiの入力データIN(i)を順次取り込み、各入
力データIN(i)がスレッショルドレベルTHRS1を超え
た時点で、ステータスST(i)を“0"から“1"とし、以
降、入力データIN(i)を順次RAM22へ記憶する。
ここで、ステータスST(i)=1〜30は、次の4つの期
間に分類される。
間に分類される。
振動最大値検出期間 ステータスST(i)=1の期間であり、図に点D7で示す
ように増加していた入力データIN(i)が始めて減少し
た時点で、その直前の点D6で得られた入力データIN
(i)を最大振動値MAX(i)として特定し、これと同
時に、ステータスST(i)を“1"から“2"にする。
ように増加していた入力データIN(i)が始めて減少し
た時点で、その直前の点D6で得られた入力データIN
(i)を最大振動値MAX(i)として特定し、これと同
時に、ステータスST(i)を“1"から“2"にする。
発音待機期間 ステータスST(i)=2〜7の期間であり、インタラプ
トタイマ23から1〔ms〕の間隔でタイマインタラプト信
号TIが到来する毎に、ステータスST(i)が順次インク
リメントされる。またA/Dコンバータ11から0.1〔ms〕の
周期で入力インタラプト信号SIが到来する毎に、最大振
動値MAX(i)から減算値DLT1を順次減算して新たな基
準値CRT(i)を算出し、一定の傾きで減少する疑似包
絡線に対応した基準値CRT(i)を得る。そして、何等
かの原因で励振が生じ、入力データIN(i)が最大振動
値MAX(i)を超えた場合は、最大振動値MAX(i)を更
新し、また入力データIN(i)がその時点における基準
値CRT(i)を超えた場合は、基準値CRT(i)を更新す
る。
トタイマ23から1〔ms〕の間隔でタイマインタラプト信
号TIが到来する毎に、ステータスST(i)が順次インク
リメントされる。またA/Dコンバータ11から0.1〔ms〕の
周期で入力インタラプト信号SIが到来する毎に、最大振
動値MAX(i)から減算値DLT1を順次減算して新たな基
準値CRT(i)を算出し、一定の傾きで減少する疑似包
絡線に対応した基準値CRT(i)を得る。そして、何等
かの原因で励振が生じ、入力データIN(i)が最大振動
値MAX(i)を超えた場合は、最大振動値MAX(i)を更
新し、また入力データIN(i)がその時点における基準
値CRT(i)を超えた場合は、基準値CRT(i)を更新す
る。
再発音禁止期間 ステータスST(i)=8〜15の期間であり、ステータス
ST(i)が“7"から“8"となった時点で、RAM22に記憶
されている最大振動値MAX(i)に基づいて発音すべき
指示を楽音信号発生回路14へ与え、いわゆるキーオン状
態となる。また、この期間においても、タイマインタラ
プト信号TIが到来する毎に、ステータスST(i)が順次
インクリメントされる。また入力インタラプト信号SIが
到来する毎に、減算値DLT1を減算して新たな基準値CRT
(i)を算出し、一定の傾きで減少する疑似包絡線に対
応した基準値CRT(i)を得る。そして、何等かの原因
で励振が生じ、入力データIN(i)がその時点における
基準値CRT(i)を超えた場合は、基準値CRT(i)を更
新する。ただし、この期間においては、再発音は許可し
ない。
ST(i)が“7"から“8"となった時点で、RAM22に記憶
されている最大振動値MAX(i)に基づいて発音すべき
指示を楽音信号発生回路14へ与え、いわゆるキーオン状
態となる。また、この期間においても、タイマインタラ
プト信号TIが到来する毎に、ステータスST(i)が順次
インクリメントされる。また入力インタラプト信号SIが
到来する毎に、減算値DLT1を減算して新たな基準値CRT
(i)を算出し、一定の傾きで減少する疑似包絡線に対
応した基準値CRT(i)を得る。そして、何等かの原因
で励振が生じ、入力データIN(i)がその時点における
基準値CRT(i)を超えた場合は、基準値CRT(i)を更
新する。ただし、この期間においては、再発音は許可し
ない。
再発音許可期間 ステータスST(i)=16〜30の期間であり、タイマイン
タラプト信号TIが到来する毎に、ステータスST(i)が
順次インクリメントされる。また入力インタラプト信号
SIが到来する毎に、減算値DLT2(>DLT1)を減算して新
たな基準値CRT(i)を算出し、ステータスST(i)=
2〜15の場合よりも大きな傾きで減少する疑似包絡線に
対応した基準値CRT(i)を得る。そして、何等かの原
因で励振が生じ、入力データIN(i)がその時点におけ
る基準値CRT(i)を超えた場合は、基準値CRT(i)を
更新する。この時、入力データIN(i)が基準値CRT
(i)を超えて、その差がスレッショルドレベルTHRS2
よりも大であった場合、再発音を実行するために即座に
ステータスST(i)=1へ移行する。
タラプト信号TIが到来する毎に、ステータスST(i)が
順次インクリメントされる。また入力インタラプト信号
SIが到来する毎に、減算値DLT2(>DLT1)を減算して新
たな基準値CRT(i)を算出し、ステータスST(i)=
2〜15の場合よりも大きな傾きで減少する疑似包絡線に
対応した基準値CRT(i)を得る。そして、何等かの原
因で励振が生じ、入力データIN(i)がその時点におけ
る基準値CRT(i)を超えた場合は、基準値CRT(i)を
更新する。この時、入力データIN(i)が基準値CRT
(i)を超えて、その差がスレッショルドレベルTHRS2
よりも大であった場合、再発音を実行するために即座に
ステータスST(i)=1へ移行する。
次に、上述した動作を第4図〜第12図に示すフローチャ
ートによって説明する。
ートによって説明する。
まず、図示せぬ電源スイッチが投入されると、CPU20は
第4図に示すメインプログラムを実行する。すなわち、
ステップSP1において、各種データをクリアし、もしく
は初期値を設定して初期設定を行った後、ステップSP2
へ進み、図示せぬ音量設定操作子によって設定された発
音すべき楽音全体の音量や、設定操作部4に設けられた
各種設定操作子(スイッチ)によって設定された楽音パ
ラメータを楽音信号発生回路14に設定し、さらにステッ
プSP3へ進み、各パッドP1〜P8に割り当てられた音色
を、楽音信号発生回路14の各発音チャンネルに指定する
ための割当処理を実行した後、再びステップSP2へ戻
り、以降、これらステップSP2とステップSP3を循環処理
する。
第4図に示すメインプログラムを実行する。すなわち、
ステップSP1において、各種データをクリアし、もしく
は初期値を設定して初期設定を行った後、ステップSP2
へ進み、図示せぬ音量設定操作子によって設定された発
音すべき楽音全体の音量や、設定操作部4に設けられた
各種設定操作子(スイッチ)によって設定された楽音パ
ラメータを楽音信号発生回路14に設定し、さらにステッ
プSP3へ進み、各パッドP1〜P8に割り当てられた音色
を、楽音信号発生回路14の各発音チャンネルに指定する
ための割当処理を実行した後、再びステップSP2へ戻
り、以降、これらステップSP2とステップSP3を循環処理
する。
CPU20が上述したメインプログラムを循環処理している
過程において、インタラプトタイマ23から1〔ms〕の周
期でタイマインタラプト信号TIが供給される毎に、第5
図に示すタイマ割込処理を実行し、また、A/Dコンバー
タ11から0.1〔ms〕の周期で入力インタラプト信号SIが
供給される毎に、第6図に示す入力割込処理を実行す
る。
過程において、インタラプトタイマ23から1〔ms〕の周
期でタイマインタラプト信号TIが供給される毎に、第5
図に示すタイマ割込処理を実行し、また、A/Dコンバー
タ11から0.1〔ms〕の周期で入力インタラプト信号SIが
供給される毎に、第6図に示す入力割込処理を実行す
る。
第5図に示すタイマ割込処理においては、まず、ステッ
プSP10において、第1番目のパッドP1の処理を指定する
ために値i=1に設定した後、ステップSP11において第
i番目のパッドPiに関するステータスST(i)>1であ
るか否かを判断し、否定結果が得られた場合、すなわ
ち、ステータスST(i)が“0"か、もしくは“1"の振動
最大値検出期間であった場合は、ステップSP23へジャン
プし、第2番目のパッドP2の処理に移行するために、値
iを1だけインクリメントし、次のステップSP24からス
テップSP11へ戻る。一方、上記ステップSP11において肯
定結果が得られた場合、次のステップSP12へ進み、ステ
ータスST(i)を1だけインクリメントしてステップSP
13へ進む。このステップSP13においては、ステータスST
(i)が8に達したか否か判断され、否定結果が得られ
た場合は、ステップSP21へ進む。このステップSP21にお
いてはステータスST(i)>30か否かが判断され、否定
結果が得られた場合は、直接ステップSP23へ進み、肯定
結果が得られた場合は、ステップSP22においてステータ
スST(i)=0に設定した後、ステップSP23へ進む。
プSP10において、第1番目のパッドP1の処理を指定する
ために値i=1に設定した後、ステップSP11において第
i番目のパッドPiに関するステータスST(i)>1であ
るか否かを判断し、否定結果が得られた場合、すなわ
ち、ステータスST(i)が“0"か、もしくは“1"の振動
最大値検出期間であった場合は、ステップSP23へジャン
プし、第2番目のパッドP2の処理に移行するために、値
iを1だけインクリメントし、次のステップSP24からス
テップSP11へ戻る。一方、上記ステップSP11において肯
定結果が得られた場合、次のステップSP12へ進み、ステ
ータスST(i)を1だけインクリメントしてステップSP
13へ進む。このステップSP13においては、ステータスST
(i)が8に達したか否か判断され、否定結果が得られ
た場合は、ステップSP21へ進む。このステップSP21にお
いてはステータスST(i)>30か否かが判断され、否定
結果が得られた場合は、直接ステップSP23へ進み、肯定
結果が得られた場合は、ステップSP22においてステータ
スST(i)=0に設定した後、ステップSP23へ進む。
一方、上記ステップSP13において肯定結果が得られた場
合、すなわち、上述した再発音禁止期間に達したと判断
された場合は、次のステップSP14において、第j番目の
パッドPjを指定する値j=1に設定し、ステップSP15へ
進む。このステップSP15において、値j=iか否かが判
断され、肯定結果が得られた場合は、ステップSP18へ進
み、否定結果が得られた場合は、ステップSP16へ進む。
合、すなわち、上述した再発音禁止期間に達したと判断
された場合は、次のステップSP14において、第j番目の
パッドPjを指定する値j=1に設定し、ステップSP15へ
進む。このステップSP15において、値j=iか否かが判
断され、肯定結果が得られた場合は、ステップSP18へ進
み、否定結果が得られた場合は、ステップSP16へ進む。
このステップSP16においては、第j番目のパッドPjに関
する最大振動値MAX(j)が、第i番目のパッドPiに関
する最大振動値MAX(i)に干渉値Kijを乗算した値より
も小であり、かつ、第j番目のパッドPjに関するステー
タスST(j)が0より大きく7以下であるか否かが判断
される。すなわち、第j番目のパッドPjが叩かれてから
所定時間内(ステータスST(j)が7以下)に、MAX
(j)<Kij・MAX(i)なる関係が得られた場合、第j
番目のパッドPjに励振が生じたと判断されて、次のステ
ップSP17へ進み、第j番目のパッドPjに関するステータ
スST(j)=8、最大値振動値MAX(j)=0、基準値C
RT(j)=0に設定して、ステップSP18へ進む。上記ス
テップSP16において否定結果が得られた場合は、ステッ
プSP18へジャンプする。このステップSP18においては、
値jを1だけインクリメントした後、ステップSP19へ進
む。そして、このステップSP19において値j>8となっ
たことが判断されるまで、上述したステップSP15〜18を
繰り返し、第i番目のパッドPiを除くパッドP1〜P8の励
振が判別される。
する最大振動値MAX(j)が、第i番目のパッドPiに関
する最大振動値MAX(i)に干渉値Kijを乗算した値より
も小であり、かつ、第j番目のパッドPjに関するステー
タスST(j)が0より大きく7以下であるか否かが判断
される。すなわち、第j番目のパッドPjが叩かれてから
所定時間内(ステータスST(j)が7以下)に、MAX
(j)<Kij・MAX(i)なる関係が得られた場合、第j
番目のパッドPjに励振が生じたと判断されて、次のステ
ップSP17へ進み、第j番目のパッドPjに関するステータ
スST(j)=8、最大値振動値MAX(j)=0、基準値C
RT(j)=0に設定して、ステップSP18へ進む。上記ス
テップSP16において否定結果が得られた場合は、ステッ
プSP18へジャンプする。このステップSP18においては、
値jを1だけインクリメントした後、ステップSP19へ進
む。そして、このステップSP19において値j>8となっ
たことが判断されるまで、上述したステップSP15〜18を
繰り返し、第i番目のパッドPiを除くパッドP1〜P8の励
振が判別される。
上記ステップSP19において肯定結果が得られた時点で、
ステップSP20へ進み、楽音信号発生回路14の第i番目の
発音チャネルに対して、パッドPiの振動最大値MAX
(i)に基づく発音を指示する。次いで、ステップSP23
へ進み、値iを1だけインクリメントした後、ステップ
SP24へ進み、そして、このステップSP24において値i>
8となったことが判断されるまで、上述したステップSP
11〜22を繰り返し実行し、全てのパッドP1〜P8に関する
処理を終えた後、メインプログラムに戻る。
ステップSP20へ進み、楽音信号発生回路14の第i番目の
発音チャネルに対して、パッドPiの振動最大値MAX
(i)に基づく発音を指示する。次いで、ステップSP23
へ進み、値iを1だけインクリメントした後、ステップ
SP24へ進み、そして、このステップSP24において値i>
8となったことが判断されるまで、上述したステップSP
11〜22を繰り返し実行し、全てのパッドP1〜P8に関する
処理を終えた後、メインプログラムに戻る。
次に、第6図に示す入力割込処理においては、まず、ス
テップSP30において、第1番目のパッドP1の処理を指定
するために値i=1に設定した後、ステップSP31におい
て後述する入力処理ルーチンを実行し、次いで、ステッ
プSP32へ進み、値iを1だけインクリメントする。そし
て、ステップSP33へ進み、このステップSP33において値
i>8となったことが判断されるまで、上述したステッ
プSP31〜32を繰り返し実行し、全てのパッドP1〜P8に関
する処理を終えた後、メインプログラムに戻る。
テップSP30において、第1番目のパッドP1の処理を指定
するために値i=1に設定した後、ステップSP31におい
て後述する入力処理ルーチンを実行し、次いで、ステッ
プSP32へ進み、値iを1だけインクリメントする。そし
て、ステップSP33へ進み、このステップSP33において値
i>8となったことが判断されるまで、上述したステッ
プSP31〜32を繰り返し実行し、全てのパッドP1〜P8に関
する処理を終えた後、メインプログラムに戻る。
上記ステップSP31における入力処理ルーチンは、第7図
に示すように、まず、ステップSP40において、一定のサ
ンプリング間隔でA/Dコンバータ11で変換されて出力さ
れる各パッドPiの入力データIN(i)を順次取り込み、
次のステップSP41において、ステータスST(i)=0〜
30に応じて、ステップSP42〜ステップSP46のいずれかに
進む。この場合、ステータスST(i)=0であった場合
は、ステップSP42の立ち上がり検出処理ルーチンに進
み、ステータスST(i)=1であった場合は、ステップ
SP43の振動最大値検出処理ルーチンに進み、ステータス
ST(i)=2〜7であった場合は、ステップSP44の発音
待機処理ルーチンに進み、ステータスST(i)=8〜15
であった場合は、ステップSP45の再発音禁止処理ルーチ
ンに進み、ステータスST(i)=16〜30であった場合
は、再発音許可処理ルーチンに進む。これらの各ルーチ
ンを処理した後、第6図に示すステップ32へ進む。
に示すように、まず、ステップSP40において、一定のサ
ンプリング間隔でA/Dコンバータ11で変換されて出力さ
れる各パッドPiの入力データIN(i)を順次取り込み、
次のステップSP41において、ステータスST(i)=0〜
30に応じて、ステップSP42〜ステップSP46のいずれかに
進む。この場合、ステータスST(i)=0であった場合
は、ステップSP42の立ち上がり検出処理ルーチンに進
み、ステータスST(i)=1であった場合は、ステップ
SP43の振動最大値検出処理ルーチンに進み、ステータス
ST(i)=2〜7であった場合は、ステップSP44の発音
待機処理ルーチンに進み、ステータスST(i)=8〜15
であった場合は、ステップSP45の再発音禁止処理ルーチ
ンに進み、ステータスST(i)=16〜30であった場合
は、再発音許可処理ルーチンに進む。これらの各ルーチ
ンを処理した後、第6図に示すステップ32へ進む。
上記立ち上がり検出処理ルーチンにおいては、第8図に
示すように、まず、ステップSP50において、入力データ
IN(i)がスレッショルドレベルTHRS1を超えているか
否かが判断され、否定結果が得られた場合は、当該処理
ルーチンを終え、肯定結果が得られた場合は、ステップ
SP51へ進み、ステータスST(i)=1とすると共に、入
力データIN(i)を最大振動値MAX(i)として設定し
た後、当該処理ルーチンを終える。
示すように、まず、ステップSP50において、入力データ
IN(i)がスレッショルドレベルTHRS1を超えているか
否かが判断され、否定結果が得られた場合は、当該処理
ルーチンを終え、肯定結果が得られた場合は、ステップ
SP51へ進み、ステータスST(i)=1とすると共に、入
力データIN(i)を最大振動値MAX(i)として設定し
た後、当該処理ルーチンを終える。
また、上記振動最大値検出処理ルーチンにおいては、第
9図に示すように、まず、ステップSP60において、入力
データIN(i)が最大振動値MAX(i)を超えているか
否かが判断され、肯定結果が得られた場合は、新たに得
られた入力データIN(i)を最大振動値MAX(i)とし
て設定して当該処理ルーチンを終える。一方、ステップ
SP60において、否定結果が得られた場合は、ステップSP
62へ進み、最大振動値MAX(i)を基準値CRT(i)とし
て設定した後、ステップSP63に進み、基準値CRT(i)
から減算値DLT1を減算して新たな基準値CRT(i)を算
出し、次いで、ステップSP64において、ステータスST
(i)を2に設定して当該処理ルーチンを終える。
9図に示すように、まず、ステップSP60において、入力
データIN(i)が最大振動値MAX(i)を超えているか
否かが判断され、肯定結果が得られた場合は、新たに得
られた入力データIN(i)を最大振動値MAX(i)とし
て設定して当該処理ルーチンを終える。一方、ステップ
SP60において、否定結果が得られた場合は、ステップSP
62へ進み、最大振動値MAX(i)を基準値CRT(i)とし
て設定した後、ステップSP63に進み、基準値CRT(i)
から減算値DLT1を減算して新たな基準値CRT(i)を算
出し、次いで、ステップSP64において、ステータスST
(i)を2に設定して当該処理ルーチンを終える。
また、上記発音待機処理ルーチンにおいては、第10図に
示すステップSP70において、基準値CRT(i)から減算
値DLT1を減算して新たな基準値CRT(i)を算出した後
ステップSP71に進み、入力データIN(i)が基準値CRT
(i)を超えているか否かが判断され、肯定結果が得ら
れない場合は、当該処理ルーチンを終える。一方、ステ
ップSP71において肯定結果が得られた場合は、次のステ
ップSP72へ進み、基準値CRT(i)を新たに得られた入
力データIN(i)に更新し、ステップSP73へ進む。この
ステップSP73においては、入力データIN(i)が最大振
動値MAX(i)を超えているか否かが判断され、否定結
果が得られた場合は、当該処理ルーチンを終え、肯定結
果が得られた場合は、最大振動値MAX(i)を新た得ら
れた入力データIN(i)に更新した後、当該処理ルーチ
ンを終える。これにより、例えば、第13図に一点鎖線A
で示すように、発音待機期間中に、入力データIN(i)
がその時点における基準値CRT(i)を超えた場合、こ
の入力データIN(i)が新たな基準値CRT(i)とし
て、設定し直される。
示すステップSP70において、基準値CRT(i)から減算
値DLT1を減算して新たな基準値CRT(i)を算出した後
ステップSP71に進み、入力データIN(i)が基準値CRT
(i)を超えているか否かが判断され、肯定結果が得ら
れない場合は、当該処理ルーチンを終える。一方、ステ
ップSP71において肯定結果が得られた場合は、次のステ
ップSP72へ進み、基準値CRT(i)を新たに得られた入
力データIN(i)に更新し、ステップSP73へ進む。この
ステップSP73においては、入力データIN(i)が最大振
動値MAX(i)を超えているか否かが判断され、否定結
果が得られた場合は、当該処理ルーチンを終え、肯定結
果が得られた場合は、最大振動値MAX(i)を新た得ら
れた入力データIN(i)に更新した後、当該処理ルーチ
ンを終える。これにより、例えば、第13図に一点鎖線A
で示すように、発音待機期間中に、入力データIN(i)
がその時点における基準値CRT(i)を超えた場合、こ
の入力データIN(i)が新たな基準値CRT(i)とし
て、設定し直される。
また、上記再発音禁止処理ルーチンにおいては、第11図
に示すように、ステップSP80において基準値CRT(i)
から減算値DLT1を減算して新たな基準値CRT(i)を算
出した後、ステップSP81に進み、入力データIN(i)が
基準値CRT(i)を超えているか否かが判断され、否定
結果が得られた場合は、当該処理ルーチンを終え、一
方、肯定結果が得られた場合は、ステップSP82へ進み、
基準値CRT(i)を新たに得られた入力データIN(i)
に更新した後、当該処理ルーチンを終える。
に示すように、ステップSP80において基準値CRT(i)
から減算値DLT1を減算して新たな基準値CRT(i)を算
出した後、ステップSP81に進み、入力データIN(i)が
基準値CRT(i)を超えているか否かが判断され、否定
結果が得られた場合は、当該処理ルーチンを終え、一
方、肯定結果が得られた場合は、ステップSP82へ進み、
基準値CRT(i)を新たに得られた入力データIN(i)
に更新した後、当該処理ルーチンを終える。
さらに、上記再発音許可処理ルーチンにおいては、第12
図に示すように、ステップSP90において基準値CRT
(i)から減算値DLT2を減算して新たな基準値CRT
(i)を算出した後、ステップSP91に進み、入力データ
IN(i)が基準値CRT(i)を超えているか否かが判断
され、否定結果が得られた場合は、当該処理ルーチンを
終える。一方、肯定結果が得られた場合は、ステップSP
92へ進み、入力データIN(i)と基準値CRT(i)との
差が、スレッショルドレベルTHRS2を超えているか否か
が判断され、否定結果が得られた場合は、ステップSP94
へ進み、肯定結果が得られた場合は、ステップSP93へ進
む。ステップSP93においては、ステータスST(i)を1
とし、最大振動値MAX(i)を新たに得られた入力デー
タIN(i)とした後、ステップSP94へ進み、基準値CRT
(i)を新たに得られた入力データIN(i)とした後、
当該処理ルーチンを終える。これにより、例えば、第13
図に一点鎖線Bで示すように、再発音許可期間中に、入
力データIN(i)が基準値CRT(i)を超えて、その差
がスレッショルドレベルTHRS2よりも大であった場合
は、再発音を実行するために即座にステータスST(i)
=1へ移行する。この場合、第13図に一点鎖線Cで示す
ように、入力データIN(i)と基準値CRT(i)との差
がスレッショルドレベルTHRS2以下であった場合は、基
準値CRT(i)が新たに得られた入力データIN(i)に
更新される。
図に示すように、ステップSP90において基準値CRT
(i)から減算値DLT2を減算して新たな基準値CRT
(i)を算出した後、ステップSP91に進み、入力データ
IN(i)が基準値CRT(i)を超えているか否かが判断
され、否定結果が得られた場合は、当該処理ルーチンを
終える。一方、肯定結果が得られた場合は、ステップSP
92へ進み、入力データIN(i)と基準値CRT(i)との
差が、スレッショルドレベルTHRS2を超えているか否か
が判断され、否定結果が得られた場合は、ステップSP94
へ進み、肯定結果が得られた場合は、ステップSP93へ進
む。ステップSP93においては、ステータスST(i)を1
とし、最大振動値MAX(i)を新たに得られた入力デー
タIN(i)とした後、ステップSP94へ進み、基準値CRT
(i)を新たに得られた入力データIN(i)とした後、
当該処理ルーチンを終える。これにより、例えば、第13
図に一点鎖線Bで示すように、再発音許可期間中に、入
力データIN(i)が基準値CRT(i)を超えて、その差
がスレッショルドレベルTHRS2よりも大であった場合
は、再発音を実行するために即座にステータスST(i)
=1へ移行する。この場合、第13図に一点鎖線Cで示す
ように、入力データIN(i)と基準値CRT(i)との差
がスレッショルドレベルTHRS2以下であった場合は、基
準値CRT(i)が新たに得られた入力データIN(i)に
更新される。
なお、上述した一実施例において、各ステータスST
(i)の範囲の設定は任意に変更して構わない。また、
ステータスST(i)=15を境にして基準値CRT(i)の
減少率を変化させるようにしたが、必ずしもこのように
2段階に変化させる必要はなく、他段階に変化させるよ
うにしても勿論構わない。さらに、実施例においては、
電子打楽器を例に説明したが、同様の振動を検出するも
のであれば、電子弦楽器等に用いても構わない。
(i)の範囲の設定は任意に変更して構わない。また、
ステータスST(i)=15を境にして基準値CRT(i)の
減少率を変化させるようにしたが、必ずしもこのように
2段階に変化させる必要はなく、他段階に変化させるよ
うにしても勿論構わない。さらに、実施例においては、
電子打楽器を例に説明したが、同様の振動を検出するも
のであれば、電子弦楽器等に用いても構わない。
「発明の効果」 以上説明したように、この発明によれば、演奏操作子の
振動量の最大値が最大値記憶手段に記憶され、この最大
値に基づいて、演奏操作子の実際の振動の包絡線に似た
仮想的な疑似包絡線に対応した基準値が基準値発生手段
から発生され、この基準値と振動量とが比較されて励振
が検出され、励振が検出された場合に楽音を発生するよ
うにしたので、励振を判別するための基準となる疑似包
絡線を自由に設定することができ、この疑似包絡線を適
宜設定することにより、励振を確実に判別することがき
るという効果が得られる。
振動量の最大値が最大値記憶手段に記憶され、この最大
値に基づいて、演奏操作子の実際の振動の包絡線に似た
仮想的な疑似包絡線に対応した基準値が基準値発生手段
から発生され、この基準値と振動量とが比較されて励振
が検出され、励振が検出された場合に楽音を発生するよ
うにしたので、励振を判別するための基準となる疑似包
絡線を自由に設定することができ、この疑似包絡線を適
宜設定することにより、励振を確実に判別することがき
るという効果が得られる。
第1図はこの発明の一実施例の構成を示すブロック図、
第2図は同実施例のパッドの振動を検出する振動検出回
路の構成を示すブロック図、第3図は同実施例の動作を
説明するための波形図、第4図〜第12図は同実施例の動
作を説明するためのフローチャート、第13図は同実施例
の動作を説明するための波形図、第14図は従来の電子打
楽器の演奏操作部の概略構成を示す平面図、第15図は同
演奏操作部における振動検出回路の構成を示すブロック
図である。 P1〜P8……パッド、10……マルチプレクサ、11……A/D
コンバータ、14……楽音信号発生回路、20……CPU、21
……ROM、22……RAM、23……インタラプトタイマ。
第2図は同実施例のパッドの振動を検出する振動検出回
路の構成を示すブロック図、第3図は同実施例の動作を
説明するための波形図、第4図〜第12図は同実施例の動
作を説明するためのフローチャート、第13図は同実施例
の動作を説明するための波形図、第14図は従来の電子打
楽器の演奏操作部の概略構成を示す平面図、第15図は同
演奏操作部における振動検出回路の構成を示すブロック
図である。 P1〜P8……パッド、10……マルチプレクサ、11……A/D
コンバータ、14……楽音信号発生回路、20……CPU、21
……ROM、22……RAM、23……インタラプトタイマ。
Claims (1)
- 【請求項1】演奏操作される演奏操作子の振動量を検出
する振動検出手段と、 前記振動検出手段から出力される振動量の最大値を記憶
する最大値記憶手段と、 前記最大値記憶手段に記憶された値に基づいて、前記演
奏操作子の実際の振動の包絡線に似た仮想的な疑似包絡
線に対応した基準値を発生する基準値発生手段と、 前記基準値と振動量を比較して楽音の発生を指示する楽
音発生指示手段と、 前記楽音発生指示手段による楽音の発生指示に応じて、
前記最大値記憶手段に記憶された値に対応する楽音を発
生する楽音発生手段と、 を具備することを特徴とする電子楽器。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2070267A JPH0769687B2 (ja) | 1990-03-20 | 1990-03-20 | 電子楽器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2070267A JPH0769687B2 (ja) | 1990-03-20 | 1990-03-20 | 電子楽器 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03269577A JPH03269577A (ja) | 1991-12-02 |
| JPH0769687B2 true JPH0769687B2 (ja) | 1995-07-31 |
Family
ID=13426580
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2070267A Expired - Fee Related JPH0769687B2 (ja) | 1990-03-20 | 1990-03-20 | 電子楽器 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0769687B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009258200A (ja) * | 2008-04-14 | 2009-11-05 | Yamaha Corp | 打撃操作検出装置及び打撃操作検出プログラム |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024077536A (ja) * | 2022-11-28 | 2024-06-07 | 株式会社エフノート | 電子打楽器 |
| JP2026118892A (ja) | 2025-01-06 | 2026-07-16 | ローランド株式会社 | 電子打楽器、無線通信装置、打撃処理方法および打撃処理プログラム |
-
1990
- 1990-03-20 JP JP2070267A patent/JPH0769687B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009258200A (ja) * | 2008-04-14 | 2009-11-05 | Yamaha Corp | 打撃操作検出装置及び打撃操作検出プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH03269577A (ja) | 1991-12-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2970517B2 (ja) | 電子打楽器 | |
| JPS6342268B2 (ja) | ||
| JP3710566B2 (ja) | 電子打楽器装置および電子打楽器装置における打撃検出装置 | |
| JP3135687B2 (ja) | 電子打楽器 | |
| JP3614124B2 (ja) | 楽音制御装置及び信号処理装置並びに電子打楽器 | |
| JPH06186972A (ja) | 楽音処理装置 | |
| JP5030016B2 (ja) | 楽音発生装置および楽音発生処理プログラム | |
| JP2005301318A (ja) | 電子打楽器装置における打撃検出装置 | |
| JP3307162B2 (ja) | 音楽制御装置 | |
| US11042380B2 (en) | Apparatus, method and computer program for processing instruction | |
| JPH0721717B2 (ja) | 電子楽器 | |
| JPH03269577A (ja) | 電子楽器 | |
| JPH0635449A (ja) | 電子打楽器 | |
| JP3430585B2 (ja) | 電子打楽器 | |
| JP2557687Y2 (ja) | 電子楽器 | |
| JPH0631965B2 (ja) | 楽音制御装置 | |
| JP4373625B2 (ja) | 電子楽器 | |
| JP3279122B2 (ja) | テンポ制御装置 | |
| JP3843996B2 (ja) | 信号処理装置 | |
| JP3674567B2 (ja) | ヘッド装置及び電子打楽器 | |
| JP2725559B2 (ja) | アタック効果装置 | |
| JPH0664463B2 (ja) | 電子打楽器 | |
| JP3843997B2 (ja) | 楽音発生装置 | |
| JP3797356B2 (ja) | 電子楽器 | |
| JPH045390B2 (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 (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090731 Year of fee payment: 14 |
|
| LAPS | Cancellation because of no payment of annual fees |