(58)【調査した分野】(Int.Cl.,DB名)
前記処理部はさらに、前記楽音の発音が指示された後に、前記押圧信号のレベルが第2の閾値を下回ったか否かを判別する第3の判別処理と、前記第3の判別処理により、前記押圧信号のレベルが前記第2の閾値を下回ったと判別された場合、前記音源に対して前記発音している楽音の消音を指示する消音指示処理と、を実行する請求項1に記載の楽音発生指示装置。
前記処理部は、前記発音指示処理において、前記押圧信号のレベルが第1の閾値を超えていると判別された後、第1の時間が経過するまでの間での前記押圧信号のレベルの最大値に対応した音量の楽音の発音を指示する処理を実行する、請求項3に記載の楽音発生指示装置。
前記処理部は、前記アフタータッチ処理において、前記押圧信号のレベルの推移に応じて前記発音している楽音の音量、音色及び音高の少なくともひとつを制御する、請求項1乃至4のいずれかに記載の楽音発生指示装置。
前記操作部は、一対の電極を有するカーボン印刷が施された基板と、カーボンのベタ印刷が施された導電シートと、複数のキーボタンを連設したラバーキーとを、下から上に積層してなる、請求項9に記載の電子楽器。
前記操作部は、前記操作部に対する押圧操作により、前記基板上の一対の電極間が前記導電シートのベタ印刷のカーボンによって導通された状態となるとともに、前記押圧操作の押圧力の変化に応じて、前記一対の電極と前記ベタ印刷のカーボンとの接触面積を変化させることにより、前記押圧力に応じてレベルの変化する押圧信号を出力する、請求項10に記載の電子楽器。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して、本発明を実施するための形態(以下、実施形態という)について詳細に説明する。図面においては、実施形態の説明の全体を通して同じ要素には同じ番号又は符号を付している。
【0011】
<電子楽器の構成>
図1から
図4を参照して、本発明に係る実施形態の電子楽器の構成について説明する。
図1は、本発明に係る実施形態の電子楽器を備える鍵盤楽器の正面図である。
図2は、本実施形態の電子楽器の構成を示すブロック図である。
図3は、本実施形態におけるパッドの構造を示す断面図である。
図4は、本実施形態におけるパッドの構造を示す分解図である。
【0012】
図1に示すように、本発明に係る実施形態の電子楽器MIは鍵盤楽器の一部に設けられており、操作部1(
図2参照)のパッド11を押圧(押下)することで、そのパッド11に応じた音を発音する電子楽器MIである。
ただし、鍵盤楽器に一体に設けられる必要はなく、電子楽器MIだけからなる電子楽器とされてもよい。
【0013】
図2に示すように、本実施形態に係る電子楽器MIは、操作部1と、音制御部2と、音出力部3と、を含み、これら各部がバス4を介して互いに接続されている。
以下、これら各部を順に説明する。
【0014】
(操作部)
操作部1は、音出力部3から音を出力するために演奏者によって押圧されるパッド11と、A/D変換部12を含み、パッド11には圧力センサが備えられている。パッド11は、A/D変換部12を介してバス4に接続され、演奏者によって押圧されると、この押圧力に応じたデジタル信号を出力する。
図3及び
図4に示すように、本実施形態における電子楽器MIは、操作部1が複数のパッド11を有している。なお、電子楽器MIは、操作部1が一個のパッド11を有するものであってもよい。
【0015】
図3及び
図4に示すように、パッド11は、パッド形状のカーボン印刷55が施された基板53と、カーボン印刷54が施された導電シート52と、複数のキーボタンを連設したラバーキー51を、この順に下から上に積層している。なお、
図3及び
図4では、図示を省略しているが、例えば、パッド11は、ラバーキー51を外部に導出する開口を有する鍵盤楽器(
図1参照)の筐体内にラバーキー51を演奏者が操作するように外部に導出した状態で収容される。
図3及び
図4に示すように、カーボン印刷55は、基板53上の各パッド11に対応する位置に施され、例えば、一対の電極を構成するように2本の渦巻き形状をなしている。また、カーボン印刷54は、例えば、カーボン印刷55によって形成されている一対の電極を構成する2本の渦巻き形状の部分に対応した範囲にカーボンがベタ印刷されており、カーボン印刷54がカーボン印刷55に接触したときに、カーボン印刷55によって形成されている一対の電極間を導通できるようになっている。
【0016】
パッド11は、演奏者によって押圧されると、基板53のカーボン印刷55が構成する一対の電極間が導電シート52のカーボン印刷54によって接続された状態となり、カーボン印刷55の一対の電極間が導通する。パッド11は、押圧力の変化に応じて、カーボン印刷55に対するカーボン印刷54の接触面積が変化し、押圧力が増加するにしたがって接触面積が増加(抵抗値が低下)するので電圧値が増加し、押圧力に応じた電圧値を出力する。この電圧値は、A/D変換部12によってA/D変換され、押圧力に応じたデジタル信号として出力され、音制御部2においてベロシティとして検出される。なお、本実施形態の電子楽器では、カーボン印刷55に対するカーボン印刷54の接触状態の変化によって抵抗値が変化し、パッド11の押圧力の変化が検出できる圧力センサを用いているが、この部分の構成は、パッド11の押圧力の変化が検出できればよいため、このような本実施形態の構成に限定されず、圧力によって電圧値が変化する構成であればどのような構成の圧力センサでもよい。
【0017】
図8は本実施形態における電子楽器MIの動作を説明する図であり、演奏者によって押圧されるパッド11の押圧操作に対応して発生する電圧値V
0(押圧信号)の変化を示している。例えば、パッド11が単押された場合には、
図8(a)に示すような電圧値V
0(押圧信号)の変化が見られ、パッド11が長押された場合には、
図8(b)に示すような電圧値V
0(押圧信号)変化が見られ、アフタータッチが行われると
図8(c)に示すような電圧値V
0(押圧信号)変化が見られる。なお、アフタータッチの際に、
図8(c)に示すように、電圧値V
0(押圧信号)の推移に極小値が見られるのは、演奏者がアフタータッチ操作をする際には、操作部1のパッド11を一度押下した後、さらに押し込む動作の前に押圧力が弱くなるからである。
【0018】
(音制御部)
音制御部2は、CPU21とROM22とRAM23を含み、バス4を介して相互に接続されていると共に、操作部1及び音出力部3に接続され、音制御部2は、楽音発生指示装置として機能する。また、CPU21は、その楽音発生指示装置の処理部として機能し、電子楽器MI全体の制御、パッド11の操作に応じた処理、音出力部3に発音させる制御など、各種処理を実行する。
【0019】
ROM22は、CPU21に実行させる種々の処理、例えば、操作部1から出力された信号の処理、操作部1の操作に対応する音を音出力部3に発音させる制御などのプログラムを格納している。また、ROM22は、複数のパッド11に対応する各種の楽音を生成するための波形データを格納している。RAM23には、CPU21が各種の処理を実行する上において必要なデータなどが記憶されている。また、RAM23は、ROM22から読み出されたプログラムや、CPU21における処理の過程で生成されたデータを記憶する。
【0020】
図8を参照しながら、楽音発生指示装置の処理部として機能するCPU21の動作について説明すると、CPU21は、操作部1のパッド11から出力される電圧値(V
0)をモニタリングしており、
図8に示すように、操作部1のパッド11の押圧操作に対応して発生する電圧値V
0(押圧信号)のレベルがあらかじめ設定されている第1の閾値(VDET)を超えているか否か判別する第1の判別処理と、第1の判別処理により、電圧値V
0(押圧信号)のレベルが第1の閾値(VDET)を超えていると判別された後、音源(音出力部3)に対して楽音の発音を指示する発音指示処理と、を実行する。本実施形態における電子楽器MIは、操作部1のパッド11の押圧開始を検知する基準電圧値(VDET)を設定したことにより、ノイズによって操作部1のパッド11の押圧開始を誤検知することを防止している。
【0021】
また、楽音発生指示装置の処理部として機能するCPU21は、楽音の発音が指示された後に、電圧値V
0(押圧信号)のレベルがあらかじめ設定されている第2の閾値(VTH)を下回ったか否かを判別する第3の判別処理と、第3の判別処理により電圧値V
0(押圧信号)のレベルが第2の閾値(VTH)を下回ったと判別されていない状態において、電圧値V
0(押圧信号)のレベルの推移に、
図8(c)に示すように、極小値が出現したか否かを判別する第2の判別処理と、を実行する。
【0022】
例えば、極小値の判定は、現在の測定した電圧値V
0(押圧信号)とその直前に測定した電圧値V
0(押圧信号)とを比較して現在の測定した電圧値V
0(押圧信号)のほうがその直前に測定した電圧値V
0(押圧信号)より高い電圧値V
0(押圧信号)であることで判定することが可能である。
【0023】
そして、CPU21は、第2の判別処理により極小値が出現したと判別された後、発音されている楽音に対して、電圧値V
0(押圧信号)のレベルの推移に応じたアフタータッチ効果を付与するアフタータッチ処理を実行する。
【0024】
一方、第3の判別処理により、電圧値V
0(押圧信号)のレベルが第2の閾値(VTH)を下回ったと判別された場合、CPU21は、操作部1のパッド11の押圧終了を検知して、音源(音出力部3)に対して発音している楽音の消音を指示する消音指示処理を実行する。なお、上述の操作部1のパッド11の押圧開始を検知する基準電圧値(VDET)と、操作部1のパッド11の押圧終了を検知する基準電圧値(VTH)は、同じ電圧値に設定してもよいが、押圧終了時にはノイズによる影響が小さいため、基準電圧値(VTH)を基準電圧値(VDET)より低い電圧値に設定していることが好ましい。
【0025】
さらに、CPU21は、発音指示処理において、電圧値V
0(押圧信号)のレベルが第1の閾値(VDET)を超えていると判別された後、あらかじめ設定されている第1の時間(CV)が経過したか否かを判別する第4の判別処理を実行し、第4の判別処理により第1の時間が経過したタイミングに応答して、音源(音出力部3)に対して楽音の発音を指示する処理を実行する。
【0026】
CPU21は、発音指示処理において、電圧値V
0(押圧信号)のレベルが第1の閾値(VTH)を超えていると判別された後、第1の時間(CV)が経過するまでの間での電圧値V
0(押圧信号)のレベルの最大値(第1の時間が経過するまでの間のモニタリングした電圧値(V
0)の中の最大の電圧値(VMAX))を求めており、CPU21は、上述した楽音の発音を指示にする処理は、第1の時間(CV)が経過するまでの間での電圧値V
0(押圧信号)のレベルの最大値(VMAX)に対応した音量の楽音の発音を指示する処理として実行する。
【0027】
なお、この第1の時間が経過するまでの間での電圧値V
0(押圧信号)のレベルの最大値(VMAX)は、あくまでも第1の時間(CV)中での最大値であるため、第1の時間(CV)が経過した後にもさらにモニタリングし続けている電圧値(V
0)が高くなっていく状態にある場合がある。
【0028】
そうすると、現在の測定した電圧値V
0(押圧信号)とその直前に測定した電圧値V
0(押圧信号)とを比較したときに、現在の測定した電圧値V
0(押圧信号)のほうがその直前に測定した電圧値V
0(押圧信号)より高い電圧値V
0(押圧信号)となることになり、誤って極小値と判定されるおそれがある。つまり、後述するが、極小値を判断するアルゴリズムは取得した電圧値が前に取得した電圧値より、大きくなることを判断材料にしているため、誤認識が発生する恐れがある。
【0029】
そこで、この第1の時間(CV)が経過後も引き続き、電圧値V
0(押圧信号)の推移に極大値が現れることをモニタリングし、極小値の判定は、この極大値が検出された後の処理とするようにするのが好ましい。具体的には、極大値の判定は、現在の測定した電圧値V
0(押圧信号)とその直前に測定した電圧値V
0(押圧信号)とを比較して現在の測定した電圧値V
0(押圧信号)がその直前に測定した電圧値V
0(押圧信号)よりも低い電圧値V
0(押圧信号)となる瞬間が現れるのを検出することで行うことが可能である。
【0030】
また、CPU21は、アフタータッチ処理において、電圧値V
0(押圧信号)のレベルの推移に応じて発音している楽音の音量、音色及び音高の少なくともひとつを制御して音源(音出力部3)から発音される音にエフェクトを加える。本実施形態では、CPU21は、アフタータッチであると判断したときの電圧の極小値をエフェクトの基準値とし、モニタリングしている電圧値V
0(押圧信号)とエフェクトの基準値の差をエフェクトの度合いとして、音源(音出力部3)から発音される音にエフェクトを加える制御を行っている。
【0031】
一方、CPU21は、第3の判別処理により電圧値V
0(押圧信号)のレベルが第2の閾値(VTH)を下回ったと判別されていない状態において、電圧値V
0(押圧信号)のレベルの推移に極小値が出現したと判別されない場合、つまり、
図8(a)の「単押」や
図8(b)の「長押」の場合には、音にエフェクトを加えることなく、発音指示処理により発音の指示された楽音の発音を継続させる発音継続処理を実行する。そして、上述したように、第3の判別処理により、電圧値V
0(押圧信号)のレベルが第2の閾値(VTH)を下回ったと判別されると、CPU21は、操作部1のパッド11の押圧終了を検知して、音源(音出力部3)に対して発音している楽音の消音を指示する消音指示処理を実行する。
なお、
図8(c)に示す場合も発音している楽音の消音は第3の判別処理により、電圧値V
0(押圧信号)のレベルが第2の閾値(VTH)を下回ったと判別されることで行われる。
【0032】
このように、本実施形態における電子楽器MIでは、この押圧力の変化に応じた電圧値V
0(押圧信号)の推移に極小値を検知するという簡単な構成でアフタータッチを検出し、操作部1のパッド11におけるアフタータッチ機能を実現することができる。
【0033】
(音出力部)
音出力部3は、音を出力するスピーカ31と、デジタルシグナルプロセッサ32と、D/A変換部33と、パワーアンプ34と、を含む。スピーカ31は、パワーアンプ34とD/A変換部33を介してデジタルシグナルプロセッサ32に接続され、デジタルシグナルプロセッサ32はバス4を介して音制御部2に接続されている。音出力部3は、音制御部2において生成された発音データをアナログ波形信号にD/A変換し、パワーアンプ34を介してスピーカ31から出力する。
【0034】
本発明に係る電子楽器MIは、上述したように、操作部1の各パッド11を単押、長押又はアフタータッチ操作することにより、各パッド11に割り当てられた音を、パッド操作に応じて音出力部3のスピーカ31から出力する。本電子楽器MIは、従来のパッドでは実現できなかったアフタータッチ機能を備え、アフタータッチ検知後の押圧力の変化に応じてエフェクトを加えた発音をスピーカ31から出力することができる。本実施形態では、
図1に示すように、シンセサイザーなどの鍵盤楽器に電子楽器MIが組み込まれた場合を示しているが、本発明に係る電子楽器MIは、電子楽器MIの部分のみだけからなる楽器であってもよい。
【0035】
<電子楽器の動作>
以下、主に
図5から
図7を参照しながら、本実施形態における電子楽器MIの動作についてより具体的に説明する。
図5から
図7は、本実施形態における電子楽器MIの動作を示すフローチャートであり、より詳しくは、電子楽器MIの楽音発生指示装置の処理部として機能するCPU21の処理を示すフローチャートである。
【0036】
例えば、鍵盤楽器の電源ONを検出若しくは電源ONの状態で操作部1が操作されていない状態になると、
図5から
図7のフローが開始されることになる。フローが開始されると、ステップS10において、処理を行う上での変数(VAD,VMAX,VLMAX,VLMIN,CN1,CN2,CN3,CN4,CN5)の初期化が行われる。
【0037】
(押下検出)
先ず、
図5に示すステップS21からステップS24のループ処理において、電子楽器MIの楽音発生指示装置の処理部として機能するCPU21はパッド11の押下を検出する。例えば、音制御部2のROM22又はRAM23には、パッド11の押圧開始を検知するための基準電圧値(VDET)が予め設定されている。
【0038】
ステップS22において、CPU21は、A/D変換部12でA/D変換されて出力されるパッド11の圧力センサからの電圧値V
0を取得する。そして、ステップS23において、CPU21は、取得した電圧値V
0を変数VADに代入してRAM23に記憶する。
【0039】
ステップS24において、CPU21は、RAM23に記憶されている変数VADの電圧値V
0を基準電圧値VDETと比較する。電圧値V
0が基準電圧値VDETより大きいとき、CPU21は、パッド11の押下開始(押圧開始)を検知して、ステップS21からステップS24のループ処理を終了し、ステップS30で変数VMAXにステップS30に移行する直前の電圧値V
0を代入した後、ステップS41に移行する。
【0040】
一方、電圧値V
0が基準電圧値VDET以下のとき、CPU21は、パッド11の押下(押圧)が開始されていないと判断し、ステップS21からステップS24のループ処理を繰り返し実行する。この基準電圧値VDETは、ノイズによってパッド11の押下開始(押圧開始)を誤検知することのない電圧値に設定する。
【0041】
(ベロシティ検出)
次に、ステップS41からステップS48のループ処理において、CPU21は、あらかじめ設定されている第1の時間CVが経過するまでパッド11の電圧値V
0と変数VMAXの電圧値との比較を続け、取得したパッド11の電圧値V
0のほうが変数VMAXの電圧値より大きい場合には、変数VMAXの電圧値をその取得した電圧値V
0に置換えることで、変数VMAXに格納される電圧値が、それまでに取得した電圧値V
0の中で最も高い電圧値となる処理を行う。このようにして、第1の時間CVが経過するまでの間の電圧値V
0(押圧信号)のレベルの最大値を検出し、第1の時間(CV)が経過するまでの間の電圧値の最大値をベロシティに換算する。なお、その最大値をベロシティに換算するためのパラメータは、あらかじめROM22又はRAM23に記憶されている。
【0042】
具体的には、ステップS42において、CPU21は、クロック数をカウントし、ステップS43でそのカウントしたクロック数を変数CN1に加えた後、ステップS44で現在のパッド11の電圧値V
0を取得して、ステップS45でその取得した現在のパッド11の電圧値V
0をVADに代入してRAM23に記憶する。
【0043】
そして、ステップS46において、CPU21は、変数VMAXに記憶されている電圧値と変数VADに記憶されている現在のパッド11の電圧値V
0とを比較し、変数VMAXに記憶されている電圧値よりも現在のパッド11の電圧値V
0が高い電圧値であった場合(ステップS46「YES」)には、ステップS47に移行して、その高い電圧値である現在のパッド11の電圧値V
0を変数VMAXに代入してRAM23に記憶し、ステップS48に移行する。
【0044】
一方、変数VMAXに記憶されている電圧値のほうが高い電圧値であった場合(ステップS46「NO」)には、変数VMAXに記憶されている電圧値の書き換えを行わずに、そのままステップS48に移行する。
【0045】
ステップS48に移行すると、CPU21は、クロック数を記憶することで時間をカウントしている変数CN1とあらかじめ設定されている第1の時間CVとを比較し、あらかじめ設定されている第1の時間CVが経過したかを判定する。あらかじめ設定されている第1の時間CVを経過していなければ、CPU21は、ステップS42からステップS48の処理を実行する。つまり、第1の時間CVを経過するまで、ステップS42からステップS48の処理が繰り返し実行されることになる。したがって、第1の時間CVが経過するまでの間、変数VMAXはより高い電圧値を記憶するように更新され続ける。
【0046】
そして、ステップS48の判定が第1の時間CV経過の判定となり、ステップS50に移行するときには、第1の時間CVが経過するまでの間に取得したパッド11の電圧値V
0の中で最も高い電圧値が変数VMAXに格納されているので、ステップS50では、その変数VMAXに記憶されている第1の時間CVが経過するまでの間の電圧値V
0(押圧信号)のレベルの最大値に基づいて求められたベロシティに対応した大きさの音で発音を開始する。そして、発音を開始するとステップS61に移行する。
【0047】
(極大値判定)
次に、ステップS61からステップS67のループ処理において、CPU21は、パッド11から出力される電圧値V
0の推移が極大値を取ったことが確認されるまで、この極大値判定のループ処理を繰り返し、極大値が確認されると、
図6に示すステップS71からステップS78の「単押・長押・アフタータッチ分岐」のループ処理に移行する処理を行う。
【0048】
具体的には、ステップS62で変数VLMAXに変数VADに記憶されているステップS62に移行したときのパッド11の電圧値V
0を代入してRAM23に記憶する。ステップS62において、CPU21は、クロック数をカウントし、ステップS64でそのカウントしたクロック数を変数CN2に加えた後、ステップS65で現在のパッド11の電圧値V
0を取得して、ステップS66でその取得した現在のパッド11の電圧値V
0を変数VADに代入してRAM23に記憶する。
【0049】
続いて、ステップS67において、CPU21は、変数VLMAXに記憶されている電圧値と変数VADに記憶している現在のパッド11の電圧値V
0とを比較し、変数VLMAXに記憶されている電圧値のほうが現在のパッド11の電圧値V
0より低い場合は、極大値が現れていないため、再び、ステップS62からステップS67のループ処理を繰り返す。一方、変数VLMAXに記憶されている電圧値のほうが現在のパッド11の電圧値V
0より高い場合は、極大値を取った後の電圧値の低下が始まったことを意味するので、CPU21は、極大値を取ったことが確認できたものとして、
図6に示すステップS71に移行する。
【0050】
(単押・長押・アフタータッチ分岐)
次に、ステップS71からステップS78のループ処理において、CPU21は、パッド11の電圧値V
0の推移に極小値(
図8(c)参照)が現れるかを監視し、極小値を検出すると、CPU21は、アフタータッチに対応する処理を追加するためにステップS81に移行する。
【0051】
具体的には、ステップS72において、CPU21は変数VLMINに変数VADに記憶されているステップS72に移行したときのパッド11の電圧値V
0を代入してRAM23に記憶する。ステップS73において、CPU21は、クロック数をカウントし、ステップS74でそのカウントしたクロック数を変数CN3に加えた後、ステップS75で現在のパッド11の電圧値V
0を取得して、ステップS76でその取得した現在のパッド11の電圧値V
0を変数VADに代入してRAM23に記憶する。
【0052】
次に、CPU21は、ステップS77で変数VLMINに記憶されている電圧値と変数VADに記憶している現在のパッド11の電圧値V
0とを比較し、変数VLMINに記憶されている電圧値がADに記憶している現在のパッド11の電圧値V
0よりも高い電圧値である場合(ステップS77「NO」)には、ステップS78に移行し、さらに、VADに記憶している現在のパッド11の電圧値V
0がパッド11の押下終了(押圧終了)を検知するためのあらかじめ設定されている基準電圧値(VTH)を下回っていないかを確認する。
【0053】
そして、ステップS78において、VADに記憶している現在のパッド11の電圧値V
0が基準電圧値(VTH)よりも高い場合は、CPU21は、再び、ステップS72に戻って上述した一連の処理を行う。このように、ステップS77の判定が「YES」にならないまま、ステップS78において、VADに記憶している現在のパッド11の電圧値V
0が基準電圧値(VTH)を下回った場合には、CPU21は、
図7に示すステップS90の判定処理に移行する。
【0054】
なお、ステップS77の判定が「YES」にならないまま、
図7に示すステップS90の判定処理に移行する場合には、エフェクト処理が加わらないため、楽音の発音を継続させる発音継続処理が行われていることになり、単押の場合と長押の場合の違いは、単押では短い時間でパッド11の電圧値V
0が基準電圧値(VTH)を下回るため、ステップS72からステップS78の繰り返し回数が少なく、逆に、長押の場合には繰り返し回数が多くなる点である。
【0055】
一方、ステップS77において、変数VLMINに記憶されている電圧値がVADに記憶している現在のパッド11の電圧値V
0よりも低い場合(ステップS77「YES」)は、パッド11の電圧値V
0の推移が極小値(
図8(c)参照)取った後の電圧上昇の状態が現れたことを意味するので、ステップS77がYESの場合、CPU21は、アフタータッチ追加を行うためにステップS81に移行する。
【0056】
(アフタータッチ追加)
次に、ステップS81からステップS87において、CPU21は、パッド11のアフタータッチ操作に応じたエフェクトを加える処理を実行する。具体的には、ステップS82において、CPU21は、クロック数をカウントし、ステップS83でそのカウントしたクロック数を変数CN4に加えた後、ステップS84で変数VADに記憶されている現在のパッド11の電圧値V
0に対応したエフェクトを発音されている音に加える処理を行う。なお、本実施形態では、上述したように、このステップS84のエフェクトを加える処理は、アフタータッチであると判断したときの電圧の極小値をエフェクトの基準値とし、モニタリングしている電圧値V
0(押圧信号)とエフェクトの基準値の差をエフェクトの度合いとして、音源(音出力部3)から発音される音にエフェクトを加える制御を行っている。
【0057】
そして、ステップS84でエフェクトを加える処理を行うと、CPU21は、ステップS85で現在のパッド11の電圧値V
0を取得して、ステップS86でその取得した現在のパッド11の電圧値V
0を変数VADに代入してRAM23に記憶し、CPU21は、ステップS87で、そのVADに記憶した電圧値V
0がパッド11の押下終了(押圧終了)を検知するための基準電圧値(VTH)を下回っていないかを確認する。
【0058】
ステップS87でVADに記憶した電圧値V
0がパッド11の押下終了(押圧終了)を検知するための基準電圧値(VTH)より低い場合には、CPU21は、
図7に示すステップS90の判定処理に移行し、基準電圧値(VTH)より高い場合には、再び、ステップS82からステップS87の処理を行う。つまり、パッド11の現在の電圧値V
0が押下終了(押圧終了)を検知するための基準電圧値(VTH)を下回るまでの間、繰り返しパッド11の現在の電圧値V
0に基づくエフェクト処理が実行されることになる。したがって、発音されている楽音に対して、パッド11の電圧値V
0(押圧信号)のレベルの推移に応じたアフタータッチ効果を付与するアフタータッチ処理が実行されることになる。
【0059】
ステップS90に移行すると、CPU21は、これまで各ループ処理で時間カウントを記憶させてきた変数CN1からCN4までの合計(=CN1+CN2+CN3+CN4)が、あらかじめ設定されている発音持続時間CTを超えているかを判定する。この発音持続時間CTは、本実施形態においては、最低限の発音時間を保証するためのものであり、発音される楽音の音色・ベロシティによって定まる値である。例えば、パッド11の電圧値V
0(押圧信号)が、この発音持続時間CTを経過するよりも早くパッド11の押下終了(押圧終了)を検知するための基準電圧値(VTH)を下回ったときに、その押下終了(押圧終了)の検知に従って消音を行うと、発音時間があまりにも短く、発音が正しく行われていないように感じる場合がある。そこで、そのような場合でも発音が正しく行われたことを最低限認識できるだけの時間は発音を持続させるために設けられている判定がステップS90である。
【0060】
ステップS90において、時間カウントを記憶させてきた変数CN1からCN4までの合計(=CN1+CN2+CN3+CN4)が、発音持続時間CTを超えている場合(ステップS90「YES」)には、既にこれまでの処理の間に十分な発音時間が確保されていることになるので、CPU21はステップS91に移行し、音源(音出力部3)に対して楽音の消音を指示する消音指示処理を実行する。
【0061】
一方、時間カウントを記憶させてきた変数CN1からCN4までの合計(=CN1+CN2+CN3+CN4)が、発音持続時間CTを超えていない場合(ステップS90「NO」)には、CPU21は、ステップS111に移行し、発音開始からの発音時間が発音持続時間CTを超えるものとなるようにするために発音時間調整を実行する。
【0062】
(発音時間調整)
ステップS112において、CPU21は、クロック数をカウントし、ステップS113でそのカウントしたクロック数を変数CN5に加えた後、ステップS114で、時間カウントを記憶させてきた変数CN1からCN5までの合計(=CN1+CN2+CN3+CN4+CN5)が、発音持続時間CTを超えているかを判定し、発音持続時間CTを超えていない場合、再び、ステップS112に戻る。このように発音持続時間CTを超えるまで、この一連の処理が継続され、この間は発音が持続される。そして時間カウントを記憶させてきた変数CN1からCN5までの合計(=CN1+CN2+CN3+CN4+CN5)が、発音持続時間CTを超えると、ステップS91に移行し、CPU21は音源(音出力部3)に対して楽音の消音を指示する消音指示処理を実行する。
【0063】
以上のように、本発明に係る電子楽器MIによれば、パッド11の電圧値V
0(押圧信号)に極小値が現れるというアフタータッチ特有の現象をうまく利用することで簡単な構成でありながら、アフタータッチ機能を追加することができ、表現の幅を飛躍的に向上させることができる。
【0064】
以上、具体的な実施形態に基づいて本発明を説明したが、本発明の技術的範囲は上記実施形態に限定されないことは言うまでもない。具体的な上記実施形態に、多様な変更又は改良を加えることが可能であることは当業者にとって明らかであり、そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれるものであることは、特許請求の範囲の記載から明らかである。
また、本実施例はPADであったが、本発明はこれに限定されるものでない。例えば、楽器に加えられる加重によって電圧値が変化する楽器であれば、本発明が適用可能である。
さらに本実施形態においては、押圧信号のレベルが第1の閾値を超えると楽音の発音の指示を行い、第2の閾値を下回ると楽音の消音を指示するように構成されているが、押圧信号のレベルが第1の閾値に到達すると楽音の発音の指示を行い、また第2の閾値になると楽音の消音を指示するように構成してもよい。
【0065】
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
【0066】
[付記]
[請求項1]
操作部への押圧操作に対応して発生する押圧信号のレベルが第1の閾値を超えているか否か判別する第1の判別処理と、
前記第1の判別処理により、前記押圧信号のレベルが第1の閾値を超えていると判別された後、音源に対して楽音の発音を指示する発音指示処理と、
前記第1の判別処理により前記押圧信号のレベルが第1の閾値を越えていると判別されている状態において、前記押圧信号のレベルの推移に極小値が出現したか否かを判別する第2の判別処理と、
前記第2の判別処理により前記極小値が出現したと判別された後、前記発音されている楽音に対して、前記押圧信号のレベルの推移に応じたアフタータッチ効果を付与するアフタータッチ処理と、
を実行する処理部を有する楽音発生指示装置。
[請求項2]
前記処理部はさらに、前記楽音の発音が指示された後に、前記押圧信号のレベルが第2の閾値を下回ったか否かを判別する第3の判別処理と、前記第3の判別処理により、前記押圧信号のレベルが前記第2の閾値を下回ったと判別された場合、前記音源に対して前記発音している楽音の消音を指示する消音指示処理と、を実行する請求項1に記載の楽音発生指示装置。
[請求項3]
前記処理部は、前記発音指示処理において、
前記押圧信号のレベルが第1の閾値を超えていると判別された後、第1の時間が経過したか否かを判別する第4の判別処理を実行し、
前記第4の判別処理により前記第1の時間が経過したタイミングに応答して、前記音源に対して楽音の発音を指示する処理を実行する、請求項1または2に記載の楽音発生指示装置。
[請求項4]
前記処理部は、前記発音指示処理において、前記押圧信号のレベルが第1の閾値を超えていると判別された後、第1の時間が経過するまでの間での前記押圧信号のレベルの最大値に対応した音量の楽音の発音を指示する処理を実行する、請求項3に記載の楽音発生指示装置。
[請求項5]
前記処理部は、前記アフタータッチ処理において、前記押圧信号のレベルの推移に応じて前記発音している楽音の音量、音色及び音高の少なくともひとつを制御する、請求項1乃至4のいずれかに記載の楽音発生指示装置。
[請求項6]
前記処理部はさらに、前記第3の判別処理により前記押圧信号のレベルが前記第3の閾値を下回ったと判別されていない状態において、前記押圧信号のレベルの推移に極小値が出現したと判別されない場合は、前記発音指示処理により発音の指示された楽音の発音を継続させる発音継続処理を実行する、請求項2に記載の楽音発生指示装置。
[請求項7]
楽音発生指示装置に用いられる楽音発生指示方法であって、前記楽音発生指示装置が、
操作部への押圧操作に対応して発生する押圧信号のレベルが第1の閾値を超えているか否か判別し、
前記押圧信号のレベルが第1の閾値を超えていると判別された後、音源に対して楽音の発音を指示し、
前記押圧信号のレベルが第1の閾値を越えていると判別されている状態において、前記押圧信号のレベルの推移に極小値が出現したか否かを判別し、
前記極小値が出現したと判別された後、前記発音されている楽音に対して、前記押圧信号のレベルの推移に応じたアフタータッチ効果を付与する、楽音発生指示方法。
[請求項8]
楽音発生指示装置として用いられるコンピュータに、
操作部への押圧操作に対応して発生する押圧信号のレベルが第1の閾値を超えているか否か判別し、
前記押圧信号のレベルが第1の閾値を超えていると判別された後、音源に対して楽音の発音を指示するステップと、
前記押圧信号のレベルが第1の閾値を越えていると判別されている状態において、前記押圧信号のレベルの推移に極小値が出現したか否かを判別するステップと、
前記極小値が出現したと判別された後、前記発音されている楽音に対して、前記押圧信号のレベルの推移に応じたアフタータッチ効果を付与するステップと、
を実行させるプログラム。
[請求項9]
請求項1に記載の楽音発生指示装置と、
押圧操作に対応するレベルの押圧信号を出力する操作部と、
前記楽音発生指示装置からの楽音の発生の指示に応答して楽音を発生する音源と、
を有する電子楽器。
[請求項10]
前記操作部は、一対の電極を有するカーボン印刷が施された基板と、カーボンのベタ印刷が施された導電シートと、複数のキーボタンを連設したラバーキーとを、下から上に積層してなる、請求項9に記載の電子楽器。
[請求項11]
前記操作部は、前記操作部に対する押圧操作により、前記基板上の一対の電極間が前記導電シートのベタ印刷のカーボンによって導通された状態となるとともに、前記押圧操作の押圧力の変化に応じて、前記一対の電極と前記ベタ印刷のカーボンとの接触面積を変化させることにより、前記押圧力に応じてレベルの変化する押圧信号を出力する、請求項10に記載の電子楽器。