(57)【特許請求の範囲】
【請求項１】
所定の音高の楽音の発音開始を指示するノートオン情報と、そのノートオン情報の他に、所定の音高の楽音の発音停止を指示するノートオフ情報とを入力する入力手段と、
その入力手段により入力された第１のノートオン情報が示す音高と、その第１のノートオン情報の次に入力された第２のノートオン情報が示す音高との高低を、前記第２のノートオン情報が入力された場合に判断する音高判断手段と、
前記第１のノートオン情報の発音停止を指示する第１のノートオフ情報が入力された時刻と、前記第２のノートオン情報が入力された時刻とに基づいて、レガート演奏であるか否かを判断するレガート演奏判断手段と、
前記入力手段により入力された第１のノートオン情報と前記第２のノートオン情報とが入力される時間間隔を計時する計時手段と、
その計時手段により計時される時間間隔が所定時間以内であるか否かを判断する時間間隔判断手段と、
その時間間隔判断手段により時間間隔が所定時間以内でないと判断され、前記レガート演奏判断手段によりレガート演奏であると判断され、前記音高判断手段により前記第２のノートオン情報が示す音高の方が高いと判断された場合に、その第２のノートオン情報に基づく楽音の発音開始を指示すると共に、その第２のノートオン情報に基づく楽音が、前記第２のノートオン情報が示す音高より低い音高から徐々に前記第２のノートオン情報が示す音高に音高変化して発音するように指示する一方、
前記時間間隔判断手段により時間間隔が所定時間以内でないと判断され、前記レガート演奏判断手段によりレガート演奏であると判断され、前記音高判断手段により前記第１のノートオン情報が示す音高の方が高いと判断された場合に、その第１のノートオン情報に基づく楽音を、その第１のノートオン情報が示す音高から低い音高に向かって徐々に音高変化するように指示すると共に、前記第２のノートオン情報が入力された時より遅れて前記第２のノートオン情報に基づく楽音の発音開始を指示する第１指示手段とを備えていることを特徴とする電子楽器。
【請求項２】
前記第１指示手段により徐々に音高変化を指示する場合に、その音高変化の変化時間を設定する設定手段を備え、
その設定手段は、前記第１のノートオン情報と第２のノートオン情報との音高差に応じて前記変化時間を設定すると共に、前記第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以上であった場合に、予め定めた最大値を前記変化時間に設定するものであることを特徴とする請求項１に記載の電子楽器。
【請求項３】
所定の音高の楽音の発音開始を指示するノートオン情報を入力する入力手段と、
その入力手段により入力された第１のノートオン情報が示す音高と、その第１のノートオン情報の次に入力された第２のノートオン情報が示す音高との高低を、前記第２のノートオン情報が入力された場合に判断する音高判断手段と、
前記入力手段により入力された第１のノートオン情報と前記第２のノートオン情報とが入力される時間間隔を計時する計時手段と、
その計時手段により計時される時間間隔が所定時間以内であるか否かを判断する時間間隔判断手段と、
その時間間隔判断手段により時間間隔が所定時間以内と判断され且つ前記音高判断手段により前記第２のノートオン情報が示す音高の方が高いと判断された場合に、その第２のノートオン情報に基づく楽音の発音開始を指示すると共に、その第２のノートオン情報に基づく楽音が、前記第２のノートオン情報が示す音高より低い音高から徐々に前記第２のノートオン情報が示す音高に音高変化して発音するように指示する一方、
前記時間間隔判断手段により時間間隔が所定時間以内と判断され且つ前記音高判断手段により前記第１のノートオン情報が示す音高の方が高いと判断された場合に、前記第２のノートオン情報に基づく楽音の発音開始を指示すると共に、その第２のノートオン情報に基づく楽音が、前記第２のノートオン情報が示す音高より高い音高から徐々に前記第２のノートオン情報が示す音高に音高変化して発音するように指示する第２指示手段とを備えていることを特徴とする電子楽器。
【請求項４】
前記第２指示手段により徐々に音高変化を指示する場合に、その音高変化の変化時間を設定する設定手段を備え、
その設定手段は、前記第１のノートオン情報と第２のノートオン情報との音高差に応じて前記変化時間を設定すると共に、前記第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以上であった場合に、予め定めた最大値を前記変化時間に設定するものであることを特徴とする請求項３に記載の電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器に関し、特に、楽器固有の特性に対応した演奏を簡単に行なうことができる電子楽器に関する。
【背景技術】
【０００２】
従来から、複数の音色の楽音を発音して、複数の楽器の演奏を行なうことができるシンセサイザなどの電子楽器が知られている。
【０００３】
例えば、特開昭６１−１４０９９４号公報には、音高および音長などの情報からなる楽譜情報を第１のメモリに記憶すると共に、音量およびリズムの強調などの変換規則群をジャンル別、楽器別、演奏家別などに対応して第２のメモリに記憶し、第２のメモリから選択された１の変換規則群を楽譜情報に適用して自動演奏を行なう自動演奏装置が開示されている。この自動演奏装置では、ジャンル別、楽器別、演奏家別毎に異なる複数の演奏を行なうことができる。
【特許文献１】特開昭６１−１４０９９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、管楽器の楽音を生成して自動演奏を行なう場合には、実際に演奏される管楽器の音色と生成される音色とを似せるだけでなく、音と音のつながり方など管楽器固有の特性を踏まえる必要が生じる。特に、管楽器には、演奏者が吹くときの喉の開き具合や唇の閉め具合などにより音程を調整するという固有の特性がある。
【０００５】
従来の電子楽器では、管楽器の音色を模擬した発音を行なうことはできるが、演奏者が吹くときの喉の開き具合や唇の閉め具合などの楽器固有の特性に対応した発音、及び、管楽器において連続する音と音とのつながりを違和感なく発音することは困難であった。そのため、演奏者は、実際に演奏される管楽器に忠実な音色が発音されるように、レバーなどの操作子を複雑に操作しなければならず、熟練した奏者でなければ管楽器の音色を忠実に演奏することができないという問題点があった。
【０００６】
本発明は、上述した問題点を解決するためになされたものであり、楽器固有の特性に対応した演奏を簡単に行なうことができる電子楽器を提供することを目的としている。
【課題を解決するための手段】
【０００７】
この目的を達成するために、請求項１記載の電子楽器は、所定の音高の楽音の発音開始を指示するノートオン情報と、そのノートオン情報の他に、所定の音高の楽音の発音停止を指示するノートオフ情報とを入力する入力手段と、その入力手段により入力された第１のノートオン情報が示す音高と、その第１のノートオン情報の次に入力された第２のノートオン情報が示す音高との高低を、前記第２のノートオン情報が入力された場合に判断する音高判断手段と、前記第１のノートオン情報の発音停止を指示する第１のノートオフ情報が入力された時刻と、前記第２のノートオン情報が入力された時刻とに基づいて、レガート演奏であるか否かを判断するレガート演奏判断手段と、前記入力手段により入力された第１のノートオン情報と前記第２のノートオン情報とが入力される時間間隔を計時する計時手段と、その計時手段により計時される時間間隔が所定時間以内であるか否かを判断する時間間隔判断手段と、その時間間隔判断手段により時間間隔が所定時間以内でないと判断され、前記レガート演奏判断手段によりレガート演奏であると判断され、前記音高判断手段により前記第２のノートオン情報が示す音高の方が高いと判断された場合に、その第２のノートオン情報に基づく楽音の発音開始を指示すると共に、その第２のノートオン情報に基づく楽音が、前記第２のノートオン情報が示す音高より低い音高から徐々に前記第２のノートオン情報が示す音高に音高変化して発音するように指示する一方、前記時間間隔判断手段により時間間隔が所定時間以内でないと判断され、前記レガート演奏判断手段によりレガート演奏であると判断され、前記音高判断手段により前記第１のノートオン情報が示す音高の方が高いと判断された場合に、その第１のノートオン情報に基づく楽音を、その第１のノートオン情報が示す音高から低い音高に向かって徐々に音高変化するように指示すると共に、前記第２のノートオン情報が入力された時より遅れて前記第２のノートオン情報に基づく楽音の発音開始を指示する第１指示手段とを備えている。
【０００８】
【０００９】
なお、レガート演奏判断手段によりレガート演奏と判断される場合とは、第１のノートオフ情報が入力される時刻と、第２のノートオン情報が入力される時刻とが同時刻である場合と、第１のノートオフ情報が入力される前に第２のノートオン情報が入力された場合と、第１のノートオフ情報が入力された後に所定時間以内に第２のノートオン情報が入力された場合とを含むものとする。即ち、第２のノートオン情報が入力された時刻を基準として、所定時間前から所定時間後までの間に第１のノートオフ情報が入力された場合をレガート演奏判断手段によりレガート演奏であると判断することができる。また、所定時間は、電子楽器で発音される楽器の種類や、電子楽器の性能により適宜設定されるものとする。
請求項２記載の電子楽器は、請求項１に記載の電子楽器において、前記第１指示手段により徐々に音高変化を指示する場合に、その音高変化の変化時間を設定する設定手段を備え、その設定手段は、前記第１のノートオン情報と第２のノートオン情報との音高差に対応して前記変化時間を設定すると共に、前記第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以上であった場合に、予め定めた最大値を前記変化時間に設定するものである。
【００１０】
請求項３記載の電子楽器は、所定の音高の楽音の発音開始を指示するノートオン情報を入力する入力手段と、その入力手段により入力された第１のノートオン情報が示す音高と、その第１のノートオン情報の次に入力された第２のノートオン情報が示す音高との高低を、前記第２のノートオン情報が入力された場合に判断する音高判断手段と、前記入力手段により入力された第１のノートオン情報と前記第２のノートオン情報とが入力される時間間隔を計時する計時手段と、その計時手段により計時される時間間隔が所定時間以内であるか否かを判断する時間間隔判断手段と、その時間間隔判断手段により時間間隔が所定時間以内と判断され且つ前記音高判断手段により前記第２のノートオン情報が示す音高の方が高いと判断された場合に、その第２のノートオン情報に基づく楽音の発音開始を指示すると共に、その第２のノートオン情報に基づく楽音が、前記第２のノートオン情報が示す音高より低い音高から徐々に前記第２のノートオン情報が示す音高に音高変化して発音するように指示する一方、前記時間間隔判断手段により時間間隔が所定時間以内と判断され且つ前記音高判断手段により前記第１のノートオン情報が示す音高の方が高いと判断された場合に、前記第２のノートオン情報に基づく楽音の発音開始を指示すると共に、その第２のノートオン情報に基づく楽音が、前記第２のノートオン情報が示す音高より高い音高から徐々に前記第２のノートオン情報が示す音高に音高変化して発音するように指示する第２指示手段とを備えている。
【００１１】
請求項４記載の電子楽器は、請求項３に記載の電子楽器において、前記第２指示手段により徐々に音高変化を指示する場合に、その音高変化の変化時間を設定する設定手段を備え、その設定手段は、前記第１のノートオン情報と第２のノートオン情報との音高差に対応して前記変化時間を設定すると共に、前記第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以上であった場合に、予め定めた最大値を前記変化時間に設定するものである。
【発明の効果】
【００１２】
請求項１記載の電子楽器によれば、所定の音高の楽音の発音開始を指示するノートオン情報が入力手段により入力され、その入力手段により入力された第１のノートオン情報が示す音高と、その第１のノートオン情報の次に入力された第２のノートオン情報が示す音高との高低が、第２のノートオン情報が入力された場合に音高判断手段により判断される。また、第１のノートオン情報と第２のノートオン情報とが入力される時間間隔が計時手段により計時され、その計時手段により計時される時間間隔が所定時間以内であるか否かが時間間隔判断手段により判断される。そして、時間間隔が所定時間以内でないと判断され且つ第２のノートオン情報が示す音高の方が高いと音高判断手段により判断されると、第１指示手段によって、第２のノートオン情報に基づく楽音の発音開始が指示されると共に、その第２のノートオン情報に基づく楽音が、第２のノートオン情報が示す音高より低い音高から徐々に第２のノートオン情報が示す音高に音高変化して発音するように指示される。一方、時間間隔が所定時間以内でないと判断され且つ第１のノートオン情報が示す音高の方が高いと音高判断手段により判断されると、第１指示手段によって、第１のノートオン情報に基づく楽音が、その第１のノートオン情報が示す音高から低い音高に向かって徐々に音高変化するように指示されると共に、第２のノートオン情報が入力された時より遅れて第２のノートオン情報に基づく楽音の発音開始が指示される。
【００１３】
ここで、一般的に、管楽器は、喉の開き具合や唇の閉め具合などを調整して、音高を連続的に滑らかに変化させる。この音高の変化は、高い音高から低い音高へ変化する場合には喉の開き具合や唇の閉め具合の調整は困難でないが、反対に、低い音高から高い音高へ変化する場合には喉の開き具合や唇の閉め具合の調整が困難となる。
【００１４】
電子楽器において、喉の開き具合や唇の閉め具合を含む管楽器の演奏を忠実に行なおうとした場合、演奏者は操作子などを複雑に操作しなければならないので、熟練した奏者でなければ、管楽器の演奏を忠実に行なうことが困難であった。
【００１５】
しかし、本発明によれば、第２のノートオン情報が入力された場合に、その第２のノートオン情報が示す音高が第１のノートオン情報が示す音高より高い場合には、第２のノートオン情報に基づく楽音が徐々に音高の高い方へ音高変化して発音するように第１指示手段により指示がなされ、第１のノートオン情報が示す音高の方が高い場合には、第１のノートオン情報に基づく楽音が徐々に音高の低い方へ音高変化して発音するように第１指示手段により指示がなされる。よって、電子楽器において、管楽器の演奏を模擬した楽音の発音を指示する場合に、より忠実に模擬した演奏を行なうことができる。従って、楽器固有の特定に応じた演奏を、複雑な操作をすることなく演奏できるという効果がある。
【００１６】
また、第１のノートオン情報の発音停止を指示する第１のノートオフ情報が入力手段により入力された時刻と、第２のノートオン情報が入力手段により入力された時刻とに基づいて、レガート演奏であるか否かがレガート演奏判断手段により判断される。そして、レガート演奏であるとレガート演奏判断手段により判断されると、第１指示手段により指示がなされる。
【００１７】
よって、演奏者は、第１指示手段による指示がなされる場合の演奏と、第１指示手段による指示がなされない場合の演奏とを、例えば、鍵盤の操作を変更することで選択することができる。従って、第１指示手段による指示がなされた演奏をするか否かの選択を、演奏者が任意に選択することができるという効果がある。
請求項２記載の電子楽器は、請求項１に記載の電子楽器の奏する効果に加え、第１指示手段により徐々に音高変化を指示する場合に、第１のノートオン情報と第２のノートオン情報との音高差に応じて変化時間が設定手段により設定される一方、第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以上であった場合には、設定手段により予め定めた最大値が変化時間に設定される。よって、第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以内であれば、音高差に応じて変化時間が設定され、所定範囲以上であれば、変化時間が全て最大値に設定される。
ここで、例えば、第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以上である場合にも音高差に応じて変化時間を設定すると、変化時間が極端に長くなる結果、発音される楽音の音高が徐々に変化する期間も長くなり、管楽器の演奏を忠実に模擬することができない場合がある。
しかし、第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以上であっても、変化時間は最大値となるので、変化時間が極端に長くなることを防止し、管楽器の演奏を忠実に模擬することができるという効果がある。
【００１８】
請求項３記載の電子楽器によれば、所定の音高の楽音の発音開始を指示するノートオン情報が入力手段により入力され、その入力手段により入力された第１のノートオン情報が示す音高と、その第１のノートオン情報の次に入力された第２のノートオン情報が示す音高との高低が、第２のノートオン情報が入力された場合に音高判断手段により判断される。また、第１のノートオン情報と第２のノートオン情報とが入力される時間間隔が計時手段により計時され、その計時手段により計時される時間間隔が所定時間以内であるか否かが時間間隔判断手段により判断される。そして、時間間隔が所定時間以内であると時間間隔判断手段により判断され且つ第２のノートオン情報が示す音高の方が高いと音高判断手段により判断されると、第２指示手段によって、第２のノートオン情報に基づく楽音の発音開始が指示されると共に、その第２のノートオン情報に基づく楽音が、第２のノートオン情報が示す音高より低い音高から徐々に第２のノートオン情報が示す音高に音高変化して発音するように指示される。一方、時間間隔が所定時間以内であると時間間隔判断手段により判断され且つ第１のノートオン情報が示す音高の方が高いと音高判断手段により判断されると、第２指示手段によって、第２のノートオン情報に基づく楽音の発音開始が指示されると共に、その第２のノートオン情報に基づく楽音が、第２のノートオン情報が示す音高より高い音高から徐々に第２のノートオン情報が示す音高に音高変化して発音するように指示される。
【００１９】
ここで、管楽器は、上述したように、喉の開き具合や唇の閉め具合などを調整して、音高を連続的に滑らかに変化させるので、音と音との間が短い場合（速弾き時）には、更に複雑な操作が必要となる。
【００２０】
しかし、本発明によれば、第１のノートオン情報と第２のノートオン情報との入力される時間間隔が所定時間以内である場合に、第１のノートオン情報が示す音高と第２のノートオン情報が示す音高との高低により、第２のノートオン情報に基づく楽音が徐々に高い音高に向かって又は低い音高に向かって音高変化するように第２指示手段により指示がなされる。即ち、演奏間隔が所定間隔より短い場合（速弾き時）に、第１のノートオン情報が示す音高から第２のノートオン情報が示す音高に向かって音高変化する楽音の発音を指示することができる。よって、第１のノートオン情報に基づく楽音の発音と、第２のノートオン情報に基づく楽音の発音とが滑らかになり、管楽器が速弾きされた場合の演奏を模擬した楽音の発音を指示する場合に、より忠実に模擬した演奏を行なうことができる。従って、楽器固有の特性に応じた演奏を、複雑な操作をすることなく演奏できるという効果がある。
【００２１】
請求項４記載の電子楽器は、請求項３に記載の電子楽器の奏する効果に加え、第２指示手段により徐々に音高変化を指示する場合に、第１のノートオン情報と第２のノートオン情報との音高差に応じて変化時間が設定手段により設定される一方、第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以上であった場合には、設定手段により予め定めた最大値が変化時間に設定される。よって、第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以内であれば、音高差に応じて変化時間が設定され、所定範囲以上であれば、変化時間が全て最大値に設定される。
【００２２】
ここで、例えば、第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以上である場合にも音高差に応じて変化時間を設定すると、変化時間が極端に長くなる結果、発音される楽音の音高が徐々に変化する期間も長くなり、管楽器の演奏を忠実に模擬することができない場合がある。
【００２３】
しかし、第１のノートオン情報と第２のノートオン情報との音高差が所定範囲以上であっても、変化時間は最大値となるので、変化時間が極端に長くなることを防止し、管楽器の演奏を忠実に模擬することができるという効果がある。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明の電子楽器１の電気的構成を示したブロック図である。
【００２５】
図１に示すように、電子楽器１には、ＣＰＵ２（中央処理装置）と、ＲＯＭ（リード・オンリー・メモリ）３と、ＲＡＭ（ランダム・アクセス・メモリ）４と、操作パネル５と、ＭＩＤＩインターフェース（Ｉ／Ｆ）６と、音源７と、Ｄ／Ａ変換器８とが設けられており、これらはバスラインにより相互に接続されている。
【００２６】
また、ＭＩＤＩ  Ｉ／Ｆ６には、外部に設けられたＭＩＤＩ鍵盤２０が接続されており、そのＭＩＤＩ鍵盤２０から、ＭＩＤＩ規格に適合した演奏情報が入力される。演奏情報には、所定の楽音の発音開始を指示するノートオン情報や、所定の楽音の発音停止を指示するノートオフ情報、所定の楽音の音高、所定の楽音の発音強さなどが含まれている。
【００２７】
また、音源７に接続されたＤ／Ａ変換器８は、外部に設けられたアンプ２１に接続されており、そのアンプ２１は、スピーカ２２に接続されている。音源７は、ＭＩＤＩ  Ｉ／Ｆ６により入力された演奏情報に対応した楽音信号を生成するものであり、デジタルの楽音信号を出力する。そして、音源７から出力されたデジタル信号は、Ｄ／Ａ変換器８によりアナログの楽音信号に変換され、そのアナログ信号がアンプ９に供給され、スピーカ１１から楽音が発音される。
【００２８】
ＣＰＵ２は、電子楽器１全体を制御する演算処理装置である。また、ＣＰＵ２には、タイマ２ａが設けられており、このタイマ２ａに基づいてＭＩＤＩ鍵盤２０から入力された演奏情報の入力時刻が設定される。
【００２９】
ＲＯＭ３には、ＣＰＵ２により実行される各種の制御プログラムやその実行の際に参照される固定値データが記憶されている。本実施例では、図６〜図１０に示すフローチャートを実行する制御プログラム３ａや、図５に示す音高差と変化時間とを関連付けした変化時間算出テーブル３ｂなどが記憶されている。
【００３０】
ＲＡＭ４は、ＲＯＭ３等に記憶される制御プログラムの実行に当たって各種のデータ等を一時的に記憶するためのメモリであり、書き換え可能に構成されている。なお、ＲＡＭ４には、テンポラリメモリ４ａが設けられている。このテンポラリメモリ４ａの詳細な説明については、図２を参照して後述する。
【００３１】
操作パネル５は、複数の操作子（ボタンやレバーなど）と、液晶ディスプレイなどの表示部とを有して構成されており、各パラメータの設定や、音源７に出力する楽音の編集などを行なうものである。なお、図示しないが、操作パネル５には、ポルタメントスイッチが設けられており、そのポルタメントスイッチは、電子楽器１においてポルタメント奏法に伴う処理を実行するか否かを選択するスイッチである。
【００３２】
ここで、図２を参照して、ＲＡＭ４に設けられたテンポラリメモリ４ａの詳細について説明する。図２は、ＲＡＭ４のテンポラリメモリ４ａの構成を示した図である。
【００３３】
テンポラリメモリ４ａには、ノートＡに関する情報を記憶するノートＡ記憶エリア４ａ１と、ノートＡの次にＭＩＤＩ鍵盤２０より入力されたノートＢに関する情報を記憶するノートＢ記憶エリア４ａ２と、モード１の状態を記憶するモード１記憶エリア４ａ３と、モード２の状態を記憶するモード２記憶エリア４ａ４と、カウンタの値（ｔの値）を記憶するカウンタ記憶エリア４ａ５とが設けられている。
【００３４】
ノートＡ，Ｂ記憶エリア４ａ１，４ａ２は、更に、ＭＩＤＩ鍵盤２０からノートオン情報が入力された時刻が記憶される時刻記憶エリア（図２の時刻Ｔ１，Ｔ２）と、ノートオン情報を示すデータ（９Ｈ）とチャンネル番号を示すデータ（ＸＨ）とからなるステータス（９ＸＨ、Ｈは１６進数を示す）が記憶されるステータス記憶エリア（図２のステータスＳ１，Ｓ２）と、入力されたノートオン情報に含まれるノートナンバにより示される音高が記憶される音高記憶エリア（図２の音高Ｎ１，Ｎ２）と、入力されたノートオン情報に含まれるベロシティが記憶されるベロシティ記憶エリア（図２のベロシティＶ１，Ｖ２）とを有しており、それぞれのノートＡ，Ｂに対応した値が記憶される。
【００３５】
なお、ステータス記憶エリアに記憶されるステータスは、ノートオフ情報を示すデータの場合には「８ＸＨ」となる。よって、音源７にノートオフ情報が出力された場合には、ステータスの値が「９ＸＨ」から「８ＸＨ」に書き換えられる。
【００３６】
モード１記憶エリア４ａ３は、後述する楽音設定処理（図１０参照）により楽音が設定されるノートを示す値が記憶されており、本実施例では、ノートＡかノートＢに対応した値が記憶される。モード２記憶エリア４ａ４は、実行された処理が速弾き処理（図８参照）かポルタメント処理（図９参照）かを示す値が記憶されており、カウンタ記憶エリア４ａ５は、ｔ（以後「カウンタｔ」と称す）の値が記憶されている。
【００３７】
次に、図３及び図４を参照して、電子楽器１において、速弾き時またはポルタメント時に設定される楽音について説明する。図３は、速弾き時のノートイベントの一例を示したグラフであり、図４は、ポルタメント時のノートイベントの一例を示したグラフである。図３（ａ）及び図４（ａ）は、ノートＡの示す音高がノートＢの示す音高より低い場合のグラフであり、図３（ｂ）及び図４（ｂ）は、ノートＡの示す音高がノートＢの示す音高より高い場合のグラフである。
【００３８】
ここで、ノートイベントとは、ノートオン情報およびノートオフ情報の総称であり、ノートオン情報は、発音の開始を指示する演奏情報であり、ノートオフ情報は、発音の停止を指示する演奏情報である。なお、ノートオン情報およびノートオフ情報は、音高を示すノート情報と、押鍵速度または離鍵速度を示すベロシティ情報とを含んでいる。
【００３９】
また、図３及び図４は、横軸を時間（単位：ｍｓｅｃ）とし、縦軸を音高（単位：半音）とし、各図の上段が入力ノートイベントを示し、各図の下段が出力ノートイベントを示している。さらに、各図において、ノートイベントは、音高の高さを示す実線と、その実線を囲む長方形とで図示されている。
【００４０】
また、ノートＡ又はノートＢの音高が変更される変化時間は、変化時間Δｔで示されており、その音高が変更される変化幅は、変化幅Δｐで示されている。また、入力されたノートＡのノートオン情報が示す音高とノートＢのノートオン情報が示す音高差は、音高差Ｉで示されている。
【００４１】
まず、図３（ａ）を参照して、速弾き時にノートＡの示す音高がノートＢの示す音高より低い場合について説明する。
【００４２】
図３（ａ）上段（入力ノートイベント）に示すように、時刻ｔ１にノートＡのノートオン情報がＭＩＤＩ鍵盤２０より入力され、時刻ｔ２にノートＡのノートオフ情報がＭＩＤＩ鍵盤２０よりに入力されている。そして、時刻ｔ３にノートＢのノートオン情報がＭＩＤＩ鍵盤２０より入力され、時刻ｔ５にノートＢのノートオフ情報がＭＩＤＩ鍵盤２０より時刻ｔ５に入力されている。
【００４３】
図３（ａ）下段（出力ノートイベント）に示すように、ノートＡのノートオン情報が入力された時刻ｔ１に、そのノートＡのノートオン情報を音源７に出力し、ノートＡのノートオフ情報が入力された時刻ｔ２に、そのノートＡのノートオフ情報を音源７に出力している。
【００４４】
即ち、速弾き時にノートＡの示す音高がノートＢの示す音高より低い場合において、ノートＡのノートオン情報およびノートオフ情報は、入力された演奏情報をそのまま楽音７に出力していることになる。
【００４５】
また、ノートＢのノートオン情報が入力された時刻ｔ３に、そのノートＢのノートオン情報が音源７に出力されるが、入力されたノートＢのノートオン情報が示す音高より低い音高から発音開始を指示している。その後、時刻ｔ４までの変化時間Δｔの間は、低い音高からノートＢのノートオン情報が示す音高に向かって徐々に高くなっている。後述するが、この時刻ｔ３〜ｔ４の間は、１ｍｓｅｃ毎に、所定量のピッチが変化するようなピッチベンドが音源７に出力される。
【００４６】
その後、時刻ｔ４以降は、入力されたノートＢのノートオン情報が示す音高で発音され、ノートＢのノートオフ情報が入力された時刻ｔ５に、そのノートＢのノートオフ情報を音源７に出力している。
【００４７】
なお、速弾き判定時間とは、ノートＡのノートオン情報が入力された時刻ｔ１からノートＢのノートオン情報が入力された時刻ｔ３までの時間であり、本実施例では、時刻ｔ１〜ｔ３の時間間隔が、１００ｍｓｅｃ以内であれば、速弾きと判断する。
【００４８】
また、助刻ｔ３〜ｔ４の間に変化する音高の変化幅Δｐ（＝最大ベンド幅×音高差Ｉ／１２）及び変化時間Δｔ（＝Ｍｔ２／１２×変化幅Δｐ）は、ＲＯＭ３の変化時間算出テーブル３ｂを参照して算出される。なお、本実施例では、最大ベンド幅および最大変化時間Ｍｔ２は、予め定められており、最大ベンド幅は２半音であり、最大変化時間Ｍｔ２は１００ｍｓｅｃである。
【００４９】
次に、図３（ｂ）を参照して、速弾き時にノートＡの示す音高がノートＢの示す音高より高い場合について説明する。なお、図３（ｂ）において、ノートＡ，Ｂのノートオン情報およびノートオフ情報が入力される時刻ｔ１，ｔ２，ｔ３，ｔ５は、図３（ａ）と同様になるので、その詳細な説明は省略し、出力ノートイベント（図３（ｂ）下段）の時刻ｔ３〜ｔ４の間のみ説明する。
【００５０】
図３（ｂ）下段（出力ノートイベント）に示すように、ノートＢのノートオン情報が入力された時刻ｔ３に、そのノートＢのノートオン情報が音源７に出力されるが、入力されたノートＢのノートオン情報が示す音高より高い音高から発音開始が指示されている。その後、時刻ｔ４までの変化時間Δｔの間は、高い音高からノートＢのノートオン情報が示す音高に向かって徐々に低くなっている。後述するが、この時刻ｔ３〜ｔ４の間は、１ｍｓｅｃ毎に、所定量のピッチが変化するようなピッチベンドが音源７に出力される。
【００５１】
以上、説明したように、速弾き時には、ノートＢのノートオン情報が音源７に出力されると、そのノートＢのノートオン情報に基づく楽音が、ノートＡのノートオン情報が示す音高からノートＢのノートオン情報が示す音高に向かって徐々に音高変化して発音するように指示が音源７に出力される。よって、ノートＡのノートオン情報に基づく楽音からノートＢのノートオン情報に基づく楽音への音のつながりが滑らかになる。
【００５２】
次に、図４（ａ）を参照して、ポルタメント時にノートＡの示す音高がノートＢの示す音高より低い場合について説明する。
【００５３】
図４（ａ）上段（入力ノートイベント）に示すように、時刻ｔ１にノートＡのノートオン情報がＭＩＤＩ鍵盤２０より入力され、時刻ｔ２にノートＡのノートオフ情報がＭＩＤＩ鍵盤２０より入力されている。また、ノートＢのノートオン情報がＭＩＤＩ鍵盤２０より入力される時刻ｔ３は、ノートＡのノートオフ情報が入力される時刻ｔ２より前となっている。その後、時刻ｔ５にノートＢのノートオフ情報がＭＩＤＩ鍵盤２０より入力されている。
【００５４】
なお、本実施例では、ノートＡのノートオフ情報が入力される前に、ノートＢのノートオン情報が入力される場合をレガート演奏と判断している。よって、図示および説明は省略するが、ＣＰＵ２によって、レガート演奏であるか否かを判断する処理が、ノートオン情報およびノートオフ情報が入力される毎に実行されている。
【００５５】
なお、ノートＡのノートオフ情報が入力される時刻ｔ２と、ノートＢのノートオン情報が入力される時刻ｔ３とがほぼ同時刻である場合をレガート演奏であると判断するものとしても良いし、ノートＡのノートオフ情報が入力された後、所定時間以内（例えば、５０ｍｓｅｃ以内）に、ノートＢのノートオン情報が入力された場合をレガート演奏と判断するものとしても良い。
【００５６】
図４（ａ）下段（出力ノートイベント）に示すように、ノートＡのノートオン情報が入力された時刻ｔ１に、そのノートＡのノートオン情報が音源７に出力されている。そして、ノートＡのノートオフ情報は、ノートＡのノートオフ情報が入力される時刻ｔ２より前に、ノートＢのノートオン情報が入力された時刻ｔ３に音源７に出力されている。
【００５７】
また、ノートＢのノートオン情報が入力された時刻ｔ３に、そのノートＢのノートオン情報が音源７に出力されるが、入力されたノートＢのノートオン情報が示す音高より低い音高から発音開始を指示している。その後、時刻ｔ４までの変化時間Δｔの間は、低い音高からノートＢのノートオン情報が示す音高に向かって徐々に高くなっている。後述するが、この時刻ｔ３〜ｔ４の間は、１ｍｓｅｃ毎に、所定量のピッチが変化するようなピッチベンドが音源７に出力される。
【００５８】
その後、時刻ｔ４以降は、入力されたノートＢのノートオン情報が示す音高で発音され、ノートＢのノートオフ情報が入力された時刻ｔ５に、そのノートＢのノートオフ情報を音源７に出力している。
【００５９】
また、助刻ｔ３〜ｔ４の間に変化する音高の変化幅Δｐ（＝最大ベンド幅×音高差Ｉ／１２）及び変化時間Δｔ（＝Ｍｔ１／１２×変化幅Δｐ）は、ＲＯＭ３の変化時間算出テーブル３ｂを参照して算出される。なお、本実施例では、最大ベンド幅および最大変化時間Ｍｔ１は、予め定められており、最大ベンド幅は２半音であり、最大変化時間Ｍｔ１は１５０ｍｓｅｃである。
【００６０】
次に、図４（ｂ）を参照して、ポルタメント時にノートＡの示す音高がノートＢの示す音高より高い場合について説明する。なお、図４（ｂ）において、ノートＡ，Ｂのノートオン情報およびノートオフ情報が入力される時刻ｔ１，ｔ２，ｔ３，ｔ５は、図４（ａ）と同様になるので、その詳細な説明は省略し、出力ノートイベント（図４（ｂ）下段）の時刻ｔ３〜ｔ４の間のみ説明する。
【００６１】
図４（ｂ）下段（出力ノートイベント）に示すように、ノートＢのノートオン情報が入力された時刻ｔ３から時刻ｔ４までの変化時間Δｔの間は、入力されたノートＡのノートオン情報が示す音高から低い音高に向かって徐々に音高変化して発音する指示が音源７に出力されている。なお、後述するが、この時刻ｔ３〜ｔ４の間は、１ｍｓｅｃ毎に、所定量のピッチが変化するようなピッチベンドが音源７に出力される。
【００６２】
その後、時刻ｔ４に、ノートＢのノートオン情報が入力された時刻ｔ３より遅れて、ノートオン情報が音源７に出力され、時刻ｔ４〜ｔ５の間は、入力されたノートＢのノートオン情報が示す音高により発音がなさる。
【００６３】
以上、説明したように、ポルタメント時には、２つのノートオン情報に基づく楽音の発音が重なる、所謂レガート演奏である場合には、ノートＢのノートオン情報が入力されたタイミング（時刻ｔ３）で、ノートＢのノートオン情報やノートＡのノートオフ情報を音源７に出力し、発音の開始または停止を指示している。また、ノートＡ又はノートＢに基づく楽音の音高変化は、ノートＡ又はノートＢのノートオン情報が示す音高の高い方が変更され、徐々に音高変化している。よって、ノートＡのノートオン情報に基づく楽音からノートＢのノートオン情報に基づく楽音への音のつながりが滑らかになる。
【００６４】
次に、図５を参照して、ノートＡのノートオン情報が示す音高とノートＢのノートオン情報が示す音高との音高差Ｉと、最大変化時間Ｍｔ１，Ｍｔ２との関係について説明する。図５は、音高差Ｉと最大変化時間Ｍｔ１，Ｍｔ２との関係を示したグラフである。なお、図５は、ＲＯＭ３の変化時間算出テーブル３ｂに記憶されているテーブルをグラフ化したものである。
【００６５】
また、図５は、横軸が音高差（単位：半音）であり、縦軸が最大変化時間（単位：ｍｓｅｃ）である。さらに、音高差Ｉの最大範囲は１２半音までとし、それ以上の音高差は、全て１２とする。
【００６６】
図５に示すように、最大変化時間Ｍｔ１，Ｍｔ２は、音高差Ｉに比例して大きな値となるよう設定され、ポルタメント時の最大変化時間Ｍｔ１と、速弾き時の最大変化時間Ｍｔ２との傾きが異なって設定されている。
【００６７】
これは、速弾き時は、ノートＡのノートオン情報が入力される時刻と、ノートＢのノートオン情報が入力される時刻との時間間隔が短いためであり、速弾き時に長い変化時間が設定されると、ノートＢに基づく楽音の発音が短くなったり、全く発音されないなどの弊害が生じるからである。
【００６８】
また、音高差Ｉの最大範囲は１２とされ、それ以上の音高差であっても１２に設定されるので、音高差Ｉに基づいて算出される変化時間Δｔが極端に長くなることを防止することができ、上記弊害の発生を防止することができる。
【００６９】
次に、図６〜図１０を参照して、上述のように構成された電子楽器１で実行されるノートイベント入力処理について説明する。図６は、電子楽器１のＣＰＵ２において実行されるノートイベント入力処理を示したフローチャートである。なお、ノートイベント入力処理は、ＭＩＤＩ鍵盤２０からノートオン情報またはノートオフ情報が入力される毎に実行される。
【００７０】
ノートイベント入力処理が実行されると、まず、ＭＩＤＩ鍵盤２０から入力されたノートのステータスがオンであるか否か、即ち、ＭＩＤＩ鍵盤２０から入力された演奏情報がノートオン情報であるか否かを判断し（Ｓ１０１）、入力された演奏情報がノートオン情報であれば（Ｓ１０１：Ｙｅｓ）、Ｓ１０２の処理へ移行し、入力された演奏情報がノートオフ情報であれば（Ｓ１０１：Ｎｏ）、Ｓ１２１の処理へ移行する。
【００７１】
Ｓ１０２の処理では、カウンタ記憶エリア４ａ５に記憶されているカウンタｔの値が０であるか否かを判断する（Ｓ１０２）。カウンタｔの値は、後述するが、ノートＡ又はノートＢのノートオン情報に基づく楽音を設定し発音を指示した際に加算が開始されるので、カウンタｔの値が０であるか否かを判断することで、新たに、ノートオン情報が入力されたか否かを判断することができる。
【００７２】
Ｓ１０２の処理で、カウンタｔの値が０でなければ（Ｓ１０２：Ｎｏ）、新たなノートオン情報に対応した処理を行なうために初期値設定処理を実行し（Ｓ１０３）、カウンタｔの値が０であれば（Ｓ１０２：Ｙｅｓ）、Ｓ１０３の処理を実行せずに、Ｓ１０４の処理へ移行する。
【００７３】
ここで、図７を参照して、初期値設定処理について説明する。図７は、ノートイベント入力処理内で実行される初期値設定処理を示したフローチャートである。この初期値設定処理は、新たなノートオン情報が入力された場合に、各変数を初期化する処理である。
【００７４】
初期値設定処理が実行されると、まず、ピッチ変化の値に初期値（値０）を設定し（Ｓ２０１）、そして、ピッチ変化の値が０に応じたピッチベンドを音源７に出力し（Ｓ２０２）、最後に、カウンタｔの値に初期値（値０）を設定して（Ｓ２０４）、本処理を終了する。
【００７５】
図６に戻り、ノートイベント入力処理のＳ１０４以降の処理について説明する。
【００７６】
Ｓ１０４の処理では、ノートＢ記憶エリア４ａ２の時刻記憶エリア及びステータス記憶エリア、音高記憶エリア、ベロシティ記憶エリアに記憶されている時刻およびステータス、音高、ベロシティを、ノートＡ記憶エリア４ａ１の各記憶エリアに転記し（Ｓ１０４）、ノートＢ記憶エリア４ａ２に、ノートオン情報が入力された現在時刻、そのノートオン情報に含まれるステータス及び音高、ベロシティを、それぞれの記憶エリアに記憶する（Ｓ１０５）。具体的には、ノートオン情報が入力された現在時刻は、タイマー２ａの値が時刻記憶エリアに記憶され、ノートオン情報に含まれる情報は、ステータス記憶エリア、音高記憶エリア、ベロシティ記憶エリアに記憶される。
【００７７】
次に、ノートＡ記憶エリア４ａ１の時刻記憶エリアに記憶されている現在時刻と、ノートＢ記憶エリア４ａ２の時刻記憶エリアに記憶されている現在時刻とに基づく、ノートＡのノートオン情報が入力された時刻とノートＢのノートオン情報が入力された時刻との時間差が、速弾き判定時間以下であるか否かを判断する（Ｓ１０６）。なお、本実施例では、速弾き判定時間は、１００ｍｓｅｃに設定されている。
【００７８】
Ｓ１０６の処理で、ノートＡとノートＢとの時間差が、速弾き判定時間以下であると判断されると（Ｓ１０６：Ｙｅｓ）、速弾き処理を実行し（Ｓ１０７）、本処理を終了する。
【００７９】
一方、Ｓ１０６の処理で、ノートＡ及びノートＢのノートオン情報が入力された時間差が、速弾き判定時間より長いと判断されると（Ｓ１０６：Ｎｏ）、レガート演奏であるか否かを判断し（Ｓ１０８）、レガート演奏であれば（Ｓ１０８：Ｙｅｓ）、次に、操作パネル６のポルタメントスイッチ（図示せず）がオンされているか否かを判断する（Ｓ１０９）。
【００８０】
そして、レガート演奏であると判断され、且つ、ポルタメントスイッチがオンであった場合に（Ｓ１０８：Ｙｅｓ、Ｓ１０９：Ｙｅｓ）、ポルタメント処理を実行し（Ｓ１１０）、本処理を終了する。
【００８１】
なお、Ｓ１０８の処理においてレガート演奏であるか否かに応じて、ポルタメント処理を実行するか否かが選択されている。上述したように、レガート演奏であるか否かの判断は、ノートＡのノートオフ情報が入力される時刻ｔ２（図４参照）と、ノートＢのノートオン情報が入力される時刻ｔ３（図４参照）とにより判断されるので、ＭＩＤＩ鍵盤２０の演奏を変更することで、任意にポルタメント処理を実行するか否かを選択することができる。さらに、操作パネル６にポルタメントスイッチを設けているので、演奏者の好みに応じた楽音の演奏を行なうこともできる。
【００８２】
一方、レガート演奏であると判断されたが、ポルタメントスイッチがオフであった場合には（Ｓ１０８：Ｙｅｓ、Ｓ１０９：Ｎｏ）、ポルタメント処理を実行する必要がないので、ノートＡのノートオフ情報とノートＢのノートオン情報とを音源７に出力して（Ｓ１１１）、本処理を終了する。
【００８３】
さらに、Ｓ１０８の処理で、レガート演奏でないと判断されると（Ｓ１０８：Ｎｏ）、ノートイベントがノートＢのノートオンとなるので、入力されたノートＢのノートオン情報を、そのまま音源７に出力して（Ｓ１１２）、本処理を終了する。
【００８４】
また、Ｓ１０１の処理で、入力された演奏情報がノートオフ情報であると判断されると（Ｓ１０１：Ｎｏ）、その入力された演奏情報がノートＢに対するノートオフ情報であるか否かを判断し（Ｓ１２１）、ノートＢに対するノートオフ情報でなければ（Ｓ１２１：Ｎｏ）、そのまま、本処理を終了する。
【００８５】
一方、Ｓ１２１の処理で、入力された演奏情報がノートＢに対するノートオフ情報であれば（Ｓ１２１：Ｙｅｓ）、ノートＡのステータス記憶エリアに記憶されるステータスが、オン（９ＸＨ）されているか否かを判断する（Ｓ１２２）。
【００８６】
Ｓ１２２の処理で、ノートＡのステータス記憶エリアに記憶されているステータスがオン（９ＸＨ）であれば（Ｓ１２２：Ｙｅｓ）、ノートＡに対する発音を停止するために、ノートＡのノートオフ情報を音源７に出力し（Ｓ１２３）、ノートＡのステータス記憶エリアに記憶されているステータスがオフ（８ＸＨ）であれば（Ｓ１２２：Ｎｏ）、既にノートＡに対する発音が停止されているので、Ｓ１２３の処理を実行せずに、Ｓ１２４の処理へ移行する。
【００８７】
Ｓ１２４の処理では、ノートＢのノートオフ情報を音源７に出力して（Ｓ１２４）、本処理を終了する。
【００８８】
次に、図８を参照して、速弾き処理について説明する。図８は、ノートイベント入力処理内で実行される速弾き処理を示したフローチャートである。
【００８９】
速弾き処理が実行されると、まず、変化時間Δｔを算出する（Ｓ３０１）。変化時間Δｔの算出は、図５に示す音高差Ｉと最大変化時間Ｍｔ２との関係から求めることができる。まず、ピッチの変化幅Δｐ（＝最大ベンド幅×音高差Ｉ／１２）を算出し、その後、変化時間Δｔ（＝Ｍｔ２／１２×変化幅Δｐ）を算出する。なお、ピッチの変化幅Δｐ及び変化時間Δｔは、ＲＡＭ４の所定エリアに記憶し、後述する楽音設定処理内で使用される。
【００９０】
Ｓ３０２の処理では、レガート演奏であるか否かを判断し（Ｓ３０２）、レガート演奏であれば（Ｓ３０２：Ｙｅｓ）、ノートＢのノートオン情報を音源７に出力する前に、ノートＡのノートオフ情報を音源７に出力するために、ノートＡ記憶エリア４ａ１のステータス記憶エリアに記憶されているステータスをオフ（８ＸＨ）に書き換え、ノートＡのノートオフ情報を音源７に出力し（Ｓ３０３）、Ｓ３０４の処理へ移行する。
【００９１】
一方、Ｓ３０２の処理で、レガート演奏でないと判断されたら（Ｓ３０２：Ｎｏ）、速弾き処理では、既に、ノートＡのノートオフ情報が音源７に出力されているので、Ｓ３０３の処理を実行せずに、Ｓ３０４の処理へ移行する。
【００９２】
Ｓ３０４の処理では、モード１記憶エリア４ａ３の値をノートＢに対応した値に設定し（Ｓ３０４）、その後、モード２記憶エリア４ａ４の値を速弾きに対応した値に設定して（Ｓ３０５）、楽音設定処理の割込みを許可した後に（Ｓ３０６）、本処理を終了する。なお、Ｓ３０４の処理でモード１をノートＢに設定しているのは、速弾き処理がノートＢのノートオン情報に基づく楽音を設定するからである。
【００９３】
次に、図９を参照して、ポルタメント処理について説明する。図９は、ノートイベント入力処理内で実行されるポルタメント処理を示したフローチャートである。
【００９４】
ポルタメント処理が実行されると、まず、Ｓ３０１の処理と同様の方法により変化時間Δｔを算出する（Ｓ４０１）。また、同様に、ピッチの変化幅Δｐ及び変化時間Δｔは、ＲＡＭ４の所定エリアに記憶し、後述する楽音設定処理内で使用される。
【００９５】
Ｓ４０２の処理では、ノートＡ記憶エリア４ａ１の音高記憶エリアと、ノートＢ記憶エリア４ａ２の音高記憶エリアとを参照して、ノートＡのノートオン情報が示す音高が、ノートＢのノートオン情報が示す音高より低いか否かを判断する（Ｓ４０２）。
【００９６】
Ｓ４０２の処理で、ノートＡのノートオン情報が示す音高の方が低ければ（Ｓ４０２：Ｙｅｓ）、本実施例のポルタメント処理は音高の高いノートＢのノートオン情報に基づく楽音を設定するので、ノートＢのノートオン情報を音源７に出力する前に、ノートＡのノートオン情報に基づく楽音の発音停止を指示するために、ノートＡ記憶エリア４ａ１のステータス記憶エリアをオフ（８ＸＨ）に書き換え、ノートＡのノートオフ情報を音源７に出力する（Ｓ４０３）。
【００９７】
そして、ノートＢのノートオン情報に基づく楽音を変更するので、モード１記憶エリア４ａ３をノートＢに対応した値に設定し（Ｓ４０４）、Ｓ４０６の処理へ移行する。
【００９８】
一方、Ｓ４０２の処理で、ノートＡのノートオン情報が示す音高の方が高ければ（Ｓ４０２：Ｎｏ）、本実施例のポルタメント処理は音高の高いノートＡのノートオン情報に基づく楽音を設定するので、ノートＡ記憶エリア４ａ１のステータス記憶エリアをオフに書き換えることなく（即ち、オン（９ＸＨ）のまま）、モード１記憶エリア４ａ３をノートＡに対応した値に設定し（Ｓ４０５）、Ｓ４０６の処理へ移行する。
【００９９】
Ｓ４０６の処理では、モード２記憶エリア４ａ４の値をポルタメントに対応した値に設定し（Ｓ３０５）、その後、楽音設定処理の割込みを許可して（Ｓ４０６）、本処理を終了する。
【０１００】
次に、図１０を参照して、楽音設定処理について説明する。図１０は、電子楽器１のＣＰＵ２において実行される楽音設定処理を示したフローチャートである。なお、楽音設定処理は、速弾き処理内のＳ３０６の処理およびポルタメント処理内のＳ４０７の処理において、割込みが許可された場合に１ｍｓｅｃ間隔で実行される割込処理である。
【０１０１】
楽音設定処理が実行されると、モード１記憶エリア４ａ３に記憶されている情報がノートＢで且つモード２記憶エリア４ａ４に記憶されている情報がポルタメントであるか否かを判断し（Ｓ５０１）、モード１記憶エリア４ａ３に記憶されている情報がノートＡであるか、モード２記憶エリア４ａ４に記憶されている情報が速弾きであれば（Ｓ５０１：Ｎｏ）、Ｓ５０２の処理へ移行し、モード１記憶エリア４ａ３に記憶されている情報がノートＢで且つモード２記憶エリア４ａ４に記憶されている情報がポルタメントであれば（Ｓ５０１：Ｙｅｓ）、Ｓ５２１の処理へ移行する。
【０１０２】
Ｓ５０２の処理では、カウンタｔの値が、Ｓ３０１の処理またはＳ４０１の処理で設定した変化時間Δｔ以下であるか否かを判断し（Ｓ５０２）、カウンタｔの値が変化時間Δｔ以下であれば（Ｓ５０２：Ｙｅｓ）、楽音設定処理が実行されてから変化時間Δｔを経過していないことになるので、Ｓ５０３の処理へ移行して、モード２記憶エリア４ａ４に記憶されている情報がポルタメントであるか否かを判断する（Ｓ５０３）。
【０１０３】
Ｓ５０３の処理で、モード２記憶エリア４ａ４に記憶されている情報がポルタメントであれば（Ｓ５０３：Ｙｅｓ）、ピッチ変化率Ｐｃをポルタメント時の最大変化時間Ｍｔ１に基づいて算出し（Ｓ５０４）、Ｓ５０６の処理へ移行する。本実施例では、ピッチ変化率Ｐｃは、「１２／Ｍｔ１」で算出される。
【０１０４】
一方、Ｓ５０３の処理で、モード２記憶エリア４ａ４に記憶されている情報が速弾きであれば（Ｓ５０３：Ｎｏ）、ピッチ変化率Ｐｃを速弾き時の最大変化時間Ｍｔ２に基づいて算出し（Ｓ５０５）、Ｓ５０６の処理へ移行する。本実施例では、ピッチ変化率Ｐｃは、「１２／Ｍｔ２」で算出される。
【０１０５】
なお、Ｓ５０４及びＳ５０５の処理で設定されるピッチ変化率Ｐｃは、音高差Ｉが１２以下であれば、音高差Ｉに比例した値となり略一定となるので、Ｓ５０４及びＳ５０５の処理で一度ピッチ変化率が設定されたら、その後、Ｓ５０４及びＳ５０５０の処理を実行せずに、Ｓ５０６の処理へ移行するものとしても良い。
【０１０６】
Ｓ５０６の処理では、ノートＡ，Ｂ記憶エリア４ａ１，４ａ２の音高記憶エリアの値を参照して、ノートＡのノートオン情報の示す音高が、ノートＢのノートオン情報の示す音高より低いか否かを判断し（Ｓ５０６）、ノートＡのノートオン情報の示す音高の方が低ければ（Ｓ５０６：Ｙｅｓ）、ノートＢのノートオン情報に基づく楽音の音高を徐々に高くする場合となるので、ピッチ変化率Ｐｃにカウンタｔの値を乗算した値から、Ｓ３０１又はＳ４０１の処理で記憶された変化幅Δｐを減算してピッチ変化を算出して（Ｓ５０７）、Ｓ５０９の処理へ移行する。
【０１０７】
一方、Ｓ５０６の処理で、ノートＡのノートオン情報の示す音高の方が高ければ（Ｓ５０６：Ｎｏ）、ノートＢのノートオン情報に基づく楽音の音高を徐々に低くする場合となるので、ピッチ変化率−Ｐｃにカウンタｔの値を乗算した値に、Ｓ３０１又はＳ４０１の処理で記憶された変化幅Δｐを加算してピッチ変化を算出して（Ｓ５０８）、Ｓ５０９の処理へ移行する。
【０１０８】
なお、本実施例では、楽音設定処理は、１ｍｓｅｃ毎の割込み処理で実行されているので、Ｓ５０７及びＳ５０８の処理では、１ｍｓｅｃ毎のピッチ変化を算出していることになる。また、楽音設定処理の実行が初回であれば、ｔの値が０であるので、ピッチ変化の値も０となる。
【０１０９】
Ｓ５０９の処理では、Ｓ５０７及びＳ５０８の処理で算出したピッチ変化に応じたピッチベンドを音源７に出力し（Ｓ５０９）、次に、カウンタｔの値が０であるか否かを判断する（Ｓ５１０）。
【０１１０】
Ｓ５１０の処理で、カウンタｔの値が０であれば（Ｓ５１０：Ｙｅｓ）、楽音設定処理の実行が初回となり、楽音の発音開始指示をしていないことになるので、ノートＢのノートオン情報を音源７に出力し（Ｓ５１１）、カウンタｔの値が０でなければ（Ｓ５１０：Ｎｏ）、既に、ノートＢのノートオン情報が音源７に出力されていることになるので、Ｓ５１１の処理を実行せずに、Ｓ５１２の処理へしてカウンタｔの値に１を加算し（Ｓ５１２）、本処理を終了する。
【０１１１】
ここで、楽音設定処理が１ｍｓｅｃ毎に実行されるので、カウンタｔの値が１大きくなると、前の状態から１ｍｓｅｃ経過したこととなる。即ち、上述したＳ５０２の処理では、カウンタｔの値が、ノートＢの楽音を変更開始してからの経過時間である。
【０１１２】
一方、Ｓ５０２の処理で、カウンタｔの値が変化時間Δｔを越えていれば（Ｓ５０２：Ｙｅｓ）、楽音設定処理が実行されてから変化時間Δｔを経過していることになるので、楽音設定処理の実行を停止するために、楽音設定処理の割込みを禁止し（Ｓ５１３）、本処理を終了する。Ｓ５１３の処理で、楽音設定処理の割込みが禁止されると、次に、楽音設定処理の割込みが許可されるまで、楽音設定処理の実行が禁止される。
【０１１３】
次に、Ｓ５２１以降の処理について説明する。Ｓ５２１の処理では、カウンタｔの値が変化時間Δｔ以下であるか否かを判断し（Ｓ５２１）、カウンタｔの値が変化時間Δｔ以下であれば（Ｓ５０２：Ｙｅｓ）、楽音設定処理が実行されてから変化時間Δｔを経過していないことになるので、Ｓ５２２の処理へ移行する。
【０１１４】
Ｓ５２２の処理では、本実施例においてモード１記憶エリア４ａ３に記憶されている情報がノートＢで且つモード２記憶エリア４ａ４に記憶されている状態がポルタメントなので、ピッチ変化率Ｐｃをポルタメント時の最大変化時間Ｍｔ１に基づいて算出して（Ｓ５２２）、Ｓ５２３の処理へ移行する。本実施例では、ピッチ変化率Ｐｃは、「１２／Ｍｔ１」で算出される。
【０１１５】
Ｓ５２３の処理では、ノートＡのノートオン情報に基づく楽音の音高を徐々に低くする場合となるので、ピッチ変化率−Ｐｃにカウンタｔの値を乗算した値に、Ｓ３０１又はＳ４０１の処理で記憶された変化幅Δｐを加算してピッチ変化を算出する（Ｓ５２３）。
【０１１６】
Ｓ５２３の処理で、ピッチ変化が算出されると、その算出したピッチ変化に応じたピッチベンドを音源７に出力し（Ｓ５２４）、Ｓ５１２の処理へ移行してカウンタｔの値に１を加算し（Ｓ５１２）、本処理を終了する。
【０１１７】
一方、Ｓ５２１の処理で、カウンタｔの値が変化時間Δｔを越えていれば（Ｓ５２１：Ｎｏ）、ノートＡのノートオン情報に基づく楽音を設定する変化時間Δｔが経過したことになるので、ノートＡ記憶エリア４ａ１のステータス記憶エリアがオン（９ＸＨ）であるか否かを判断し（Ｓ５２５）、ノートＡ記憶エリア４ａ１のステータス記憶エリアがオンであれば（Ｓ５２５：Ｙｅｓ）、変化時間Δｔが経過した場合はノートＡの発音停止タイミングでありノートＢの発音開始タイミングであるので、ノートＡ記憶エリア４ａ１のステータス記憶エリアをオフ（８ＸＨ）に書き換え、ノートＡのノートオフ情報を音源７に出力すると共に（Ｓ５２６）、ノートＢのノートオン情報を音源７に出力して（Ｓ５２７）、Ｓ５２８の処理へ移行する。
【０１１８】
一方、Ｓ５２５の処理で、ノートＡ記憶エリア４ａ１のステータス記憶エリアがオフ（８ＸＨ）であれば（Ｓ５２５：Ｎｏ）、既に、Ｓ５２６及びＳ５２７の処理は実行されたことになるので、Ｓ５２６及びＳ５２７の処理を実行せずに、Ｓ５２８の処理へ移行する。
【０１１９】
Ｓ５２８の処理では、楽音設定処理が実行されてから変化時間Δｔを経過していることになるので、楽音設定処理の実行を停止するために、楽音設定処理の割込みを禁止して（Ｓ５２８）、本処理を終了する。
【０１２０】
以上、説明したように、ポルタメント時の楽音設定処理では、ノートＢのノートオン情報が入力された場合に、そのノートＢのノートオン情報の示す音高が、ノートＡのノートオン情報の示す音高より高い場合には、変化時間Δｔの間、ノートＢのノートオン情報が示す音高より低い音高から徐々に音高の高い方へ音高変化する指示が音源７に出力される。一方、ノートＡのノートオン情報の示す音高の方が高い場合には、変化時間Δｔの間、ノートＡのノートオン情報の示す音高から徐々に低い音高に向かって音高変化する指示が音源７に出力される。よって、スピーカ２２からは、ノートＡのノートオン情報に基づく楽音と、ノートＢのノートオン情報に基づく楽音とのつながりが滑らかに発音される。
【０１２１】
ここで、一般的に、管楽器は、喉の開き具合や唇の閉め具合などを調整して、音高を連続的に滑らかに変化させる。この音高の変化は、高い音高から低い音高へ変化する場合には喉の開き具合や唇の閉め具合の調整は困難でないが、反対に、低い音高から高い音高へ変化する場合には喉の開き具合や唇の閉め具合の調整が困難となる。そのため、電子楽器において、喉の開き具合や唇の閉め具合を含む管楽器の演奏を忠実に行なおうとした場合、演奏者は操作パネルの操作子などを複雑に操作しなければならないので、熟練した奏者でなければ、管楽器の演奏を忠実に行なうことが困難であった。
【０１２２】
しかし、ポルタメント時の楽音設定処理によれば、ノートＡのノートオン情報の示す音高と、ノートＢのノートオン情報の示す音高とを比較し、変化時間Δｔの間、ノートオン情報の示す音高が高い方の楽音を、徐々に音高変化させて発音するので、管楽器の演奏を模擬した楽音を発音する場合に、より忠実に模擬した演奏を行なうことができる。従って、演奏者は、ＭＩＤＩ鍵盤２０を操作するだけで、楽器固有の特定に応じた演奏を複雑な操作をすることなく演奏することができる。
【０１２３】
また、ノートＡのノートオン情報が入力される時刻と、ノートＢのノートオン情報が入力される時刻との間が１００ｍｓｅｃ以内であれば、速弾き時の楽音設定処理が実行され、ノートＢのノートオン情報に基づく楽音が変化時間Δｔのあいだ徐々に音高変化して発音する指示が音源７に出力されるので、ノートＡのノートオン情報に基づく楽音の発音と、ノートＢのノートオン情報に基づく楽音の発音とのつながりが滑らかになる。よって、演奏者によってＭＩＤＩ鍵盤２０が速弾きされ、管楽器が速弾きされた場合の演奏であっても、より忠実に模擬した演奏を行なうことができる。
【０１２４】
以上、各実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１２５】
例えば、上記各実施形態では、電子楽器１に設けられた音源７にノートオン情報およびノートオフ情報とを出力する構成としたが、電子楽器１に音源７を設けずに外部に設けられた音源にノートオン情報およびノートオフ情報を出力する構成としても良い。さらに、電子楽器１に鍵盤を設け、ノートオン情報およびノートオフ情報を電子楽器１で生成するものとしても良い。
【０１２６】
ここで、本実施形態において、請求項１の音高判断手段としては図９のＳ４０２の処理および図１０のＳ５０６の処理が該当し、請求項１の時間間隔判断手段としては図６のＳ１０６の処理が該当し、請求項１の第１指示手段としては図１０のＳ５０９及びＳ５２４の処理が該当し、請求項２記載のレガート演奏判断手段としては図６のＳ１０８の処理が該当し、請求項３の設定手段としては図９のＳ４０１の処理が該当し、請求項４の音高判断手段としては図１０のＳ５０６の処理が該当し、請求項４の時間間隔判断手段としては図６のＳ１０６の処理が該当し、請求項４記載の第２指示手段としては図１０のＳ５０９の処理が該当し、請求項５の設定手段としては図８のＳ３０１の処理が該当する。
【図面の簡単な説明】
【０１２７】
【図１】本発明の電子楽器の電気的構成を示したブロック図である。
【図２】ＲＡＭのテンポラリメモリの構成を示した図である。
【図３】速弾き時のノートイベントの一例を示したフラグである。
【図４】ポルタメント時のノートイベントの一例を示したフラグである。
【図５】音高差と最大変化時間との関係を示したグラフである。
【図６】電子楽器のＣＰＵにおいて実行されるノートイベント入力処理を示したフローチャートである。
【図７】ノートイベント入力処理内で実行される初期値設定処理を示したフローチャートである。
【図８】ノートイベント入力処理内で実行される速弾き処理を示したフローチャートである。
【図９】ノートイベント入力処理内で実行されるポルタメント処理を示したフローチャートである。
【図１０】電子楽器１のＣＰＵ２において実行される楽音設定処理を示したフローチャートである。
【符号の説明】
【０１２８】
１            電子楽器
２            ＣＰＵ（入力手段の一部）
２ａ          タイマ（計時手段）
６            ＭＩＤＩ  Ｉ／Ｆ（入力手段の一部）
【図１】
0005165961.tif 000002
【図２】
0005165961.tif 000003
【図３】
0005165961.tif 000004
【図４】
0005165961.tif 000005
【図５】
0005165961.tif 000006
【図６】
0005165961.tif 000007
【図７】
0005165961.tif 000008
【図８】
0005165961.tif 000009
【図９】
0005165961.tif 000010
【図１０】
0005165961.tif 000011