(57)【特許請求の範囲】
【請求項１】
所定の音高の楽音の発生の開始を指示するノートオン情報を入力する入力手段と、楽音を発生する音源に対し、その入力手段により入力されたノートオン情報に応じて指示を行う電子楽器において、
複数の連続する音高により構成される音域を複数特定する音域特定手段と、
前記入力手段により第１のノートオン情報を入力し、その第１のノートオン情報の次に第２のノートオン情報を入力した場合に、第１のノートオン情報が示す第１の音高と、第２のノートオン情報が示す第２の音高とが、前記音域特定手段により特定される複数の音域の同一の音域に含まれるか否かを判断する音域判断手段と、
その音域判断手段により、第１の音高と第２の音高とが同一の音域に含まれると判断された場合は、第１の音高に基づく楽音の音高を徐々に第２の音高に変化するように前記音源に指示する第１の指示手段と、
前記音域判断手段により、第１の音高と第２の音高とが同一の音域に含まれないと判断された場合は、第１の音高と第２の音高とのいずれか音高が高い音高に基づく楽音の音高を徐々に変化するように前記音源に指示する第２の指示手段とを備え、
前記第２の指示手段は、
（１）第２の音高が第１の音高より高い場合は、第２のノートオン情報を入力した時、第２の音高に基づく楽音の発生を開始するように指示するとともに、その指示に基づいて発生される楽音の音高が、第２の音高から所定の音高幅だけ低い音高から第２の音高へ徐々に変化するように指示するものであり、
（２）第２の音高が第１の音高より低い場合は、第２のノートオン情報を入力した時から第１の音高に基づく楽音の音高を徐々に低くし、その音高が第１の音高から所定の音高幅だけ低くなった時、第２の音高に基づく楽音の発生を開始するように指示するものであることを特徴とする電子楽器。
【請求項２】
前記音域判断手段による第１の音高と第２の音高とが同一の音域に含まれるか否かの判断に応じて音高の変化時間を設定する第１の音高変化時間設定手段を備え、
前記第１の指示手段は、前記第１の音高に基づく楽音の音高を、前記第１の音高変化時間設定手段により設定された変化時間をかけて徐々に第２の音高に変化するように前記音源に指示するものであり、
前記第２の指示手段は、
（１）第２の音高が第１の音高より高い場合は、第２のノートオン情報を入力した時、第２の音高に基づく楽音の発生を開始するように指示するとともに、その指示に基づいて発生される楽音の音高が、第２の音高から所定の音高幅だけ低い音高から第２の音高へ、前記第１の音高変化時間設定手段により設定された変化時間をかけて徐々に変化するように指示するものであり、
（２）第２の音高が第１の音高より低い場合は、第２のノートオン情報を入力した時から第１の音高に基づく楽音の音高を、前記第１の音高変化時間設定手段により設定された変化時間をかけて徐々に低くし、その音高が第１の音高から所定の音高幅だけ低くなった時、第２の音高に基づく楽音の発生を開始するように指示するものであることを特徴とする請求項１に記載の電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器に関し、特に金管楽器の演奏をより忠実に模擬することができる電子楽器に関する。
【背景技術】
【０００２】
従来、鍵盤による演奏で金管楽器、特にトロンボーンの演奏を模擬する電子楽器が提案されている。特開平６−１１０４５６号公報（特許文献１）には、トロンボーンの演奏音を模擬する電子楽器において、音高が指定されると、その音高に対応するトロンボーンに備えられているスライドの位置を取得し、第１の音高に対応するスライド位置と、第１の音高の次に指定された第２の音高に対応するスライドの位置の変化に応じた音高変化を行う技術が開示されている。また、特許２６５８６２９号公報（特許文献２）には、金管楽器の演奏音を模擬する電子楽器において、第１の音高と第２の音高とが特定の倍音関係（例えば、オクターブや５度）にあるか否かに応じて、音高変化の態様を異ならせる技術が開示されている。
【特許文献１】特開平６−１１０４５６号公報
【特許文献２】特許２６５８６２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１および特許文献２に開示された技術では、トロンボーンなどの金管楽器において、スライドを移動することによる音高変化と、唇等の操作による倍音列の移動による音高変化とを適切に切り替えて金管楽器の音高の変化を模擬することができないという問題点があった。
【０００４】
本発明は、上述した問題点を解決するためになされたものであり、金管楽器の演奏をより忠実に模擬することができる電子楽器を提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、請求項１記載の電子楽器は、所定の音高の楽音の発生の開始を指示するノートオン情報を入力する入力手段と、楽音を発生する音源に対し、その入力手段により入力されたノートオン情報に応じて指示を行うものであり、複数の連続する音高により構成される音域を複数特定する音域特定手段と、前記入力手段により第１のノートオン情報を入力し、その第１のノートオン情報の次に第２のノートオン情報を入力した場合に、第１のノートオン情報が示す第１の音高と、第２のノートオン情報が示す第２の音高とが、前記音域特定手段により特定される複数の音域の同一の音域に含まれるか否かを判断する音域判断手段と、その音域判断手段により、第１の音高と第２の音高とが同一の音域に含まれると判断された場合は、第１の音高に基づく楽音の音高を徐々に第２の音高に変化するように前記音源に指示する第１の指示手段と、前記音域判断手段により、第１の音高と第２の音高とが同一の音域に含まれないと判断された場合は、第１の音高と第２の音高とのいずれか音高が高い音高に基づく楽音の音高を徐々に変化するように前記音源に指示する第２の指示手段とを備え、前記第２の指示手段は、（１）第２の音高が第１の音高より高い場合は、第２のノートオン情報を入力した時、第２の音高に基づく楽音の発生を開始するように指示するとともに、その指示に基づいて発生される楽音の音高が、第２の音高から所定の音高幅だけ低い音高から第２の音高へ徐々に変化するように指示するものであり、（２）第２の音高が第１の音高より低い場合は、第２のノートオン情報を入力した時から第１の音高に基づく楽音の音高を徐々に低くし、その音高が第１の音高から所定の音高幅だけ低くなった時、第２の音高に基づく楽音の発生を開始するように指示するものである。
【０００６】
請求項２記載の電子楽器は、請求項１記載の電子楽器において、前記音域判断手段による第１の音高と第２の音高とが同一の音域に含まれるか否かの判断に応じて音高の変化時間を設定する第１の音高変化時間設定手段を備え、前記第１の指示手段は、前記第１の音高に基づく楽音の音高を、前記第１の音高変化時間設定手段により設定された変化時間をかけて徐々に第２の音高に変化するように前記音源に指示するものであり、前記第２の指示手段は、（１）第２の音高が第１の音高より高い場合は、第２のノートオン情報を入力した時、第２の音高に基づく楽音の発生を開始するように指示するとともに、その指示に基づいて発生される楽音の音高が、第２の音高から所定の音高幅だけ低い音高から第２の音高へ、前記第１の音高変化時間設定手段により設定された変化時間をかけて徐々に変化するように指示するものであり、（２）第２の音高が第１の音高より低い場合は、第２のノートオン情報を入力した時から第１の音高に基づく楽音の音高を、前記第１の音高変化時間設定手段により設定された変化時間をかけて徐々に低くし、その音高が第１の音高から所定の音高幅だけ低くなった時、第２の音高に基づく楽音の発生を開始するように指示するものである。
【０００８】
【０００９】
【００１０】
【発明の効果】
【００１５】
請求項１記載の電子楽器によれば、音域特定手段は、複数の連続する音高により構成される音域を複数特定する。入力手段に第１のノートオン情報を入力し、その第１のノートオン情報の次に第２のノートオン情報を入力した場合に、音高差判断手段により第１のノートオン情報が示す第１の音高と、第２のノートオン情報が示す第２の音高とが音域特定手段により特定される同一の音域に含まれるか否かが音域判断手段により判断される。そして、その音域判断手段により、第１の音高と第２の音高とが同一の音域に含まれると判断された場合は、第１の指示手段により、第１の音高に基づく楽音の音高を徐々に第２の音高に変化するように音源に指示される。よって、トロンボーンのスライドを伸縮操作することによる音高変化を模擬することができる。
【００１６】
また、音域判断手段により、第１の音高と第２の音高とが同一の音域に含まれないと判断された場合は、第２の指示手段により第１の音高と第２の音高とのいずれか音高が高い音高に基づく楽音の音高を徐々に変化するように音源に指示される。よって、トロンボーンの演奏におけるスライドを伸縮操作することによる音高の変化と、倍音列の移動による音高の変化とを適切に切り替えて演奏を行うことができ、金管楽器の演奏をより忠実に模擬することができるという効果がある。
【００１７】
さらに、請求項１記載の電子楽器によれば、第２の指示手段は、第２の音高が第１の音高より高い場合は、第２のノートオン情報を入力した時、第２の音高に基づく楽音の発生を開始するように指示するとともに、その指示に基づいて発生される楽音の音高が、第２の音高から所定の音高幅だけ低い音高から第２の音高へ徐々に変化するように指示する。第２の音高を倍音列を移動することにより音高を形成し、第２の音高から所定の音高幅だけ低い音高から第２の音高までをスライドの伸縮操作により変化するように模擬することができる。よって、トロンボーンの演奏におけるスライドを伸縮操作することによる音高の変化と、倍音列の移動による音高の変化とを適切に切り替えて演奏を行うことができ、金管楽器の演奏をより忠実に模擬することができるという効果がある。
【００１８】
また、請求項１記載の電子楽器によれば、第２の指示手段は、第２の音高が第１の音高より低い場合は、第２のノートオン情報を入力した時から第１の音高に基づく楽音の音高を徐々に低くし、その音高が第１の音高から所定の音高幅だけ低くなった時、第２の音高に基づく楽音の発生を開始するように指示するものである。第１の音高から所定の音高幅までをトロンボーンのスライドの伸縮操作による音高変化とし、第２の音高に基づく楽音の音高を倍音列を移動することにより形成する演奏を模擬することができる。よって、トロンボーンの演奏におけるスライドを伸縮操作することによる音高の変化と、倍音列の移動による音高の変化とを適切に切り替えて演奏を行うことができ、金管楽器の演奏をより忠実に模擬することができるという効果がある。
【００１９】
【００２０】
【００２１】
【００２２】
【００２３】
【発明を実施するための最良の形態】
【００２５】
以下、本発明の好ましい第１の実施形態について、添付図面を参照して説明する。図１は、本発明の一実施形態である電子楽器１の電気的構成を示したブロック図である。電子楽器１は、ＣＰＵ２（中央処理装置）と、そのＣＰＵ２により実行される制御プログラム３ａを記憶したＲＯＭ３（リード・オンリ・メモリ）と、ＣＰＵ２が制御プログラムを実行する際の作業用のメモリエリア等を有するＲＡＭ４（ランダム・アクセス・メモリ）と、電子楽器１に指示を行う操作子や、その操作子により設定されたパラメータなどを表示する表示器が設けられた操作パネル５と、ＭＩＤＩ規格に適合した演奏情報を入力するＭＩＤＩインターフェース（Ｉ／Ｆ）６と、そのＭＩＤＩインターフェース６により入力された演奏情報に対応した楽音信号を生成する音源７と、Ｄ／Ａ変換器８とを主に備えている。
【００２６】
ＭＩＤＩインターフェース６には、ＭＩＤＩ規格に適合した演奏情報を鍵盤の操作に応じて出力するＭＩＤＩ鍵盤装置２０が接続され、Ｄ／Ａ変換器８には、Ｄ／Ａ変換器８により出力された楽音を増幅するアンプ２１が接続され、そのアンプ２１には、そのアンプ２１により増幅された楽音を放音するスピーカ２２が接続される。
【００２７】
ＣＰＵ２には、時間経過に従って音源７が生成する楽音の音高を変化させる場合の計時を行うタイマ２ａが設けられている。このタイマ２ａは、所定時間（例えば１ｍｓｅｃ）を計時するたびに、ＣＰＵ２に割り込みを発生するように構成されている。
【００２８】
ＲＯＭ３には、図５および図６に示すフローチャートの処理に対応する制御プログラム３ａや正弦テーブル３ｂや各種定数などが記憶される。正弦テーブル３ｂは、音高を徐々に変化する場合に参照され、正弦波形の一部に沿って滑らかに音高が変化するように音源に対し指示が行われる。詳細については、後述する。
【００２９】
ＲＡＭ４には、前回入力された演奏情報や今回入力された演奏情報やフラグなどを記憶するテンポラリメモリ４ａが設けられている。このテンポラリメモリ４ａに記憶される情報については、図４を参照して後述する。
【００３０】
音源７には、各種楽音の波形を記憶し、ＣＰＵ２により指示された波形を読み出すことによりデジタル信号の楽音を発生することができるように構成されている。音源７により出力されたデジタル信号は、Ｄ／Ａ変換器８によりアナログ信号に変換され、アンプ２１に入力される。
【００３１】
音源７に、指示される情報は、ＭＩＤＩ規格に準拠したフォーマットであり、楽音の発生を指示する情報をノートオン情報、楽音の発生の停止を指示する情報をノートオフ情報、ノートオン情報により指示された音高の変更する指示する情報をピッチベンド情報と称する。ノートオン情報は、その情報がノートオン情報であることを示すステータス情報と、発音させる楽音の音高を指示するノート情報と、押鍵速度を示すベロシティ情報とを含むものである。また、ノートオフ情報は、その情報がノートオフ情報であることを示すステータス情報と、発音を停止させる楽音の音高を指示するノート情報と、離鍵速度を示すベロシティ情報とを含むものである。また、ピッチベンド情報は、その情報がピッチベンド情報であることを示すステータス情報と、現在発音中の楽音のノートオン情報により指示された音高から高く、または低く音高を変化させる音高幅を指示するベンド値情報を含むものである。
【００３２】
次に、図２を参照してモード１のグリッサンドについての動作の概略を説明し、図３を参照してモード２のグリッサンドについて動作の概略を説明する。モード１は、新たに入力されたノートオン情報の音高と、それまでに発音していた音高との音高差Ｉが所定の値以下である場合の音高変化の態様であり、トロンボーンのスライドの伸縮操作による音高変化を模擬するモードである。また、モード２は、新たに入力されたノートオン情報の音高と、それまでに発音していた音高との音高差Ｉが所定の値以下でない場合の音高変化の態様であり、トロンボーンの演奏における倍音列の移動とスライドの伸縮操作による音高変化を模擬するモードである。なお、グリッサンドを行わない通常の演奏の態様をモード０とする。
【００３３】
ノートオン情報およびノートオフ情報を総称してノートイベントと称し、まず、ノートイベントＡ（以下、「ノートＡ」と称す）が発生し、次にノートイベントＢ（以下、「ノートＢ」と称す）が発生した場合に、ノートＡの音高とノートＢの音高との音高差Ｉが算出され、その音高差Ｉが所定の値（例えば６半音）より大きい場合は、モード１の態様でグリッサンドが行われ、その音高差Ｉが所定の値以下である場合は、モード２の態様でグリッサンドが行われる。なお、本実施形態では、所定の音高から異なる音高へ徐々に音高を変化することをグリッサンドと称し、ポルタメントと区別するものではない。
【００３４】
図２および図３は、横軸を時間（単位：ｍｓｅｃ）、縦軸を音高（単位：半音）とし、図２（ａ）、図２（ｃ）、図３（ａ）、図３（ｃ）は、入力されたノートＡとノートＢとの２つのノートイベントを示し、図２（ｂ）、図２（ｄ）、図３（ｂ）、図３（ｄ）は、音源７に出力するノートイベントと、ピッチベンド情報により指示される音高の変化をそれぞれ示すグラフである。また、図２（ａ）、図２（ｂ）、図３（ａ）、図３（ｂ）は、ノートＡの音高がノートＢの音高より低い場合であり、図２（ｃ）、図２（ｄ）、図３（ｃ）、図（ｄ）は、ノートＡの音高がノートＢの音高より高い場合をそれぞれ示している。
【００３５】
これらの図において、各ノートイベントは、音高を示す水平な実線とその実線を囲む長方形とで示され、各ノートイベントを示す長方形の左端の時刻にノートオン情報が入力または出力され、各ノートイベントを示す長方形の右端の時刻にノートオフ情報が入力または出力されることを示している。
【００３６】
まず、図２を参照してモード１の態様で行われるグリッサンドについて説明する。図２（ａ）は、入力ノートイベントを示し、詳細には、時刻ｔ１に、ノートＡのノートオン情報が入力され、続いて時刻ｔ２に、ノートＢのノートオン情報が入力され、次に時刻ｔ３に、ノートＡのノートオフ情報が入力され、時刻ｔ４にノートＢのノートオフ情報が入力される場合を示す。また、ノートＢの音高は、ノートＡの音高より高く、ノートＡとノートＢとの音高差Ｉは、所定の値（例えば６半音）以下である。また、ノートＡのノートオフ情報を入力した時刻ｔ３より前である時刻ｔ２にノートＢのノートオン情報を入力しているので、ノートＢは、レガート演奏されたと判断される。
【００３７】
図２（ｂ）は、図２（ａ)に示す入力ノートイベントに対応して音源７に出力する出力ノートイベントを示す。図２（ｂ）が示すように、まず、ノートＡのノートオン情報が入力された時刻ｔ１に、そのノートオン情報が音源７に出力される。
【００３８】
次に、ノートＢのノートオン情報が入力された時刻ｔ２において、レガート演奏が行われたと判断し、さらにノートＡとノートＢとの音高差Ｉが、所定の値以下であるので、モード１の態様で音高変化するように音源７に指示される。具体的には、現在発音中であるノートＡに基づく発音に対して、ノートＡの音高からノートＢの音高に徐々に変化するように所定時間間隔で、ピッチベンド情報を音源７に出力し、指示した音高がノートＢの音高に至った場合に、ピッチベンド情報の出力を停止する。従って、時刻ｔ２にノートＢのノートオン情報が入力されるが、音源７にはノートオン情報が出力されない。また時刻ｔ３にノートＡのノートオフ情報が入力されるが、音源７にはノートオフ情報が出力されず、時刻ｔ４にノートＢのノートオフ情報が入力された時、音源７にノートＡのノートオフ情報が出力される。
【００３９】
図２（ｃ）は、図２（ａ）と同様に、入力イベントを示し、時刻ｔ１に、ノートＡのノートオン情報が入力され、続いて時刻ｔ２に、ノートＢのノートオン情報が入力され、次に時刻ｔ３に、ノートＡのノートオフ情報が入力され、時刻ｔ４にノートＢのノートオフ情報が入力される場合を示す。また、ノートＢの音高は、ノートＡの音高より低く、ノートＡとノートＢとの音高差Ｉは、所定の値（例えば６半音）以下である。
【００４０】
図２（ｄ）は、図２（ｃ)に示す入力ノートイベントに対応して音源７に出力する出力ノートイベントを示す。図２（ｄ）が示すように、まず、ノートＡのノートオン情報が入力された時刻ｔ１に、そのノートオン情報が音源７に出力される。
【００４１】
次に、ノートＢのノートオン情報が入力された時刻ｔ２において、レガート演奏が行われたと判断し、さらにノートＡとノートＢとの音高差Ｉが、所定の値以下であるので、モード１の態様で音高変化するように音源７に指示される。具体的には、現在発音中であるノートＡに基づく発音に対して、ノートＡの音高からノートＢの音高に徐々に変化するように所定時間間隔で、ピッチベンド情報を音源７に出力し、指示した音高がノートＢの音高に至った場合に、ピッチベンド情報の出力を停止する。従って、時刻ｔ２にノートＢのノートオン情報が入力されるが、音源７にはノートオン情報が出力されない。また時刻ｔ３にノートＡのノートオフ情報が入力されるが、音源７にはノートオフ情報が出力されない。時刻ｔ４にノートＢのノートオフ情報が入力された場合は、音源７にノートＡのノートオフ情報が出力される。
【００４２】
徐々に音高を変化する時間であるグリッサンド時間をＴ（単位：ｍｓｅｃ）、ノートＡの音高とノートＢの音高との音高差をＩ（単位：半音）、定数をＡ、Ｂとすると、グリッサンド時間Ｔは、次に示す数式１により算出される。
Ｔ＝Ａ×［Ｂ×（Ｉ−６）＋１］・・・（１）
なお、定数Ａは、例えば、５００、定数Ｂは、例えば、０．１とする。この変化時間内の音高は、正弦（サイン）関数に基づいて算出される。この正弦関数は、音高を徐々に高くする場合は、−π／２（−９０度）から＋π／２（＋９０度）までの関数を用い、音高を徐々に低くする場合は、＋π／２（＋９０度）から＋３π／２（＋２７０度）までの関数を用いる。
【００４３】
グリッサンド時間をＴ、音高の変化を開始してからの時間である現在時刻をｔ、音高を徐々に高くする場合の時刻ｔにおけるノートＢの音高に対するベンド値をＰＵｐ、音高を徐々に低くする場合の時刻ｔにおけるノートＡの音高に対するベンド値をＰＤｗとするとＰＵｐ、ＰＤｗは、次に示す数式２、数式３によりそれぞれ算出される。なお、サイン関数は、ＲＯＭ３の正弦テーブル３ｂに記憶され、この正弦テーブル３ｂを参照することにより、サイン（ｓｉｎ）の値が求められる。
ＰＵｐ＝（Ｉ／２）×｛ｓｉｎ（（（π×ｔ）／Ｔ）−π／２）＋１｝・・・（２）
ＰＤｗ＝（Ｉ／２）×｛ｓｉｎ（（（π×ｔ）／Ｔ）＋π／２）−１｝・・・（３）
これらのＰＵｐまたはＰＤｗの値は、所定時間間隔で算出され、ピッチベンド情報として音源７に出力される。よって、音源７は、正弦波の一部のカーブに従い、滑らかに音高を徐々に高く、または低く変化する楽音を発生する。
【００４４】
以上のように、モード１は、ノートＡとノートＢの音高差Ｉが所定の値以下の場合において、トロンボーンのスライドを伸縮操作することによる音高変化を模擬した音高変化を行うものである。
【００４５】
次に、図３を参照して、モード２の態様で行われるグリッサンドについて説明する。図３（ａ）は、モード２における入力ノートイベントを示し、時刻ｔ１に、ノートＡのノートオン情報が入力され、続いて時刻ｔ２に、ノートＢのノートオン情報が入力され、次に時刻ｔ３に、ノートＡのノートオフ情報が入力され、時刻ｔ４にノートＢのノートオフ情報が入力される場合を示す。また、ノートＢの音高は、ノートＡの音高より高く、ノートＡとノートＢとの音高差Ｉは、所定の値（例えば６半音）より大きい場合である。また、図２と同様に、ノートＡのノートオフ情報を入力した時刻ｔ３より前である時刻ｔ２にノートＢのノートオン情報を入力しているので、ノートＡとノートＢとは、レガート演奏されたと判断される。
【００４６】
図３（ｂ）は、図３（ａ)に示す入力ノートイベントに対応して音源７に出力する出力ノートイベントを示す。図３（ｂ）が示すように、まず、ノートＡのノートオン情報が入力された時刻ｔ１に、そのノートオン情報が音源７に出力される。
【００４７】
次に、ノートＢのノートオン情報が入力された時刻ｔ２において、レガート演奏が行われたと判断し、さらにノートＡとノートＢとの音高差Ｉが、所定の値より大きいので、モード２の態様でグリッサンドを行うように音源７に指示する。具体的には、現在発音中であるノートＡに基づく楽音に対して、発音を停止するように指示するノートオフ情報を出力し、ノートＢに基づく楽音の発生を開始するように指示するノートオン情報を出力する。この時、ノートＢの音高から所定の変化幅ΔＰだけ低い音高を指定し、それ以後、徐々にノートＢの音高に変化するように所定時間間隔で、ピッチベンド情報を音源７に出力する。指示した音高がノートＢの音高に至った場合に、ピッチベンド情報の出力を停止する。ノートＢのノートオフ情報を入力した時刻ｔ４には、ノートＢのノートオフ情報を音源７に出力する。
【００４８】
図３（ｃ）は、図３（ａ）と同様に、入力イベントを示し、時刻ｔ１に、ノートＡのノートオン情報が入力され、続いて時刻ｔ２に、ノートＢのノートオン情報が入力され、次に時刻ｔ３に、ノートＡのノートオフ情報が入力され、時刻ｔ４にノートＢのノートオフ情報が入力される。ノートＢの音高は、ノートＡの音高より低く、ノートＡとノートＢとの音高差Ｉは、所定の値（例えば６半音）より大きい場合である。
【００４９】
図３（ｄ）は、図３（ｃ)に示す入力ノートイベントに対応して音源７に出力する出力ノートイベントを示す。図３（ｄ）が示すように、まず、ノートＡのノートオン情報が入力された時刻ｔ１に、そのノートオン情報が音源７に出力される。
【００５０】
次に、ノートＢのノートオン情報が入力された時刻ｔ２において、レガート演奏が行われたと判断し、さらにノートＡとノートＢとの音高差Ｉが、所定の値より大きいので、モード２の態様でグリッサンドを行うように音源７に指示される。具体的には、現在発音中であるノートＡに基づく発音に対して、ノートＡの音高から徐々に低く変化するように所定時間間隔で、ピッチベンド情報を音源７に出力し、指示した音高がノートＡの音高から所定の変化幅ΔＰだけ低い音高に至った場合に、ピッチベンド情報の出力を停止するとともに、ノートＢの音高で新たな楽音の発生を開始するように指示するノートオン情報を出力する。ノートＢのノートオフ情報を入力した時刻ｔ４には、ノートＢのノートオフ情報を音源７に出力する。
【００５１】
なお、モード２では、徐々に音高を変化する時間であるグリッサンド時間Ｔは、所定の値（例えば、３００ｍｓｅｃ）に設定され、また変化幅ΔＰも所定値（例えば、２半音）に設定される。グリッサンド時間をＴ、音高の変化を開始してからの時間を示す現在時刻をｔ、音高を徐々に高くする場合の時刻ｔにおけるノートＢの音高に対するベンド値をＰＵｐ、音高を徐々に低くする場合の時刻ｔにおけるノートＡの音高に対するベンド値をＰＤｗとするとＰＵｐ、ＰＤｗは、次に示す数式４、数式５によりそれぞれ算出される。
ＰＵｐ＝（ΔＰ／Ｔ）×ｔ−ΔＰ・・・（４）
ＰＤｗ＝−（ΔＰ／Ｔ）×ｔ・・・（５）
以上のように、モード２は、ノートＡとノートＢとの音高差Ｉが所定の値より大きい場合において、トロンボーンの演奏における倍音列の移動とスライドを伸縮操作することによる音高変化を模擬した音高変化を行うものである。
【００５２】
次に、図４を参照して、ＲＡＭ４のテンポラリメモリ４ａの構成と、記憶される情報について説明する。図４は、テンポラリメモリ４ａの構成と記憶される情報とを示すテーブルである。このテーブルが示すように、テンポラリメモリ４ａには、ノートＡに関する情報が記憶されるノートＡメモリ４ａ１と、ノートＢに関する情報が記憶されるノートＢメモリ４ａ２と、モードフラグが記憶されるモードフラグメモリ４ａ３と、グリッサンド時間Ｔが記憶されるグリッサンド時間メモリ４ａ４と、音高差Ｉが記憶される音高差メモリ４ａ５が備えられる。
【００５３】
ノートＡメモリ４ａ１と、ノートＢメモリ４ａ２に記憶される情報は、ステータス（Ｓ１、Ｓ２）と、音高（Ｎ１、Ｎ２）と、ベロシティ（Ｖ１、Ｖ２）により構成される。ステータスＳ１、Ｓ２は、ノートオン情報を入力した場合にノートオンを入力したことを示すデータ（以下、「オン」と称す）が記憶され、ノートオフ情報を音源７に出力した場合に、ノートオフ情報を出力したことを示すデータ（以下、「オフ」と称す）に書き換えられる。音高Ｎ１、Ｎ２は、入力されたノートオン情報に含まれるノートナンバにより示される音高であり、ベロシティＶ１、Ｖ２は、入力されたノートオン情報に含まれるベロシティの値である。
【００５４】
新たなノートオン情報を入力した場合は、ノートＢメモリ４ａ２に記憶されているステータスＳ２、音高Ｎ２およびベロシティＶ２が、ノートＡメモリ４ａ１のそれぞれの記憶位置に転記され、ノートＢメモリ４ａ２の記憶位置に、新たなノートオン情報に基づいて、それぞれの情報が記憶される。
【００５５】
モードフラグメモリ４ａ３に記憶されるモードフラグは、グリッサンドを行わない場合、０に設定され、モード１の態様でグリッサンドを行う場合は１に、モード２の態様でグリッサンドを行う場合は２に設定される。ＣＰＵ２は、レガート演奏ではないと判断し、グリッサンドを行わないと決定すると、このモードフラグを０に設定し、モード１の態様でグリッサンドを行うと決定すると、タイマ割込を許可するとともに、このモードフラグを１に設定し、モード２の態様でグリッサンドを行うと決定すると、タイマ割込を許可するとともに、このモードフラグを２に設定する。
【００５６】
グリッサンド時間メモリ４ａ４に記憶されるグリッサンド時間Ｔは、上述の通りモード１に設定された場合は、数式１により算出された値が設定され、モード２に設定された場合は、所定の時間に設定される。
【００５７】
音高差メモリ４ａ５に記憶される音高差Ｉは、グリッサンドを行うことが決定され、モードを１とするか２とするかを判断する際に、ノートＡの音高とノートＢの音高との音高差Ｉが算出され、この音高差メモリ４ａ５に記憶される。
【００５８】
次に、図５および図６を参照して、ＣＰＵ２が実行する処理について説明する。図５は、イベントメイン処理を示すフローチャートであり、図６は、イベントメイン処理おいて、タイマ割込が設定された場合に、タイマ２ａが所定時間毎に発生するタイマ割込に応じて起動されるタイマ割込処理を示すフローチャートである。
【００５９】
まず、図５を参照して、ノートオン情報またはノートオフ情報を入力した時に起動されるイベントメイン処理について説明する。なお、電子楽器１の電源が投入された場合、ＣＰＵ２は、タイマ割込を禁止するものとする。
【００６０】
このイベントメイン処理では、まず、入力されたイベントの種類がノートオン情報か否かを判断する（Ｓ１）。入力されたイベントの種類がノートオン情報である場合は（Ｓ１：Ｙｅｓ）、次にモードフラグが０に設定されているか否かを判断する（Ｓ２）。モードフラグが０に設定されている場合は（Ｓ２：Ｙｅｓ）、ノートＢメモリ４ａ２にノートＢとして記憶されているステータスＳ２、音高Ｎ２、ベロシティＶ２をノートＡメモリ４ａ１に転記し（Ｓ３）、新たに入力されたノートオン情報のステータス、音高、ベロシティをノートＢメモリ４ａ２に記憶する（Ｓ４）。
【００６１】
次に、今回入力したノートオン情報がレガート演奏であったか否かを判断する（Ｓ５）。このレガート演奏か否かの判断は、ノートＡメモリ４ａ１のステータスＳ１が、オンか、オフかにより判断され、ノートＡのステータスＳ１が、オンの場合は、ノートＡに対応するノートオフ情報をまだ入力していないので、レガート演奏であると判断され、ステータスＳ１がオフに書き換えられている場合は、すでにノートＡに対応するノートオフ情報を入力し、音源７に対してノートオフ情報を出力していることを示すのでレガート演奏ではないと判断する。
【００６２】
Ｓ５の判断処理において、レガート演奏が行われたと判断した場合は（Ｓ５：Ｙｅｓ）、現在時刻を示す変数ｔを０に設定する（Ｓ６）。レガート演奏が行われた場合は、モード１またはモード２の態様でグリッサンドが開始されるので、グリッサンドを開始した時からの時刻を示すｔを０にリセットする。
【００６３】
次に、ノートＡの音高とノートＢの音高との音高差Ｉを算出し（Ｓ７）、その算出された音高差Ｉを音高差メモリ４ａ５に記憶する。次に、その音高差Ｉが、所定の音高幅ΔＰ（例えば、６半音）以下か否かを判断する（Ｓ８）。音高差Ｉが所定の音高幅ΔＰ以下である場合は（Ｓ８：Ｙｅｓ）、モード１におけるグリッサンド時間Ｔを算出する（Ｓ９）。このグリッサンド時間Ｔの算出は、上記、数式１を用いて行い、算出されたグリッサンド時間Ｔを、グリッサンド時間メモリ４ａ４に記憶する。次に、モードフラグメモリ４ａ３に記憶されるモードフラグを１に設定し、タイマ２ａによる割込を許可し、タイマ２ａによる計時を開始させる（Ｓ１０）。
【００６４】
一方、Ｓ８の判断処理において、音高差Ｉが、所定の音高幅ΔＰ以下ではない、即ち音高差Ｉが所定の音高幅ΔＰより大きい場合は（Ｓ８：Ｎｏ）、モード２におけるグリッサンド時間Ｔを所定の時間（例えば、３００ｍｓｅｃ）としてグリッサンド時間メモリ４ａ４に記憶する（Ｓ１１）。次に、ノートＡの音高は、ノートＢの音高より低いか否かを判断し（Ｓ１２）、ノートの音高が、ノートＢの音高より低い場合は（Ｓ１２：Ｙｅｓ）、ノートＡメモリに記憶されているステータスＳ１をオフに書き換え、その書き換えたステータスＳ１と、音高Ｎ１、ベロシティＶ１とにより構成されるノートオフ情報を音源７に出力する（Ｓ１３）。この処理により、それまで発音していたノートＡに基づく楽音が停止される。Ｓ１３の処理を終了した場合、またはＳ１２の判断処理において、ノートＡの音高は、ノートＢの音高より低くないと判断された場合は（Ｓ１２：Ｎｏ）、モードフラグメモリ４ａ３に記憶されるモードフラグを２に設定し、タイマ２ａによる割込を許可する（Ｓ１４）。この処理により、タイマ割込によりモード２の態様でグリッサンドが開始されることになる。Ｓ２の判断処理において、モードフラグが０に設定されいない場合（Ｓ２：Ｎｏ）、または、Ｓ１０の処理を終了した場合、または、Ｓ１４の処理を終了した場合は、このイベントメイン処理を終了する。一方、Ｓ５の判断処理において、レガート演奏ではないと判断された場合は（Ｓ７：Ｎｏ）、入力されたノートＢのノートオン情報を音源７に出力し（Ｓ１５）、このイベントメイン処理を終了する。
【００６５】
以上、入力されたイベントがノートオン情報である場合について説明したように、新たに入力されたノートオン情報により、レガート演奏か否かが判断され、レガート演奏である場合は、現在発音中のノートＡの音高との音高差Ｉが算出され、その音高差Ｉが、所定の値以下である場合は、モード１により、その音高差Ｉが所定の値より大きい場合は、モード２によりグリッサンドを開始するように設定される。
【００６６】
次に、入力されたイベントがノートオフ情報である場合について説明する。Ｓ１の判断処理において、入力されたイベントがノートオン情報ではない、即ちノートオフ情報であると判断された場合は（Ｓ１：Ｎｏ）、そのノートオフ情報が、ノートＡに対応するノートオフ情報であるか否かを判断する（Ｓ２１）。この判断は、入力されたノートオフ情報の音高と、ノートＡメモリ４ａ１に記憶された音高Ｎ１とが一致するか否かを判断することにより行われ、一致する場合は、ノートＡに対応するノートオフ情報であると判断され、一致しない場合は、ノートＡに対応するノートオフ情報ではなくノートＢに対応するノートオフ情報であると判断される。入力されたノートオフ情報がノートＡに対応するノートオフ情報であると判断された場合は（Ｓ２１：Ｙｅｓ）、モードフラグメモリ４ａ３に記憶されているモードフラグが、グリッサンドを行わないモードを示す０であるか否かを判断する（Ｓ２２）。設定されているモードが０である場合は（Ｓ２２：Ｙｅｓ）、ノートＡメモリ４ａ１のステータスＳ１をオフに書き換え、ノートＡのノートオフ情報を音源７に出力する（Ｓ２３）。設定されているモードが０ではない場合は（Ｓ２２：Ｎｏ）、またはＳ２３の処理を終了した場合は、このイベントメイン処理を終了する。
【００６７】
Ｓ２１の判断処理において、入力されたノートオフ情報がノートＡに対応するノートオフ情報ではないと判断された場合は（Ｓ２１：Ｎｏ）、入力されたノートオフ情報がノートＢに対応するノートオフ情報であり、次に、ノートＡが発音中であるか否かを判断する（Ｓ２４）。この判断は、ノートＡメモリ４ａ１に記憶されたステータスＳ１により行われ、ステータスＳ１がオンであれば、発音中であり、オフでれば、発音中でないと判断される。ノートＡが発音中である場合は（Ｓ２４：Ｙｅｓ）、ノートＡのノートオフ情報と、ベンド値を０とするピッチベンド情報とを音源７に出力し、ノートＡメモリ４ａ１のステータスＳ１をオフに書き換える（Ｓ２５）。ノートＢのノートオフ情報を入力したにも拘わらず、ノートＡのノートオフ情報を音源７に出力するのは、モード１の態様では、ノートＡに基づいて発生されている楽音の音高を変化しているからである。また、ベンド値を０とするピッチベンド情報を音源７に出力するのは、モード１の態様では、ノートＡの音高を、ノートＢの音高に変化するように、その音高差をベンド値で音源７に指示したので、このベンド値を０に設定することにより、次にノートオン情報に基づいて発生される楽音の音高が正しい音高で発生されるようにするためである。
【００６８】
Ｓ２４の判断処理において、ノートＡが発音中ではないと判断された場合は（Ｓ２４：Ｎｏ）、またはＳ２５の処理を終了した場合は、次にモードフラグが２に設定されているか否かを判断する（Ｓ２６）。モードフラグが２に設定されている場合は（Ｓ２６：Ｙｅｓ）、ノートＢが発音中であるか否かを判断する（Ｓ２７）。この判断は、ノートＢメモリＡ４ａ２に記憶されたステータスＳ２により行われ、ステータスＳ２がオンであれば、発音中であり、オフでれば、発音中でないと判断される。ノートＢが発音中である場合は（Ｓ２７：Ｙｅｓ）、ノートＢのノートオフ情報を音源７に出力する（Ｓ２８）。Ｓ２６の判断処理においてモードフラグが２に設定されていない場合（Ｓ２６：Ｎｏ）、または、Ｓ２７の判断処理において、ノートＢが発音中でない場合（Ｓ２７：Ｎｏ）、またはＳ２８の処理を終了した場合は、モードフラグを０に設定し（Ｓ２９）、このイベントメイン処理を終了する。
【００６９】
次に、図６を参照してタイマ割込処理について説明する。図６は、タイマ割込処理を示すフローチャートであり、このタイマ割込処理は、タイマ２ａが所定時間を計時するたびに起動される割込処理であり、モード１またはモード２の態様で、グリッサンドを行う処理である。なお、このタイマ割込処理では、現在時刻ｔが計時される。
【００７０】
このタイマ割込処理では、まず、設定されているモードが１か否かを判断する（Ｓ３１）。モードが１である場合は（Ｓ３１：Ｙｅｓ）、次に、現在時刻ｔが、グリッサンド時間Ｔ以内であるか否かを判断する（Ｓ３２）。グリッサンド時間Ｔは、上述の通りグリッサンド時間メモリ４ａ４に記憶されている。現在時刻ｔがグリッサンド時間Ｔ以内である場合は（Ｓ３２：Ｙｅｓ）、まだ、ノートＢの音高に到達していないということであり、ノートＡの音高Ｎ１は、ノートＢの音高Ｎ２より低いか否かを判断する（Ｓ３３）。
【００７１】
ノートＡの音高Ｎ１がノートＢの音高Ｎ２より低い場合は（Ｓ３３：Ｙｅｓ）、現在時刻ｔと、グリッサンド時間メモリ４ａ４に記憶されたグリッサンド時間Ｔと音高差メモリ４ａ５に記憶された音高差Ｉとを数式２に代入してベンド値ＰＵｐを算出する（Ｓ３４）。次に、その算出された値ＰＵｐをベンド値とするピッチベンド情報を音源７に出力する（Ｓ３５）。
【００７２】
一方、ノートＡの音高Ｎ１がノートＢの音高Ｎ２より低くない場合は（Ｓ３３：Ｎｏ）、現在時刻ｔと、グリッサンド時間メモリ４ａ４に記憶されたグリッサンド時間Ｔと音高差メモリ４ａ５に記憶された音高差Ｉとを数式３に代入してベンド値ＰＤｗを算出する（Ｓ３６）。次に、その算出された値ＰＤｗをベンド値とするピッチベンド情報を音源７に出力する（Ｓ３７）。Ｓ３５またはＳ３７の処理を終了した場合は、現在時刻ｔを１進め（Ｓ３８）、このタイマ割込処理を終了する。
【００７３】
Ｓ３２の判断処理において、現在時刻ｔが、グリッサンド時間Ｔ以内ではない場合は（Ｓ３２：Ｎｏ）、グリッサンドを終了したことになり、タイマ割込を禁止し（Ｓ３９）、このタイマ割込処理を終了する。以上、モード１が指定されている場合は、ノートＡの音高に対するベンド値が所定の時間間隔で算出され、そのベンド値がピッチベンド情報として、音源７に出力される。音源７は、ノートＡに基づいて形成している楽音の音高をピッチベンド情報が示すベンド値に従って変化する。このことにより、トロンボーンのスライドを伸縮操作することによるグリッサンドを模擬することができる。
【００７４】
一方、Ｓ３１の判断処理において、設定されているモードが１ではない場合は（Ｓ３１：Ｎｏ）、モードが２であり、次に、ノートＡの音高Ｎ１は、ノートＢの音高Ｎ２より低いか否かを判断する（Ｓ４１）。ノートＡの音高Ｎ１がノートＢの音高Ｎ２より低い場合は（Ｓ４１：Ｙｅｓ）、現在時刻ｔがグリッサンド時間Ｔ以内であるか否かを判断し（Ｓ４２）、現在時刻ｔがグリッサンド時間Ｔ以内である場合は（Ｓ４２：Ｙｅｓ）、まだ、ノートＢの音高に到達していないということであり、現在時刻ｔと、グリッサンド時間メモリ４ａ４に記憶されたグリッサンド時間Ｔと、音高差メモリ４ａ５に記憶された音高差Ｉとを数式４に代入し、ベンド値ＰＵｐを算出する（Ｓ４３）。次に、その算出された値ＰＵｐをベンド値とするピッチベンド情報を音源７に出力する（Ｓ４４）。次に、現在時刻ｔが０か否かを判断し（Ｓ４５）、現在時刻ｔが０である場合は（Ｓ４５：Ｙｅｓ）、ノートＢのノートオン情報を音源７に出力し（Ｓ４６）、ノートＡメモリ４ａ１に記憶されたステータスＳ１をオフに書き換え、ノートＡのノートオフ情報を形成して音源７に出力する（Ｓ４７）。Ｓ４７の処理を終了した場合、またはＳ４５の判断処理において、現在時刻ｔが０ではない場合は（Ｓ４５：Ｎｏ）、Ｓ４５およびＳ４６の処理をスキップして現在時刻ｔを１進め（Ｓ３８）、このタイマ割込処理を終了する。
【００７５】
Ｓ４２の判断処理において、現在時刻ｔが、グリッサンド時間Ｔ以内ではない場合は（Ｓ４２：Ｎｏ）、グリッサンドを終了したことになり、タイマ割込を禁止し（Ｓ３９）、このタイマ割込処理を終了する。
【００７６】
一方、Ｓ４１の判断処理において、ノートＡの音高Ｎ１がノートＢの音高Ｎ２より低くない場合は（Ｓ４１：Ｎｏ）、現在時刻ｔがグリッサンド時間Ｔ以内であるか否かを判断し（Ｓ５１）、現在時刻ｔがグリッサンド時間Ｔ以内である場合は（Ｓ５１：Ｙｅｓ）、まだ、音高を下げている途中であって、所定の音高幅ΔＰに到達していないということであり、現在時刻ｔ、グリッサンド時間メモリ４ａ４に記憶されたグリッサンド時間Ｔと音高差メモリ４ａ５に記憶された音高差Ｉとを数式５に代入しベンド値ＰＤｗを算出する（Ｓ５２）。次に、その算出された値ＰＤｗをベンド値とするピッチベンド情報を音源７に出力する（Ｓ５３）。Ｓ５３の処理を終了した場合は、現在時刻ｔを１進め（Ｓ３８）、このタイマ割込処理を終了する。
【００７７】
現在時刻ｔがグリッサンド時間Ｔ以内ではない場合は（Ｓ５１：Ｎｏ）、音高が所定の音高幅ΔＰに到達したということであり、ノートＡメモリ４ａ１に記憶されたステータスＳ１をオフに書き換えて、ノートＡのノートオフ情報を形成し、そのノートオフ情報を音源７に出力する（Ｓ５５）。次に、ベンド値を０とするピッチベンド情報を音源７に出力し（Ｓ５６）、ノートＢのノートオン情報を音源７に出力する（Ｓ５７）。この処理により、音源７は、ノートＡの音高を徐々に下げ、所定の音高幅ΔＰだけ降下したとき、ノートＡの楽音の発生を停止し、ノートＢの楽音の発生を開始する。次に、タイマ割込を禁止し（Ｓ５８）、このタイマ割込処理を終了する。
【００７８】
以上のように、モード２の態様でグリッサンドを行う場合であって、ノートＢの音高がノートＡより高い場合は、ノートＢに対応する楽音の発生が指示され、そのノートＢに基づく楽音の音高は、ノートＢの音高より所定の音高幅ΔＰだけ低い音高から徐々にノートＢの音高へ変化するように制御される。また、ノートＢの音高がノートＡより低い場合は、ノートＡに基づく楽音の音高が、徐々に下げられ、ノートＡの音高より所定の音高幅ΔＰだけ低い音高に至った場合に、ノートＢに基づく楽音の発生を開始するように制御される。よって、トロンボーンの演奏における倍音列の移動とスライドを伸縮操作することによる音高変化を模擬したグリッサンドが行われる。
【００７９】
以上、第１の実施形態について説明したように、ノートＡの音高と次に入力したノートＢの音高との音高差Ｉが所定の値以下の場合は、モード１の態様であるトロンボーンのスライドを伸縮操作することによる音高変化を模擬したグリッサンドが行われ、ノートＡの音高と次に入力したノートＢの音高との音高差Ｉが所定の値以下ではない場合は、モード２の態様であるトロンボーンの演奏における倍音列の移動とスライドを伸縮操作することによる音高変化を模擬したグリッサンドが行われる。
【００８０】
次に、図７および図８を参照して、第２の実施形態について説明する。上述の通り、トロンボーンでは、倍音列の移動とスライドの伸縮操作により音高が特定される。従って、一つの倍音列で演奏を行っている場合に、スライドを伸縮操作することにより音高が特定され、この音高は、複数の連続した音高である。第２の実施形態では、電子楽器が発生することができる全範囲の音高に、複数の音域を特定し、ノートＡの音高と、ノートＢの音高とが、同一の音域に含まれる場合は、モード１によりグリッサンドを行い、ノートＡの音高と、ノートＢの音高とが、同一の音域に含まれない場合は、モード２によりグリッサンドを行うものである。なお、第２実施形態では、第１実施形態と同一の部分については、同一の符号で示し、異なる部分だけについて説明するものとする。第２の実施形態において、異なるのは、複数の音域を特定するための音域テーブルが、ＲＯＭ３に記憶されている点と、図５に示すフローチャートのうち、Ｓ１０およびＳ１１の処理が異なるだけである。ＲＯＭ３に記憶される音域テーブルについては、図７に、図５に代わるフローチャートについては、図８にそれぞれ示す。
【００８１】
図７に示すように、音域テーブルには、音域番号（Ｒ１〜Ｒ１０）に対応して、全音高範囲（Ｅ１からＤ５）のうちの所定の音域が示されている。音高は、音名を示すアルファベットと、オクターブを示す数字とにより構成される。例えば、音高が「Ｅ１」は、第１オクターブの音名Ｅ（英語の音名標記Ａ，Ｂ，Ｃ・・・は、日本語のイ、ロ、ハ・・・にそれぞれ対応し、「Ｅ」は、日本語の「ホ」に対応する）であることを示す。例えば、第１の音域Ｒ１は、Ｅ１からＢ♭１までの間の複数の連続した音高（Ｅ１，Ｅ＃１，Ｆ，Ｇ・・・Ａ，Ｂ♭１）の範囲を示すものである。
【００８２】
次に、図８を参照して、第２の実施形態におけるイベントメイン処理について説明する。図８は、第２の実施形態におけるイベントメイン処理を示すフローチャートである。
【００８３】
この処理では、入力されたノートイベントがノートオン情報であった場合（Ｓ１：Ｙｅｓ）、ノートＢメモリ４ａ２にノートＢとして記憶されているステータスＳ２、音高Ｎ２、ベロシティＶ２をノートＡメモリ４ａ１に転記し（Ｓ３）、新たに入力されたノートオン情報のステータス、音高、ベロシティをノートＢメモリ４ａ２に記憶する（Ｓ４）。次に、今回のノートオン情報を入力したことがレガート演奏であったか否かを判断する（Ｓ５）。そして、Ｓ５の判断処理において、レガート演奏であると判断された場合は、現在時刻ｔを０とする（Ｓ６）。ここまでの処理は、第１の実施形態と同一である。
【００８４】
次に、ノートＡメモリ４ａ１に記憶された音高Ｎ１およびノートＢメモリ４ａ２に記憶された音高Ｎ２がそれぞれ、音域テーブルにより特定される複数の音域のいずれの音域に含まれるかを検出し、その音域番号を取得する（Ｓ６１）。次に、音高Ｎ１が含まれる音域の音域番号と、音高Ｎ２が含まれる音域の音域番号とが同一か否かを判断し（Ｓ６２）、同一の音域番号である場合は（Ｓ６２：Ｙｅｓ）、モード１でグリッサンドを行うようにグリッサンド時間Ｔを設定し（Ｓ９）、モードフラグメモリ４ａ３に記憶されるモードフラグを１に設定して、タイマ割込を許可する（Ｓ１０）。
【００８５】
一方、Ｓ６２の判断処理において、音高Ｎ１が含まれる音域の音域番号と、音高Ｎ２が含まれる音域の音域番号とが同一ではないと判断された場合は（Ｓ６２：Ｎｏ）、モード２の態様でグリッサンドを行うようにグリッサンド時間Ｔを設定し（Ｓ１１）、ノートＡの音高は、ノートＢの音高より低いかを判断し（Ｓ１２）、ノートの音高が、ノートＢの音高より低い場合は（Ｓ１２：Ｙｅｓ）、ノートＡメモリに記憶されているステータスＳ１をノートオフを示すステータスに書き換え、その書き換えたステータスＳ１と、音高Ｎ１、ベロシティＶ１とにより構成されるノートオフ情報を音源７に出力する（Ｓ１３）。
【００８６】
Ｓ１３の処理を終了した場合、またはＳ１２の判断処理において、ノートＡの音高は、ノートＢの音高より低くないと判断された場合は（Ｓ１２：Ｎｏ）、モードフラグメモリ４ａ３に記憶されるモードフラグを２に設定し、タイマ２ａによる割込を許可する（Ｓ１４）。他の処理は、図５の処理と同様である。
【００８７】
以上、第２の実施形態に基づいて説明したように、複数の音域と特定し、ノートＡの音高とノートＢの音高とが同一の音域に含まれる場合は、モード１の態様でグリッサンドを行い、ノートＡの音高とノートＢの音高とが同一の音域に含まれない場合は、モード２の態様でグリッサンドを行うようにしたので、トロンボーンのスライドの伸縮操作のみによる音高の変化と、倍音列の移動とスライドの伸縮操作とによる音高の変化とを模擬することができる。
【００８８】
なお、各請求項に記載の音高差判断手段は、図５に記載のフローチャートのＳ８の処理が該当し、第１の指示手段は、図５に記載のフローチャートのＳ１０の処理が該当し、第２の指示手段は、図５に記載のフローチャートのＳ１４の処理が該当し、音域特定手段は、図７に基づいて説明した音域テーブルが該当し、音域判断手段は、図８に記載のフローチャートのＳ６２の処理が該当し、レガート演奏判断手段は、図５に記載のフローチャートのＳ５の処理が該当する。
【００８９】
以上、実施形態に基づき本発明を説明したが、本発明は上記実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００９０】
例えば、上記実施形態では、電子楽器１に音源７が内蔵されているものとしたが、ＭＩＤＩなどのインターフェースを介して、外部音源に接続されるようにしてもよい。
【００９１】
また、上記実施形態では、音源７が発生する楽音の音色が選択されることについては記載していないが、音色を任意に選択する操作子を備え、その操作子により選択された音色がトロンボーンである場合に、本発明が適用されるものとしてもよい。
【００９２】
また、上記実施形態では、レガート演奏が行われたか否かを判断し、レガート演奏が行われたと判断された場合に、グリッサンドが行われるものとしたが、演奏者により操作されるスイッチを備え、そのスイッチが操作されている間に２つのノートオンを入力した場合は、レガート演奏が行われたか否かにかかわらずグリッサンドを行うようにしてもよい。また、スイッチによりグリッサンドを行うように演奏者により設定され、且つ、レガート演奏が行われた場合にグリッサンドを行うようにしてもよい。
【００９３】
また、上記実施形態では、入力されるノートイベントは、鍵盤を演奏することにより発生されるものとしたが、ギターシンセサイザなどのように、他の楽器で演奏されて形成されたノートイベントでもよい。
【００９４】
また、上記実施形態では、モード２の態様でグリッサンドを行う際に、ノートＡの音高がノートＢの音高より低い場合は、ノートＢの音高より所定の音高幅ΔＰだけ低い音高からグリッサンド時間Ｔの間に徐々にノートＢの音高に至るように音高を変化し、ノートＡの音高がノートＢの音高より高い場合は、ノートＡの音高からグリッサンド時間Ｔの間に音高を徐々に下げ、ノートＡの音高から所定の音高幅ΔＰだけ低い音高に至るように制御し、その音高に至った場合に、ノートＢの楽音を発生するものとしたが、前者のΔＰの音高幅と、後者のΔＰの音高幅とを異なる値に設定してもよい。また、前者のグリッサンド時間Ｔと後者のグリッサンド時間Ｔとを異なる時間としてもよい。
【図面の簡単な説明】
【００９５】
【図１】本発明による実施形態における電子楽器の電気的構成を示すブロック図である。
【図２】モード１の態様でグリッサンドが行われる場合の入力イベントと出力イベントとを模式的に示すグラフである。
【図３】モード２の態様でグリッサンドが行われる場合の入力イベントと出力イベントとを模式的に示すグラフである。
【図４】テンポラリメモリが記憶する情報を示すテーブルである。
【図５】イベントメイン処理を示すフローチャートである。
【図６】タイマ割込処理を示すフローチャートである。
【図７】第２の実施形態における複数の音域を示すテーブルである。
【図８】第２の実施形態におけるイベントメイン処理を示すフローチャートである。
【符号の説明】
【００９６】
１                          電子楽器
２                          ＣＰＵ
２ａ                        タイマ
３                          ＲＯＭ
４                          ＲＡＭ
４ａ                        テンポラリメモリ
７                          音源
【図１】
0005165971.tif 000002
【図２】
0005165971.tif 000003
【図３】
0005165971.tif 000004
【図４】
0005165971.tif 000005
【図５】
0005165971.tif 000006
【図６】
0005165971.tif 000007
【図７】
0005165971.tif 000008
【図８】
0005165971.tif 000009