(57)【特許請求の範囲】
【請求項１】
操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、該操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
前記操作子から出力される位置データに基づいて、該操作子の、操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
前記検出手段により前記操作子の操作方向の変化が検出されたことを受けて、操作方向が変化した時点のパラメータ値を起点として、直前のパラメータ値に、操作方向が変化した後の位置データが単位変化量だけ変化するごとに、初回に単位変化量だけ変化したときに所定の初期値を、かつさらに単位変化量ずつ変化するごとに前回よりも小さな値を、操作方向が変化した後の操作方向に応じて加算もしくは減算することにより、新たなパラメータ値に更新するパラメータ値生成手段とを備えたことを特徴とする楽音制御パラメータ生成装置。
【請求項２】
操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、該操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
前記操作子から出力される位置データに基づいて、該操作子の、操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
前記検出手段により前記操作子の操作方向の変化が検出されたことを受けて、操作方向が変化した後の操作方向に応じた、該操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段を有し、過去に生成したパラメータ値、現在の操作方向に応じた目標値、および現在の操作位置に応じたパラメータ値を求めるパラメータ値生成手段とを備えたことを特徴とする楽音制御パラメータ生成装置。
【請求項３】
操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、該操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
前記操作子から出力される位置データに基づいて、該操作子の操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
前記検出手段により前記操作子の操作方向の変化が検出されたことを受けて、操作方向が変化した後の操作方向に応じた、該操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段と、前記操作子が操作方向前方であって、かつ前記目標操作位置手前の参考操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる参考値を検出する参考値検出手段と、
前記操作子の過去の操作位置に対応する、位置データとパラメータ値とからなる基準値と、前記参考値との間を補間することにより、現在の操作位置に対応する位置データをパラメータ値に変換する補間手段とを備えたことを特徴とする楽音制御パラメータ生成装置。
【請求項４】
操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、該操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
前記操作子から出力される位置データに基づいて、該操作子の操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
前記検出手段により操作方向の変化が検出されたことを受けて、操作方向が変化した時点の位置データとパラメータ値とからなる基準値と、操作方向が変化した後の操作方向とに基づいて、位置データからパラメータ値を求める演算方法を設定する演算方法設定手段と、
前記演算方法設定手段で設定された演算方法に基づいて、現在の位置データをパラメータ値に変換するパラメータ値生成手段とを備えたことを特徴とする楽音制御パラメータ生成装置。
【請求項５】
前記演算方法設定手段が、前記操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段を有し、前記基準値と、操作方向が変化した後の操作方向に応じた目標値とに基づいて、位置データからパラメータ値を求める演算方法を設定するものであることを特徴とする請求項４記載の楽音制御パラメータ生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、操作子から出力される、操作位置に応じた位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置に関し、詳細には、ヒステリシス特性を持ったパラメータ値を生成する楽音制御パラメータ生成装置に関する。
【０００２】
【従来の技術】
従来、操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子、例えばベンダー等が楽音制御用に用いられている。以下、ベンダーを例として説明する。
ベンダーは、左右もしくは上下に操作することによって、当初は発音中の楽音の音高を自在に変化させる演奏操作子であったが、近年の電子楽器の技術拡大に伴い制御可能な楽音制御パラメータの数が増え、ベンダーに任意の楽音制御パラメータを割り当てて楽音を制御することのできる電子楽器も増えてきている。
【０００３】
【発明が解決しようとする課題】
しかしながら、そのベンダーにどのような楽音制御パラメータの制御を割り当てた場合であっても、従来は、そのベンダーの操作位置とその割り当てられた楽音制御パラメータのパラメータ値は、１対１に対応づけられており、変化に乏しい楽音制御しか得ることができず、一層演奏の興趣をそそる操作子の登場が望まれている。この目的に適う手法の１つとしてベンダーの操作に対しヒステリシスをもったパラメータ値を生成することが考えられるが、具体的にどのようにすればヒステリシスを持たせることができるかが問題となる。
【０００４】
本発明は、上記事情に鑑み、操作子の操作に対する生成される楽音制御のパラメータのパラメータ値との間にヒステリシスを持たせ、従来と比べ、さらに演奏の興味をそそる楽音制御パラメータ生成装置を提供するにあたり、ヒステリシスを持たせる具体的手法を提案することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成する本発明の楽音制御パラメータ生成装置のうちの第１の楽音制御パラメータ生成装置は、操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、その操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
上記操作子から出力される位置データに基づいて、その操作子の、操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
過去に生成したパラメータ値、現在の操作方向、および現在の操作位置に応じたパラメータ値を求めるパラメータ値生成手段とを備えたことを特徴とする。
【０００６】
本発明の第１の楽音制御パラメータ生成装置は、操作子の操作方向、操作方向の変化および現在の操作位置を検出し、過去に生成したパラメータ値、例えば具体的には直前に生成したパラメータ値と、現在の操作方向と、現在の操作位置とに基づいてパラメータ値を生成するものであるため、操作方向に応じて位置データの変化に対するパラメータ値の変化の軌跡を変えることができ、したがってヒステリシス特性を持った楽音制御パラメータ生成装置が実現する。
【０００７】
ここで、上記本発明の第１の楽音制御パラメータ生成装置において、上記パラメータ値生成手段が、上記検出手段により上記操作子の操作方向の変化が検出されたことを受けて、操作方向が変化した後の操作方向に応じた、その操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段を有し、過去に生成したパラメータ値、現在の操作方向に応じた目標値、および現在の操作位置に応じたパラメータ値を求めるものであることが好ましい。
【０００８】
上記目標値を設定すると、一層複雑な軌跡を描くパラメータ値を生成することができる。
また、上記目的を達成する本発明の第２の楽音制御パラメータ生成装置は、操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、その操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
上記操作子から出力される位置データに基づいて、その操作子の操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
上記検出手段により上記操作子の操作方向の変化が検出されたことを受けて、操作方向が変化した後の操作方向に応じた、その操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段と、
上記操作子が操作方向前方であって、かつ上記目標操作位置手前の参考操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる参考値を検出する参考値検出手段と、
上記操作子の過去の操作位置に対応する、位置データとパラメータ値とからなる基準値と、上記参考値との間を補間することにより、現在の操作位置に対応する位置データをパラメータ値に変換する補間手段とを備えたことを特徴とする。
【０００９】
本発明の第２の楽音制御パラメータ生成装置は、上記目標値を設定するものであるため、本発明の第１の楽音制御パラメータ生成装置と同様複雑なヒステリシス軌跡を描くパラメータ値を生成することができ、しかも参考値を設定し補間演算によりパラメータを求めるものであるため、操作子の操作位置の変化に応じてなめらかに変化するパラメータ値を生成することができる。
【００１０】
さらに、上記目的を達成する本発明の第３の楽音制御パラメータ生成装置は、操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、その操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
上記操作子から出力される位置データに基づいて、その操作子の操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
上記検出手段により操作方向の変化が検出されたことを受けて、操作方向が変化した時点の位置データとパラメータ値とからなる基準値と、操作方向が変化した後の操作方向とに基づいて、位置データからパラメータ値を求める演算方法を設定する演算方法設定手段と、
上記演算方法設定手段で設定された演算方法に基づいて、現在の位置データをパラメータ値に変換するパラメータ値生成手段とを備えたことを特徴とする。
【００１１】
本発明の第３の楽音制御パラメータ生成装置は、操作子の操作方向の変化があったときにその操作方向が変化した時点の基準値と操作方向が変化した後の操作方向とに基づいて、位置データからパラメータ値を求める演算方向を設定するものであるため、前述の第１の楽音制御パラメータ生成装置および第２の楽音制御パラメータ生成装置と同様に、操作方向に応じて、位置データの変化の軌跡に対するパラメータ値の変化の軌跡を変えることができ、ヒステリシス特性を持った楽音制御パラメータ生成装置が実現する。
【００１２】
ここで、上記本発明の第３の楽音制御パラメータ生成装置において、上記演算方法設定手段が、上記操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段を有し、上記初期値と、操作方向が変化した後の操作方向に応じた目標値とに基づいて、位置データからパラメータ値を求める演算方法を設定するものであることが好ましい。
【００１３】
上記目標値を設定すると、上述した第１の楽音制御パラメータ生成装置において目標値を設定した場合、あるいは上述した第２の楽音制御パラメータ生成装置の場合と同様、一層複雑な軌跡を描くパラメータ値を生成することができる。
【００１４】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
図１は、本発明の第１〜第３の楽音制御パラメータ生成装置に共通な電子楽器のハードウェア構成図である。
この楽音制御パラメータ生成装置には、ベンダー１１，キーボード１２，ＣＰＵ１３，ＲＡＭ１４，ＲＯＭ１５，操作パネル１６，表示器１７、および音源１８が備えられており、それらはバス１９を介して相互に接続されている。
【００１５】
ベンダー１１は、本発明にいう操作子の一例であり、左右いずれにも傾けることのできるレバーを備えられており、そのレバーから手を離すと、そのレバーは中位位置に復帰するように構成されている。このベンダー１１からは、操作位置に応じた位置データが出力される。
キーボード１２には、配列された複数の鍵（キー）が備えられており、それらの鍵の演奏操作に応じて押鍵情報、離鍵情報が出力される。
【００１６】
ＣＰＵ１３は、ＲＡＭ１４を作業領域としてＲＯＭ１５に格納されたプログラムを実行するものであり、この装置全体の制御を司っている。
ＲＡＭ１４は、ＣＰＵ１３でプログラムが実行される際の作業領域や各種のデータを格納しておく読み書き自在なメモリである。
ＲＯＭ１５は、ＣＰＵ１３で実行されるプログラムやその他固定的に記憶しておくデータの記憶領域である。
【００１７】
操作パネル１６は、この装置に各種の指示を与えるための、ベンダー１１およびキーボード１２以外の操作ボタンや操作ダイヤル等を備えており、それらを操作することにより必要な情報をこの装置に入力することができる。この操作パネル１６では、ベンダー１１の操作により制御される楽音制御パラメータの指定も行なわれる。
【００１８】
また、表示器１７は、この装置の状態やこの装置に設定された各種データを表示するものである。
音源１８は、キーボード１２の演奏操作やベンダー１１の操作により生成された演奏情報を受信して演奏情報に対応した楽音信号を生成するものである。この音源１８で生成された楽音信号は、図示しないアンプを経由して、やはり図示しないスピーカに入力され、音響として空間に出力される。
【００１９】
図２は、図１にハードウェア構成を示す楽音制御パラメータ生成装置のＣＰＵで実行されるメインルーチンの概略フローチャートである。
図１に示す装置に電源が投入されると、先ず、この装置が電子楽器として機能するための初期化が行なわれる（ステップ２＿１）。次に、ベンダー１１から入力される位置データをモニタし、そのベンダー１１の操作方向、操作方向の変化、操作距離を検出してパラメータ値を生成する操作子操作処理が実行される（ステップ２＿２）。このステップ２＿２の操作子操作処理が本発明の特徴部分を構成している。詳細は後述する。その後、キーボード１２の各鍵に備えられたスイッチを走査して押鍵離鍵の有無を検出する押鍵離鍵処理が実行される（ステップ２＿３）。さらにその後、押鍵離鍵処理において押鍵もしくは離鍵が検出された場合にその押鍵ないし離鍵に対応する演奏情報を音源１８に送ってその押鍵に応じた発音ないしその離鍵に応じた消音を行なわせる発音消音処理が実行される（ステップ２＿４）。さらに、その他の処理、例えば操作パネル１６に備えられた各種操作ボタン等の検出処理、あるいは表示器１７への表示処理などが実行されて（ステップ２＿５）、再びステップ２＿２へ戻り、以下、この装置の電源が切られるまで、ステップ２＿２〜ステップ２＿５の処理を繰り返す。
【００２０】
図２に示す各ステップ２＿１〜２＿５の処理のうちステップ２＿２の操作子操作処理を除く各処理は、従来の一般的な電子楽器における対応する処理と同様であり、操作子操作処理を除く各処理についてのこれ以上の説明は省略し、以下ではステップ２＿２の操作子操作処理について説明する。
図３は、操作子操作処理の一形態を示すフローチャート、図４は、図３に示す処理の説明図である。図３に示すフローチャートには、本発明の第１の楽音制御パラメータ生成装置の一実施形態の特徴部分が含まれている。
【００２１】
ここでは先ず図４を参照して、図３のフローチャートで実行される操作子操作処理の概要について説明する。
図４の横軸はベンダー１１の操作位置に対応してそのベンダー１１から出力される位置データＸ、縦軸は、その位置データＸに基づいて生成されたパラメータ値である。このパラメータ値は、前述したように、操作パネル１６の操作によりベンダー１１に割り当てられた楽音制御パラメータ（例えば音高パラメータ、音量パラメータ、カットオフ周波数を表わすパラメータ等）のパラメータ値である。
【００２２】
この図４では、Ｘ≧０の範囲のみ示されているが、ベンダー１１は左右いずれにも傾けることができ、Ｘ＜０の範囲も存在するが、ここではＸ≧０の場合で代表させる。
ベンダー１１を中位位置（Ｘ＝０）からＸが正の方向に傾けると、パラメータ値Ｙは、カーブＡに沿って目標値（Ｘq ，Ｙq ）に向かう。ベンダー１１をＸが正の方向に最大限傾けると位置データＸ＝Ｘq となり、パラメータ値Ｙ＝Ｙq となる。
【００２３】
その後、ベンダー１１をＸ＝０に向かって戻すと、パラメータ値ＹはカーブＢに沿って変化する。ベンダー１１をそのままＸ＝０の中位位置まで戻すと、パラメータ値ＹはカーブＢ、およびカーブＢ’に沿って変化してＹ＝０に戻るが、ここではＸ＝Ｘp まで戻した時点で再びベンダー１１の操作方向を反転させたものとする。そのときパラメータ値Ｙは、Ｘ＝Ｘp のときのＹ＝Ｙp から、カーブＣに沿って変化する。
【００２４】
ここで、ベンダー１１から出力される位置データが所定値Ｘr だけ変化する毎に、ＵＰ操作（位置データＸが増加する方向へのベンダーの操作）の場合は、新たなパラメータ値Ｙn+1 を、更新前のパラメータ値Ｙn を用いて、例えば
Ｙn+1 ＝（Ｙq ＋Ｙn ）／２              ……（１）
のように更新すると、カーブＡないしカーブＣの軌跡が得られ、ＤＯＷＮ操作（位置データＸが減少する方向のベンダーの操作）の場合は、新たなパラメータ値Ｙn+1 を、例えば
Ｙn+1 ＝Ｙn ／２              ……（２）
のように更新するとカーブＢの軌跡が得られヒステリシスが実現する。
【００２５】
ここでは、図３に示す操作子操作処理によって図４に示すヒステリシスを実現している。
以下に、図３のフローチャート中に記入した記号について説明しておく。この中の一部は、図４中にも記入されている。
Ｘ    ：ベンダー１１の現在位置
Ｘr   ：パラメータの演算を１回行なう単位距離
Ｎnew ：現在の操作位置をＸr で正規化した値
Ｎold ：前回演算を行なったときの操作位置をＸr で正規化した値
Ａ    ：Ｎold −Ｎnew
ＵＰ＿ＤＯＷＮ：前回演算を行なったときにベンダー１１が「ＵＰ操作」であった（Ｘが増す方向に操作されていた）かＤＯＷＮ操作であった（Ｘが減少する方向に操作されていた）かを示すフラグ（ＵＰ操作：１，ＤＯＷＮ操作：０）
ｆ（ｘ）：（）内の変数ｘの整数値のみを得る関数
図３に示す操作子操作処理では、先ず現在の操作位置Ｘを演算を１回実行するための所定距離Ｘr で割り算した値の整数部分が求められ、Ｎnew に格納される（ステップ３＿１）。次に、前回ステップ３＿１で求められ、ステップ３＿１２でＮold に格納された値と、今回ステップ３＿１で求められた値との差分が演算され、Ａに格納される（ステップ３＿２）。そしてＡ＝０であるか否か、すなわち前回から今回までの間にベンダー１１が静止したまま（Ａ＝０）か動かされた（Ａ≠０）かが判定され（ステップ３＿３）、ベンダー１１が動かされていなかったとき（Ａ＝０のとき）は、このルーチンを抜け、図２に示すメインルーチンに戻る。Ａ≠０、すなわち、ベンダー１１が動かされていたときは、次に、ＵＰ＿ＤＯＷＮフラグの状態が調べられる（ステップ３＿４）。
【００２６】
ＵＰ＿ＤＯＷＮ＝０のとき、すなわち、前回ＤＯＷＮ操作（ベンダー１１から出力される位置データの値が減少する方向への操作）であったときは、ステップ３＿５に進み、Ａ＞０であるか否か、すなわち、今回はＵＰ操作である（Ａ＞０）か否かが判定される。Ａ＞０のとき、ＤＯＷＮ操作からＵＰ操作（ベンダー１１から出力される位置データの値が増加する方向への操作）へと操作方向が反転したことを意味し、ＵＰ＿ＤＯＷＮフラグにＵＰ操作であることを表わす１を格納し（ステップ３＿６）、ＵＰ操作に対応する上述の（１）式の演算を｜Ａ｜回行なう（ステップ３＿１）。その後、その演算結果を出力する（ステップ３＿１１）。このとき、その演算結果は消去せずに次の演算のために記憶しておく。Ｎnew がＮold に転記され（ステップ３＿１２）、メインルーチンに戻る。
【００２７】
ステップ３＿４でＵＰ＿ＤＯＷＮ＝０、すなわち前回はＤＯＷＮ操作であってステップ３＿５に進んでＡ＜０、すなわち今回もＤＯＷＮ操作であると判定されたときは、ステップ３＿１０に進み、ＤＯＷＮ操作に対応する演算（上述の（２）式の演算）を｜Ａ｜回行なって、ステップ３＿１１に進む。
ステップ３＿４でＵＰ＿ＤＯＷＮ＝１、すなわち前回ＵＰ操作であったときも同様であり、そのときにはステップ３＿８に進んでＡ＞０の否か、すなわち今回はＵＰ操作（Ａ＞０）であるかＤＯＷＮ操作（Ａ＜０）であるかが判定され、ＵＰ＿ＤＯＷＮ＝１であってＡ＜０のときは、ＵＰ操作からＤＯＷＮ操作に移ったことを意味し、ステップ３＿９に進んでＵＰ＿ＤＯＷＮに０を、ステップ３＿１０に進んでＤＯＷＮ操作に対応する（２）式の演算を｜Ａ｜回行ない、ステップ３＿１１に進む。
【００２８】
さらに、ステップ３＿８でＡ＞０と判定されたとき、すなわち、前回に引き続き今回もＵＰ操作が継続していると判定されたときはステップ３＿７に進み、ＵＰ操作に対応する（１）式の演算を｜Ａ｜回行ない、ステップ３＿１１に進む。
以上のようにして図４に示すようなヒステリシスが実現する。
尚、図３，図４を参照して説明した本発明の第１の楽音制御パラメータ生成装置の実施形態では、目標値（Ｘq ，Ｙq ）が設定されており、その目標値が演算に含まれている（（１）式参照）が、本発明の第１の楽音制御パラメータ生成装置では目標値を設定することは必ずしも必要ではなく、例えば以下に説明するように、目標値を設定せずにヒステリシスを実現することもできる。
【００２９】
ここでは、Ｙc を定数とし、ｎを、操作方向が変化してからの、パラメータ値更新の回数、すなわち
ｎ＝ｆ（｜Ｘ−Ｘp ｜／Ｘr ）        ……（３）
とする（Ｘp は前回操作方向が変化した時のＸの値）。
このとき、ＵＰ操作では、
・操作方向が反転した後最初に単位距離Ｘr だけ操作されたときに１つの前のパラメータ値にＹc ／２を加算して、新たなパラメータ値を求め、
・さらに単位距離Ｘr だけ操作された（合計２Ｘr 操作された）ときは１つ前のパラメータ値にＹc ／４を加算し、
・さらに単位距離Ｘr だけ操作されたとき（合計３Ｘr 操作されたとき）は１つ前のパラメータ値にＹc ／８を加算し、
……
・合計ｎＸr 操作されたときは、１つ前に操作方向が変化した時のパラメータ値にＹc ／２n を加算する。
【００３０】
一方、ＤＯＷＮ操作では、
・操作方向が反転した後最初に単位距離Ｘr だけ操作されたときに１つ前のパラメータ値からＹc ／２を減算して、新たなパラメータ値を求め、
・さらに単位距離Ｘr だけ操作された（合計２Ｘr 操作された）ときは１つ前のパラメータ値からＹc ／４を減算し、
・さらに単位距離Ｘr だけ操作された（合計３Ｘr 操作された）ときは１つ前のパラメータ値からＹc ／８を減算し、
……
・合計ｎＸr 操作されたときは１つ前のパラメータ値からＹc ／２n を減算する。
【００３１】
このような演算を行うことにより、目標値を設定することなくヒステリシスを実現することができる。
尚、Ｙc ／２，Ｙc ／４，…等、加減算に用いる値は、その都度計算する代わりに予めテーブルの形で記憶しておいてもよい。
次に図４を再度参照して、本発明の第２の楽音制御パラメータ生成装置の一実施形態の特徴部分について説明する。
【００３２】
ここでは、以下の記号を用いる。
0003801722.tif 000002
今、図４に示す矢印Ｂに沿って（Ｘ，Ｙ）が変化し、Ｘ＝Ｘp において、ベンダーがＤＯＷＮ操作からＵＰ操作に変更されたものとする。このときの位置データＸとパラメータ値Ｙを、この時点での基準値（Ｘp ，Ｙp ）とする。その後位置データＸが仮にＸ＝Ｘp ＋Ｘr まで変化した時のパラメータ値を（Ｙp ＋Ｙq ）／２とし、この（Ｘp ＋Ｘr ，（Ｙp ＋Ｙq ）／２）を参考値とする。基準値（Ｘp ，Ｙp ）と参考値（Ｘp ＋Ｘr ，（Ｙp ＋Ｙq ）／２）を通る直線の式を求めると、
Ｙ＝｛（Ｙq −Ｙp ）／（２・Ｘr ）｝・（Ｘ−Ｘp ）＋Ｙp   …（４）
となる。Ｘp ＜Ｘ＜Ｘp ＋Ｘr のとき、上記（４）式に現在位置Ｘを代入することによりパラメータ値Ｙが求められる。尚、Ｘ−Ｘp ＝Ｘc であるから、上記（４）式を変形し、
Ｙ＝｛（Ｙq −Ｙp ）／（２Ｘr ）｝・Ｘc ＋Ｙp             …（５）
を求めておき、０＜Ｘc ＜Ｘr のときにＸc を（５）式に代入してパラメータ値Ｙを求めてもよい。
【００３３】
Ｘp ＋Ｘr ≦Ｘ（Ｘr ≦Ｘc ）に至ったときは、それまでの参考値（Ｘp ＋Ｘr ，（Ｙp ＋Ｙq ）／２）を新たな基準値とし、すなわち、
Ｘp ←Ｘp ＋Ｘr
Ｙp ←（Ｙp ＋Ｙq ）／２
とし、この新たな基準値（Ｘp ，Ｙp ）に対し、新たな参考値を求め、上記と同様の演算を繰り返す。
【００３４】
操作方向が変化したときは、その変化後の目標値を設定し、同様の演算を行なう。
このように参考値を設定し補間演算を行うように構成すると、ベンダーの操作に応じてヒステリシスを持ったパラメータ値であって、しかもなめらかに変化するパラメータ値を求めることができる。
【００３５】
図５は、操作子操作処理の一形態を示すフローチャートである。このフローチャートには、本発明の第３の楽音制御パラメータ生成装置の一実施形態の特徴部分が含まれている。
ここでは、ＣＡＳＥ１〜ＣＡＳＥ４の４つの目標点が用意されている。
ＣＡＳＥ１：位置データＸの最大値Ｘmax と、そのときのパラメータ値Ｙmax からなる、Ｘ≧０かつＵＰ操作に対応する目標値（Ｘmax ，Ｙmax ）
ＣＡＳＥ２：Ｘ＜０かつＵＰ操作に対応する目標値（０，０）
ＣＡＳＥ３：Ｘ≧０かつＤＯＷＮ操作に対応する目標値（０，０）
ＣＡＳＥ４：位置データＸの負の最大値−Ｘmax とそのときのパラメータ値−Ｙmax からなる、Ｘ＜０かつＤＯＷＮ操作に対応する目標値（−Ｘmax ，−Ｙmax ）
図５に示す操作子操作処理では、まず、現在の操作位置データが、この図５に示す操作子操作処理が前回実行されたときの操作位置データ、すなわち、ステップ５＿１１で前回Ｘold に格納された位置データに等しいか否かが判定される。それらが等しいということは、ベンダーの操作位置が変化していないことを意味し、そのままメインルーチンに戻る。Ｘ≠Ｘold のときは、ベンダーが新たに操作されたことを意味し、ステップ５＿２に進む。ステップ５＿２では、Ｘ−Ｘold ≧０か否か、すなわち、ベンダーがＵＰ操作されたかＤＯＷＮ操作されたかが判定され、ＵＰ操作の場合は、ステップ５＿３に進み、ＤＯＷＮ操作の場合はステップ５＿１３に進む。以下では、まずＵＰ操作であった場合について説明する。ステップ５＿２でＵＰ操作であると判定されるとステップ５＿３に進み、ＵＰ操作であることを表わすフラグＵＰが、ＵＰ＝１であるか否かが判定される。ＵＰ＝１のときは、前回この図５に示す操作子操作のフローが動作したときもＵＰ操作であったことを意味し、ＵＰ≠１すなわちＵＰ＝０のときは、前回はＤＯＷＮ操作であったことを意味する。前回がＤＯＷＮ操作であったときは、ステップ５＿４に進み、現在の位置データＸが正の値であるか否かが判定される。Ｘ≧０のときは、ステップ５＿５に進み、Ｘ≧０およびＵＰ操作に対応したＣＡＳＥ１の目標値（Ｘmax ，Ｙmax ）が、後述する補間曲線設定（ステップ５＿９）のための目標値として設定される。
【００３６】
一方、ステップ５＿４において現在の位置データＸがＸ＜０であると判定されるとステップ５＿６に進み、補間曲線設定のための目標値としてＸ＜０およびＵＰ操作に対応する目標値（０，０）が設定される。
ステップ５＿７では、前回のＤＯＷＮ操作から今回ＵＰ操作に変化したことを受けてＤＯＷＮ操作であることをあらわすフラグＤＯＷＮに’０’を格納し、ＵＰ操作であることを表わすフラグＵＰに’１’を格納する。
【００３７】
ステップ５＿８では、前回のＤＯＷＮ操作から今回ＵＰ操作に変化したことから、現在の位置データＸおよび現在のパラメータ値Ｙが基準値（Ｘp ，Ｙp ）として設定され、ステップ５＿９では、補間曲線が設定され（詳細は後述する）、ステップ５＿１０では、その補間曲線に現在の位置データＸが代入されて、パラメータ値Ｙが求められ、そのパラメータ値Ｙが出力される。尚、上記のステップ５＿９を経由してステップ５＿１０に進んだ時は、ステップ５＿８でＸ，ＹをＸp ，Ｙp に代入しているため、ステップ５＿１０では、パラメータ値としてＹ＝Ｙp が求められることになる。
【００３８】
ステップ５＿３においてフラグＵＰ＝１であったとき、すなわち、ステップ５＿２で今回ＵＰ操作であると判定され、さらにステップ５＿３で前回もＵＰ操作であったと判定されると、ＵＰ操作が引き続いていることになり、ステップ５＿１２に進み、中立位置（位置データＸ＝０）であるか否かが判定される。
前回Ｘ＜０であってＵＰ操作が続いており、Ｘ＝０に至ったときは、ステップ５＿９における補間曲線設定のための目標値を、それまでのＣＡＳＥ２の目標値（０，０）からＣＡＳＥ１の目標値（Ｘmax ，Ｙmax ）に変更する必要があるからである。ステップ５＿１２において、中立位置（Ｘ＝０）であると判定されると、ステップ５＿５に進んでＣＡＳＥ１の目標値（Ｘmax ，Ｙmax ）が設定され、ステップ５＿１２において、中立位置ではない（Ｘ≠０）と判定されると、直接にステップ５＿１０に進み、既に設定されている補間曲線に現在の位置データＸが代入されてパラメータ値Ｙが求められ、その求められたパラメータ値Ｙが出力される。
【００３９】
次にステップ５＿２においてＤＯＷＮ操作であると判定された場合について説明する。ＤＯＷＮ操作の場合はＵＰ操作の場合と同様なのでＤＯＷＮ操作については簡単な説明にとどめる。
ステップ５＿２で今回の操作がＤＯＷＮ操作であると判定されると、ステップ５＿１３に進み、フラグＤＯＷＮが’１’であるか否か、すなわち、前回もＤＯＷＮ操作であったか否かが判定される。前回はＵＰ操作であって今回ＤＯＷＮ操作に変化した時は、ステップ５＿１４に進み、現在の位置データＸがＸ≧０であるかＸ＜０であるかが判定される。Ｘ≧０の時は、ステップ５＿１５に進み、Ｘ≧０かつＤＯＷＮ操作の場合の目標値（０，０）が設定される。一方、Ｘ＜０のときは、ステップ５＿１６に進み、Ｘ＜０かつＤＯＷＮ操作の場合の目標値（−Ｘmax ，−Ｙmax ）が選択される。ステップ５＿１７では、フラグＵＰに’０’，フラグＤＯＷＮに’１’が格納されて、ステップ５＿８に進む。ステップ５＿１３においてＤＯＷＮ＝１であったとき、すなわち前回ＤＯＷＮ操作であって（ステップ５＿２）かつ今回もＤＯＷＮ操作であったときはステップ５＿１８に進み、中立位置（Ｘ＝０）であるか否かが判定される。中立位置（Ｘ＝０）であったときは、ステップ５＿１６に進み、それまでの、Ｘ≧０かつＤＯＷＮ操作に対応する目標値（０，０）から、Ｘ＜０かつＤＯＷＮ操作に対する目標値（−Ｘmax ，−Ｙmax ）に変更される。ステップ５＿１８において中立位置ではない（Ｘ≠０）と判定されると、ステップ５＿１０に進み、既に設定されている補間曲線に現在の位置データＸが代入されてパラメータ値Ｙが求められ、その求められたパラメータ値Ｙが出力される。
【００４０】
図６は、図５のステップ５＿９における補間曲線の設定方法の一例を示す説明図である。
ここでは、補間曲線として、ステップ５＿８で設定した基準値（Ｘp ，Ｙp ）を頂点とし、ステップ５＿５，５＿６，５＿１５，５＿１６のいずれかで設定された目標値（Ｘq ，Ｙq ）を通る二次曲線を設定する。この二次曲線は、
Ｙ＝｛（Ｙq −Ｙp ）／（Ｘq −Ｘp ）2 ｝・（Ｘ−Ｘp ）2 ＋Ｙp …（６）
で表わされる。
【００４１】
ステップ５＿１０では、この（５）式に現在の位置データＸが代入され、パラメータ値Ｙが求められて出力される。
図７は、補間曲線として（６）式を用いた場合の、位置データＸの変化に対するパラメータ値Ｙの変化を示す図である。
Ｘ＝０を始点としてＵＰ操作が行われると、目標値が（Ｘmax ，Ｙmax ）に設定されることから、矢印Ａに沿ってパラメータ値Ｙが変化し、位置データＸがＸ＝Ｘmax まで進んだ後ＤＯＷＮ操作に転じると、今度は矢印Ｂに沿って（０，０）を目標値として進み、途中でＵＰ操作に切り替わると、矢印Ｃに沿って（Ｘmax ，Ｙmax ）を目標値として進み、途中でＤＯＷＮ操作に切り替わると、矢印Ｄに沿って（０，０）を目標値として進む。ここではＸ≧０の領域のみ示したが、Ｘ＜０の領域でも同様である。
【００４２】
なお、上記の実施形態では、二次曲線を用いた演算を行っているが、二次曲線に限定されず、三次以上のＮ次曲線を用いて演算を行なってもよい。この場合、Ｎ次曲線を規定するＮ＋１個のパラメータのうちＮ−１個のパラメータを定数として固定しておき、２つのパラメータのみ変数とし、基準値（Ｘp ，Ｙp ）および目標値（Ｘq ，Ｙq ）に応じてその変数を求めるようにすれば、上記と同様の処理が可能である。この場合、定数として固定しておくＮ個のパラメータを操作者が自由に設定することができるようにしておくことにより、ベンダーにいろいろな特性を持たせることが可能となる。
【００４３】
尚、図５〜図７を参照して説明した本発明の第３の楽音制御パラメータ生成装置の実施形態では、目標値（Ｘq ，Ｙq ）が設定されており、その目標値を用いて補間曲線を設定しているが、本発明の第３の楽音制御パラメータ生成装置では目標値を設定することは必ずしも必要ではなく、例えば以下に説明するように、目標値を設定せずにヒステリシスを実現することもできる。
【００４４】
いま、ベンダーの操作方向がＤＯＷＮ操作からＵＰ操作に変化した時に、その変化の時点での位置データＸとパラメータ値Ｙを基準値（Ｘp ，Ｙp ）とし、
Ｙ＝ａ（Ｘ−Ｘp ）2 ＋Ｙp                               …（７）
但し、ａは定数
を演算方法として設定する。
【００４５】
ベンダーの操作方向がＵＰ操作からＤＯＷＮ操作に変化した時は、その変化の時点の位置データＸとパラメータ値Ｙを基準値（Ｘp ，Ｙp ）とし、
Ｙ＝（Ｙp ／Ｘp ）・Ｘ                                  …（８）
を演算方法として設定する。
こうすることにより、ベンダー最大操作位置でのパラメータ値はベンダーの操作の道のりにより変化するが、ベンダーが中立位置（Ｘ＝０）に戻ったときはパラメータ値Ｙは必ずＹ＝０に戻る。
【００４６】
図８は、上記（７）式、（８）式を採用した時の信号データＸの変化に対するパラメータ値Ｙの変化を示す図である。
（Ｘ，Ｙ）＝（０，０）を始点としてＵＰ操作を行なうと、矢印Ａに沿って（７）式で求められる二次曲線上を進み、その途中でＤＯＷＮ操作に移ると矢印Ｂに沿って、（８）式で求められた直線上を、（０，０）に向かって進み、その途中でＵＰ操作に移ると、矢印Ｃに沿って、やはり（７）式で求められる二次曲線上を進み、その途中でＤＯＷＮ操作に移ると矢印Ｄに沿って、（８）式で求められる原点（０，０）を通る直線上を、（０，０）に向かって進む。
【００４７】
例えばこのように、本発明の第３の楽音制御パラメータ生成装置においても、目標値を設定することなくヒステリシスを描かせてもよい。
図９は、図５のステップ５＿９における補間曲線の設定方法のもう１つの例を示す説明図である。
ここでは、図９（Ａ）〜（Ｄ）に示すような補間曲線を予めテーブル化して格納しておく。そうしておいて、ステップ５＿９における目標値がＣＡＳＥ１〜ＣＡＳＥ４のいずれであるかに応じて、それぞれ図９（Ａ）〜（Ｄ）の補間曲線を用いる。その際、例えばＸ≧０及びＵＰ操作に対応する補間曲線（図９（Ａ））について説明すると、現在の位置データＸに対し、図９（Ａ）に示すグラフ上では、Ｘ軸上の、
Ｘs ＝｛Ｘmax ／（Ｘmax −Ｘp ）｝・（Ｘ−Ｘp ）          …（９）
の点の値Ｙs を読み取り、
Ｙ＝Ｙp ＋｛（Ｙmax −Ｙp ）／Ｙmax ｝・Ｙs             …（１０）
をパラメータ値Ｙとして出力すればよい。ＣＡＳＥ２〜ＣＡＳＥ４の目標値の場合も同様である。
【００４８】
この例に示すように、補間曲線をあらかじめテーブルとして持っておいてベンダーの操作方向が反転したときに設定される基準値（Ｘp ，Ｙp ）に応じて、そのテーブルとして持っておいた補間曲線を変形して用いてもよい。上記の説明では、（９）式、（１０）式が補間曲線を変形して用いることに相当する。
尚、図９には、４つの補間曲線が示されているが、その補間曲線を反転したり読み出し位置を反転することにより、１本の補間曲線で済ますことも可能である。
【００４９】
尚、上記本発明の第１〜第３のいずれにおいても、通常のベンダーのように単に操作子の位置データに応じた楽音制御パラメータ値を出力するモードと、上記のようにヒステリシスを持たせた楽音制御パラメータ値を出力するモードとを持っており、どちらかのモードを選択するようにしてもよい。これによれば、ヒステリシス特性でパラメータ制御を行なうか、操作子の位置データに応じた通常のパラメータ制御を行なうかを選択することができる。この場合モードの選択はフットペダルの操作で選択するようにしてもよいし、ベンダーの操作速度が所定の速度より遅い時には操作子の位置データに応じたパラメータ制御を行ない、操作速度は所定の速度より速い時にはヒステリシス特性でパラメータ制御をするようにしてもよい。
【００５０】
また、複数の出力特性を音色に関連づけて記憶手段に記憶しておき、選択された音色に基づいて出力特性を自動選択するようにしてもよい。これによれば、音色に適したヒステリシス特性を実現することができる。
また、出力された楽音制御パラメータ値に２次のデジタルフィルターをかけて楽音制御パラメータ値がオーバーシュートするようにしてもよいし、操作子からのアナログ信号にアナログフィルターをかけることによって楽音制御パラメータ値がオーバーシュートするようにしてもよい。
【００５１】
さらに予め、自動演奏装置の曲データの中にベンダーの出力特性を切り替えるデータ信号を記憶しておき、曲の進行に伴ってヒステリシス特性が変化するようにしてもよい。
また、上述の実施形態においては操作方向が２方向のベンダーについて説明してきたが、３方向以上の操作方向を有する操作子で楽音制御パラメータを制御してもよい。すなわち、例えば左右方向と上下方向とのいずれにも操作可能なベンダーを備え、左右方向の操作によりある１つのパラメータのパラメータ値を制御し、上下方向の操作により別の１つのパラメータのパラメータ値を制御してもよい。
【００５２】
さらに、例えば左右２方向の操作が可能なベンダーを用い、その左右方向の操作により複数のパラメータのパラメータ値を制御してもよい。そのときに各パラメータ毎に異なるヒステリシスカーブを採用してもよい。
【００５３】
【発明の効果】
以上説明したように、本発明の楽音制御パラメータ生成装置によれば、操作子の操作に対しヒステリシスを持ったパラメータ値が生成され、従来と比べ、一層、演奏の興味をそそる楽音制御パラメータ生成装置が構成される。
【図面の簡単な説明】
【図１】本発明の第１〜第３の楽音制御パラメータ生成装置に共通な電子楽器のハードウェア構成図である。
【図２】図１にハードウェア構成を示す楽音制御パラメータ生成装置のＣＰＵで実行されるメインルーチンの概略フローチャートである。
【図３】操作子操作処理の一形態を示すフローチャートである。
【図４】図３に示す処理の説明図である。
【図５】操作子操作処理の一形態を示すフローチャートである。
【図６】補間曲線の設定方法の一例を示す説明図である。
【図７】位置データＸの変化に対するパラメータ値Ｙの変化を示す図である。
【図８】位置データＸの変化に対するパラメータ値Ｙの変化を示す図である。
【図９】補間曲線の設定方法のもう１つの例を示す説明図である。
【符号の説明】
１１  ベンダー
１２  キーボード
１３  ＣＰＵ
１４  ＲＡＭ
１５  ＲＯＭ
１６  操作パネル
１７  表示器
１８  音源
１９  バス
【図１】
0003801722.tif 000003
【図２】
0003801722.tif 000004
【図３】
0003801722.tif 000005
【図４】
0003801722.tif 000006
【図５】
0003801722.tif 000007
【図６】
0003801722.tif 000008
【図７】
0003801722.tif 000009
【図８】
0003801722.tif 000010
【図９】
0003801722.tif 000011