説明

電子楽器

【課題】演奏態様に応じて適切なポルタメントタイムを設定することができる電子楽器を提供する。
【解決手段】時刻t2にノートBのノートオン情報が入力されると、レガート演奏であるので、音源7により発生される楽音はポルタメントを開始し、ノートAの音高からノートBの音高に向かって変化し始める。時刻t4にノートAのノートオフ情報が入力されると、音高変化の傾きが大きくなる。即ち、変化速度が大きくなり、その結果、時刻t3’にノートBの音高に到達する。時刻t4より後のt4’に、ノートAのノートオフ情報を入力した場合は、同様に音高変化の傾きが大きくなるように変更される。その結果、時刻t3”にノートBの音高に到達する。変更後の変化速度は、予め定められた速度の例えば、2倍に変更される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子楽器に関し、特に、演奏態様に応じて適切なポルタメントタイムを設定することができる電子楽器に関する。
【背景技術】
【0002】
従来、電子楽器において、ある音高から他の音高へ徐々に変化するポルタメントを行うものが知られている。また、鍵盤による演奏で、トロンボーンの演奏を模擬する電子楽器が提案されている。特許第2678281号公報(特許文献1)には、前回の押鍵と今回の押鍵との音高差と、前回の押鍵と今回の押鍵との時間差に応じて、ポルタメントタイムを設定する電子楽器が開示されている。
【特許文献1】特許第2678281号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記特許文献1に開示された技術では、ポルタメントタイム、またはポルタメント速度は、前回の押鍵と今回の押鍵との音高差と、前回の押鍵と今回の押鍵との時間差に応じて決定されるが、必ずしも演奏に合ったポルタメントが得られないという問題点があった。即ち、前回の押鍵と今回の押鍵との時間差に応じて、ポルタメントタイムが設定されるため、今回の押鍵時間(押鍵から離鍵までの時間)、または、今回の押鍵から次の押鍵までの時間差に関係なく設定される。例えば、前回の押鍵と今回の押鍵との時間差が短いと、今回の押鍵の押鍵時間が長くても、特許文献1に開示された技術によれば、ポルタメントタイムが短く設定されるが、今回の押鍵の押鍵時間が長い場合は、ポルタメントタイムが長い方が好ましい。また、逆に前回の押鍵と今回の押鍵との時間差が長いと、今回の押鍵の押鍵時間が短くても、ポルタメントタイムが長く設定されるが、今回の押鍵の押鍵時間が短い場合は、ポルタメントタイムが短い方が好ましい。
【0004】
本発明は、上述した問題点を解決するためになされたものであり、演奏態様に応じて適切なポルタメントタイムを設定することができる電子楽器を提供することを目的としている。
【課題を解決するための手段】
【0005】
上記課題を解決するために、請求項1記載の電子楽器は、所定の音高の楽音の発生の開始を指示するノートオン情報と楽音の停止を指示するノートオフ情報とを入力する入力手段と、楽音を発生する音源に対し、その入力手段により入力された情報に応じて指示を行うものであり、前記入力手段により第1のノートオン情報を入力し、その第1のノートオン情報に対応するノートオフ情報を入力する前に第2のノートオン情報を入力した場合に、前記第1のノートオン情報が示す第1の音高から前記第2のノートオン情報が示す第2の音高へ所定の速度で音高を変化するように前記音源を制御するポルタメント制御手段と、前記入力手段に第2のノートオン情報を入力した後、第1のノートオン情報に対応するノートオフ情報を入力した場合に、前記ノート情報が示す第1の音高から前記第2のノートオン情報が示す第2の音高へ変化する速度が前記所定の速度より速くなるように変更する速度変更手段とを備えている。
【0006】
請求項2記載の電子楽器は、請求項1記載の電子楽器において、前記入力手段に第2のノートオン情報が入力された時と第1のノートオン情報に対応するノートオフ情報が入力された時との時間を計時する計時手段を備え、前記速度変更手段は、その計時手段により計時された時間に応じた速度の変更を行う。
【0007】
請求項3記載の電子楽器は、請求項1記載の電子楽器において、前記入力手段に入力されるノートオフ情報は、離鍵速度を示すオフベロシティ情報を有するものであり、前記速度変更手段は、前記入力手段に入力されたノートオフ情報が有するオフベロシティ情報に応じた速度の変更を行う。
【0008】
請求項4記載の電子楽器は、請求項1から3のいずれかに記載の電子楽器において、時間経過に伴う音高変化を示す変化曲線を記憶する変化曲線記憶手段を備え、前記ポルタメント制御手段は、その変化曲線記憶手段に記憶された変化曲線を時間経過に従って順次、所定の速度で読み出すことにより音高変化を制御し、前記速度変更手段は、前記ポルタメント制御手段が前記変化曲線記憶手段に記憶された変化曲線の読出し速度を変更することにより音高の変化速度を変更する。
【発明の効果】
【0009】
請求項1記載の電子楽器によれば、入力手段により第1のノートオン情報を入力し、その第1のノートオン情報に対応するノートオフ情報を入力する前に第2のノートオン情報を入力した場合に、ポルタメント制御手段は、第1のノートオン情報が示す第1の音高から第2のノートオン情報が示す第2の音高へ所定の速度で音高を変化するように音源を制御し、速度変更手段は、入力手段に第2のノートオン情報を入力した後、第1のノートオン情報に対応するノートオフ情報を入力した場合に、第1の音高から第2の音高へ変化する速度が所定の速度より速くなるように変更する。したがって、第1のノートオン情報に対応するノートオフ情報が、早く入力された場合は、早く速度が変更されるので早く、第2の音高に到達し、逆に遅くノートオフ情報が入力された場合は、遅く第2の音高に到達することになる。今回の押鍵の押鍵時間が短い場合には、前回の押鍵に対応する離鍵を早く行う傾向があり、また逆に今回の押鍵の押鍵時間が長い場合には、前回の押鍵に対応する離鍵を遅く行う傾向があるので、今回の押鍵の押鍵時間に応じたポルタメントタイムが、自然な演奏によって得られる。
【0010】
また、演奏者は、ポルタメントタイムを短くしようとすれば、前回の押鍵に対応する離鍵を早く行い、ポルタメントタイムを長くしようとすれば、前回の押鍵に対応する離鍵を遅く行うことによりポルタメントタイムを任意に調整することができる。よって、演奏態様に応じた適切なポルタメントタイムを設定することができるという効果がある。
【0011】
請求項2記載の電子楽器によれば、請求項1記載の電子楽器の奏する効果に加え、入力手段に第2のノートオン情報が入力された時と第1のノートオン情報に対応するノートオフ情報が入力された時との時間を計時する計時手段を備え、速度変更手段は、その計時手段により計時された時間に応じた速度の変更を行うので、前回の押鍵に対応する離鍵のタイミングに応じて、より適切にポルタメントタイムを変更することができるという効果がある。
【0012】
請求項3記載の電子楽器によれば、請求項1記載の電子楽器の奏する効果に加え、入力手段に入力されるノートオフ情報は、離鍵速度を示すオフベロシティ情報を有するものであり、速度変更手段は、入力手段に入力されたノートオフ情報が有するオフベロシティ情報に応じた速度の変更を行うので、前回の押鍵に対応する離鍵のタイミングとその離鍵のオフベロシティとに応じてポルタメントタイムを変更することができ、より演奏表現を豊かにすることができるという効果がある。
【0013】
請求項4記載の電子楽器によれば、請求項1から3のいずれかに記載の電子楽器の奏する効果に加え、変化曲線記憶手段は、時間経過に伴う音高変化を示す変化曲線を記憶し、ポルタメント制御手段は、その変化曲線記憶手段に記憶された変化曲線を時間経過に従って順次、所定の速度で読み出すことにより音高変化を制御し、速度変更手段は、ポルタメント制御手段が変化曲線記憶手段に記憶された変化曲線の読出し速度を変更することにより音高の変化速度を変更するので、音高変化を直線的ではなく滑らかに行うことができるという効果がある。
【発明を実施するための最良の形態】
【0014】
以下、本発明の好ましい第1の実施形態について、添付図面を参照して説明する。図1は、本発明の一実施形態である電子楽器1の電気的構成を示したブロック図である。電子楽器1は、CPU2(中央処理装置)と、そのCPU2により実行される制御プログラム3aを記憶したROM3(リード・オンリ・メモリ)と、CPU2が制御プログラムを実行する際の作業用のメモリエリア等を有するRAM4(ランダム・アクセス・メモリ)と、電子楽器1に指示を行う操作子や、その操作子により設定されたパラメータなどを表示する表示器が設けられた操作パネル5と、MIDI規格に適合した演奏情報を入力するMIDIインターフェース(I/F)6と、そのMIDIインターフェース6により入力された演奏情報に対応した楽音信号を生成する音源7と、D/A変換器8とを主に備えている。
【0015】
MIDIインターフェース6には、MIDI規格に適合した演奏情報を鍵盤の操作に応じて出力するMIDI鍵盤装置20が接続され、D/A変換器8には、D/A変換器8により出力された楽音を増幅するアンプ21が接続され、そのアンプ21には、そのアンプ21により増幅された楽音を放音するスピーカ22が接続される。
【0016】
CPU2には、時間経過に従って音源7が生成する楽音の音高を変化させる場合の計時を行うタイマ2aが設けられている。このタイマ2aは、所定時間(例えば1msec)を計時するたびに、CPU2に割り込みを発生するように構成されている。
【0017】
ROM3には、図5および図6に示すフローチャートの処理に対応する制御プログラム3aや正弦テーブル3bや各種定数などが記憶される。正弦テーブル3bは、入力値xに対応する出力値sinxを記憶するテーブルである。ポルタメントが行われる場合に参照され、音高が変化するように音源に対し指示が行われる。詳細については、後述する。
【0018】
RAM4には、前回入力された演奏情報や今回入力された演奏情報やフラグなどを記憶するテンポラリメモリ4aが設けられる。このテンポラリメモリ4aには、入力されたノート情報や、算出されたポルタメントタイムなどが記憶される。
【0019】
音源7には、各種楽音の波形を記憶し、CPU2により指示された波形を読み出すことによりデジタル信号の楽音を発生することができるように構成されている。音源7により出力されたデジタル信号は、D/A変換器8によりアナログ信号に変換され、アンプ21に入力される。
【0020】
音源7に指示される情報は、MIDI規格に準拠したフォーマットであり、楽音の発生を指示する情報をノートオン情報、楽音の発生の停止を指示する情報をノートオフ情報、ノートオン情報により指示された音高の変更を指示する情報をピッチベンド情報と称する。ノートオン情報は、その情報がノートオン情報であることを示すステータス情報と、発音させる楽音の音高を指示するノート情報と、押鍵速度を示すオンベロシティ情報とを含むものである。また、ノートオフ情報は、その情報がノートオフ情報であることを示すステータス情報と、発音を停止させる楽音の音高を指示するノート情報と、離鍵速度を示すオフベロシティ情報とを含むものである。また、ピッチベンド情報は、その情報がピッチベンド情報であることを示すステータス情報と、現在発音中の楽音のノートオン情報により指示された音高から高く、または低く音高を変化させる音高幅を指示するベンド値情報とを含むものである。
【0021】
次に、図2を参照して本発明のポルタメントの動作の概略を説明する。図2は、ポルタメント動作における音高変化を示すグラフであって、横軸を時間(単位:msec)、縦軸を音高(単位:半音)として示す。
【0022】
本発明のポルタメント動作を理解しやすくするために、図2(a)に本発明によるポルタメントの動作を、図2(b)に従来のポルタメントの動作を対比して示す。いずれの図においても、ノートAおよびノートBとして示す横長の長方形は、ノートオン情報が入力されてからノートオフ情報が入力されるまでの期間を示すとともに、長方形の水平方向の中心線が、ノートの音高を示している。
【0023】
これらの図では、時刻t1にノートAのノートオン情報が入力され、次に、時刻t2にノートBのノートオフ情報が入力され、その後、時刻t4にノートAのノートオフ情報が入力され、最後の時刻t5にノートBのノートオフ情報が入力された場合を示している。また、ノートBの音高は、ノートAの音高より完全5度(7半音)高いものとし、音源7により発生される楽音の音高を実線または一点鎖線で示す。
【0024】
この実施形態では、前回の押鍵(この図2では、ノートA)に対応するノートオフ情報が入力される前に今回の押鍵(ノートB)のノートオン情報を入力した場合を、レガート演奏と称し、そのレガート演奏が行われた場合に、ポルタメントが行われるものとする。従って、レガート演奏ではない場合は、ポルタメントは行われずに、今回のノートオン情報が示す音高の楽音の発生を開始するように音源7に指示を行う。
【0025】
図2(b)は、従来のポルタメントによる音高変化を示すグラフであり、時刻t1にノートAのノートオン情報が入力されると、音源7は、ノートAの音高の楽音の発生を開始する。次に、時刻t2にノートBのノートオン情報が入力されると、レガート演奏であるので、音源7により発生される楽音はポルタメントを行う。具体的には、音高がノートAの音高からノートBの音高に向かって変化を開始し、時刻t3にノートBの音高に到達する。ノートAのノートオフ情報が時刻t4に入力されるが、音源7が発生する楽音は、なんら変化しない。この場合は、ポルタメントタイムTは、時刻t2から時刻t3までの時間である。
【0026】
図2(a)は、本発明によるポルタメントによる音高変化を示すグラフであり、図2(b)と同様に、時刻t1にノートAのノートオン情報が入力されると、まず、音源7は、ノートAの音高の楽音の発生を開始する。次に、時刻t2にノートBのノートオン情報が入力されると、レガート演奏であるので、音源7により発生される楽音はポルタメントを開始し、ノートAの音高からノートBの音高に向かって変化し始める。
【0027】
時刻t4にノートAのノートオフ情報が入力されると、音高変化の傾きが大きくなる。即ち、変化速度が大きくなり、その結果、時刻t3’にノートBの音高に到達する。この様子が、実線で示されている。この場合は、ポルタメントタイムTは、時刻t2から時刻t3’までの時間であり、図2(b)に示す場合より短くなる。
【0028】
時刻t4より後のt4’に、ノートAのノートオフ情報を入力した場合は、同様に音高変化の傾きが大きくなるように変更される。その結果、時刻t3”にノートBの音高に到達する。この場合は、ポルタメントタイムTは、時刻t2から時刻t3”までの時間であり、実線で示す先の場合より長くなる。この様子が、一点鎖線で示されている。
【0029】
なお、実線と一点鎖線とは平行して描かれているように、変更後のポルタメントの変化速度は、同一であり、予め定められた速度の例えば、2倍に変更される。従って、ノートBの押鍵の後、早くノートAの離鍵が行われてノートAのノートオフが早く入力されると、早くノートBの音高に到達し、ポルタメントタイムTが大きく短縮されるが、ノートBの押鍵の後、遅くノートAの離鍵が行われてノートAのノートオフが遅く入力されると、遅くノートBの音高に到達し、ポルタメントタイムTがあまり短縮されないことになる。
【0030】
上述の通り、ノートAの音高から音高が変化し始めた時から、ノートBの音高に到達する時までの時間をポルタメントタイムTといい、ポルタメントタイムTは、ノートBのノートオン情報が入力された際に、まず、ノートAとノートBとの音高差によって決定される。ポルタメントタイムをT(単位:msec)、ノートAの音高とノートBの音高との音高差をI(単位:半音)、定数をA、Bとすると、ポルタメントタイムTは、次に示す数式1により算出される。
T=A×[B×(I−6)+1]・・・(1)
なお、定数Aは、例えば、500、定数Bは、例えば、0.1とする。これらの定数は、ユーザによって任意に設定されるようにしてもよい。
【0031】
ノートBのノートオン情報が入力された際に、このようにしてポルタメントタイムTが設定され、音高変化の速度が決定される。本発明のポルタメントの動作では、次にノートAのノートオフ情報を入力すると、この変化速度を速く変更する。
【0032】
ポルタメントタイムTは、前回のノートオン(ここではノートA)から今回のノートオン(ここではノートB)までの時間に応じた長さではなく、今回のノートオンの長さ(押鍵時間)または、次のノートオンまでの時間に応じた長さにするのが好ましい。一般に、今回の押鍵時間が長い場合、または次のノートオンまでの時間が長い場合は、前回のノートオンに対応するノートオフが遅く入力され、今回の押鍵時間が短い場合、または次のノートオンまでの時間が短い場合は、前回のノートオンに対応するノートオフが早く入力される傾向がある。よって、本発明のように、前回の押鍵に対応する離鍵のタイミングでポルタメントの速度を速く変更することにより、今回の押鍵時間に応じたポルタメントタイムTに設定することができる。
【0033】
図2(a)および(b)は、音高の変化が直線である場合について説明したが、音高の変化を滑らかにするために、S字状の曲線に沿って音高変化させるのがよい。図2(c)は、音高変化を正弦波(サイン)状に変更する場合を示したものである。
【0034】
図2(c)は、音高変化を正弦波状に変化する様子を示すグラフである。実線で示す音高変化は、従来の技術によるものであり、ノートBのノートオン情報が入力された時点で、正弦波の形状が決定され、ノートAの音高からノートBの音高に至るまでサインカーブに沿って滑らかに変化し、ノートAのノートオフ情報が入力されても、サインカーブは変更されない。一点鎖線で示す音高変化は、本発明による場合を示し、ノートAのノートオフ情報が入力されると、サインカーブを読み出す速度が速くなるように変更される。
【0035】
正弦波状に音高を変化する場合は、音高は、正弦(サイン)関数に基づいて算出される。この正弦関数は、音高を徐々に高くする場合は、−π/2(−90度)から+π/2(+90度)までの関数を用い、音高を徐々に低くする場合は、+π/2(+90度)から+3π/2(+270度)までの関数を用いる。この関数が、正弦テーブル3bに記憶される。ポルタメントタイムをT、音高の変化を開始してからの時間である現在時刻をt、音高を徐々に高くする場合の時刻tにおける音高の変化幅をPUp、音高を徐々に低くする場合の現在時刻tにおけるノートAの音高からの変化幅(以下、「ベンド値」と称す)をPDwとするとPUp、PDwは、次に示す数式2、数式3によりそれぞれ算出される。なお、サイン関数は、ROM3の正弦テーブル3bに記憶され、この正弦テーブル3bを参照することにより、サイン(sin)の値が求められる。
PUp=(I/2)×{sin(((π×t)/T)−π/2)+1}・・・(2)
PDw=(I/2)×{sin(((π×t)/T)+π/2)−1}・・・(3)
これらのPUpまたはPDwの値は、所定時間間隔で算出され、ピッチベンド情報として音源7に出力される。よって、音源7は、正弦波の一部のカーブに従い、滑らかに音高を徐々に高く、または低く変化する楽音を発生する。
【0036】
図2(c)に示すように、本発明によれば、時刻t2にノートBのノートオン情報が入力されると、サインカーブに従ったポルタメントを開始する。次に、時刻t4に、ノートAのノートオフ情報を入力すると、例えば、時刻tを2倍速く進めるものとする。即ち、所定時間毎に、数式1または2を用いてベンド値を算出するのであれば、所定時間を、半分にする。または、所定時間を変更せずに、ノートAのノートオフ情報を入力した後の時刻tを2倍にして、数式2または数式3によってベンド値を算出する。このようにすることによって、ポルタメントタイムTを短く変更し、時刻t3’にノートBの音高に到達する。
【0037】
次に、図3および図4を参照して、図2(c)に示すポルタメント動作を行う処理について説明する。図3は、メイン処理を示すフローチャートであり、図4は、メイン処理においてタイマ割込が許可され、タイマ2aが所定時間毎に発生するタイマ割込に応じて実行されるタイマ割込処理を示すフローチャートである。
【0038】
まず、図3を参照して、メイン処理について説明する。このメイン処理は、ノートオン情報またはノートオフ情報を入力した時に起動されるものである。なお、電子楽器1の電源が投入された場合、CPU2は、タイマ割込を禁止するものとする。
【0039】
このメイン処理では、まず、入力されたイベントの種類がノートオン情報か否かを判断する(S1)。入力されたイベントの種類がノートオン情報である場合は(S1:Yes)、レガート演奏であるか否かを判断する(S2)。今回のノートオンを入力した時、先に入力されたノートオン情報に対応するノートオフ情報を入力する前であれば、レガート演奏であるとし、先に入力されたノートオン情報により指示されている音高から今回のノートオン情報により指示される音高へポルタメントを行うように音源7に指示する。一方、レガート演奏ではない場合は、そのノートオン情報により指示される音高の楽音の発生を開始するように音源7に指示する。
【0040】
今回のノートオン情報がレガート演奏である場合は(S2:Yes)、ノートAの音高とノートBの音高との音高差Iを算出し、その算出された音高差Iを数式1に代入してポルタメントタイムTを算出し、そのポルタメントタイムTでポルタメントを開始するように設定する(S4)。算出された音高差IおよびポルタメントタイムTは、テンポラリメモリ4aに記憶される。次に、ポルタメントを開始した以降の時間を示す変数tを0に設定し(S5)、タイマ割込を許可する(S6)。
【0041】
S2の判断処理で、レガート演奏ではないと判断した場合は(S2:No)、入力されたノートオン情報を音源7に送信する(S3)。
【0042】
一方、S1の判断処理において入力されたイベントがノートオン情報ではない場合は(S1:No)、入力されたイベントがノートオフ情報であり、ポルタメントが開始されているか否かを判断する(S7)。この判断は、変数tにより行われ、変数tが0でなければ、ポルタメントが開始されていて、変数tが0であればポルタメントが開始されていないということである。
【0043】
ポルタメントが開始されている場合は(S7:Yes)、ポルタメントタイムTを変更する(S8)。ポルタメントタイムTを変更する方法としては、上述の通り、例えば、タイマ割込の時間を所定の値から半分の時間にする。
【0044】
S8の処理を終了した場合、またはS7の判断処理においてポルタメントが行われていないと判断された場合は(S7:No)、そのノートオフ情報を音源7に送る(S9)。S3、S6またはS9の処理を終了した場合は、このメイン処理を終了する。
【0045】
次に図4を参照してタイマ割込処理について説明する。図4は、タイマ割込処理を示すフローチャートであり、このタイマ割込処理は、タイマ2aが所定時間を計時するたびに起動される割込処理である。
【0046】
このタイマ割込処理では、まず、ポルタメントを開始した以降の時間を計時する変数tに1が加算される(S21)。次に、ノートAの音高は、ノートBの音高より低いか否かを判断する(S22)。
【0047】
ノートAの音高がノートBの音高より低い場合は(S22:Yes)、現在時刻tと、テンポラリメモリ4aに記憶したポルタメントタイムTと音高差Iとを数式2に代入してベンド値PUpを算出する(S23)。次に、算出したベンド値PUpが、音高差Iより小さいか否かを判断し(S24)、ベンド値PUpが音高差Iより小さくない場合は(S24:No)、タイマ割込を禁止する(S25)。
【0048】
算出したベンド値PUpが、音高差Iより小さい場合(S24:Yes)、またはS25の処理を終了した場合は、ベンド値PUpを音源7に送る(S26)。
【0049】
S22の判断処理でノートAの音高がノートBの音高より低くない場合は(S22:No)、音高を下げるようにポルタメントを行うことになり、現在時刻tと、ポルタメントタイムTと音高差Iとを数式3に代入してベンド値PDwを算出する(S31)。次に、算出したベンド値PDwが、音高差Iより小さいか否かを判断し(S32)、ベンド値PDwが音高差Iより小さくない場合は(S32:No)、タイマ割込を禁止する(S33)。
【0050】
算出したベンド値PDwが、音高差Iより小さい場合(S32:Yes)、またはS33の処理を終了した場合は、ベンド値PDwを音源7に送る(S34)。S27またはS34の処理を終了した場合は、このタイマ割込処理を終了し、メイン処理に戻る。
【0051】
以上のように、ノートBのノートオン情報を入力するとポルタメントを所定のポルタメントタイムTに従って開始するが、ノートAのノートオフ情報を入力した時、そのポルタメントタイムTを短くなるように変更する。このようにすることにより、より早く離鍵した場合には、ポルタメントタイムTがより短く変更される。よって、短い音符を素早く演奏した場合と、長い音符をゆったりと演奏した場合などの演奏態様によってノートAのノートオフのタイミングが変化すると、それに応じてポルタメントタイムTが変化し、演奏の態様に適した効果を得ることができる。また、ノートAのノートオフのタイミングを意識的に変えて演奏することでポルタメントタイムTを制御することもできる。
【0052】
次に、図5を参照して、ポルタメントタイムTを変更する他の方法について説明する。上記第1の実施形態では、ノートAのノートオフ情報が入力された時、タイマ割込の時間間隔を半分の時間にすることにより、ポルタメントタイムTを変更するものとしたが、第2の実施形態では、ノートBのノートオン情報を入力した時からノートAのノートオフ情報を入力した時までの時間に応じて、ポルタメントの速度を変えるものである。図5(a)は、ノートBのノートオン情報を入力した時からノートAのノートオフ情報を入力した時までの時間に応じて、ポルタメントの速度が変化する様子を示すグラフである。
【0053】
例えば、ノートBのノートオン情報を入力した時からノートAのノートオフ情報を入力した時までの時間が短い場合(t4)には、実線で示すようにポルタメント速度を3倍に変更し、ノートBのノートオン情報を入力した時からノートAのノートオフ情報を入力した時までの時間が長い場合(t4’)には、一点鎖線で示すようにポルタメント速度を2倍にするという方法である。このようにすると、ノートAの離鍵を早くするほどポルタメント時間がより短くなり、ポルタメントタイムTを大きく変更することができる。
【0054】
また、第3の実施態様では、ノートBのノートオン情報を入力した時からの時間に応じてポルタメントの速度を遅く変化させ、ノートAのノートオフ情報が入力された場合は、その時のポルタメントの速度で音高を変化するものである。図5(b)に示す方法は、ノートBのノートオン情報を入力した時からの時間に応じてポルタメント速度を遅くし、ノートAのノートオフ情報が入力されると、その時のポルタメント速度でノートBの音高に達するまで変化する様子を示すグラフである。図5(b)に示すように、ノートBのノートオン情報を入力した時から実線で示すように速い速度でポルタメントを開始し、時刻t6までにノートAのノートオフ情報が入力されない場合は、破線で示すように、ややポルタメント速度を遅くする。
【0055】
時刻t4にノートAのノートオフ情報が入力された場合は、破線で示すポルタメント速度でノートBの音高まで変化するが、ノートAのノートオフ情報が入力されない場合は、時刻t7で、さらにポルタメント速度を遅くする。
【0056】
他の方法として、ノートAのノートオフ情報が入力された時、ポルタメントタイムTを変更するようにしてもよい。例えば、変更したポルタメントタイムをT’とすると、
T’=T−(T−t4)/2
とし、この変更されたポルタメントタイムT’を数式2または3のTに代入して、以降のポルタメントを行う。
【0057】
なお、請求項に記載のポルタメント制御手段は、図4に記載のフローチャートの処理が該当し、速度変更手段は、図3に記載のフローチャートのS8処理が該当する。
【0058】
以上、実施形態に基づき本発明を説明したが、本発明は上記実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【0059】
例えば、上記実施形態では、電子楽器1に音源7が内蔵されているものとしたが、MIDIなどのインターフェースを介して、外部音源に接続されるようにしてもよい。
【0060】
また、上記実施形態では、音源7が発生する楽音の音色が選択されることについては記載していないが、音色を任意に選択する操作子を備え、その操作子により選択された音色がトロンボーンである場合に、本発明が適用されるものとしてもよい。
【0061】
また、上記実施形態では、入力されるノートイベントは、鍵盤を演奏することにより発生されるものとしたが、ギターシンセサイザなどのように、他の楽器で演奏されて形成されたノートイベントでもよい。
【0062】
また、第2の実施形態では、ノートBのノートオン情報を入力した時からノートAのノートオフ情報が入力された時までの時間に応じて、ポルタメントの速度を変更するものとしたが、ノートオフ情報に離鍵のベロシティであるオフベロシティ情報を含むものとし、そのオフベロシティ大ききに応じてポルタメント速度を変更するようにしてもよい。
【図面の簡単な説明】
【0063】
【図1】本発明による実施形態における電子楽器の電気的構成を示すブロック図である。
【図2】入力イベントに応じて指示される音高変化を模式的に示すグラフであり、(a)は、従来の技術によるもの、(b)は、本発明の第1の実施形態によるものをそれぞれ示す。
【図3】イベントメイン処理を示すフローチャートである。
【図4】タイマ割込処理を示すフローチャートである。
【図5】(a)は、第2の実施形態における入力イベントに応じて指示される音高変化を模式的に示すグラフであり、(b)は、第3の実施形態における入力イベントに応じて指示される音高変化を模式的に示すグラフである。
【符号の説明】
【0064】
1 電子楽器
2 CPU
2a タイマ(計時手段)
3 ROM
3b 正弦テーブル(変化曲線記憶手段)
4 RAM
4a テンポラリメモリ
6 MIDIインターフェース(入力手段)
7 音源

