(57)【特許請求の範囲】
【請求項１】
音高を連続的に変化させるピッチベンド操作子の位置を基準位置からの変位量として検出して変位信号を出力する変位検出手段と、
前記変位検出手段によって出力された変位信号の示す変位量が前記基準位置から所定の範囲内である場合には変位信号を無効とし、当該変化量が当該所定の範囲を超えた場合には変位信号を有効とする第１の制御信号を生成する第１の信号生成手段と、
前記変位検出手段によって検出された変位量の変化率を検出する変化率検出手段と、
前記変位検出手段によって出力された変位信号の示す変位量に基づく係数と前記変化率検出手段によって検出された変化率とを乗算して第２の制御信号を生成する第２の信号生成手段と、
第１の制御信号および第２の制御信号からピッチベンド制御信号を合成する信号合成手段と、
を備えた楽音制御装置。
【請求項２】
音高を連続的に変化させるピッチベンド操作子の位置を基準位置からの変位量として検出して変位信号を出力する変位検出手段と、
前記変位検出手段によって出力された変位信号の示す変位量が前記基準位置から所定の範囲内である場合には変位信号を無効とし、当該変化量が当該所定の範囲を超えた場合には変位信号を有効とする第１の制御信号を生成する第１の信号生成手段と、
前記変位検出手段によって検出された変位量の変化率を検出する変化率検出手段と、
前記変化率検出手段によって検出された変化率のエンベロープ値を算出するエンベロープ算出手段と、
当該エンベロープ算出手段によって算出されたエンベロープ値と前記変位検出手段によって出力された変位信号の示す変位量とを乗算する第１の乗算手段と、
前記変位検出手段によって出力された変位信号の示す変位量に基づく係数と前記第１の乗算手段によって乗算された値とを乗算して第２の制御信号を生成する第２の信号生成手段と、
第１の制御信号および第２の制御信号からピッチベンド制御信号を合成する信号合成手段と、
を備えた楽音制御装置。
【請求項３】
音高を連続的に変化させるピッチベンド操作子の位置を基準位置からの変位量として検出して変位信号を出力する変位検出ステップと、
前記変位検出ステップによって出力された変位信号の示す変位量が前記基準位置から所定の範囲内である場合には変位信号を無効とし、当該変化量が当該所定の範囲を超えた場合には変位信号を有効とする第１の制御信号を生成する第１の信号生成ステップと、
前記変位検出ステップによって検出された変位量の変化率を検出する変化率検出ステップと、
前記変位検出ステップによって出力された変位信号の示す変位量に基づく係数と前記変化率検出ステップによって検出された変化率とを乗算して第２の制御信号を生成する第２の信号生成ステップと、
第１の制御信号および第２の制御信号からピッチベンド制御信号を合成する信号合成ステップと、
をコンピュータに実行させる楽音制御処理のプログラム。
【請求項４】
音高を連続的に変化させるピッチベンド操作子の位置を基準位置からの変位量として検出して変位信号を出力する変位検出ステップと、
前記変位検出ステップによって出力された変位信号の示す変位量が前記基準位置から所定の範囲内である場合には変位信号を無効とし、当該変化量が当該所定の範囲を超えた場合には変位信号を有効とする第１の制御信号を生成する第１の信号生成ステップと、
前記変位検出ステップによって検出された変位量の変化率を検出する変化率検出ステップと、
前記変化率検出ステップによって検出された変化率のエンベロープ値を算出するエンベロープ算出ステップと、
当該エンベロープ算出ステップによって算出されたエンベロープ値と前記変位検出ステップによって出力された変位信号の示す変位量とを乗算する第１の乗算ステップと、
前記変位検出ステップによって出力された変位信号の示す変位量に基づく係数と前記第１の乗算ステップによって乗算された値とを乗算して第２の制御信号を生成する第２の信号生成ステップと、
第１の制御信号および第２の制御信号からピッチベンド制御信号を合成する信号合成ステップと、
をコンピュータに実行させる楽音制御処理のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音制御装置および楽音制御処理のプログラムに関し、特に、音高を連続的に変化させるピッチベンド操作を楽音に反映させる楽音制御装置および楽音制御処理のプログラムに関するものである。
【背景技術】
【０００２】
電子鍵盤楽器などの鍵盤を有する演奏装置の中には、ギターなどの弦楽器におけるチョーキング演奏やトレモロアーム演奏によるフレーズを模倣して、発生する楽音の音高を連続的に変化させるピッチベンド効果を持たせたものがある。このピッチベンド効果のために、鍵盤の左側にホイール型又はレバー型のピッチベンド操作子が設けられている。演奏者は、右手で鍵盤を演奏しながら左手でピッチベンド操作子を操作することにより、発生する楽音の音高を変化させてチョーキング演奏やトレモロアーム演奏を行うことができる。このようなピッチベンド操作子は、基準位置（ニュートラル位置）からの変位量に応じて音高を変化させる構造になっている。この場合に、わずかな振動などで誤動作が起きないように、基準位置を中心とする所定範囲を不感帯に設定して、ピッチベンド操作子の出力を無効にするような構成になっている。
【０００３】
ある特許文献の電子楽器の制御装置においては、操作子（ピッチベンド操作子）の予め定められた中心位置データとイニシャライズ時における操作子の自動復帰位置に対応する検出値との差が、所定範囲外である場合には、中心位置データに対応する操作子の位置を中心とする所定範囲を不感帯に設定する。（特許文献１参照）
【特許文献１】実公平３−６９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
音高を低い方向にのみ変化させるトレモロアームに対して、音高を変化させるギターのトレモロアームは、弦の張力とスプリングの弾性とが釣り合った状態を基準位置とする構造で、フローティングタイプトレモロと呼ばれている。フローティングタイプトレモロにおいては、わずかな操作を加えただけでも弦の張力とスプリングの弾性との釣り合いが崩れて弦の振動に影響を与えるので、極めて微妙な音高の揺れを表現することができる。しかしながら、上記特許文献１を含む従来の技術においては、トレモロアームの代用としてのピッチベンド操作子の基準位置を中心とする所定範囲が不感帯になっているので、基準位置を中心としてピッチベンド操作子を振動させる操作を行っても、フローティングタイプトレモロの演奏ができないという課題があった。
本発明は、このような従来の課題を解決するためのものであり、基準位置を中心とする所定範囲が不感帯になっているピッチベンド操作子を備えた電子鍵盤楽器などにおいて、フローティングタイプトレモロの演奏を可能にすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、請求項１に記載の発明では、音高を連続的に変化させるピッチベンド操作子の位置を基準位置からの変位量として検出して変位信号を出力する変位検出手段と、
前記変位検出手段によって出力された変位信号の示す変位量が前記基準位置から所定の範囲内である場合には変位信号を無効とし、当該変化量が当該所定の範囲を超えた場合には変位信号を有効とする第１の制御信号を生成する第１の信号生成手段と、
前記変位検出手段によって検出された変位量の変化率を検出する変化率検出手段と、
前記変位検出手段によって出力された変位信号の示す変位量に基づく係数と前記変化率検出手段によって検出された変化率とを乗算して第２の制御信号を生成する第２の信号生成手段と、
第１の制御信号および第２の制御信号からピッチベンド制御信号を合成する信号合成手段と、
を具備することを特徴とする。
【０００６】
請求項２に記載の発明では、音高を連続的に変化させるピッチベンド操作子の位置を基準位置からの変位量として検出して変位信号を出力する変位検出手段と、
前記変位検出手段によって出力された変位信号の示す変位量が前記基準位置から所定の範囲内である場合には変位信号を無効とし、当該変化量が当該所定の範囲を超えた場合には変位信号を有効とする第１の制御信号を生成する第１の信号生成手段と、
前記変位検出手段によって検出された変位量の変化率を検出する変化率検出手段と、
前記変化率検出手段によって検出された変化率のエンベロープ値を算出するエンベロープ算出手段と、
当該エンベロープ算出手段によって算出されたエンベロープ値と前記変位検出手段によって出力された変位信号の示す変位量とを乗算する第１の乗算手段と、
前記変位検出手段によって出力された変位信号の示す変位量に基づく係数と前記第１の乗算手段によって乗算された値とを乗算して第２の制御信号を生成する第２の信号生成手段と、
第１の制御信号および第２の制御信号からピッチベンド制御信号を合成する信号合成手段と、
を具備することを特徴とする。
【０００７】
請求項３に記載の発明では、音高を連続的に変化させるピッチベンド操作子の位置を基準位置からの変位量として検出して変位信号を出力する変位検出ステップと、
前記変位検出ステップによって出力された変位信号の示す変位量が前記基準位置から所定の範囲内である場合には変位信号を無効とし、当該変化量が当該所定の範囲を超えた場合には変位信号を有効とする第１の制御信号を生成する第１の信号生成ステップと、
前記変位検出ステップによって検出された変位量の変化率を検出する変化率検出ステップと、
前記変位検出ステップによって出力された変位信号の示す変位量に基づく係数と前記変化率検出ステップによって検出された変化率とを乗算して第２の制御信号を生成する第２の信号生成ステップと、
第１の制御信号および第２の制御信号からピッチベンド制御信号を合成する信号合成ステップと、
をコンピュータに実行させることを特徴とする。
【０００８】
請求項４に記載の発明では、音高を連続的に変化させるピッチベンド操作子の位置を基準位置からの変位量として検出して変位信号を出力する変位検出ステップと、
前記変位検出ステップによって出力された変位信号の示す変位量が前記基準位置から所定の範囲内である場合には変位信号を無効とし、当該変化量が当該所定の範囲を超えた場合には変位信号を有効とする第１の制御信号を生成する第１の信号生成ステップと、
前記変位検出ステップによって検出された変位量の変化率を検出する変化率検出ステップと、
前記変化率検出ステップによって検出された変化率のエンベロープ値を算出するエンベロープ算出ステップと、
当該エンベロープ算出ステップによって算出されたエンベロープ値と前記変位検出ステップによって出力された変位信号の示す変位量とを乗算する第１の乗算ステップと、
前記変位検出ステップによって出力された変位信号の示す変位量に基づく係数と前記第１の乗算ステップによって乗算された値とを乗算して第２の制御信号を生成する第２の信号生成ステップと、
第１の制御信号および第２の制御信号からピッチベンド制御信号を合成する信号合成ステップと、
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１５】
本発明の楽音制御装置および楽音制御処理のプログラムによれば、基準位置を中心とする所定範囲が不感帯になっているピッチベンド操作子を備えた電子鍵盤楽器などにおいて、フローティングタイプトレモロの演奏を可能にするという効果が得られる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明による楽音制御装置の第１実施形態および第２実施形態について、電子鍵盤楽器を例に採って、図１ないし図１６を参照して説明する。
図１は、各実施形態における電子鍵盤楽器の構成を示すブロック図である。図１において、ＣＰＵ１は、システムバスを介して、ＲＯＭ２、ＲＡＭ３、キースキャナ４、Ａ／Ｄ変換回路５、スイッチ９などに接続され、これら各部との間でコマンドおよびデータを授受して、この電子鍵盤楽器を全体的に制御する。
【００１７】
ＲＯＭ２は、ＣＰＵ１によって実行される楽音制御処理のプログラムおよび初期データをあらかじめ格納している。ＲＡＭ３は、ＣＰＵ１のワークエリアであり、後述するように、各種のレジスタ、入力バッファ、出力バッファを有する。キースキャナ４は、鍵盤６の押鍵状態および離鍵状態を検出してＣＰＵ１に入力する。Ａ／Ｄ変換回路５は、ピッチベンド操作子７の操作に連動するボリューム８の抵抗値の変化をアナログからデジタルに変換してＣＰＵ１に入力する。スイッチ９は、電源スイッチ、フローティングタイプトレモロスイッチ、遅延時間設定スイッチ、および、音色設定スイッチなどのその他のスイッチで構成され、そのオン操作およびオフ操作を検出してＣＰＵ１に入力する。
【００１８】
また、ＣＰＵ１の入出力ポートには音源ＬＳＩ１０が接続されている。音源ＬＳＩ１０は、ＣＰＵ１から出力される発音指示および音高データ、ベロシティデータ、音色データ、ピッチベンドデータなどの演奏情報に応じて、発音パラメータを生成するための演算処理を行い、波形ＲＯＭ１１から波形データを読み出して楽音信号を発生して、Ｄ／Ａ変換回路１２に出力する。Ｄ／Ａ変換回路１２は、音源ＬＳＩ１０で発生された楽音信号をデジタルからアナログに変換して出力回路１３に供給する。出力回路１３は、フィルタ回路や増幅回路などを有するサウンドシステムであり、Ｄ／Ａ変換回路１２から供給される楽音信号に対してフィルタ処理や増幅処理を施してスピーカ（図示せず）から発音させる。
【００１９】
図２は、図１のピッチベンド操作子７およびボリューム８の構造を示す図である。図２（１）において、ピッチベンド操作子７は、ボリューム８の回転軸８ａに固定されている。したがって、ピッチベンド操作子７の回転に連動してボリューム８も回転する。ボリューム８の回転に応じて、その端子８ｂにおける抵抗値が変化する。上記したように、この抵抗値の変化はＡ／Ｄ変換回路５を介してＣＰＵ１に入力される。図２（２）において、ピッチベンド操作子７は、操作されないニュートラル状態においては、スプリング７ａによって基準位置に静止している。すなわち、スプリング７ａの弾性に抗して手で操作してピッチベンド操作子７を回転させた後に、ピッチベンド操作子７から手を離したときは、ピッチベンド操作子７はスプリング７ａの弾性の復元力によって自動的に基準位置に戻る。
【００２０】
ピッチベンド操作子７が基準位置に戻る際には、ピッチベンド操作子７の慣性モーメントとスプリング７ａの弾性によって振動が発生する。また、ピッチベンド操作子７を上限（プラス１００％）又は下限（マイナス１００％）まで回転した際も、ストッパ機構（図示せず）によって回転が停止されたときは振動が発生する。このような振動の影響を吸収するために、不感帯が設定されている。図３は、ピッチベンド操作子７の不感帯を示す図である。ピッチベンド操作子７の回転に比例してボリューム８の抵抗値ＶＲは図の点線で示すように変化するが、基準位置（中央位置）、上限、および下限において、図の実線で示すように、抵抗値の変化を無効にする不感帯が設定されている。
【００２１】
次に、第１実施形態における電子鍵盤楽器の機能および動作について、図４ないし図１３を参照して説明する。
図４は、第１実施形態における電子鍵盤楽器の機能を示すブロック図である。この機能はＣＰＵ１によって実行されるが、専用のハードウェアであるＤＳＰ（デジタル・シグナル・プロセッサ）によっても実現される。図４に基づいて、第１実施形態の動作を概略的に説明する。
変位量変換１０１は、Ａ／Ｄ変換回路５から入力されたピッチベンド操作子７の変位量を示すボリューム８の抵抗値ｐ１を、ＲＯＭ２の変換テーブルに従って、図３に示した不感帯の特性をもつ絶対的変位値ｐ２に変換する。ＨＰＦ１０２は抵抗値ｐ１を微分してピッチベンド操作子７の変位量の変化率ｐ３を出力する。変化率ｐ３は抵抗値ｐ１と比べて、直流成分が除去されるとともに、微小な変動がより強調された波形の特徴を有する。ＬＰＦ１０３はＨＰＦ１０２から出力された変化率ｐ３の高域成分を除去して滑らかな波形に整形して出力する。遅延１０４はＬＰＦ１０３から出力された変化率に対してピッチベンド操作子７の操作による振動を適切な時間遅らせて実際のピッチ振動に反映させるために遅延処理を施して出力する。
比率算出１０５は抵抗値ｐ１に応じた比率を生成する。図５は、点線で示すボリューム８の抵抗値と実線で示す比率との関係を示す図である。中央の不感帯付近ほど比率が大きくなっている。乗算子１０６は遅延１０４から出力された変化率と比率算出１０５から出力された比率とを乗算し、相対的変位値ｐ５を出力する。加算子１０７は変位量変換１０１から出力された絶対的変位値ｐ２と乗算子１０６から出力された相対的変位値ｐ５とを合成して、最終的なピッチベンドデータｐ６を音源ＬＳＩ１０に出力する。
【００２２】
次に、第１実施形態の電子鍵盤楽器の詳細な動作について、ＲＡＭ３の構成、ＣＰＵ１のフローチャート、および信号波形に基づいて説明する。
図６は、ＲＡＭ３の各種のレジスタやバッファの構成を示す図である。ＦＴＴは、フローティングタイプトレモロ実行フラグであり、０は不実行を表し、１は実行を表す。ＤＥＬＡＹは遅延時間をストアするレジスタである。ＶＲは現在のボリューム８の抵抗値をストアするレジスタである。ＶＲＰは前処理（前回）のボリューム８の抵抗値をストアするレジスタである。ＢＤＡは絶対的変位値をストアするレジスタである。ＢＩ［０］〜ＢＩ［ＢＩＳＩＺＥ−１］は入力バッファ（リングバッファ）である。ＢＯ［０］〜ＢＯ［ＢＯＳＩＺＥ−１］は出力バッファ（リングバッファ）である。ＩＲは入力バッファＢＩの読出エリアを指定する入力バッファ読出インデックスである。ＩＷは入力バッファＢＩの書込エリアを指定する入力バッファ書込インデックスである。ＯＲは出力バッファＢＯの読出エリアを指定する出力バッファ読出インデックスである。ＯＷは出力バッファＢＯの書込エリアを指定する出力バッファ書込インデックスである。
【００２３】
図７は、ＣＰＵ１のメインルーチンのフローチャートである。所定の初期処理（ステップＳＡ１）の後、スイッチ処理（ステップＳＡ２）、鍵盤処理（ステップＳＡ３）、その他の処理（ステップＳＡ４）を繰り返し実行する。初期処理においては、ＦＴＴを０にリセットし、ＤＥＬＡＹの遅延時間を典型的なフローティングタイプトレモロの演奏におけるトレモロアームの振動周期に対応した時間に設定する。
【００２４】
図８は、メインルーチンにおけるステップＳＡ２のスイッチ処理のフローチャートである。フローティングタイプトレモロスイッチがオンされたか否かを判別し（ステップＳＢ１）、このスイッチがオンされたときは、フラグＦＴＴの値を反転する（ステップＳＢ２）。そして、ＦＴＴが１であるか又は０であるかを判別する（ステップＳＢ３）。ＦＴＴが１である場合には、入力バッファＢＩ［０〜（ＢＩＳＩＺＥ−１）］、出力バッファＢＯ［０〜（ＢＯＳＩＺＥ−１）］をクリアし、入力バッファ読出インデックスＩＲを０にセットし、入力バッファ書込インデックスＩＷを０にセットし、出力バッファ読出インデックスＯＲを０にセットし、ＶＲＰに現在の抵抗値ＶＲをストアする（ステップＳＢ４）。次に、出力バッファＢＯにおいて、出力バッファ書込インデックスＯＷの位置を、ＤＥＬＡＹの遅延時間に対応する間隔だけ、ＯＲの位置よりも先の位置に設定する（ステップＳＢ５）。これにより出力バッファのエリアＢＯ［ＯＷ］に書き込まれたデータは、ＤＥＬＡＹの遅延時間が経過したタイミングで読み出されることになる。
【００２５】
ステップＳＢ１においてフローティングタイプトレモロスイッチがオンでない場合には、遅延時間設定スイッチがオンされたか否かを判別し（ステップＳＢ６）、このスイッチがオンされて遅延時間が変更されたときは、その遅延時間をＤＥＬＡＹにストアする（ステップＳＢ７）。遅延時間の変更によって、例えば、ピッチベンド操作子７に対して一定の周期での振動操作を行う場合に、その振動開始後に数周期の間隔をおいて、ピッチベンド操作子７の振動と実際のピッチ振動を同位相で同期させたり、あるいは逆位相で同期させたりすることが可能になる。遅延時間をストアした後は、ステップＳＢ５に移行して、出力バッファ書込インデックスＯＷの位置をＤＥＬＡＹの遅延時間に対応する間隔だけ、ＯＲの位置よりも先の位置に設定する。
ステップＳＢ６において遅延時間設定スイッチがオンでない場合には、他のスイッチ処理を行う（ステップＳＢ８）。
ステップＳＢ３においてＦＴＴが０である場合、すなわち、フローティングタイプトレモロの演奏を停止した場合、若しくは、ステップＳＢ５において出力バッファ書込インデックスＯＷの位置を設定した後、又は、ステップＳＢ８において他のスイッチ処理を行った後は、図７のメインルーチンに戻る。
【００２６】
図９は、メインルーチンにおけるステップＳＡ３の鍵盤処理のフローチャートである。キースキャナ４によって鍵盤６の押鍵・離鍵状態を判別し（ステップＳＣ１）、押鍵があったときは、押鍵対応のノートオンデータおよび発音コマンドを作成して音源ＬＳＩ１０に送信する（ステップＳＣ２）。離鍵があったときは、離鍵対応のノートオフデータおよび消音コマンドを作成して音源ＬＳＩ１０に送信する（ステップＳＣ３）。音源ＬＳＩ１０にコマンドを送信した後、又は、押鍵も離鍵もされない場合には、図７のメインルーチンに戻る。
【００２７】
図１０は、メインルーチンを中断して定期的に実行されるタイマ処理であるベンダホイール入力処理のフローチャートである。レジスタＶＲにボリューム８の抵抗値ｐ１をストアし（ステップＳＤ１）、変位量変換１０１によって、図３の関係を表したＲＯＭ２の変換テーブルＡＴＢＬ［  ］を用いて、ＶＲの抵抗値に対応するＡＴＢＬ［ＶＲ］を指定することにより、不感帯が設定された絶対的変位値ｐ２をレジスタＢＤＡにストアする（ステップＳＤ２）。次に、フラグＦＴＴが０であるか又は１であるかを判別する（ステップＳＤ３）。ＦＴＴが０である場合にはメインルーチンに戻るが、ＦＴＴが１（トレモロ演奏実行）である場合には、現在のＶＲの抵抗値から前回のＶＲＰの抵抗値を減算した値、すなわち、ピッチベンド操作子７の変位量を示すボリューム８の抵抗値の変化をレジスタａにセットする（ステップＳＤ４）。
【００２８】
次に、変数ｎに初期値０をセットし（ステップＳＤ５）、ｎの値をインクリメントしながら、ベンダホイール入力処理の１間隔内で実行されるベンドデータ出力処理（後述）の回数（ＩＯＲ回）分のデータ書き込みを実行する。すなわち、ａの値を実行回数ＩＯＲで除算した値を、入力バッファＢＩの入力バッファ書込インデックスＩＷで指定するエリアＢＩ［ＩＷ］に書き込み、ＩＷを更新し、ｎの値をインクリメントする（ステップＳＤ６）。そして、インクリメントしたｎの値がＩＯＲに達したか否かを判別する（ステップＳＤ７）。ｎの値がＩＯＲに達しない場合には、ステップＳＤ６の処理を繰り返す。ｎの値がＩＯＲに達したときは、そのときのＶＲの抵抗値をＶＲＰにストアして更新する（ステップＳＤ８）。この後は、メインルーチンに戻る。したがって、ピッチベンド操作子７の操作に応じたボリューム８の抵抗値の変位量がＩＯＲ個分入力バッファＢＩに書き込まれる。
【００２９】
図１１は、メインルーチンを中断して定期的に実行されるタイマ処理であるベンドデータ出力処理のフローチャートである。滑らかなピッチベンド効果を実現するために、前述したように、ベンドデータ出力処理はベンダホイール入力処理のＩＯＲ倍の頻度で実行される。レジスタｂｄにＢＤＡの絶対的変位値をストアし（ステップＳＥ１）、ＦＴＴが０であるか又は１であるかを判別する（ステップＳＥ２）。ＦＴＴが１である場合には、入力バッファ読出インデックスＩＲで指定される入力バッファＢＩ［ＩＲ］の変位量をレジスタａにストアし、ＩＲを更新し、出力バッファ書込インデックスＯＷで指定される出力バッファＢＯ［ＯＷ］の値にａの値を加算して更新した値をレジスタｂにストアする（ステップＳＥ３）。すなわち、入力バッファＢＩから順次読み出した変位量に平滑処理を施してピッチベンドデータに適するように、図４のＬＰＦ１０３の機能であるローパスフィルタ処理を行う。そして、ＯＷを更新し、ＢＯ［ＯＷ］にローパスフィルタ処理したｂの変位量をストアする（ステップＳＥ４）。
【００３０】
次に、出力バッファ書込インデックスＯＷからＤＥＬＡＹの遅延時間に対応する間隔だけ離れた、出力バッファ読出インデックスＯＲで指定される出力バッファＢＯ［ＯＲ］の変位量を読み出してレジスタａにストアし、図４の遅延１０４の機能である遅延処理を行う（ステップＳＥ５）。さらに、図５の関係を表したＲＯＭ２の変換テーブルＲＲ［  ］を用いて、ＶＲの抵抗値に対応する比率ＲＲ［ＶＲ］を指定することにより、図４の比率算出１０５の機能である比率を生成し、その比率ＲＲ［ＶＲ］をａの値に乗算して、図４の乗算子１０６の機能である相対的変位値ｐ５を得る（ステップＳＥ６）。次に、ｂｄの絶対的変位値とａの相対的変位値とを加算してｂｄの値とし、図４の加算子１０７の機能であるピッチベンドデータｐ６を出力する（ステップＳＥ７）。そして、出力バッファ読出インデックスＯＲを更新する（ステップＳＥ８）。
【００３１】
ステップＳＥ８の更新処理の後は、ｂｄよりフローティングタイプトレモロのピッチベンドのコマンドを作成し、音源ＬＳＩ１０に送信する（ステップＳＥ９）。あるいは、ステップＳＥ２においてＦＴＴが０である場合には、ステップＳＥ１でＢＤＡからストアしたｂｄの絶対的変位値のピッチベンドのコマンドを作成し、音源ＬＳＩ１０に送信する（ステップＳＥ９）。いずれかのコマンドを送信した後は、メインルーチンに戻る。
【００３２】
図１２は、ピッチベンド操作子７の操作によって変化するボリューム８の抵抗値に対して、図４の変位量変換１０１、ＨＰＦ１０２の機能による信号処理について不感帯付近を拡大して示した図である。また、図１３は、図１２の信号処理に続いて、さらに図４のＬＰＦ１０３および遅延１０４の機能による信号処理について示した図である。
図１２において、点線で示す信号波形はボリューム８の抵抗値ｐ１を表している。この抵抗値ｐ１が不感帯の範囲内にある場合には、変位量変換１０１から出力される絶対的変位値ｐ２は、実線で示すように０の値であり、不感帯の範囲を超えたときに、正又は負の値（図１２では正の値）となる。また、ＨＰＦ１０２によってハイパスフィルタ処理された変位値ｐ３は、抵抗値ｐ１の傾きに対応する波高値とタイマ処理の間隔に対応する周期とを有し、図１２の一点鎖線で示すような矩形の波形になる。さらに、ＬＰＦ１０３および遅延１０４によってローパスフィルタ処理および遅延処理された変位値ｐ４は、図１３に示す一点鎖線の滑らかな曲線の波形になる。
【００３３】
以上のように、この第１実施形態によれば、ＣＰＵ１は、音高を連続的に変化させるピッチベンド操作子７の位置を基準位置からの変位量として検出して、ボリューム８の抵抗値として出力し、その変位量が基準位置から所定の範囲内の不感帯である場合には変位量を無効とし、その変化量が所定の範囲を超えた場合には変位量を有効にする絶対的変位値を生成するとともに、ピッチベンド操作子７の変位量の変化率を検出して、その変化率に基づいて相対的変位値を生成し、絶対的変位値と相対的変位値とを合成してピッチベンドデータを音源ＬＳＩ１０に供給する。
したがって、基準位置を中心とする所定範囲が不感帯になっているピッチベンド操作子７を不感帯で操作した場合でも、フローティングタイプトレモロの演奏を可能にする。
【００３４】
この第１実施形態において、ＣＰＵ１は、ピッチベンド操作子７の変位位置（ボリューム８の抵抗値）に応じた比率と検出した変化率とを乗算して、相対的変位値ｐ５を生成する。
したがって、図５に示したように、不感帯の中央付近で乗算比率を大きくすることで、フローティングタイプトレモロ演奏の微妙な振動を効果的に楽音に反映することができる。
また、第１実施形態において、ＣＰＵ１は、検出したされたピッチベンド操作子７の変位量の変化率に対してローパスフィルタ処理を施す。
したがって、ピッチベンドデータに適するような滑らかな信号波形を生成することができる。
また、第１実施形態において、ＣＰＵ１は、検出したされたピッチベンド操作子７の変位量の変化率に対して遅延処理を施す。
したがって、ピッチベンド操作子７の振動操作と実際のピッチ振動との間で、同位相での同期、あるいは逆位相での同期など、様々な関係を持つ信号波形を生成することができる。
【００３５】
次に、本発明の第２実施形態について、図１４ないし図１６に基づいて説明する。図１４は、第２実施形態における電子鍵盤楽器の機能を示すブロック図である。第１実施形態と同様に、この機能はＣＰＵ１によって実行されるが、専用のハードウェアであるＤＳＰによっても実現される。図１４に基づいて、第２実施形態の動作を概略的に説明する。なお、図１４の構成において、図４に示した第１実施形態の構成と同じものは同一の符号で表すとともに、重複した説明は省略する。
【００３６】
図１４において、ＡＢＳ１０８は、ＨＰＦ１０２によってピッチベンド操作子７の変位量を表すボリューム８の抵抗値ｐ１がハイパスフィルタ処理された変位量ｐ３を絶対値化して、変位量ｐ７を出力する。ＬＰＦ１０３は、ＡＢＳ１０８から出力された変位量ｐ７をローパスフィルタ処理して、変位量のエンベロープ値ｐ８を出力する。乗算子１０９は、抵抗値ｐ１とエンベロープ値ｐ８とを乗算して、乗算結果の値ｐ９を乗算子１０６に出力する。乗算子１０６は、第１実施形態と同様に、乗算子１０６の出力と比率算出１０５の出力とをさらに乗算して、相対的変位値ｐ５を出力する。
【００３７】
次に、第２実施形態の電子鍵盤楽器の詳細な動作について、ＣＰＵ１のフローチャートに基づいて説明する。
ＣＰＵ１の楽音制御処理のフローチャートにおいて、メインルーチン、スイッチ処理、および鍵盤処理については、図７、図８、および図９に示した第１実施形態のフローチャートと同じである。
図１５は、メインルーチンを中断して定期的に実行されるタイマ処理であるベンダホイール入力処理のフローチャートである。レジスタＶＲにボリューム８の抵抗値ｐ１をストアし（ステップＳＦ１）、ＶＲの抵抗値を変位量変換１０１によって変換し、不感帯が設定された絶対的変位値ｐ２をレジスタＢＤＡにストアする（ステップＳＦ２）。次に、フラグＦＴＴが０であるか又は１であるかを判別する（ステップＳＦ３）。ＦＴＴが０である場合にはメインルーチンに戻るが、ＦＴＴが１（トレモロ演奏実行）である場合には、現在のＶＲの抵抗値から前回のＶＲＰの抵抗値を減算した値、すなわち、ピッチベンド操作子７の抵抗値の変化量をレジスタａにセットする（ステップＳＦ４）。さらに、ａの値を絶対値化する（ステップＳＦ９）。
【００３８】
次に、変数ｎに初期値０をセットし（ステップＳＦ５）、ｎの値をインクリメントしながら、ベンダホイール入力処理の１間隔内で実行されるベンドデータ出力処理（後述）の回数（ＩＯＲ回）分のデータ書き込みを実行する。すなわち、ａの値を実行回数ＩＯＲで除算した値を、入力バッファＢＩの入力バッファ書込インデックスＩＷで指定するエリアＢＩ［ＩＷ］に書き込み、ＩＷを更新し、ｎの値をインクリメントする（ステップＳＦ６）。そして、インクリメントしたｎの値がＩＯＲに達したか否かを判別する（ステップＳＦ７）。ｎの値がＩＯＲに達しない場合には、ステップＳＦ６の処理を繰り返す。ｎの値がＩＯＲに達したときは、そのときのＶＲの抵抗値をＶＲＰにストアして更新する（ステップＳＦ８）。この後は、メインルーチンに戻る。したがって、ピッチベンド操作子７の操作に応じたボリューム８の抵抗値の変位量がＩＯＲ個分入力バッファＢＩに書き込まれる。
【００３９】
図１６は、メインルーチンを中断して定期的に実行されるタイマ処理であるベンドデータ出力処理のフローチャートである。レジスタｂｄにＢＤＡの絶対的変位値をストアし（ステップＳＧ１）、ＦＴＴが０であるか又は１であるかを判別する（ステップＳＧ２）。ＦＴＴが１である場合には、入力バッファ読出インデックスＩＲで指定される入力バッファＢＩ［ＩＲ］の変位量をレジスタａにストアし、ＩＲを更新し、その更新されたＩＲで指定される入力バッファＢＩ［ＩＲ］の値とａの値との平均値をａの値として更新する（ステップＳＧ３）。すなわち、ピッチベンドデータに適するように、図１５のステップＳＦ９において絶対値化されたａの変位量のエンベロープ値を、図１４のＬＰＦ１０３のローパフフィルタ処理の機能で算出する。
【００４０】
次に、図１４の乗算子１０９の機能によって、レジスタａのエンベロープ値とＶＲの抵抗値との乗算値（ｐ９）をａの値として更新する（ステップＳＧ１０）。さらに、ＶＲの抵抗値に対応する比率ＲＲ［ＶＲ］をａの値に乗算して、図１４の乗算子１０６の機能である相対的変位値ｐ５を得る（ステップＳＧ６）。次に、ｂｄの絶対的変位値ｐ２とａの相対的変位値ｐ５とを加算してｂｄの値とし、図１４の加算子１０７の機能であるピッチベンドデータｐ６を出力する（ステップＳＧ７）。そして、ｂｄよりフローティングタイプトレモロのピッチベンドのコマンドを作成し、音源ＬＳＩ１０に送信する（ステップＳＧ９）。あるいは、ステップＳＧ２においてＦＴＴが０である場合には、ステップＳＧ１でＢＤＡからストアしたｂｄの絶対的変位値のピッチベンドのコマンドを作成し、音源ＬＳＩ１０に送信する（ステップＳＧ９）。いずれかのコマンドを送信した後は、メインルーチンに戻る。
【００４１】
以上のように、この第２実施形態によれば、ＣＰＵ１は、検出した変化率のエンベロープ値を算出して、そのエンベロープ値とボリューム８の抵抗値とを乗算し、さらに、その乗算結果とボリューム８の抵抗値に応じた比率とを乗算して相対的変位値を生成する。
したがって、第１実施形態と同様に、ピッチベンドデータに適するような滑らかな信号波形を生成することができるとともに、第１実施形態のような遅延処理を行うことなく、現在のボリューム８の抵抗値ｐ１に応じた信号波形を生成することができる。
【００４２】
なお、上記各実施形態においては、ＲＯＭ２にあらかじめ記憶されている楽音制御処理のプログラムをＣＰＵ１が実行する装置の発明について説明したが、ＦＤ（フレキシブルディスク）やＣＤ−ＲＯＭなどの外部記憶媒体から読み込んだ楽音制御処理のプログラム、又は、ネットワークからダウンロードした楽音制御処理のプログラムを、フラッシュＲＯＭなどの不揮発性メモリにインストールして、ＣＰＵ１が実行する構成も可能である。この場合には、プログラムの発明、記憶媒体の発明を実現することができる。
【００４３】
すなわち、その楽音制御処理のプログラムは、
音高を連続的に変化させるピッチベンド操作子の位置を基準位置からの変位量として検出して変位信号を出力するステップＡと、前記ステップＡによって出力された変位信号の示す変位量が前記基準位置から所定の範囲内である場合には変位信号を無効とし、当該変化量が当該所定の範囲を超えた場合には変位信号を有効とする第１の制御信号を生成するステップＢと、前記ステップＡによって検出された変位量の変化率を検出するステップＣと、前記ステップＣによって検出された変化率に基づいて第２の制御信号を生成するステップＤと、前記ステップＢによって生成された第１の制御信号および前記ステップＤによって生成された第２の制御信号からピッチベンド制御信号を合成するステップＥと、をコンピュータに実行させる。
【００４４】
前記ステップＤは、前記ステップＡによって出力された変位信号の示す変位量に基づく係数と前記ステップＣによって検出された変化率とを乗算して第２の制御信号を生成することを特徴とする。
【００４５】
前記ステップＤは、前記ステップＣによって検出された変化率に対してローパスフィルタ処理を施すことを特徴とする。
【００４６】
前記ステップＤは、前記ステップＣによって検出された変化率に対して遅延処理を施すことを特徴とする。
【００４７】
前記ステップＤは、前記ステップＣによって検出された変化率のエンベロープ値を算出して、当該エンベロープ値と前記ステップＡによって出力された変位信号の示す変位量とを乗算し、当該乗算結果と前記ステップＡによって出力された変位信号の示す変位量に基づく係数とを乗算して第２の制御信号を生成することを特徴とする。
【図面の簡単な説明】
【００４８】
【図１】本発明の楽音制御装置を適用した実施形態における電子鍵盤楽器の構成を示すブロック図。
【図２】図１のピッチベンド操作子およびボリュームの構造を示す図。
【図３】図１のピッチベンド操作子の不感帯を示す図。
【図４】第１実施形態における電子鍵盤楽器の機能を示す図。
【図５】図１のボリュームの抵抗値とそれに乗算する比率との関係を示す図。
【図６】図１のＲＡＭの構成を示す図。
【図７】図１のＣＰＵのメインルーチンのフローチャート。
【図８】図７におけるスイッチ処理のフローチャート。
【図９】図７における鍵盤処理のフローチャート。
【図１０】第１実施形態におけるベンダホイール入力処理のフローチャート。
【図１１】第１実施形態におけるベンドデータ出力処理のフローチャート。
【図１２】第１実施形態においてボリュームの抵抗値に対するＣＰＵの信号処理で生成された信号波形との関係を示す図。
【図１３】図１２の一点鎖線でしめす変位値に対してローパスフィルタ処理を施した信号波形とボリュームの抵抗値との関係を示す図。
【図１４】第２実施形態における電子鍵盤楽器の機能を示す図。
【図１５】第２実施形態におけるベンダホイール入力処理のフローチャート。
【図１６】第２実施形態におけるベンドデータ出力処理のフローチャート。
【符号の説明】
【００４９】
１  ＣＰＵ
２  ＲＯＭ
３  ＲＡＭ
４  キースキャナ
５  Ａ／Ｄ変換回路
６  鍵盤
７  ピッチベンド操作子
８  ボリューム
９  スイッチ
１０  音源ＬＳＩ
１１  波形ＲＯＭ
１２  Ｄ／Ａ変換回路
１３  出力回路
【図１】
0004561531.tif 000002
【図２】
0004561531.tif 000003
【図３】
0004561531.tif 000004
【図４】
0004561531.tif 000005
【図５】
0004561531.tif 000006
【図６】
0004561531.tif 000007
【図７】
0004561531.tif 000008
【図８】
0004561531.tif 000009
【図９】
0004561531.tif 000010
【図１０】
0004561531.tif 000011
【図１１】
0004561531.tif 000012
【図１２】
0004561531.tif 000013
【図１３】
0004561531.tif 000014
【図１４】
0004561531.tif 000015
【図１５】
0004561531.tif 000016
【図１６】
0004561531.tif 000017