JP3801722B2 - 楽音制御パラメータ生成装置 - Google Patents
楽音制御パラメータ生成装置 Download PDFInfo
- Publication number
- JP3801722B2 JP3801722B2 JP08401797A JP8401797A JP3801722B2 JP 3801722 B2 JP3801722 B2 JP 3801722B2 JP 08401797 A JP08401797 A JP 08401797A JP 8401797 A JP8401797 A JP 8401797A JP 3801722 B2 JP3801722 B2 JP 3801722B2
- Authority
- JP
- Japan
- Prior art keywords
- position data
- value
- parameter
- operation direction
- parameter value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、操作子から出力される、操作位置に応じた位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置に関し、詳細には、ヒステリシス特性を持ったパラメータ値を生成する楽音制御パラメータ生成装置に関する。
【0002】
【従来の技術】
従来、操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子、例えばベンダー等が楽音制御用に用いられている。以下、ベンダーを例として説明する。
ベンダーは、左右もしくは上下に操作することによって、当初は発音中の楽音の音高を自在に変化させる演奏操作子であったが、近年の電子楽器の技術拡大に伴い制御可能な楽音制御パラメータの数が増え、ベンダーに任意の楽音制御パラメータを割り当てて楽音を制御することのできる電子楽器も増えてきている。
【0003】
【発明が解決しようとする課題】
しかしながら、そのベンダーにどのような楽音制御パラメータの制御を割り当てた場合であっても、従来は、そのベンダーの操作位置とその割り当てられた楽音制御パラメータのパラメータ値は、1対1に対応づけられており、変化に乏しい楽音制御しか得ることができず、一層演奏の興趣をそそる操作子の登場が望まれている。この目的に適う手法の1つとしてベンダーの操作に対しヒステリシスをもったパラメータ値を生成することが考えられるが、具体的にどのようにすればヒステリシスを持たせることができるかが問題となる。
【0004】
本発明は、上記事情に鑑み、操作子の操作に対する生成される楽音制御のパラメータのパラメータ値との間にヒステリシスを持たせ、従来と比べ、さらに演奏の興味をそそる楽音制御パラメータ生成装置を提供するにあたり、ヒステリシスを持たせる具体的手法を提案することを目的とする。
【0005】
【課題を解決するための手段】
上記目的を達成する本発明の楽音制御パラメータ生成装置のうちの第1の楽音制御パラメータ生成装置は、操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、その操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
上記操作子から出力される位置データに基づいて、その操作子の、操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
過去に生成したパラメータ値、現在の操作方向、および現在の操作位置に応じたパラメータ値を求めるパラメータ値生成手段とを備えたことを特徴とする。
【0006】
本発明の第1の楽音制御パラメータ生成装置は、操作子の操作方向、操作方向の変化および現在の操作位置を検出し、過去に生成したパラメータ値、例えば具体的には直前に生成したパラメータ値と、現在の操作方向と、現在の操作位置とに基づいてパラメータ値を生成するものであるため、操作方向に応じて位置データの変化に対するパラメータ値の変化の軌跡を変えることができ、したがってヒステリシス特性を持った楽音制御パラメータ生成装置が実現する。
【0007】
ここで、上記本発明の第1の楽音制御パラメータ生成装置において、上記パラメータ値生成手段が、上記検出手段により上記操作子の操作方向の変化が検出されたことを受けて、操作方向が変化した後の操作方向に応じた、その操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段を有し、過去に生成したパラメータ値、現在の操作方向に応じた目標値、および現在の操作位置に応じたパラメータ値を求めるものであることが好ましい。
【0008】
上記目標値を設定すると、一層複雑な軌跡を描くパラメータ値を生成することができる。
また、上記目的を達成する本発明の第2の楽音制御パラメータ生成装置は、操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、その操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
上記操作子から出力される位置データに基づいて、その操作子の操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
上記検出手段により上記操作子の操作方向の変化が検出されたことを受けて、操作方向が変化した後の操作方向に応じた、その操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段と、
上記操作子が操作方向前方であって、かつ上記目標操作位置手前の参考操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる参考値を検出する参考値検出手段と、
上記操作子の過去の操作位置に対応する、位置データとパラメータ値とからなる基準値と、上記参考値との間を補間することにより、現在の操作位置に対応する位置データをパラメータ値に変換する補間手段とを備えたことを特徴とする。
【0009】
本発明の第2の楽音制御パラメータ生成装置は、上記目標値を設定するものであるため、本発明の第1の楽音制御パラメータ生成装置と同様複雑なヒステリシス軌跡を描くパラメータ値を生成することができ、しかも参考値を設定し補間演算によりパラメータを求めるものであるため、操作子の操作位置の変化に応じてなめらかに変化するパラメータ値を生成することができる。
【0010】
さらに、上記目的を達成する本発明の第3の楽音制御パラメータ生成装置は、操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、その操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
上記操作子から出力される位置データに基づいて、その操作子の操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
上記検出手段により操作方向の変化が検出されたことを受けて、操作方向が変化した時点の位置データとパラメータ値とからなる基準値と、操作方向が変化した後の操作方向とに基づいて、位置データからパラメータ値を求める演算方法を設定する演算方法設定手段と、
上記演算方法設定手段で設定された演算方法に基づいて、現在の位置データをパラメータ値に変換するパラメータ値生成手段とを備えたことを特徴とする。
【0011】
本発明の第3の楽音制御パラメータ生成装置は、操作子の操作方向の変化があったときにその操作方向が変化した時点の基準値と操作方向が変化した後の操作方向とに基づいて、位置データからパラメータ値を求める演算方向を設定するものであるため、前述の第1の楽音制御パラメータ生成装置および第2の楽音制御パラメータ生成装置と同様に、操作方向に応じて、位置データの変化の軌跡に対するパラメータ値の変化の軌跡を変えることができ、ヒステリシス特性を持った楽音制御パラメータ生成装置が実現する。
【0012】
ここで、上記本発明の第3の楽音制御パラメータ生成装置において、上記演算方法設定手段が、上記操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段を有し、上記初期値と、操作方向が変化した後の操作方向に応じた目標値とに基づいて、位置データからパラメータ値を求める演算方法を設定するものであることが好ましい。
【0013】
上記目標値を設定すると、上述した第1の楽音制御パラメータ生成装置において目標値を設定した場合、あるいは上述した第2の楽音制御パラメータ生成装置の場合と同様、一層複雑な軌跡を描くパラメータ値を生成することができる。
【0014】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
図1は、本発明の第1〜第3の楽音制御パラメータ生成装置に共通な電子楽器のハードウェア構成図である。
この楽音制御パラメータ生成装置には、ベンダー11,キーボード12,CPU13,RAM14,ROM15,操作パネル16,表示器17、および音源18が備えられており、それらはバス19を介して相互に接続されている。
【0015】
ベンダー11は、本発明にいう操作子の一例であり、左右いずれにも傾けることのできるレバーを備えられており、そのレバーから手を離すと、そのレバーは中位位置に復帰するように構成されている。このベンダー11からは、操作位置に応じた位置データが出力される。
キーボード12には、配列された複数の鍵(キー)が備えられており、それらの鍵の演奏操作に応じて押鍵情報、離鍵情報が出力される。
【0016】
CPU13は、RAM14を作業領域としてROM15に格納されたプログラムを実行するものであり、この装置全体の制御を司っている。
RAM14は、CPU13でプログラムが実行される際の作業領域や各種のデータを格納しておく読み書き自在なメモリである。
ROM15は、CPU13で実行されるプログラムやその他固定的に記憶しておくデータの記憶領域である。
【0017】
操作パネル16は、この装置に各種の指示を与えるための、ベンダー11およびキーボード12以外の操作ボタンや操作ダイヤル等を備えており、それらを操作することにより必要な情報をこの装置に入力することができる。この操作パネル16では、ベンダー11の操作により制御される楽音制御パラメータの指定も行なわれる。
【0018】
また、表示器17は、この装置の状態やこの装置に設定された各種データを表示するものである。
音源18は、キーボード12の演奏操作やベンダー11の操作により生成された演奏情報を受信して演奏情報に対応した楽音信号を生成するものである。この音源18で生成された楽音信号は、図示しないアンプを経由して、やはり図示しないスピーカに入力され、音響として空間に出力される。
【0019】
図2は、図1にハードウェア構成を示す楽音制御パラメータ生成装置のCPUで実行されるメインルーチンの概略フローチャートである。
図1に示す装置に電源が投入されると、先ず、この装置が電子楽器として機能するための初期化が行なわれる(ステップ2_1)。次に、ベンダー11から入力される位置データをモニタし、そのベンダー11の操作方向、操作方向の変化、操作距離を検出してパラメータ値を生成する操作子操作処理が実行される(ステップ2_2)。このステップ2_2の操作子操作処理が本発明の特徴部分を構成している。詳細は後述する。その後、キーボード12の各鍵に備えられたスイッチを走査して押鍵離鍵の有無を検出する押鍵離鍵処理が実行される(ステップ2_3)。さらにその後、押鍵離鍵処理において押鍵もしくは離鍵が検出された場合にその押鍵ないし離鍵に対応する演奏情報を音源18に送ってその押鍵に応じた発音ないしその離鍵に応じた消音を行なわせる発音消音処理が実行される(ステップ2_4)。さらに、その他の処理、例えば操作パネル16に備えられた各種操作ボタン等の検出処理、あるいは表示器17への表示処理などが実行されて(ステップ2_5)、再びステップ2_2へ戻り、以下、この装置の電源が切られるまで、ステップ2_2〜ステップ2_5の処理を繰り返す。
【0020】
図2に示す各ステップ2_1〜2_5の処理のうちステップ2_2の操作子操作処理を除く各処理は、従来の一般的な電子楽器における対応する処理と同様であり、操作子操作処理を除く各処理についてのこれ以上の説明は省略し、以下ではステップ2_2の操作子操作処理について説明する。
図3は、操作子操作処理の一形態を示すフローチャート、図4は、図3に示す処理の説明図である。図3に示すフローチャートには、本発明の第1の楽音制御パラメータ生成装置の一実施形態の特徴部分が含まれている。
【0021】
ここでは先ず図4を参照して、図3のフローチャートで実行される操作子操作処理の概要について説明する。
図4の横軸はベンダー11の操作位置に対応してそのベンダー11から出力される位置データX、縦軸は、その位置データXに基づいて生成されたパラメータ値である。このパラメータ値は、前述したように、操作パネル16の操作によりベンダー11に割り当てられた楽音制御パラメータ(例えば音高パラメータ、音量パラメータ、カットオフ周波数を表わすパラメータ等)のパラメータ値である。
【0022】
この図4では、X≧0の範囲のみ示されているが、ベンダー11は左右いずれにも傾けることができ、X<0の範囲も存在するが、ここではX≧0の場合で代表させる。
ベンダー11を中位位置(X=0)からXが正の方向に傾けると、パラメータ値Yは、カーブAに沿って目標値(Xq ,Yq )に向かう。ベンダー11をXが正の方向に最大限傾けると位置データX=Xq となり、パラメータ値Y=Yq となる。
【0023】
その後、ベンダー11をX=0に向かって戻すと、パラメータ値YはカーブBに沿って変化する。ベンダー11をそのままX=0の中位位置まで戻すと、パラメータ値YはカーブB、およびカーブB’に沿って変化してY=0に戻るが、ここではX=Xp まで戻した時点で再びベンダー11の操作方向を反転させたものとする。そのときパラメータ値Yは、X=Xp のときのY=Yp から、カーブCに沿って変化する。
【0024】
ここで、ベンダー11から出力される位置データが所定値Xr だけ変化する毎に、UP操作(位置データXが増加する方向へのベンダーの操作)の場合は、新たなパラメータ値Yn+1 を、更新前のパラメータ値Yn を用いて、例えば
Yn+1 =(Yq +Yn )/2 ……(1)
のように更新すると、カーブAないしカーブCの軌跡が得られ、DOWN操作(位置データXが減少する方向のベンダーの操作)の場合は、新たなパラメータ値Yn+1 を、例えば
Yn+1 =Yn /2 ……(2)
のように更新するとカーブBの軌跡が得られヒステリシスが実現する。
【0025】
ここでは、図3に示す操作子操作処理によって図4に示すヒステリシスを実現している。
以下に、図3のフローチャート中に記入した記号について説明しておく。この中の一部は、図4中にも記入されている。
X :ベンダー11の現在位置
Xr :パラメータの演算を1回行なう単位距離
Nnew :現在の操作位置をXr で正規化した値
Nold :前回演算を行なったときの操作位置をXr で正規化した値
A :Nold −Nnew
UP_DOWN:前回演算を行なったときにベンダー11が「UP操作」であった(Xが増す方向に操作されていた)かDOWN操作であった(Xが減少する方向に操作されていた)かを示すフラグ(UP操作:1,DOWN操作:0)
f(x):()内の変数xの整数値のみを得る関数
図3に示す操作子操作処理では、先ず現在の操作位置Xを演算を1回実行するための所定距離Xr で割り算した値の整数部分が求められ、Nnew に格納される(ステップ3_1)。次に、前回ステップ3_1で求められ、ステップ3_12でNold に格納された値と、今回ステップ3_1で求められた値との差分が演算され、Aに格納される(ステップ3_2)。そしてA=0であるか否か、すなわち前回から今回までの間にベンダー11が静止したまま(A=0)か動かされた(A≠0)かが判定され(ステップ3_3)、ベンダー11が動かされていなかったとき(A=0のとき)は、このルーチンを抜け、図2に示すメインルーチンに戻る。A≠0、すなわち、ベンダー11が動かされていたときは、次に、UP_DOWNフラグの状態が調べられる(ステップ3_4)。
【0026】
UP_DOWN=0のとき、すなわち、前回DOWN操作(ベンダー11から出力される位置データの値が減少する方向への操作)であったときは、ステップ3_5に進み、A>0であるか否か、すなわち、今回はUP操作である(A>0)か否かが判定される。A>0のとき、DOWN操作からUP操作(ベンダー11から出力される位置データの値が増加する方向への操作)へと操作方向が反転したことを意味し、UP_DOWNフラグにUP操作であることを表わす1を格納し(ステップ3_6)、UP操作に対応する上述の(1)式の演算を|A|回行なう(ステップ3_1)。その後、その演算結果を出力する(ステップ3_11)。このとき、その演算結果は消去せずに次の演算のために記憶しておく。Nnew がNold に転記され(ステップ3_12)、メインルーチンに戻る。
【0027】
ステップ3_4でUP_DOWN=0、すなわち前回はDOWN操作であってステップ3_5に進んでA<0、すなわち今回もDOWN操作であると判定されたときは、ステップ3_10に進み、DOWN操作に対応する演算(上述の(2)式の演算)を|A|回行なって、ステップ3_11に進む。
ステップ3_4でUP_DOWN=1、すなわち前回UP操作であったときも同様であり、そのときにはステップ3_8に進んでA>0の否か、すなわち今回はUP操作(A>0)であるかDOWN操作(A<0)であるかが判定され、UP_DOWN=1であってA<0のときは、UP操作からDOWN操作に移ったことを意味し、ステップ3_9に進んでUP_DOWNに0を、ステップ3_10に進んでDOWN操作に対応する(2)式の演算を|A|回行ない、ステップ3_11に進む。
【0028】
さらに、ステップ3_8でA>0と判定されたとき、すなわち、前回に引き続き今回もUP操作が継続していると判定されたときはステップ3_7に進み、UP操作に対応する(1)式の演算を|A|回行ない、ステップ3_11に進む。
以上のようにして図4に示すようなヒステリシスが実現する。
尚、図3,図4を参照して説明した本発明の第1の楽音制御パラメータ生成装置の実施形態では、目標値(Xq ,Yq )が設定されており、その目標値が演算に含まれている((1)式参照)が、本発明の第1の楽音制御パラメータ生成装置では目標値を設定することは必ずしも必要ではなく、例えば以下に説明するように、目標値を設定せずにヒステリシスを実現することもできる。
【0029】
ここでは、Yc を定数とし、nを、操作方向が変化してからの、パラメータ値更新の回数、すなわち
n=f(|X−Xp |/Xr ) ……(3)
とする(Xp は前回操作方向が変化した時のXの値)。
このとき、UP操作では、
・操作方向が反転した後最初に単位距離Xr だけ操作されたときに1つの前のパラメータ値にYc /2を加算して、新たなパラメータ値を求め、
・さらに単位距離Xr だけ操作された(合計2Xr 操作された)ときは1つ前のパラメータ値にYc /4を加算し、
・さらに単位距離Xr だけ操作されたとき(合計3Xr 操作されたとき)は1つ前のパラメータ値にYc /8を加算し、
……
・合計nXr 操作されたときは、1つ前に操作方向が変化した時のパラメータ値にYc /2n を加算する。
【0030】
一方、DOWN操作では、
・操作方向が反転した後最初に単位距離Xr だけ操作されたときに1つ前のパラメータ値からYc /2を減算して、新たなパラメータ値を求め、
・さらに単位距離Xr だけ操作された(合計2Xr 操作された)ときは1つ前のパラメータ値からYc /4を減算し、
・さらに単位距離Xr だけ操作された(合計3Xr 操作された)ときは1つ前のパラメータ値からYc /8を減算し、
……
・合計nXr 操作されたときは1つ前のパラメータ値からYc /2n を減算する。
【0031】
このような演算を行うことにより、目標値を設定することなくヒステリシスを実現することができる。
尚、Yc /2,Yc /4,…等、加減算に用いる値は、その都度計算する代わりに予めテーブルの形で記憶しておいてもよい。
次に図4を再度参照して、本発明の第2の楽音制御パラメータ生成装置の一実施形態の特徴部分について説明する。
【0032】
ここでは、以下の記号を用いる。
今、図4に示す矢印Bに沿って(X,Y)が変化し、X=Xp において、ベンダーがDOWN操作からUP操作に変更されたものとする。このときの位置データXとパラメータ値Yを、この時点での基準値(Xp ,Yp )とする。その後位置データXが仮にX=Xp +Xr まで変化した時のパラメータ値を(Yp +Yq )/2とし、この(Xp +Xr ,(Yp +Yq )/2)を参考値とする。基準値(Xp ,Yp )と参考値(Xp +Xr ,(Yp +Yq )/2)を通る直線の式を求めると、
Y={(Yq −Yp )/(2・Xr )}・(X−Xp )+Yp …(4)
となる。Xp <X<Xp +Xr のとき、上記(4)式に現在位置Xを代入することによりパラメータ値Yが求められる。尚、X−Xp =Xc であるから、上記(4)式を変形し、
Y={(Yq −Yp )/(2Xr )}・Xc +Yp …(5)
を求めておき、0<Xc <Xr のときにXc を(5)式に代入してパラメータ値Yを求めてもよい。
【0033】
Xp +Xr ≦X(Xr ≦Xc )に至ったときは、それまでの参考値(Xp +Xr ,(Yp +Yq )/2)を新たな基準値とし、すなわち、
Xp ←Xp +Xr
Yp ←(Yp +Yq )/2
とし、この新たな基準値(Xp ,Yp )に対し、新たな参考値を求め、上記と同様の演算を繰り返す。
【0034】
操作方向が変化したときは、その変化後の目標値を設定し、同様の演算を行なう。
このように参考値を設定し補間演算を行うように構成すると、ベンダーの操作に応じてヒステリシスを持ったパラメータ値であって、しかもなめらかに変化するパラメータ値を求めることができる。
【0035】
図5は、操作子操作処理の一形態を示すフローチャートである。このフローチャートには、本発明の第3の楽音制御パラメータ生成装置の一実施形態の特徴部分が含まれている。
ここでは、CASE1〜CASE4の4つの目標点が用意されている。
CASE1:位置データXの最大値Xmax と、そのときのパラメータ値Ymax からなる、X≧0かつUP操作に対応する目標値(Xmax ,Ymax )
CASE2:X<0かつUP操作に対応する目標値(0,0)
CASE3:X≧0かつDOWN操作に対応する目標値(0,0)
CASE4:位置データXの負の最大値−Xmax とそのときのパラメータ値−Ymax からなる、X<0かつDOWN操作に対応する目標値(−Xmax ,−Ymax )
図5に示す操作子操作処理では、まず、現在の操作位置データが、この図5に示す操作子操作処理が前回実行されたときの操作位置データ、すなわち、ステップ5_11で前回Xold に格納された位置データに等しいか否かが判定される。それらが等しいということは、ベンダーの操作位置が変化していないことを意味し、そのままメインルーチンに戻る。X≠Xold のときは、ベンダーが新たに操作されたことを意味し、ステップ5_2に進む。ステップ5_2では、X−Xold ≧0か否か、すなわち、ベンダーがUP操作されたかDOWN操作されたかが判定され、UP操作の場合は、ステップ5_3に進み、DOWN操作の場合はステップ5_13に進む。以下では、まずUP操作であった場合について説明する。ステップ5_2でUP操作であると判定されるとステップ5_3に進み、UP操作であることを表わすフラグUPが、UP=1であるか否かが判定される。UP=1のときは、前回この図5に示す操作子操作のフローが動作したときもUP操作であったことを意味し、UP≠1すなわちUP=0のときは、前回はDOWN操作であったことを意味する。前回がDOWN操作であったときは、ステップ5_4に進み、現在の位置データXが正の値であるか否かが判定される。X≧0のときは、ステップ5_5に進み、X≧0およびUP操作に対応したCASE1の目標値(Xmax ,Ymax )が、後述する補間曲線設定(ステップ5_9)のための目標値として設定される。
【0036】
一方、ステップ5_4において現在の位置データXがX<0であると判定されるとステップ5_6に進み、補間曲線設定のための目標値としてX<0およびUP操作に対応する目標値(0,0)が設定される。
ステップ5_7では、前回のDOWN操作から今回UP操作に変化したことを受けてDOWN操作であることをあらわすフラグDOWNに’0’を格納し、UP操作であることを表わすフラグUPに’1’を格納する。
【0037】
ステップ5_8では、前回のDOWN操作から今回UP操作に変化したことから、現在の位置データXおよび現在のパラメータ値Yが基準値(Xp ,Yp )として設定され、ステップ5_9では、補間曲線が設定され(詳細は後述する)、ステップ5_10では、その補間曲線に現在の位置データXが代入されて、パラメータ値Yが求められ、そのパラメータ値Yが出力される。尚、上記のステップ5_9を経由してステップ5_10に進んだ時は、ステップ5_8でX,YをXp ,Yp に代入しているため、ステップ5_10では、パラメータ値としてY=Yp が求められることになる。
【0038】
ステップ5_3においてフラグUP=1であったとき、すなわち、ステップ5_2で今回UP操作であると判定され、さらにステップ5_3で前回もUP操作であったと判定されると、UP操作が引き続いていることになり、ステップ5_12に進み、中立位置(位置データX=0)であるか否かが判定される。
前回X<0であってUP操作が続いており、X=0に至ったときは、ステップ5_9における補間曲線設定のための目標値を、それまでのCASE2の目標値(0,0)からCASE1の目標値(Xmax ,Ymax )に変更する必要があるからである。ステップ5_12において、中立位置(X=0)であると判定されると、ステップ5_5に進んでCASE1の目標値(Xmax ,Ymax )が設定され、ステップ5_12において、中立位置ではない(X≠0)と判定されると、直接にステップ5_10に進み、既に設定されている補間曲線に現在の位置データXが代入されてパラメータ値Yが求められ、その求められたパラメータ値Yが出力される。
【0039】
次にステップ5_2においてDOWN操作であると判定された場合について説明する。DOWN操作の場合はUP操作の場合と同様なのでDOWN操作については簡単な説明にとどめる。
ステップ5_2で今回の操作がDOWN操作であると判定されると、ステップ5_13に進み、フラグDOWNが’1’であるか否か、すなわち、前回もDOWN操作であったか否かが判定される。前回はUP操作であって今回DOWN操作に変化した時は、ステップ5_14に進み、現在の位置データXがX≧0であるかX<0であるかが判定される。X≧0の時は、ステップ5_15に進み、X≧0かつDOWN操作の場合の目標値(0,0)が設定される。一方、X<0のときは、ステップ5_16に進み、X<0かつDOWN操作の場合の目標値(−Xmax ,−Ymax )が選択される。ステップ5_17では、フラグUPに’0’,フラグDOWNに’1’が格納されて、ステップ5_8に進む。ステップ5_13においてDOWN=1であったとき、すなわち前回DOWN操作であって(ステップ5_2)かつ今回もDOWN操作であったときはステップ5_18に進み、中立位置(X=0)であるか否かが判定される。中立位置(X=0)であったときは、ステップ5_16に進み、それまでの、X≧0かつDOWN操作に対応する目標値(0,0)から、X<0かつDOWN操作に対する目標値(−Xmax ,−Ymax )に変更される。ステップ5_18において中立位置ではない(X≠0)と判定されると、ステップ5_10に進み、既に設定されている補間曲線に現在の位置データXが代入されてパラメータ値Yが求められ、その求められたパラメータ値Yが出力される。
【0040】
図6は、図5のステップ5_9における補間曲線の設定方法の一例を示す説明図である。
ここでは、補間曲線として、ステップ5_8で設定した基準値(Xp ,Yp )を頂点とし、ステップ5_5,5_6,5_15,5_16のいずれかで設定された目標値(Xq ,Yq )を通る二次曲線を設定する。この二次曲線は、
Y={(Yq −Yp )/(Xq −Xp )2 }・(X−Xp )2 +Yp …(6)
で表わされる。
【0041】
ステップ5_10では、この(5)式に現在の位置データXが代入され、パラメータ値Yが求められて出力される。
図7は、補間曲線として(6)式を用いた場合の、位置データXの変化に対するパラメータ値Yの変化を示す図である。
X=0を始点としてUP操作が行われると、目標値が(Xmax ,Ymax )に設定されることから、矢印Aに沿ってパラメータ値Yが変化し、位置データXがX=Xmax まで進んだ後DOWN操作に転じると、今度は矢印Bに沿って(0,0)を目標値として進み、途中でUP操作に切り替わると、矢印Cに沿って(Xmax ,Ymax )を目標値として進み、途中でDOWN操作に切り替わると、矢印Dに沿って(0,0)を目標値として進む。ここではX≧0の領域のみ示したが、X<0の領域でも同様である。
【0042】
なお、上記の実施形態では、二次曲線を用いた演算を行っているが、二次曲線に限定されず、三次以上のN次曲線を用いて演算を行なってもよい。この場合、N次曲線を規定するN+1個のパラメータのうちN−1個のパラメータを定数として固定しておき、2つのパラメータのみ変数とし、基準値(Xp ,Yp )および目標値(Xq ,Yq )に応じてその変数を求めるようにすれば、上記と同様の処理が可能である。この場合、定数として固定しておくN個のパラメータを操作者が自由に設定することができるようにしておくことにより、ベンダーにいろいろな特性を持たせることが可能となる。
【0043】
尚、図5〜図7を参照して説明した本発明の第3の楽音制御パラメータ生成装置の実施形態では、目標値(Xq ,Yq )が設定されており、その目標値を用いて補間曲線を設定しているが、本発明の第3の楽音制御パラメータ生成装置では目標値を設定することは必ずしも必要ではなく、例えば以下に説明するように、目標値を設定せずにヒステリシスを実現することもできる。
【0044】
いま、ベンダーの操作方向がDOWN操作からUP操作に変化した時に、その変化の時点での位置データXとパラメータ値Yを基準値(Xp ,Yp )とし、
Y=a(X−Xp )2 +Yp …(7)
但し、aは定数
を演算方法として設定する。
【0045】
ベンダーの操作方向がUP操作からDOWN操作に変化した時は、その変化の時点の位置データXとパラメータ値Yを基準値(Xp ,Yp )とし、
Y=(Yp /Xp )・X …(8)
を演算方法として設定する。
こうすることにより、ベンダー最大操作位置でのパラメータ値はベンダーの操作の道のりにより変化するが、ベンダーが中立位置(X=0)に戻ったときはパラメータ値Yは必ずY=0に戻る。
【0046】
図8は、上記(7)式、(8)式を採用した時の信号データXの変化に対するパラメータ値Yの変化を示す図である。
(X,Y)=(0,0)を始点としてUP操作を行なうと、矢印Aに沿って(7)式で求められる二次曲線上を進み、その途中でDOWN操作に移ると矢印Bに沿って、(8)式で求められた直線上を、(0,0)に向かって進み、その途中でUP操作に移ると、矢印Cに沿って、やはり(7)式で求められる二次曲線上を進み、その途中でDOWN操作に移ると矢印Dに沿って、(8)式で求められる原点(0,0)を通る直線上を、(0,0)に向かって進む。
【0047】
例えばこのように、本発明の第3の楽音制御パラメータ生成装置においても、目標値を設定することなくヒステリシスを描かせてもよい。
図9は、図5のステップ5_9における補間曲線の設定方法のもう1つの例を示す説明図である。
ここでは、図9(A)〜(D)に示すような補間曲線を予めテーブル化して格納しておく。そうしておいて、ステップ5_9における目標値がCASE1〜CASE4のいずれであるかに応じて、それぞれ図9(A)〜(D)の補間曲線を用いる。その際、例えばX≧0及びUP操作に対応する補間曲線(図9(A))について説明すると、現在の位置データXに対し、図9(A)に示すグラフ上では、X軸上の、
Xs ={Xmax /(Xmax −Xp )}・(X−Xp ) …(9)
の点の値Ys を読み取り、
Y=Yp +{(Ymax −Yp )/Ymax }・Ys …(10)
をパラメータ値Yとして出力すればよい。CASE2〜CASE4の目標値の場合も同様である。
【0048】
この例に示すように、補間曲線をあらかじめテーブルとして持っておいてベンダーの操作方向が反転したときに設定される基準値(Xp ,Yp )に応じて、そのテーブルとして持っておいた補間曲線を変形して用いてもよい。上記の説明では、(9)式、(10)式が補間曲線を変形して用いることに相当する。
尚、図9には、4つの補間曲線が示されているが、その補間曲線を反転したり読み出し位置を反転することにより、1本の補間曲線で済ますことも可能である。
【0049】
尚、上記本発明の第1〜第3のいずれにおいても、通常のベンダーのように単に操作子の位置データに応じた楽音制御パラメータ値を出力するモードと、上記のようにヒステリシスを持たせた楽音制御パラメータ値を出力するモードとを持っており、どちらかのモードを選択するようにしてもよい。これによれば、ヒステリシス特性でパラメータ制御を行なうか、操作子の位置データに応じた通常のパラメータ制御を行なうかを選択することができる。この場合モードの選択はフットペダルの操作で選択するようにしてもよいし、ベンダーの操作速度が所定の速度より遅い時には操作子の位置データに応じたパラメータ制御を行ない、操作速度は所定の速度より速い時にはヒステリシス特性でパラメータ制御をするようにしてもよい。
【0050】
また、複数の出力特性を音色に関連づけて記憶手段に記憶しておき、選択された音色に基づいて出力特性を自動選択するようにしてもよい。これによれば、音色に適したヒステリシス特性を実現することができる。
また、出力された楽音制御パラメータ値に2次のデジタルフィルターをかけて楽音制御パラメータ値がオーバーシュートするようにしてもよいし、操作子からのアナログ信号にアナログフィルターをかけることによって楽音制御パラメータ値がオーバーシュートするようにしてもよい。
【0051】
さらに予め、自動演奏装置の曲データの中にベンダーの出力特性を切り替えるデータ信号を記憶しておき、曲の進行に伴ってヒステリシス特性が変化するようにしてもよい。
また、上述の実施形態においては操作方向が2方向のベンダーについて説明してきたが、3方向以上の操作方向を有する操作子で楽音制御パラメータを制御してもよい。すなわち、例えば左右方向と上下方向とのいずれにも操作可能なベンダーを備え、左右方向の操作によりある1つのパラメータのパラメータ値を制御し、上下方向の操作により別の1つのパラメータのパラメータ値を制御してもよい。
【0052】
さらに、例えば左右2方向の操作が可能なベンダーを用い、その左右方向の操作により複数のパラメータのパラメータ値を制御してもよい。そのときに各パラメータ毎に異なるヒステリシスカーブを採用してもよい。
【0053】
【発明の効果】
以上説明したように、本発明の楽音制御パラメータ生成装置によれば、操作子の操作に対しヒステリシスを持ったパラメータ値が生成され、従来と比べ、一層、演奏の興味をそそる楽音制御パラメータ生成装置が構成される。
【図面の簡単な説明】
【図1】本発明の第1〜第3の楽音制御パラメータ生成装置に共通な電子楽器のハードウェア構成図である。
【図2】図1にハードウェア構成を示す楽音制御パラメータ生成装置のCPUで実行されるメインルーチンの概略フローチャートである。
【図3】操作子操作処理の一形態を示すフローチャートである。
【図4】図3に示す処理の説明図である。
【図5】操作子操作処理の一形態を示すフローチャートである。
【図6】補間曲線の設定方法の一例を示す説明図である。
【図7】位置データXの変化に対するパラメータ値Yの変化を示す図である。
【図8】位置データXの変化に対するパラメータ値Yの変化を示す図である。
【図9】補間曲線の設定方法のもう1つの例を示す説明図である。
【符号の説明】
11 ベンダー
12 キーボード
13 CPU
14 RAM
15 ROM
16 操作パネル
17 表示器
18 音源
19 バス
Claims (5)
- 操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、該操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
前記操作子から出力される位置データに基づいて、該操作子の、操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
前記検出手段により前記操作子の操作方向の変化が検出されたことを受けて、操作方向が変化した時点のパラメータ値を起点として、直前のパラメータ値に、操作方向が変化した後の位置データが単位変化量だけ変化するごとに、初回に単位変化量だけ変化したときに所定の初期値を、かつさらに単位変化量ずつ変化するごとに前回よりも小さな値を、操作方向が変化した後の操作方向に応じて加算もしくは減算することにより、新たなパラメータ値に更新するパラメータ値生成手段とを備えたことを特徴とする楽音制御パラメータ生成装置。 - 操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、該操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
前記操作子から出力される位置データに基づいて、該操作子の、操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
前記検出手段により前記操作子の操作方向の変化が検出されたことを受けて、操作方向が変化した後の操作方向に応じた、該操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段を有し、過去に生成したパラメータ値、現在の操作方向に応じた目標値、および現在の操作位置に応じたパラメータ値を求めるパラメータ値生成手段とを備えたことを特徴とする楽音制御パラメータ生成装置。 - 操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、該操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
前記操作子から出力される位置データに基づいて、該操作子の操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
前記検出手段により前記操作子の操作方向の変化が検出されたことを受けて、操作方向が変化した後の操作方向に応じた、該操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段と、前記操作子が操作方向前方であって、かつ前記目標操作位置手前の参考操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる参考値を検出する参考値検出手段と、
前記操作子の過去の操作位置に対応する、位置データとパラメータ値とからなる基準値と、前記参考値との間を補間することにより、現在の操作位置に対応する位置データをパラメータ値に変換する補間手段とを備えたことを特徴とする楽音制御パラメータ生成装置。 - 操作位置の連続的な変更が自在であって操作位置に応じた位置データを出力する操作子を備え、該操作子から出力される位置データに基づいて楽音制御用のパラメータのパラメータ値を生成して出力する楽音制御パラメータ生成装置において、
前記操作子から出力される位置データに基づいて、該操作子の操作方向、操作方向の変化、および現在の操作位置を検出する検出手段と、
前記検出手段により操作方向の変化が検出されたことを受けて、操作方向が変化した時点の位置データとパラメータ値とからなる基準値と、操作方向が変化した後の操作方向とに基づいて、位置データからパラメータ値を求める演算方法を設定する演算方法設定手段と、
前記演算方法設定手段で設定された演算方法に基づいて、現在の位置データをパラメータ値に変換するパラメータ値生成手段とを備えたことを特徴とする楽音制御パラメータ生成装置。 - 前記演算方法設定手段が、前記操作子が操作方向前方の所定の目標操作位置まで操作されたときに得られる、位置データとパラメータ値とからなる目標値を設定する目標値設定手段を有し、前記基準値と、操作方向が変化した後の操作方向に応じた目標値とに基づいて、位置データからパラメータ値を求める演算方法を設定するものであることを特徴とする請求項4記載の楽音制御パラメータ生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08401797A JP3801722B2 (ja) | 1997-04-02 | 1997-04-02 | 楽音制御パラメータ生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08401797A JP3801722B2 (ja) | 1997-04-02 | 1997-04-02 | 楽音制御パラメータ生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10282961A JPH10282961A (ja) | 1998-10-23 |
JP3801722B2 true JP3801722B2 (ja) | 2006-07-26 |
Family
ID=13818811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08401797A Expired - Fee Related JP3801722B2 (ja) | 1997-04-02 | 1997-04-02 | 楽音制御パラメータ生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3801722B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5428140B2 (ja) * | 2007-08-01 | 2014-02-26 | カシオ計算機株式会社 | パラメータ制御装置およびパラメータ制御処理プログラム |
JP5287118B2 (ja) * | 2008-10-09 | 2013-09-11 | ヤマハ株式会社 | ペダル装置及び電子鍵盤楽器 |
JP5879715B2 (ja) * | 2011-03-23 | 2016-03-08 | ヤマハ株式会社 | 電子楽器 |
-
1997
- 1997-04-02 JP JP08401797A patent/JP3801722B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10282961A (ja) | 1998-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3801722B2 (ja) | 楽音制御パラメータ生成装置 | |
JP3622275B2 (ja) | 自動演奏の制御データ入力方法および自動演奏装置 | |
US20210065669A1 (en) | Musical sound generation method, musical sound generation device, and recording medium | |
JP3008419B2 (ja) | 電子楽器 | |
JPH0968980A (ja) | 電子鍵盤楽器の音色制御装置 | |
JPH06324681A (ja) | 電子楽器の楽音生成装置 | |
JP4019932B2 (ja) | スペクトル設定装置およびスペクトル設定処理のプログラム | |
US6362410B1 (en) | Electronic musical instrument | |
JP2003058153A (ja) | 演奏教習装置及び演奏教習処理のプログラム | |
JPH0454610A (ja) | 出力制御装置 | |
US4854209A (en) | Electronic musical instrument with key scaling using multiple set points | |
JP2541867B2 (ja) | 楽音情報のベロシティ値変更装置 | |
JP4487743B2 (ja) | 電子楽器及び楽音パラメータ制御プログラム | |
JP2653363B2 (ja) | 電子楽器 | |
JP3287036B2 (ja) | タッチレスポンス装置 | |
JP2000315083A (ja) | 電子鍵盤楽器 | |
JP2811615B2 (ja) | 入力制御装置 | |
JP3438283B2 (ja) | 電子楽器 | |
JP3797356B2 (ja) | 電子楽器 | |
JP2640560B2 (ja) | エンベロープ信号発生装置 | |
JP3182098B2 (ja) | 電子楽器 | |
JP3387359B2 (ja) | パラメータ設定装置 | |
JP4055594B2 (ja) | パラメータ設定装置及びパラメータ設定処理プログラム | |
JP3343956B2 (ja) | 楽音制御装置 | |
JP2005242186A (ja) | 楽音制御パラメータ設定装置および楽音制御パラメータ設定プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040323 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060407 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060425 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060426 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |