説明

電子楽器

【課題】楽器固有の特性に対応した演奏を簡単に行なうことができる電子楽器を提供すること。
【解決手段】ポルタメント時の楽音設定処理では、ノートAのノートオン情報の示す音高と、ノートBのノートオン情報の示す音高とを比較し、変化時間Δtの間、ノートオン情報の示す音高が高い方の楽音を、変化幅Δp分、徐々に音高変化させて発音する指示を音源7に出力するので、管楽器の演奏を模擬した楽音を発音する場合に、より忠実に模擬した演奏を行なうことができる。従って、演奏者は、楽器固有の特定に応じた演奏を、複雑な操作をすることなく演奏することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子楽器に関し、特に、楽器固有の特性に対応した演奏を簡単に行なうことができる電子楽器に関する。
【背景技術】
【0002】
従来から、複数の音色の楽音を発音して、複数の楽器の演奏を行なうことができるシンセサイザなどの電子楽器が知られている。
【0003】
例えば、特開昭61−140994号公報には、音高および音長などの情報からなる楽譜情報を第1のメモリに記憶すると共に、音量およびリズムの強調などの変換規則群をジャンル別、楽器別、演奏家別などに対応して第2のメモリに記憶し、第2のメモリから選択された1の変換規則群を楽譜情報に適用して自動演奏を行なう自動演奏装置が開示されている。この自動演奏装置では、ジャンル別、楽器別、演奏家別毎に異なる複数の演奏を行なうことができる。
【特許文献1】特開昭61−140994号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、例えば、管楽器の楽音を生成して自動演奏を行なう場合には、実際に演奏される管楽器の音色と生成される音色とを似せるだけでなく、音と音のつながり方など管楽器固有の特性を踏まえる必要が生じる。特に、管楽器には、演奏者が吹くときの喉の開き具合や唇の閉め具合などにより音程を調整するという固有の特性がある。
【0005】
従来の電子楽器では、管楽器の音色を模擬した発音を行なうことはできるが、演奏者が吹くときの喉の開き具合や唇の閉め具合などの楽器固有の特性に対応した発音、及び、管楽器において連続する音と音とのつながりを違和感なく発音することは困難であった。そのため、演奏者は、実際に演奏される管楽器に忠実な音色が発音されるように、レバーなどの操作子を複雑に操作しなければならず、熟練した奏者でなければ管楽器の音色を忠実に演奏することができないという問題点があった。
【0006】
本発明は、上述した問題点を解決するためになされたものであり、楽器固有の特性に対応した演奏を簡単に行なうことができる電子楽器を提供することを目的としている。
【課題を解決するための手段】
【0007】
この目的を達成するために、請求項1記載の電子楽器は、所定の音高の楽音の発音開始を指示するノートオン情報を入力する入力手段と、その入力手段により入力された第1のノートオン情報が示す音高と、その第1のノートオン情報の次に入力された第2のノートオン情報が示す音高との高低を、前記第2のノートオン情報が入力された場合に判断する音高判断手段と、その音高判断手段によって、前記第2のノートオン情報が示す音高の方が高いと判断された場合に、その第2のノートオン情報に基づく楽音の発音開始を指示すると共に、その第2のノートオン情報に基づく楽音が、前記第2のノートオン情報が示す音高より低い音高から徐々に前記第2のノートオン情報が示す音高に音高変化して発音するように指示する一方、前記音高判断手段によって、前記第1のノートオン情報が示す音高の方が高いと判断された場合に、その第1のノートオン情報に基づく楽音を、その第1のノートオン情報が示す音高から低い音高に向かって徐々に音高変化するように指示すると共に、前記第2のノートオン情報が入力された時より遅れて前記第2のノートオン情報に基づく楽音の発音開始を指示する第1指示手段とを備えている。
【0008】
請求項2記載の電子楽器は、請求項1記載の電子楽器において、前記入力手段は、前記ノートオン情報の他に、所定の音高の楽音の発音停止を指示するノートオフ情報を入力するものであり、前記第1のノートオン情報の発音停止を指示する第1のノートオフ情報が入力された時刻と、前記第2のノートオン情報が入力された時刻とに基づいて、レガート演奏であるか否かを判断するレガート演奏判断手段を備え、前記第1指示手段は、前記レガート演奏判断手段によりレガート演奏であると判断された場合に指示するものである。
【0009】
なお、レガート演奏判断手段によりレガート演奏と判断される場合とは、第1のノートオフ情報が入力される時刻と、第2のノートオン情報が入力される時刻とが同時刻である場合と、第1のノートオフ情報が入力される前に第2のノートオン情報が入力された場合と、第1のノートオフ情報が入力された後に所定時間以内に第2のノートオン情報が入力された場合とを含むものとする。即ち、第2のノートオン情報が入力された時刻を基準として、所定時間前から所定時間後までの間に第1のノートオフ情報が入力された場合をレガート演奏判断手段によりレガート演奏であると判断することができる。また、所定時間は、電子楽器で発音される楽器の種類や、電子楽器の性能により適宜設定されるものとする。
【0010】
請求項3記載の電子楽器は、所定の音高の楽音の発音開始を指示するノートオン情報を入力する入力手段と、その入力手段により入力された第1のノートオン情報が示す音高と、その第1のノートオン情報の次に入力された第2のノートオン情報が示す音高との高低を、前記第2のノートオン情報が入力された場合に判断する音高判断手段と、前記入力手段により入力された第1のノートオン情報と前記第2のノートオン情報とが入力される時間間隔を計時する計時手段と、その計時手段により計時される時間間隔が所定時間以内であるか否かを判断する時間間隔判断手段と、その時間間隔判断手段により時間間隔が所定時間以内と判断され且つ前記音高判断手段により前記第2のノートオン情報が示す音高の方が高いと判断された場合に、その第2のノートオン情報に基づく楽音の発音開始を指示すると共に、その第2のノートオン情報に基づく楽音が、前記第2のノートオン情報が示す音高より低い音高から徐々に前記第2のノートオン情報が示す音高に音高変化して発音するように指示する一方、前記時間間隔判断手段により時間間隔が所定時間以内と判断され且つ前記音高判断手段により前記第1のノートオン情報が示す音高の方が高いと判断された場合に、前記第2のノートオン情報に基づく楽音の発音開始を指示すると共に、その第2のノートオン情報に基づく楽音が、前記第2のノートオン情報が示す音高より高い音高から徐々に前記第2のノートオン情報が示す音高に音高変化して発音するように指示する第2指示手段とを備えている。
【0011】
請求項4記載の電子楽器は、請求項1から3のいずれかに記載の電子楽器において、前記第1又は第2指示手段により徐々に音高変化を指示する場合に、その音高変化の変化時間を設定する設定手段を備え、その設定手段は、前記第1のノートオン情報と第2のノートオン情報との音高差に対応して前記変化時間を設定すると共に、前記第1のノートオン情報と第2のノートオン情報との音高差が所定範囲以上であった場合に、予め定めた最大値を前記変化時間に設定するものである。
【発明の効果】
【0012】
請求項1記載の電子楽器によれば、所定の音高の楽音の発音開始を指示するノートオン情報が入力手段により入力され、その入力手段により入力された第1のノートオン情報が示す音高と、その第1のノートオン情報の次に入力された第2のノートオン情報が示す音高との高低が、第2のノートオン情報が入力された場合に音高判断手段により判断される。そして、第2のノートオン情報が示す音高の方が高いと音高判断手段により判断されると、第1指示手段によって、第2のノートオン情報に基づく楽音の発音開始が指示されると共に、その第2のノートオン情報に基づく楽音が、第2のノートオン情報が示す音高より低い音高から徐々に第2のノートオン情報が示す音高に音高変化して発音するように指示される。一方、第1のノートオン情報が示す音高の方が高いと音高判断手段により判断されると、第1指示手段によって、第1のノートオン情報に基づく楽音が、その第1のノートオン情報が示す音高から低い音高に向かって徐々に音高変化するように指示されると共に、第2のノートオン情報が入力された時より遅れて第2のノートオン情報に基づく楽音の発音開始が指示される。
【0013】
ここで、一般的に、管楽器は、喉の開き具合や唇の閉め具合などを調整して、音高を連続的に滑らかに変化させる。この音高の変化は、高い音高から低い音高へ変化する場合には喉の開き具合や唇の閉め具合の調整は困難でないが、反対に、低い音高から高い音高へ変化する場合には喉の開き具合や唇の閉め具合の調整が困難となる。
【0014】
電子楽器において、喉の開き具合や唇の閉め具合を含む管楽器の演奏を忠実に行なおうとした場合、演奏者は操作子などを複雑に操作しなければならないので、熟練した奏者でなければ、管楽器の演奏を忠実に行なうことが困難であった。
【0015】
しかし、本発明によれば、第2のノートオン情報が入力された場合に、その第2のノートオン情報が示す音高が第1のノートオン情報が示す音高より高い場合には、第2のノートオン情報に基づく楽音が徐々に音高の高い方へ音高変化して発音するように第1指示手段により指示がなされ、第1のノートオン情報が示す音高の方が高い場合には、第1のノートオン情報に基づく楽音が徐々に音高の低い方へ音高変化して発音するように第1指示手段により指示がなされる。よって、電子楽器において、管楽器の演奏を模擬した楽音の発音を指示する場合に、より忠実に模擬した演奏を行なうことができる。従って、楽器固有の特定に応じた演奏を、複雑な操作をすることなく演奏できるという効果がある。
【0016】
請求項2記載の電子楽器によれば、請求項1記載の電子楽器の奏する効果に加え、第1のノートオン情報の発音停止を指示する第1のノートオフ情報が入力手段により入力された時刻と、第2のノートオン情報が入力手段により入力された時刻とに基づいて、レガート演奏であるか否かがレガート演奏判断手段により判断される。そして、レガート演奏であるとレガート演奏判断手段により判断されると、第1指示手段により指示がなされる。
【0017】
よって、演奏者は、第1指示手段による指示がなされる場合の演奏と、第1指示手段による指示がなされない場合の演奏とを、例えば、鍵盤の操作を変更することで選択することができる。従って、第1指示手段による指示がなされた演奏をするか否かの選択を、演奏者が任意に選択することができるという効果がある。
【0018】
請求項3記載の電子楽器によれば、所定の音高の楽音の発音開始を指示するノートオン情報が入力手段により入力され、その入力手段により入力された第1のノートオン情報が示す音高と、その第1のノートオン情報の次に入力された第2のノートオン情報が示す音高との高低が、第2のノートオン情報が入力された場合に音高判断手段により判断される。また、第1のノートオン情報と第2のノートオン情報とが入力される時間間隔が計時手段により計時され、その計時手段により計時される時間間隔が所定時間以内であるか否かが時間間隔判断手段により判断される。そして、時間間隔が所定時間以内であると時間間隔判断手段により判断され且つ第2のノートオン情報が示す音高の方が高いと音高判断手段により判断されると、第2指示手段によって、第2のノートオン情報に基づく楽音の発音開始が指示されると共に、その第2のノートオン情報に基づく楽音が、第2のノートオン情報が示す音高より低い音高から徐々に第2のノートオン情報が示す音高に音高変化して発音するように指示される。一方、時間間隔が所定時間以内であると時間間隔判断手段により判断され且つ第1のノートオン情報が示す音高の方が高いと音高判断手段により判断されると、第2指示手段によって、第2のノートオン情報に基づく楽音の発音開始が指示されると共に、その第2のノートオン情報に基づく楽音が、第2のノートオン情報が示す音高より高い音高から徐々に第2のノートオン情報が示す音高に音高変化して発音するように指示される。
【0019】
ここで、管楽器は、上述したように、喉の開き具合や唇の閉め具合などを調整して、音高を連続的に滑らかに変化させるので、音と音との間が短い場合(速弾き時)には、更に複雑な操作が必要となる。
【0020】
しかし、本発明によれば、第1のノートオン情報と第2のノートオン情報との入力される時間間隔が所定時間以内である場合に、第1のノートオン情報が示す音高と第2のノートオン情報が示す音高との高低により、第2のノートオン情報に基づく楽音が徐々に高い音高に向かって又は低い音高に向かって音高変化するように第2指示手段により指示がなされる。即ち、演奏間隔が所定間隔より短い場合(速弾き時)に、第1のノートオン情報が示す音高から第2のノートオン情報が示す音高に向かって音高変化する楽音の発音を指示することができる。よって、第1のノートオン情報に基づく楽音の発音と、第2のノートオン情報に基づく楽音の発音とが滑らかになり、管楽器が速弾きされた場合の演奏を模擬した楽音の発音を指示する場合に、より忠実に模擬した演奏を行なうことができる。従って、楽器固有の特性に応じた演奏を、複雑な操作をすることなく演奏できるという効果がある。
【0021】
請求項4記載の電子楽器は、請求項1から3のいずれかに記載の電子楽器の奏する効果に加え、第1又は第2指示手段により徐々に音高変化を指示する場合に、第1のノートオン情報と第2のノートオン情報との音高差に応じて変化時間が設定手段により設定される一方、第1のノートオン情報と第2のノートオン情報との音高差が所定範囲以上であった場合には、設定手段により予め定めた最大値が変化時間に設定される。よって、第1のノートオン情報と第2のノートオン情報との音高差が所定範囲以内であれば、音高差に応じて変化時間が設定され、所定範囲以上であれば、変化時間が全て最大値に設定される。
【0022】
ここで、例えば、第1のノートオン情報と第2のノートオン情報との音高差が所定範囲以上である場合にも音高差に応じて変化時間を設定すると、変化時間が極端に長くなる結果、発音される楽音の音高が徐々に変化する期間も長くなり、管楽器の演奏を忠実に模擬することができない場合がある。
【0023】
しかし、第1のノートオン情報と第2のノートオン情報との音高差が所定範囲以上であっても、変化時間は最大値となるので、変化時間が極端に長くなることを防止し、管楽器の演奏を忠実に模擬することができるという効果がある。
【発明を実施するための最良の形態】
【0024】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図1は、本発明の電子楽器1の電気的構成を示したブロック図である。
【0025】
図1に示すように、電子楽器1には、CPU2(中央処理装置)と、ROM(リード・オンリー・メモリ)3と、RAM(ランダム・アクセス・メモリ)4と、操作パネル5と、MIDIインターフェース(I/F)6と、音源7と、D/A変換器8とが設けられており、これらはバスラインにより相互に接続されている。
【0026】
また、MIDI I/F6には、外部に設けられたMIDI鍵盤20が接続されており、そのMIDI鍵盤20から、MIDI規格に適合した演奏情報が入力される。演奏情報には、所定の楽音の発音開始を指示するノートオン情報や、所定の楽音の発音停止を指示するノートオフ情報、所定の楽音の音高、所定の楽音の発音強さなどが含まれている。
【0027】
また、音源7に接続されたD/A変換器8は、外部に設けられたアンプ21に接続されており、そのアンプ21は、スピーカ22に接続されている。音源7は、MIDI I/F6により入力された演奏情報に対応した楽音信号を生成するものであり、デジタルの楽音信号を出力する。そして、音源7から出力されたデジタル信号は、D/A変換器8によりアナログの楽音信号に変換され、そのアナログ信号がアンプ9に供給され、スピーカ11から楽音が発音される。
【0028】
CPU2は、電子楽器1全体を制御する演算処理装置である。また、CPU2には、タイマ2aが設けられており、このタイマ2aに基づいてMIDI鍵盤20から入力された演奏情報の入力時刻が設定される。
【0029】
ROM3には、CPU2により実行される各種の制御プログラムやその実行の際に参照される固定値データが記憶されている。本実施例では、図6〜図10に示すフローチャートを実行する制御プログラム3aや、図5に示す音高差と変化時間とを関連付けした変化時間算出テーブル3bなどが記憶されている。
【0030】
RAM4は、ROM3等に記憶される制御プログラムの実行に当たって各種のデータ等を一時的に記憶するためのメモリであり、書き換え可能に構成されている。なお、RAM4には、テンポラリメモリ4aが設けられている。このテンポラリメモリ4aの詳細な説明については、図2を参照して後述する。
【0031】
操作パネル5は、複数の操作子(ボタンやレバーなど)と、液晶ディスプレイなどの表示部とを有して構成されており、各パラメータの設定や、音源7に出力する楽音の編集などを行なうものである。なお、図示しないが、操作パネル5には、ポルタメントスイッチが設けられており、そのポルタメントスイッチは、電子楽器1においてポルタメント奏法に伴う処理を実行するか否かを選択するスイッチである。
【0032】
ここで、図2を参照して、RAM4に設けられたテンポラリメモリ4aの詳細について説明する。図2は、RAM4のテンポラリメモリ4aの構成を示した図である。
【0033】
テンポラリメモリ4aには、ノートAに関する情報を記憶するノートA記憶エリア4a1と、ノートAの次にMIDI鍵盤20より入力されたノートBに関する情報を記憶するノートB記憶エリア4a2と、モード1の状態を記憶するモード1記憶エリア4a3と、モード2の状態を記憶するモード2記憶エリア4a4と、カウンタの値(tの値)を記憶するカウンタ記憶エリア4a5とが設けられている。
【0034】
ノートA,B記憶エリア4a1,4a2は、更に、MIDI鍵盤20からノートオン情報が入力された時刻が記憶される時刻記憶エリア(図2の時刻T1,T2)と、ノートオン情報を示すデータ(9H)とチャンネル番号を示すデータ(XH)とからなるステータス(9XH、Hは16進数を示す)が記憶されるステータス記憶エリア(図2のステータスS1,S2)と、入力されたノートオン情報に含まれるノートナンバにより示される音高が記憶される音高記憶エリア(図2の音高N1,N2)と、入力されたノートオン情報に含まれるベロシティが記憶されるベロシティ記憶エリア(図2のベロシティV1,V2)とを有しており、それぞれのノートA,Bに対応した値が記憶される。
【0035】
なお、ステータス記憶エリアに記憶されるステータスは、ノートオフ情報を示すデータの場合には「8XH」となる。よって、音源7にノートオフ情報が出力された場合には、ステータスの値が「9XH」から「8XH」に書き換えられる。
【0036】
モード1記憶エリア4a3は、後述する楽音設定処理(図10参照)により楽音が設定されるノートを示す値が記憶されており、本実施例では、ノートAかノートBに対応した値が記憶される。モード2記憶エリア4a4は、実行された処理が速弾き処理(図8参照)かポルタメント処理(図9参照)かを示す値が記憶されており、カウンタ記憶エリア4a5は、t(以後「カウンタt」と称す)の値が記憶されている。
【0037】
次に、図3及び図4を参照して、電子楽器1において、速弾き時またはポルタメント時に設定される楽音について説明する。図3は、速弾き時のノートイベントの一例を示したグラフであり、図4は、ポルタメント時のノートイベントの一例を示したグラフである。図3(a)及び図4(a)は、ノートAの示す音高がノートBの示す音高より低い場合のグラフであり、図3(b)及び図4(b)は、ノートAの示す音高がノートBの示す音高より高い場合のグラフである。
【0038】
ここで、ノートイベントとは、ノートオン情報およびノートオフ情報の総称であり、ノートオン情報は、発音の開始を指示する演奏情報であり、ノートオフ情報は、発音の停止を指示する演奏情報である。なお、ノートオン情報およびノートオフ情報は、音高を示すノート情報と、押鍵速度または離鍵速度を示すベロシティ情報とを含んでいる。
【0039】
また、図3及び図4は、横軸を時間(単位:msec)とし、縦軸を音高(単位:半音)とし、各図の上段が入力ノートイベントを示し、各図の下段が出力ノートイベントを示している。さらに、各図において、ノートイベントは、音高の高さを示す実線と、その実線を囲む長方形とで図示されている。
【0040】
また、ノートA又はノートBの音高が変更される変化時間は、変化時間Δtで示されており、その音高が変更される変化幅は、変化幅Δpで示されている。また、入力されたノートAのノートオン情報が示す音高とノートBのノートオン情報が示す音高差は、音高差Iで示されている。
【0041】
まず、図3(a)を参照して、速弾き時にノートAの示す音高がノートBの示す音高より低い場合について説明する。
【0042】
図3(a)上段(入力ノートイベント)に示すように、時刻t1にノートAのノートオン情報がMIDI鍵盤20より入力され、時刻t2にノートAのノートオフ情報がMIDI鍵盤20よりに入力されている。そして、時刻t3にノートBのノートオン情報がMIDI鍵盤20より入力され、時刻t5にノートBのノートオフ情報がMIDI鍵盤20より時刻t5に入力されている。
【0043】
図3(a)下段(出力ノートイベント)に示すように、ノートAのノートオン情報が入力された時刻t1に、そのノートAのノートオン情報を音源7に出力し、ノートAのノートオフ情報が入力された時刻t2に、そのノートAのノートオフ情報を音源7に出力している。
【0044】
即ち、速弾き時にノートAの示す音高がノートBの示す音高より低い場合において、ノートAのノートオン情報およびノートオフ情報は、入力された演奏情報をそのまま楽音7に出力していることになる。
【0045】
また、ノートBのノートオン情報が入力された時刻t3に、そのノートBのノートオン情報が音源7に出力されるが、入力されたノートBのノートオン情報が示す音高より低い音高から発音開始を指示している。その後、時刻t4までの変化時間Δtの間は、低い音高からノートBのノートオン情報が示す音高に向かって徐々に高くなっている。後述するが、この時刻t3〜t4の間は、1msec毎に、所定量のピッチが変化するようなピッチベンドが音源7に出力される。
【0046】
その後、時刻t4以降は、入力されたノートBのノートオン情報が示す音高で発音され、ノートBのノートオフ情報が入力された時刻t5に、そのノートBのノートオフ情報を音源7に出力している。
【0047】
なお、速弾き判定時間とは、ノートAのノートオン情報が入力された時刻t1からノートBのノートオン情報が入力された時刻t3までの時間であり、本実施例では、時刻t1〜t3の時間間隔が、100msec以内であれば、速弾きと判断する。
【0048】
また、助刻t3〜t4の間に変化する音高の変化幅Δp(=最大ベンド幅×音高差I/12)及び変化時間Δt(=Mt2/12×変化幅Δp)は、ROM3の変化時間算出テーブル3bを参照して算出される。なお、本実施例では、最大ベンド幅および最大変化時間Mt2は、予め定められており、最大ベンド幅は2半音であり、最大変化時間Mt2は100msecである。
【0049】
次に、図3(b)を参照して、速弾き時にノートAの示す音高がノートBの示す音高より高い場合について説明する。なお、図3(b)において、ノートA,Bのノートオン情報およびノートオフ情報が入力される時刻t1,t2,t3,t5は、図3(a)と同様になるので、その詳細な説明は省略し、出力ノートイベント(図3(b)下段)の時刻t3〜t4の間のみ説明する。
【0050】
図3(b)下段(出力ノートイベント)に示すように、ノートBのノートオン情報が入力された時刻t3に、そのノートBのノートオン情報が音源7に出力されるが、入力されたノートBのノートオン情報が示す音高より高い音高から発音開始が指示されている。その後、時刻t4までの変化時間Δtの間は、高い音高からノートBのノートオン情報が示す音高に向かって徐々に低くなっている。後述するが、この時刻t3〜t4の間は、1msec毎に、所定量のピッチが変化するようなピッチベンドが音源7に出力される。
【0051】
以上、説明したように、速弾き時には、ノートBのノートオン情報が音源7に出力されると、そのノートBのノートオン情報に基づく楽音が、ノートAのノートオン情報が示す音高からノートBのノートオン情報が示す音高に向かって徐々に音高変化して発音するように指示が音源7に出力される。よって、ノートAのノートオン情報に基づく楽音からノートBのノートオン情報に基づく楽音への音のつながりが滑らかになる。
【0052】
次に、図4(a)を参照して、ポルタメント時にノートAの示す音高がノートBの示す音高より低い場合について説明する。
【0053】
図4(a)上段(入力ノートイベント)に示すように、時刻t1にノートAのノートオン情報がMIDI鍵盤20より入力され、時刻t2にノートAのノートオフ情報がMIDI鍵盤20より入力されている。また、ノートBのノートオン情報がMIDI鍵盤20より入力される時刻t3は、ノートAのノートオフ情報が入力される時刻t2より前となっている。その後、時刻t5にノートBのノートオフ情報がMIDI鍵盤20より入力されている。
【0054】
なお、本実施例では、ノートAのノートオフ情報が入力される前に、ノートBのノートオン情報が入力される場合をレガート演奏と判断している。よって、図示および説明は省略するが、CPU2によって、レガート演奏であるか否かを判断する処理が、ノートオン情報およびノートオフ情報が入力される毎に実行されている。
【0055】
なお、ノートAのノートオフ情報が入力される時刻t2と、ノートBのノートオン情報が入力される時刻t3とがほぼ同時刻である場合をレガート演奏であると判断するものとしても良いし、ノートAのノートオフ情報が入力された後、所定時間以内(例えば、50msec以内)に、ノートBのノートオン情報が入力された場合をレガート演奏と判断するものとしても良い。
【0056】
図4(a)下段(出力ノートイベント)に示すように、ノートAのノートオン情報が入力された時刻t1に、そのノートAのノートオン情報が音源7に出力されている。そして、ノートAのノートオフ情報は、ノートAのノートオフ情報が入力される時刻t2より前に、ノートBのノートオン情報が入力された時刻t3に音源7に出力されている。
【0057】
また、ノートBのノートオン情報が入力された時刻t3に、そのノートBのノートオン情報が音源7に出力されるが、入力されたノートBのノートオン情報が示す音高より低い音高から発音開始を指示している。その後、時刻t4までの変化時間Δtの間は、低い音高からノートBのノートオン情報が示す音高に向かって徐々に高くなっている。後述するが、この時刻t3〜t4の間は、1msec毎に、所定量のピッチが変化するようなピッチベンドが音源7に出力される。
【0058】
その後、時刻t4以降は、入力されたノートBのノートオン情報が示す音高で発音され、ノートBのノートオフ情報が入力された時刻t5に、そのノートBのノートオフ情報を音源7に出力している。
【0059】
また、助刻t3〜t4の間に変化する音高の変化幅Δp(=最大ベンド幅×音高差I/12)及び変化時間Δt(=Mt1/12×変化幅Δp)は、ROM3の変化時間算出テーブル3bを参照して算出される。なお、本実施例では、最大ベンド幅および最大変化時間Mt1は、予め定められており、最大ベンド幅は2半音であり、最大変化時間Mt1は150msecである。
【0060】
次に、図4(b)を参照して、ポルタメント時にノートAの示す音高がノートBの示す音高より高い場合について説明する。なお、図4(b)において、ノートA,Bのノートオン情報およびノートオフ情報が入力される時刻t1,t2,t3,t5は、図4(a)と同様になるので、その詳細な説明は省略し、出力ノートイベント(図4(b)下段)の時刻t3〜t4の間のみ説明する。
【0061】
図4(b)下段(出力ノートイベント)に示すように、ノートBのノートオン情報が入力された時刻t3から時刻t4までの変化時間Δtの間は、入力されたノートAのノートオン情報が示す音高から低い音高に向かって徐々に音高変化して発音する指示が音源7に出力されている。なお、後述するが、この時刻t3〜t4の間は、1msec毎に、所定量のピッチが変化するようなピッチベンドが音源7に出力される。
【0062】
その後、時刻t4に、ノートBのノートオン情報が入力された時刻t3より遅れて、ノートオン情報が音源7に出力され、時刻t4〜t5の間は、入力されたノートBのノートオン情報が示す音高により発音がなさる。
【0063】
以上、説明したように、ポルタメント時には、2つのノートオン情報に基づく楽音の発音が重なる、所謂レガート演奏である場合には、ノートBのノートオン情報が入力されたタイミング(時刻t3)で、ノートBのノートオン情報やノートAのノートオフ情報を音源7に出力し、発音の開始または停止を指示している。また、ノートA又はノートBに基づく楽音の音高変化は、ノートA又はノートBのノートオン情報が示す音高の高い方が変更され、徐々に音高変化している。よって、ノートAのノートオン情報に基づく楽音からノートBのノートオン情報に基づく楽音への音のつながりが滑らかになる。
【0064】
次に、図5を参照して、ノートAのノートオン情報が示す音高とノートBのノートオン情報が示す音高との音高差Iと、最大変化時間Mt1,Mt2との関係について説明する。図5は、音高差Iと最大変化時間Mt1,Mt2との関係を示したグラフである。なお、図5は、ROM3の変化時間算出テーブル3bに記憶されているテーブルをグラフ化したものである。
【0065】
また、図5は、横軸が音高差(単位:半音)であり、縦軸が最大変化時間(単位:msec)である。さらに、音高差Iの最大範囲は12半音までとし、それ以上の音高差は、全て12とする。
【0066】
図5に示すように、最大変化時間Mt1,Mt2は、音高差Iに比例して大きな値となるよう設定され、ポルタメント時の最大変化時間Mt1と、速弾き時の最大変化時間Mt2との傾きが異なって設定されている。
【0067】
これは、速弾き時は、ノートAのノートオン情報が入力される時刻と、ノートBのノートオン情報が入力される時刻との時間間隔が短いためであり、速弾き時に長い変化時間が設定されると、ノートBに基づく楽音の発音が短くなったり、全く発音されないなどの弊害が生じるからである。
【0068】
また、音高差Iの最大範囲は12とされ、それ以上の音高差であっても12に設定されるので、音高差Iに基づいて算出される変化時間Δtが極端に長くなることを防止することができ、上記弊害の発生を防止することができる。
【0069】
次に、図6〜図10を参照して、上述のように構成された電子楽器1で実行されるノートイベント入力処理について説明する。図6は、電子楽器1のCPU2において実行されるノートイベント入力処理を示したフローチャートである。なお、ノートイベント入力処理は、MIDI鍵盤20からノートオン情報またはノートオフ情報が入力される毎に実行される。
【0070】
ノートイベント入力処理が実行されると、まず、MIDI鍵盤20から入力されたノートのステータスがオンであるか否か、即ち、MIDI鍵盤20から入力された演奏情報がノートオン情報であるか否かを判断し(S101)、入力された演奏情報がノートオン情報であれば(S101:Yes)、S102の処理へ移行し、入力された演奏情報がノートオフ情報であれば(S101:No)、S121の処理へ移行する。
【0071】
S102の処理では、カウンタ記憶エリア4a5に記憶されているカウンタtの値が0であるか否かを判断する(S102)。カウンタtの値は、後述するが、ノートA又はノートBのノートオン情報に基づく楽音を設定し発音を指示した際に加算が開始されるので、カウンタtの値が0であるか否かを判断することで、新たに、ノートオン情報が入力されたか否かを判断することができる。
【0072】
S102の処理で、カウンタtの値が0でなければ(S102:No)、新たなノートオン情報に対応した処理を行なうために初期値設定処理を実行し(S103)、カウンタtの値が0であれば(S102:Yes)、S103の処理を実行せずに、S104の処理へ移行する。
【0073】
ここで、図7を参照して、初期値設定処理について説明する。図7は、ノートイベント入力処理内で実行される初期値設定処理を示したフローチャートである。この初期値設定処理は、新たなノートオン情報が入力された場合に、各変数を初期化する処理である。
【0074】
初期値設定処理が実行されると、まず、ピッチ変化の値に初期値(値0)を設定し(S201)、そして、ピッチ変化の値が0に応じたピッチベンドを音源7に出力し(S202)、最後に、カウンタtの値に初期値(値0)を設定して(S204)、本処理を終了する。
【0075】
図6に戻り、ノートイベント入力処理のS104以降の処理について説明する。
【0076】
S104の処理では、ノートB記憶エリア4a2の時刻記憶エリア及びステータス記憶エリア、音高記憶エリア、ベロシティ記憶エリアに記憶されている時刻およびステータス、音高、ベロシティを、ノートA記憶エリア4a1の各記憶エリアに転記し(S104)、ノートB記憶エリア4a2に、ノートオン情報が入力された現在時刻、そのノートオン情報に含まれるステータス及び音高、ベロシティを、それぞれの記憶エリアに記憶する(S105)。具体的には、ノートオン情報が入力された現在時刻は、タイマー2aの値が時刻記憶エリアに記憶され、ノートオン情報に含まれる情報は、ステータス記憶エリア、音高記憶エリア、ベロシティ記憶エリアに記憶される。
【0077】
次に、ノートA記憶エリア4a1の時刻記憶エリアに記憶されている現在時刻と、ノートB記憶エリア4a2の時刻記憶エリアに記憶されている現在時刻とに基づく、ノートAのノートオン情報が入力された時刻とノートBのノートオン情報が入力された時刻との時間差が、速弾き判定時間以下であるか否かを判断する(S106)。なお、本実施例では、速弾き判定時間は、100msecに設定されている。
【0078】
S106の処理で、ノートAとノートBとの時間差が、速弾き判定時間以下であると判断されると(S106:Yes)、速弾き処理を実行し(S107)、本処理を終了する。
【0079】
一方、S106の処理で、ノートA及びノートBのノートオン情報が入力された時間差が、速弾き判定時間より長いと判断されると(S106:No)、レガート演奏であるか否かを判断し(S108)、レガート演奏であれば(S108:Yes)、次に、操作パネル6のポルタメントスイッチ(図示せず)がオンされているか否かを判断する(S109)。
【0080】
そして、レガート演奏であると判断され、且つ、ポルタメントスイッチがオンであった場合に(S108:Yes、S109:Yes)、ポルタメント処理を実行し(S110)、本処理を終了する。
【0081】
なお、S108の処理においてレガート演奏であるか否かに応じて、ポルタメント処理を実行するか否かが選択されている。上述したように、レガート演奏であるか否かの判断は、ノートAのノートオフ情報が入力される時刻t2(図4参照)と、ノートBのノートオン情報が入力される時刻t3(図4参照)とにより判断されるので、MIDI鍵盤20の演奏を変更することで、任意にポルタメント処理を実行するか否かを選択することができる。さらに、操作パネル6にポルタメントスイッチを設けているので、演奏者の好みに応じた楽音の演奏を行なうこともできる。
【0082】
一方、レガート演奏であると判断されたが、ポルタメントスイッチがオフであった場合には(S108:Yes、S109:No)、ポルタメント処理を実行する必要がないので、ノートAのノートオフ情報とノートBのノートオン情報とを音源7に出力して(S111)、本処理を終了する。
【0083】
さらに、S108の処理で、レガート演奏でないと判断されると(S108:No)、ノートイベントがノートBのノートオンとなるので、入力されたノートBのノートオン情報を、そのまま音源7に出力して(S112)、本処理を終了する。
【0084】
また、S101の処理で、入力された演奏情報がノートオフ情報であると判断されると(S101:No)、その入力された演奏情報がノートBに対するノートオフ情報であるか否かを判断し(S121)、ノートBに対するノートオフ情報でなければ(S121:No)、そのまま、本処理を終了する。
【0085】
一方、S121の処理で、入力された演奏情報がノートBに対するノートオフ情報であれば(S121:Yes)、ノートAのステータス記憶エリアに記憶されるステータスが、オン(9XH)されているか否かを判断する(S122)。
【0086】
S122の処理で、ノートAのステータス記憶エリアに記憶されているステータスがオン(9XH)であれば(S122:Yes)、ノートAに対する発音を停止するために、ノートAのノートオフ情報を音源7に出力し(S123)、ノートAのステータス記憶エリアに記憶されているステータスがオフ(8XH)であれば(S122:No)、既にノートAに対する発音が停止されているので、S123の処理を実行せずに、S124の処理へ移行する。
【0087】
S124の処理では、ノートBのノートオフ情報を音源7に出力して(S124)、本処理を終了する。
【0088】
次に、図8を参照して、速弾き処理について説明する。図8は、ノートイベント入力処理内で実行される速弾き処理を示したフローチャートである。
【0089】
速弾き処理が実行されると、まず、変化時間Δtを算出する(S301)。変化時間Δtの算出は、図5に示す音高差Iと最大変化時間Mt2との関係から求めることができる。まず、ピッチの変化幅Δp(=最大ベンド幅×音高差I/12)を算出し、その後、変化時間Δt(=Mt2/12×変化幅Δp)を算出する。なお、ピッチの変化幅Δp及び変化時間Δtは、RAM4の所定エリアに記憶し、後述する楽音設定処理内で使用される。
【0090】
S302の処理では、レガート演奏であるか否かを判断し(S302)、レガート演奏であれば(S302:Yes)、ノートBのノートオン情報を音源7に出力する前に、ノートAのノートオフ情報を音源7に出力するために、ノートA記憶エリア4a1のステータス記憶エリアに記憶されているステータスをオフ(8XH)に書き換え、ノートAのノートオフ情報を音源7に出力し(S303)、S304の処理へ移行する。
【0091】
一方、S302の処理で、レガート演奏でないと判断されたら(S302:No)、速弾き処理では、既に、ノートAのノートオフ情報が音源7に出力されているので、S303の処理を実行せずに、S304の処理へ移行する。
【0092】
S304の処理では、モード1記憶エリア4a3の値をノートBに対応した値に設定し(S304)、その後、モード2記憶エリア4a4の値を速弾きに対応した値に設定して(S305)、楽音設定処理の割込みを許可した後に(S306)、本処理を終了する。なお、S304の処理でモード1をノートBに設定しているのは、速弾き処理がノートBのノートオン情報に基づく楽音を設定するからである。
【0093】
次に、図9を参照して、ポルタメント処理について説明する。図9は、ノートイベント入力処理内で実行されるポルタメント処理を示したフローチャートである。
【0094】
ポルタメント処理が実行されると、まず、S301の処理と同様の方法により変化時間Δtを算出する(S401)。また、同様に、ピッチの変化幅Δp及び変化時間Δtは、RAM4の所定エリアに記憶し、後述する楽音設定処理内で使用される。
【0095】
S402の処理では、ノートA記憶エリア4a1の音高記憶エリアと、ノートB記憶エリア4a2の音高記憶エリアとを参照して、ノートAのノートオン情報が示す音高が、ノートBのノートオン情報が示す音高より低いか否かを判断する(S402)。
【0096】
S402の処理で、ノートAのノートオン情報が示す音高の方が低ければ(S402:Yes)、本実施例のポルタメント処理は音高の高いノートBのノートオン情報に基づく楽音を設定するので、ノートBのノートオン情報を音源7に出力する前に、ノートAのノートオン情報に基づく楽音の発音停止を指示するために、ノートA記憶エリア4a1のステータス記憶エリアをオフ(8XH)に書き換え、ノートAのノートオフ情報を音源7に出力する(S403)。
【0097】
そして、ノートBのノートオン情報に基づく楽音を変更するので、モード1記憶エリア4a3をノートBに対応した値に設定し(S404)、S406の処理へ移行する。
【0098】
一方、S402の処理で、ノートAのノートオン情報が示す音高の方が高ければ(S402:No)、本実施例のポルタメント処理は音高の高いノートAのノートオン情報に基づく楽音を設定するので、ノートA記憶エリア4a1のステータス記憶エリアをオフに書き換えることなく(即ち、オン(9XH)のまま)、モード1記憶エリア4a3をノートAに対応した値に設定し(S405)、S406の処理へ移行する。
【0099】
S406の処理では、モード2記憶エリア4a4の値をポルタメントに対応した値に設定し(S305)、その後、楽音設定処理の割込みを許可して(S406)、本処理を終了する。
【0100】
次に、図10を参照して、楽音設定処理について説明する。図10は、電子楽器1のCPU2において実行される楽音設定処理を示したフローチャートである。なお、楽音設定処理は、速弾き処理内のS306の処理およびポルタメント処理内のS407の処理において、割込みが許可された場合に1msec間隔で実行される割込処理である。
【0101】
楽音設定処理が実行されると、モード1記憶エリア4a3に記憶されている情報がノートBで且つモード2記憶エリア4a4に記憶されている情報がポルタメントであるか否かを判断し(S501)、モード1記憶エリア4a3に記憶されている情報がノートAであるか、モード2記憶エリア4a4に記憶されている情報が速弾きであれば(S501:No)、S502の処理へ移行し、モード1記憶エリア4a3に記憶されている情報がノートBで且つモード2記憶エリア4a4に記憶されている情報がポルタメントであれば(S501:Yes)、S521の処理へ移行する。
【0102】
S502の処理では、カウンタtの値が、S301の処理またはS401の処理で設定した変化時間Δt以下であるか否かを判断し(S502)、カウンタtの値が変化時間Δt以下であれば(S502:Yes)、楽音設定処理が実行されてから変化時間Δtを経過していないことになるので、S503の処理へ移行して、モード2記憶エリア4a4に記憶されている情報がポルタメントであるか否かを判断する(S503)。
【0103】
S503の処理で、モード2記憶エリア4a4に記憶されている情報がポルタメントであれば(S503:Yes)、ピッチ変化率Pcをポルタメント時の最大変化時間Mt1に基づいて算出し(S504)、S506の処理へ移行する。本実施例では、ピッチ変化率Pcは、「12/Mt1」で算出される。
【0104】
一方、S503の処理で、モード2記憶エリア4a4に記憶されている情報が速弾きであれば(S503:No)、ピッチ変化率Pcを速弾き時の最大変化時間Mt2に基づいて算出し(S505)、S506の処理へ移行する。本実施例では、ピッチ変化率Pcは、「12/Mt2」で算出される。
【0105】
なお、S504及びS505の処理で設定されるピッチ変化率Pcは、音高差Iが12以下であれば、音高差Iに比例した値となり略一定となるので、S504及びS505の処理で一度ピッチ変化率が設定されたら、その後、S504及びS5050の処理を実行せずに、S506の処理へ移行するものとしても良い。
【0106】
S506の処理では、ノートA,B記憶エリア4a1,4a2の音高記憶エリアの値を参照して、ノートAのノートオン情報の示す音高が、ノートBのノートオン情報の示す音高より低いか否かを判断し(S506)、ノートAのノートオン情報の示す音高の方が低ければ(S506:Yes)、ノートBのノートオン情報に基づく楽音の音高を徐々に高くする場合となるので、ピッチ変化率Pcにカウンタtの値を乗算した値から、S301又はS401の処理で記憶された変化幅Δpを減算してピッチ変化を算出して(S507)、S509の処理へ移行する。
【0107】
一方、S506の処理で、ノートAのノートオン情報の示す音高の方が高ければ(S506:No)、ノートBのノートオン情報に基づく楽音の音高を徐々に低くする場合となるので、ピッチ変化率−Pcにカウンタtの値を乗算した値に、S301又はS401の処理で記憶された変化幅Δpを加算してピッチ変化を算出して(S508)、S509の処理へ移行する。
【0108】
なお、本実施例では、楽音設定処理は、1msec毎の割込み処理で実行されているので、S507及びS508の処理では、1msec毎のピッチ変化を算出していることになる。また、楽音設定処理の実行が初回であれば、tの値が0であるので、ピッチ変化の値も0となる。
【0109】
S509の処理では、S507及びS508の処理で算出したピッチ変化に応じたピッチベンドを音源7に出力し(S509)、次に、カウンタtの値が0であるか否かを判断する(S510)。
【0110】
S510の処理で、カウンタtの値が0であれば(S510:Yes)、楽音設定処理の実行が初回となり、楽音の発音開始指示をしていないことになるので、ノートBのノートオン情報を音源7に出力し(S511)、カウンタtの値が0でなければ(S510:No)、既に、ノートBのノートオン情報が音源7に出力されていることになるので、S511の処理を実行せずに、S512の処理へしてカウンタtの値に1を加算し(S512)、本処理を終了する。
【0111】
ここで、楽音設定処理が1msec毎に実行されるので、カウンタtの値が1大きくなると、前の状態から1msec経過したこととなる。即ち、上述したS502の処理では、カウンタtの値が、ノートBの楽音を変更開始してからの経過時間である。
【0112】
一方、S502の処理で、カウンタtの値が変化時間Δtを越えていれば(S502:Yes)、楽音設定処理が実行されてから変化時間Δtを経過していることになるので、楽音設定処理の実行を停止するために、楽音設定処理の割込みを禁止し(S513)、本処理を終了する。S513の処理で、楽音設定処理の割込みが禁止されると、次に、楽音設定処理の割込みが許可されるまで、楽音設定処理の実行が禁止される。
【0113】
次に、S521以降の処理について説明する。S521の処理では、カウンタtの値が変化時間Δt以下であるか否かを判断し(S521)、カウンタtの値が変化時間Δt以下であれば(S502:Yes)、楽音設定処理が実行されてから変化時間Δtを経過していないことになるので、S522の処理へ移行する。
【0114】
S522の処理では、本実施例においてモード1記憶エリア4a3に記憶されている情報がノートBで且つモード2記憶エリア4a4に記憶されている状態がポルタメントなので、ピッチ変化率Pcをポルタメント時の最大変化時間Mt1に基づいて算出して(S522)、S523の処理へ移行する。本実施例では、ピッチ変化率Pcは、「12/Mt1」で算出される。
【0115】
S523の処理では、ノートAのノートオン情報に基づく楽音の音高を徐々に低くする場合となるので、ピッチ変化率−Pcにカウンタtの値を乗算した値に、S301又はS401の処理で記憶された変化幅Δpを加算してピッチ変化を算出する(S523)。
【0116】
S523の処理で、ピッチ変化が算出されると、その算出したピッチ変化に応じたピッチベンドを音源7に出力し(S524)、S512の処理へ移行してカウンタtの値に1を加算し(S512)、本処理を終了する。
【0117】
一方、S521の処理で、カウンタtの値が変化時間Δtを越えていれば(S521:No)、ノートAのノートオン情報に基づく楽音を設定する変化時間Δtが経過したことになるので、ノートA記憶エリア4a1のステータス記憶エリアがオン(9XH)であるか否かを判断し(S525)、ノートA記憶エリア4a1のステータス記憶エリアがオンであれば(S525:Yes)、変化時間Δtが経過した場合はノートAの発音停止タイミングでありノートBの発音開始タイミングであるので、ノートA記憶エリア4a1のステータス記憶エリアをオフ(8XH)に書き換え、ノートAのノートオフ情報を音源7に出力すると共に(S526)、ノートBのノートオン情報を音源7に出力して(S527)、S528の処理へ移行する。
【0118】
一方、S525の処理で、ノートA記憶エリア4a1のステータス記憶エリアがオフ(8XH)であれば(S525:No)、既に、S526及びS527の処理は実行されたことになるので、S526及びS527の処理を実行せずに、S528の処理へ移行する。
【0119】
S528の処理では、楽音設定処理が実行されてから変化時間Δtを経過していることになるので、楽音設定処理の実行を停止するために、楽音設定処理の割込みを禁止して(S528)、本処理を終了する。
【0120】
以上、説明したように、ポルタメント時の楽音設定処理では、ノートBのノートオン情報が入力された場合に、そのノートBのノートオン情報の示す音高が、ノートAのノートオン情報の示す音高より高い場合には、変化時間Δtの間、ノートBのノートオン情報が示す音高より低い音高から徐々に音高の高い方へ音高変化する指示が音源7に出力される。一方、ノートAのノートオン情報の示す音高の方が高い場合には、変化時間Δtの間、ノートAのノートオン情報の示す音高から徐々に低い音高に向かって音高変化する指示が音源7に出力される。よって、スピーカ22からは、ノートAのノートオン情報に基づく楽音と、ノートBのノートオン情報に基づく楽音とのつながりが滑らかに発音される。
【0121】
ここで、一般的に、管楽器は、喉の開き具合や唇の閉め具合などを調整して、音高を連続的に滑らかに変化させる。この音高の変化は、高い音高から低い音高へ変化する場合には喉の開き具合や唇の閉め具合の調整は困難でないが、反対に、低い音高から高い音高へ変化する場合には喉の開き具合や唇の閉め具合の調整が困難となる。そのため、電子楽器において、喉の開き具合や唇の閉め具合を含む管楽器の演奏を忠実に行なおうとした場合、演奏者は操作パネルの操作子などを複雑に操作しなければならないので、熟練した奏者でなければ、管楽器の演奏を忠実に行なうことが困難であった。
【0122】
しかし、ポルタメント時の楽音設定処理によれば、ノートAのノートオン情報の示す音高と、ノートBのノートオン情報の示す音高とを比較し、変化時間Δtの間、ノートオン情報の示す音高が高い方の楽音を、徐々に音高変化させて発音するので、管楽器の演奏を模擬した楽音を発音する場合に、より忠実に模擬した演奏を行なうことができる。従って、演奏者は、MIDI鍵盤20を操作するだけで、楽器固有の特定に応じた演奏を複雑な操作をすることなく演奏することができる。
【0123】
また、ノートAのノートオン情報が入力される時刻と、ノートBのノートオン情報が入力される時刻との間が100msec以内であれば、速弾き時の楽音設定処理が実行され、ノートBのノートオン情報に基づく楽音が変化時間Δtのあいだ徐々に音高変化して発音する指示が音源7に出力されるので、ノートAのノートオン情報に基づく楽音の発音と、ノートBのノートオン情報に基づく楽音の発音とのつながりが滑らかになる。よって、演奏者によってMIDI鍵盤20が速弾きされ、管楽器が速弾きされた場合の演奏であっても、より忠実に模擬した演奏を行なうことができる。
【0124】
以上、各実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【0125】
例えば、上記各実施形態では、電子楽器1に設けられた音源7にノートオン情報およびノートオフ情報とを出力する構成としたが、電子楽器1に音源7を設けずに外部に設けられた音源にノートオン情報およびノートオフ情報を出力する構成としても良い。さらに、電子楽器1に鍵盤を設け、ノートオン情報およびノートオフ情報を電子楽器1で生成するものとしても良い。
【0126】
ここで、本実施形態において、請求項1の音高判断手段としては図9のS402の処理および図10のS506の処理が該当し、請求項1の第1指示手段としては図10のS509及びS524の処理が該当し、請求項2記載のレガート演奏判断手段としては図6のS108の処理が該当し、請求項3の音高判断手段としては図10のS506の処理が該当し、請求項3の時間間隔判断手段としては図6のS106の処理が該当し、請求項3記載の第2指示手段としては図10のS509の処理が該当し、請求項4の設定手段としては図8のS301の処理および図9のS401の処理が該当する。
【図面の簡単な説明】
【0127】
【図1】本発明の電子楽器の電気的構成を示したブロック図である。
【図2】RAMのテンポラリメモリの構成を示した図である。
【図3】速弾き時のノートイベントの一例を示したフラグである。
【図4】ポルタメント時のノートイベントの一例を示したフラグである。
【図5】音高差と最大変化時間との関係を示したグラフである。
【図6】電子楽器のCPUにおいて実行されるノートイベント入力処理を示したフローチャートである。
【図7】ノートイベント入力処理内で実行される初期値設定処理を示したフローチャートである。
【図8】ノートイベント入力処理内で実行される速弾き処理を示したフローチャートである。
【図9】ノートイベント入力処理内で実行されるポルタメント処理を示したフローチャートである。
【図10】電子楽器1のCPU2において実行される楽音設定処理を示したフローチャートである。
【符号の説明】
【0128】
1 電子楽器
2 CPU(入力手段の一部)
2a タイマ(計時手段)
6 MIDI I/F(入力手段の一部)

