以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、本発明の一実施の形態に係る電子鍵盤楽器の概略構成を示すブロック図である。
同図に示すように、本実施の形態の電子鍵盤楽器は、演奏情報を入力するための鍵盤1と、各種情報を入力するための複数のスイッチやホイール、ジョイスティックを含むパネル操作子2と、鍵盤1およびパネル操作子2の操作状態を検出する操作インターフェース(I/F)3と、装置全体の制御を司るCPU4と、該CPU4が実行する制御プログラムや、各種テーブルデータ等を記憶するROM5と、楽曲データ、各種入力情報および演算結果等を一時的に記憶するRAM6と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ7と、各種情報等を表示する、たとえば液晶ディスプレイ(LCD)および発光ダイオード(LED)等を備えた表示装置8と、前記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ、各種データ等を記憶する外部記憶装置9と、外部MIDI(Musical Instrument Digital Interface)機器等の外部機器100を接続し、この外部機器100とデータの送受信を行う通信インターフェース(I/F)10と、鍵盤1から入力された演奏情報や予め設定された楽曲データ等をオーディオ信号に変換する音源回路11と、該音源回路11からのオーディオ信号に各種効果を付与するための効果回路12と、該効果回路12からのオーディオ信号を音響に変換する、たとえば、DAC(Digital-to-Analog Converter)やアンプ、スピーカ等のサウンドシステム13とにより構成されている。
上記構成要素3〜12は、バス14を介して相互に接続され、CPU4にはタイマ7が接続され、通信I/F10には外部機器100が接続され、音源回路11には効果回路12が接続され、効果回路12にはサウンドシステム13が接続されている。ここで、通信I/F10は、有線方式のものに限らず、無線方式のものであってもよい。また、両方式のものを備えていてもよい。
外部記憶装置9としては、たとえば、フレキシブルディスクドライブ(FDD)、ハードディスクドライブ(HDD)、CD−ROMドライブおよび光磁気ディスク(MO)ドライブ等を挙げることができる。そして、外部記憶装置9には、前述のように、CPU4が実行する制御プログラムも記憶でき、ROM5に制御プログラムが記憶されていない場合には、この外部記憶装置9に制御プログラムを記憶させておき、それをRAM6に読み込むことにより、ROM5に制御プログラムを記憶している場合と同様の動作をCPU4にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
通信I/F10には、図示例では、外部機器100が接続されているが、これに限られず、たとえばLAN(Local Area Network)やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、外部記憶装置9に上記各プログラムや各種パラメータが記憶されていなければ、通信I/F10は、サーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなる電子鍵盤楽器は、通信I/F10および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介して電子鍵盤楽器へと配信し、電子鍵盤楽器が通信I/F10を介して、これらプログラムやパラメータを受信して外部記憶装置9に蓄積することにより、ダウンロードが完了する。
音源回路11は、本実施の形態では、波形メモリ方式のものを採用している。しかし、これに限らず、FM(frequency modulation)方式、物理モデル方式、高調波合成方式、フォルマント合成方式、VCO(voltage controlled oscillator)+VCF(voltage controlled filter)+VCA(voltage controlled amplifier)のアナログシンセサイザ方式、アナログシミュレーション方式など、どのような方式のものを採用してもよい。また、専用のハードウェアを用いて音源回路を構成してもよいし、DSP(digital signal processor)+マイクロプログラムを用いて音源回路を構成してもよいし、CPU+ソフトウェアのプログラムで音源回路を構成してもよいし、さらに、これらの組み合わせでもよい。また、1つの回路を時分割で使用して複数の発音チャンネルを形成してもよいし、1つの発音チャンネルを1つの回路で形成してもよい。
図2は、本実施の形態の電子鍵盤楽器の平面図((a))とn番目の鍵である白鍵近傍の断面図((b))を示している。
図2(a)に示すように、本実施の形態の電子鍵盤楽器の外観は、一般的なポータブルキーボードのそれと変わらず、主として、鍵盤1と、パネル操作子2、LCD8aおよび左右スピーカ13a,13b等を備えたパネル面とによって構成されている。
各鍵の下方には、2つのスイッチが上下(ここで、ユーザから遠い方が「上」であり、ユーザに近い方が「下」である)に並んで設けられている。n番目の鍵Kn(“n”は、“1”から鍵盤1の全鍵数までのいずれかの整数値を採り得る)の下方の基板上には、図2(b)に示すように、上側スイッチUSWnおよび下側スイッチLSWnが設けられている。上側スイッチUSWnおよび下側スイッチLSWnはいずれも、鍵Knの、たとえばハンマに設けられたスイッチ駆動部によって駆動される。そして、上側スイッチUSWnは、鍵Knがユーザによって位置P1まで押下されたときに、オフ状態からオン状態に切り替わり、下側スイッチLSWnは、鍵Knがユーザによって上記位置P1より深い位置P2まで押下されたときに、オフ状態からオン状態に切り替わる。つまり、上側スイッチUSWnおよび下側スイッチLSWnによって、接点時間差タイプの2メイク式タッチレスポンススイッチが構成されている。なお、図2(b)には、上側スイッチUSWnおよび下側スイッチLSWnを駆動する構造が描かれていないが、これは、本発明では、単に接点時間差タイプのスイッチでユーザの押鍵状態を検出することが分かればよいからである。つまり、このような接点時間差タイプのスイッチを駆動する構造自体に、本発明の特徴がある訳ではないので、どのような構造のもので駆動してもよいという趣旨である。
また、各鍵の表面上の一部には、ユーザの、たとえば指が触れた位置を検出するタッチセンサが設けられている。したがって、鍵Knの表面上の一部にも、図2(b)に示すように、タッチセンサTSnが設けられている。
以上のように構成された電子鍵盤楽器が実行する制御処理を、まず図3を参照してその概要を説明し、次に図4〜図9を参照して詳細に説明する。
図3は、鍵Knの平面図((a))とタッチセンサTSnの拡大図((b))を示している。
本実施の形態の電子鍵盤楽器では、ユーザがある鍵に触れると、その鍵上のタッチ位置が前記操作I/F3を介して検出される。たとえば図3(b)に示すように、ユーザが鍵Knを押下すると、前記CPU4は、上側スイッチUSWnがオフ状態からオン状態に切り替わったときに、タッチセンサTSnから出力されるタッチ位置情報TP1nを検出し、その後、下側スイッチLSWnがオフ状態からオン状態に切り替わったときに、タッチセンサTSnから出力されるタッチ位置情報TP2nを検出する。
次にCPU4は、モード1〜3の3種類の動作モードのうち、現在ユーザが選択しているモードに応じて、鍵Knに対応する発音時の楽音波形を発生させるために必要な複数の楽音パラメータを決定し、前記音源回路11に供給する。これにより、音源回路11は、供給された楽音パラメータに基づいて楽音波形信号を生成し、前記効果回路12に出力する。各動作モードは、楽音パラメータを決定する際に参照する情報の種類と対応付けられており、本実施の形態では、モード番号が大きくなるに従って、より多くの種類の情報が参照され、これに基づいて楽音パラメータが決定されるようになっている。ここで、参照される情報の種類には、現在の機器の設定状態、上側スイッチUSWnがオン状態になってから下側スイッチLSWnがオン状態になるまでの経過時間に基づいて算出されるベロシティVELn、前記タッチ位置情報TP1nおよびタッチ位置情報TP2nが含まれる。なお、楽音パラメータの決定方法については、後述する。
楽音の発音中には、CPU4は、タッチセンサTSnから出力されるタッチ位置情報を常時検出し、検出したタッチ位置情報の履歴からタッチ位置情報の変化量を算出する。そして、モード3が選択されているときに、タッチ位置情報が変化した場合には、CPU4は、その変化量に基づいて効果パラメータを決定し、これを効果回路12に供給する。効果回路12は、供給された効果パラメータに応じた効果信号を生成し、これを音源回路11からの楽音波形信号に付与する。これにより、サウンドシステム13からは、検出されたタッチ位置情報の変化量に応じた効果が付与された楽音が発生する。なお、モード1および2が選択されているときには、タッチ位置情報が変化したとしても、CPU4はその変化量に基づいた効果パラメータの決定処理を行わないので、現在発音中の楽音に対して、タッチ位置情報の変化量に応じた効果は付与されない。
さらに、ユーザが鍵Knの離鍵を開始すると、CPU4は、上側スイッチUSWnがオン状態からオフ状態に切り替わったときに、タッチセンサTSnから出力されるタッチ位置情報TP3nを検出する。次にCPU4は、選択されている動作モード(前記モード1〜3のいずれか)に応じて、鍵Knに対応する消音時の楽音波形を発生させるために必要な複数の楽音パラメータを決定し、前記音源回路11に供給する。これにより、音源回路11は、供給された楽音パラメータに基づいて楽音波形信号を生成し、前記効果回路12に出力する。各動作モードは、楽音パラメータを決定する際に参照する情報の種類と対応付けられており、本実施の形態では、モード番号が大きくなるに従って、より多くの種類の情報が参照され、これに基づいて楽音パラメータが決定されるようになっている。ここで、参照される情報の種類には、現在の発音状態、前記タッチ位置情報TP3n、および下側スイッチLSWnがオフ状態になってから上側スイッチUSWnがオフ状態になるまでの経過時間に基づいて算出されるリリース情報RELnが含まれる。なお、楽音パラメータの決定方法については、後述する。
そして、複数の鍵が同時に押離鍵されている場合には、“n”を該当鍵の番号に順次変更しながら、上記制御処理を繰り返し適用して行く。
このように、本実施の形態では、鍵毎に発音開始前に検出した、ユーザの鍵上のタッチ位置に基づいて、発音時の楽音波形を発生させるために必要な楽音パラメータを決定するようにしたので、簡単な操作で、鍵毎に発音開始時からユーザの操作状態に応じて楽音特性の変更された楽音を発音することができる。また、ユーザが選択したモードに応じて、発音時または消音時の楽音波形を発生させるために必要な楽音パラメータを決定する際に参照する情報の種類を変動させるようにしたので、ユーザの鍵に対する操作状態を楽音特性の変更にどの程度反映させるかを、ユーザの思い通り制御することができる。さらに、消音時にも、ユーザの鍵上のタッチ位置に基づいて楽音波形を発生させるために必要な楽音パラメータを決定するようにしたので、消音時の楽音に対しても、さらに多様な表現を付与して発音させることができる。
次に、この制御処理を詳細に説明する。
図4は、本実施の形態の電子鍵盤楽器、特にCPU4が実行するメインルーチンの手順を示すフローチャートである。
本メインルーチンは、主として、
(1)初期化処理(ステップS1)
(2)パネル設定処理(ステップS3〜S5)
(3)演奏処理(ステップS6)
(4)発音処理(ステップS7)
を行う。
上記(1)の初期化処理では、CPU4は、RAM6をクリアしたり、各種パラメータの値をデフォルト値に設定したりする等の初期設定を行う。
上記(2)のパネル設定処理へは、ユーザがパネル操作子2のいずれかを操作したときに移行する。この(2)パネル設定処理では、モード設定処理(ステップS4)と、それ以外の設定処理(ステップS5)がなされる。ユーザが、たとえばパネル操作子2内に設けられた、前記モード1〜3のそれぞれを指定するためのモード指定操作子(図示せず)のいずれかを操作すると、CPU4は、処理をステップS2→S3→S4と進め、そのモード指定操作子を用いてユーザが指示した(入力した)モードを設定する。一方、ユーザがモード指定操作子以外のパネル操作子2を操作したときには、CPU4は、処理をステップS2→S3→S5と進め、その操作子を用いてユーザが指示した(入力した)内容を設定する。なお、パネル操作子2には、モード指定操作子以外にも数多くの操作子があり、それらの操作子を用いて設定される内容も数多くある。そのような状況の中で、モードの設定を抜き出し、その他の設定を一括して記載したのは、前述のように、モードと楽音パラメータを決定する際に参照する情報の種類とが密接に関連しているので、モードの設定が本発明を説明する上で非常に重要なことだからである。
前記(3)の演奏処理では、CPU4は、ユーザの各鍵に対する操作状態を検出し、押鍵または離鍵のいずれかが検出されると、選択されたモードおよび検出された操作状態に応じて楽音パラメータを決定し、これを音源回路11に供給する。なお、この(3)演奏処理の詳細については、図5〜図9を用いて後述する。
前記(4)の発音処理では、CPU4は、音源回路11から楽音信号を発生させようとするタイミングで、音源回路11に対して発音を指示する(キーオン信号を供給する)一方、音源回路11から発生中の楽音信号を消音させようとするタイミングで、音源回路11に対して消音を指示する(キーオフ信号を供給する)。
このように本実施の形態では、(3)演奏処理で、発音または消音させたい楽音を生成するために必要な楽音パラメータの決定と、この楽音パラメータの音源回路11への供給を行い、その楽音の発音または消音の指示は(4)発音処理で行うようにしたが、これに限らず、その楽音の発音または消音の指示まで(3)演奏処理内で行うようにしてもよい。
図5および図6は、前記(3)演奏処理の詳細な手順を示すフローチャートである。
本演奏処理では、各鍵Knに対応する上側スイッチUSWnおよび下側スイッチLSWnのオン/オフ状態を5つに場合分けし、各場合に対して、次のような処理を行っている。
(11)上側スイッチUSWnがオフ状態からオン状態に切り替わった場合:CPU4は、まずタイマTIMEnの計時を開始し(図5のステップS11→S12→S13)、次にタッチセンサTSnからの出力を検出し、これをタッチ位置情報TP1nとして、前記RAM6の所定位置に確保された第1のタッチ位置情報格納領域に記憶する(ステップS14)。ここで、タイマTIMEnは、上側スイッチUSWnがオンされてから下側スイッチLSWnがオンされるまでの時間を計時するために前記RAM6の所定位置に確保されたソフトウェアタイマ(カウンタ)である。タイマTIMEnのカウントアップは、前記タイマ7が所定時間(たとえば、0.1msec)を計時したときに発生するタイマ割り込み処理(図示せず)中で行うようにすればよい。なお、タイマTIMEnの計時時間は、後述するように、ベロシティ情報VELnを得るために使用される。
(12)上側スイッチUSWnがオン状態&(かつ)下側スイッチLSWnがオフ状態からオン状態に切り替わった場合:この場合、CPU4は、現在選択されているモードに応じて、鍵Knに対応する発音時の楽音波形を発生させるために必要な複数の楽音パラメータを決定し、前記音源回路11に供給する。具体的には、CPU4は、まずタイマTIMEnの値をベロシティ情報VELnに変換し(図5のステップS11→S12→図6のステップS15→S16)、次にタイマTIMEnをクリアし(ステップS17)、さらにタッチセンサTSnからの出力を検出し、これをタッチ位置情報TP2nとして、RAM6の所定位置に確保された第2のタッチ位置情報格納領域に記憶する(ステップS18)。そしてCPU4は、検出した情報に基づいて、発音に向けての楽音パラメータを決定する(ステップS19)。この楽音パラメータを決定する際に参照される情報の種類は、ユーザが選択したモードに応じて、次のように変動する。すなわち、
モード1:現在の機器(つまり、本実施の形態の電子鍵盤楽器)の設定状態およびベロシティ情報VELn
モード2:現在の機器の設定状態、ベロシティ情報VELnおよびタッチ位置情報TP2n
モード3:現在の機器の設定状態、ベロシティ情報VELn、タッチ位置情報TP1nおよびタッチ位置情報TP2n
のように変動する。ここで、決定される楽音パラメータの種類は、主として、発音させる楽音波形の楽音波形サンプル、エンベロープおよび音量をそれぞれ指定するものである。以下、楽音パラメータを決定する方法について説明する。
図8(a)は、一般的な楽音波形の形状を示す図である。同図(a)に示すように、楽音波形は、一般的に、アタック部、サスティーン部およびリリース部によって構成されている。上記決定される楽音パラメータは、全楽音波形のうち、キーオン時に発生させる楽音波形、つまりアタック部とサスティーン部からなる楽音波形を生成するためのものである。
モード1が選択されている場合、まずCPU4は、現在の機器の設定状態に基づいて、アタック部とサスティーン部の各楽音波形サンプルを指定する楽音パラメータである、波形サンプル指定パラメータを決定する。ここで、現在の機器の設定状態とは、現在機器に設定されているすべての状態のうち、波形サンプル指定パラメータを決定可能なもの、典型的には、鍵盤1の全体または各鍵域に対して割り当てられた(設定された)音色である。次にCPU4は、現在の機器の設定状態に基づいて、アタック部とサスティーン部の各エンベロープを指定する楽音パラメータである、エンベロープ指定パラメータを決定する。通常のエンベロープは、それを付加する楽音波形サンプルが決まれば、一意的に決まるので、エンベロープ指定パラメータを決定するに際して参照される現在の機器の設定状態は、典型的には、上記音色である。さらにCPU4は、前記ベロシティ情報VELnに基づいて、アタック部とサスティーン部の各音量(ベロシティ)を指定する楽音パラメータである、音量指定パラメータを決定する。このとき、ベロシティ情報VELnの値をそのまま音量指定パラメータの値としてもよい場合には、ベロシティ情報VELnを音量指定パラメータに決定すればよいが、ベロシティ情報VELnの値をスケーリングする必要がある場合には、ベロシティ情報VELnの値をスケーリングした結果を、音量指定パラメータの値に決定する。そしてCPU4は、このようにして決定した複数の楽音パラメータ、すなわち、波形サンプル指定パラメータ、エンベロープ指定パラメータおよび音量指定パラメータを音源回路11に供給する。音源回路11は、CPU4から供給された各楽音パラメータを対応するレジスタに格納し、CPU4からキーオン信号が供給されると、レジスタ内の各楽音パラメータに基づいて楽音信号を生成する。これにより、音源回路11からは、図8(a)のようなアタック部およびサスティーン部からなる楽音信号が生成されて、前記効果回路12に供給される。
モード2が選択されている場合も、モード1が選択されている場合と同様に、CPU4は、波形サンプル指定パラメータ、エンベロープ指定パラメータおよび音量指定パラメータの各楽音パラメータを決定する。まず、波形サンプル指定パラメータを決定するに際してCPU4は、現在の機器の設定状態に加えてタッチ位置情報TP2nも参照する。これにより、CPU4にとっては、波形サンプル指定パラメータを決定するときの自由度(選択幅)が増大する。つまり、現在の機器の設定状態のみに基づいて波形サンプル指定パラメータを決定する場合には、現在の機器の設定状態のうち、参照すべき一部の状態(本実施の形態では、音色)が決まれば、それに応じて楽音波形サンプル(アタック部とサスティーン部の各楽音波形サンプル)が一意的に決まり、その結果、この楽音波形サンプルを指定する波形サンプル指定パラメータが決まる。これに対して、現在の機器の設定状態とタッチ位置情報TP2nに基づいて波形サンプル指定パラメータを決定する場合には、現在の機器の設定状態のうち、参照すべき一部の状態が決まることで、楽音波形サンプル群が一意的に決まり、さらにその楽音波形サンプル群の中から、タッチ位置情報TP2nに応じた1つの楽音波形サンプルを選択することができる。ここで、タッチ位置情報TP2nに応じた1つの楽音波形サンプルを選択する方法としては、たとえば図3(b)に示すように、タッチセンサTSnを奥行き方向に3つの領域に分割し、ユーザがいずれの領域を触れているかによって、1つの楽音波形サンプルを選択する方法が考えられる。なお、タッチセンサTSnを分割する個数や態様は、ユーザがその分割状況を容易に確認でき、かつ操作性を阻害するものでなければ、どのようなものを採用してもよい。
次に、エンベロープ指定パラメータを決定するに際してCPU4は、現在の機器の設定状態に加えてタッチ位置情報TP2nも参照する。図8(b)は、アタック部のエンベロープとして指定可能な候補の一例を示す図である。前述のように、現在の機器の設定状態のみに基づいてエンベロープ指定パラメータを決定する場合には、現在の機器の設定状態に対応してエンベロープが1つ決まり、エンベロープ指定パラメータは、そのエンベロープを指定するものに決定されるので、図8(b)のような複数のエンベロープ候補は必要ない。これに対して、現在の機器の設定状態とタッチ位置情報TP2nに基づいてエンベロープ指定パラメータを決定する場合には、CPU4は、まず現在の機器の設定状態に基づいて、図8(b)のような複数のエンベロープ候補を決定し、次にそのエンベロープ候補の中から、タッチ位置情報TP2nに応じた1つのエンベロープを決定し、このエンベロープを指定するエンベロープ指定パラメータを決定する。ここで、タッチ位置情報TP2nに応じた1つのエンベロープを決定する方法としては、タッチ位置情報TP2nに応じた1つの楽音波形サンプルを決定する前記方法と同様の方法を採用すればよい。
なお、音量指定パラメータを決定する処理は、モード1が選択されている場合と同様であるので、その説明は省略する。
CPU4は、このようにして決定した波形サンプル指定パラメータ、エンベロープ指定パラメータおよび音量指定パラメータを音源回路11に供給する。これ以降の処理も、モード1が選択されている場合と同様であるので、その説明は省略する。
モード3が選択されている場合も、CPU4は、波形サンプル指定パラメータ、エンベロープ指定パラメータおよび音量指定パラメータの各楽音パラメータを決定する。このモード3が選択されている場合は、モード2が選択されている場合に比べて、波形サンプル指定パラメータおよびエンベロープ指定パラメータを決定するときの自由度はさらに増大する。これは、両楽音パラメータを決定するに際してCPU4は、現在の機器の設定状態およびタッチ位置情報TP2nに加えてタッチ位置情報TP1nも参照するからである。したがって、本実施の形態では、モード3が選択されている場合には、1つの押鍵操作に応じて複数の異なった音色(たとえば、2種類の音色)の楽音波形を生成するための楽音パラメータを決定するようにしている。図9は、1つの押鍵操作に応じて発生させる2種類の音色の楽音波形の一例を示す図である。同図の楽音波形A1を生成するために、CPU4は、モード2が選択されている場合と同様に、現在の機器の設定状態およびタッチ位置情報TP2nに基づいて、楽音波形A1のアタック部とサスティーン部の各楽音波形サンプルおよび各エンベロープをそれぞれ指定する第1の波形サンプル指定パラメータおよび第1のエンベロープ指定パラメータを決定する。一方、同図の楽音波形A2を生成するために、CPU4は、現在の機器の設定状態およびタッチ位置情報TP1nに基づいて、楽音波形A2のアタック部とサスティーン部の各楽音波形サンプルおよび各エンベロープをそれぞれ指定する第2の波形サンプル指定パラメータおよび第2のエンベロープ指定パラメータを決定する。なお、音量指定パラメータを決定する処理は、モード1が選択されている場合と同様であるので、その説明は省略する。CPU4は、このようにして決定した第1および第2の波形サンプル指定パラメータ、第1および第2のエンベロープ指定パラメータ、および音量指定パラメータを音源回路11に供給する。これ以降の処理も、モード1が選択されている場合と同様であるので、その説明は省略する。
(13)上側スイッチUSWnがオン状態&下側スイッチLSWnがオン状態である場合:この場合は、鍵Knの押鍵に応じて上記(12)で決定した楽音パラメータが音源回路11に供給され、音源回路11から楽音が発音されている状態なので、CPU4は、まずユーザの鍵Kn上のタッチ位置の変化VTPnを取得し(ステップS25→S26)、次に選択されているモードおよび取得した変化VTPnに応じて、発音する(または発音中の)楽音に付加する効果を示す効果パラメータを決定し、これを前記効果回路12に供給する(ステップS27)。
図7は、ユーザの鍵Kn上のタッチ位置の変化VTPnを取得する処理である、相対位置の変化VTPnの取得処理の詳細な手順を示すフローチャートである。CPU4は、処理をこの相対位置の変化VTPnの取得処理に進めると、まずタッチセンサTSnから出力されるタッチ位置情報を検出し、今回のタッチ位置情報CTPnとして取得する(ステップS41)。次にCPU4は、前回のタッチ位置情報PTPnと今回のタッチ位置情報CTPnとの差分を算出し、これを変化VTPnとする(ステップS42)。さらにCPU4は、今回のタッチ位置情報CTPnで前回のタッチ位置情報PTPnを更新する(ステップS43)。このようにして、相対位置の変化VTPnの取得処理が起動される度に、ユーザの鍵Kn上のタッチ位置の変化VTPnが取得される。
CPU4は、選択中のモードおよび取得した変化VTPnに基づいて、次のようにして効果パラメータを決定する。すなわち、モード1および2のうちのいずれかが選択されている場合には、CPU4は、効果パラメータを決定しない。したがって、この場合には、ユーザが鍵Kn上のタッチ位置をどのように変化させたとしても、発音する(または発音中の)楽音には、この変化に応じた効果が施されない。一方、モード3が選択されている場合には、CPU4は、取得した変化VTPnに応じて、発音する(または発音中の)楽音に付加すべき効果を示す効果パラメータを決定し、これを効果回路12に供給する。ここで、楽音に付加すべき効果としては、フィルタ効果、振幅効果および周波数効果などを挙げることができる。フィルタ効果とは、たとえば、楽音信号をローパスフィルタに通すことで、楽音信号の低域の周波数成分を強調したり、これとは逆に、楽音信号をハイパスフィルタに通すことで、楽音信号の高域の周波数成分を強調したりする楽音効果である。取得した変化VTPnは、ローパスフィルタまたはハイパスフィルタのフィルタ特性を変更するときに参照するようにすればよい。振幅効果とは、音源回路11から出力された楽音信号の振幅を変更することによる楽音効果である。取得した変化VTPnは、その値の大きさに応じて振幅の大きさを変更するというように用いればよい。周波数効果とは、音源回路11から出力された楽音信号のピッチを変化させることによる楽音効果である。取得した変化VTPnは、その値に応じてピッチの変化量を決定するというように用いればよい。
(14)上側スイッチUSWnがオン状態&下側スイッチLSWnがオン状態からオフ状態に切り替わった場合:この場合は、ユーザが鍵Knに対する離鍵を開始してから間もない状態であり、CPU4は、タイマTIMEnの計時を開始する(ステップS21)。
(15)下側スイッチLSWnがオフ状態&上側スイッチUSWnがオン状態からオフ状態に切り替わった場合:この場合、CPU4は、現在選択されているモードに応じて、鍵Knに対応する消音時の楽音波形を発生させるために必要な複数の楽音パラメータを決定し、音源回路11に供給する。具体的には、CPU4は、まずタッチセンサTSnからの出力を検出し、これをタッチ位置情報TP3nとして、RAM6の所定位置に確保された第3のタッチ位置情報格納領域に記憶し(ステップS23)、次にタイマTIMEnの値をリリース情報RELnに変換し(ステップS24)、さらにタイマTIMEnをクリアする(ステップS25)。そしてCPU4は、検出した情報に基づいて、消音に向けての楽音パラメータを決定する。この楽音パラメータを決定する際に参照される情報の種類は、ユーザが選択したモードに応じて、次のように変動する。すなわち、
モード1:現在の発音状態
モード2:現在の発音状態およびタッチ位置情報TP3n
モード3:現在の発音状態、タッチ位置情報TP3nおよびリリース情報RELn
のように変動する。ここで、決定される楽音パラメータの種類は、主として、消音させる楽音波形の楽音波形サンプルおよびエンベロープである。以下、楽音パラメータを決定する方法について、前記図8(a)の楽音波形を参照して説明する。
上記決定される楽音パラメータは、全楽音波形のうち、キーオフ時に発生させるリリース部の楽音波形を生成するためのものである。
モード1が選択されている場合、まずCPU4は、現在の発音状態に基づいて、消音させる楽音の楽音波形サンプル(リリース部の楽音波形サンプル)を指定する波形サンプル指定パラメータを決定する。ここで、現在の発音状態とは、典型的には、現在発音中の楽音の音色である。次にCPU4は、現在の発音状態に基づいて、リリース部のエンベロープを指定するエンベロープ指定パラメータを決定する。リリース部のエンベロープは通常、それを付加する楽音波形サンプルおよびキーオフ時のベロシティの値が決まれば、一意的に決まるので、エンベロープ指定パラメータを決定するに際して参照される現在の発音状態は、典型的には、上記音色およびキーオフ時のベロシティ値である。そしてCPU4は、このようにして決定した楽音パラメータ、すなわち、波形サンプル指定パラメータおよびエンベロープ指定パラメータを音源回路11に供給する。音源回路11は、CPU4から供給された各楽音パラメータを対応するレジスタに格納し、CPU4からキーオフ信号が供給されると、レジスタ内の各楽音パラメータに基づいて楽音信号を生成する。これにより、音源回路11からは、図8(a)のようなリリース部の楽音信号が生成されて、前記効果回路12に供給される。
モード2が選択されている場合も、モード1が選択されている場合と同様に、CPU4は、波形サンプル指定パラメータおよびエンベロープ指定パラメータの各楽音パラメータを決定する。まず、波形サンプル指定パラメータを決定するに際してCPU4は、現在の発音状態に加えてタッチ位置情報TP3nも参照する。これにより、CPU4は、波形サンプル指定パラメータを決定するときの自由度(選択幅)を増大させることができる。つまり、現在の発音状態のみに基づいて波形サンプル指定パラメータを決定する場合には、現在の発音状態のうち、参照すべき一部の状態(本実施の形態では、音色)が決まれば、それに応じて楽音波形サンプル(リリース部の楽音波形サンプル)が一意的に決まり、その結果、この楽音波形サンプルを指定する波形サンプル指定パラメータが決まる。これに対して、現在の発音状態とタッチ位置情報TP3nに基づいて波形サンプル指定パラメータを決定する場合には、現在の発音状態のうち、参照すべき一部の状態が決まることで、楽音波形サンプル群が一意的に決まり、さらにその楽音波形サンプル群の中から、タッチ位置情報TP3nに応じた1つの楽音波形サンプルを選択することができる。ここで、タッチ位置情報TP3nに応じた1つの楽音波形サンプルを選択する方法としては、タッチ位置情報TP1nに応じた1つの楽音波形サンプルを選択する前記方法を用いればよい。
次に、エンベロープ指定パラメータを決定するに際してCPU4は、現在の発音状態に加えてタッチ位置情報TP3nも参照する。図8(c)は、リリース部のエンベロープとして指定可能な候補の一例を示す図である。前述のように、現在の発音状態のみに基づいてエンベロープ指定パラメータを決定する場合には、現在の発音状態に対応してエンベロープが1つ決まり、エンベロープ指定パラメータは、そのエンベロープを指定するものに決定されるので、図8(c)のような複数のエンベロープ候補は必要ない。これに対して、現在の発音状態とタッチ位置情報TP3nに基づいてエンベロープ指定パラメータを決定する場合には、CPU4は、まず現在の発音状態に基づいて、図8(c)のような複数のエンベロープ候補を決定し、次にそのエンベロープ候補の中から、タッチ位置情報TP3nに応じた1つのエンベロープを決定し、このエンベロープを指定するエンベロープ指定パラメータを決定する。
CPU4は、このようにして決定した波形サンプル指定パラメータおよびエンベロープ指定パラメータを音源回路11に供給する。これ以降の処理は、モード1が選択されている場合と同様であるので、その説明は省略する。
モード3が選択されている場合も、CPU4は、波形サンプル指定パラメータおよびエンベロープ指定パラメータの各楽音パラメータを決定する。このモード3が選択されている場合は、モード2が選択されている場合に比べて、波形サンプル指定パラメータおよびエンベロープ指定パラメータを決定するときの自由度はさらに増大する。これは、両楽音パラメータを決定するに際してCPU4は、現在の発音状態およびタッチ位置情報TP3nに加えてリリース情報RELnも参照するからである。したがって、モード3が選択されている場合には、前記図9のように、1つの押鍵操作に応じて2種類の異なった音色の楽音波形を生成するための楽音パラメータを決定するようにしている。つまり、同図の楽音波形A1を生成するために、CPU4は、モード2が選択されている場合と同様に、現在の発音状態およびタッチ位置情報TP3nに基づいて、楽音波形A1のリリース部の楽音波形サンプルおよびエンベロープをそれぞれ指定する第1の波形サンプル指定パラメータおよび第1のエンベロープ指定パラメータを決定する。一方、同図の楽音波形A2を生成するために、CPU4は、現在の発音状態およびリリース情報RELnに基づいて、楽音波形A2のリリース部の楽音波形サンプルおよびエンベロープをそれぞれ指定する第2の波形サンプル指定パラメータおよび第2のエンベロープ指定パラメータを決定する。CPU4は、このようにして決定した第1および第2の波形サンプル指定パラメータ、第1および第2のエンベロープ指定パラメータ、および音量指定パラメータを音源回路11に供給する。これ以降の処理は、モード1が選択されている場合と同様であるので、その説明は省略する。
CPU4は、以上説明した(11)〜(15)のいずれかの処理を、“n”を1ずつ加算しながら“n”が鍵盤1の全鍵数になるまで行い(ステップS28→S29→リターン)、“n”が鍵盤1の全鍵数を超えると、“n”を初期値(“1”)に戻す(ステップS29→S30→リターン)。
このように、本実施の形態では、各鍵毎に、ユーザの押離鍵状態を検出するとともに、鍵上のタッチ位置を検出し、これら検出した情報から、動作モードに応じて選択した情報に基づいて、発音から消音に至るまでの楽音波形全体を3つに分割して得られた各部分波形、つまりアタック部、サスティーン部およびリリース部の各部分波形を個別に生成し、これらを合成して楽音波形全体を生成するようにしたので、楽音波形全体としてはフォルテの強さの楽音波形であるが、アタック部のみ弱い(たとえば、ピアノの強さ)楽音波形や、楽音波形全体としてはピアノの強さの楽音波形であるが、アタック部のみ強い(たとえば、フォルテの強さ)楽音波形などを自由に生成することができる。また、モード3が選択されている場合には、1つの押鍵操作に応じて複数の異なった音色の楽音波形を生成しているが、このときにも、音色毎に、アタック部、サスティーン部およびリリース部の各部分波形を個別に生成しているので、1つの押鍵操作に応じて生成されるすべての部分波形の楽音特性を、簡単な操作で自由に制御することができる。なお、楽音波形全体を分割する個数は“3”に限らないことは言うまでもない。
なお、本実施の形態では、ユーザの押鍵状態および鍵上のタッチ位置の検出は、鍵盤1のすべての鍵について行い、この検出結果に応じた特性の楽音を生成するようにしたが、これに限らず、ユーザの押鍵状態および鍵上のタッチ位置の検出は、鍵盤1の鍵の一部についてのみ行い、この検出結果に応じた特性の楽音を生成するようにしてもよい。ここで、一部の鍵の例としては、鍵盤1の全体を高音域と低音域の2つの鍵域に分割し、そのうちの一方の鍵域に属する鍵を挙げることができる。
また、本実施の形態では、2メイク式タッチレスポンススイッチを用いて、ユーザの押離鍵状態を2箇所(前記図2(b)の位置P1およびP2)で検出するようにしたが、押離鍵状態を検出する個数は、上側スイッチUSWnまたは下側スイッチLSWnのいずれかを用いて1箇所でもよいし、3メイク以上のスイッチを用いて3箇所以上でもよい。また、本実施の形態では、押離鍵状態の検出は、2メイク式タッチレスポンススイッチを用いて離散的に行うようにしたが、これに限らず、各鍵の非押鍵状態から最深押鍵状態までの全工程を略連続的に行うようにしてもよい。押離鍵状態の検出を3箇所以上(2箇所でも可能であるが、3箇所以上の方が制御し易い)で行うようにした場合、押離鍵状態を検出する順序で、最初の2箇所が検出されたときに、楽音パラメータの決定とその楽音パラメータの音源回路11への供給を行い、最後の1箇所が検出されたときに、キーオン信号またはキーオフ信号を音源回路11に供給するようにすれば、音源回路11は、楽音パラメータが供給されてから、その楽音パラメータに基づいて楽音信号を生成するまでに時間的な余裕ができる。この結果、音源回路11として、演算能力の高いものを使わずに済むので、電子鍵盤楽器全体としての製造コストを削減することができる。
また、本実施の形態では、発音または消音に向けて楽音パラメータを決定する場合(ステップS19,S26)、タッチ位置情報TP1n〜TP3nとして、タッチセンサTSn上の絶対位置を検出するようにしたが、これに限らず、相対位置を検出するようにしてもよい。相対位置を検出する方法としては、所定の基準位置からの相対位置を検出する方法や、前記(13)の場合と同様に、今回検出した絶対位置と前回検出した絶対位置との変化量(相対位置の変化)を検出する方法などが考えられる。相対位置を検出する場合、同時にタッチ位置の軌跡を求めるようにし、検出した相対位置にこの軌跡を加えたものを参照して楽音パラメータを決定するようにすれば、楽音パラメータの決定の自由度はさらに向上するので、さらに多様な表現を付与した楽音を発生させることができる。
さらに、前記(13)の場合、相対位置の変化VTPnを常時取得するようにし、モード3が選択されているときには、この相対位置の変化VTPnに基づいて効果パラメータを決定するようにしたが、相対位置の変化VTPnと同時にその軌跡を求めるようにし、相対位置の変化VTPnにこの軌跡を加えたものを参照して効果パラメータを決定するようにしてもよい。具体的には、鍵上のタッチ位置がユーザから離れる方向(奥側)にスライドされたときには、現在発音中の楽音のピッチを高くするように効果パラメータを決定し、鍵上のタッチ位置がユーザに近づく方向(手前側)にスライドされたときには、現在発音中の楽音のピッチを低くするように効果パラメータを決定する。このとき、相対位置の変化VTPnは、ピッチの変化量に対応付けるようにすればよい。たとえば、相対位置の変化VTPnが大きいときには、ピッチの変化量を大きくし、相対位置の変化VTPnが小さいときには、ピッチの変化量を小さくする。また、所定の基準位置(たとえば、タッチセンサTSn上の中心位置)と軌跡との距離を算出するようにし、この距離に応じて楽音特性を変化させるような効果パラメータを決定するようにしてもよい。
なお、本実施の形態では、音量指定パラメータは、モード1〜3のいずれが選択されていても、ベロシティ情報VELnのみに基づいて決定するようにしているが、これに限らず、音量指定パラメータは、たとえば、モード1が選択されているときには、ベロシティ情報VELnのみに基づいて、モード2が選択されているときには、ベロシティ情報VELnおよびタッチ位置情報TP2nに基づいて、モード3が選択されているときには、ベロシティ情報VELnおよびタッチ位置情報TP1nおよびTP2nに基づいて決定するようにしてもよい。また、本実施の形態では、発音に向けての波形サンプル指定パラメータおよびエンベロープ指定パラメータを決定するときには、ベロシティ情報VELnを参照していないが、これに限らず、ベロシティ情報VELnを参照するようにしてもよい。
また、前記(12)の場合、モード3が選択されているときには、1つの押鍵操作に応じて2種類の音色の異なった楽音波形を生成して発音するようにしたが、これに限らず、1つの押鍵操作に対して1種類の音色の楽音波形を生成するようにしてもよい。この場合には、モード2が選択されている場合と同様にして、現在の機器の設定状態およびタッチ位置情報TP2nに基づいて、アタック部とサスティーン部の各楽音波形サンプルおよび各エンベロープをそれぞれ指定する波形サンプル指定パラメータおよびエンベロープ指定パラメータを決定し、タッチ位置情報TP1nとタッチ位置情報TP2n(たとえば、両位置情報の差分)に基づいて、当該楽音に付与する効果を指定する効果パラメータを決定するようにすればよい。
また、ユーザが離鍵を行った場合、本実施の形態では、消音に向けての楽音パラメータを決定するときに1回だけ、タッチセンサTSnからタッチ位置情報TP3nを検出し、これに基づいてリリース部の楽音波形を生成するようにしたが、これに限らず、たとえば、前記(14)の場合に、タッチセンサTSnからタッチ位置情報TP4nを検出するようにし、モード3が選択されているときには、タッチ位置情報TP4nも参照してリリース部の楽音波形を生成するようにしてもよい。これにより、ユーザが鍵上の指をスライドさせながら離鍵すると、急速に減衰させたリリース部の楽音波形を生成するような楽音パラメータを決定することができる。
さらに、本実施の形態では、モード1〜3は、ユーザによって選択されるものとしたが、これに限らず、鍵盤1の全体または各鍵域に音色が設定されたときに、その音色の種類に応じて、モード1〜3のいずれかが自動的に選択されて設定されるようにしてもよい。
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
1…鍵盤,4…CPU(押下位置検出手段、タッチ位置検出手段、制御手段),11…音源回路(音源),12…効果回路(音源),USWn…上側スイッチ(押下位置検出手段),LSWn…下側スイッチ(押下位置検出手段),TSn…タッチセンサ(タッチ位置検出手段)