以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、この発明に係る楽音制御装置を適用した電子楽器のハードウエア構成例を示すブロック図である。ここに示された電子楽器はコンピュータを用いて構成されており、そこにおいて、発生される楽音の制御はコンピュータがこの発明に係る楽音制御処理を実現する所定のプログラム(ソフトウエア)を実行することにより実施される。勿論、この楽音制御処理はコンピュータソフトウエアの形態に限らず、DSP(ディジタル・シグナル・プロセッサ)によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。この楽音制御装置を適用する機器は、電子楽器、シーケンサなどの自動演奏装置、あるいはカラオケ装置又は電子ゲーム装置又はその他のマルチメディア機器又はパーソナルコンピュータ等、任意の製品応用形態をとっていてよい。すなわち、本発明に従う所定のプログラム又はハードウエアを用いることによって、鍵盤(演奏操作子)のオン操作(押鍵)に伴って発音が開始された楽音に対して、ユーザによる所定のペダル(鍵盤以外の操作子)の操作に応じて、異なる複数のリリース奏法の中から適宜のリリース奏法を付加して前記発音中の楽音を消音(リリース)するように楽音の発音制御を行うよう構成したものであればどのようなものであってもよい。なお、この実施例に示す電子楽器はこれら以外のハードウェアを有する場合もあるが、ここでは必要最小限の資源を用いた場合について説明する。
本実施例に示す電子楽器は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。CPU1は、この電子楽器全体の動作を制御するものである。このCPU1に対して、通信バス1D(例えば、データ及びアドレスバスなど)を介してROM2、RAM3、外部記憶装置4、演奏操作子5、ペダル6、その他の操作子7、表示器8、音源9、インタフェース10がそれぞれ接続されている。更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ1Aが接続されている。すなわち、タイマ1Aは時間間隔を計数したり、テンポクロックパルスを発生したりする。このようなタイマ1AからのテンポクロックパルスはCPU1に対して処理タイミング命令として与えられたり、あるいはCPU1に対してインタラプト命令として与えられる。CPU1は、これらの命令に従って各種処理を実行する。各種処理としては、ユーザによる所定の一つのペダル6の操作に応じてより自然な演奏や生々しい演奏を行うための様々な楽器毎の特有なリリース奏法などを付加して、鍵盤操作に応じて発音された発音中の楽音を消音するように制御する「楽音制御処理」(後述する図4参照)等がある。
ROM2は、CPU1により実行される各種制御プログラムや各種データを格納するものである。RAM3は、CPU1が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。外部記憶装置4は、楽器毎に特有の様々なリリース奏法を実現するための楽音制御情報である奏法パラメータを多数記憶したパラメータテーブル(後述する図2参照)やピアノ音など各音色毎に用意された楽音波形データなどの各種データ、あるいはCPU1により実行あるいは参照される「楽音制御処理」(図4参照)などの各種制御プログラムを格納する。前記ROM2に制御プログラムが記憶されていない場合、この外部記憶装置4(例えばハードディスク)に制御プログラムを記憶させておき、それを前記RAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置4はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD−ROM・CD−RAM)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等の着脱自在な様々な形態の外部記録媒体を利用する記憶装置であってもよい。あるいは、半導体メモリなどであってもよい。
演奏操作子5は楽音の音高を選択するための複数の鍵を備えた、例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子5(鍵盤)は楽音演奏のための演奏情報を発生する。すなわち、各鍵の押鍵・離鍵操作に応じて各鍵毎にキーオン・キーオフ・ノートなどの鍵盤イベントを発生する。なお、演奏操作子5は鍵盤等の形態に限らず、楽音の音高を選択するための弦を備えたネック形態のものなど、どのような形態のものであってもよい。ペダル6はユーザが例えば足などを用いて操作可能な操作子であって、この実施例においては楽音を消音する際に用いるべきリリース奏法を選択する奏法選択用の操作子として機能する。このペダル6はオン操作に応じてペダルオン、オフ操作に応じてペダルオフ、ペダルの踏み込みの速さや加速度に応じたベロシティ値などの操作子イベントを発生する。その他の操作子7は、奏法パラメータを変更入力するための操作子や汎用のスイッチ等、各種の操作子を含んで構成される。勿論、その他の操作子7としてはこれ以外にも、楽音を発音する際に用いる音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボードあるいはマウスなどの各種操作子を含んでいてよい。なお、鍵盤の一部をその他の操作子として使用できるようにしてもよい。表示器8は例えば液晶表示パネル(LCD)やCRT等から構成されるディスプレイであって、選択された奏法パラメータやCPU1の制御状態などを表示する。
音源9は複数のチャンネルで楽音信号の同時発生が可能であり、通信バス1Dを経由して与えられた演奏情報を入力し、この演奏情報に基づいて楽音を合成して楽音信号を発生する。例えば、ユーザによる各鍵のオン操作(つまり押鍵)に応じてキーオンが入力されると各鍵に対応する音高で楽音の発音を開始し、ユーザによる各鍵のオフ操作(つまり離鍵)に応じてキーオフが入力されると楽音が消音される。また、この実施例においては、入力された奏法パラメータに従って楽音を消音することもできる。こうした音源9から発生された楽音信号は、図示しない効果回路などにより所定のディジタル信号処理が施され、該信号処理された楽音信号はアンプやスピーカ等を含んでなるサウンドシステム9Aに与えられて発音される。この音源9とサウンドシステム9Aの構成には、従来のいかなる構成を用いてもよい。例えば、音源9はFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、CPU1によるソフトウェア処理で構成してもよい。
インタフェース10は該電子楽器と外部機器(図示せず)との間で演奏情報を送受するための入出力インタフェースであり、例えば外部のMIDI機器等からMIDI規格の演奏情報(MIDI情報)を当該電子楽器へ入力したり、あるいは当該電子楽器からMIDI情報を他のMIDI機器等へ出力するためのMIDIインタフェースなどである。この場合、他のMIDI機器はユーザによる操作に応じてMIDI情報を発生する機器であればよく、鍵盤型、ギター型、管楽器型、打楽器型、身振り型等どのようなタイプの操作子を具えた(若しくは、操作形態からなる)機器であってもよい。なお、MIDIインタフェースとしては専用のMIDIインタフェースを用いるものに限らず、RS232−C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインタフェースを用いてMIDIインタフェースを構成するようにしてもよい。この場合、MIDI情報以外のデータをも同時に送受信するようにしてもよい。MIDIインタフェースとして上記したような汎用のインタフェースを用いる場合には、他のMIDI機器はMIDI情報以外のデータも送受信できるようにしてよい。また、インタフェース10は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワーク(図示せず)に接続されており、概通信ネットワークを介して外部のサーバコンピュータ等と接続され、当該サーバコンピュータから制御プログラムや各種データなどを該電子楽器に取り込むための通信インタフェースであってもよい。こうした通信インタフェースは、有線あるいは無線のものいずれかでなく双方を具えていてもよい。
ここで、ROM2やRAM3あるいは外部記憶装置4などに記憶されるパラメータテーブルについて、その概要を説明する。図2は、パラメータテーブルのデータ構成の一実施例を示す概念図である。
パラメータテーブルは多種多様なリリース奏法を実現するために、各リリース奏法を実現するための奏法パラメータをデータベース化して、ROM2や外部記憶装置4などに記憶したものである。図2に示すように、パラメータテーブルはリリース奏法の種類毎に多数の奏法パラメータを含むパラメータセットからなる。パラメータセットのそれぞれには該パラメータセットに含まれる奏法パラメータにより実現可能なリリース奏法の種類に対応する奏法IDが付加されており、この奏法IDを指定することによってリリース奏法の種類が選択される。この実施例では、奏法ID「FastFall」がファーストフォール奏法を、奏法ID「SlowFall」がスローフォール奏法を、それぞれ実現する奏法パラメータを多数含むパラメータセットである。リリース奏法の種類としては、例えば管楽器奏法として代表的なフォール奏法がある。フォール奏法はピッチを短時間で下げたり音高をグリスダウンして下げたりしながら楽音を消音(リリース)する奏法であって、消音までにかかる時間長さによって、時間をあまりかけずに素早く消音する「ファーストフォール(FastFall)」奏法、ゆっくり時間をかけて消音する「スローフォール(SlowFall)」奏法、前記各奏法の中間的な時間をかけて消音する「ミディアムフォール(MidiumFall)」奏法などの種類に分類される。他にも、音程幅違いなどによりその種類を分類することもできる。
各奏法に対応するパラメータセットは、「C1」、「C#1」、「D1」などの各音高毎に対応した複数の奏法パラメータにより構成される。すなわち、上記のようにして分類された各奏法中においても、下げるピッチの幅や変化させる速度や演奏強度などによって複数の異なるバリエーションが存在する。そこで、この実施例では特定の演奏強度の下で各音高毎に1つの奏法パラメータを定義した例を示している。奏法パラメータは楽音に対してリリース奏法を反映させるための各種の制御パラメータを定義した楽音制御情報であり、各リリース奏法の性格に応じて適宜異なる1又は複数種類の制御パラメータを含む。例えば、奏法パラメータとしては、レベルを制御するためのボリューム、音高を制御するためのピッチ、波形形状を制御するためのLPFなどのフィルタ値、PCM(パルス符号変調)あるいはDPCM(差分PCM)又はADPCM(適応差分PCM)等の任意の符号化方式で符号化した当該リリース奏法を実現するオリジナルのサンプル波形データ(リリース奏法波形)などの制御パラメータの少なくとも1つが、時間に応じて制御値が変化する時間軸配列又は時間変化しないスカラー値のいずれかの形態で含まれていればよい。また、この奏法パラメータは予め記憶されていてもよいし、ユーザが適宜に入力したもの、あるいは既存の奏法パラメータをユーザが適宜に変更したものであってもよい。なお、ここでは各音高毎に奏法パラメータを1つ割り当てた例を示したがこれに限らず、複数の音高範囲(つまり鍵域)毎に奏法パラメータを1つ割り当てるようにしてもよい。
次に、図1に示した電子楽器で実行する楽音制御処理の概要について、図3を用いて簡単に説明する。図3は、当該電子楽器で実行する楽音制御処理の概要を説明するためのブロック図である。この図3において、図中の矢印はデータの流れを表す。
鍵盤演奏情報検出部A1は、鍵盤等の演奏操作子5の操作に応じて発生される各鍵毎のキーオン、キーオフ、ノートなどの鍵盤イベント(鍵盤演奏情報)を、鍵盤オン/オフ検出部A2および鍵盤ノート検出部A3に対して出力する。鍵盤オン/オフ検出部A2では、前記鍵盤演奏情報検出部A1から出力された鍵盤イベントのうちキーオン又はキーオフを取りだし、これを楽音合成部Dに出力する。また、鍵盤ノート検出部A3では、前記鍵盤演奏情報検出部A1から出力された鍵盤イベントのうち少なくともノートを取りだし、これを楽音合成部D及びリリース奏法パラメータ選択部C3に出力する。楽音合成部Dでは、取得したキーオン及びノートとに基づいて該当する音高で楽音の発音を開始する。また、楽音合成部Dでは、取得したキーオフ及びノートとに基づいて該当する音高で発音中の楽音を消音する。このようにして、鍵盤の操作に応じて発生されたキーオン、キーオフ、ノートの各鍵盤イベントに基づいて通常のリリースつまりリリース奏法の付加されていない状態で楽音が発生され消音される。
一方、操作子情報出力部B1は、ペダルのオン操作に応じて発生されるペダルオンやペダルのオフ操作に応じて発生されるペダルオフなどの各種の操作子イベント(操作情報)を、操作子オフ検出部B2及び時間長検出部C1に対して出力する。時間長検出部C1では、操作子情報出力部B1から出力されたペダルオンとペダルオフとに基づき、所定のオンオフ時間長を検出する。ここで、オンオフ時間長とは、ペダルがオン操作された時間(ペダルオンが発生した時間)からペダルがオフ操作された時間(ペダルオフが発生した時間)までの時間長、つまりペダルの操作時間長である。時間長検出部C1で検出したオンオフ時間長はリリース奏法決定部C2に出力され、該リリース奏法決定部C2では前記オンオフ時間長に基づき使用対象とするリリース奏法種類のパラメータセットを指定するために、奏法IDを決定する。リリース奏法パラメータ選択部C3では、前記決定された奏法IDと鍵盤ノート検出部A3から出力されたノートとに基づき、奏法IDに対応するリリース奏法種類のパラメータセットの中から該ノートに対応する奏法パラメータを1つ選択し、これを楽音合成部Dに出力する。すなわち、リリース奏法パラメータ選択部C3では入力された各情報に従ってリリース奏法を実現する奏法パラメータを確定し、該確定した奏法パラメータを楽音合成部Dに出力する。
操作子オフ検出部B2では操作子情報出力部B1から出力された操作子イベントのうちペダルオフのみを取りだし、これを楽音合成部Dに出力する。楽音合成部Dでは、前記鍵盤オン/オフ検出部A2から出力されたキーオフを受け取る前に、前記操作子オフ検出部B2から出力されたペダルオフを受け取った場合には、前記リリース奏法パラメータ選択部C3で選択した奏法パラメータに従い該当するリリース奏法を反映して発音中の楽音を消音する。このように、楽音合成部Dは鍵盤の押鍵操作に基づき楽音の発音を開始する発音機能、鍵盤の離鍵操作に基づき発音中の楽音を奏法なしの標準的なリリースにより消音する奏法無し消音機能、押鍵操作後のキーオン中におけるペダルのオフ操作に基づき発音中の楽音をリリース奏法を反映して消音する奏法付き消音機能とを具える。
図1に示した電子楽器において、一つのペダル6の操作に応じて複数のリリース奏法の中から付加すべきリリース奏法を選択すると共に、該選択されたリリース奏法を付加しての発音中の楽音の消音は、コンピュータが本実施例に係る楽音制御処理を実現する所定のプログラム(ソフトウエア)等を実行することにより実施される。そこで、この楽音制御処理について説明する。図4は、「楽音制御処理」の一実施例を示すフローチャートである。
まず、ステップS1では初期設定を行う。この初期設定としては、例えばサンプリング時間毎にカウントするタイマを「0」にクリアする、各鍵毎の操作状態を反映するか無視するかを決定するための各鍵毎に用意されたキーステイタス(ただしモノフォニックの場合)を「OFF」にセットするなどの各種処理がある。勿論、これら以外の処理があってもよい。ステップS2では、ユーザによる鍵盤操作に応じて発生された各種の鍵盤イベントを検出する。この鍵盤操作に応じて発生される鍵盤イベントとしては、鍵の押鍵操作に基づき発生されるキーオン、鍵の離鍵操作に基づき発生されるキーオフ、操作された鍵に割り当てられたノートなどがある。ステップS3では、ユーザによる一つの所定のペダル操作に応じて発生される操作子イベントを検出する。このペダル操作に応じて発生される操作子イベントとしては、ペダルのオン操作に基づき発生されるペダルオン、ペダルのオフ操作に基づき発生されるペダルオフ、ペダルの踏み込みの速さや加速度に応じたベロシティ値などがある。
ステップS4では、上記ステップS2において検出した鍵盤イベントがキーオンであるか否かを判定する。検出した鍵盤イベントがキーオンである場合には(ステップS4のYES)、当該キーオンを検出した鍵に対応するキーステイタスに対して「ON」をセットする(ステップS5)。このキーステイタスが「ON」にセットされている場合には当該鍵を操作することに伴い発生される鍵盤イベントを反映する一方で、キーステイタスが「OFF」にセットされている場合には当該鍵を操作することに伴い発生される鍵盤イベントを反映することなく無視する。この実施例においては、キーステイタスが「OFF」にセットされている鍵を離鍵操作したとしても、該離鍵操作に応じて発生されるキーオフは反映されないので、該離鍵操作に応じた楽音の消音は行われないことになる(後述するステップS18〜ステップS19参照)。ステップS6では、鍵盤イベントとしてキーオンと共に発生されたノートを記憶する。ステップS7では、前記キーオン及びノートとに基づき楽音の合成を開始することによって、該当する音高での楽音の発音を開始する。ステップS8では、上記ステップS3において検出した操作子イベントがペダルオンであるか否かを判定する。操作子イベントがペダルオンであると判定した場合には(ステップS8のYES)、「オン時間」に現時点におけるタイマ値をセットする(ステップS9)。この「オン時間」は、後述するステップS14においてオンオフ時間長を計算する際に使用するためのものである。ステップS10では、サンプリング時間分だけ時間を進める(例えばΔT)。ステップS11では、前記進めたサンプリング時間(ΔT)をタイマに加算(カウント)する。そして、ステップS2の処理へ戻って処理を繰り返す。
上記ステップS8において、操作子イベントがペダルオンでないと判定した場合には(ステップS8のNO)、操作子イベントがペダルオフであるか否かを判定する(ステップS12)。操作子イベントがペダルオフであると判定した場合には(ステップS12のYES)、さらにキーステイタスが「ON」にセットされているか否かを判定する(ステップS13)。操作子イベントがペダルオフでない場合(ステップS12のNO)、又はキーステイタスが「ON」にセットされていない場合には(ステップS13のNO)、共にステップS10の処理へジャンプする。他方、キーステイタスが「ON」にセットされている場合には(ステップS13のYES)、オンオフ時間長を計算する(ステップS14)。この実施例において、オンオフ時間長とはペダルがオン操作された時間からペダルがオフ操作された時間までのペダルの操作時間長である。すなわち、このオンオフ時間長は、ペダルがオフ操作された時点におけるタイマ値から、ペダルがオン操作された時点においてセット済みの「オン時間」(上記ステップS9参照)を減算することによって算出される。ステップS15では、算出したオンオフ時間長及び記憶したノート(上記ステップS6参照)に基づき「奏法パラメータ決定処理」を実行する。詳しくは後述するが、この「奏法パラメータ決定処理」ではオンオフ時間長に基づきパラメータテーブルから使用すべきリリース奏法種類のパラメータセットを1つ決定し、さらにノートに基づき該選択したパラメータセットの中に記憶された多数の奏法パラメータの中から該当する奏法パラメータを1つ選択する。ステップS16では、決定された奏法パラメータに従い発音中の楽音を消音する。この際に、発音中の楽音とは別に決定した奏法パラメータに対応するリリース奏法に従う楽音を発生させるようにし、これらの楽音を例えばクロスフェード合成することなどにより、リリース奏法を接続した箇所において滑らかに楽音が発音されるように制御するとよい。こうした波形接続技術には、クロスフェード合成の他にも公知のどのような方法を用いてもよい。ステップS17では、キーステイタスに「OFF」をセットする。すなわち、当該鍵の押鍵操作に応じて発音された楽音は既にリリース奏法により消音されていることから、この後に行われる鍵の離鍵操作による楽音の消音制御を行わないようにするためにキーステイタスに「OFF」をセットし、鍵の離鍵操作に伴う制御を無効とするようにしている。ステップS17の処理後は、ステップS10の処理へ戻る。
上記ステップS4において、検出した鍵盤イベントがキーオンでない場合には(ステップS4のNO)、検出した鍵盤イベントがキーオフであるか否かを判定する(ステップS18)。検出した鍵盤イベントがキーオフでない場合には(ステップS18のNO)、ステップS8の処理へジャンプする。検出した鍵盤イベントがキーオフである場合には(ステップS18のYES)、キーステイタスに「ON」がセットされているか否かを判定する(ステップS19)。キーステイタスに「ON」がセットされていない場合には(ステップS19のNO)、ステップS10の処理へジャンプする。キーステイタスに「ON」がセットされている場合には(ステップS19のYES)、奏法の付加されていない標準的なデフォルトのリリースを実現する奏法パラメータをセットし(ステップS20)、ステップS16の処理へ進む。すなわち、リリース奏法に対応する奏法パラメータが与えられなかった場合、例えばペダル操作がなく通常のキーオフが入力されたような場合には標準的なリリースを行って楽音を消音するように奏法パラメータを自動的にセットする。
次に、上記した「楽音制御処理」で実行する「奏法パラメータ決定処理」(図4のステップS15参照)について、図5を用いて説明する。図5は、「奏法パラメータ決定処理」の一実施例を示すフローチャートである。
まず、オンオフ時間長が予め決められた所定時間(例えば1秒)より短いか否かを判定する(ステップS21)。オンオフ時間長が所定時間より短い時間である場合には(ステップS21のYES)、パラメータテーブルの中から奏法ID「FastFall」が付されたファーストフォール奏法を実現するためのパラメータセットを選択する(ステップS22)。一方、オンオフ時間長が所定時間より長い時間である場合には(ステップS21のNO)、パラメータテーブルの中から奏法ID「SlowFall」が付されたスローフォール奏法を実現するためのパラメータセットを選択する(ステップS23)。ステップS24では、選択されたパラメータセットの中からノートに対応する奏法パラメータを1つ選択することにより、適用すべきリリース奏法を決定する。
以上のようにすると、ユーザは一つの所定のペダルを操作するだけで、複数のリリース奏法をリアルタイムにコントロールしながら楽音を制御することができるようになる。ここで、ペダル操作による複数のリリース奏法による楽音制御の具体例について、図6を用いて説明する。図6は、ペダル操作による複数のリリース奏法を反映した楽音の発音制御について説明するための概念図である。図6(a)は鍵の押鍵操作から離鍵操作までの間(キーオン中)にペダルのオン操作とオフ操作の両方が行われた場合、図6(b)は鍵が押鍵操作される前(キーオンよりも前)にペダルのオン操作が既に行われており、さらにキーオン中にペダルのオフ操作が行われた場合、図6(c)は鍵の押鍵操作から離鍵操作までの間(キーオン中)にペダルのオン操作とオフ操作の両方が2回以上繰り返し行われた場合をそれぞれ示す。なお、この図6では、上段にキーオン及びキーオフのタイミングを表すタイミングチャート、中段にペダルオン及びペダルオフのタイミングを表すタイミングチャート、下段に発音される楽音の様子をエンベロープ形状で示した。
図6(a)から理解できるように、この場合においては時刻t1において鍵が押鍵操作されてキーオンを検出することから、時刻t1から該鍵に割り当てられているノートに対応した音高で楽音の発音が開始される(図4のステップS7参照、以下同じ)。このキーオン検出時には、キーステイタスが「ON」にセットされる(ステップS5)。時刻t2においてペダルがオン操作されてペダルオンを検出した場合には「オン時間」に時刻t2をセットするのみであることから(ステップS9)、発音中の楽音はそのまま発音が続けられる。時刻t3において鍵が離鍵操作される前にペダルがオフ操作されてペダルオフを検出した場合には、時刻t3〜時刻t2までをオンオフ時間長とし、これに基づき奏法パラメータを決定する(ステップS12〜ステップS15)。ここでは、時刻t3〜時刻t2までを1秒以上として、リリース奏法「SlowFall」に基づき発音中の楽音を消音している(ステップS16)。また、この際にキーステイタスは「OFF」にセットされるので(ステップS17)、時刻t4において鍵が離鍵操作されてキーオフを検出しても、該離鍵操作に応じた楽音の消音制御は行われない(ステップS19)。
図6(b)から理解できるように、この場合においては時刻t1において鍵が押鍵操作される前にペダルがオン操作されてペダルオンを検出することから、「オン時間」に時刻t1がセットされるのみであり、したがって時刻t1において楽音の発音は未だ開始されない。時刻t2において鍵が押鍵操作されてキーオンを検出することから、時刻t2から該鍵に割り当てられているノートに対応した音高で楽音の発音が開始される。時刻t3において鍵が離鍵操作される前にペダルがオフ操作されてペダルオフを検出した場合には、時刻t3〜時刻t1までをオンオフ時間長として奏法パラメータを決定する。ここでは、上記のように時刻t3〜時刻t2までを1秒以上としたことから時刻t3〜時刻t1についても当然に1秒以上となり、リリース奏法「SlowFall」に基づき発音中の楽音を消音している。この場合においても、時刻t4において鍵が離鍵操作されてキーオフを検出しても、該離鍵操作に応じた楽音の消音制御は行われない
図6(c)から理解できるように、この場合においては時刻t1において鍵が押鍵操作されてキーオンを検出していることから、時刻t1から該鍵に割り当てられているノートに対応した音高で楽音の発音が開始される。時刻t2においてペダルがオン操作されてペダルオンを検出した場合には「オン時間」に時刻t2をセットするのみであり、発音中の楽音はそのまま発音が続けられる。時刻t2´において鍵が離鍵操作される前にペダルがオフ操作されてペダルオフを検出した場合には、時刻t2´〜時刻t2までをオンオフ時間長として奏法パラメータを決定する。ここでは、時刻t2´〜時刻t2までを1秒より短い時間長として、リリース奏法「FastFall」に基づき発音中の楽音を消音している。この際に、キーステイタスは「OFF」にセットされる。時刻t3において再度ペダルがオン操作されてペダルオンを検出した場合には、新たに「オン時間」に時刻t3をセットする。さらに時刻t3´においてペダルがオフ操作されてペダルオフを検出した場合には、キーステイタスが既に「OFF」にセットされていることから何の処理も行わない(ステップS13)。すなわち、既にリリース奏法「FastFall」により楽音は消音された状態なので、何も発音されず無音状態のままである。また、時刻t4において鍵が離鍵操作されてキーオフを検出した場合であっても、該離鍵操作に応じた楽音の消音制御は行われない。
上述した実施例においては、ペダルのオン操作からペダルのオフ操作までの時間をオンオフ時間長として算出し、これに基づき付加すべきリリース奏法を決定するようにしたが、ペダルがオン操作された時間(操作子オンが発生した時間)又は鍵が押鍵操作された時間(キーオンが発生した時間)のうちいずれか遅い方の時間からペダルのオフ操作までの時間をオンオフ時間長としてもよい。この場合には、図3に示すように、鍵盤オン/オフ検出部A2から時間長検出部C1に対して鍵の押鍵操作に基づき発生されるキーオンを出力する(図3において点線で示す矢印参照)。また、この場合には、上記図4に示した「楽音制御処理」において鍵盤イベントがキーオンであると判定した場合に(ステップS4)、ステップS5においてキーステイタスに「ON」をセットすると共に、「オン時間」として現時点におけるタイマ値をセットする。こうすると、鍵が押鍵操作された時間(キーオンが発生した時間)を「オン時間」として保持しておくことができ、後のオンオフ時間長の計算処理時(ステップS14)に鍵が押鍵操作された時間とペダルがオン操作された時間のうちいずれか遅い方の時間を反映してオンオフ時間長を算出することができるようになる。こうした場合には、図6(b)に示した場合に発音される楽音に違いが現れることがある。すなわち、ペダルのオン操作からペダルのオフ操作までの時間をオンオフ時間長として算出した場合には、時刻t3〜時刻t1までがオンオフ時間長となる(図6(b)において実線で示す矢印参照)。一方、鍵の押鍵操作からペダルのオフ操作までの時間をオンオフ時間長として算出した場合には、時刻t3〜時刻t2までがオンオフ時間長となる(図6(b)において点線で示す矢印参照)。こうすると、キーオンのかなり前にペダルをオン操作したとしてもキーオンされるまでの時間はリリース奏法の選択時に考慮されないことから、楽音の発音開始時間にあわせてリリース奏法が選択されることになる。したがって、ユーザは予めペダルをオン操作しておいたような場合であっても、発音開始からペダルをオフ操作した時間までを考慮するだけでより適切なリリース奏法を付加することができるようになる。
以上のように、この楽音制御装置では、鍵の押鍵操作に応じて発生されるキーオンに基づき発音される楽音に対し、鍵の離鍵操作に応じて発生されるキーオフに基づき発音中の楽音を消音する一方で、鍵の離鍵操作前にペダルの操作があった場合には、該ペダル操作に応じて複数のリリース奏法の中から適宜のリリース奏法を付加して前記発音中の楽音を消音するように発音制御を行う。したがって、ユーザは1つのペダルを操作するだけで、自然楽器固有の若しくはアーティキュレーションによる音色変化を忠実に表現した複数のリリース奏法をリアルタイムにコントロールしながら楽音を発音制御することができるようになる。また、この楽音制御装置では、ペダルの操作時間長に応じて複数のリリース奏法の中から適宜のリリース奏法を付加して前記発音中の楽音を消音するように発音制御を行うので、キーオンからキーオフまでの時間が短い演奏の場合でもリリース奏法に長いフォールダウンを付与することができる。さらに、この楽音制御装置は音源の種類に左右されずにどのような種類の音源に対しても広く適応することができ、非常に有利である。
なお、上述した実施例においては奏法選択用の操作子として、ペダル6を用いた例について説明したがこれに限らないことは言うまでもない。例えば、奏法選択用の操作子として専用のスイッチを一つ割り当てるようにしてもよいし、あるいは鍵盤のうちのいずれかの鍵を割り当てるようにしてもよい。つまり、こうした奏法を選択するための操作子としては少なくともオン/オフの2値を検出可能な、ごく普通のパネルスイッチやサスティンペダルなどであってよい。また、アナログ値を出力する例えばボリューム等の操作子を割り当てる場合には、アナログ値を2値変換するように構成することによって使用可能である。
なお、リリース奏法の種類としてファーストフォール奏法とスローフォール奏法のいずれかを選択する例を示したがこれに限らず、他のリリース系の奏法(上記ミディアムフォールなど)など複数のリリース奏法の中から選択できるように構成してもよいことは言うまでもない。
なお、上述した実施例においては、ペダル6のオンからオフまでの時間を操作時間長とし、このペダル6の操作時間長に基づきリリース奏法を選択するようにしたがこれに限らない。例えば、ペダル6又はその他の操作子7の例えばオンからオンまで、あるいはオフからオフまで、あるいは適宜に計測した何らかの時間間隔を操作時間長とし、これに基づきリリース奏法を選択するようにしてもよい。
なお、上述した実施例においては、単純に一音だけを発音させて該一音における消音時にリリース奏法を付加する例を用いて説明したがこれに限らず、連続する複数の音を消音する際にペダルの操作に応じて複数のリリース奏法を付加して消音するようにしてもよいことは言うまでもない。
なお、ポリフォニック発音の場合には、ペダルオフで強制的に全ての発音中の楽音に対して同じリリース奏法を付加して消音するとよい。また、モノフォニック発音の場合には、新規に発生した鍵盤イベントのノートに音高を入れ替え、ペダルオフ時のノートに対してリリース奏法を付加して消音するとよい。
1…CPU、2…ROM、3…RAM、4…外部記憶装置、5…演奏操作子、6…ペダル、7…その他の操作子、8…表示器、9…音源、9A…サウンドシステム、10…インタフェース、1D…通信バス、A1…鍵盤演奏情報出力部、A2…鍵盤オン/オフ検出部、A3…鍵盤ノート検出部、B1…操作子演奏情報出力部、B2…操作子オフ検出部、C1…時間長検出部、C2…リリース奏法決定部、C3…リリース奏法パラメータ選択部、D…楽音合成部