【特許請求の範囲】
【請求項1】
所定の音高の楽音の発音開始を指示するノートオン情報を入力する入力手段と、
その入力手段により入力された第1のノートオン情報が示す音高と、その第1のノートオン情報の次に入力された第2のノートオン情報が示す音高との高低を、前記第2のノートオン情報が入力された場合に判断する音高判断手段と、
その音高判断手段によって、前記第2のノートオン情報が示す音高の方が高いと判断された場合に、その第2のノートオン情報に基づく楽音の発音開始を指示すると共に、その第2のノートオン情報に基づく楽音が、前記第2のノートオン情報が示す音高より低い音高から徐々に前記第2のノートオン情報が示す音高に音高変化して発音するように指示する一方、
前記音高判断手段によって、前記第1のノートオン情報が示す音高の方が高いと判断された場合に、その第1のノートオン情報に基づく楽音を、その第1のノートオン情報が示す音高から低い音高に向かって徐々に音高変化するように指示すると共に、前記第2のノートオン情報が入力された時より遅れて前記第2のノートオン情報に基づく楽音の発音開始を指示する第1指示手段とを備えていることを特徴とする電子楽器。
【請求項2】
前記入力手段は、前記ノートオン情報の他に、所定の音高の楽音の発音停止を指示するノートオフ情報を入力するものであり、
前記第1のノートオン情報の発音停止を指示する第1のノートオフ情報が入力された時刻と、前記第2のノートオン情報が入力された時刻とに基づいて、レガート演奏であるか否かを判断するレガート演奏判断手段を備え、
前記第1指示手段は、前記レガート演奏判断手段によりレガート演奏であると判断された場合に指示するものであることを特徴とする請求項1記載の電子楽器。
【請求項3】
所定の音高の楽音の発音開始を指示するノートオン情報を入力する入力手段と、
その入力手段により入力された第1のノートオン情報が示す音高と、その第1のノートオン情報の次に入力された第2のノートオン情報が示す音高との高低を、前記第2のノートオン情報が入力された場合に判断する音高判断手段と、
前記入力手段により入力された第1のノートオン情報と前記第2のノートオン情報とが入力される時間間隔を計時する計時手段と、
その計時手段により計時される時間間隔が所定時間以内であるか否かを判断する時間間隔判断手段と、
その時間間隔判断手段により時間間隔が所定時間以内と判断され且つ前記音高判断手段により前記第2のノートオン情報が示す音高の方が高いと判断された場合に、その第2のノートオン情報に基づく楽音の発音開始を指示すると共に、その第2のノートオン情報に基づく楽音が、前記第2のノートオン情報が示す音高より低い音高から徐々に前記第2のノートオン情報が示す音高に音高変化して発音するように指示する一方、
前記時間間隔判断手段により時間間隔が所定時間以内と判断され且つ前記音高判断手段により前記第1のノートオン情報が示す音高の方が高いと判断された場合に、前記第2のノートオン情報に基づく楽音の発音開始を指示すると共に、その第2のノートオン情報に基づく楽音が、前記第2のノートオン情報が示す音高より高い音高から徐々に前記第2のノートオン情報が示す音高に音高変化して発音するように指示する第2指示手段とを備えていることを特徴とする電子楽器。
【請求項4】
前記第1又は第2指示手段により徐々に音高変化を指示する場合に、その音高変化の変化時間を設定する設定手段を備え、
その設定手段は、前記第1のノートオン情報と第2のノートオン情報との音高差に応じて前記変化時間を設定すると共に、前記第1のノートオン情報と第2のノートオン情報との音高差が所定範囲以上であった場合に、予め定めた最大値を前記変化時間に設定するものであることを特徴とする請求項1から3のいずれかに記載の電子楽器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−42387(P2009−42387A)
【公開日】平成21年2月26日(2009.2.26)
【国際特許分類】
【出願番号】特願2007−205676(P2007−205676)
【出願日】平成19年8月7日(2007.8.7)
【出願人】(000116068)ローランド株式会社 (175)
【Fターム(参考)】