(57)【特許請求の範囲】
【請求項１】
スライダー操作子を備えた電子楽器であって、
前記スライダーの操作開始を検出する手段と、
前記操作開始から所定時間待機し、該所定時間の後に、前記スライダーの位置に応じた値をパラメータ現在値として設定する手段であって、パラメータ現在値を徐々に前記スライダーの位置に応じた値まで変化させるとともに、その変化の度合いはパラメータの分解能に応じて決定するものと
を備えることを特徴とする電子楽器。
【請求項２】
スライダー操作子を備えた電子楽器であって、
前記スライダーの操作開始を検出する手段と、
前記操作開始から所定時間待機し、該所定時間の後に、前記スライダーの位置に応じた値をパラメータ現在値として設定するとともに、該所定時間が経過する前に前記スライダーの位置に応じた値がパラメータ現在値に至ったことが検出された場合は、前記所定時間の経過を待つことなくその時点の前記スライダーの位置に応じた値をパラメータ現在値として設定する手段であって、パラメータ現在値を徐々に前記スライダーの位置に応じた値まで変化させるとともに、その変化の度合いはパラメータの分解能に応じて決定するものと
を備えることを特徴とする電子楽器。
【請求項３】
請求項１または２に記載の電子楽器において、
前記所定時間は、パラメータ毎に決定することを特徴とする電子楽器。
【請求項４】
請求項１から３の何れか１つに記載の電子楽器において、
パラメータ毎に、前記スライダーの操作開始から所定時間待機しないでパラメータ現在値を変化させる方式と、前記スライダーの操作開始から所定時間待機してパラメータ現在値を変化させる方式とを、選択する手段を、さらに備えることを特徴とする電子楽器。
【請求項５】
コンピュータを、スライダー操作子を備えた電子楽器として動作させるプログラムであって、
前記コンピュータを、
前記スライダーの操作開始を検出する手段と、
前記操作開始から所定時間待機し、該所定時間の後に、前記スライダーの位置に応じた値をパラメータ現在値として設定する手段であって、パラメータ現在値を徐々に前記スライダーの位置に応じた値まで変化させるとともに、その変化の度合いはパラメータの分解能に応じて決定するものと
を備える電子楽器として機能させることを特徴とするプログラム。
【請求項６】
コンピュータを、スライダー操作子を備えた電子楽器として動作させるプログラムであって、
前記コンピュータを、
前記スライダーの操作開始を検出する手段と、
前記操作開始から所定時間待機し、該所定時間の後に、前記スライダーの位置に応じた値をパラメータ現在値として設定するとともに、該所定時間が経過する前に前記スライダーの位置に応じた値がパラメータ現在値に至ったことが検出された場合は、前記所定時間の経過を待つことなくその時点の前記スライダーの位置に応じた値をパラメータ現在値として設定する手段であって、パラメータ現在値を徐々に前記スライダーの位置に応じた値まで変化させるとともに、その変化の度合いはパラメータの分解能に応じて決定するものと
を備える電子楽器として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スライダー操作子を備えた電子楽器において、スライダー操作によるパラメータ値の急激な変化を緩和する技術に関する。
【背景技術】
【０００２】
従来より、電子楽器には、音量レベルなどの各種のパラメータ値を設定／変更するためのスライダー（フェーダー）を備えたものが知られている。通常、外部パネル上のスライダーの数より設定／変更したいパラメータの数の方が多いため、１つのスライダーの機能を切り替えながら複数のパラメータ値を設定／変更できるようにしている。この場合、スライダーのつまみの位置と設定／変更するパラメータ値の現在値とが一致しない場合があるが、スライダーがいわゆるムービング機能（パラメータ値に応じた位置につまみを強制的に設定する駆動機構を備えたもの）を備えたスライダーであれば、パラメータ値の現在値に応じた位置にスライダーのつまみを強制的にセットすることができる。一方、ムービング機能を持たないスライダーの場合、（１）スライダー位置変更に伴いパラメータ値が即座に変更される方式、又は、（２）いわゆるピックアップ方式が適用される。
【０００３】
図９は、上記（１）の方式を採った場合のスライダー値とパラメータ値の変化例を示す。横軸が時間の経過を示し、縦軸がスライダー値及びパラメータ値を示す。「スライダー値」とは、スライダーのつまみの位置に対応するパラメータ値を言う。パラメータ値の現在値が点線９１１にあり、スライダー値が点線９１２にある状態で、時点９０１においてスライダー操作が開始したとする。このとき、スライダーの位置変更に伴い、点線９１３に示すように、パラメータの現在値はスライダー値へと急激に変化する。その後は、点線９１４に示すように、スライダーの操作に応じてパラメータ現在値も変化し、最終的に目標値９１５に到る。
【０００４】
図１０は、上記（２）の方式でのスライダー値とパラメータ値の変化例を示す。ピックアップ方式とは、スライダー値とパラメータ現在値とが異なる場合、いったんパラメータ現在値の位置までスライダーを操作した後、スライダー位置に応じてパラメータ値を変化させる方式である。図１０では、パラメータ現在値が点線１０１１で、スライダー値が点線１０１２にある状態で、時点１００１でスライダー操作を開始したとする。このとき、スライダー値を点線１０１３のように変化させても、未だパラメータ現在値に到っていないので、パラメータ現在値が変化することはない。スライダー値がパラメータ現在値に到った後は、点線１０１４に示すように、スライダー位置に応じてパラメータ値が変化する。その後、目標値１０１５にセットすればよい。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述の図９，１０の方式では、スライダー値とパラメータ値が一致している状態から、スライダー位置を変更してパラメータ値を変更する場合は、特に問題はない。しかし、例えば別音色を呼び出した直後や画面切り替え直後など、当該スライダーで設定／変更する対象のパラメータを切り替えた場合には、スライダー値とパラメータ現在値が一致していない状態からスライダー位置を変更してパラメータ値を変更することになる。この場合、図９の方式では、スライダー位置変更後、即座にパラメータ値がその位置に反映して変更されるので、特に相互の位置に大きな差がある場合は急激にパラメータ値が変化するという問題及びその変化に基づいてノイズが発生するという問題がある。上記図１０の方式では、目標値にかかわらず、いったん現在のパラメータ値の位置までスライダーを操作した後、再度、設定したい目標値までスライダーを操作しなければならないため、直感的に分かりにくいという問題や、操作に時間や手間が掛かり面倒であるという問題がある。
【０００６】
本発明は、ムービング機能を持たないスライダーを使用して各種パラメータ値を設定／変更する電子楽器において、スライダー操作によるパラメータ値の急激な変化を緩和する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明は、スライダー操作子を備えた電子楽器であって、前記スライダーの操作開始を検出する手段と、前記操作開始から所定時間待機し、該所定時間の後に、前記スライダーの位置に応じた値をパラメータ現在値として設定する手段であって、パラメータ現在値を徐々に前記スライダーの位置に応じた値まで変化させるとともに、その変化の度合いはパラメータの分解能に応じて決定するものとを備えることを特徴とする。
【０００８】
また、本発明は、スライダー操作子を備えた電子楽器であって、前記スライダーの操作開始を検出する手段と、前記操作開始から所定時間待機し、該所定時間の後に、前記スライダーの位置に応じた値をパラメータ現在値として設定するとともに、該所定時間が経過する前に前記スライダーの位置に応じた値がパラメータ現在値に至ったことが検出された場合は、前記所定時間の経過を待つことなくその時点の前記スライダーの位置に応じた値をパラメータ現在値として設定する手段であって、パラメータ現在値を徐々に前記スライダーの位置に応じた値まで変化させるとともに、その変化の度合いはパラメータの分解能に応じて決定するものとを備えることを特徴とする。
【０００９】
前記所定時間は、パラメータ毎に決定するようにしてもよい。また、パラメータ毎に、前記スライダーの操作開始から所定時間待機しないでパラメータ現在値を変化させる方式と、前記スライダーの操作開始から所定時間待機してパラメータ現在値を変化させる方式とを、選択できるようにしてもよい。
【００１０】
なお、前記スライダー操作子は、画面上にイメージを表示し、ポインティングデバイスなどで操作するものを含むものとする。
【発明の効果】
【００１１】
本発明によれば、従来のやり方に対して、スライダー操作に伴うノイズを低減させることができ、また直感的な操作が可能となる。従来の操作に慣れているユーザーにも違和感なく受け入れてもらえる。また、特にストロークの小さい（短い）スライダーでは、わずかな位置の違いが大きなパラメータ値の差になることがあるが、そのような場合でも、本願アルゴリズムを用いることで、パラメータ値の意図しない急激な変化を抑える事ができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を用いて本発明の実施の形態を説明する。
【００１３】
図１は、本発明の実施の形態に係る電子楽器１００のハードウェア構成例を示す。ＣＰＵ（中央処理装置）１０１は、この電子楽器全体の動作を制御する処理装置である。ＲＡＭ（ランダムアクセスメモリ）１０２は、ＣＰＵ１０１が実行するプログラムのロード領域やワーク領域に使用する揮発性メモリである。ＲＯＭ（リードオンリメモリ）１０３は、ＣＰＵ１０１が実行する制御プログラムや各種のデータを格納する不揮発性メモリである。操作子１０５は、この電子楽器の外部パネルに設けられているスイッチやスライダーなどの操作子、及び鍵盤などの演奏操作子である。操作子１０５の操作は検出回路１０６により検出され、検出結果がＣＰＵ１０１に送られる。表示部１０７は、各種の情報を表示するディスプレイである。表示回路１０８は、ＣＰＵ１０１からの指示に基づいて、与えられたデータを表示部１０７に表示する。通信インターフェース（Ｉ／Ｆ）１０９は、外部機器１１０や外部ネットワークと接続するためのインターフェースである。その接続方式はどのようなものでもよい。音源１０４は、ＣＰＵ１０１からの指示に基づいて楽音信号を発生する。発生した楽音信号は、アナログの音響信号に変換され、増幅回路１１１で増幅された後、スピーカー１１２で放音される。
【００１４】
図２は、図１の電子楽器１００の外部パネルイメージ及び外部から通信コマンドを受信する様子を示すイメージ図である。電子楽器１００の外部パネル上には、複数のスライダー２０１、その他のスイッチやボリューム２０２，２０３、及びディスプレイ２０４などが設けられている。スライダー２０１とスイッチ等２０２，２０３は図１の操作子１０５に対応し、ディスプレイ２０４は図１の表示部１０７に対応する。スイッチ等２０２，２０３の操作などでディスプレイ２０４に表示される画面を切り替え、これにより各スライダー２０１に割り当てるパラメータを切り替えることができる。もちろん画面の切り替えを伴わずに、各スライダー２０１へのパラメータの割り当てを変更できるようにしてもよい。
【００１５】
スライダー２０１も含めて外部パネル上の操作子を操作すると、内部でその操作に応じたイベントが発生し、そのイベントに応じた処理が実行される。これについては、図５などで後述する。また、本実施形態の電子楽器では、外部ネットワーク１３０や外部機器１１０から通信コマンドを入力し、該通信コマンドに応じた処理を実行する機能を備える。特に、通信コマンドは「擬似操作子操作コマンド」を含む。「擬似操作子操作コマンド」とは、当該電子楽器の操作子２０１〜２０３が操作されたかのようなイベントを発生させるコマンドである。「擬似操作子操作コマンド」を入力したときの処理については、図６などで後述する。
【００１６】
図３は、本実施形態の電子楽器におけるスライダー値とパラメータ現在値の変化の例（その１）を示す。横軸は時間、縦軸はスライダー値とパラメータ現在値を示す。パラメータ現在値３１１とスライダー値３１２とが異なる状態で、時点３０１でユーザがスライダー操作を開始したとする。スライダー値は点線３１３に示すように変化するが、所定時間３２１（ここでは300msec程度）が経過するまでパラメータ現在値は変化しない。所定時間３２１が経過した時点３０２で、パラメータ現在値をスライダー値に応じて設定し、目標値３１４に至る。この方式では、所定時間の間にスライダー値とパラメータ現在値との差を小さくした上でパラメータ現在値をスライダー位置に応じて設定変更できるので、ノイズの低減を図ることができる。
【００１７】
図４は、図３の変形例を示す。パラメータ現在値４１１とスライダー値４１２に差がある状態で、時点４０１でスライダー操作が開始されたとする。このとき、所定時間４２１の間はスライダーの操作をパラメータ現在値に反映させない点は図３の例と同じである。図４では、所定時間４２１経過後の時点４０２から徐々にパラメータ現在値４１３をスライダー値４１４に合わせるように近づけ、目標値４１５に至るようにする。なお、時点４０２からパラメータ現在値をスライダー値に徐々に近づける方式は任意である。例えば、Ｎmsec毎にパラメータ現在値を所定値Ｍstepずつ変化させて徐々にスライダー値に近づけるようにすればよい。この方式によれば、ノイズ低減を図ることができると共に、直感的な操作が可能となる。
【００１８】
図５（ａ）は、ＣＰＵ１０１が実行するメインルーチンのフローチャートを示す。ステップ５０１でイベント検出を行い、検出されたらステップ５０２から５０３に進んで、当該イベントを対応するタスクに発行する。例えば、外部パネル上のスライダーが操作されたときには、スライダー操作イベントが検出され、該スライダー操作イベントが図５（ｂ）のスライダータスクに送られる。他のイベントの場合も同様に、当該イベントがそのイベントに応じたタスクに送られ当該イベントに応じた処理が実行されるが、それについては説明を省略する。
【００１９】
図５（ｂ）は、スライダー操作イベントに応じて実行されるスライダータスクのフローチャートを示す。ステップ５１１で激変緩和タスク（図５（ｃ）で後述する）が実行中か判別（後述するフラグを参照して判別する）し、実行中ならそのまま終了する。実行中でなければ、ステップ５１２でフラグをオンし、ステップ５１３で激変緩和タスクを起動する。上記フラグは、オンで激変緩和タスクが実行中であることを示し、オフで実行中でないことを示す。
【００２０】
図５（ｃ）は、ステップ５１３で起動される激変緩和タスクのフローチャートを示す。ステップ５２１で所定時間（300msec）だけ待つ。この待ち時間は、図３，４で説明した３２１，４２１に相当する。次に、ステップ５２２でオフセットの範囲内か判別する。これは、この時点のスライダー値とパラメータ現在値とを比較して、スライダー値がパラメータ現在値±３％の範囲に入っているかを判別するものである（パラメータ現在値がスライダー値±３％の範囲内かを判別してもよい）。スライダー値がこのオフセット範囲内にあるときは、スライダー値がパラメータ現在値に一致していると見なし、ステップ５２４に進む。オフセット範囲外のときは、ステップ５２３で、スライダー値に応じてパラメータ値をセットし、ステップ５２４に進む。ステップ５２４でフラグをオフして終了する。
【００２１】
上記図５の処理により、図３の方式の動作が実現される。図５の処理は、いわゆるイベントドリブンの処理になっており、ＣＰＵ１０１側の処理とスライダーその他の操作子側の処理とを切り離している。すなわち、スライダー（その他の操作子も同様）が操作開始され操作し続けられている間は、スライダー側から操作イベントが繰り返し発行される。ＣＰＵ１０１側はそれらの操作イベントを全て受け取り、その操作イベントに応じた処理を実行するだけである。スライダー操作イベントでは、ステップ５２１で300msec待つ処理があり、その間にスライダー操作イベントが発行されてくる場合もあるが、その場合はステップ５１１で激変緩和タスク実行中と判別されて処理が終了するので問題はない。なお、上記のフローから分かるように、画面切り替えやシーンリコールなどでスライダーとパラメータとの割り当てが変更されただけでは、図５（ｃ）の処理は実行されない。ユーザーが意図的にスライダーを操作した際、その操作開始の時点で起動するようになっている。
【００２２】
図５では外部パネル上のスライダーの操作イベントを検出した場合で説明したが、本実施形態では、擬似操作子操作コマンドに応じた操作子操作イベントを検出した場合も同様の処理である。
【００２３】
図６は、本実施形態の電子楽器において通信Ｉ／Ｆ１０９が実行するコマンド受信ルーチンのフローチャートである。図２で説明したように、外部ネットワーク１３０や外部機器１１０から通信コマンドを受信したとき、図６の処理が実行される。ステップ６０１で受信した通信コマンドのコマンド解析を行い、ステップ６０２で擬似操作子操作コマンドか判別し、そうであるときはステップ６０３でその擬似操作子操作コマンドに応じた操作子操作イベントをＣＰＵ１０１に通知する。擬似操作子操作コマンドでないときは、ステップ６０４でそのコマンドに応じた処理を実行する。
【００２４】
ステップ６０３でＣＰＵ１０１に通知されたイベントは、図５（ａ）のステップ５０１で検出され、当該イベントに応じたタスクに渡されて当該イベントに応じた処理が実行される。ステップ６０３でＣＰＵ１０１に通知された擬似操作子操作コマンドに応じた操作子操作イベントは、実際の外部パネル上の操作子が操作された場合に発行される操作子操作イベントと同じであるので、ＣＰＵ１０１は、操作子が実際に操作された場合と外部から通信コマンドで入力した場合とを何ら区別することなく、何れの場合も指示された操作子操作コマンドに応じた処理を実行する。
【００２５】
これにより、外部から通信コマンドを使用して、本実施形態の電子楽器に対して、あたかも操作子そのものが操作されたような状態をリモートコントロールできる。この機能は、例えば楽器教室で先生の機器から生徒の機器をコントロールしたい場合（インターネットなどを介してコントロールする場合も同様）などで有効である。従来技術でも電子楽器の各種のパラメータを外部から設定変更することは可能であったが、そのためにはパラメータとそのパラメータの値を指定したコマンドで行うしかなかった。そのように直接的にパラメータ値が変更されるのでは、生徒は、どのような操作をすればそのパラメータ値の変更が行われるか分からないことが多い。本実施形態では、先生の機器から生徒の機器に擬似操作子操作コマンドを送信することで、パラメータが変わるだけでなく、あたかも生徒側の機器の操作子を操作したような挙動を生徒に見せることができる。機器／操作子／対象パラメータによっては、操作子を操作しても即座にパラメータ値に反映されず、一定時間おいてからパラメータ値が変更されるものがある（例えば上述のスライダー）。本実施形態における外部からのコントロールは、このようなシチュエーションで有効に働く。
【００２６】
次に、上記実施形態の第１の変形例を説明する。第１の変形例は、上述した図４の方式である。これを実現するためには、図５のステップ５２３で、パラメータ現在値にスライダー値をセットする際、所定時間をかけて徐々に値を近づけるようにすればよい。なお、徐々に値を近づけるときには、ステップ５２２と同じ方式で、パラメータ現在値がスライダー値±３％の範囲内かを判別し、その範囲内に入ったら値を近づける処理を終了させればよい。
【００２７】
上記実施形態及び第１の変形例（図３，４の方式）では、従来の操作に慣れているユーザーにも違和感なく受け入れてもらえる。また、特にストロークの小さい（短い）スライダーでは、わずかな位置の違いが大きなパラメータ値の差になることがある。このような場合でも、本願アルゴリズムを用いることで、パラメータ値の意図しない急激な変化を抑えることができる。
【００２８】
上記実施形態の第２の変形例を説明する。図７は、図５（ｃ）の激変緩和タスクルーチンの変形例を示す。ステップ５２１を、図７の手順に置き換えるものである。ステップ７０１でその時点のスライダー値を取得し、ステップ７０２で該スライダー値がパラメータ現在値をまたいだか判別する。またいでいなければステップ７０３で本ルーチンに入ってから300msec経ったか判別し、経っていなければステップ７０１に戻る。300msec経っていたら、ステップ５２２に進む。
【００２９】
本第２の変形例により、スライダー操作が開始されてから300msecが経過する前でも、スライダー値がパラメータ現在値をまたげば、パラメータ値の設定へと進むようにできる。これにより、俊敏に操作した場合は300msec待つことなくパラメータ設定が実行されるようになるので、操作に対して機器が迅速に反応したような印象を与えることができる。
【００３０】
上記実施形態の第３の変形例を説明する。第３の変形例は、外部から擬似操作子操作コマンドを入力した場合の処理の改良である。上記実施形態では、スライダーはムービング機能を持たないものとしたが、第３の変形例ではムービング機能を持つものとする。また、図５で説明した処理に加えて、検出したイベントが擬似操作子操作コマンドに応じた操作子操作イベントであるときには、図８の操作子位置変更タスクを実行するものとする。図８では、ステップ８０１で、ムービング機能を利用して該当の操作子の位置を変更する。これにより、外部からの擬似操作子操作コマンドに応じて、操作子が実際に動く様子までコントロールできる。
【００３１】
なお、図３，４の方式では、パラメータの分解能に応じて、スライダー操作開始後の何もしない所定時間を決めるようにしてもよい。例えば、パラメータの分解能が０〜１２７であるとき（要するに当該パラメータの採りうる値が、０，１，…，１２７の何れかということ）には上記所定時間を300msecとし、分解能が０〜３１であるときには上記所定時間を200msecとする、などである。また、パラメータの種類毎に、この所定時間を決めるようにしてもよい。
【００３２】
図４の方式では、パラメータの分解能に応じて、徐々に変更する度合いを決めるようにしてもよい。また、パラメータ毎に、（１）図９の方式、（２）図１０の方式、（３）図３の方式、（４）図４の方式、を選択できるようにしてもよい。これらの４方式のうちの任意の複数の方式を選択できるようにしてもよい。
【００３３】
前記操作子は、図２のように外部パネル上にハードウエアとして備えられたものを例に説明したが、画面上に操作子の画像を表示し、ポインティングデバイスで操作するような操作子も含むものとする。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態に係る電子楽器のハードウェア構成例を示す図
【図２】電子楽器の外部パネルイメージ及び外部から通信コマンドを受信する様子を示すイメージ図
【図３】スライダー値とパラメータ現在値の変化の例（その１）を示す図
【図４】スライダー値とパラメータ現在値の変化の例（その２）を示す図
【図５】ＣＰＵが実行する各ルーチンのフローチャート
【図６】通信Ｉ／Ｆが実行するコマンド受信ルーチンのフローチャート
【図７】激変緩和タスクルーチンの変形例を示す図
【図８】操作子位置変更タスクのフローチャート
【図９】従来技術でのスライダー値とパラメータ現在値の変化の例（その１）を示す図
【図１０】従来技術でのスライダー値とパラメータ現在値の変化の例（その２）を示す図
【符号の説明】
【００３５】
１００…電子楽器、１０１…ＣＰＵ（中央処理装置）、１０２…ＲＡＭ（ランダムアクセスメモリ）、１０３…ＲＯＭ（リードオンリメモリ）、１０４…音源、１０５…操作子、１０６…検出回路、１０７…表示部、１０８…表示回路、１０９…通信インターフェース（Ｉ／Ｆ）、１１０…外部機器、１１１…増幅回路、１１２…スピーカー。
【図１】
0004941673.tif 000002
【図２】
0004941673.tif 000003
【図３】
0004941673.tif 000004
【図４】
0004941673.tif 000005
【図５】
0004941673.tif 000006
【図６】
0004941673.tif 000007
【図７】
0004941673.tif 000008
【図８】
0004941673.tif 000009
【図９】
0004941673.tif 000010
【図１０】
0004941673.tif 000011