以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、本発明に係るパラメータ設定プログラムを適用可能な電子機器の一実施例を示すハード構成ブロック図である。ここに示す電子機器はコンピュータを用いて構成されてなり、前記コンピュータが後述のパラメータ設定プログラム(図3参照)を実行することに基づき、ユーザによる表示器6に表示される画面へのタッチ操作に応じて個別のパラメータ設定及び複数のパラメータ一括設定を行うパラメータ設定制御を実施することが可能となる、例えばスレート型のパーソナルコンピュータやスマートフォン等の電子機器である。
図1に示す電子機器は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータによって制御される。CPU1は、この電子機器全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Dを介してROM2、RAM3、検出回路4、表示回路5、音源回路7、記憶装置9、通信インタフェース(I/F)10がそれぞれ接続されている。
ROM2は、CPU1により実行される各種プログラムや各種データを格納するものである。RAM3は、CPU1が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。
表示器6は、例えば液晶表示パネル(LCD)で構成されたタッチパネル式のディスプレイである。検出回路4は、ユーザによる前記表示器6へのタッチ操作を検出(認識)することに応じて、該タッチ操作された前記表示器6上の座標位置(xy座標)などを特定する検知信号つまりはユーザ操作情報(入力情報とも呼ぶ)を生成し、これをデータ及びアドレスバス1Dを介してCPU1に出力する。表示回路5は、後述のパラメータ設定プログラムの実行に基づき「パラメータ設定画面」(後述する図2参照)等の各種画面を表示器6に表示するのは勿論のこと、ROM2や記憶装置9等に記憶されるパラメータ設定プログラムや各種情報あるいはCPU1の制御状態などを表示する。なお、前記表示器6のタッチパネル方式は公知のどのようなものであってもよく、前記液晶表示パネルは例えば静電容量型、抵抗膜型、光センサ内蔵型などどのようなタイプのものであってもよい。
音源回路7は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられる演奏情報(例えばMIDIデータなど)の入力に応じて、該演奏情報に基づき楽音信号を発生する。音源回路7から発生された楽音信号は、図示しない効果回路などを介して効果付与されてアンプやスピーカなどを含むサウンドシステム8から発音される。この音源回路7とサウンドシステム8の構成には、従来のいかなる構成を用いてもよい。例えば、音源回路7はFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、CPU1によるソフトウェア処理で構成してもよいし、また専用のハードウェアで構成してもよい。
記憶装置9は、CPU1が実行する各種制御プログラム(パラメータ設定プログラムなど)、楽音制御のためのパラメータなどの各種データを記憶する。なお、上述したROM2に制御プログラムが記憶されていない場合、この記憶装置9(例えばハードディスク)に制御プログラムを記憶させておき、それをRAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1に実行させることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、記憶装置9はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD‐ROM・CD‐RAM)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等の様々な形態の可搬記憶媒体を利用した記憶装置であってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
通信インタフェース(I/F)10は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワークに接続されており、該通信ネットワークを介して図示を省略したサーバコンピュータ等と接続され、当該サーバから制御プログラムあるいは各種データなどを本電子機器側に取り込むためのインタフェースである。すなわち、ROM2や記憶装置9等に制御プログラムや各種データが記憶されていない場合に、サーバから制御プログラムや各種データをダウンロードするために用いられる。通信インタフェース(I/F)10は、有線又は無線の近距離通信インタフェースでもよく、電子楽器など外部の電子音楽装置と演奏情報の送受信をするものであってもよい。こうした通信インタフェース10は、有線あるいは無線のものいずれかでなく双方を具えていてよい。
なお、本発明に係るパラメータ設定プログラムを適用可能な電子機器として、上述した実施例では音源回路7及びサウンドシステム8を有してなる電子機器を例に示したがこれに限らず、音源回路7及びサウンドシステム8を有していない電子機器であってもよい。その場合、画面上におけるユーザによるタッチ操作に従って当該機器で生成した入力情報に基づき決定されるパラメータ値を、通信インタフェース10を介して接続されている外部の電子楽器に送信し、該外部の電子楽器において該当する各パラメータの値を前記パラメータ値に更新させるようにするとよい。
上述したように、図1に示す電子機器において後述するパラメータ設定プログラム(図3参照)を動作させると、表示器6に「パラメータ設定画面」が表示される。ユーザはこのパラメータ設定画面を利用すれば、個々の仮想操作子それぞれを単独でタッチ操作することによって当該操作子に割り当てられているパラメータの値のみを設定することができるだけでなく(パラメータの個別設定)、画面上から指が離れることなく行われるタッチ位置の変位(スライド移動)を伴う連続的なタッチ操作(ここでは一連のタッチ操作と呼ぶ)を行うことによって、複数の仮想操作子に予め割り当て済みの複数のパラメータを特定し、該特定した複数のパラメータの各値を一括設定することができるようになっている(パラメータの一括設定)。
そこで、上記「パラメータ設定画面」について図2を用いて説明する。図2は、「パラメータ設定画面」の一実施例を示す概念図である。この図2に示す「パラメータ設定画面」には操作子として、パラメータ種類選択ボタンBと、フェーダーを模した形状の値設定用操作子F(仮想操作子)とが少なくとも複数表示される。これらパラメータ種類選択ボタンBと値設定用操作子Fとは1対1に対応付けられており、互いに対応付けられたパラメータ種類選択ボタンBと値設定用操作子Fとは画面内において近接する位置に表示される。
パラメータ種類選択ボタンBは、対応表示される値設定用操作子Fに予め割り当てておくパラメータを決定するためのものであり、画面内において例えば水平方向(図中の左右方向)に複数個が並列配置される。パラメータ種類選択ボタンBで割り当てできるパラメータの種類は、例えば音量(ボリューム)、音色(プログラム・チェンジ)、ブレス・コントローラー、モジュレーション、アフタータッチ、ポルタメント・タイム、ピッチベンドなどの楽音制御のためのものがある。こうしたパラメータのいずれかを複数チャンネル(この例では図中において番号1〜8を付してある8チャンネル)それぞれに対して割り当てできるように、複数のパラメータ種類選択ボタンBが用意されている。
ユーザは、パラメータ種類選択ボタンBのいずれかに任意に触れて離すというタッチ操作をすることにより、所望のチャンネルに関して前記パラメータのうちのいずれかに切り替え、当該切り替え後のパラメータを前記操作したパラメータ種類選択ボタンBに対応付けられている値設定用操作子Fに割り当てることができる。全ての値設定用操作子Fに対して同一のパラメータを割り当てることもできるし、異なるパラメータを割り当てることもできるのは勿論である。なお、割り当てたパラメータの名称などを、例えば該当するパラメータ種類選択ボタンBの枠内などの所定位置に表示してよい。また、図示を省略したが、パラメータ種類選択ボタンBへの上記タッチ操作に応じて割り当て可能なパラメータの一覧表示を別画面としてポップアップ表示しておき、ユーザが該ポップアップ表示された一覧表示の中から値設定用操作子Fに割り当てたいパラメータを選択できるようになっていてもよい。
一方、値設定用操作子Fは、対応するパラメータ種類選択ボタンBの操作によりパラメータを割り当て済みの仮想操作子であり、つまみT(パラメータ値指示操作子)の移動に応じてパラメータ値が設定されるようになっている。当該値設定用操作子Fは、図示のように画面内においてパラメータ値設定のためにつまみTを移動可能な操作方向(図中の上下方向)と略直交する水平方向(図中の左右方向)に並列配置された状態に表示される。また、パラメータ種類の割り当てがなされると、該割り当てられたパラメータ毎に異なり得るパラメータ設定範囲が値設定用操作子Fに対して設定される。
例えばパラメータ種類として音量(ボリューム)が割り当てられた場合には、パラメータ設定範囲として0から127が設定される。そして、つまみTが値設定用操作子Fの上端に位置したときに「127」(最大値)、下端に位置したときに「0」(最小値)、それ以外の上下端間に位置したときに当該位置に対応する所定のパラメータ値が出力されるように設定される。例えばパラメータ種類としてパン(PAN)が割り当てられた場合には、パラメータ設定範囲として左右の出力割合(Left63〜Center〜Right63)が設定される。この場合には、つまみTが値設定用操作子Fの上端に位置したときに「Right63」(便宜的に最大値とする)、下端に位置したときに「Left63」(便宜的に最小値とする)、中央に位置したときに「Center」、上端〜中央及び中央〜下端の間に位置したときに当該位置に対応したパラメータ値が出力されるように設定される。なお、パラメータ設定範囲が例えば0〜127であるような場合であっても、敢えて値設定用操作子Fの上端につまみTが位置したときに「100」(最大値とする)、下端につまみTが位置したときに「30」(最小値とする)が出力されるように、元のパラメータ設定範囲を制限した範囲を設定できてよい。
パラメータ値の表示形態としては、例えば設定されたパラメータ設定範囲に含まれる複数の値(固定値)を値設定用操作子Fの所定位置に羅列表示する、値設定用操作子Fの近傍につまみTの位置に応じて変化する変動値として表示するなどすればよい。これに限らず、つまみTの位置に応じて値設定用操作子Fの表示色を変化させるなどしてもよい(例えばパラメータ値が最小値に近くなるにつれて青色が強くなる一方で、パラメータ値が最大値に近くなるにつれて赤色が強くなるように段階的に色彩を変化させる)。すなわち、各値設定用操作子Fの近傍にユーザが視覚的に把握できる表示形態でパラメータ値を表示すればよい。
ユーザは、いずれか1つの値設定用操作子FのつまみTに触れ、該つまみTを触れた状態のままで当該つまみTの操作方向である上下方向(垂直方向)のいずれかに指をスライド移動させることによって、この値設定用操作子Fに割り当て済みのパラメータの値をつまみ位置に応じた任意の値に設定することができる。すなわち、ユーザが任意の値設定用操作子FのつまみTに触れた場合(パラメータ個別設定の場合)には、設定対象のパラメータは1つに特定される。
図2に示す「パラメータ設定画面」において値設定用操作子Fの下方には、図中において点線の四角枠で示すように複数の値設定用操作子F全てを網羅する程度の幅を持つ入力領域Aが用意されている。この入力領域Aにおいてユーザによるタッチ操作が行われた場合には、少なくとも該領域Aへの接触が開始された座標位置(始点位置)と、当該領域Aへの接触が終了された座標位置(終了位置)とを時系列に含んでなる入力情報が出力(生成)され、当該入力情報に基づき複数パラメータの特定と該特定された各パラメータの値の一括設定とが行われる。すなわち、上記パラメータ個別設定とは別に、ユーザは入力領域A上において画面に触れた状態のまま左右方向に指をスライド移動させてから画面から離す、あるいは画面に触れた状態のまま左右方向への移動に続けてさらに上下方向に指をスライド移動させてから画面から離すなどのスライド移動を伴うタッチ操作を行うことによって、指を移動させた左右方向の移動範囲内に含まれる複数の値設定用操作子Fに割り当て済みの各パラメータを設定対象に特定し、該特定したパラメータの値を最大値又は最小値のいずれかあるいは任意の変動幅だけ増減させた値などに一括設定することができるようになっている(詳しくは後述する)。なお、入力情報は上記座標位置に限らず時間情報などの他の情報が含まれていてよい。
次に、表示器6上に上記したような複数の値設定用操作子Fを有するパラメータ設定画面(図2参照)を表示させ、該画面を利用して複数のパラメータの各値を一括設定するパラメータ設定制御を実現する、本願発明に係るパラメータ設定プログラムについて図3及び図4を用いて説明する。図3は、本願発明に係るパラメータ設定プログラムにより実現されるパラメータ設定処理の一実施例を示すフローチャートである。この「パラメータ設定処理」は、当該パラメータ設定プログラムの実行指示に応じて開始される。なお、以下では説明を理解しやすくするために、値設定用操作子Fを個別に操作してパラメータの設定を行うパラメータ個別設定についての説明を省略した。
ステップS1は、表示器6にパラメータ設定画面(図2参照)を表示する。ステップS2は、パラメータ設定画面の表示終了指示がなされたか否かを判定する。表示終了指示がなされたと判定された場合には(ステップS2のYES)、当該処理を終了する。表示終了指示がなされていないと判定した場合には(ステップS2のNO)、各値設定用操作子Fに対しパラメータの割り当てを行うパラメータの割り当て設定変更が開始されたか否かを判定する(ステップS3)。
パラメータの割り当て設定変更が開始されていないと判定した場合には(ステップS3のNO)、ステップS7の処理へジャンプする。他方、パラメータの割り当て設定変更が開始されたと判定した場合すなわちパラメータ種類選択ボタンBがタッチ操作された場合には(ステップS3のYES)、操作されたパラメータ種類選択ボタンBに対応付けられた値設定用操作子Fに割り当てるパラメータ、パラメータごとに予め決められている初期値、パラメータ設定範囲などの設定変更を受け付ける(ステップS4)。ステップS5は、前記設定変更に応じて画面表示を更新する。例えば、パラメータ種類選択ボタンBの枠内に割り当てられたパラメータの名称を表示する、値設定用操作子Fの上端部や下端部などにパラメータ値の取り得る最大値や最小値などを表示する、現在値を表示する、さらに値設定用操作子FのつまみTを前記現在値に対応する表示位置に移動させるなどの画面表示の更新を行う。
ステップS6は、パラメータの割り当て設定変更が終了されたか否かを判定する。パラメータの割り当て設定変更が終了されていないと判定した場合には(ステップS6のNO)、上記ステップS4に戻ってステップS4〜S6の処理を繰り返す。パラメータの割り当て設定変更が終了されたと判定した場合には(ステップS6のYES)、ステップS7の処理に進む。ステップS7は、ユーザによる画面上でのタッチ操作に応じて生成される入力情報の初期化を行う。以上までの処理によって、ユーザにとって所望のパラメータの設定を行いやすい好みの「パラメータ設定画面」を表示器6上に表示させるといったパラメータ設定前の前処理が行われる。
ステップS8は、画面上における入力領域Aでのタッチ操作を検出したか否かを判定する。入力領域Aでのタッチ操作を検出していないと判定した場合には(ステップS8のNO)、入力情報が初期状態のままであるか否かを判定する(ステップS9)。入力情報が初期状態のままであると判定した場合には(ステップS9のYES)、未だ入力領域Aでのタッチ操作が行われていないとして上記の表示終了や設定変更等を再度有効にするべくステップS2の処理へ戻る。一方、入力情報が初期状態のままでないと判定した場合には(ステップS9のNO)、入力領域Aでのタッチ操作を検出するべくステップS9の処理へ戻る。
入力領域Aでのタッチ操作を検出したと判定した場合には(ステップS8のYES)、タッチ操作に応じて適宜に検出される画面上の座標位置を入力情報に時系列に追加記録する(ステップS10)。ステップS11は、入力領域Aでのタッチ操作が終了されたか否かを判定する。この入力領域Aでのタッチ操作が終了されたか否かの判定は、ユーザが指あるいはタッチペンなどを画面上から離した場合やタッチ位置が所定時間経過しても変化していないような場合に「タッチ操作が終了された」と判定し、ユーザが指あるいはタッチペンなどを画面上から離すことなくタッチ位置を移動させながらのタッチ操作を行っている間は「タッチ操作が終了されていない」と判定すればよい。
入力領域Aでのタッチ操作が終了されていないと判定した場合には(ステップS11のNO)、ユーザによる当該タッチ操作は一連のタッチ操作であるとして引き続き検出される画面上の座標位置を入力情報に追加記録するため、上記ステップS10の処理に戻る。なお、入力情報には、入力領域Aへの接触が開始された座標位置(始点位置)と入力領域Aへの接触が終了された座標位置(終了位置)とを少なくとも時系列に記録しておけばよい。入力領域Aでのタッチ操作が終了されたと判定した場合には(ステップS11のYES)、入力領域Aでのユーザによる一連のタッチ操作に応じたパラメータ設定を行うべく「入力情報解析及びパラメータ更新処理」を実行する(ステップS12)。この「入力情報解析及びパラメータ更新処理」については後述する(図4参照)。「入力情報解析及びパラメータ更新処理」の実行後は、上記ステップS2の処理に戻りステップS2〜S12の処理を繰り返す。
図4は、上記「パラメータ設定処理」で実行される「入力情報解析及びパラメータ更新処理」(図3のステップS12参照)の一実施例を示すフローチャートである。ステップS21は、入力情報は初期状態であるか否かつまりは入力領域Aでのユーザによる一連のタッチ操作が行われたか否かを判定する。入力領域Aでのユーザによるタッチ操作が行われていないと判定した場合には(ステップS21のYES)、パラメータの一括設定を行うことなく当該処理を終了する。
入力領域Aでのユーザによるタッチ操作が行われたと判定した場合には(ステップS21のNO)、入力情報に基づき当該タッチ操作が画面左から右(又は右から左)への移動を示すものであるか否かを判定する(ステップS22)。左右方向への移動の有無は、接触開始の座標位置(始点位置)と接触終了の座標位置(終了位置)とにおいてx座標の変化があるか否かによって判定できる。当該タッチ操作が画面左から右(又は右から左)への移動を示すものでない場合には(ステップS22のNO)、さらに当該タッチ操作が画面右から左(又は左から右)への移動を示すものであるか否かを判定する(ステップS24)。すなわち、入力領域Aでのユーザによるタッチ移動操作が画面上における値設定用操作子Fの配置方向への移動であるか、前記移動である場合にその移動進行向きは左右どちらであるかを判定することによって、当該タッチ操作が入力領域A内をどのように移動した操作であるかを特定する。入力情報が画面左から右(又は右から左)への移動を示すものである場合には(ステップS22のYES)、増加フラグをONにする(ステップS23)。一方、入力情報が画面右から左(又は左から右)への移動を示すものである場合には(ステップS24のYES)、増加フラグをOFFにする(ステップS25)。入力情報が画面左から右への移動及び画面右から左への移動のいずれをも示すものでない場合には(ステップS22及びS24が共にNO)、当該処理を終了する。
ステップS26は、入力情報の接触開始の座標位置(始点位置)と接触終了の座標位置(終了位置)とによって決定される左右方向における該タッチ操作の移動範囲内に、表示位置が一部でも含まれている値設定用操作子Fを全て抽出し、該抽出した値設定用操作子Fを選択状態とする。これにより、ユーザがタッチ操作した移動範囲内に含まれる値設定用操作子Fに予め割り当てられているパラメータが設定対象として特定される。ステップS27は、入力情報に基づく当該タッチ移動操作が左右方向の移動だけで終わっているか否かつまりは左右方向への移動に続き上下方向への移動を示すものか否かを判定する。この上下方向への移動の有無は、接触開始の座標位置と接触終了の座標位置とにおいてy座標の変化があるか否かによって判定できる。入力情報が左右方向への移動だけで終わっていると判定した場合には(ステップS27のYES)、増加フラグがONであるか否かを判定する(ステップS28)。
増加フラグがONでないつまりはOFFであると判定した場合には(ステップS28のNO)、選択状態の値設定用操作子Fに割り当てられている各パラメータの値を最小値に一括設定する(ステップS29)。そして、選択状態の値設定用操作子Fが最小値に設定されている表示状態とするべく、例えばつまみTを一番下に移動する、パラメータ値の表示を最小値とするなどの画面表示の更新を行う(ステップS30)。他方、増加フラグがONであると判定した場合には(ステップS28のYES)、選択状態の値設定用操作子Fに割り当てられている各パラメータの値を最大値に一括設定する(ステップS31)。そして、選択状態の値設定用操作子Fが最大値に設定されている表示状態とするべく、例えばつまみTを一番上に移動する、パラメータ値の表示を最大値とするなどの画面表示の更新を行う(ステップS32)。
入力情報が左右方向の移動だけで終わっていないと判定した場合には(ステップS27のNO)、入力情報が左右方向への移動に続き上下方向のいずれかに移動して終わっているか否かを判定する(ステップS33)。入力情報が左右方向への移動に続き上下方向のいずれかに移動して終わっていないと判定した場合、つまりは一連のタッチ操作が上記操作態様に当てはまらないタッチ操作である場合には(ステップS33のNO)、複数パラメータの特定及び各パラメータ値の一括設定を行う操作態様でないとして当該処理を終了する。入力情報が左右方向への移動に続き上下方向のいずれかに移動して終わっていると判定した場合には(ステップS33のYES)、上下方向いずれかへの移動量(y座標値に基づき求められる)に応じて設定対象に特定された各パラメータの値の増減幅(変化量)を算出する(ステップS34)。
ステップS35は、増加フラグがONであるか否かを判定する。増加フラグがONでないつまりはOFFであると判定した場合には(ステップS35のNO)、選択状態の値設定用操作子Fに割り当てられている各パラメータ値を前記算出した増減幅(変化量)に応じて減少させるように変更する一括設定を行う(ステップS36)。そして、選択状態の値設定用操作子Fが前記算出された増減幅だけ現在値から減少するように移動された表示状態とするべく、例えばつまみTを対応位置に移動する、パラメータ値の表示を対応させるなどの画面表示の更新を行う(ステップS37)。
他方、増加フラグがONであると判定した場合には(ステップS35のYES)、選択状態の値設定用操作子Fに割り当てられている各パラメータ値を前記算出した増減幅(変化量)に応じて増加させるように変更する一括設定を行う(ステップS38)。そして、選択状態の値設定用操作子Fが前記算出された増減幅だけ現在値から増加するように移動された表示状態とするべく、例えばつまみTを対応位置に移動する、パラメータ値の表示を対応値とするなどの画面表示の更新を行う(ステップS39)。以上のようにして、画面上(この例では入力領域A)でのユーザによる一連のタッチ操作に従って、複数パラメータの特定と該特定された各パラメータの値の一括設定とを行うことができるようにしている。
なお、ここでは説明を省略したが、ユーザは一連のタッチ操作をキャンセルしたいときは、例えば左右方向の場合は指を進めた向きと逆向きに指を戻して画面から離す、上下方向の場合は上下に指を進めた元の位置あたりまで指を戻して画面から離す、移動直後の画面から指を離してから間髪いれずに再度指を離した箇所にタッチして画面から離すことを2回繰り返す(ダブルクリック的なタッチ操作)など、予め決められた所定の操作態様に従ってのタッチ操作を行えばよい。
次に、上記「入力情報解析及びパラメータ更新処理」の実行に伴うパラメータ設定の具体例について、図5を用いて説明する。図5は、ユーザのタッチ操作に応じたパラメータ設定の具体例を説明するための概念図である。ただし、ここでは既にパラメータ種類選択ボタンBが操作されており、全ての値設定用操作子Fに対してパラメータ種類としてボリューム(設定可能範囲0〜127)が割り当てられた場合を用いて具体的に説明する。
図5(A)に示すように、ユーザが指を左から右へとスライド移動させた後に画面から離した場合には、少なくとも始点の座標位置Oと終点の座標位置Pとを含む入力情報が生成される。ユーザが指をスライド移動させた範囲Xにあたる始点の座標位置Oから終点の座標位置Pまでに表示位置座標の一部でも含まれる値設定用操作子Fは2〜7(チャンネル番号)の操作子であるので、この2〜7までの各値設定用操作子Fに割り当て済みの6個のパラメータ(ここでは同一パラメータであるボリューム)が設定対象のパラメータとして特定される。そして、この例では入力情報が左から右への移動で終わっているので、前記特定した6個全てのパラメータに関しその値を「127」(最大値)に一括設定する。そして、これら6個の値設定用操作子Fが最大値「127」を指し示す表示状態とするべく、つまみTを図中において点線で示される上端位置に移動する画面表示の更新が行われる。
図5(B)に示すように、ユーザが指を右から左へとスライド移動させた後に画面から離した場合には、少なくとも始点の座標位置Oと終点の座標位置Pとを含む入力情報が生成される。ユーザが指をスライド移動させた範囲Xにあたる始点の座標位置Oから終点の座標位置Pまでに表示位置座標の一部でも含まれる値設定用操作子Fは4〜6(チャンネル番号)の操作子であるので、この4〜6までの各値設定用操作子Fに割り当て済みの3個のパラメータが設定対象のパラメータとして特定される。そして、この例では入力情報が右から左への移動で終わっているので、前記特定した3個全てのパラメータに関しその値を「0」(最小値)に一括設定する。そして、これら3個の値設定用操作子Fが最小値「0」を指し示す表示状態とするべく、つまみTを図中において点線で示される下端位置に移動する画面表示の更新が行われる。
これにより、入力領域Aにおいてユーザは指を左から右へと(又は右から左へと)スライド移動した後に画面から離すタッチ操作を行うだけで、当該移動範囲内に含まれる値設定用操作子Fに割り当て済みの複数のパラメータ全てに関し、その値を最大値又は最小値に揃えるよう一括設定することが容易にできることになる。
図5(C)に示すように、ユーザが指を左から右へとスライド移動させさらに続けて上方向へとスライド移動した後に画面から離した場合には、少なくとも始点の座標位置Oと終点の座標位置Pさらに左右方向から上下方向への移動の向きが変更した途中の座標位置Qとを含む入力情報が生成される。ユーザが指を左右方向にスライド移動させた範囲Xにあたる始点の座標位置Oから終点の座標位置Pまでに表示位置座標の一部でも含まれる値設定用操作子Fは5,6(チャンネル番号)の操作子であるので、この5と6の各値設定用操作子Fに割り当て済みの2個のパラメータが設定対象のパラメータとして特定される。
そして、この例では入力情報が左から右への移動だけで終わっておらずさらに上方向への移動を続けてから終わっているので、ユーザが指を上下方向にスライド移動させた範囲Yにあたる途中の座標位置Qから終点の座標位置Pまでの移動量に応じてパラメータ値の変動量を算出する。例えば、上方向にy座標を「10」変化させるような移動が行われた場合、各パラメータ値をそれぞれ上限値(又は下限値)を超えない程度に「10」ずつ上げる(又は下げる)。そして、これら2個の値設定用操作子Fが現在値から「10」ずつ上げた(又は下げる)値を指し示す表示状態とするべく、つまみTを図中において点線で示される 該当位置に移動する画面表示の更新が行われる。なお、前記座標位置Qから座標位置Pまでの移動量は入力情報の始点の座標位置Oと終点の座標位置Pとにおけるy座標値の差で求まることから、入力情報に前記座標位置Qを記録していなくてもよい。
これにより、入力領域Aにおいてユーザは左右方向へのスライドに続けて所定時間内にさらに指を上方向(又は下方向)へスライドした後に画面から離すことによって、当該指を左右方向にスライドさせた範囲内に含まれる値設定用操作子Fに割り当て済みの全てのパラメータに関しその値を上(又は下)方向の移動量に応じた変動幅だけ増減した値に、すなわち一律に同程度だけ変更した値に一括設定することができる。この場合には、左右方向にスライドさせた範囲内に含まれる複数の値設定用操作子FのつまみTの位置関係が相対位置を保った状態のままのパラメータ値の一括設定が行われることになる。
なお、入力領域Aへの垂直方向の移動量により選択状態の値設定用操作子Fに割り当て済みのパラメータの値を更新するが、その更新に用いられる変化量の算出方法は上記した方法に限らない。例えば、垂直方向の移動量がある一定量(100など)を超えるとパラメータ値を最大値(最小値)にするようにしてもよいし、ある一定量への割合で例えば50のときはパラメータ値を中央値にするなどしてもよい。また、値設定用操作子Fに割り当て済みの複数のパラメータの種類が異なる場合には、例えば選択状態の値設定用操作子Fの中で目盛り位置が最大のものに対しまず垂直方向の移動量に応じた値の変化を加え、他の値設定用操作子Fは変化前の目盛り位置の相対位置になるように表示を更新する。そして選択状態の各値設定用操作子Fの目盛り位置のイメージに合うように割り当てられた各パラメータ値を算出し更新する。
以上のように、パラメータ設定画面の入力領域A上でユーザによるタッチ操作が行われた場合に、当該領域Aへの接触が開始された始点位置と当該領域Aへの接触が終了された終了位置とに基づいて当該タッチ操作の移動範囲(図中左右方向)を決定し、該移動範囲内に含まれる値設定用操作子Fを抽出することによって設定対象のパラメータの特定を行う。こうしたパラメータの特定と共に、当該タッチ操作が当該画面における複数の値設定用操作子Fの配置方向(図中左右方向)への移動のみを伴うタッチ操作であるときには、前記特定した各パラメータの値を最大値又は最小値のいずれかに設定する。さらに、当該タッチ操作が値設定用操作子Fにおけるパラメータ値設定のためのつまみTの操作方向(図中上下方向)への移動をも含む一連の操作であると、前記操作方向への移動量に応じて前記各パラメータ値の増減量を算出し、該算出した増減量だけ各パラメータの値を変更する。このようにすると、ユーザは別々の操作子を用いての段階を踏んだ異なる操作を行わなくとも、画面上において前記配置方向への移動や前記操作方向への移動を伴う一連のタッチ操作を行うだけで、複数パラメータを特定することと各パラメータの値を最大値又は最小値のいずれかに一括設定することとを行うことができる。こうしたタッチ操作はユーザにとって容易であると言えまた直感的な操作が可能となるので、ユーザは効率的にパラメータ特定及びパラメータ設定を行うことができるようになる。また、従来必要であった汎用操作子をわざわざ用意しなくともよいのでコストがかからない。
以上、図面に基づいて実施形態の一例を説明したが、本発明はこれに限定されるものではなく、様々な実施形態が可能であることは言うまでもない。例えば、上述した実施例では、値設定用操作子Fのパラメータ値設定のための操作方向を垂直方向(上下方向)とし、これに略直交する水平方向(左右方向)に複数の値設定用操作子Fを並列配置するようにしたものを例に示したがこれに限らず、値設定用操作子Fのパラメータ値設定のための操作方向を水平方向とし、これに略直交する垂直方向に複数の値設定用操作子Fを並列配置するようにしたものであってもよい。その場合、パラメータ設定画面における入力領域Aは、少なくとも垂直方向に並列配置された値設定用操作子Fの全てを網羅する垂直方向に拡がる範囲とする。また、上述した実施例において左右(又は水平)と上下(又は垂直)を読み替えれば同様に処理できることは言うまでもない。
なお、上述した実施例では値設定用操作子Fとしてフェーダーを模したものを示したがこれに限らない。値設定用操作子Fは、例えばボリュームメーターのようにパラメータ値に応じて大きさの変化する矩形が表示されるような形態のものであってもよい。ただし、画面上において複数が並列配置された場合には、垂直方向への操作に従ってパラメータ値を変更できる操作形態でなければならないことは言うまでもない。
なお、パラメータ設定画面上に表示される仮想操作子は、レイアウトやデザインの都合上隣り合う仮想操作子と多少重なりあって表示されても構わない。ただし、水平方向で必ず表示される各操作子が1つだけになる位置があればよい。
なお、上述した実施例では、1個の値設定用操作子F(仮想操作子)に割り当てできるパラメータ種類を1つとした例をあげたがこれに限らず、3個など複数のパラメータ種類を1個の値設定用操作子Fに対して割り当て可能であってもよい。また、割り当てた複数のパラメータ種類毎に上端と下端の値が相互に逆値となるように設定することができてもよい。こうした場合、ユーザによる上下方向のタッチ移動操作に応じて、あるパラメータについてはパラメータ値が増加する一方で、別のパラメータについては連動して値が減少するというパラメータ設定を実現することができることから、ユーザにとって簡単な操作でバリエーションに富んだパラメータ設定を行うことができる、という利点がある。
なお、上述の実施例においては入力領域Aにおけるユーザによる一連のタッチ操作の検出に従ってパラメータ設定を行う例を示したがこれに限らず、パラメータ設定画面上のどの位置でもユーザによる一連のタッチ操作の検出をおこなうことのできるようにしてあってよい。言い換えれば、入力領域Aの範囲を画面全体に拡げてもよい。こうした場合、例えば値設定用操作子F上で画面左右方向へのタッチ操作が行われたとすると、上記したようにタッチ操作範囲内に含まれる全ての値設定用操作子Fに予め割り当てられているパラメータの値を全て最大値又は最小値に設定することなく、画面左右方向へのタッチ操作の際に触れられた各値設定用操作子Fの上下方向位置(y座標位置)に対応するパラメータ値に一括設定するようにしてもよい。こうすると、値設定用操作子Fに予め割り当てられているパラメータ種類(詳しくは設定範囲)が同じである場合には、ユーザは値設定用操作子F全てを同一値に揃えることが容易にできるようになる。値設定用操作子Fに予め割り当てられているパラメータ種類(詳しくは設定範囲)が異なる場合である場合には、各値設定用操作子Fのつまみ位置を任意の同一位置に揃えたときの各パラメータ毎に異なるパラメータ値をまとめて一括設定できる。
なお、本発明に係るパラメータ設定プログラムはスレート型のパーソナルコンピュータやスマートフォン等の電子機器に適用することに限らず、通常のパソコンや専用のハードウェアからなる電子楽器にも適用することができる。特には、ハードウェアとして物理的なパッド型演奏操作子を本体パネルに有している電子楽器であってもよい。ただし、そうした電子楽器の場合には、1つのパッドで複数の領域に対する操作を個別の領域毎に検出できるタイプの検出回路を備えている必要があることは勿論である。また、表示器6についてはパッド上に重ね合わせるようにして設けてもよいしパッドの近傍に設けるようにしてもよい。
なお、上述のパラメータ設定プログラムはコンピュータソフトウェアの形態に限らず、DSP(ディジタル・シグナル・プロセッサ)によって処理されるマイクロプログラムの形態でも実施可能であり、またこの種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用のハードウェア装置の形態で実施してもよい。