【特許請求の範囲】
【請求項1】
所定の音高の楽音の発生の開始を指示するノートオン情報と楽音の停止を指示するノートオフ情報とを入力する入力手段と、楽音を発生する音源に対し、その入力手段により入力された情報に応じて指示を行う電子楽器において、
前記入力手段により第1のノートオン情報を入力し、その第1のノートオン情報に対応するノートオフ情報を入力する前に第2のノートオン情報を入力した場合に、前記第1のノートオン情報が示す第1の音高から前記第2のノートオン情報が示す第2の音高へ所定の速度で音高を変化するように前記音源を制御するポルタメント制御手段と、
前記入力手段に第2のノートオン情報を入力した後、第1のノートオン情報に対応するノートオフ情報を入力した場合に、前記第1の音高から前記第2の音高へ変化する速度が前記所定の速度より速くなるように変更する速度変更手段とを備えていることを特徴とする電子楽器。
【請求項2】
前記入力手段に第2のノートオン情報が入力された時と第1のノートオン情報に対応するノートオフ情報が入力された時との時間を計時する計時手段を備え、
前記速度変更手段は、その計時手段により計時された時間に応じた速度の変更を行うことを特徴とする請求項1記載の電子楽器。
【請求項3】
前記入力手段に入力されるノートオフ情報は、離鍵速度を示すオフベロシティ情報を有するものであり、
前記速度変更手段は、前記入力手段に入力されたノートオフ情報が有するオフベロシティ情報に応じた速度の変更を行うことを特徴とする請求項1記載の電子楽器。
【請求項4】
時間経過に伴う音高変化を示す変化曲線を記憶する変化曲線記憶手段を備え、
前記ポルタメント制御手段は、その変化曲線記憶手段に記憶された変化曲線を時間経過に従って順次、所定の速度で読み出すことにより音高変化を制御し、前記速度変更手段は、前記ポルタメント制御手段が前記変化曲線記憶手段に記憶された変化曲線の読出し速度を変更することにより音高の変化速度を変更することを特徴とする請求項1から3のいずれかに記載の電子楽器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate