(57)【特許請求の範囲】
【請求項１】
鍵盤における任意の鍵域を一方の端の鍵から他方の端の鍵まで順次押鍵することにより、押鍵に対応する音高の楽音を順次発音させる特殊演奏を、当該一方および他方の端の鍵の押鍵のみによって実現する演奏装置であって、
押鍵された一方および他方の端の鍵に基づき、前記特殊演奏の鍵域の鍵数を検出する検出手段と、
前記特殊演奏において順次発音されるべき音高の変化の度合いを表す移動速度を設定する設定手段と、
前記検出手段によって検出された鍵数が所定の鍵数以内である場合には、前記設定手段によって設定された移動速度で変化する音高の楽音を発生し、前記検出手段によって検出された鍵数が所定の鍵数を超える場合には、前記設定手段によって設定された移動速度よりも速い移動速度で変化する音高の楽音を発生する楽音発生手段と、
を備えたことを特徴とする演奏装置。
【請求項２】
前記楽音発生手段は、前記検出手段によって検出された鍵数が所定の鍵数を超える場合には、当該検出された鍵数を所定時間で除算して求めた移動速度で変化する音高の楽音を発生することを特徴とする請求項１に記載の演奏装置。
【請求項３】
前記設定手段は、押鍵された一方および他方の端の鍵の鍵域に応じて移動速度を設定することを特徴とする請求項１に記載の演奏装置。
【請求項４】
前記設定手段は、過去の単位時間内に押鍵された鍵数に応じて移動速度を設定することを特徴とする請求項１に記載の演奏装置。
【請求項５】
前記設定手段は、過去の単位時間内における押鍵のベロシティに応じて移動速度を設定することを特徴とする請求項１に記載の演奏装置。
【請求項６】
鍵盤における任意の鍵域を一方の端の鍵から他方の端の鍵まで順次押鍵することにより、押鍵に対応する音高の楽音を順次発音させる特殊演奏を、当該一方および他方の端の鍵の押鍵のみによって実現する演奏装置であって、
押鍵された一方および他方の端の鍵に基づき、前記特殊演奏の鍵域の鍵数を検出する検出手段と、
前記特殊演奏において順次発音されるべき音高の変化の度合いを表す移動速度の上限値を設定する設定手段と、
前記検出手段によって検出された鍵数の特殊演奏が所定時間になるように現在の音高から次の音高に変化する移動速度を演算する演算手段と、
前記演算手段によって演算された移動速度が前記設定手段によって設定された上限値以下である場合には、当該演算された移動速度で変化する音高の楽音を発生し、前記演算手段によって演算された移動速度が前記設定手段によって設定された上限値を超える場合には、当該上限値の移動速度で変化する音高の楽音を発生する楽音発生手段と、
を備えたことを特徴とする演奏装置。
【請求項７】
前記設定手段は、押鍵された一方および他方の端の鍵の鍵域に応じて移動速度の上限値を設定することを特徴とする請求項６に記載の演奏装置。
【請求項８】
前記設定手段は、過去の単位時間内に押鍵された鍵数に応じて移動速度の上限値を設定することを特徴とする請求項６に記載の演奏装置。
【請求項９】
前記設定手段は、過去の単位時間内における押鍵のベロシティに応じて移動速度の上限値を設定することを特徴とする請求項６に記載の演奏装置。
【請求項１０】
鍵盤における任意の鍵域を一方の端の鍵から他方の端の鍵まで順次押鍵することにより、押鍵に対応する音高の楽音を順次発音させる特殊演奏を、当該一方および他方の端の鍵の押鍵のみによって実現する演奏装置内のコンピュータによって実行される演奏処理のプログラムであって、
押鍵された一方および他方の端の鍵に基づき、前記特殊演奏の鍵域の鍵数を検出するステップＡと、
前記特殊演奏において順次発音されるべき音高の変化の度合いを表す移動速度を設定するステップＢと、
前記ステップＡによって検出された鍵数が所定の鍵数以内である場合には、前記ステップＢによって設定された移動速度で変化する音高の楽音を発生し、前記ステップＡによって検出された鍵数が所定の鍵数を超える場合には、前記ステップＢによって設定された移動速度よりも速い移動速度で変化する音高の楽音を発生するステップＣと、
を実行することを特徴とする演奏処理のプログラム。
【請求項１１】
鍵盤における任意の鍵域を一方の端の鍵から他方の端の鍵まで順次押鍵することにより、押鍵に対応する音高の楽音を順次発音させる特殊演奏を、当該一方および他方の端の鍵の押鍵のみによって実現する演奏装置内のコンピュータによって実行される演奏処理のプログラムであって、
押鍵された一方および他方の端の鍵に基づき、前記特殊演奏の鍵域の鍵数を検出するステップＡと、
前記特殊演奏において順次発音されるべき音高の変化の度合いを表す移動速度の上限値を設定するステップＢと、
前記ステップＡによって検出された鍵数の特殊演奏が所定時間になるように現在の音高から次の音高に変化する移動速度を演算するステップＣと、
前記ステップＣによって演算された移動速度が前記ステップＢによって設定された上限値以下である場合には、当該演算された移動速度で変化する音高の楽音を発生し、前記ステップＣによって演算された移動速度が前記ステップＢによって設定された上限値を超える場合には、当該上限値の移動速度で変化する音高の楽音を発生するステップＤと、
を実行することを特徴とする演奏処理のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏装置および演奏処理のプログラムに関し、特に、任意の鍵の範囲における各鍵の音高を順に発音するポルタメント又はグリッサンドの特殊演奏を実現する演奏装置および演奏処理のプログラムに関するものである。
【背景技術】
【０００２】
鍵盤楽器や弦楽器などの演奏装置において、任意の音高範囲における各音高を順に発音する特殊演奏として、ポルタメントおよびグリッサンドが知られている。ポルタメントの場合には、各音高が独立した楽音として順に発音され、グリッサンドの場合には、各音高が切れ目なく連続した楽音として発音される。鍵盤楽器を例に採ると、自然楽器の場合には、任意の鍵の範囲を一方の端の鍵から他方の端の鍵まで順に押鍵するが、電子鍵盤楽器の場合には、一方の鍵および他方の鍵の２つの鍵の押鍵のみによって、ポルタメントおよびグリッサンドの特殊演奏を実現できる。従来の電子鍵盤楽器において、ポルタメントおよびグリッサンドの発音制御に関する提案がなされている。
例えば、ある提案の電子楽器においては、ポルタメント又はグリッサンドの実行時間が押鍵の鍵域によって変動せずに、鍵盤の押鍵速度に応じてのみ変化するようになっている。この提案の構成では、前の演奏操作に対応した周波数データから今回の演奏操作に対応する周波数データまで所定値を加減算する際に、加減算する所定値はその周波数データの差分値により算出される変化データを用い、この算出された変化データ又は演算時間間隔を演奏操作部材の操作状態に対応するデータによって可変する。（特許文献１参照）
【特許文献１】特開昭６１−１３２９９８号公報（特公平６−７３２３号公報）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１を含め、従来の電子鍵盤楽器の場合には、２つの鍵の押鍵のみによって、容易にポルタメントおよびグリッサンドを実現できるが、自然楽器のように各鍵を実際に押鍵する訳ではないので、現在の音高から次の音高に変化する移動速度をどのように設定するかが問題となる。例えば、ある移動速度で音高を変化する場合には、一方の端の鍵から他方の端の鍵までの鍵数が多いと、他方の鍵の音高を発音するまでの時間が長くなり、特殊演奏が終了する前に次の演奏の発音に移行するため、不自然な演奏になってしまう。これと反対に、一定の時間内にポルタメントやグリッサンドの発音を行う場合には、一方の端の鍵から他方の端の鍵までの鍵数に従って、現在の音高から次の音高に変化する移動速度が速過ぎたり遅過ぎたりするので、不自然な演奏になってしまう。
本発明は、このような従来の課題を解決するためのものであり、ポルタメント又はグリッサンドの鍵数が多い場合でも、不自然な演奏になるのを回避できることを目的とする。
また、本発明は、一定の時間でポルタメント又はグリッサンドの発音を行う場合でも、不自然な演奏になるのを回避できることを目的とする。
【課題を解決するための手段】
【０００４】
請求項１に記載の演奏装置は、鍵盤における任意の鍵域を一方の端の鍵から他方の端の鍵まで順次押鍵することにより、押鍵に対応する音高の楽音を順次発音させる特殊演奏（実施形態においては、ポルタメントに相当する）を、当該一方および他方の端の鍵の押鍵のみによって実現する演奏装置であって、
押鍵された一方および他方の端の鍵に基づき、特殊演奏の鍵域の鍵数を検出する検出手段（実施形態においては、図１の音源６に相当する）と、特殊演奏において順次発音されるべき音高の変化の度合いを表す移動速度を設定する設定手段（実施形態においては、図１の音源６に相当する）と、検出手段によって検出された鍵数が所定の鍵数以内である場合には、設定手段によって設定された移動速度で変化する音高の楽音を発生し、検出手段によって検出された鍵数が所定の鍵数を超える場合には、設定手段によって設定された移動速度よりも速い移動速度で変化する音高の楽音を発生する楽音発生手段（実施形態においては、図１の音源６に相当する）と、を備えた構成になっている。
【０００５】
請求項１の演奏装置において、請求項２に記載したように、楽音発生手段は、検出手段によって検出された鍵数が所定の鍵数を超える場合には、当該検出された鍵数を所定時間で除算して求めた移動速度で変化する音高の楽音を発生するような構成にしてもよい。
請求項１の演奏装置において、請求項３に記載したように、設定手段は、押鍵された一方および他方の端の鍵の鍵域に応じて移動速度を設定するような構成にしてもよい。
請求項１の演奏装置において、請求項４に記載したように、設定手段は、過去の単位時間内に押鍵された鍵数に応じて移動速度を設定するような構成にしてもよい。
請求項１の演奏装置において、請求項５に記載したように、設定手段は、過去の単位時間内における押鍵のベロシティに応じて移動速度を設定するような構成にしてもよい。
【０００６】
請求項６に記載の演奏装置は、鍵盤における任意の鍵域を一方の端の鍵から他方の端の鍵まで順次押鍵することにより、押鍵に対応する音高の楽音を順次発音させる特殊演奏（実施形態においては、ポルタメントに相当する）を、当該一方および他方の端の鍵の押鍵のみによって実現する演奏装置であって、
押鍵された一方および他方の端の鍵に基づき、特殊演奏の鍵域の鍵数を検出する検出手段（実施形態においては、図１の音源６に相当する）と、特殊演奏において順次発音されるべき音高の変化の度合いを表す移動速度の上限値を設定する設定手段（実施形態においては、図１の音源６に相当する）と、検出手段によって検出された鍵数の特殊演奏が所定時間になるように現在の音高から次の音高に変化する移動速度を演算する演算手段（実施形態においては、図１の音源６に相当する）と、演算手段によって演算された移動速度が設定手段によって設定された上限値以下である場合には、当該演算された移動速度で変化する音高の楽音を発生し、演算手段によって演算された移動速度が設定手段によって設定された上限値を超える場合には、当該上限値の移動速度で変化する音高の楽音を発生する楽音発生手段（実施形態においては、図１の音源６に相当する）と、を備えた構成になっている。
【０００７】
請求項６の演奏装置において、請求項７に記載したように、設定手段は、押鍵された一方および他方の端の鍵の鍵域に応じて移動速度の上限値を設定するような構成にしてもよい。
請求項６の演奏装置において、請求項８に記載したように、設定手段は、過去の単位時間内に押鍵された鍵数に応じて移動速度の上限値を設定するような構成にしてもよい。
請求項６の演奏装置において、請求項９に記載したように、設定手段は、過去の単位時間内における押鍵のベロシティに応じて移動速度の上限値を設定するような構成にしてもよい。
【０００８】
請求項１０に記載の演奏処理のプログラムは、鍵盤における任意の鍵域を一方の端の鍵から他方の端の鍵まで順次押鍵することにより、押鍵に対応する音高の楽音を順次発音させる特殊演奏（実施形態においては、ポルタメントに相当する）を、当該一方および他方の端の鍵の押鍵のみによって実現する演奏装置内のコンピュータ（実施形態においては、図１の音源６に相当する）によって実行される演奏処理のプログラムであって、
押鍵された一方および他方の端の鍵に基づき、特殊演奏の鍵域の鍵数を検出するステップＡと、特殊演奏において順次発音されるべき音高の変化の度合いを表す移動速度を設定するステップＢと、ステップＡによって検出された鍵数が所定の鍵数以内である場合には、ステップＢによって設定された移動速度で変化する音高の楽音を発生し、ステップＡによって検出された鍵数が所定の鍵数を超える場合には、ステップＢによって設定された移動速度よりも速い移動速度で変化する音高の楽音を発生するステップＣと、を実行する構成になっている。
【０００９】
請求項１１に記載の演奏処理のプログラムは、鍵盤における任意の鍵域を一方の端の鍵から他方の端の鍵まで順次押鍵することにより、押鍵に対応する音高の楽音を順次発音させる特殊演奏（実施形態においては、ポルタメントに相当する）を、当該一方および他方の端の鍵の押鍵のみによって実現する演奏装置内のコンピュータ（実施形態においては、図１の音源６に相当する）によって実行される演奏処理のプログラムであって、
押鍵された一方および他方の端の鍵に基づき、特殊演奏の鍵域の鍵数を検出するステップＡと、特殊演奏において順次発音されるべき音高の変化の度合いを表す移動速度の上限値を設定するステップＢと、ステップＡによって検出された鍵数の特殊演奏が所定時間になるように現在の音高から次の音高に変化する移動速度を演算するステップＣと、ステップＣによって演算された移動速度がステップＢによって設定された上限値以下である場合には、当該演算された移動速度で変化する音高の楽音を発生し、ステップＣによって演算された移動速度がステップＢによって設定された上限値を超える場合には、当該上限値の移動速度で変化する音高の楽音を発生するステップＤと、を実行する構成になっている。
【発明の効果】
【００１０】
本発明の演奏装置および演奏処理のプログラムによれば、ポルタメント又はグリッサンドの鍵数が多い場合でも、不自然な演奏になるのを回避できるという効果が得られる。
また、本発明の演奏装置および演奏処理のプログラムによれば、一定の時間でポルタメント又はグリッサンドの発音を行う場合でも、不自然な演奏になるのを回避できるという効果が得られる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の演奏装置の実施形態について、電子鍵盤楽器を例に採って、図１ないし図９を参照して詳細に説明する。
図１は、本発明の演奏装置の実施形態である電子鍵盤楽器のシステムを示すブロック図である。図１において、ＣＰＵ１は、システムバス２を介して、ＲＯＭ３、ＲＡＭ４、キースキャナ５、音源６に接続され、これら各部との間でコマンドおよびデータの授受を行って、この電子鍵盤楽器を制御する。
【００１２】
ＲＯＭ３は、ＣＰＵ１によって実行される演奏処理のプログラムや初期データを予め記憶している。ＲＡＭ４は、ＣＰＵ１および音源６で共有するワークエリアであり、ＣＰＵ１や音源６によって処理されるデータを一時的に記憶するための各種のレジスタやフラグを持っている。なお、音源６の内部に専用のＲＡＭを設ける構成でもよい。キースキャナ５は鍵盤７に接続され、鍵盤７の各鍵およびスイッチ群をスキャンして、押鍵および離鍵の鍵番号すなわち音高、押鍵のベロシティ、各スイッチのオンおよびオフをＣＰＵ１に入力する。スイッチ群には、ポルタメント演奏スイッチ、グリッサンド演奏スイッチ、モードスイッチなどがある。音源６は、例えば、内部にマイクロコンピュータを備えたＤＳＰ（デジタル・シグナル・プロセッサ）で構成され、ＣＰＵ１の発音コマンド、音高データ、ベロシティデータに応じて、波形メモリ（図示せず）から読み出した波形データに基づいて楽音信号を生成してＤ／Ａコンバータ回路８に供給する。Ｄ／Ａコンバータ回路８は、音源６から供給された楽音信号をデジタルからアナログに変換して出力回路９に供給する。出力回路９は、Ｄ／Ａコンバータ回路８から供給された楽音信号に対して、フィルタ処理や増幅処理などの信号処理を施して、スピーカなどの発音装置（図示せず）に出力する。
以下、ポルタメント演奏スイッチがオンされて、各音高が独立した楽音として順に発音される演奏処理について説明する。各音高が切れ目なく連続した楽音として発音されるグリッサンドの演奏処理も基本的な動作はポルタメントの場合と同じであるので説明は省略する。
【００１３】
図２は、ポルタメントの演奏の各パラメータを示す図である。以下、各パラメータについて説明する。
Ｐｏｒｔａｍｅｎｔ  Ｍｏｄｅは、ポルタメントの動作モードの選択のためのフラグであり、モードスイッチの操作に応じて、時間を制限する「モード０」又は移動速度を制限する「モード１」となる。
Ｐｏｒｔａｍｅｎｔ  Ｒａｔｅは、モード０において、現在の発音の音高から次の発音の音高に変化する基準速度で、「０〜１６３８３ｓｅｎｔ／ｓｅｃ」の範囲の値である。ここで、１ｓｅｎｔは半音（ｓｅｍｉｔｏｎｅ）の１／１００である。
Ｐｏｒｔａｍｅｎｔ  Ｉｎｔｅｒｖａｌ  Ｌｉｍｉｔは、モード０の時に時間固定に切り替わる音高差すなわち鍵数であり、「０〜１２７ｓｅｍｉｔｏｎｅ」の範囲の値である。
Ｐｏｒｔａｍｅｎｔ  Ｔｉｍｅは、モード１の基準時間であり、「０〜１６３８３ｍｓｅｃ」の範囲の値である。
Ｐｏｒｔａｍｅｎｔ  Ｒａｔｅ  Ｌｉｍｉｔは、モード１の時の移動速度の上限値であり、「０〜１６３８３ｓｅｎｔ／ｓｅｃ」の範囲の値である。
【００１４】
図３は、モード０の時のＩｎｔｅｒｖａｌ（音高差）とｒ（移動速度）との関係を表す図である。Ｐｏｒｔａｍｅｎｔ  Ｉｎｔｅｒｖａｌ  Ｌｉｍｉｔ以内の音高差では、移動速度ｒは一定の値（Ｐｏｒｔａｍｅｎｔ  Ｒａｔｅ）であり、音高差がＰｏｒｔａｍｅｎｔ  Ｉｎｔｅｒｖａｌ  Ｌｉｍｉｔを超えると、音高差に比例して移動速度ｒが大きくなる。
【００１５】
図４は、モード１の時のＩｎｔｅｒｖａｌ（音高差）とｒ（移動速度）との関係を表す図である。Ｐｏｒｔａｍｅｎｔ  Ｒａｔｅ  Ｌｉｍｉｔ以内では、移動速度ｒは音高差に比例して大きくなり、移動速度ｒがＰｏｒｔａｍｅｎｔ  Ｒａｔｅ  Ｌｉｍｉｔを超えると、移動速度は一定（Ｐｏｒｔａｍｅｎｔ  Ｒａｔｅ  Ｌｉｍｉｔ）になる。
【００１６】
次に、図１の電子鍵盤楽器の動作について、ＣＰＵ１によって実行される図５のフローチャート、および、音源６によって実行される図６〜図９のフローチャートに基づいて説明する。
図５において、ＣＰＵ１は、所定のイニシャライズ（ステップＳＡ１）の後、モードスイッチがオンされたか否かを判別する（ステップＳＡ２）。このスイッチがオンされたときは、現在のモードが「０」であるか否かを判別し（ステップＳＡ３）、現在のモードが「０」の場合はモード「１」に切り替える（ステップＳＡ４）。一方、現在のモードが「１」の場合には、モード「０」に切り替える（ステップＳＡ５）。モードを切り替えた後は、そのモードを音源６に送付する（ステップＳＡ６）。
【００１７】
音源６にモードを送付した後、又は、ステップＳＡ２においてモードスイッチがオンでない場合には、鍵盤７において鍵変化があるか否かを判別する（ステップＳＡ７）。鍵変化がない場合にはステップＳＡ２においてモードスイッチのオンを判別するが、オンの鍵変化があったとき、すなわち、いずれかの鍵が押鍵されたときは、その鍵番号をレジスタＰＫにストアし（ステップＳＡ８）、ＰＫに基づきオンコマンドを作成する（ステップＳＡ９）。一方、オフの鍵変化があったとき、すなわち、いずれかの鍵が離鍵されたときは、その鍵番号をレジスタＰＫにストアし（ステップＳＡ１０）、ＰＫに基づきオフコマンドを作成する（ステップＳＡ１１）。次に、作成したオンコマンド又はオフコマンドを音源８に送付する（ステップＳＡ１２）。この後は、ステップＳＡ２においてモードスイッチのオンを判別する。
【００１８】
図６は、音源６のメインルーチンのフローチャートである。音源６は、所定のイニシャライズ（ステップＳＢ１）の後、ＣＰＵ１から何らかのイベントを受信したか否かを判別する（ステップＳＢ２）。イベントを受信したときは、そのイベントがモード「１」又はモード「０」のコマンドであるか否かを判別し（ステップＳＢ３）、モード「１」又はモード「０」のコマンドのイベントを受信したときは、受信したモード「１」又はモード「０」をレジスタｍｏｄｅにストアする（ステップＳＢ４）。
【００１９】
受信したイベントがモード「１」およびモード「０」のコマンドでない場合には、オンコマンドのイベントを受信したか否かを判別する（ステップＳＢ５）。オンコマンドを受信したときは、発音時処理を実行する（ステップＳＢ６）。受信したイベントがオンコマンドでない場合には、オフコマンドのイベントを受信したか否かを判別する（ステップＳＢ７）。オフコマンドを受信したときは、消音処理を実行する（ステップＳＢ８）。受信したイベントがモード「１」およびモード「０」のコマンド、オンコマンド、およびオフコマンドのいずれでもない場合、すなわち、他のイベントを受信した場合、又は、ＣＰＵ１からイベントを何も受信しない場合には、その他の処理を実行する（ステップＳＢ９）。
【００２０】
ステップＳＢ４において、受信されたモード「１」又はモード「０」をレジスタｍｏｄｅにストアした後、ステップＳＢ６において、発音時処理を実行した後、ステップＳＢ８において、消音処理を実行した後、又は、ステップＳＢ９において、その他の処理を実行した後は、ステップＳＢ２においてＣＰＵ１からの受信の有無を判別する。このメインルーチンにおいて、音源６は、ＣＰＵ１からオンコマンドを受信するたびに、ストアしたｍｏｄｅの値に応じた発音時処理を実行する。
【００２１】
図７は、図６におけるステップＳＢ６の発音時処理のフローチャートである。
まず、今回のイベントのＰＫ（新たな押鍵の鍵番号）、ｍｏｄｅ、および、ＣＰ（現在の音高（ピッチ））の値を取得する（ステップＳＣ１）。次に、ＴＰ（目的の音高）を計算してレジスタＴＰに格納する（ステップＳＣ２）。次に、ｍｏｄｅの値が「０」であるか又は「１」であるかを判別する（ステップＳＣ３）。
【００２２】
ｍｏｄｅの値が「０」の場合には、ＰＫの値からＣＫ（前回の鍵番号）の値を減算して、レジスタＸにストアする（ステップＳＣ４）。すなわち、ポルタメントの演奏の新たな鍵番号から前回の鍵番号を減算したポルタメントの鍵数をＸにストアする。したがって、ＰＫの鍵番号がＣＫの鍵番号より高い音高の場合にはＸは正の値となり、ＰＫの鍵番号がＣＫの鍵番号より低い音高の場合にはＸは負の値となる。このため、Ｘの値が負であるか否かを判別し（ステップＳＣ５）、Ｘの値が負の場合には、Ｘの値がＰＩＬ（Ｐｏｒｔａｍｅｎｔ  Ｉｎｔｅｒｖａｌ  Ｌｉｍｉｔ）の値より小さいか否かを判別する（ステップＳＣ６）。一方、Ｘの値が正の場合には、Ｘの値がＰＩＬより大きいか否かを判別する（ステップＳＣ８）。
【００２３】
Ｘの値が負で、かつ、ステップＳＣ６においてＰＩＬの値より大きい場合、又は、Ｘの値が正で、かつ、ステップＳＣ８においてＰＩＬの値より小さい場合は、図３において、Ｉｎｔｅｒｖａｌ（ポルタメントの鍵数）が０からＰＩＬ（Ｐｏｒｔａｍｅｎｔ  Ｉｎｔｅｒｖａｌ  Ｌｉｍｉｔ）までの範囲である。この場合は、移動速度ｒを一定の値ＰＲ（Ｐｏｒｔａｍｅｎｔ  Ｒａｔｅ）に設定する（ステップＳＣ９）。
【００２４】
Ｘの値が負で、かつ、ステップＳＣ６においてＰＩＬの値より小さい場合、又は、Ｘの値が正で、かつ、ステップＳＣ８においてＰＩＬの値より大きい場合は、図３において、Ｉｎｔｅｒｖａｌ（ポルタメントの鍵数）がＰＩＬ（Ｐｏｒｔａｍｅｎｔ  Ｉｎｔｅｒｖａｌ  Ｌｉｍｉｔ）を超える場合である。この場合は、移動速度ｒは演算式ｒ＝ＰＲ＊（Ｘ／ＰＩＬ）によって算出される値となる（ステップＳＣ７）。したがって、移動速度ｒはＸの値に比例して速くなる。
【００２５】
ステップＳＣ３において、ｍｏｄｅの値が「１」の場合には、ＰＫ（新たな鍵番号）の値からＣＫ（前回の鍵番号）の値を減算して、レジスタＸにストアする（ステップＳＣ１０）。すなわち、ポルタメントの演奏の新たな鍵番号から前回の鍵番号を減算したポルタメントの鍵数をＸにストアする。次に、移動速度ｒを演算式ｒ＝Ｘ／ＰＴ（Ｐｏｒｔａｍｅｎｔ  Ｔｉｍｅ）によって算出した値にする（ステップＳＣ１１）。すなわち、ポルタメントの鍵数を基準時間で除算した演算値をｒとする。そして、ｒが移動速度の上限値であるＰＲＬ（Ｐｏｒｔａｍｅｎｔ  Ｒａｔｅ  Ｌｉｍｉｔ）より大きいか否かを判別する（ステップＳＣ１２）。演算値ｒがＰＲＬ以下の場合は、図４に示すように、移動速度ｒは演算値をそのまま用いて、ポルタメントの鍵数に比例した移動速度となる。一方、演算値ｒがＰＲＬより大きい場合は、図４に示すように、移動速度ｒを上限値ＰＲＬとする（ステップＳＣ１３）。
【００２６】
ｍｏｄｅの値が「０」の場合に、ステップＳＣ７若しくはステップＳＣ９において移動速度ｒを設定した後、又は、ｍｏｄｅの値が「１」の場合にステップＳＣ１１で算出した移動速度ｒを用いる場合、若しくは、ステップＳＣ１３において移動速度ｒを上限値に設定した後は、ＰＫの鍵番号をＣＫにストアする（ステップＳＣ１４）。
【００２７】
図８は、タイマインタラプトのフローチャートである。発音中であるか否かを判別し（ステップＳＤ１）、発音中である場合には、発音中処理を実行する（ステップＳＤ２）。
図９は、発音中処理のフローチャートである。まず、ＣＰ（現在の音高）、ＴＰ（目的の音高）、ｒ（移動速度）を取得する（ステップＳＥ１）。次に、ＣＰの音高とＴＰの音高とが一致したか否かを判別する（ステップＳＥ２）。すなわち、移動速度ｒに応じて変化する現在の発音の音高が目的の音高に達して、今回演奏されたポルタメントの一連の発音が終了したか否かを判別する。ＣＰの音高とＴＰの音高とが一致しない場合には、ＣＰの値にｒの値を加算してレジスタｐにストアする（ステップＳＥ３）。次に、ｒが負であるか否かを判別する（ステップＳＥ４）。ポルタメントが低い音高から高い音高に移動する場合には移動速度ｒは正であり、ポルタメントが高い音高から低い音高に移動する場合には移動速度ｒは負である。
【００２８】
ステップＳＥ４においてｒが負の場合には、ｐの値がＴＰの値より小さいか否かを判別する（ステップＳＥ５）。一方、ステップＳＥ４においてｒが正の場合には、ｐの値がＴＰの値よりも大きいか否かを判別する（ステップＳＥ６）。ステップＳＥ５においてｐの値がＴＰの値より大きい場合、又は、ステップＳＥ６においてｐの値がＴＰの値より小さい場合には、ｐの値が目的の音高ＴＰに達していない場合である。この場合には、ｐの値をＣＰにストアして図６のメインルーチンに戻る。ステップＳＥ５においてｐの値がＴＰの値より小さい場合、又は、ステップＳＥ６においてｐの値がＴＰの値より大きい場合には、ｐの値が目的の音高ＴＰに達した場合である。この場合には、ＴＰの値をＣＰにストアして図６のメインルーチンに戻る。
【００２９】
以上のように、この実施形態によれば、音源６は、ｍｏｄｅが「１」の場合には、押鍵された一方および他方の端の鍵によってポルタメントの鍵数Ｘを検出し、ポルタメント演奏において順次発音されるべき音高の変化の度合いを表す移動速度ＰＲを設定して、ポルタメントの鍵数Ｘが所定の鍵数ＰＩＬ以内である場合には、設定された移動速度ＰＲで変化する音高の楽音を発生し、ポルタメントの鍵数Ｘが所定の鍵数ＰＩＬを超える場合には、設定された移動速度ＰＲよりも速い移動速度で変化する音高の楽音を発生する。
この場合において、音源６は、ポルタメントの鍵数Ｘが所定の鍵数ＰＩＬを超える場合には、ポルタメントの鍵数Ｘを所定時間ＰＩＬで除算して求めた移動速度ＰＲ＊（Ｘ／ＰＩＬ）で変化する音高の楽音を発生する。
したがって、ポルタメントの鍵数が多くない場合には、設定された移動速度で変化する音高の楽音を発生し、ポルタメントの鍵数が多い場合には、鍵数に応じて移動速度を速くして楽音を発生するので、ポルタメントの鍵数が多い場合でも、不自然な演奏になるのを回避できる。
【００３０】
また、この実施形態によれば、音源６は、ｍｏｄｅが「０」の場合には、押鍵された一方および他方の端の鍵によってポルタメントの鍵数Ｘを検出し、ポルタメント演奏において順次発音されるべき音高の変化の度合いを表す移動速度ｒの上限値ＰＲＬを設定して、検出された鍵数Ｘのポルタメントが所定時間ＰＩＬになるように現在の音高から次の音高に変化する移動速度ｒを演算する。そして、演算された移動速度ｒが設定された上限値ＰＲＬ以下である場合には、演算された移動速度ｒで変化する音高の楽音を発生し、演算された移動速度ｒが設定された上限値ＰＲＬを超える場合には、上限値ＰＲＬの移動速度で変化する音高の楽音を発生する。
したがって、一定の時間でポルタメントの発音を行う場合に、演算した移動速度が上限値以下のときは、ポルタメントの鍵数に応じて比例する移動速度で変化する音高の楽音を発生し、演算した移動速度が上限値を超えるときは、上限値の移動速度で変化する音高の楽音を発生するので、一定の時間でポルタメントの発音を行う場合でも、不自然な演奏になるのを回避できる。
この場合において、押鍵された一方および他方の端の鍵の鍵域、すなわちポルタメントの鍵数に応じて移動速度の上限値ＰＲＬを設定するような構成にしてもよい。このような構成にすれば、一定の時間でポルタメントの発音を行う場合でも、不自然な演奏になるのをよりいっそう回避できる。
【００３１】
なお、上記実施形態において、さらに、音源６は、ポルタメントの鍵域に応じて移動速度を設定する構成にしてもよい。
あるいは、過去の単位時間内に押鍵された鍵数に応じて移動速度を設定する構成にしてもよいし、過去の単位時間内における押鍵のベロシティに応じて移動速度を設定する構成にしてもよい。
【００３２】
上記実施形態においては、あらかじめＲＯＭ３に予め記憶された演奏処理のプログラムをＣＰＵ１および音源６が実行する装置の発明について説明したが、フレキシブルディスク（ＦＤ）、ＣＤ、メモリカードなどの外部記憶媒体に記録されている処理のプログラムをフラッシュＲＯＭなどの不揮発性メモリにインストールして、そのプログラムをＣＰＵ１および音源６が実行することも可能である。この場合には、プログラムの発明やそのプログラムを記録した記録媒体の発明を実現できる。
【００３３】
すなわち、本発明による演奏処理のプログラムは、鍵盤における任意の鍵域を一方の端の鍵から他方の端の鍵まで順次押鍵することにより、押鍵に対応する音高の楽音を順次発音させる特殊演奏を、当該一方および他方の端の鍵の押鍵のみによって実現する演奏装置内のコンピュータによって実行される演奏処理のプログラムであって、
押鍵された一方および他方の端の鍵に基づき、前記特殊演奏の鍵域の鍵数を検出するステップＡと、前記特殊演奏において順次発音されるべき音高の変化の度合いを表す移動速度を設定するステップＢと、前記ステップＡによって検出された鍵数が所定の鍵数以内である場合には、前記ステップＢによって設定された移動速度で変化する音高の楽音を発生し、前記ステップＡによって検出された鍵数が所定の鍵数を超える場合には、前記ステップＢによって設定された移動速度よりも速い移動速度で変化する音高の楽音を発生するステップＣと、を実行する。
【００３４】
また、本発明による演奏処理のプログラムは、鍵盤における任意の鍵域を一方の端の鍵から他方の端の鍵まで順次押鍵することにより、押鍵に対応する音高の楽音を順次発音させる特殊演奏を、当該一方および他方の端の鍵の押鍵のみによって実現する演奏装置内のコンピュータによって実行される演奏処理のプログラムであって、
押鍵された一方および他方の端の鍵に基づき、前記特殊演奏の鍵域の鍵数を検出するステップＡと、前記特殊演奏において順次発音されるべき音高の変化の度合いを表す移動速度の上限値を設定するステップＢと、前記ステップＡによって検出された鍵数の特殊演奏が所定時間になるように現在の音高から次の音高に変化する移動速度を演算するステップＣと、前記ステップＣによって演算された移動速度が前記ステップＢによって設定された上限値以下である場合には、当該演算された移動速度で変化する音高の楽音を発生し、前記ステップＣによって演算された移動速度が前記ステップＢによって設定された上限値を超える場合には、当該上限値の移動速度で変化する音高の楽音を発生するステップＤと、を実行する。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施形態における電子鍵盤楽器のシステムを示すブロック図。
【図２】図１の電子鍵盤楽器におけるポルタメントの演奏の各パラメータを示す図。
【図３】図１の電子鍵盤楽器におけるポルタメントのモード０の時の音高差と移動速度との関係を表す図。
【図４】図１の電子鍵盤楽器におけるポルタメントのモード１の時の音高差と移動速度との関係を表す図。
【図５】図１の電子鍵盤楽器におけるＣＰＵのフローチャート。
【図６】図１の電子鍵盤楽器における音源のメインルーチンのフローチャート。
【図７】図６における音源の発音時処理のフローチャート。
【図８】図１の電子鍵盤楽器における音源のタイマインタラプトのフローチャート。
【図９】図８における音源の発音中処理のフローチャート。
【符号の説明】
【００３６】
１  ＣＰＵ
３  ＲＯＭ
４  ＲＡＭ
５  キースキャナ
６  音源
７  鍵盤
８  Ｄ／Ａコンバータ回路
９  出力回路
【図１】
0004576565.tif 000002
【図２】
0004576565.tif 000003
【図３】
0004576565.tif 000004
【図４】
0004576565.tif 000005
【図５】
0004576565.tif 000006
【図６】
0004576565.tif 000007
【図７】
0004576565.tif 000008
【図８】
0004576565.tif 000009
【図９】
0004576565.tif 000010