(57)【要約】【課題】弦楽器の演奏をより忠実に模擬することができる電子楽器を提供する。【解決手段】ノートＢのノートオン情報が入力された時刻ｔ２でノートＡのノートオフ情報が出力され、同時に、ノートＢのノートオン情報が出力されると同時に指板音の発生を指示するノートオン情報が出力される。レガート演奏が行われ、かつ、ノートＡとの音高差が１〜６半音の範囲であり、かつ、時刻ｔ１から時刻ｔ２までの時間が１２５ｍｓｅｃ以上であるので、指板音の発生を指示するノートオン情報が出力される。【選択図】図２
2009037022.tif 000002
【特許請求の範囲】
【請求項１】
所定の音高の楽音の発音開始を指示するノートオン情報と、所定の音高の楽音の発音の停止を指示するノートオフ情報とを入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音を発生する音源に指示を行う電子楽器において、
前記入力手段により第１のノートオン情報を入力し、その第１のノートオン情報の次に第２のノートオン情報を入力した場合に、前記第２のノートオン情報を入力したタイミングと前記第１のノートオン情報に対応するノートオフ情報を入力したタイミングとに基づいてレガート演奏であるか否かを判断するレガート演奏判断手段と、
前記第２のノートオン情報が示す音高が、前記第１のノートオン情報が示す音高より高く、かつその音高差が所定の範囲内であるかを判断する指板音高差判断手段と、
前記第１のノートオン情報を入力したタイミングから前記第２のノートオン情報を入力したタイミングまでの時間を計時する計時手段と、
前記レガート演奏判断手段により、レガート演奏が行われたと判断され、かつ、前記指板音高差判断手段により前記第２のノートオン情報が示す音高が、前記第１のノートオン情報が示す音高より高く、かつ、音高差が所定の範囲内であると判断され、かつ、前記計時手段により計時された時間が所定の時間より長い場合に、弦楽器の指板を指で押さえる音を模擬した指板音を発生するように前記音源に指示する指板音発生指示手段とを備えていることを特徴とする電子楽器。
【請求項２】
前記第１のノートオン情報が示す音高と前記第２のノートオン情報が示す音高との音高差に応じたレベルで前記指板音を発生するように前記音源に指示するレベル指示手段を備えていることを特徴とする請求項１記載の電子楽器。
【請求項３】
所定の音高の楽音の発音開始を指示するノートオン情報と、所定の音高の楽音の発音の停止を指示するノートオフ情報とを入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音を発生する音源に指示を行う電子楽器において、
前記入力手段により第１のノートオン情報を入力し、その第１のノートオン情報の次に第２のノートオン情報を入力した場合に前記第２のノートオン情報を入力したタイミングと前記第１のノートオン情報に対応するノートオフ情報を入力したタイミングとに基づいてレガート演奏であるか否かを判断するレガート演奏判断手段と、
前記第１のノートオン情報が示す音高と、前記第２のノートオン情報が示す音高との差が所定の値より大きいかを判断するリリース音高差判断手段と、
前記レガート演奏判断手段により、レガート演奏が行われたと判断され、かつ、前記リリース音高差判断手段により前記第１のノートオン情報が示す音高と前記第２のノートオン情報が示す音高との差が所定の値より大きい場合に弦楽器の弦から弓が離された音を模擬したリリース音を発生するように前記音源に指示するリリース音発生指示手段とを備えていること特徴とする電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、弦楽器の演奏をより忠実に模擬することができる電子楽器に関する。
【背景技術】
【０００２】
従来、鍵盤による演奏で弦楽器の演奏を模擬する電子楽器が提案されている。特許３７１９１２９号公報（特許文献１）には、鍵盤により指定された音高が、その音高の前に指定された音高より高い場合は、鍵盤により指定された音高が、その音高の前に指定された音高より低い場合に比べ、立ち上がりが遅い楽音を発生することが開示されている。
【０００３】
また、特開２００５−２５０１１号公報には、押鍵された場合には、発音用波形データを読み出し、離鍵された場合には、消音用波形データを読み出すように構成され、２音を連続して発音するレガート演奏が行われた場合は、先の離鍵については、消音用波形データを読み出さないようにし、２音のつながりが自然になることが開示されている。
【特許文献１】特許第３７１９１２９号公報
【特許文献２】特開２００５−２５０１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１および特許文献２に開示された装置では、バイオリンなどの弦楽器において、指で弦を指板の上に押さえる際に発生される音（指板音）や、弦から弓を離す際に発生される音（リリース音）を模擬することができないという問題点があった。
【０００５】
本発明は、上述した問題点を解決するためになされたものであり、弦楽器の演奏をより忠実に模擬することができる電子楽器を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１記載の電子楽器は、所定の音高の楽音の発音開始を指示するノートオン情報と、所定の音高の楽音の発音の停止を指示するノートオフ情報とを入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音を発生する音源に指示を行うものであり、前記入力手段により第１のノートオン情報を入力し、その第１のノートオン情報の次に第２のノートオン情報を入力した場合に、前記第２のノートオン情報を入力したタイミングと前記第１のノートオン情報に対応するノートオフ情報を入力したタイミングとに基づいてレガート演奏であるか否かを判断するレガート演奏判断手段と、前記第２のノートオン情報が示す音高が、前記第１のノートオン情報が示す音高より高く、かつ、その音高差が所定の範囲内であるかを判断する指板音高差判断手段と、前記第１のノートオン情報を入力したタイミングから前記第２のノートオン情報を入力したタイミングまでの時間を計時する計時手段と、前記レガート演奏判断手段により、レガート演奏が行われたと判断され、かつ、前記指板音高差判断手段により前記第２のノートオン情報が示す音高が、前記第１のノートオン情報が示す音高より高く、かつ、音高差が所定の範囲内であると判断され、かつ、前記計時手段により計時された時間が所定の時間より長い場合に、弦楽器の指板を指で押さえる音を模擬した指板音を発生するように前記音源に指示する指板音発生指示手段とを備えている。
【０００７】
請求項２記載の電子楽器は、請求項１記載の電子楽器において、前記第１のノートオン情報が示す音高と前記第２のノートオン情報が示す音高との音高差に応じたレベルで前記指板音を発生するように前記音源に指示するレベル指示手段を備えている。
【０００８】
請求項３記載の電子楽器は、所定の音高の楽音の発音開始を指示するノートオン情報と、所定の音高の楽音の発音の停止を指示するノートオフ情報とを入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音を発生する音源に指示を行うものであり、前記入力手段により第１のノートオン情報を入力し、その第１のノートオン情報の次に第２のノートオン情報を入力した場合は、前記第２のノートオン情報を入力したタイミングと前記第１のノートオン情報に対応するノートオフ情報を入力したタイミングとに基づいてレガート演奏であるか否かを判断するレガート演奏判断手段と、前記第１のノートオン情報が示す音高と、前記第２のノートオン情報が示す音高との差が所定の値より大きいかを判断するリリース音高差判断手段と、前記レガート演奏判断手段により、レガート演奏が行われたと判断され、かつ、前記リリース音高差判断手段により前記第１のノートオン情報が示す音高と前記第２のノートオン情報が示す音高との差が所定の値より大きい場合に弦楽器の弦から弓が離された音を模擬したリリース音を発生するように指示するリリース音発生指示手段とを備えている。
【発明の効果】
【０００９】
請求項１記載の電子楽器によれば、レガート演奏判断手段は、第１のノートオン情報の次に第２のノートオン情報を入力したとき、第１のノートオン情報に対応するノートオフ情報を入力したタイミングと第２のノートオン情報を入力したタイミングとに基づいてレガート演奏が行われたか否かを判断する。
【００１０】
鍵盤でレガート演奏を行う場合は、前に押鍵していた鍵を離鍵する前に次の鍵を押鍵した場合に、レガート演奏が行われたものと判断されることがある。また、鍵盤以外の楽器では、滑らかに連続して繋がるように演奏された場合にレガート演奏とされ、いずれの場合も、先に発音されている楽音に対する発音停止指示のタイミングと次に発音開始を指示するタイミングとに基づいてレガート演奏が行なわれたか否かが判断される。
【００１１】
指板音高差判断手段は、第２のノートオン情報が示す音高が、第１のノートオン情報が示す音高より高く、かつ、その音高差が所定の範囲であるかを判断し、計時手段は、第１のノートオン情報を入力したタイミングから第２のノートオン情報を入力したタイミングまでの時間を計時する。そして、指板音発生指示手段は、レガート演奏判断手段により、レガート演奏が行われたと判断され、かつ、指板音高差判断手段により第２のノートオン情報が示す音高が、第１のノートオン情報が示す音高より高く、かつ、音高差が所定の範囲内であると判断され、かつ、計時手段により計時された時間が所定の時間より長い場合に、弦楽器の指板を指で押さえる音を模擬した指板音を発生するように指示する。
【００１２】
バイオリンなどの弦楽器において、レガート演奏が行われる場合は、ある弦をある指で指板の上のあるポジションを押下した状態で、異なる指で、同じ弦の高いポジションを押さえた場合である。この場合に、ポジションが近い場合は、指が指板に対して垂直に押下されるので指板を叩く音（以下、指板音という）は、大きくないが、ポジションが離れた場合は、指が指板に対して斜めに押下され、指板音が大きく、顕著になる。音高差が、所定の値より大きい場合は、異なる弦が押さえられるので、音高の差が所定の範囲である場合に、のみ、指板音が大きい。また、音高が速く変化するような場合は、弦が軽く押下され、指板音は、大きくない。
【００１３】
従って、本発明のように、レガート演奏であって、現在の音高が直前の音高より高く、その音高差が所定の範囲内であって、かつ、現在の発音開始指示と、直前の発音開始指示との時間差が、所定の長さより長い場合に、指板音が顕著に発生され、鍵盤楽器などで、弦楽器の演奏を模擬する場合に、より忠実に弦楽器を模擬した演奏音を発生することができるという効果がある。
【００１４】
請求項２記載の電子楽器によれば、請求項１記載の電子楽器の奏する効果に加え、第１のノートオン情報が示す音高と第２のノートオン情報が示す音高との音高差に応じたレベルで指板音を発生するように指示するレベル指示手段を備えているので、指板音のレベル（振幅）を音高差に応じて制御することができるという効果がある。例えば、音高差が大きいほど、指板音のレベルを大きくすることができる。
【００１５】
請求項３記載の電子楽器によれば、レガート演奏判断手段は、第１のノートオン情報の次に第２のノートオン情報を入力したとき、第１のノートオン情報に対応するノートオフ情報を入力したタイミングと第２のノートオン情報を入力したタイミングとに基づいてレガート演奏が行われたか否かを判断する。
【００１６】
鍵盤でレガート演奏を行う場合は、前に押鍵していた鍵を離鍵する前に次の鍵を押鍵した場合に、レガート演奏が行われたものと判断されることがある。また、鍵盤以外の楽器では、滑らかに連続して繋がるように演奏された場合にレガート演奏とされ、いずれの場合も、先に発音されている楽音に対する発音停止指示のタイミングと次に発音開始を指示するタイミングとに基づいてレガート演奏が行なわれたか否かが判断される。
【００１７】
リリース音高差判断手段は、第１のノートオン情報が示す音高と、第２のノートオン情報が示す音高との差が所定の値より大きいかを判断する。リリース音発生指示手段は、レガート演奏判断手段により、レガート演奏が行われたと判断され、かつ、リリース音高差判断手段により第１のノートオン情報が示す音高と第２のノートオン情報が示す音高との音高差が所定の値より大きい場合に、弦楽器の弦から弓が離された音を模擬したリリース音を発生する。
【００１８】
バイオリンなどの弦楽器（擦弦楽器）は、弓で弦を擦ることにより楽音が発生されるが、弓が弦から離される場合にも、弓が弦を擦り、短い音が発生される。以下、この音をリリース音と称す。弓が弦から離される場合は、レガート演奏ではない場合と、レガート演奏であっても、音高差が大きい場合は、異なる弦が演奏され、一方の弦から弓が離される。請求項３によれば、このように弓が弦から離された場合を模擬するもので、鍵盤などで、弦楽器の演奏を模擬する場合に、より弦楽器を演奏した場合に近似した演奏音を発生することができるという効果がある。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の一実施形態である電子楽器１の電気的構成を示したブロック図である。電子楽器１は、ＣＰＵ２（中央処理装置）と、そのＣＰＵ２により実行される制御プログラム３ａを記憶したＲＯＭ３（リード・オンリ・メモリ）と、ＣＰＵ２が制御プログラムを実行する際の作業用のメモリエリア等を提供するＲＡＭ４（ランダム・アクセス・メモリ）と、電子楽器１に指示を行う操作子や、その操作子により設定されたパラメータなどを表示する表示器が設けられた操作パネル５と、ＭＩＤＩ規格に適合した演奏情報を入力するＭＩＤＩインターフェース（Ｉ／Ｆ）６と、そのＭＩＤＩインターフェース６により入力された演奏情報に対応した楽音信号を生成する音源７と、Ｄ／Ａ変換器８とを主に備えている。
【００２０】
ＭＩＤＩインターフェース６には、ＭＩＤＩ規格に適合した演奏情報を鍵盤の操作に応じて出力するＭＩＤＩ鍵盤装置２０が接続され、Ｄ／Ａ変換器８には、Ｄ／Ａ変換器８により出力された楽音を増幅するアンプ２１が接続され、そのアンプ２１には、そのアンプ２１により増幅された楽音を放音するスピーカ２２とが接続される。
【００２１】
ＣＰＵ２には、演奏情報が入力された時間間隔や、楽音を発音している時間を計時するためのタイマ２ａが設けられている。このタイマ２ａは、常時計時を行う時計であって、ｍｓｅｃ単位の時刻を計時する。
【００２２】
ＲＯＭ３には、図６〜図９に示すフローチャートの処理に対応する制御プログラム３ａや、図５に示すベロシティカーブ３ｂや、各種定数などが記憶される。ＲＡＭ４には、前回入力された演奏情報や今回入力された演奏情報やフラグなどを記憶するテンポラリメモリ４ａが設けられている。このテンポラリメモリ４ａに記憶される情報については、図４を参照して後述する。
【００２３】
音源７には、各種楽音の波形を記憶し、ＣＰＵ２により指示された波形を読み出すことによりデジタル信号の楽音を発生することができるように構成されている。音源７により出力されたデジタル信号は、Ｄ／Ａ変換器８によりアナログ信号に変換され、アンプ２１に入力される。
【００２４】
音源７は、第１パートとして、ノーマル音、第２パートとしてレガート音、第３パートとして指板音、第４パートとしてリリース音を発生する。バイオリンが発生する楽音を例に説明すると、ノーマル音とは、指でバイオリンの指板の上に弦を押さえ、弓を弦から離している状態から、弓を弦に当てて弾くことにより発生される音である。レガート音は、ある指板上の位置で弦を押さえ、弓を弾きながら、その弦を他の指で押さえた場合、または、ある指板上の位置で弦を押さえ、弓を弾きながら、指板上の弦を押さえる指を離した場合の音である。
【００２５】
指板音は、ある指板上の位置である指で弦を押さえている状態で、その弦の、その位置より音高が高い位置を他の指で押さえた場合に、指が指板を叩く音が発生され、その音を模擬する音である。現在押さえている位置と新たに押さえる位置とが近い場合（音高差が小さい）には、指が指板にほぼ垂直に押下され、指板を叩く音は、小さい。現在押さえている音高と次に押さえる音高との音高差が大きいほど指板音は、大きくなる。音高差が所定の範囲（例えば、３から６半音）の場合に、特に指板音は大きくなる。
【００２６】
音高差が所定の値（例えば、６半音）より大きい場合は、現在押さえている弦とは、異なる弦を押さえることになり、指板音は、小さい。また、この指板音は、音高が速く変わるいわゆる速弾きの場合には、軽く弦が押さえられるので、あまり発生されない。具体的には、２つの楽音の発生を開始する時間間隔が、例えば１２５ｍｓｅｃ以上の場合に、発生される。
【００２７】
リリース音は、弓を弦から離す際に、弓が弦とが擦れることにより発生される短い音である。レガート演奏ではなく、区切って演奏される場合には、このリリース音が付加される。レガート演奏が行われた場合で、同じ弦で演奏された場合には、先に発音していた音が停止する際に、発生されないが、異なる弦に変えられた場合には、それまで発音していた弦から弓が離され、リリース音が発生される。よって音高差が大きい場合（例えば、６半音以上）には、リリース音が発生される。
【００２８】
なお、指板音およびリリース音ともに、発音を開始してから所定時間（例えば、５０ｍｓｅｃ）で、発音を停止する。
【００２９】
音源７にいずれかの楽音の発生を指示する場合は、ＭＩＤＩ規格で規定されるチャネル番号により、いずれかのパートを指定する。例えば、第１パートのノーマル音の発音の開始を指示する場合は、ノートオン情報（ＭＩＤＩ規格では、ノートオンメッセージと称す）のステータスに含まれるチャネル番号を１として、音源７に指示を行う。
【００３０】
次に、図２を参照して、指板音が発生される場合について説明し、次に図３を参照してリリース音が発生される場合について説明する。図２および図３は、横軸を時間（単位：ｍｓｅｃ）、縦軸を音高（単位：半音）とし、図２（ａ）、図３（ａ）および図３（ｃ）は、入力された２つのノートイベントを示し、図２（ｂ）、図３（ｂ）および図３（ｄ）は、音源７に出力する２つのノートイベントをそれぞれ示すグラフである。なお、ノートイベントとは、ノートオン情報およびノートオフ情報の総称であり、ノートオン情報は、発音の開始を指示する演奏情報であり、ノートオフ情報は、発音の停止を指示する演奏情報である。ノートオン情報およびノートオフ情報は、いずれも音高を示すノート情報と、押鍵速度、または離鍵速度を示すベロシティ情報とを含むものである。
【００３１】
これらの図において、各ノートイベントは、音高を示す水平な実線とその実線を囲む長方形とで示され、各イベントを示す長方形の左端のタイミングにおいてノートオン情報が入力または出力され、各イベントを示す長方形の右端のタイミングにおいてノートオフ情報が入力または出力されることを示している。
【００３２】
まず、図２を参照して、指板音が発生される場合について説明する。図２（ａ）に示すように、時刻ｔ１に、ノートＡのノートオン情報が入力され、続いて時刻ｔ２に、ノートＢのノートオン情報が入力され、次に時刻ｔ３に、ノートＡのノートオフ情報が入力され、時刻ｔ４にノートＢのノートオフ情報が入力される。ノートＢの音高は、ノートＡの音高より高く、ノートＡとノートＢとの音高差は、１〜６半音の範囲内である。
【００３３】
ノートＡのノートオフ情報を入力した時刻ｔ３より前である時刻ｔ２にノートＢのノートオン情報を入力している。先にノートオンされたイベントに対応するノートオフが発生されるタイミングの前に、次のノートオンが発生され場合、レガート演奏されたと判断される。また、ノートＡのノートオン情報を入力した時刻ｔ１からノートＢのノートオン情報を入力した時刻ｔ２までの時間は、１２５ｍｓｅｃ以上である。
【００３４】
図２（ｂ）は、図２（ａ)に示す入力ノートイベントに対応して音源７に出力する出力ノートイベントを示すグラフである。図２（ｂ）が示すように、まず、ノートＡのノートオン情報が入力された時刻ｔ１に、そのノートオン情報が音源７に出力される。
【００３５】
次に、ノートＢのノートオン情報が入力された時刻ｔ２において、指板音の発生を指示するか否かを判断する。図２（ａ）に示すようにレガート演奏が行われ、ノートＢの音高がノートＡの音高より高く、かつ、ノートＡとの音高差が１〜６半音の範囲であり、かつ、時刻ｔ１から時刻ｔ２までの時間が１２５ｍｓｅｃ以上であるので、指板音の発生を指示するノートオン情報が出力される。同時に、ノートＡのノートオフ情報と、ノートＢのノートオン情報が出力される。
【００３６】
次に、時刻ｔ２から所定時間（例えば、５０ｍｓｅｃ）経過後の時刻ｔ５に、指板音の消音を指示するノートオフ情報が出力される。次に、時刻ｔ４に入力されたノートＢのノートオフ情報に対応して、同じ時刻ｔ４にノートＢのノートオフ情報が出力される。
【００３７】
次に、図３を参照してリリース音が発生される場合について説明する。図３（ａ）は、
入力ノートイベントを示すグラフであり、時刻ｔ１に、ノートＡのノートオン情報が入力され、続いて時刻ｔ２にノートＢのノートオン情報が入力され、次に時刻ｔ３にノートＡのノートオフ情報が入力され、時刻ｔ４にノートＢのノートオフが入力され、ノートＡとノートＢとの音高差は、６半音より小さいことを示している。
【００３８】
ノートＡのノートオフ情報を入力した時刻ｔ３より前である時刻ｔ２にノートＢのノートオン情報を入力しているので、ノートＡとノートＢとは、レガート演奏されたと判断される。
【００３９】
図３（ｂ）は、図３（ａ）に示すノートイベントを入力した場合に、音源７に対して出力する出力ノートイベントを示すグラフである。図３（ｂ）に示すように、まず、時刻ｔ１に入力されたノートＡのノートオン情報に対応して、同じ時刻ｔ１にノートＡのノートオン情報が音源７に出力される。次に、時刻ｔ２に入力されたノートＢのノートオン情報について判断を行い、レガート演奏が行われ、かつ、ノートＡとの音高差が６半音以内であるので、この場合は、リリース音の発生を指示するノートオン情報を出力せずに、ノートＡのノートオフ情報のみを出力する。
【００４０】
次に、時刻ｔ４に入力したノートＢのノートオフ情報について判断すると、このノートオフ情報の前後では、ノートイベントが発生されていないので、ノートＢのノートオフ情報とリリース音の発生を指示するノートオン情報を音源７に出力する。リリース音の発生を指示するノートオン情報を出力した後、所定時間後の時刻ｔ５に、リリース音の消音を指示するノートオフ情報を出力する。
【００４１】
図３（ａ）および図３（ｂ）は、ノートＡとノートＢとの音高差が、６半音以下である場合を示したが、図３（ｃ）および図３（ｄ）は、ノートＡとノートＢとの音高差が、６半音より大きい場合を示す。この場合は、レガート演奏であっても、ノートＡのノートオフ情報と同時にリリース音を発生するように指示する。
【００４２】
詳細には、まず、時刻ｔ１に入力したノートＡのノートオン情報に対応して、同じ時刻ｔ１にノートＡのノートオン情報を出力する。次に、時刻ｔ２に入力したノートＢのノートオン情報について判断を行い、レガート演奏が行われたことと、ノートＡとの音高差が６半音より大きいので、リリース音の発生を指示するノートオン情報とノートＡのノートオフ情報とが出力される。リリース音の発生を指示するノートオン情報が出力されてから所定時間が経過した時刻ｔ５に、リリース音の消音を指示するノートオフ情報が出力される。
【００４３】
次に、時刻ｔ４に入力したノートＢのノートオフ情報について判断すると、このノートオフ情報の前後では、ノートイベントが発生されていないので、ノートＢのノートオフ情報とリリース音の発生を指示するノートオン情報が出力される。リリース音の発生を指示するノートオン情報が出力された後、所定時間後である時刻ｔ６に、リリース音の消音を指示するノートオフ情報が音源７に出力される。なお、図３（ｃ）、（ｄ）は、ノートＢの音高がノートＡの音高より高い場合を示しているが、ノートＢの音高がノートＡの音高より低く、その音高差が６半音より大きい場合も、リリース音の発生を指示する。
【００４４】
次に、図４を参照して、ＲＡＭ４のテンポラリメモリ４ａに記憶される情報について説明する。図４は、テンポラリメモリ４ａに記憶される情報を示すテーブルであり、ノートＡ４ａ１と、ノートＢ４ａ２と、指板音４ａ３と、リリース音４ａ４に関する情報と、発音中フラグ４ａ５とが記憶される。
【００４５】
ノートＡと、ノートＢと、指板音と、リリース音に関する情報には、時刻（Ｔ１、Ｔ２、Ｔ３、Ｔ４）と、ステータス（Ｓ１、Ｓ２、Ｓ３、Ｓ４）と、音高（Ｎ１、Ｎ２、Ｎ３、Ｎ４）と、ベロシティ（Ｖ１、Ｖ２、Ｖ３、Ｖ４）とが記憶される。時刻は、タイマ２ａにより計時される時刻が記憶される。ノートＡとノートＢについては、そのノートオン情報を入力した時刻であり、指板音と、リリース音については、音源７に対して発音の開始を指示するノートオン情報を音源７に出力した時刻が記憶される。
【００４６】
テンポラリメモリ４ａに記憶されるステータスは、ノートＡおよびノートＢについては、入力されたノートオン情報に含まれるステータス（９ＸＨ、Ｈは、１６進数を示す）であり、ノートオン情報であることを示すデータ（上記９Ｈ）と、チャネル番号を示すデータ（ＸＨ）により構成される。
【００４７】
入力されたノートオン情報に基づいて、音源７にノーマル音の発音を指示する場合は、このチャネル番号を「１Ｈ」に、レガート音の発音を指示する場合は、「２Ｈ」に変更して、音源７に出力する。また、音源７に対して、ノートオフ情報を出力した場合は、このステータスをノートオフ情報を示す情報（８ＸＨ）に書き換える。
【００４８】
指板音については、音源７に対して発音の開始を指示した場合に、ノートオン情報を示す「９」と、指板音を示す「３」とからなる「９３Ｈ」と記憶する。リリース音についても同様に、音源７に対して発音の開始を指示した場合に、ノートオン情報を示す「９」と、リリース音を示す「４」とからなる「９４Ｈ」と記憶する。
【００４９】
テンポラリメモリ４ａに記憶される音高は、ノートＡおよびノートＢについては、入力されたノートオン情報に含まれるノートナンバにより示される音高である。指板音については、この実施形態では、指板音は、音高によらず同一の音を発生するものであるので、所定の値を記憶してもよいし、何も記憶しなくてもよい。
【００５０】
リリース音については、ノートオフ情報を出力する際に、そのノートオフ情報が示す音高に応じたリリース音の発生を指示する。よって、音高としては、指示したリリース音の音高を記憶する。例えば、ノートＡのノートオフ情報を出力する場合に、リリース音の発生を指示する場合は、ノートＡの音高を記憶することになる。
【００５１】
テンポラリメモリ４ａに記憶されるベロシティは、ノートＡおよびノートＢについては、入力されたノートオン情報に含まれるベロシティである。指板音については、ノートＡの音高とノートＢの音高との差に応じて、ベロシティが決定され、そのベロシティが、音源７に出力される。この指板音のベロシティについては、図５を参照して後述する。
【００５２】
リリース音については、入力されたノートオフ情報が示すベロシティが、音源７に出力され、そのベロシティが記憶される。
【００５３】
ノートＢの次に新たなノートオン情報を入力した場合は、ノートＢについて記憶されている時刻、ステータス、音高およびベロシティが、ノートＡのそれぞれの記憶位置に転記され、ノートＢについての記憶位置に、新たなノートオン情報に基づいて、それぞれの情報が記憶される。
【００５４】
テンポラリメモリ４ａに記憶される発音中フラグは、指板音またはリリース音のいずれかの発音開始を指示するノートオン情報を音源７にした出力した場合は、１が記憶され、指板音またはリリース音の発音停止を指示するノートオフ情報を音源７に出力した場合は、０が記憶される。発音中フラグは、電子楽器の電源が投入された時、０に初期化される。なお、本実施形態では、説明を簡単にするため、指板音とリリース音とが同時に発生される場合、複数の指板音が同時に発生される場合、および複数のリリース音が同時に発生される場合はないとする。
【００５５】
次に、図５を参照して、指板音のレベルを指示するベロシティについて説明する。図５は、ノートＡとノートＢとの音高差を横軸（単位：半音）とし、音源７に出力するベロシティの値を縦軸（単位：ＭＩＤＩ規格で用いられる値）とするベロシティカーブ３ｂである。
【００５６】
指板音は、上述の通り、ノートＡとノートＢとの音高差が所定の範囲である場合に発音されるが、その範囲内で、音高差が大きいほど、弦を押さえる指の軸と、指板との角度が大きくなり、指板音のレベルは、大きくなる。
【００５７】
このグラフに示すベロシティカーブ３ｂが、ＲＯＭ３に記憶され、ノートＡとノートＢとの音高差に対応するベロシティ値が、このベロシティカーブ３ｂを参照することにより求められる。なお、この指板音のレベルを指示するベロシティ値は、ノートＡとノートＢとの音高差だけでなく、その音高差とノートＢのノートオンベロシティ値とに応じた値としてもよい。例えば、ベロシティカーブ３ｂを参照して得られた値と、ノートＢのノートオンベロシティ値とを加算または乗算して所定の係数を掛けた値などとしてもよい。また、音高差が所定の範囲の時のみ音高差には依らずノートＢのノートオンベロシティ値にのみ応じた値としてもよい。または、音高差が、例えば、３から６までの範囲については、ベロシティカーブ３ｂを参照した値とし、、音高差が２以下の場合は、ノートＢのノートオンベロシティ値に応じた値とするか、指板音を発生しないようにしてもよい。また、音高差が、３から６までの範囲の場合だけ、ベロシティカーブ３ｂを参照せず一定のベロシティ値とし、一定レベルの指板音を発音するようにしてもよい。
【００５８】
次に、図６〜図９を参照して、ＣＰＵ２が実行するイベント処理について説明する。図６〜図９は、イベント処理を示すフローチャートである。まず、図６を参照して、ノートオン情報またはノートオフ情報を入力した時に起動されるイベントメイン処理について説明する。
【００５９】
まず、入力されたイベントの種類がノートオン情報か否かを判断する（Ｓ１）。入力されたイベントの種類がノートオン情報である場合は（Ｓ１：Ｙｅｓ）、指板音またはリリース音の発音中であるか否かを判断する（Ｓ２）。この判断は、テンポラリメモリ４ａに記憶される発音中フラグが１であれば、発音中であり、発音中フラグが０であれば、発音中ではないとされる。
【００６０】
指板音または、リリース音の発生の開始を指示した場合に、その開始を指示した時から所定時間（例えば、５０ｍｓｅｃ）後に、指板音または、リリース音の停止を行うが、新たなノートオン情報またはノートオフ情報を入力し、指板音またはリリース音の発音中である場合は（Ｓ２：Ｙｅｓ）、指板音またはリリース音の停止を指示する発音停止処理を行う（Ｓ３）。この発音停止処理の詳細については、図７に示すフローチャートを参照して後述する。
【００６１】
Ｓ３の処理を終了した場合、または、Ｓ２の判断処理において、指板音またはリリース音の発音中でない場合は（Ｓ２：Ｎｏ）、次に、テンポラリメモリ４ａのノートＢについて記憶されている時刻、ステータス、音高およびベロシティを、ノートＡのそれぞれの記憶位置に転記し（Ｓ４）、ノートＢの記憶位置に、タイマ２ａにより計時されている現在時刻と、入力されたノートオン情報により示されるステータスと音高とベロシティとをそれぞれの記憶位置に記憶する（Ｓ５）。
【００６２】
次に、今回のノートオン情報を入力したことがレガート演奏であったか否かを判断する（Ｓ６）。このレガート演奏か否かの判断は、テンポラリメモリ４ａのノートＡのステータスが、オン（９ＸＨ）か、オフ（８ＸＨ）かにより判断され、ノートＡのステータスが、９ＸＨの場合は、ノートＡに対応するノートオフ情報をまだ入力していないので、レガート演奏であると判断され、ステータスがオフ（８ＸＨ）に書き換えられている場合は、すでにノートＡに対応するノートオフ情報を入力しておりレガート演奏ではないと判断される。
【００６３】
Ｓ６の判断処理において、レガート演奏が行われたと判断された場合は（Ｓ６：Ｙｅｓ）、レガート処理を行う（Ｓ７）。このレガート処理については、図７に示すフローチャートを参照して後述する。Ｓ６の判断処理において、レガート演奏が行われたのではないと判断された場合は（Ｓ６：Ｎｏ）、入力されたノートオン情報のステータスのチャネル番号を「１」（パート１のノーマル音色を示す）に変更して、音源７に出力する（Ｓ８）。Ｓ７または、Ｓ８の処理を終了した場合は、このイベントメイン処理を終了する。
【００６４】
一方、Ｓ３の判断処理で、入力されたイベントがノートオン情報ではなくノートオフ情報である場合は（Ｓ３：Ｎｏ）、テンポラリメモリ４ａに記憶したノートＢと同一音高であって、ステータスが、オンか否かを判断する（Ｓ９）。そのステータスがオンの場合は（Ｓ９：Ｙｅｓ）、入力されたノートオフ情報がノートＢのノートオフ情報であり、レガート演奏ではないノンレガート演奏が行われたと判断される。
【００６５】
テンポラリメモリ４ａのリリース音の記憶位置に、タイマ２ａが示す時刻と、ノートＢのノートオン情報が示すステータスをリリース音のパートを示す９４Ｈに変更したステータスと、入力されたノートオフ情報が示す音高と、オフベロシティとをそれぞれ記憶する（Ｓ１０）。
【００６６】
次に、テンポラリメモリ４ａのノートＢのステータスをオフ（８ＸＨ）に変更し、ノートオフ情報を、音源７に出力し（Ｓ１１）、テンポラリメモリ４ａのリリース音の記憶位置に記憶した、ステータスと音高とベロシティとに基づいて、リリース音の発音開始を指示するノートオン情報を音源７に出力する（Ｓ１２）。次に、テンポラリメモリ４ａに記憶する発音中フラグを１にする（Ｓ１３）。Ｓ１３の処理を終了した場合、またはＳ９の処理で、入力したノートオフ情報が示す音高が、テンポラリメモリ４ａに記憶したノートＢと異なる音高である場合、または、そのステータスがオフの場合は（Ｓ９：Ｎｏ）、このイベントメイン処理を終了する。なお、Ｓ９の処理において、入力したノートオフ情報が示す音高が、テンポラリメモリ４ａに記憶したノートＡと同一音高であって、ステータスがオフの場合は、ノートＡに対するノートオフ情報を入力したものであって、ノートＡのノートオフ情報を入力する前にノートＢのノートオン情報を入力し、すでに音源７に対してノートオフ情報を出力している場合である。
【００６７】
次に、図７を参照してＳ７に示すレガート処理について説明する。図７は、レガート処理を示すフローチャートである。
【００６８】
まず、タイマ２ａが計時する現在時刻を読み込み、その時刻からテンポラリメモリ４ａに記憶されたノートＡの時刻を引き、ノートＡのノートオン情報を入力してからノートＢを入力した現時刻までの時間を算出し、その時間が１２５ｍｓｅｃ以上であるかを判断する（Ｓ２１）。算出された時間が１２５ｍｓｅｃ以上である場合は（Ｓ２１：Ｙｅｓ）、次にテンポラリメモリ４ａに記憶されたノートＡの音高がノートＢの音高より低いか、すなわち、今回入力されたノートオン情報が示す音高（ノートＢの音高）が、その前に入力されたノートオン情報が示す音高（ノートＡの音高）より高いか否かを判断する（Ｓ２２）。
【００６９】
ノートＢの音高がノートＡの音高より高い場合は（Ｓ２２：Ｙｅｓ）、ノートＡの音高とノートＢとの音高差を算出し、その音高差が、６半音以下であるか否かを判断する（Ｓ２３）。算出された音高差が６半音以下である場合は（Ｓ２３：Ｙｅｓ）、テンポラリメモリ４ａの指板音のついての時刻を記憶する記憶位置に現在時刻を記憶し、ステータスを９３Ｈ、音高をノートＢの音高とし（Ｓ２４）、ベロシティをＳ２３の処理で求めた音高差に基づいて、ＲＯＭ３に記憶されたベロシティカーブ３ｂを参照して求めたベロシティ値として記憶する（Ｓ２５）。
【００７０】
次に、テンポラリメモリ４ａの指板音として記憶したステータスと音高とベロシティ値とから指板音の発生を指示するノートオン情報を形成し、音源７に出力する（Ｓ２６）。次に、テンポラリメモリ４ａに記憶された発音中フラグを１にする（Ｓ２７）。
【００７１】
一方、Ｓ２１の判断処理において算出された時間が１２５ｍｓｅｃ以上ではない場合（Ｓ２１：Ｎｏ）、またはＳ２２の判断処理において、ノートＢの音高がノートＡの音高より高くない場合（Ｓ２２：Ｎｏ）、またはＳ２３の判断処理において算出された音高差が６以下ではない場合は（Ｓ２３：Ｎｏ）、次に、ノートＡの音高とノートＢの音高との音高差が６半音より大きいか否かを判断する（Ｓ２８）。
【００７２】
ノートＡの音高とノートＢの音高との音高差が６半音より大きい場合は（Ｓ２８：Ｙｅｓ）、レガート演奏であっても異なる弦が弾かれたものと判断しリリース音の発生を指示する。具体的には、テンポラリメモリ４ａのリリース音のついての時刻を記憶する記憶位置に現在時刻を記憶し、ステータスを９４Ｈ、音高をノートＢの音高とし、ベロシティを所定の値としてそれぞれ記憶する（Ｓ２９）。
【００７３】
次に、テンポラリメモリ４ａのリリース音として記憶したステータスと音高とベロシティ値とからリリース音の発生を指示するノートオン情報を形成し、音源７に出力する（Ｓ３０）。次に、テンポラリメモリ４ａに記憶された発音中フラグを１にする（Ｓ３１）。
【００７４】
Ｓ２７またはＳ３１の処理を終了した場合は、テンポラリメモリ４ａのノートＡのステータスをオフ（８ＸＨ）に書き換え、ノートオフ情報を形成して音源７に出力する（Ｓ３２）。次に、入力されたノートオン情報のステータスを９１Ｈ（レガート音の発音開始を指示する）に変更し、その変更したノートオン情報を音源７に出力する（Ｓ３３）。Ｓ３３の処理を終了した場合は、このレガート処理を終了する。
【００７５】
次に、図８を参照して、タイマ処理について説明する。このタイマ処理は、割り込み処理であって、タイマ２ａが、所定時間（例えば、１ｍｓｅｃ）を計時する度に起動される。このタイマ処理は、指板音またはリリース音が発音を開始してから所定時間で発音を停止するように指示を行うための処理である。指板音が発音を開始してから停止するまでの時間を指板音時間、リリース音が発音を開始してから停止するまでの時間をリリース音時間とする。この指板音時間とリリース音時間は、それぞれ異なる値であってもよいし、等しい時間であってもよい。
【００７６】
まず、発音中フラグが０か否かを判断する（Ｓ４１）。発音中フラグが０である場合は（Ｓ４１：Ｙｅｓ）、このタイマ処理を終了する。発音中フラグが０ではなく１である場合は（Ｓ４１：Ｎｏ）、テンポラリメモリ４ａに記憶されたリリース音のステータスがオン（９４Ｈ）であるか否かを判断する（Ｓ４２）。このステータスが、オンの場合は（Ｓ４２：Ｙｅｓ）、テンポラリメモリ４ａに記憶されたリリース音についての時刻を、タイマ２ａが計時する現在時刻から減じて、リリース音が発音している経過時間を求め、その経過時間が、リリース音時間より大きいか否かを判断する（Ｓ４３）。
【００７７】
その経過時間が、リリース音時間より大きい場合は（Ｓ４３：Ｙｅｓ）、テンポラリメモリ４ａに記憶されたリリース音のステータスをオフ（８４Ｈ）に変更し、テンポラリメモリ４ａに記憶されたリリース音の音高とベロシティとによりノートオフ情報を形成し、そのノートオフ情報を音源７に出力する（Ｓ４４）。Ｓ４４の処理を終了した場合は、テンポラリメモリ４ａに記憶される発音中フラグを０にする（Ｓ４５）。
【００７８】
Ｓ４１の判断処理で、発音中フラグが０である場合、またはＳ４３の判断処理で、経過時間がリリース音時間に至っていない場合、またはＳ４５の処理を終了した場合は、このタイマ処理を終了する。
【００７９】
一方、Ｓ４２の判断処理において、テンポラリメモリ４ａに記憶されたリリース音のステータスがオン（９４Ｈ）ではない場合は（Ｓ４２：Ｎｏ）、指板音が発音中であるので、テンポラリメモリ４ａに記憶された指板音についての時刻を、タイマ２ａが計時する現在時刻から減じて、指板音が発音している経過時間を求め、その経過時間が、指板音時間より大きいか否かを判断する（Ｓ４７）。
【００８０】
その経過時間が、指板音時間より大きい場合は（Ｓ４７：Ｙｅｓ）、テンポラリメモリ４ａに記憶された指板音のステータスをオフ（８３Ｈ）に変更し、テンポラリメモリ４ａに記憶された指板音の音高とベロシティとによりノートオフ情報を形成し、そのノートオフ情報を音源７に出力する（Ｓ４８）。Ｓ４８の処理を終了した場合は、テンポラリメモリ４ａに記憶される発音中フラグを０にする（Ｓ４９）。Ｓ４９の処理を終了した場合、またはＳ４７の判断処理で、経過時間が、指板音時間に至っていない場合は（Ｓ４７：Ｎｏ）、このタイマ処理を終了する。
【００８１】
次に、図９を参照して、発音停止処理について説明する。この発音停止処理は、図６に示すフローチャートのＳ２の処理であって、指板音またはリリース音の発音中であれば、その発音の停止を指示する処理である。
【００８２】
まず、テンポラリメモリ４ａに記憶されたリリース音のステータスがオン（９４Ｈ）であるか否かを判断する（Ｓ５１）。このステータスが、オンの場合は（Ｓ５１：Ｙｅｓ）、そのステータスをオフ（８４Ｈ）に変更し、テンポラリメモリ４ａに記憶されたリリース音の音高とベロシティとによりノートオフ情報を形成し音源７に出力する（Ｓ５２）。リリース音のステータスがオンでない場合は（Ｓ５１：Ｎｏ）、指板音が発音中であるので、テンポラリメモリ４ａに記憶された指板音のステータスをオフ（８４Ｈ）に変更し、そのステータスと、テンポラリメモリ４ａに記憶された指板音の音高とベロシティとによりノートオフ情報を形成し音源７に出力する（Ｓ５３）。Ｓ５２またはＳ５３の処理を終了した場合は、発音中フラグを０にし、この発音停止処理を終了する。
【００８３】
以上のように、上記実施形態では、ノートオン情報が入力された場合、レガート演奏であって、そのノートオン情報が示す音高が発音中の前のノートの音高より高く、かつ、前の音高と、今回のノートの音高との音高差が所定の範囲であって、かつ、前のノートオン情報を入力した時からの経過時間が、所定の時間より長い場合は、指板音を発生するように、音源７に指示を行う。
【００８４】
よって、バイオリンなどの演奏において、あるポジションで弦を押さえて弓を弾きながら、そのポジションより音高が高いポジションを押さえるというレガート演奏の場合は、新たに押さえる指が指板を斜めに押さえるので、指板を叩く指板音が大きく発生され、指板音の発生を模擬することができる。
【００８５】
また、上記実施形態では、ノートオン情報が入力された場合、レガート演奏であって、そのノートオン情報が示す音高と発音中のノートの音高との音高差が、所定の値以上の場合は、リリース音を発生するように、音源７に指示を行う。
【００８６】
よって、バイオリンなどの演奏において、レガート演奏であって、音高差が大きい場合は、弓で弾く弦が変更され、発音中のノートに対応する弦から弓が離されるので、弦から弓から離される時に発生されるリリース音が発生され、鍵盤などで演奏を行う場合であっても弦楽器におけるリリース音の発生を模擬することができる。
【００８７】
なお、請求項に記載のレガート演奏判断手段は、図６に記載のフローチャートのＳ６の処理が該当し、指板音高差判断手段は、図７に記載のフローチャートのＳ２２およびＳ２３の処理が該当し、指板音発生指示手段は、図７に記載のフローチャートのＳ２６の処理が該当し、レベル指示手段は、指板音の発生を指示するノートオン情報のベロシティ値が該当し、リリース音高差判断手段は、図７に記載のフローチャートのＳ２８の処理が該当し、リリース音発生指示手段は、図７に記載のフローチャートのＳ３０の処理が該当する。
【００８８】
以上、実施形態に基づき本発明を説明したが、本発明は上記実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００８９】
例えば、上記実施形態では、電子楽器１に音源７が内蔵されているものとしたが、ＭＩＤＩなどのインターフェースを介して、外部音源に接続されるようにしてもよい。
【００９０】
また、上記実施形態では、音源７が発生する楽音の音色が選択されることについては記載していないが、音色として、バイオリンやチェロなどの弦楽器が選択された場合に、本発明が適用されるものとしてもよい。
【００９１】
また、上記実施形態では、説明を簡単にするため、同時に複数の楽音ノートが発音されることがないものとしたが、弦楽器の２本の弦が同時に弓で弾かれる場合があるので、２つのリリース音が同時に発音されるようにしてもよい。
【００９２】
また、上記実施形態では、入力される演奏情報は、鍵盤を演奏することにより発生されるものとしたが、ギターシンセサイザなどのように、他の楽器で演奏されて演奏情報が形成されるものでもよい。
【図面の簡単な説明】
【００９３】
【図１】本発明による実施形態における電子楽器の電気的構成を示すブロック図である。
【図２】指板音が発生される場合を模式的に示すグラフである。
【図３】リリース音が発生される場合を模式的に示すグラフである。
【図４】テンポラリメモリが記憶する情報を示すテーブルである。
【図５】ベロシティカーブを示すグラフである。
【図６】イベントメイン処理を示すフローチャートである。
【図７】レガート処理を示すフローチャートである。
【図８】タイマ処理を示すフローチャートである。
【図９】発音停止処理を示すフローチャートである
【符号の説明】
【００９４】
１                          電子楽器
２                          ＣＰＵ
２ａ                        タイマ（計時手段の一例）
３                          ＲＯＭ
３ｂ                        ベロシティカーブ
４                          ＲＡＭ
４ａ                        テンポラリメモリ
７                          音源
【図１】
2009037022.tif 000003
【図２】
2009037022.tif 000004
【図３】
2009037022.tif 000005
【図４】
2009037022.tif 000006
【図５】
2009037022.tif 000007
【図６】
2009037022.tif 000008
【図７】
2009037022.tif 000009
【図８】
2009037022.tif 000010
【図９】
2009037022.tif 000011