JP3844149B2 - Parameter value correction output device - Google Patents

Parameter value correction output device Download PDF

Info

Publication number
JP3844149B2
JP3844149B2 JP08826097A JP8826097A JP3844149B2 JP 3844149 B2 JP3844149 B2 JP 3844149B2 JP 08826097 A JP08826097 A JP 08826097A JP 8826097 A JP8826097 A JP 8826097A JP 3844149 B2 JP3844149 B2 JP 3844149B2
Authority
JP
Japan
Prior art keywords
parameter
value
operator
parameter value
lower limit
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
Application number
JP08826097A
Other languages
Japanese (ja)
Other versions
JPH10282962A (en
Inventor
健二 野上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roland Corp
Original Assignee
Roland Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Roland Corp filed Critical Roland Corp
Priority to JP08826097A priority Critical patent/JP3844149B2/en
Publication of JPH10282962A publication Critical patent/JPH10282962A/en
Application granted granted Critical
Publication of JP3844149B2 publication Critical patent/JP3844149B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Safety Devices In Control Systems (AREA)
  • Circuit For Audible Band Transducer (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は例えば電子楽器等の電子機器におけるパラメータ等の調整に用いるパラメータ値修正出力装置に関する。
【0002】
従来、例えば電子楽器等において、既に設定されている何らかのパラメータ(例えばプリセットされているパラメータ)の値を修正したい場合には、そのパラメータを読み出してきて操作子を用いてその値を変えている。この操作子としては、操作のし易さから、スライド形や回転形の抵抗器(スイダやテンショメータ等)がよく用いられる。この場合に問題となるのは、修正の際における操作子のノブの操作位置と読み出してきたパラメータの値との対応関係である。すなわち、操作子は下限端と上限端の間でノブが動されて設定がされ、その操作位置に応じて操作子からの出力が決まる。一方、修正のために読み出してきたパラメータの値は、通常その読出時の操作子のノブの位置とは無関係であり、両者に対応関係がない。
【0003】
そこで、従来の一般的な方法としては、パラメータを読み出してきた後、その値を修正するために操作子を操作したら、その時点でその読み出したパラメータの値を操作子の操作位置に対応した値に切り換え、以降、操作子でその値を所望の値に調整している。しかし、この方法では、操作子を最初に操作した時点で、読み出してきたパラメータの値が操作子で決まる他の値に突然に変わってしまうので、パラメータの変化の仕方が把握しずらく、調整に違和感があるという問題がある。
【0004】
このような問題に対処する方法として、本出願人は特開平5−134666号公報で開示したパラメータ修正方法を提案している。この方法は、パラメータを読み出した時の操作子の操作位置に対して、読み出したパラメータの値をその時の操作子出力として割り当て、操作子を例えば下限方向に操作する場合には、パラメータ読出し時の操作子の操作位置と下限位置との間のストロークで操作子を操作することで、パラメータの値を読出し時の値と最小値との範囲で変化するように、操作子の操作位置とその出力との関係を修正するものである。
【0005】
例えば、0〜100の操作範囲で動く操作子で、0〜100の値の範囲のパラメータを調整する場合、読み出してきたパラメータの値が70、その読出し時の操作子の操作位置が30とすると、操作子を下限方向に操作する場合には、操作子の30〜0の操作範囲に対して、パラメータの値が70〜0の範囲で変化するように、対応関係を修正するものである。よって、操作子の操作位置が30の時にはパラメータ値として70が出力され、操作子の操作位置を15に操作した時にはパラメータ値として35が出力され、操作子の操作位置を0に操作した時にはパラメータ値として0が出力されるようになる。
【0006】
【発明が解決しようとする課題】
上述の方法によれば、読み出してきたパラメータの値とその時の操作子の操作位置との対応関係をとることで操作子の操作時にパラメータの値が突然に変化することを防止でき、これによりパラメータの変化の仕方の把握が容易になり、調整の違和感をなくせる。
【0007】
しかしながら、この方法の場合でも、読み出してきたパラメータの値とその読出時の操作子の操作位置とが大きく隔たっている場合には不自然さがまだ残る。例えば、上述の例では、読み出してきたパラメータの値が80、その時の操作子の操作位置が10であるとすると、操作子の0〜10の操作範囲に対してパラメータ値が0〜80の範囲にわたって変化することになり、操作子の操作位置が10の時にはパラメータ値は80、操作位置が5の時にはパラメータ値は40というように、操作子を少し動かしただけでパラメータ値が大きく変化してしまう。すなわち、操作子の操作量に対するパラメータ値の分解能が粗くなってしまうもので、精密な調整が難しくなり、不自然な操作感になる。
【0008】
本発明はかかる問題点に鑑みてなされたものであり、操作子の操作量に対するパラメータ値の分解能を高く保って精密な調整ができるようにするとともに、操作感に不自然さのないようにすることを目的とする。
【0009】
【課題を解決するための手段および作用】
上述の課題を解決するために、本発明のパラメータ値修正出力装置は、上下限位置間の操作位置に操作可能な操作子にパラメータを割り当てて、該パラメータの割り当て当初のパラメータ値を、該操作子の操作前の操作位置で出力するパラメータ値として対応させ、該パラメータの取り得る最小のパラメータ値を、該操作子の下限位置で出力するパラメータ値として対応させ、該パラメータの取り得る最大のパラメータ値を、該操作子の上限位置で出力するパラメータ値として対応させ、その対応関係に合わせて該操作子の操作後の操作位置に対応するパラメータ値を出力するようにしたパラメータ値修正出力装置であって、割り当て当初の操作子の位置から操作子の下限位置までの変化量に対する、割り当て当初のパラメータ値から該最小のパラメータ値までの変化量が所定値よりも大きい場合には、該操作子の下限位置に対応するパラメータ値を該最小のパラメータ値よりも大きい値に設定し、割り当て当初の操作子の位置から操作子の上限位置までの変化量に対する、割り当て当初のパラメータ値から該最大のパラメータ値までの変化量が所定値よりも大きい場合には、該操作子の上限位置に対応するパラメータ値を該最大のパラメータ値よりも小さい値に設定する設定手段と、割り当て当初の操作子の位置に対応するパラメータ値と、該設定手段により設定された該操作子の下限位置に対応するパラメータ値または該操作子の上限位置に対応するパラメータ値とに基づき、その対応関係に合わせて該操作子の操作後の操作位置に対応するパラメータ値を決定する決定手段とを備えた。これにより、操作子の操作量に対するパラメータの変化量を小さく抑えることができ、よって操作量に対する分解能を高く保つことができる。
【0013】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図1には本発明に係る一実施例としてのパラメータ値修正出力装置を搭載した電子楽器が示される。図1において、CPU(中央処理装置)1は電子楽器の全体の制御を行うものである。プログラムメモリ2はROMからなり、全体的動作制御のための制御プログラムおよびプログラム実行時に使用される各種データを格納する。ワークエリアメモリ3はRAMからなり、後述する各種レジスタ群の設定などワークエリアとして用いられる。パラメータメモリ4はRAMからなり、楽音発生に必要なデータ、例えば音量を制御するエンベロープデータ等を格納する。鍵盤装置5は演奏操作によって音高情報および音量情報等をCPU1へ入力するものである。表示器7はパラメータの値等を数値あるいはグラフィック等で表示してその調整などを行えるようにするものである。楽音発生装置8は波形メモリを読み出す方式等により楽音信号を形成するもの、音響装置9はアンプおよびスピーカ等からなり、楽音発生装置8からの楽音信号を放音する。
【0014】
操作子6はユーザが操作してパラメータ設定などを行うためのものであり、図中には楽音信号のエンベロープを設定するための操作子部分を示してあり、他の操作子については本発明の説明上必要がないので図示を省略してある。操作子6Aはスライド形の操作子であり、下限端LOWと上限端HIGHの間でノブを連続的にスライドして移動することで、そのノブの位置に対応した出力を取り出せるものである。
【0015】
6Bはパラメータ選択スイッチであり、楽音信号のエンベロープ波形を設定する際に当該エンベロープ波形のどの部分を調整するかを選択するものである。すなわち、パラメータ選択スイッチ6Bはエンベロープ波形を構成する4つのパラメータであるアタックタイムA、ディケイタイムD、サステインレベルS、リリースタイムRに対応した4つのスイッチ、すなわちアタックタイムスイッチ6Ba、ディケイタイムスイッチ6Bd、サステインレベルスイッチ6Bs、リリースタイムスイッチ6Brからなり、これらのスイッチを押すことで対応するパラメータをデータ修正のために選択することができる。これらのパラメータ選択スイッチ6Bで選択されたパラメータの既設定値(例えばプリセット値)は、表示器7に表示されるようになっており、その値は前述の操作子6Aを操作することで変化させることができる。
【0016】
また、パラメータ変更スイッチ6Cはパラメータ選択スイッチ6Bで選択し読み出したパラメータの値を、操作子6Aの操作位置とは無関係に増減させるためのものであり、パラメータ値を漸増させるためのアップスイッチ6Cu、漸減させるためのダウンスイッチ6Cdからなる。
【0017】
CPU1はこれらの操作子6のいずれが操作されたかを検出し、その操作情報に基づいて以下に詳述する初期化ルーチンと計算ルーチンを実行する。また、ワークエリア3内に設定されるレジスタ群はCPU1がプログラムメモリ2内に格納された制御プログラムを実行する際に発生する各種データを一時記憶するためのものである。本発明に関連するデータ(またはレジスタ)には以下のものがある。なお、以下の説明では、各レジスタの名称とその内容(データ)とは原則として同一のラベル名で表すものとする。
【0018】
(1)操作子6Aの現在位置PNOW :操作子6Aの現在の操作位置。
(2)操作子6Aの前回位置POLD :前回の計算サイクルでの操作子6Aの操作位置。
(3)操作子6Aの基準位置PBAS :操作子6Aのパラメータ読出時の操作位置またはその後の操作における操作方向が変化した時点の操作位置。
(4)操作子6Aの上限位置PHIGH:操作子6Aの操作の上限端HIGHの位置。
(5)操作子6Aの下限位置PLOW :操作子6Aの操作の下限端LOWの位置。
【0019】
(6)パラメータの現在値VNOW :操作子6Aの現在位置PNOW に対して割り当てられたパラメータの値。
(7)パラメータの基準値VBAS :操作子6Aの基準位置PBAS に対して割り当てられたパラメータの値。すなわちパラメータ読出時あるいは操作子6Aの操作方向が変化した時点のパラメータの値。
(8)パラメータの最大値VMAX :選択されたパラメータがとりうる最大値。
(9)パラメータの最小値VMIN :選択されたパラメータがとりうる最小値。
(10)パラメータの上限値VHIGH:操作子6Aの上限位置PHIGHに対して割り当てられたパラメータの値。
(11)パラメータの下限値VLOW :操作子6Aの下限位置PLOW に対して割り当てられたパラメータの値。
【0020】
(12)操作子の操作方向DRC:操作子6Aの操作方向であり、初期値は「0」で、「+1」で上限方向への操作を、「−1」で下限方向への操作を表す。(13)操作子6Aの基準位置比率RPOS :操作子6Aの全ストローク(PHIGH−PLOW )に対する基準位置PBAS の比率。すなわち、
POS =(PBAS −PLOW )/(P HIGH −P LOW
で求められる比率。
(14)パラメータの基準値比率RVAL :パラメータの全範囲(VMAX −VMIN )に対する基準値VBAS の比率。すなわち、
VAL =(VBAS −VMIN )/(VMAX −VMIN
で求められる比率。
(15)比率差DFF:基準値比率RVAL と基準位置比率RPOS との差。すなわち、上限方向への操作時には,
DFFHIGH=RPOS −RVAL
下限方向への操作時には、
DFFLOW =RVAL −RPOS
で求められる値。
【0021】
まず、この実施例装置の動作を概略的に説明する。この実施例装置では、操作子6中のパラメータ選択スイッチ6Ba、6Bd、6Bs、6BrによりアタックタイムA、ディケイタイムD、サステインレベルS、リリースタイムRのうちのいずれかのパラメータをデータ修正するために選択してデータを読み出し、その読み出したパラメータの値を表示器7に表示してこの表示をみながらその修正をする。このパラメータ読出時における操作子6Aの操作位置を基準位置PBAS とし、その基準位置PBAS に対して、読み出したパラメータの値VBAS を割り当てる。そして、操作子6Aを操作したときにその操作量に対してパラメータ値の変化が急激となるような場合、具体的には例えば上限方向への操作では前述の比率差DFFHIGH(=RPOS −RVAL )が正となる場合には、操作子6Aの上限位置PHIGHに対して割り当てるパラメータの値をパラメータの最大値VMAX とするのではなく、それよりも小さい値の上限値VHIGHにし、操作子6Aの上限方向への操作に対してパラメータ値が急激に変化しないようにする。すなわち、上記の場合には、操作子の基準位置PBAS から上限位置PHIGHへの操作に対して、パラメータは基準値VBAS から上限値VHIGH(<最大値VMAX )の範囲で変化することになる。
【0022】
そして、操作子6Aの操作方向を途中で変えた場合には、その変えた時の操作位置を新たな基準位置PBAS 、その時のパラメータ値を新たな基準値VBAS として、それらの値に基づいて今度は反転操作方向の下限値VLOW を設定しなおす。この操作を操作方向を変えることに繰り返すことにより、やがて、パラメータの上限値VHIGHがパラメータの最値VMAX に、パラメータの下限値VLOW がパラメータの最小値VMIN に一致していき、操作子6Aの全ストロークにパラメータの全範囲が対応するようになる。
【0023】
上限値VHIGHまたは下限値VLOW は種々の決め方が可能であり、要は、操作子6Aの操作量に対してパラメータの値が急激に変化しないように値を決めればよいのである。以下に2つの例を示すことにする。
【0024】
(1)1番目の方法は、操作子6Aの基準位置比率RPOS とパラメータの基準値比率RVAL の比率差DFFを求め、操作子6Aを例えば上限方向に操作する場合にはその上限方向ストローク(P HIGH −PBAS )に対してパラメータの変化量を(VMAX −VBAS )×(1−DFFHIGH)とし、下限方向に操作する場合にはその下限方向ストローク(PBAS −P LOW )に対してパラメータの変化量を(VBAS −VMIN )×(1−DFFLOW )とする方法である。
【0025】
図2を参照して具体例で説明する。いま、操作子6Aが「0〜1」の範囲で操作可能であり、パラメータが「0〜100」の範囲の値とし、読み出したパラメータの値が「10」、パラメータ読出時における操作子6Aの位置が「0.5」とする。よって基準位置PBAS は当初は「0.5」であり、図2(a)に示すように、この操作子6Aの現在位置PNOW (=PBAS =0.5)に対して割り当てられるパラメータ値は「10」となる。
【0026】
この状態から、操作子6Aを上限方向に操作するものとする。この場合、上限値は、

Figure 0003844149
で求める。つまり、操作子の基準位置比率RPOS は50%であり、パラメータの基準値比率RVAL は10%であるので、その比率差DFFHIGHは40%であり、これを最大値VMAX と基準値VBAS との差「90」に乗じて「36」を求め、これを最大値VMAX =100から減じることで、上限値VHIGH=64を決める。すなわち、操作子6Aの「0.5」から「1」への操作に対して、パラメータの値は「10」から「64」まで変化するようになり、パラメータ値は最大値VMAX =100までは変化しない。
【0027】
いま、操作子6Aの現在位置PNOW が、図2(b)に示すように0.5と1との中間の「0.75」である場合、上記の比率配分から分かるように、パラメータの現在値VNOW は「10+(64−10)÷2=37」となる。操作子6Aの現在値PNOW が図2(c)に示すように上限位置PHIGHの「1」まで操作された場合にはパラメータの値は上限値VHIGH=64となる。この位置では、操作子6Aは下限方向にだけ操作可能である。この下限方向への操作では、操作子6Aの操作量に対してパラメータ値の変化が急激とはならないので、この場合には下限値VLOW は前述の特開平5−134666号公報と同様に最小値VMIN に設定し、下限方向ストローク「1→0」に対してパラメータを「64→0」と変化させる。従って、図2(d)に示すように、操作子6Aを下限方向に現在位置PNOW =0.5まで操作した時のパラメータ値は「64〜0」のパラメータ変化範囲の半分の値、すなわち「32」となり、さらに図2(e)に示すように操作子6Aを下限位置PLOW =0まで操作した時のパラメータ値は「0」となる。以降、パラメータの上限値VHIGHはパラメータの最大値VMAX に一致し、パラメータの下限値VLOW はパラメータの最小値VMIN に一致するようになり、操作子6Aの全ストロークにパラメータの全範囲が対応するようになる。
【0028】
(2)2番目の方法は、上限方向への操作の場合には、比率差DFFHIGHが正であれば、上限値VHIGH
HIGH=VBAS +(1−RPOS )×(VMAX −VMIN
とし、下限方向への操作の場合には、比率差DFFLOW が正であれば、下限値VLOW
LOW =VBAS −RPOS ×(VMAX −VMIN
とする方法である。すなわち,基準値VBAS から、操作子6Aの基準位置比率RPOS に応じたパラメータ幅分を加算/減算して上限値VHIGH、下限値VLOW とするものである。
【0029】
図3を参照して具体例で説明する。前述同様、操作子6Aが「0〜1」の範囲で操作可能であり、パラメータが「0〜100」の範囲の値とし、読み出したパラメータの値が「10」、パラメータ読出時における操作子6Aの位置が「0.5」とする。よって基準位置PBAS は当初は「0.5」であり、図3(a)に示すように、この操作子6Aの現在位置PNOW (=PBAS =0.5)に対して割り当てられるパラメータ値は「10」となる。
【0030】
この状態から、操作子6Aを上限方向に操作するものとする。この場合、上限値VHIGHは、
HIGH=VBAS +(1−RPOS )×(VMAX −VMIN
=10+(1−0.5)×(100−0)=60
で求める。すなわち、操作子6Aの「0.5」から「1」への操作に対して、パラメータの値は「10」から「60」まで変化するようになり、最大値VMAX =100までは変化しない。
【0031】
いま、操作子6Aの現在位置PNOW が、図3(b)に示すように0.5と1の中間の「0.75」である場合、上記の比率配分から分かるように、パラメータの現在値VNOW は「10+(60−10)÷2=35」となる。操作子6Aの現在値PNOW が図3(c)に示すように上限位置PHIGHの「1」まで操作された場合にはパラメータの値は上限値VHIGH=60となる。この位置では、前述の1番目の方法の場合と同様に、操作子6Aは下限方向にだけ操作可能である。この下限方向への操作では、操作子6Aの操作量に対してパラメータ値の変化が急減とはならないので、この場合には下限値VLOW は前述の特開平5−134666号公報と同様に最小値VMIN に設定し、下限方向ストローク「1→0」に対してパラメータを「60→0」と変化させる。従って、図3(d)に示すように、操作子6Aを下限方向に現在位置PNOW =0.5まで操作した時のパラメータ値は「60〜0」のパラメータ変化範囲の半分の値、すなわち「30」となり、さらに図3(e)に示すように操作子6Aを下限位置PLOW =0まで操作した時のパラメータ値は「0」となる。以降、パラメータの上限値VHIGHはパラメータの最大値VMAX に一致し、パラメータの下限値VLOW はパラメータの最小値VMIN に一致するようになり、操作子6Aの全ストロークにパラメータの全範囲が対応するようになる。
【0032】
以下、フローチャートを参照して本発明の実施例装置の詳細な動作を説明する。まず初めに、上述の(1)の方法により上限値VHIGHと下限値VLOW を決める実施例について説明する。
操作子6のいずれかが操作されると、CPU1はこれらの操作子6のいずれが操作されたかを検出し、その操作情報に基づいて以下に詳述する初期化ルーチンあるいは計算ルーチンを実行する。
【0033】
図4には初期化ルーチンのフローチャートが示される。この初期化ルーチンはパラメータ選択スイッチ6Bが操作されてパラメータが選択されることで、操作子6Aに割り当てるパラメータの種類が変更された場合に実行される。この初期化ルーチンにおいては、操作子の操作方向DRCを「0」とし、操作子6Aの現在の位置を前回位置POLD とし、選択されたパラメータの最小値と最大値をプログラムメモリ2から読み出してそれぞれ最小値VMIN と最大値VMAX とする。さらに、読み出したパラメータの値をパラメータの現在値VNOW とする。
【0034】
図5には計算ルーチンのフローチャートが示される。この計算ルーチンはパラメータの上限値VHIGHと下限値VLOW 、基準値VBAS などを算出し、これらの値に基づいて操作子6Aの現在位置PNOW に割り当てるパラメータの現在値VNOW を計算し出力するための処理であり、操作子6Aが操作されたとき、あるいは一定周期毎たとえば図示しないインターバルタイマにより発生されるインターバルクロックがCPU1に到来する毎に実行される。
【0035】
まず、操作子6Aの現在の操作位置を現在位置PNOW とし(ステップS1)、この現在位置PNOW が操作子6Aの前回位置POLD と同じか否かを判定する(ステップS2)。同じである場合には、操作子6Aがまだ操作されていないことを意味するので、この計算ルーチンを終了する。この場合、パラメータ値は変更されない。
【0036】
操作子6Aの現在位置PNOW と前回位置POLD が異なる場合は(ステップS2)、パラメータ選択後から最初にこのルーチンが実行されるまでの間あるいはこのルーチンが前回実行されてから今回実行されるまでの間に前回操作子6Aが操作されたことを意味する。この場合、現在のパラメータの値が現在値VNOW に等しいかを判定する(ステップS3)。この処理は、パラメータ選択スイッチ6Bで選択したパラメータの値を操作子6Aではなくパラメータ変更スイッチ6Cで変更した場合に、その変更後のパラメータ現在値が初期化ルーチンでセットしたパラメータ現在値VNOW と不一致となるので、不一致であった場合に両者を一致させるためのものであり、不一致であった場合には操作方向DRCを「0」にするとともに、その不一致であったパラメータの現在値を現在値VNOW にセットして両者を一致させる(ステップS4)。従って、ステップS3で両者が一致している場合にはステップS4の処理は飛び越す。
【0037】
次いで、操作子6Aの現在位置PPOS と前回位置POLD を比較する(ステップS5)。現在位置PPOS <前回位置POLD であれば操作子6Aは下限方向に、現在位置PPOS ≧前回位置POLD であれば上限方向に操作されていると判断される。
【0038】
下限方向に操作されていると判断された場合には、さらに操作方向DRCが「−1」かを判定する(ステップS6)。操作方向DRCが「−1」とは前回の計算サイクルにおいて操作子6Aが下限方向へ操作されていたことを意味するから、操作子6Aが前回に引き続いて下限方向に操作され続けていることを意味し、一方、操作方向DRCが「−1」でないとは前回の操作方向が停止(DRC=0)あるいは上限方向(DRC=1)であり、これに対して今回の操作方向が下限方向に変わったことを意味する。このように、操作方向が変わった場合には以下の各種データの再計算を行い、下限値VLOW の設定を行う。
【0039】
すなわち、
・操作方向DRCを「−1」にし、
・操作子6Aの前回位置POLD の値を基準位置PBAS とし、
・パラメータの現在値VNOW の値を基準値VBAS とし、
・操作子6Aの基準位置比率RPOS を、
POS =(PBAS −P LOW )/(P HIGH −P LOW
で求め、
・パラメータの基準値比率RVAL を、
VAL =(VBAS −VMIN )/(VMAX −VMIN
で求め、
・比率差DFFLOW を、
DFFLOW =RVAL −RPOS
で求める(ステップS7)。
【0040】
そして、比率差DFFLOW が0より大きいか判定する(ステップS8)。0以下の場合には、操作子6Aの下限方向ストローク(すなわち、PBAS →PLOW のストローク)に対してパラメータの変化量(すなわち、VBAS →VMIN の変化量)が小さいことを意味しており、この場合には、操作子6Aの操作量に対してパラメータが急激に変化する恐れはないので、操作子6Aの下限位置PLOW に割り当てるパラメータの下限値VLOW をパラメータの最小値VMIN の値とする(ステップS10)。
【0041】
一方、比率差DFFLOW が0より大きい場合(ステップS8)、操作子6Aの操作量に対してパラメータが急激に変化する恐れがあることを意味しており、この場合には下限値VLOW をパラメータの最小値VMIN の値よりも大きい値とする(ステップS9)。この下限値VLOW は、
LOW =DFFLOW ×VBAS +(1−DFFLOW )×VMIN
により求める。
【0042】
この下限値VLOW の設定が終了した後、あるいは前出のステップS6で操作方向が変わってないと判定された時は、操作子6Aの現在位置PNOW に割り当てられるパラメータの現在値VNOW を、以下の計算式により求める。
NOW ={VBAS ×(PNOW −P LOW )+VLOW ×(PBAS −PNOW )}/(PBAS −P LOW
【0043】
一方、操作子6Aの現在位置PPOS と前回位置POLD を比較するステップS5において、現在位置PPOS ≧前回位置POLD すなわち上限方向に操作されていると判断された場合には、さらに操作方向DRCが「1」かを判定する(ステップS12)。この判定の意味は前述のステップS8と同様であり、操作方向DRCが「1」であれば操作子6Aが前回に引き続いて上限方向に操作され続けており、「1」でなければ今回の操作方向が上限方向に変わったものであることを意味し、操作方向が変わった場合には、上限値VHIGHの設定を行う。
【0044】
すなわち、
・操作方向DRCを「1」にし、
・操作子6Aの前回位置POLD の値を基準位置PBAS とし、
・パラメータの現在値VNOW の値を基準値VBAS とし、
・操作子6Aの基準位置比率RPOS を、
POS =(PBAS −P LOW )/(P HIGH −P LOW
で求め、
・パラメータの基準値比率RVAL を、
VAL =(VBAS −VMIN )/(VMAX −VMIN
で求め、
・比率差DFFHIGHを、
DFFHIGH=RPOS −RVAL
で求める(ステップS13)。
【0045】
そして、比率差DFFHIGHが0より大きいか判定する(ステップS14)。0以下の場合には、操作子6Aの上限方向ストローク(すなわち、PBAS →PHIGHのストローク)に対してパラメータの変化量(すなわち、VBAS →VMAX の変化量)が小さいことを意味しており、この場合には、操作子6Aの操作量に対してパラメータが急激に変化する恐れはないので、操作子6Aの上限位置PHIGHに割り当てるパラメータの上限値VHIGHをパラメータの最大値VMAX の値とする(ステップS16)。
【0046】
一方、比率差DFFHIGHが0より大きい場合(ステップS14)、操作子6Aの操作量に対してパラメータが急激に変化する恐れがあることを意味しており、この場合には上限値VHIGHをパラメータの最大値VMAX の値よりも小さい値とする(ステップS15)。この上限値VHIGHは、
HIGH=DFFHIGH×VBAS +(1−DFFHIGH)×VMAX
により求める。
【0047】
この上限値VHIGHの設定が終了した後、あるいは前出のステップS12で操作方向が変わってないと判定された時は、操作子6Aの現在位置PNOW に割り当てられるパラメータの現在値VNOW を、以下の計算式により求める。
NOW ={VBAS ×(P HIGH −PNOW )+VHIGH×(PNOW −PBAS )}/(P HIGH −PBAS
【0048】
この後、操作子6Aの現在位置PNOW を前回位置POLD とし、パラメータの現在値VNOW の値を操作子6Aから現在出力されるパラメータの値とする(ステップS18)。
【0049】
次に、前述の(2)の方法により上限値VHIGHと下限値VLOW を決める実施例について説明する。図6はこの場合の計算ルーチンを示すフローチャートである。初期化ルーチンは前述の図のものと同じである。図のフローチャートが1番目の実施例の図のフローチャートと相違するところは、ステップS9とステップS15の処理であり、その他のステップは同じものである。すなわち、この実施例では、操作子6Aの操作が下限方向に変化した際に求める下限値VLOW は、
LOW =VBAS −RPOS ×(VMAX −VMIN
であり(ステップS9’)、一方、操作子6Aの操作が上限方向に変化した際に求める上限値VHIGHは、
HIGH=VBAS +(1−RPOS )×(VMAX −VMIN
であり(ステップS15’)、これにより前述の方法(2)で説明したような操作子6Aの操作に対するパラメータの変化を得ることができる。
【0050】
以上の実施例は、基準位置PBAS を、パラメータ読出時の操作子6Aの位置とその後の操作方向が反転した時の操作子6Aの位置として、それぞれ上限値VHIGH、下限値VLOW を計算したが、本発明はこれに限られない。例えば、前述の特開平5−134666号公報に開示されているように、この基準位置PBAS として前回の操作位置POLD を用い、常時、上限値VHIGHと下限値VLOW を計算し直し、それに応じてパラメータの現在値を求めるものであってもよい。
【0051】
図7は上記の前回位置POLD を基準位置PBAS とする場合の実施例のフローチャートであり、前述の方法(2)を用いて上限値VHIGHと下限値VLOW を計算するものである。この図の実施例のフローチャートが図6の実施例のフローチャートと相違する点は、図6のフローチャートにおける操作方向DRCにより処理を変えるステップS6とS12を削除し、これに伴って、ステップS4でDRC=0とする処理を削除し、またステップS7とステップS13における操作方向DRCの設定処理(ステップS7でのDRC=−1、ステップS13でのDRC=1)をなくしていることであり、その他のステップは同じものである。
【0052】
図8は上記の前回位置POLD を基準位置PBAS とする場合の実施例のフローチャートであり、前述の方法(1)を用いて上限値VHIGHと下限値VLOW を計算するものである。この図の実施例のフローチャートが図5の実施例のフローチャートと相違する点は、図5のフローチャートにおける操作方向DRCにより処理を変えるステップS6とS12を削除し、これに伴って、ステップS4でDRC=0とする処理を削除し、またステップS7とステップS13における操作方向DRCの設定処理(ステップS7でのDRC=−1、ステップS13でのDRC=1)をなくしていることであり、その他のステップは同じものである。なお、図4の初期化ルーチンにおいても、操作方向DRCの初期設定(DRC=0)は削除する。
【0053】
以上に述べたものの他にも、本発明においては他の種々の実施形態が可能である。例えば、上述の実施例では操作子の操作量に対してパラメータの変化量が急激になるか否かを、比率差DFFHIGHまたはDFFLOW が0より大きいか否かで判定したが、もちろんこれに限らず、0以上の所定値以上か否かで判定するよう構成することもでき、これによりパラメータの変化量がより急激になる時にだけ、上限値VHIGHまたは下限値VLOW を最大値VMAX 以下の値または最小値VMIN 以上の値に設定して、パラメータの急激な変化を抑えるようにすることができる。
【0054】
また、下限値VLOW または上限値VHIGHの計算方法は上述の実施例のものに限られるものではなく、要は、操作子の操作量に対してパラメータの変化量が急激にならないように、下限値については最小値以上のある値、上限値については最大値以下のある値にすればよい。例えば、前述の実施例におけるステップS9またはステップS15の計算を行う時に、比率差DFFLOW またはDFFHIGHに所定の係数αを乗算して得た値を新たな比率差DFFLOW またはDFFHIGHとしてそのステップの計算をするようなものであってもよい。
【0055】
また、上述の実施例では、複数種類のパラメータの中からいずれかをパラメータ値修正用の操作子6Aに割り当ててその値を修正する場合に関して説明したが、これに限られるものではなく、同じ種類のパラメータの値を複数種類プリセットしておき、その中から選択したものをパラメータ値修正用の操作子6Aに割り当ててその値を修正する場合にも、本発明を適用できる。
また、実施例に示された計算式の計算をするにあたって、計算手順などを変形して実質的に同じ計算を行うものも本発明の範囲に含まれる。
【0056】
また、図7または図8の実施例では、基準値VBAS を前回値VOLD としたが、これに限らず、前々回の値を基準値VBAS としたり、前回値と前々回値の平均値を基準値VBAS としたりすることも可能である。
【0057】
【発明の効果】
以上に説明したように、本発明によれば、操作子を少し動かしただけでパラメータ値が大きく変化してしまう、すなわち操作子の操作量に対するパラメータ値の分解能が粗くなってしまうことを防止でき、これにより精密な調整が可能になり、また操作子の操作感を自然なものにできる。
【図面の簡単な説明】
【図1】本発明に係る一実施例としてのパラメータ値修正出力装置を搭載した電子楽器の全体構成を示す図である。
【図2】実施例装置における方法(1)により決定された上下限値に基づき操作子の操作位置に対応して出力されるパラメータ値の変化の様子を示す図である。
【図3】実施例装置における方法(2)により決定された上下限値に基づき操作子の操作位置に対応して出力されるパラメータ値の変化の様子を示す図である。
【図4】実施例装置における初期化ルーチンのフローチャートである。
【図5】実施例装置における方法(1)に従う計算ルーチンのフローチャートである。
【図6】実施例装置における方法(2)に従う計算ルーチンのフローチャートである。
【図7】他の実施例装置における方法(2)に従う計算ルーチンのフローチャートである。
【図8】他の実施例装置における方法(1)に従う計算ルーチンのフローチャートである。
【符号の説明】
1 CPU(中央処理装置)
2 プログラムメモリ
3 ワークエリアメモリ
4 パラメータメモリ
5 鍵盤装置
6 操作子
6A スライド形操作子
6B パラメータ選択スイッチ
6C パラメータ変更スイッチ
7 表示器
8 楽音発生装置
9 音響装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a parameter value correction output device used for adjusting parameters and the like in an electronic apparatus such as an electronic musical instrument.
[0002]
Conventionally, for example, in an electronic musical instrument or the like, when it is desired to correct the value of some parameter that has already been set (for example, a preset parameter), the parameter is read and changed using an operator. For ease of operation, this controller is a slide-type or rotary-type resistor (spindle).LaIda andPoA tension meter or the like is often used. In this case, the problem is the correspondence between the operation position of the knob of the operating element at the time of correction and the read parameter value. That is, the operator is set by moving the knob between the lower limit end and the upper limit end, and the output from the operator is determined according to the operation position. On the other hand, the parameter values read out for correction are usually irrelevant to the position of the knob of the operating element at the time of reading, and there is no corresponding relationship between them.
[0003]
Therefore, as a conventional general method, after the parameter is read out, if the operator is operated to correct the value, the value of the read parameter at that time corresponds to the operation position of the operator. Thereafter, the value is adjusted to a desired value by the operation element. However, with this method, when the operator is first operated, the read parameter value suddenly changes to another value determined by the operator, making it difficult to grasp how the parameter changes. There is a problem that there is a sense of incongruity.
[0004]
As a method for coping with such a problem, the present applicant has proposed a parameter correction method disclosed in Japanese Patent Laid-Open No. 5-134666. This method assigns the read parameter value to the operation position of the operation element at the time of reading the parameter as the operation element output at that time, and when operating the operation element in the lower limit direction, for example, By operating the operation element with the stroke between the operation position and the lower limit position of the operation element, the operation position of the operation element and its output are changed so that the parameter value changes in the range between the read value and the minimum value. It is intended to correct the relationship.
[0005]
For example, when adjusting a parameter in the range of 0 to 100 with an operator that moves in an operation range of 0 to 100, if the read parameter value is 70 and the operation position of the operator at the time of reading is 30, When operating the operation element in the lower limit direction, the correspondence relationship is corrected so that the parameter value changes in the range of 70 to 0 with respect to the operation range of 30 to 0 of the operation element. Therefore, 70 is output as the parameter value when the operation position of the operation element is 30, 35 is output as the parameter value when the operation position of the operation element is operated to 15, and the parameter value is output when the operation position of the operation element is operated to 0. 0 is output as the value.
[0006]
[Problems to be solved by the invention]
According to the above-described method, by taking the correspondence between the read parameter value and the operation position of the operator at that time, the parameter value can be prevented from changing suddenly when the operator is operated. It becomes easy to understand how to change and eliminate the uncomfortable feeling of adjustment.
[0007]
However, even in this method, unnaturalness still remains when the read parameter value and the operation position of the operator at the time of reading are largely separated. For example, in the above example, assuming that the read parameter value is 80 and the operation position of the operator at that time is 10, the parameter value ranges from 0 to 80 with respect to the operation range of 0 to 10 of the operator. When the operation position of the operation element is 10, the parameter value is 80, and when the operation position is 5, the parameter value is 40. The parameter value changes greatly even if the operation element is moved a little. End up. That is, the resolution of the parameter value with respect to the operation amount of the operation element becomes coarse, and it becomes difficult to perform precise adjustment, resulting in an unnatural operation feeling.
[0008]
The present invention has been made in view of such a problem, and enables high-precision adjustment while maintaining a high resolution of the parameter value with respect to the operation amount of the operation element, and also makes the operation feeling unnatural. For the purpose.
[0009]
[Means and Actions for Solving the Problems]
In order to solve the above-described problem, the parameter value correction output device of the present invention assigns a parameter to an operator operable at an operation position between upper and lower limit positions, and sets the parameter value at the initial assignment of the parameter as the operation value. Corresponding as the parameter value output at the operation position before the operation of the child, the minimum parameter value that can be taken by the parameter is made to correspond as the parameter value that is outputted at the lower limit position of the operator, and the maximum parameter that the parameter can take A parameter value correction output device that associates a value as a parameter value to be output at the upper limit position of the operator and outputs a parameter value corresponding to the operation position after the operation of the operator in accordance with the correspondence relationship And the minimum value from the initial parameter value for the amount of change from the initial position of the operation element to the lower limit position of the operation element. When the amount of change up to the parameter value is larger than a predetermined value, the parameter value corresponding to the lower limit position of the operation element is set to a value larger than the minimum parameter value, and the operation is started from the position of the initial operation element. If the change amount from the initial parameter value to the maximum parameter value with respect to the change amount up to the upper limit position of the child is larger than a predetermined value, the parameter value corresponding to the upper limit position of the operator is set to the maximum value. A setting means for setting a value smaller than the parameter value, a parameter value corresponding to the initial position of the operation element, a parameter value corresponding to the lower limit position of the operation element set by the setting means, or the value of the operation element Determining means for determining a parameter value corresponding to the operation position after the operation of the operator based on the parameter value corresponding to the upper limit position according to the correspondence relationship; With was. Thereby, the change amount of the parameter with respect to the operation amount of the operation element can be suppressed to be small, so that the resolution with respect to the operation amount can be kept high.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 shows an electronic musical instrument equipped with a parameter value correction output device as one embodiment according to the present invention. In FIG. 1, a CPU (central processing unit) 1 controls the entire electronic musical instrument. The program memory 2 comprises a ROM, and stores a control program for overall operation control and various data used when the program is executed. The work area memory 3 includes a RAM and is used as a work area for setting various register groups described later. The parameter memory 4 comprises a RAM and stores data necessary for generating musical sounds, such as envelope data for controlling the volume. The keyboard device 5 inputs pitch information, volume information and the like to the CPU 1 by a performance operation. The display 7 displays parameter values and the like as numerical values or graphics so that the adjustment can be performed. The musical tone generator 8 forms a musical tone signal by a method of reading a waveform memory or the like, and the acoustic device 9 includes an amplifier, a speaker, and the like, and emits a musical tone signal from the musical tone generator 8.
[0014]
The operation element 6 is used by the user to perform parameter setting and the like. In the figure, an operation element portion for setting the envelope of the musical tone signal is shown. The other operation elements are described in the present invention. Since it is not necessary for the explanation, the illustration is omitted. The operation element 6A is a slide-type operation element, and an output corresponding to the position of the knob can be taken out by sliding the knob continuously between the lower limit end LOW and the upper limit end HIGH.
[0015]
Reference numeral 6B denotes a parameter selection switch for selecting which part of the envelope waveform is adjusted when setting the envelope waveform of the musical sound signal. That is, the parameter selection switch 6B has four switches corresponding to the attack time A, decay time D, sustain level S, and release time R which are the four parameters constituting the envelope waveform, that is, attack time switch 6Ba, decay time switch 6Bd, It consists of a sustain level switch 6Bs and a release time switch 6Br. By pressing these switches, the corresponding parameters can be selected for data correction. The preset values (for example, preset values) of the parameters selected by these parameter selection switches 6B are displayed on the display unit 7, and the values are changed by operating the above-described operation element 6A. be able to.
[0016]
The parameter change switch 6C is for increasing or decreasing the value of the parameter selected and read by the parameter selection switch 6B irrespective of the operation position of the operation element 6A, and an up switch 6Cu for gradually increasing the parameter value. It comprises a down switch 6Cd for gradually decreasing.
[0017]
The CPU 1 detects which of these operators 6 has been operated, and executes an initialization routine and a calculation routine, which will be described in detail below, based on the operation information. The register group set in the work area 3 is for temporarily storing various data generated when the CPU 1 executes the control program stored in the program memory 2. The data (or registers) relevant to the present invention include the following. In the following description, the name of each register and its contents (data) are in principle represented by the same label name.
[0018]
(1) Current position P of the operator 6ANOW: Current operation position of the operator 6A.
(2) Previous position P of the operator 6AOLD: Operation position of the operator 6A in the previous calculation cycle.
(3) Reference position P of the operator 6ABAS: The operation position at the time of reading the parameter of the operator 6A or the operation position when the operation direction in the subsequent operation is changed.
(4) Upper limit position P of the operator 6AHIGH: The position of the upper limit HIGH of the operation of the operation element 6A.
(5) Lower limit position P of the operator 6ALOW: The position of the lower limit end LOW of the operation of the operation element 6A.
[0019]
(6) Current parameter value VNOW: Current position P of the operator 6ANOWThe value of the parameter assigned to.
(7) Parameter reference value VBAS: Reference position P of the operator 6ABASThe value of the parameter assigned to. That is, the parameter value when the parameter is read or when the operating direction of the operation element 6A is changed.
(8) Maximum parameter value VMAX: Maximum value that the selected parameter can take.
(9) Minimum parameter value VMIN: The minimum value that the selected parameter can take.
(10) Upper limit value V of parameterHIGH: Upper limit position P of the operator 6AHIGHThe value of the parameter assigned to.
(11) Lower limit value V of parameterLOW: Lower limit position P of the operator 6ALOWThe value of the parameter assigned to.
[0020]
(12) Operation direction DRC of the operation element: Operation direction of the operation element 6A. The initial value is “0”, “+1” indicates an operation in the upper limit direction, and “−1” indicates an operation in the lower limit direction. . (13) Reference position ratio R of the operator 6APOS: Full stroke of controller 6A (PHIGH-PLOW) For reference position PBASRatio. That is,
RPOS= (PBAS-PLOW) / (P HIGH -P LOW )
The ratio required by.
(14) Parameter reference value ratio RVAL: Entire parameter range (VMAX-VMIN) Reference value VBASRatio. That is,
RVAL= (VBAS-VMIN) / (VMAX-VMIN)
The ratio required by.
(15) Ratio difference DFF: Reference value ratio RVALAnd reference position ratio RPOSAnd the difference. That is, when operating in the upper limit direction,
DFFHIGH= RPOS-RVAL
When operating in the lower limit direction,
DFFLOW= RVAL-RPOS
The value determined by.
[0021]
First, the operation of the apparatus of this embodiment will be schematically described. In this embodiment, in order to correct any parameter of the attack time A, decay time D, sustain level S, and release time R by the parameter selection switches 6Ba, 6Bd, 6Bs, 6Br in the operation element 6. The selected data is read out, and the read parameter value is displayed on the display unit 7 and the correction is made while viewing this display. The operation position of the operator 6A at the time of reading out the parameters is set as the reference position P.BASAnd its reference position PBASFor the read parameter value VBASAssign. Then, when the change of the parameter value is abrupt with respect to the operation amount when the operation element 6A is operated, specifically, for example, in the operation in the upper limit direction, the above-described ratio difference DFFHIGH(= RPOS-RVAL) Is positive, the upper limit position P of the operator 6A.HIGHParameter value to be assigned to the parameter maximum value VMAXRather than the upper limit V of a value smaller than thatHIGHThus, the parameter value is prevented from abruptly changing with respect to the operation in the upper limit direction of the operation element 6A. That is, in the above case, the reference position P of the operation elementBASTo upper limit position PHIGHParameter is the reference value VBASTo upper limit VHIGH(<Maximum value VMAX) Will vary.
[0022]
When the operation direction of the operator 6A is changed halfway, the operation position at the time of the change is changed to a new reference position P.BAS, The parameter value at that time is changed to a new reference value VBASBased on these values, this time, the lower limit value V in the reverse operation directionLOWSet again. By repeating this operation for changing the operation direction, the upper limit value V of the parameter is eventually reached.HIGHIs the parameterBigValue VMAXParameter lower limit VLOWIs the minimum parameter value VMINAnd the entire parameter range corresponds to the entire stroke of the operation element 6A.
[0023]
Upper limit VHIGHOr lower limit VLOWCan be determined in various ways. In short, the value may be determined so that the value of the parameter does not change rapidly with respect to the operation amount of the operation element 6A. Two examples are given below.
[0024]
(1) The first method is to use the reference position ratio R of the operator 6A.POSAnd parameter reference value ratio RVALWhen the operation element 6A is operated in the upper limit direction, for example, the upper limit direction stroke (P HIGH -PBAS) For the amount of parameter change (VMAX-VBAS) X (1-DFFHIGH), And when operating in the lower limit direction, the lower limit direction stroke (PBAS-P LOW ) For the amount of parameter change (VBAS-VMIN) X (1-DFFLOW).
[0025]
A specific example will be described with reference to FIG. Now, the operation element 6A can be operated in the range of “0 to 1”, the parameter is set to a value in the range of “0 to 100”, the read parameter value is “10”, and the operation element 6A at the time of parameter reading is The position is “0.5”. Therefore, the reference position PBASIs initially “0.5”, and as shown in FIG. 2A, the current position P of the operator 6ANOW(= PBASThe parameter value assigned to = 0.5) is “10”.
[0026]
From this state, the operation element 6A is operated in the upper limit direction. In this case, the upper limit is
Figure 0003844149
Ask for. That is, the reference position ratio R of the operatorPOSIs 50%, and the parameter reference value ratio RVALIs 10%, so the ratio difference DFFHIGHIs 40%, which is the maximum value VMAXAnd reference value VBASMultiplying the difference from “90” to find “36”, which is the maximum value VMAX= By subtracting from 100, upper limit VHIGH= 64 is determined. That is, the value of the parameter changes from “10” to “64” with respect to the operation from “0.5” to “1” of the operator 6A, and the parameter value is the maximum value VMAXNo change until 100.
[0027]
Now, the current position P of the operator 6ANOW2 is “0.75” between 0.5 and 1, as shown in FIG. 2B, the current value V of the parameter can be seen from the above ratio distribution.NOWBecomes “10+ (64−10) ÷ 2 = 37”. Current value P of operator 6ANOWIs the upper limit position P as shown in FIG.HIGHParameter value is the upper limit value VHIGH= 64. At this position, the operator 6A can be operated only in the lower limit direction. In the operation in the lower limit direction, the parameter value does not change rapidly with respect to the operation amount of the operation element 6A. In this case, the lower limit value VLOWIs the minimum value V as in the above-mentioned JP-A-5-134666.MINAnd the parameter is changed to “64 → 0” with respect to the lower limit direction stroke “1 → 0”. Accordingly, as shown in FIG. 2D, the operation element 6A is moved to the lower limit direction at the current position P.NOWThe parameter value when operating up to 0.5 is half of the parameter change range of “64-0”, that is, “32”, and the operator 6A is moved to the lower limit position P as shown in FIG.LOWThe parameter value is “0” when operated to = 0. Thereafter, the upper limit value V of the parameterHIGHIs the maximum value of the parameter VMAXAnd the lower limit value V of the parameterLOWIs the minimum parameter value VMINSo that the entire range of parameters corresponds to the entire stroke of the operation element 6A.
[0028]
(2) The second method is a ratio difference DFF in the case of operation in the upper limit direction.HIGHIs positive, the upper limit VHIGHThe
VHIGH= VBAS+ (1-RPOS) X (VMAX-VMIN)
In the case of operation toward the lower limit, the ratio difference DFFLOWIs positive, the lower limit VLOWThe
VLOW= VBAS-RPOS× (VMAX-VMIN)
It is a method. That is, the reference value VBASFrom the reference position ratio R of the operation element 6APOSAdd / subtract the parameter width according to the upper limit value VHIGH, Lower limit VLOWIt is what.
[0029]
A specific example will be described with reference to FIG. As described above, the operation element 6A can be operated in the range of “0 to 1”, the parameter is set to a value in the range of “0 to 100”, the read parameter value is “10”, and the operation element 6A at the time of parameter reading Is assumed to be “0.5”. Therefore, the reference position PBASIs initially “0.5”, and as shown in FIG. 3A, the current position P of the operator 6ANOW(= PBASThe parameter value assigned to = 0.5) is “10”.
[0030]
From this state, the operation element 6A is operated in the upper limit direction. In this case, the upper limit VHIGHIs
VHIGH= VBAS+ (1-RPOS) X (VMAX-VMIN)
= 10 + (1-0.5) × (100-0) = 60
Ask for. That is, the value of the parameter changes from “10” to “60” with respect to the operation from “0.5” to “1” of the operator 6A, and the maximum value VMAXNo change until 100.
[0031]
Now, the current position P of the operator 6ANOW3 is “0.75” between 0.5 and 1, as shown in FIG. 3B, the current value V of the parameter can be seen from the above ratio distribution.NOWBecomes “10+ (60−10) ÷ 2 = 35”. Current value P of operator 6ANOWIs the upper limit position P as shown in FIG.HIGHParameter value is the upper limit value VHIGH= 60. At this position, as in the case of the first method described above, the operation element 6A can be operated only in the lower limit direction. In the operation in the lower limit direction, the change in the parameter value does not rapidly decrease with respect to the operation amount of the operation element 6A. In this case, the lower limit value VLOWIs the minimum value V as in the above-mentioned JP-A-5-134666.MINAnd the parameter is changed to “60 → 0” with respect to the lower limit direction stroke “1 → 0”. Accordingly, as shown in FIG. 3D, the operation element 6A is moved in the lower limit direction to the current position P.NOWThe parameter value when operating up to 0.5 is half of the parameter change range of “60 to 0”, that is, “30”. Further, as shown in FIG.LOWThe parameter value is “0” when operated to = 0. Thereafter, the upper limit value V of the parameterHIGHIs the maximum parameter value VMAXAnd the lower limit value V of the parameterLOWIs the minimum parameter value VMINSo that the entire range of parameters corresponds to the entire stroke of the operation element 6A.
[0032]
The detailed operation of the embodiment apparatus of the present invention will be described below with reference to the flowchart. First, the upper limit value V is determined by the method (1) described above.HIGHAnd lower limit VLOWAn embodiment for determining the above will be described.
When any of the operators 6 is operated, the CPU 1 detects which of these operators 6 has been operated, and executes an initialization routine or a calculation routine described in detail below based on the operation information.
[0033]
FIG. 4 shows a flowchart of the initialization routine. This initialization routine is executed when the parameter selection switch 6B is operated and a parameter is selected, so that the type of parameter assigned to the operator 6A is changed. In this initialization routine, the operation direction DRC of the operator is set to “0”, and the current position of the operator 6A is set to the previous position P.OLDAnd read out the minimum value and maximum value of the selected parameter from the program memory 2 and set the minimum value VMINAnd the maximum value VMAXAnd Further, the read parameter value is changed to the current parameter value V.NOWAnd
[0034]
FIG. 5 shows a flowchart of the calculation routine. This calculation routine uses the parameter upper limit VHIGHAnd lower limit VLOWReference value VBASAnd the current position P of the operator 6A is calculated based on these values.NOWCurrent value V of the parameter assigned toNOWIs executed every time the operating element 6A is operated or every time an interval clock generated by an interval timer (not shown) arrives at the CPU 1.
[0035]
First, the current operation position of the operator 6A is set to the current position P.NOW(Step S1), the current position PNOWIs the previous position P of the control 6AOLD(Step S2). If they are the same, it means that the operator 6A has not been operated yet, so this calculation routine is terminated. In this case, the parameter value is not changed.
[0036]
Current position P of the operator 6ANOWAnd the previous position POLDIs different (step S2), the last time the operator 6A was operated during the period from when the parameter was selected until this routine was first executed or from when this routine was last executed until this time. Means. In this case, the current parameter value is the current value VNOW(Step S3). In this process, when the value of the parameter selected by the parameter selection switch 6B is changed by the parameter change switch 6C instead of the operator 6A, the parameter current value after the change is the parameter current value V set by the initialization routine.NOWTherefore, in the case of a mismatch, the operation direction DRC is set to “0”, and the current value of the parameter that did not match is set. Current value VNOWTo match the two (step S4). Therefore, if both match at step S3, the process at step S4 skips.
[0037]
Next, the current position P of the operator 6APOSAnd the previous position POLDAre compared (step S5). Current position PPOS<Previous position POLDIf so, the operating element 6A moves in the lower limit direction, andPOS≧ Previous position POLDIf so, it is determined that the operation is in the upper limit direction.
[0038]
If it is determined that the operation is in the lower limit direction, it is further determined whether the operation direction DRC is “−1” (step S6). When the operation direction DRC is “−1”, it means that the operation element 6A has been operated in the lower limit direction in the previous calculation cycle, so that the operation element 6A continues to be operated in the lower limit direction following the previous operation. On the other hand, if the operation direction DRC is not “−1”, the previous operation direction is stopped (DRC = 0) or the upper limit direction (DRC = 1), whereas the current operation direction is the lower limit direction. It means something has changed. Thus, when the operation direction changes, the following various data are recalculated and the lower limit VLOWSet up.
[0039]
That is,
-Set the operation direction DRC to "-1"
-Previous position P of the operator 6AOLDIs the reference position PBASage,
・ Current parameter value VNOWIs the reference value VBASage,
-Reference position ratio R of the operator 6APOSThe
RPOS= (PBAS-P LOW ) / (P HIGH -P LOW )
In
-Parameter reference value ratio RVALThe
RVAL= (VBAS-VMIN) / (VMAX-VMIN)
In
・ Ratio difference DFFLOWThe
DFFLOW= RVAL-RPOS
(Step S7).
[0040]
And the ratio difference DFFLOWIs determined to be greater than 0 (step S8). In the case of 0 or less, the lower limit direction stroke of the operator 6A (that is, PBAS→ PLOWThe amount of parameter change (ie VBAS→ VMINIn this case, there is no fear that the parameter will change abruptly with respect to the operation amount of the operation element 6A, and therefore the lower limit position P of the operation element 6A.LOWLower limit value V of parameter assigned toLOWParameter minimum value VMIN(Step S10).
[0041]
On the other hand, the ratio difference DFFLOWIs larger than 0 (step S8), it means that the parameter may change rapidly with respect to the operation amount of the operation element 6A. In this case, the lower limit value VLOWParameter minimum value VMINIt is set to a value larger than the value of (step S9). This lower limit VLOWIs
VLOW= DFFLOW× VBAS+ (1-DFFLOW) × VMIN
Ask for.
[0042]
This lower limit VLOWOr when it is determined in step S6 that the operation direction has not changed, the current position P of the operator 6A.NOWCurrent value V of the parameter assigned toNOWIs obtained by the following calculation formula.
VNOW= {VBAS× (PNOW-P LOW ) + VLOW× (PBAS-PNOW)} / (PBAS-P LOW )
[0043]
On the other hand, the current position P of the operator 6APOSAnd the previous position POLDIn step S5 for comparing the current position PPOS≧ Previous position POLDThat is, when it is determined that the operation is in the upper limit direction, it is further determined whether the operation direction DRC is “1” (step S12). The meaning of this determination is the same as in step S8 described above. If the operation direction DRC is “1”, the operation element 6A continues to be operated in the upper limit direction following the previous operation. This means that the direction has changed to the upper limit direction. If the operation direction has changed, the upper limit value VHIGHSet up.
[0044]
That is,
-Set the operation direction DRC to "1"
-Previous position P of the operator 6AOLDIs the reference position PBASage,
・ Current parameter value VNOWIs the reference value VBASage,
-Reference position ratio R of the operator 6APOSThe
RPOS= (PBAS-P LOW ) / (P HIGH -P LOW )
In
-Parameter reference value ratio RVALThe
RVAL= (VBAS-VMIN) / (VMAX-VMIN)
In
・ Ratio difference DFFHIGHThe
DFFHIGH= RPOS-RVAL
(Step S13).
[0045]
And the ratio difference DFFHIGHIs determined to be greater than 0 (step S14). In the case of 0 or less, the upper limit direction stroke (that is, PBAS→ PHIGHThe amount of parameter change (ie VBAS→ VMAXIn this case, since there is no fear that the parameter will change suddenly with respect to the operation amount of the operation element 6A, the upper limit position P of the operation element 6A.HIGHUpper limit value of parameter assigned to VHIGHParameter maximum value VMAX(Step S16).
[0046]
On the other hand, the ratio difference DFFHIGHIs greater than 0 (step S14), it means that the parameter may change rapidly with respect to the operation amount of the operator 6A. In this case, the upper limit value VHIGHParameter maximum value VMAXThe value is smaller than the value (step S15). This upper limit VHIGHIs
VHIGH= DFFHIGH× VBAS+ (1-DFFHIGH) × VMAX
Ask for.
[0047]
This upper limit VHIGHOr when it is determined in step S12 that the operation direction has not changed, the current position P of the operator 6ANOWCurrent value V of the parameter assigned toNOWIs obtained by the following calculation formula.
VNOW= {VBAS× (P HIGH -PNOW) + VHIGH× (PNOW-PBAS)} / (P HIGH -PBAS)
[0048]
Thereafter, the current position P of the operator 6ANOWThe previous position POLDAnd the current parameter value VNOWIs set to the value of the parameter currently output from the operator 6A (step S18).
[0049]
Next, the upper limit value V is determined by the method (2) described above.HIGHAnd lower limit VLOWAn embodiment for determining the above will be described. FIG. 6 is a flowchart showing a calculation routine in this case. The initialization routine is shown above.4Is the same as Figure6Is a flowchart of the first embodiment5The difference from this flowchart is the processing of step S9 and step S15, and the other steps are the same. That is, in this embodiment, the lower limit value V obtained when the operation of the operator 6A changes in the lower limit direction.LOWIs
VLOW= VBAS-RPOS× (VMAX-VMIN)
On the other hand, the upper limit value V obtained when the operation of the operator 6A changes in the upper limit direction.HIGHIs
VHIGH= VBAS+ (1-RPOS) X (VMAX-VMIN)
(Step S15 '), and thus, it is possible to obtain a change in the parameter with respect to the operation of the operation element 6A as described in the above method (2).
[0050]
In the above embodiment, the reference position PBASAs the position of the operating element 6A when the parameter is read and the position of the operating element 6A when the subsequent operating direction is reversed, respectively.HIGH, Lower limit VLOWHowever, the present invention is not limited to this. For example, as disclosed in Japanese Patent Laid-Open No. 5-134666, the reference position PBASAs the previous operation position POLDAlways use the upper limit VHIGHAnd lower limit VLOWMay be calculated again, and the current value of the parameter may be obtained accordingly.
[0051]
FIG. 7 shows the previous position P described above.OLDTo the reference position PBASAnd the upper limit value V using the method (2) described above.HIGHAnd lower limit VLOWIs calculated. This figure7The flowchart of this embodiment differs from the flowchart of the embodiment of FIG. 6 in that steps S6 and S12 that change the process according to the operation direction DRC in the flowchart of FIG. 6 are deleted, and accordingly, DRC = 0 in step S4. And the operation direction DRC setting process (DRC = −1 in step S7, DRC = 1 in step S13) in step S7 and step S13 is eliminated.IsThe same thing.
[0052]
FIG. 8 shows the previous position P described above.OLDTo the reference position PBASAnd the upper limit value V using the method (1) described above.HIGHAnd lower limit VLOWIs calculated. This figure8The flowchart of this embodiment differs from the flowchart of the embodiment of FIG. 5 in that steps S6 and S12 that change the process according to the operation direction DRC in the flowchart of FIG. 5 are deleted, and accordingly, DRC = 0 in step S4. And the operation direction DRC setting process (DRC = −1 in step S7, DRC = 1 in step S13) in step S7 and step S13 is eliminated, and the other steps are as follows: The same thing. Also in the initialization routine of FIG. 4, the initial setting of the operation direction DRC (DRC = 0) is deleted.
[0053]
In addition to what has been described above, various other embodiments are possible in the present invention. For example, in the above-described embodiment, it is determined whether the change amount of the parameter is abrupt with respect to the operation amount of the operation element.HIGHOr DFFLOWHowever, the present invention is not limited to this. Of course, the determination can be made based on whether or not the predetermined value is not less than 0, and only when the change amount of the parameter becomes more abrupt. , Upper limit VHIGHOr lower limit VLOWIs the maximum value VMAXThe following value or minimum value VMINBy setting the above values, it is possible to suppress a rapid change in parameters.
[0054]
Also, the lower limit VLOWOr upper limit VHIGHThe calculation method is not limited to that of the above-described embodiment. In short, the lower limit value is a certain value that is greater than or equal to the minimum value so that the change amount of the parameter does not become abrupt with respect to the operation amount of the operator The upper limit value may be a certain value that is less than or equal to the maximum value. For example, when the calculation in step S9 or step S15 in the above-described embodiment is performed, the ratio difference DFFLOWOr DFFHIGHIs multiplied by a predetermined coefficient α to obtain a new ratio difference DFFLOWOr DFFHIGHIt is also possible to calculate the step as follows.
[0055]
In the above-described embodiment, a case has been described in which one of a plurality of types of parameters is assigned to the parameter value correcting operation element 6A and the value is corrected. However, the present invention is not limited to this. The present invention can also be applied to the case where a plurality of types of parameter values are preset, and one selected from them is assigned to the parameter value correcting operation element 6A to correct the value.
In addition, in calculating the calculation formulas shown in the embodiments, those that perform substantially the same calculation by modifying the calculation procedure and the like are also included in the scope of the present invention.
[0056]
In the embodiment of FIG. 7 or FIG. 8, the reference value VBASIs the previous value VOLDHowever, the present invention is not limited to this.BASOr the average of the previous value and the previous value is the reference value VBASIt is also possible to do.
[0057]
【The invention's effect】
As described above, according to the present invention, it is possible to prevent the parameter value from changing greatly only by slightly moving the operation element, that is, the resolution of the parameter value with respect to the operation amount of the operation element from being coarsened. Thus, precise adjustment is possible, and the operation feeling of the operation element can be made natural.
[Brief description of the drawings]
FIG. 1 is a diagram showing an overall configuration of an electronic musical instrument equipped with a parameter value correction output device as one embodiment according to the present invention.
FIG. 2 is a diagram illustrating a change in a parameter value output corresponding to an operation position of an operator based on upper and lower limit values determined by the method (1) in the embodiment apparatus.
FIG. 3 is a diagram illustrating a change in a parameter value output corresponding to the operation position of the operator based on the upper and lower limit values determined by the method (2) in the embodiment apparatus.
FIG. 4 is a flowchart of an initialization routine in the embodiment apparatus.
FIG. 5 is a flowchart of a calculation routine according to the method (1) in the embodiment apparatus.
FIG. 6 is a flowchart of a calculation routine according to a method (2) in the embodiment apparatus.
FIG. 7 is a flowchart of a calculation routine according to the method (2) in another embodiment apparatus.
FIG. 8 is a flowchart of a calculation routine according to a method (1) in another embodiment apparatus.
[Explanation of symbols]
1 CPU (Central Processing Unit)
2 Program memory
3 Work area memory
4 Parameter memory
5 Keyboard device
6 Controller
6A Slide controller
6B Parameter selection switch
6C Parameter change switch
7 Display
8 Music generator
9 Audio equipment

Claims (1)

上下限位置間の操作位置に操作可能な操作子にパラメータを割り当てて、該パラメータの割り当て当初のパラメータ値を、該操作子の操作前の操作位置で出力するパラメータ値として対応させ、該パラメータの取り得る最小のパラメータ値を、該操作子の下限位置で出力するパラメータ値として対応させ、該パラメータの取り得る最大のパラメータ値を、該操作子の上限位置で出力するパラメータ値として対応させ、その対応関係に合わせて該操作子の操作後の操作位置に対応するパラメータ値を出力するようにしたパラメータ値修正出力装置であって、
割り当て当初の操作子の位置から操作子の下限位置までの変化量に対する、割り当て当初のパラメータ値から該最小のパラメータ値までの変化量が所定値よりも大きい場合には、該操作子の下限位置に対応するパラメータ値を該最小のパラメータ値よりも大きい値に設定し、割り当て当初の操作子の位置から操作子の上限位置までの変化量に対する、割り当て当初のパラメータ値から該最大のパラメータ値までの変化量が所定値よりも大きい場合には、該操作子の上限位置に対応するパラメータ値を該最大のパラメータ値よりも小さい値に設定する設定手段と、
割り当て当初の操作子の位置に対応するパラメータ値と、該設定手段により設定された該操作子の下限位置に対応するパラメータ値または該操作子の上限位置に対応するパラメータ値とに基づき、その対応関係に合わせて該操作子の操作後の操作位置に対応するパラメータ値を決定する決定手段と
を備えたパラメータ値修正出力装置。
A parameter is assigned to an operator that can be operated at the operation position between the upper and lower limit positions, and the parameter value at the time of initial assignment of the parameter is made to correspond as a parameter value output at the operation position before the operation of the operator. The smallest possible parameter value is made to correspond as the parameter value output at the lower limit position of the operator, the largest possible parameter value of the parameter is made to correspond as the parameter value to be outputted at the upper limit position of the operator, A parameter value correction output device configured to output a parameter value corresponding to an operation position after the operation of the operator according to a correspondence relationship,
When the amount of change from the initial parameter value to the minimum parameter value with respect to the amount of change from the initial position of the operator to the lower limit position of the operator is greater than a predetermined value, the lower limit position of the operator The parameter value corresponding to is set to a value larger than the minimum parameter value, and from the initial parameter value to the maximum parameter value with respect to the amount of change from the initial control element position to the upper limit position of the operator Setting means for setting the parameter value corresponding to the upper limit position of the operating element to a value smaller than the maximum parameter value,
Based on the parameter value corresponding to the initial position of the operator and the parameter value corresponding to the lower limit position of the operator or the parameter value corresponding to the upper limit position of the operator set by the setting means A parameter value correction output device comprising: a determination unit that determines a parameter value corresponding to an operation position after the operation of the operator according to the relationship .
JP08826097A 1997-04-07 1997-04-07 Parameter value correction output device Expired - Fee Related JP3844149B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08826097A JP3844149B2 (en) 1997-04-07 1997-04-07 Parameter value correction output device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08826097A JP3844149B2 (en) 1997-04-07 1997-04-07 Parameter value correction output device

Publications (2)

Publication Number Publication Date
JPH10282962A JPH10282962A (en) 1998-10-23
JP3844149B2 true JP3844149B2 (en) 2006-11-08

Family

ID=13937919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08826097A Expired - Fee Related JP3844149B2 (en) 1997-04-07 1997-04-07 Parameter value correction output device

Country Status (1)

Country Link
JP (1) JP3844149B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5965793B2 (en) * 2012-09-05 2016-08-10 アズビル株式会社 Control apparatus and control method
JP2015038552A (en) * 2013-08-19 2015-02-26 カシオ計算機株式会社 Electronic apparatus, electronic musical instrument, information input method, and program

Also Published As

Publication number Publication date
JPH10282962A (en) 1998-10-23

Similar Documents

Publication Publication Date Title
JPH08278792A (en) Song ability evaluation method for sing-along device
US4478124A (en) Sound aspect generating apparatus for an electronic musical instrument
JP3844149B2 (en) Parameter value correction output device
JP2001215965A (en) Device and method for touch control
JP2989360B2 (en) Automatic piano playing device
JP3801722B2 (en) Musical sound control parameter generator
WO2022102527A1 (en) Signal generation device, electronic musical instrument, electronic keyboard device, electronic apparatus, signal generation method, and program
US4854209A (en) Electronic musical instrument with key scaling using multiple set points
JPH01273097A (en) Automatic playing device
JPH043554B2 (en)
JP3831066B2 (en) Tone setting device for electronic musical instruments
JP3508148B2 (en) Performance tempo input device
JP3290722B2 (en) Parameter setting device for delay device
JP2537856B2 (en) Automatic playing device
JP2723515B2 (en) Automatic performance device
JP3419174B2 (en) Electronic musical instrument
JP3182098B2 (en) Electronic musical instrument
JP3029056B2 (en) Electronic musical instrument
JP2780476B2 (en) Tempo controller
JPH0876761A (en) Electronic musical instrument
JP2940123B2 (en) Tempo controller
JPH10133663A (en) Electronic musical instrument
JPS63316897A (en) Automatic performer
JPH08160974A (en) Karaoke device with music reserving function
JPH05188933A (en) Electronic musical instrument

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040402

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060712

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: 20060808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060810

R150 Certificate of patent 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

LAPS Cancellation because of no payment of annual fees