JPH04324896A - 出力制御装置 - Google Patents
出力制御装置Info
- Publication number
- JPH04324896A JPH04324896A JP3121765A JP12176591A JPH04324896A JP H04324896 A JPH04324896 A JP H04324896A JP 3121765 A JP3121765 A JP 3121765A JP 12176591 A JP12176591 A JP 12176591A JP H04324896 A JPH04324896 A JP H04324896A
- Authority
- JP
- Japan
- Prior art keywords
- fader
- value
- volume
- register
- contents
- 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.)
- Pending
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】この発明は、例えば電子機器の操
作パネル等に設けられるフェーダー等の移動操作子の出
力を制御する出力制御装置に関する。
作パネル等に設けられるフェーダー等の移動操作子の出
力を制御する出力制御装置に関する。
【0002】
【従来の技術】従来、電子楽器やミキサー等といった音
響機器、或いは映像機器等においては、該機器を制御す
る際の操作性を向上させるために、操作パネルにスライ
ド式のフェーダーが設けられることが多い。かかるフェ
ーダーの一例を図6に示す。
響機器、或いは映像機器等においては、該機器を制御す
る際の操作性を向上させるために、操作パネルにスライ
ド式のフェーダーが設けられることが多い。かかるフェ
ーダーの一例を図6に示す。
【0003】このフェーダー1は、スライド操作子(以
下「スライダ」という。)2をスリット3に沿って往復
動させることにより、スライダ2の位置に応じて内部に
設けられた可変抵抗器の抵抗値を変化させ、例えば音量
等の出力を所定範囲(図示例では0〜127の範囲)内
で制御するために用いられる。
下「スライダ」という。)2をスリット3に沿って往復
動させることにより、スライダ2の位置に応じて内部に
設けられた可変抵抗器の抵抗値を変化させ、例えば音量
等の出力を所定範囲(図示例では0〜127の範囲)内
で制御するために用いられる。
【0004】このようなフェーダー1により制御される
ものとしては、音量の他に、音響機器の場合には、曲の
テンポ、音程、音色等があり、映像機器の場合は画像の
輝度、コントラスト等がある。
ものとしては、音量の他に、音響機器の場合には、曲の
テンポ、音程、音色等があり、映像機器の場合は画像の
輝度、コントラスト等がある。
【0005】ところで、昨今の電子機器においては、プ
ロセッサを用いてその制御を行うものが多く、音響機器
や映像機器においても例外ではない。かかるプロセッサ
を用いた電子機器では、上記フェーダー1による音量等
の制御は、該フェーダー1のスライダ2の位置に応じた
抵抗値により音量信号等を直接制御するのではなく、該
抵抗値を一旦デジタルデータに変換してメモリに記憶し
ておき、このメモリの値を放音すべき実際の音量値とし
て、例えば増幅器等に与えることにより音量制御を行う
ようになっている。かかる構成とすることにより、音量
等は、フェーダーによる場合のみならず、他の要素によ
っても制御できるようになっている。
ロセッサを用いてその制御を行うものが多く、音響機器
や映像機器においても例外ではない。かかるプロセッサ
を用いた電子機器では、上記フェーダー1による音量等
の制御は、該フェーダー1のスライダ2の位置に応じた
抵抗値により音量信号等を直接制御するのではなく、該
抵抗値を一旦デジタルデータに変換してメモリに記憶し
ておき、このメモリの値を放音すべき実際の音量値とし
て、例えば増幅器等に与えることにより音量制御を行う
ようになっている。かかる構成とすることにより、音量
等は、フェーダーによる場合のみならず、他の要素によ
っても制御できるようになっている。
【0006】しかしながら、上記のような構成では、メ
モリに記憶されている実際の音量値とフェーダー1のス
ライダ2の位置との対応がずれる場合が発生する。
モリに記憶されている実際の音量値とフェーダー1のス
ライダ2の位置との対応がずれる場合が発生する。
【0007】例えば、フェーダーでMIDI情報を操作
しているときに、別のフェーダーを操作することにより
そのMIDI情報が変化することがある。具体的には、
フェーダーで音量情報を操作しているときに、音量情報
が含まれている音色情報をフェーダーで変更すると、メ
モリに記憶されている実際の音量値が変化する場合があ
る。
しているときに、別のフェーダーを操作することにより
そのMIDI情報が変化することがある。具体的には、
フェーダーで音量情報を操作しているときに、音量情報
が含まれている音色情報をフェーダーで変更すると、メ
モリに記憶されている実際の音量値が変化する場合があ
る。
【0008】また、内部パッチを変更することによって
も、実際にメモリ設定されている実際の値が変化する場
合もある。
も、実際にメモリ設定されている実際の値が変化する場
合もある。
【0009】さらには、1つのフェーダーをモードによ
って違った意味で選択的に使用する構成の場合、或るモ
ードでフェーダーを操作して所定値を設定し、次いで他
のモードに切り換えて同じフェーダーを操作して他の値
を設定し、再び元のモードに戻した時に、メモリ内の実
際の値とフェーダーの現在値との対応がずれてしまう場
合もある。また、振動でフェーダーの値が変化してしま
うこともあった。
って違った意味で選択的に使用する構成の場合、或るモ
ードでフェーダーを操作して所定値を設定し、次いで他
のモードに切り換えて同じフェーダーを操作して他の値
を設定し、再び元のモードに戻した時に、メモリ内の実
際の値とフェーダーの現在値との対応がずれてしまう場
合もある。また、振動でフェーダーの値が変化してしま
うこともあった。
【0010】かかる事態が発生すると、次にフェーダー
を動かしたときに急激に値が変化してしまう。例えば、
図7に示すように、フェーダーがαの位置にある状態で
、何らかの要素でメモリに記憶している実際の値がβ(
β>α)に変更されると、例えば音量等はβの値で放音
される状態になる。かかる状態で、時刻Tでスライダを
音量等を上げる方向に操作すると、該スライダが示して
いる値αまで一旦音量等が急激に下がり、その後スライ
ダの動きに応じて徐々に上昇するという現象になる。
を動かしたときに急激に値が変化してしまう。例えば、
図7に示すように、フェーダーがαの位置にある状態で
、何らかの要素でメモリに記憶している実際の値がβ(
β>α)に変更されると、例えば音量等はβの値で放音
される状態になる。かかる状態で、時刻Tでスライダを
音量等を上げる方向に操作すると、該スライダが示して
いる値αまで一旦音量等が急激に下がり、その後スライ
ダの動きに応じて徐々に上昇するという現象になる。
【0011】また、上記と逆の場合も発生し得る。即ち
、フェーダーが高い音量等の位置に設定され、実際の音
量等は低く設定されている場合において、フェーダーを
、例えば音量等を下げる方向に移動させた場合に、一旦
高い音量等まで急激に変化し、そこから徐々に下降する
という現象になる。
、フェーダーが高い音量等の位置に設定され、実際の音
量等は低く設定されている場合において、フェーダーを
、例えば音量等を下げる方向に移動させた場合に、一旦
高い音量等まで急激に変化し、そこから徐々に下降する
という現象になる。
【0012】かかる状態が発生すると、予期しない音量
等が突然発生するので、操作者は聴感上不自然さを感じ
るという問題があった。
等が突然発生するので、操作者は聴感上不自然さを感じ
るという問題があった。
【0013】そこで、かかる問題を解決するための出力
制御装置が本発明者により考えられている。
制御装置が本発明者により考えられている。
【0014】具体的に説明すると、例えば、図8(A)
に示すようにフェーダーを動かした場合に、時刻t0〜
t3はボリューム値「40」で推移し、時刻t3以降は
ボリューム値が上昇するように変化することを操作者は
期待する。ところが、図8(B)に示すように、メモリ
内の実際のボリューム値が、上記した理由等により、例
えば「80」に変更されていたとすると、時刻t3では
、ボリューム値が「80」から「40」まで急激に変化
し、その後フェーダーの位置に応じて徐々に上昇すると
いう状態が発生する。
に示すようにフェーダーを動かした場合に、時刻t0〜
t3はボリューム値「40」で推移し、時刻t3以降は
ボリューム値が上昇するように変化することを操作者は
期待する。ところが、図8(B)に示すように、メモリ
内の実際のボリューム値が、上記した理由等により、例
えば「80」に変更されていたとすると、時刻t3では
、ボリューム値が「80」から「40」まで急激に変化
し、その後フェーダーの位置に応じて徐々に上昇すると
いう状態が発生する。
【0015】そこで、この出力制御装置は、図8(c)
に示すように、フェーダー位置(一点鎖線bで示す)が
メモリに記憶されている実際の値(実線aで示す)を越
えるまでは値が出力されないようにしている。
に示すように、フェーダー位置(一点鎖線bで示す)が
メモリに記憶されている実際の値(実線aで示す)を越
えるまでは値が出力されないようにしている。
【0016】この出力制御装置による制御のフローチャ
ートを図9に示す。図は、音量を制御する場合について
記載してある。
ートを図9に示す。図は、音量を制御する場合について
記載してある。
【0017】先ず、実際の音量値を記憶しているボリュ
ームバッファReの内容からフェーダーに設定されてい
る音量値を記憶しているフェーダーバッファVolの内
容を減算し、結果をAレジスタに格納する(ステップS
50)。ここで、Aレジスタは、汎用のレジスタである
。次いで、Aレジスタの内容とゼロとを比較する(ステ
ップS51)。
ームバッファReの内容からフェーダーに設定されてい
る音量値を記憶しているフェーダーバッファVolの内
容を減算し、結果をAレジスタに格納する(ステップS
50)。ここで、Aレジスタは、汎用のレジスタである
。次いで、Aレジスタの内容とゼロとを比較する(ステ
ップS51)。
【0018】そして、Aレジスタの内容がゼロより小さ
い(A<0)、つまりフェーダーバッファVolの内容
がボリュームバッファReの内容より大きいことが判断
されると、Aレジスタの内容に「−1」を乗算してAレ
ジスタに入れる(ステップS52)。
い(A<0)、つまりフェーダーバッファVolの内容
がボリュームバッファReの内容より大きいことが判断
されると、Aレジスタの内容に「−1」を乗算してAレ
ジスタに入れる(ステップS52)。
【0019】即ち、負の数であるAレジスタの内容を正
の数に変換する。一方、Aレジスタの内容がゼロ以上(
A≧0)、つまりフェーダーバッファVolがボリュー
ムバッファRe以下であることが判断されると、ステッ
プS52はスキップされる。これにより、Aレジスタに
は、ボリュームバッファReの内容とフェーダーバッフ
ァVolの内容との差の絶対値が記憶されることになる
。
の数に変換する。一方、Aレジスタの内容がゼロ以上(
A≧0)、つまりフェーダーバッファVolがボリュー
ムバッファRe以下であることが判断されると、ステッ
プS52はスキップされる。これにより、Aレジスタに
は、ボリュームバッファReの内容とフェーダーバッフ
ァVolの内容との差の絶対値が記憶されることになる
。
【0020】次いで、Aレジスタの内容と所定値nとが
比較される(ステップS53)。ここで、所定値nとは
、フェーダーバッファVolの内容(フェーダーの現在
位置)とボリュームバッファReの内容(実際のボリュ
ーム値)との近接程度を示す閾値である。この閾値nは
、図10に示すように、メインルーチンのループ(ステ
ップS11〜S13)を一回実行する間にスライダ2が
移動する最大の距離より大きい値に選択する。これは、
フェーダーの移動が、如何なる場合も実際のボリューム
値±nの範囲で少なくとも1回は捕捉されるようにする
ためであり、これにより、フェーダーが実際のボリュー
ム値と交差したにもかかわらず実際のボリューム値が変
更されないという誤動作が発生するのを防止している。
比較される(ステップS53)。ここで、所定値nとは
、フェーダーバッファVolの内容(フェーダーの現在
位置)とボリュームバッファReの内容(実際のボリュ
ーム値)との近接程度を示す閾値である。この閾値nは
、図10に示すように、メインルーチンのループ(ステ
ップS11〜S13)を一回実行する間にスライダ2が
移動する最大の距離より大きい値に選択する。これは、
フェーダーの移動が、如何なる場合も実際のボリューム
値±nの範囲で少なくとも1回は捕捉されるようにする
ためであり、これにより、フェーダーが実際のボリュー
ム値と交差したにもかかわらず実際のボリューム値が変
更されないという誤動作が発生するのを防止している。
【0021】そして、Aレジスタの内容が閾値n以下(
A≦n)であることが判断されると、フェーダーの現在
位置と実際のボリューム値とは接近していることを認識
し、フェーダーバッファVolの内容をボリュームバッ
ファReに入れる(ステップS54)。これにより、フ
ェーダー1で指定された新しいボリューム値で放音され
ることになる。この際、フェーダーの現在位置と実際の
ボリューム値とは接近しているので、不自然さ等は感じ
られない。
A≦n)であることが判断されると、フェーダーの現在
位置と実際のボリューム値とは接近していることを認識
し、フェーダーバッファVolの内容をボリュームバッ
ファReに入れる(ステップS54)。これにより、フ
ェーダー1で指定された新しいボリューム値で放音され
ることになる。この際、フェーダーの現在位置と実際の
ボリューム値とは接近しているので、不自然さ等は感じ
られない。
【0022】一方、Aレジスタの内容が閾値nより大き
い(A>n)ことが判断されると、ボリュームバッファ
Reの内容は元の状態を維持してリターンする。
い(A>n)ことが判断されると、ボリュームバッファ
Reの内容は元の状態を維持してリターンする。
【0023】以上の処理により、出力される実際のボリ
ューム値とフェーダーの現在位置とが大きくずれている
ときは実際のボリューム値は変化せず、フェーダーの現
在位置が出力されている実際のボリューム値に近づくと
フェーダーの現在位置の値を出力するという機能が実現
されている。
ューム値とフェーダーの現在位置とが大きくずれている
ときは実際のボリューム値は変化せず、フェーダーの現
在位置が出力されている実際のボリューム値に近づくと
フェーダーの現在位置の値を出力するという機能が実現
されている。
【0024】しかしながら、この出力制御装置では、フ
ェーダーを用いて実際のボリューム値を変化させるため
には、スライダを動かして実際のボリューム値に対応す
る位置を探さなければならないという問題が残っていた
。特に、実際のボリューム値から離れる方向に変化させ
たいときは、一度逆の方向へ動かさなければならず、操
作性が悪いという問題があった。
ェーダーを用いて実際のボリューム値を変化させるため
には、スライダを動かして実際のボリューム値に対応す
る位置を探さなければならないという問題が残っていた
。特に、実際のボリューム値から離れる方向に変化させ
たいときは、一度逆の方向へ動かさなければならず、操
作性が悪いという問題があった。
【0025】
【発明が解決しようとする課題】本発明は、上記事情に
鑑みてなされたもので、その目的は、フェーダーを実際
の値から離れる方向へ動かす場合も、一度逆の方向へ動
かす必要のない、操作性に優れた出力制御装置を提供す
ることにある。
鑑みてなされたもので、その目的は、フェーダーを実際
の値から離れる方向へ動かす場合も、一度逆の方向へ動
かす必要のない、操作性に優れた出力制御装置を提供す
ることにある。
【0026】
【課題を解決するための手段】本発明の出力制御装置は
、制御量値を与える移動操作子と、他の制御量値を供給
する供給手段と、前記移動操作子の設定位置に応じた制
御量値又は供給手段から供給された制御量値を記憶する
記憶手段と、前記移動操作子が、前記記憶手段に設定さ
れている制御量値に近づく方向へ移動しているときは前
記移動操作子の設定位置に応じた制御量値の前記記憶手
段への格納を抑止して該記憶手段の制御量値を出力し、
前記記憶手段に設定されている制御量値から離れる方向
へ移動しているときは前記移動操作子の設定位置に応じ
た制御量値を前記記憶手段へ格納して該記憶手段の制御
量値を出力する出力制御手段とを具備したことを特徴と
する。
、制御量値を与える移動操作子と、他の制御量値を供給
する供給手段と、前記移動操作子の設定位置に応じた制
御量値又は供給手段から供給された制御量値を記憶する
記憶手段と、前記移動操作子が、前記記憶手段に設定さ
れている制御量値に近づく方向へ移動しているときは前
記移動操作子の設定位置に応じた制御量値の前記記憶手
段への格納を抑止して該記憶手段の制御量値を出力し、
前記記憶手段に設定されている制御量値から離れる方向
へ移動しているときは前記移動操作子の設定位置に応じ
た制御量値を前記記憶手段へ格納して該記憶手段の制御
量値を出力する出力制御手段とを具備したことを特徴と
する。
【0027】
【作用】この発明は、記憶手段に記憶された制御量値と
移動操作子の設定位置に応じた制御量値とが相違する場
合に、上記移動操作子が、上記記憶手段に設定されてい
る制御量値に近づく方向へ移動されているときは上記移
動操作子の設定位置に応じた制御量値を上記記憶手段へ
格納する動作を抑止して該記憶手段に記憶されている制
御量値をそのまま出力し、上記記憶手段に設定されてい
る制御量値から離れる方向へ移動されているときは上記
移動操作子の設定位置に応じた制御量値を上記記憶手段
へ格納するとともに、該記憶手段に記憶された制御量値
を出力するようにしたものである。
移動操作子の設定位置に応じた制御量値とが相違する場
合に、上記移動操作子が、上記記憶手段に設定されてい
る制御量値に近づく方向へ移動されているときは上記移
動操作子の設定位置に応じた制御量値を上記記憶手段へ
格納する動作を抑止して該記憶手段に記憶されている制
御量値をそのまま出力し、上記記憶手段に設定されてい
る制御量値から離れる方向へ移動されているときは上記
移動操作子の設定位置に応じた制御量値を上記記憶手段
へ格納するとともに、該記憶手段に記憶された制御量値
を出力するようにしたものである。
【0028】これにより、移動操作子としての例えばス
ライダを上下に動かして実際の値を探す必要はなくなり
、どちらか一方にスライダを動かせば、出力値が変化す
るようになる。なお、実際の値から離れる方向にスライ
ダを動かすと出力値が急に変化することになるが、この
変化は、操作者がスライダを操作して音量を変化させよ
うとする方向への変化であるので、或る程度の不自然さ
は残るものの充分実用に耐えうるものである。
ライダを上下に動かして実際の値を探す必要はなくなり
、どちらか一方にスライダを動かせば、出力値が変化す
るようになる。なお、実際の値から離れる方向にスライ
ダを動かすと出力値が急に変化することになるが、この
変化は、操作者がスライダを操作して音量を変化させよ
うとする方向への変化であるので、或る程度の不自然さ
は残るものの充分実用に耐えうるものである。
【0029】
【実施例】以下、本発明の実施例につき図面を参照しな
がら説明する。図1は、本発明の出力制御装置の一実施
例が適用される電子楽器の構成を概略的に示すブロック
図である。
がら説明する。図1は、本発明の出力制御装置の一実施
例が適用される電子楽器の構成を概略的に示すブロック
図である。
【0030】図において、10は鍵盤部であり、複数の
キーが配列された鍵盤と各々のキーの押下の状態を検知
するためのキースキャン回路とを含むものである。
キーが配列された鍵盤と各々のキーの押下の状態を検知
するためのキースキャン回路とを含むものである。
【0031】11は操作パネル部であり、電源スイッチ
、モード指定スイッチ、メロディ選択スイッチ、リズム
選択スイッチ等の各種スイッチ(図示しない)が設けら
れている。また、この操作パネル部11には、この発明
の特徴に直接関係する複数のフェーダー1が設けられて
いる。なお、この実施例においては、フェーダー1は増
幅器18の出力、即ち音量を制御するために使用される
ものとする。各スイッチのセット状態は、上記鍵盤部1
0と同様に、内部に含まれるパネルスキャン回路によっ
て検知されるようになっている。また、フェーダー1の
スライダ2の位置に関するデータは、スライダ2の位置
に応じて0〜127の各段階を示す電圧をA/D変換器
(図示しない)でデジタルデータに変換して得られる。
、モード指定スイッチ、メロディ選択スイッチ、リズム
選択スイッチ等の各種スイッチ(図示しない)が設けら
れている。また、この操作パネル部11には、この発明
の特徴に直接関係する複数のフェーダー1が設けられて
いる。なお、この実施例においては、フェーダー1は増
幅器18の出力、即ち音量を制御するために使用される
ものとする。各スイッチのセット状態は、上記鍵盤部1
0と同様に、内部に含まれるパネルスキャン回路によっ
て検知されるようになっている。また、フェーダー1の
スライダ2の位置に関するデータは、スライダ2の位置
に応じて0〜127の各段階を示す電圧をA/D変換器
(図示しない)でデジタルデータに変換して得られる。
【0032】12は中央処理装置(CPU)であり、読
出し専用記憶装置(ROM)13のプログラムメモリ部
に記憶されているプログラムに従って当該電子楽器の各
部を制御するものである。このCPU12には、図示し
ないタイマが含まれており、所定時間間隔で割り込みが
発生するようになっている。
出し専用記憶装置(ROM)13のプログラムメモリ部
に記憶されているプログラムに従って当該電子楽器の各
部を制御するものである。このCPU12には、図示し
ないタイマが含まれており、所定時間間隔で割り込みが
発生するようになっている。
【0033】上記ROM13は、上述したCPU12を
動作させるプログラムの他、音色データ、その他の種々
の固定データを含んでいる。
動作させるプログラムの他、音色データ、その他の種々
の固定データを含んでいる。
【0034】14はランダムアクセスメモリ(RAM)
であり、CPU12が使用する作業用のバッファ、該電
子楽器における各種処理を実施するためのレジスタ等が
定義されている。
であり、CPU12が使用する作業用のバッファ、該電
子楽器における各種処理を実施するためのレジスタ等が
定義されている。
【0035】15はシリアル入出力を行うインタフェー
ス回路(I/O)である。このインタフェース回路15
は、本電子楽器と外部装置との間でMIDI(Musi
calInstrument Digital
Interface)情報の送受を行うものである。
ス回路(I/O)である。このインタフェース回路15
は、本電子楽器と外部装置との間でMIDI(Musi
calInstrument Digital
Interface)情報の送受を行うものである。
【0036】16は楽音発生回路であり、図示しない波
形メモリに記憶されている楽音波形データを読み出して
再生することにより、各種楽器に対応した楽音信号を発
生するものである。
形メモリに記憶されている楽音波形データを読み出して
再生することにより、各種楽器に対応した楽音信号を発
生するものである。
【0037】この楽音発生回路16から出力されるデジ
タル楽音信号は、D/A変換器17に送出されるように
なっている。D/A変換器17は、入力されたデジタル
楽音信号をアナログ楽音信号に変換するものである。こ
のD/A変換器17で変換されたアナログ楽音信号は、
増幅器18に供給されるようになっている。
タル楽音信号は、D/A変換器17に送出されるように
なっている。D/A変換器17は、入力されたデジタル
楽音信号をアナログ楽音信号に変換するものである。こ
のD/A変換器17で変換されたアナログ楽音信号は、
増幅器18に供給されるようになっている。
【0038】増幅器18は、D/A変換器17からのア
ナログ楽音信号を、ボリュームコントロールに割り当て
られたフェーダー1に応じて増幅を行うものである。こ
の増幅器18の出力は、音響回路19に供給されるよう
になっている。
ナログ楽音信号を、ボリュームコントロールに割り当て
られたフェーダー1に応じて増幅を行うものである。こ
の増幅器18の出力は、音響回路19に供給されるよう
になっている。
【0039】音響回路19は、入力された電気信号とし
てのアナログ楽音信号を音響信号に変換するものである
。つまり、音響回路19は、例えばスピーカやヘッドホ
ン等に代表される音響発生手段であり放音を行うもので
ある。
てのアナログ楽音信号を音響信号に変換するものである
。つまり、音響回路19は、例えばスピーカやヘッドホ
ン等に代表される音響発生手段であり放音を行うもので
ある。
【0040】上記鍵盤部10、操作パネル部11、CP
U12、ROM13、RAM14、インタフェース回路
15及び楽音発生回路16は、システムバス30を介し
て相互に接続されるようになっている。
U12、ROM13、RAM14、インタフェース回路
15及び楽音発生回路16は、システムバス30を介し
て相互に接続されるようになっている。
【0041】次に、上記構成において、動作を説明する
。
。
【0042】図2は該電子楽器のメインフローチャート
を示す。電源が投入されると、先ず、初期値設定処理が
実行される(ステップS10)。この初期値設定処理で
は、RAM14内の各種バッファ、フラグ、レジスタ等
の初期化処理が行われる。
を示す。電源が投入されると、先ず、初期値設定処理が
実行される(ステップS10)。この初期値設定処理で
は、RAM14内の各種バッファ、フラグ、レジスタ等
の初期化処理が行われる。
【0043】次いで、スイッチ処理が実行される(ステ
ップS11)。このスイッチ処理では、スイッチバッフ
ァに記憶されている鍵盤部10又は操作パネル部11か
らのスイッチデータを解析し、該データに応じて、例え
ばモード変更、カーソル移動等の処理を実行する。
ップS11)。このスイッチ処理では、スイッチバッフ
ァに記憶されている鍵盤部10又は操作パネル部11か
らのスイッチデータを解析し、該データに応じて、例え
ばモード変更、カーソル移動等の処理を実行する。
【0044】次いで、フェーダー処理が実行される(ス
テップS12)。即ち、RAM14内に設けられたフェ
ーダーバッファの内容に基づいて、そのモードに応じた
処理を行う。このフェーダー処理の詳細については後述
する。
テップS12)。即ち、RAM14内に設けられたフェ
ーダーバッファの内容に基づいて、そのモードに応じた
処理を行う。このフェーダー処理の詳細については後述
する。
【0045】次いで、MIDI処理を行う(ステップS
13)。このMIDI処理では、インタフェース回路1
5を介してMIDI情報の入出力処理を行う。
13)。このMIDI処理では、インタフェース回路1
5を介してMIDI情報の入出力処理を行う。
【0046】次いで、ステップS11へ戻り、以下ステ
ップS11〜13を繰り返し実行することにより、鍵盤
部10又は操作パネル部11のスイッチの操作に応じた
電子楽器の発音処理等が行われる。
ップS11〜13を繰り返し実行することにより、鍵盤
部10又は操作パネル部11のスイッチの操作に応じた
電子楽器の発音処理等が行われる。
【0047】一方、上記メインルーチンの実行と並行し
て割り込み処理が実行される。図3は、この割り込み処
理を示すフローチャートである。
て割り込み処理が実行される。図3は、この割り込み処
理を示すフローチャートである。
【0048】割り込みは、CPU12に含まれる図示し
ないカウンタのカウント値が所定値になる度に発生する
ものであり、例えば数ミリ秒間隔で発生する。この割り
込み処理ルーチンは、割り込みが発生することによりコ
ールされることになる。
ないカウンタのカウント値が所定値になる度に発生する
ものであり、例えば数ミリ秒間隔で発生する。この割り
込み処理ルーチンは、割り込みが発生することによりコ
ールされることになる。
【0049】割り込み処理では、先ず、RAM14に設
けられたカウンタCNTの内容がインクリメントされる
(ステップS20)。
けられたカウンタCNTの内容がインクリメントされる
(ステップS20)。
【0050】次いで、カウンタCNTの内容が所定値m
になったか否かが調べられる(ステップS21)。ここ
で、所定値mは、同時に処理する操作子群の数に相当す
る値である。例えば、「0」はパネルスイッチ、「1」
はフェーダー、…、「m」は他のスイッチ、といった具
合である。なお、パネルスイッチを更に複数に分割し、
また、フェーダーを更に複数に分割して、同時に処理す
る単位を小さくするようにしても良い。
になったか否かが調べられる(ステップS21)。ここ
で、所定値mは、同時に処理する操作子群の数に相当す
る値である。例えば、「0」はパネルスイッチ、「1」
はフェーダー、…、「m」は他のスイッチ、といった具
合である。なお、パネルスイッチを更に複数に分割し、
また、フェーダーを更に複数に分割して、同時に処理す
る単位を小さくするようにしても良い。
【0051】このステップS21でカウンタCNTの内
容が「m」であることが判断されると、カウンタCNT
をゼロにクリアする(ステップS22)。一方、カウン
タCNTの内容が「m」でないことが判断されると、該
ステップS22はスキップされる。以上の処理により、
カウンタCNTは、割り込みが発生する都度インクリメ
ントされ、0〜mの範囲で循環することになる。
容が「m」であることが判断されると、カウンタCNT
をゼロにクリアする(ステップS22)。一方、カウン
タCNTの内容が「m」でないことが判断されると、該
ステップS22はスキップされる。以上の処理により、
カウンタCNTは、割り込みが発生する都度インクリメ
ントされ、0〜mの範囲で循環することになる。
【0052】次いで、カウンタCNTの内容が調べられ
る(ステップS23)。そして、「0」であることが判
断されると、スイッチバッファの更新が行われる(ステ
ップS24)。「1」であることが判断されると、フェ
ーダーバッファの更新が行われる。「2」であることが
判断されると他の操作子用バッファの更新が行われる。 以下同様に、「m」までの間で判断が行われ、それぞれ
割り当てられた処理が行われる。
る(ステップS23)。そして、「0」であることが判
断されると、スイッチバッファの更新が行われる(ステ
ップS24)。「1」であることが判断されると、フェ
ーダーバッファの更新が行われる。「2」であることが
判断されると他の操作子用バッファの更新が行われる。 以下同様に、「m」までの間で判断が行われ、それぞれ
割り当てられた処理が行われる。
【0053】そして、これらの処理が完了すると、この
割り込み処理ルーチンからリターンし、メインルーチン
に戻る。
割り込み処理ルーチンからリターンし、メインルーチン
に戻る。
【0054】次に、メインルーチンのステップS12で
行うフェーダー処理の詳細について、図4のフローチャ
ートを参照しながら説明する。
行うフェーダー処理の詳細について、図4のフローチャ
ートを参照しながら説明する。
【0055】先ず、フェーダーバッファVolとボリュ
ームバッファReの大小関係が調べられる(ステップS
30、31)。ここで、フェーダーバッファVolとは
、フェーダー1のスライダの現在位置に応じた値(0〜
127)を記憶するバッファであり、ボリュームバッフ
ァReとは、出力すべき音量を記憶するバッファである
。このボリュームバッファReの内容が、増幅器18に
供給され発生する楽音の音量が制御されることになる。
ームバッファReの大小関係が調べられる(ステップS
30、31)。ここで、フェーダーバッファVolとは
、フェーダー1のスライダの現在位置に応じた値(0〜
127)を記憶するバッファであり、ボリュームバッフ
ァReとは、出力すべき音量を記憶するバッファである
。このボリュームバッファReの内容が、増幅器18に
供給され発生する楽音の音量が制御されることになる。
【0056】具体的には、先ず、ボリュームバッファR
eの内容からフェーダーバッファVolの内容を減算し
、結果をAレジスタに格納する(ステップS30)。 ここで、Aレジスタは、RAM14に定義されるレジス
タである。次いで、Aレジスタの内容とゼロとを比較す
る(ステップS31)。
eの内容からフェーダーバッファVolの内容を減算し
、結果をAレジスタに格納する(ステップS30)。 ここで、Aレジスタは、RAM14に定義されるレジス
タである。次いで、Aレジスタの内容とゼロとを比較す
る(ステップS31)。
【0057】そして、Aレジスタの内容がゼロより小さ
い(A<0)、つまりフェーダーバッファVolの内容
がボリュームバッファReの内容より大きいことが判断
されると、Bレジスタに「1」を入れる(ステップS3
2)。ここで、BレジスタはRAM14に定義されるレ
ジスタである。次いで、Aレジスタの内容に「−1」を
乗算してAレジスタに入れる(ステップS33)。即ち
、負の数であるAレジスタの内容を、同一絶対値の正の
数に変換する。これにより、Aレジスタには、ボリュー
ムバッファReの内容とフェーダーバッファVolの内
容との差の絶対値が、正の数として記憶されることにな
る。
い(A<0)、つまりフェーダーバッファVolの内容
がボリュームバッファReの内容より大きいことが判断
されると、Bレジスタに「1」を入れる(ステップS3
2)。ここで、BレジスタはRAM14に定義されるレ
ジスタである。次いで、Aレジスタの内容に「−1」を
乗算してAレジスタに入れる(ステップS33)。即ち
、負の数であるAレジスタの内容を、同一絶対値の正の
数に変換する。これにより、Aレジスタには、ボリュー
ムバッファReの内容とフェーダーバッファVolの内
容との差の絶対値が、正の数として記憶されることにな
る。
【0058】一方、上記ステップS31でAレジスタの
内容がゼロ以上(A≧0)、つまりフェーダーバッファ
VolがボリュームバッファRe以下であることが判断
されると、Bレジスタに「−1」を入れる(ステップS
34)。
内容がゼロ以上(A≧0)、つまりフェーダーバッファ
VolがボリュームバッファRe以下であることが判断
されると、Bレジスタに「−1」を入れる(ステップS
34)。
【0059】次いで、Aレジスタの内容と所定値nとが
比較される(ステップS35)。ここでいう所定値nは
、図9で説明した閾値nとは異なり、単に実行ステップ
数削減のためのものなので、スライダ移動の最大距離よ
り大きくする必要はなく、場合によってゼロでも構わな
い。
比較される(ステップS35)。ここでいう所定値nは
、図9で説明した閾値nとは異なり、単に実行ステップ
数削減のためのものなので、スライダ移動の最大距離よ
り大きくする必要はなく、場合によってゼロでも構わな
い。
【0060】そして、Aレジスタの内容が所定値n以下
であることが判断されると、フェーダーバッファVol
の内容をボリュームバッファReに入れる(ステップS
41)。これにより、フェーダー1で指定された新しい
ボリューム値で放音されることになる。
であることが判断されると、フェーダーバッファVol
の内容をボリュームバッファReに入れる(ステップS
41)。これにより、フェーダー1で指定された新しい
ボリューム値で放音されることになる。
【0061】次いで、現在のフェーダーバッファVol
の内容をCレジスタに記憶する(ステップS42)。こ
こで、CレジスタはRAM14に定義されるレジスタで
あり、1回前の処理で使用したフェーダー1の位置デー
タを記憶するレジスタである。
の内容をCレジスタに記憶する(ステップS42)。こ
こで、CレジスタはRAM14に定義されるレジスタで
あり、1回前の処理で使用したフェーダー1の位置デー
タを記憶するレジスタである。
【0062】一方、上記ステップS35で、Aレジスタ
の内容が所定値nより大きいことが判断されると、以下
の処理を行う。
の内容が所定値nより大きいことが判断されると、以下
の処理を行う。
【0063】先ず、所定値CからフェーダーバッファV
olの内容を減算し、Aレジスタに入れる(ステップS
36)。そして、Aレジスタの内容とゼロとを比較する
(ステップS37)。
olの内容を減算し、Aレジスタに入れる(ステップS
36)。そして、Aレジスタの内容とゼロとを比較する
(ステップS37)。
【0064】ここで、Aレジスタの内容がゼロ(A=0
)であることが判断されると、フェーダーは前回から移
動していない、つまりフェーダーは止まっていると判断
し、何等処理を行わずに本処理ルーチンからリターンす
る。
)であることが判断されると、フェーダーは前回から移
動していない、つまりフェーダーは止まっていると判断
し、何等処理を行わずに本処理ルーチンからリターンす
る。
【0065】一方、Aレジスタの内容がゼロより小さい
(A<0)であることが判断されると、前回のフェーダ
ーバッファの内容が今回のフェーダーバッファの内容よ
り小さいので、フェーダーは上方向に移動されていると
認識し、Bレジスタの内容から「1」を減算してAレジ
スタに入れる(ステップS38)。この際、Bレジスタ
の内容が「1」、つまり、「ボリュームバッファRe<
フェーダーバッファVol」であれば、Aレジスタには
「0」が格納されることになる。この状態は、図5(c
)に示してある。一方、Bレジスタの内容が「−1」、
つまり、「ボリュームバッファRe≧フェーダーバッフ
ァVol」であれば、Aレジスタには「−2」が格納さ
れることになる。この状態は、図5(a)に示してある
。
(A<0)であることが判断されると、前回のフェーダ
ーバッファの内容が今回のフェーダーバッファの内容よ
り小さいので、フェーダーは上方向に移動されていると
認識し、Bレジスタの内容から「1」を減算してAレジ
スタに入れる(ステップS38)。この際、Bレジスタ
の内容が「1」、つまり、「ボリュームバッファRe<
フェーダーバッファVol」であれば、Aレジスタには
「0」が格納されることになる。この状態は、図5(c
)に示してある。一方、Bレジスタの内容が「−1」、
つまり、「ボリュームバッファRe≧フェーダーバッフ
ァVol」であれば、Aレジスタには「−2」が格納さ
れることになる。この状態は、図5(a)に示してある
。
【0066】上記ステップS37で、Aレジスタの内容
がゼロより大きい(A>0)であることが判断されると
、前回のフェーダーバッファの内容は今回のフェーダー
バッファの内容より大きいので、フェーダーは下方向に
移動されていると認識し、Bレジスタの内容に「1」を
加算してAレジスタに入れる(ステップS39)。この
際、Bレジスタの内容が「1」、つまり、「ボリューム
バッファRe<フェーダーバッファVol」であれば、
Aレジスタには「2」が格納されることになる。この状
態は、図5(d)に示してある。一方、Bレジスタの内
容が「−1」、つまり、「ボリュームバッファRe≧フ
ェーダーバッファVol」であれば、Aレジスタには「
0」が格納されることになる。この状態は、図5(b)
に示してある。
がゼロより大きい(A>0)であることが判断されると
、前回のフェーダーバッファの内容は今回のフェーダー
バッファの内容より大きいので、フェーダーは下方向に
移動されていると認識し、Bレジスタの内容に「1」を
加算してAレジスタに入れる(ステップS39)。この
際、Bレジスタの内容が「1」、つまり、「ボリューム
バッファRe<フェーダーバッファVol」であれば、
Aレジスタには「2」が格納されることになる。この状
態は、図5(d)に示してある。一方、Bレジスタの内
容が「−1」、つまり、「ボリュームバッファRe≧フ
ェーダーバッファVol」であれば、Aレジスタには「
0」が格納されることになる。この状態は、図5(b)
に示してある。
【0067】次いで、Aレジスタの内容がゼロであるか
否かが調べられる(ステップS40)。そして、ゼロで
ある(A=0)であることが判断されると、フェーダー
バッファVolの内容をボリュームバッファReに入れ
る(ステップS41)。これにより、フェーダー1で指
定された新しいボリューム値で放音されることになる。 この際、図5(b)、(c)に示すように、実際の値か
ら離れる方向に動かすと、ボリュームの値が急に変化す
ることになるが、操作者が変化させたい方向への音量変
化であるので、問題はない。
否かが調べられる(ステップS40)。そして、ゼロで
ある(A=0)であることが判断されると、フェーダー
バッファVolの内容をボリュームバッファReに入れ
る(ステップS41)。これにより、フェーダー1で指
定された新しいボリューム値で放音されることになる。 この際、図5(b)、(c)に示すように、実際の値か
ら離れる方向に動かすと、ボリュームの値が急に変化す
ることになるが、操作者が変化させたい方向への音量変
化であるので、問題はない。
【0068】次いで、現在のフェーダーバッファVol
の内容をCレジスタに記憶し(ステップS42)、この
フェーダー処理ルーチンからリターンする。
の内容をCレジスタに記憶し(ステップS42)、この
フェーダー処理ルーチンからリターンする。
【0069】一方、上記ステップS40でゼロでない(
A≠0)であることが判断されると、フェーダーバッフ
ァVolの内容をボリュームバッファReに入れる処理
(ステップS41)はスキップされる。したがって、こ
の場合は音量の変化はない。この場合、図5(a)、(
d)に示すように、実際の値に近づく方向に動かすと、
実際の値を越えるまでは音量変化はなく、したがって、
従来と同様の操作結果が得られる。
A≠0)であることが判断されると、フェーダーバッフ
ァVolの内容をボリュームバッファReに入れる処理
(ステップS41)はスキップされる。したがって、こ
の場合は音量の変化はない。この場合、図5(a)、(
d)に示すように、実際の値に近づく方向に動かすと、
実際の値を越えるまでは音量変化はなく、したがって、
従来と同様の操作結果が得られる。
【0070】そして、現在のフェーダーバッファVol
の内容をCレジスタに記憶し(ステップS42)、この
フェーダー処理ルーチンからリターンする。
の内容をCレジスタに記憶し(ステップS42)、この
フェーダー処理ルーチンからリターンする。
【0071】以上の構成により、フェーダーの値と実際
の出力値が離れているときは、フェーダーが、現在の出
力値から離れる方向に動いているときだけスライドボリ
ュームの値を出力する。
の出力値が離れているときは、フェーダーが、現在の出
力値から離れる方向に動いているときだけスライドボリ
ュームの値を出力する。
【0072】なお、上記実施例では、フェーダーを用い
てボリューム情報を制御する場合について説明したが、
これに限定されるのではなく、他の情報の制御にも同様
に適用できることは勿論である。
てボリューム情報を制御する場合について説明したが、
これに限定されるのではなく、他の情報の制御にも同様
に適用できることは勿論である。
【0073】また、上記実施例では、1チヤネルのボリ
ューム情報を制御する場合について説明したが、チャネ
ル数は任意である。この場合、各チャネルに対応して上
述した処理を行うように構成すれば良い。
ューム情報を制御する場合について説明したが、チャネ
ル数は任意である。この場合、各チャネルに対応して上
述した処理を行うように構成すれば良い。
【0074】また、上記実施例では、スライド式のフェ
ーダーについて説明したが、これに限定されるものでは
ない。例えば回転式のボリューム等にも同様に適用でき
るものであり、上記実施例と同様の効果を奏する。
ーダーについて説明したが、これに限定されるものでは
ない。例えば回転式のボリューム等にも同様に適用でき
るものであり、上記実施例と同様の効果を奏する。
【0075】
【発明の効果】以上詳述したように、本発明によれば、
フェーダーを実際の値から離れる方向へ動かす場合も、
一度逆の方向へ動かす必要のない、操作性に優れた出力
制御装置を提供できる。
フェーダーを実際の値から離れる方向へ動かす場合も、
一度逆の方向へ動かす必要のない、操作性に優れた出力
制御装置を提供できる。
【図1】本発明の出力制御装置が適用される電子楽器の
一実施例の構成を示すブロック図である。
一実施例の構成を示すブロック図である。
【図2】図1に示した電子楽器のメインフローチャート
である。
である。
【図3】図1に示した電子楽器の割り込み処理を示すフ
ローチャートである。
ローチャートである。
【図4】本発明の出力制御装置の機能を実現するフェー
ダー処理を示すフローチャートである。
ダー処理を示すフローチャートである。
【図5】本発明の実施例の動作を説明するための図であ
る。
る。
【図6】フェーダーの一実施例を示す図である。
【図7】従来の出力制御装置の動作を説明するための図
である。
である。
【図8】従来の改良された出力制御装置の動作を説明す
るための図である。
るための図である。
【図9】図8に示す出力制御装置の動作を示すフローチ
ャートである。
ャートである。
【図10】従来の出力制御装置に用いられる閾値nを説
明するための図である。
明するための図である。
1 フェーダー(移動操作子)
2 スライダ
11 操作パネル部
12 CPU(出力制御手段)
13 ROM
14 RAM(記憶手段)
15 インタフェース回路(供給手段)16 楽音
発生回路
発生回路
Claims (1)
- 【請求項1】 制御量値を与える移動操作子と、他の
制御量値を供給する供給手段と、前記移動操作子の設定
位置に応じた制御量値又は供給手段から供給された制御
量値を記憶する記憶手段と、前記移動操作子が、前記記
憶手段に設定されている制御量値に近づく方向へ移動し
ているときは前記移動操作子の設定位置に応じた制御量
値の前記記憶手段への格納を抑止して該記憶手段の制御
量値を出力し、前記記憶手段に設定されている制御量値
から離れる方向へ移動しているときは前記移動操作子の
設定位置に応じた制御量値を前記記憶手段へ格納して該
記憶手段の制御量値を出力する出力制御手段とを具備し
たことを特徴とする出力制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3121765A JPH04324896A (ja) | 1991-04-25 | 1991-04-25 | 出力制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3121765A JPH04324896A (ja) | 1991-04-25 | 1991-04-25 | 出力制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04324896A true JPH04324896A (ja) | 1992-11-13 |
Family
ID=14819335
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3121765A Pending JPH04324896A (ja) | 1991-04-25 | 1991-04-25 | 出力制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04324896A (ja) |
-
1991
- 1991-04-25 JP JP3121765A patent/JPH04324896A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5027689A (en) | Musical tone generating apparatus | |
| EP2866223B1 (en) | Automated music performance time stretch using audio waveform data | |
| US5227573A (en) | Control value output apparatus with an operation member for continuous value change | |
| JP2876359B2 (ja) | 電子楽器のパラメータ設定装置 | |
| JPH04324896A (ja) | 出力制御装置 | |
| JP3220396B2 (ja) | 楽音波形再生装置 | |
| JP3008419B2 (ja) | 電子楽器 | |
| JP3320169B2 (ja) | 電子楽器のパラメータエディット装置 | |
| JPH04324898A (ja) | 出力制御装置 | |
| JPH04324897A (ja) | 出力制御装置 | |
| JP2629418B2 (ja) | 楽音合成装置 | |
| JP3801722B2 (ja) | 楽音制御パラメータ生成装置 | |
| JP4229355B2 (ja) | 電子楽器のパラメータ設定装置 | |
| JP3371643B2 (ja) | 信号処理装置 | |
| JPH05289662A (ja) | エフェクト自動選択装置 | |
| JP2786056B2 (ja) | 電子楽器 | |
| JP3543384B2 (ja) | 電子楽器 | |
| JP3006977B2 (ja) | 電子楽器の演奏制御情報設定装置 | |
| JPH0744175A (ja) | 電子楽器 | |
| JP3156284B2 (ja) | 電子楽器 | |
| JP3221987B2 (ja) | 遅延時間変調効果装置 | |
| JP3651675B2 (ja) | 電子楽器 | |
| JP3707908B2 (ja) | 電子楽器の効果付加装置 | |
| JP3160934B2 (ja) | 楽音パラメータ表示装置 | |
| JPH0685515U (ja) | 音色制御装置 |