以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、本発明に係るパラメータ設定プログラムを適用可能な電子機器の一実施例を示すハード構成ブロック図である。ここに示す電子機器はコンピュータを用いて構成されてなり、前記コンピュータが後述のパラメータ設定プログラム(図3参照)を実行することに基づき、ユーザによる表示器6に表示される画面へのタッチ操作に応じて個別のパラメータ設定及び複数のパラメータ一括設定を行うパラメータ設定制御を実施することが可能となる、例えばスレート型のパーソナルコンピュータやスマートフォン等の電子機器である。
図1に示す電子機器は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータによって制御される。CPU1は、この電子機器全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Dを介してROM2、RAM3、検出回路4、表示回路5、音源回路7、記憶装置9、通信インタフェース(I/F)10、さらには加速度センサ11が接続されている。
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は、有線あるいは無線のものいずれかでなく双方を具えていてよい。
加速度センサ11は、本電子機器がユーザによって傾けられたり振られたりした際における本電子機器の動きに応じた加速度を検出する。また、加速度センサ11は加速度を検出するだけに限らず、重力加速度も検出できてよい。検出されたこれらの加速度や重力加速度はデータ及びアドレスバス1Dを介してCPU1に出力され、後述する「パラメータ設定画面」(図2参照)内におけるオブジェクト(表示体)の移動動作を制御する際の要因として反映されうる。例えばユーザは本電子機器を傾けることによって、画面内において傾けられた方向にかつ傾けた速度に応じた速さでオブジェクトを移動させることが可能となる。あるいは、ユーザは画面内においてオブジェクトを画面上下方向にドラッグするタッチ操作を行うことによって、オブジェクトがまるで重力加速度に基づく仮想重力に従って画面下方に落下する(あるいは逆らって画面上方に上昇する)ように自律的に移動させることが可能となる。
なお、本発明に係るパラメータ設定プログラムを適用可能な電子機器として、上述した実施例では音源回路7及びサウンドシステム8を有してなる電子機器を例に示したがこれに限らず、音源回路7及びサウンドシステム8を有していない電子機器であってもよい。その場合、画面上におけるユーザによるタッチ操作に従って当該機器で決定されるパラメータ値を通信インタフェース10を介して接続されている外部の電子楽器に送信し、該外部の電子楽器において該当する各パラメータの値を当該機器から受信したパラメータ値に更新させたり、外部の電子楽器の各パラメータの値を当該機器から取得して当該機器の各種データに反映させたり表示などに反映させるとよい。
上述したように、図1に示す電子機器において後述するパラメータ設定プログラム(図3参照)を動作させると、表示器6に「パラメータ設定画面」が表示される。ユーザはこのパラメータ設定画面を利用して、個々の仮想操作子それぞれを単独でタッチ操作することによって当該操作子に割り当てられているパラメータの値のみを設定することができるだけでなく(第1画面を用いてのパラメータ個別設定)、オブジェクトを画面内に定義された所定の入力領域においてユーザによるタッチ操作にあわせて移動させること又はオブジェクト自体を自律的に移動させることに応じて、前記オブジェクトに関連付けられた1乃至複数の仮想操作子に予め割り当て済みである各パラメータの値を一括設定することができるようになっている(第2画面を用いてのパラメータ一括設定)。
ここで、上記「パラメータ設定画面」について図2を用いて説明する。図2は、「パラメータ設定画面」の一実施例を示す概念図である。当該パラメータ設定画面は、図2(A)に示す「第1画面」と図2(B)に示す「第2画面」とを含んでなる。図2(A)に示す「第1画面」には、「開く」ボタンAと、パラメータ種類選択ボタンBと、実際の電子楽器に搭載されている実在する物理的な設定操作子(この例ではフェーダー)を模した仮想操作子Cとが少なくとも表示される。
「開く」ボタンAは、「第2画面」を画面上に表示させるための操作子である。当該「開く」ボタンAがタッチ操作されると、画面上に「第2画面」が表示される。その際には、例えば図2(C)に示すように「第2画面」を「第1画面」上に重ね合わせるように表示してもよいし(その場合、上に重ね合わされる「第2画面」を介して下の「第1画面」が透過して見えるように「第2画面」は表示される)、又は図示を省略したが「第2画面」を「第1画面」の上下左右何れかの位置に隣り合わせるように表示してもよい。さらには、「第2画面」を「第1画面」とは別の表示器上に分けて表示してもよい。ただし、「第2画面」を「第1画面」上に重ね合わせるように表示した方が、仮想操作子CとオブジェクトHとの関連をユーザが視覚的に把握しやすいので有利である。
パラメータ種類選択ボタンBは個々の仮想操作子Cに予め割り当てておくパラメータを決定するためのものであり、画面内において例えば水平方向(図中の左右方向)に複数個が並列配置される。複数のパラメータ種類選択ボタンBは仮想操作子Cと1対1に対応付けられており、互いに対応付けられたパラメータ種類選択ボタンBと仮想操作子Cとが画面内において近接する位置に表示される。パラメータ種類選択ボタンBで割り当てできるパラメータの種類は、例えば音量(ボリューム)、音色(プログラム・チェンジ)、ブレス・コントローラー、モジュレーション、アフタータッチ、ポルタメント・タイム、ピッチベンド、LFOなどの楽音制御のためのパラメータがある。こうしたパラメータのいずれかを複数チャンネル(この例では図中において番号1〜8を付してある8チャンネル)それぞれに対して割り当てできるように、複数のパラメータ種類選択ボタンBが用意されている。
ユーザはパラメータ種類選択ボタンBのいずれかに任意に触れて離すというタッチ操作をすることにより、所望のチャンネルに関して前記パラメータのうちのいずれかに切り替え、当該切り替え後のパラメータを前記操作したパラメータ種類選択ボタンBに対応付けられている仮想操作子Cに割り当てることができる。全ての仮想操作子Cに対して同一のパラメータを割り当てることもできるし、異なるパラメータを割り当てることもできるのは勿論である。なお、割り当てたパラメータの名称などを、例えば該当するパラメータ種類選択ボタンBの枠内などの所定位置に表示してよい。また、図示を省略したが、パラメータ種類選択ボタンBへの上記タッチ操作に応じて割り当て可能なパラメータの一覧表示を別画面としてポップアップ表示しておき、ユーザが該ポップアップ表示された一覧表示の中から仮想操作子Fに割り当てたいパラメータを選択できるようになっていてもよい。
仮想操作子Cは対応するパラメータ種類選択ボタンBの操作によりパラメータを割り当て済みであり、つまみD(指示部)を移動することによってパラメータ値が設定されるようになっている。当該仮想操作子Cはパラメータの割り当てがなされると、該割り当てられたパラメータ毎に異なり得るパラメータ設定範囲が仮想操作子Cに対して設定される。例えばパラメータ種類として音量(ボリューム)が割り当てられた場合には、パラメータ設定範囲として0から127が設定される。そして、つまみDが仮想操作子Fの上端に位置したときに「127」(最大値)、下端に位置したときに「0」(最小値)、それ以外の上下端間に位置したときに当該位置に対応する予め決められた所定値が出力されるように設定される。
例えばユーザはいずれか1つの仮想操作子CのつまみDに触れて、該つまみDを触れた状態のままで当該つまみDの操作方向である上下方向(垂直方向)のいずれかに指をスライド移動させることによって、あるいは後述のようにつまみDを自律的に移動させることによって、この仮想操作子Cに割り当て済みのパラメータの値をつまみ位置に応じた任意の値に設定することができる。移動後のつまみDは、仮想操作子Cにおける当該つまみDの操作範囲内での表示位置によって割り当て済みのパラメータ値をユーザに対して指し示すことになる。ユーザは「第1画面」を開き任意の仮想操作子Cを個別に操作することで、各パラメータの値を個々に設定することができる。
図2(B)に示す「第2画面」には、「閉じる」ボタンEと、係数設定操作子Fと、少なくともオブジェクトHを含む図中において点線の四角枠で示される入力領域Jと、極性設定ジャックGと、操作子対応プラグKとが少なくとも表示される。「閉じる」ボタンEは、画面上に表示された「第2画面」を閉じるための操作子である。当該「閉じる」ボタンEがタッチ操作されると、画面上に表示されていた「第2画面」が閉じられて「第1画面」の表示に戻る。
画面中央に用意された入力領域Jは、ユーザによるオブジェクトHの操作に従って当該オブジェクトHに関連付けられた1乃至複数の仮想操作子CのつまみDの位置を、前記操作前の位置から操作方向である上下方向(垂直方向)のいずれかへ更新するための移動量を決定するものである。以下、説明する。
入力領域Jにおいて、ユーザによるオブジェクトHへのドラッグ移動を含むタッチ操作が行われると、前記オブジェクトHはドラッグ移動の軌跡に沿って入力領域J内をタッチ操作開始された位置からタッチ操作終了した位置まで移動する。また、入力領域JにおいてオブジェクトHが表示されていない箇所でタッチ操作が行われると(便宜的にタップ操作と呼ぶ)、他の位置に表示されていたオブジェクトHが当該タッチ箇所にジャンプするようにして移動する。
また、この実施形態において、上記したユーザによるタッチ操作に伴うオブジェクトHの移動の他に、ユーザによる所定の操作を契機としてオブジェクトHは入力領域J内において自律的な移動を開始することができるようになっている。例えばユーザによるオブジェクトHの直線的なドラッグ移動が所定速度以上で行われたような場合には、その速度を初速度として直線移動をなす自律的な移動を開始する。そして、オブジェクトHは、入力領域Jの外縁に達すると所定の反発係数に従って跳ね返るようにして移動向きを適宜に変えながら移動を続ける。一方、例えばユーザによるオブジェクトHのドラッグ移動が円を描いていたような場合には、オブジェクトHはユーザ操作に応じた初速度と半径に従う円運動をなす自律的な移動を開始する。
画面左上にある係数設定操作子Fは、入力領域Jにおける前記オブジェクトHの自律的な移動形態として、所定の物理法則が反映された現象を模した動きを特定付ける物理係数などの設定を行うものである。上記反発係数の他には、例えば入力領域Jを摩擦ある平面を模したものとしてその摩擦係数を係数設定操作子Fにより設定することができる。この摩擦係数の大小により、自律的に移動するオブジェクトHは時間の経過と共に徐々に移動速度が遅くなっていきそのうち停止するが、その停止するまでの時間を制御できる。これら以外にも、入力領域Jを画面下方向に重力が働く空間を模したものとして、その重力加速度を係数設定操作子Fにより設定することができてもよい。入力領域J内を風が吹いている空間を模したものとして、その風の強さを係数設定操作子Fにより設定することができてもよい。
さらには、入力領域J内の適宜の位置に障害物を配置しておき、オブジェクトHは当該障害物に当たって反発することによりその移動方向や移動速度を適宜に変えながら移動することのできるようになっていてもよい。また、入力領域Jを天体のある空間を模したものとしてあるいは磁石を適宜の位置に配置した平面を模したものとして、オブジェクトHはある点にひきつけられたり離れたりするようにして移動することのできるようになっていてもよい。
極性設定ジャックGは、入力領域J内に表示された互いに直交する2つの軸表示(XY軸)の延長線上に表示されている。一方、操作子対応プラグKは入力領域Jの下方に「第1画面」上の仮想操作子Cの数と同じ数だけ表示され、個々の操作子対応プラグKは仮想操作子Cに対応付けられる。前記オブジェクトHの移動に伴い移動量を決定する仮想操作子Cとの関連付けは、これらの極性設定ジャックGと操作子対応プラグKとを互いに結びつけることによる。具体的には、極性設定ジャックGのいずれかと関連付けたい仮想操作子Cに対応付けられている操作子対応プラグKとの間をドラッグ移動を伴うタッチ操作、具体的には極性設定ジャックGのいずれかにタッチした後に画面から指を離さずに所望の操作子対応プラグKまでドラッグ移動して画面から指を離す操作が行われることにより(反対でもよい)、オブジェクトHと仮想操作子Cとの関連付けがなされる。こうした極性設定ジャックGと操作子対応プラグKとを互いに結びつけるタッチ操作を異なる操作子対応プラグKに対し繰り返し行えば、オブジェクトHに対し複数の仮想操作子Cを関連付けることができる。
上記したようなタッチ操作が行われた極性設定ジャックGと操作子対応プラグK間には、図2(C)に示すように、これらを結ぶ擬似ジャックG´及び仮想ケーブルL(関連付け済み表示)が表示される。この擬似ジャックG´及び仮想ケーブルLの表示によって、オブジェクトHにどの仮想操作子Cが関連付けられているかが示される。この例では、オブジェクトHにチャンネル番号2の仮想操作子Cが関連付けられていることが画面から把握することができる。こうした仮想ケーブルLは、接続先の極性設定ジャックG毎につまりは後述するようにXY軸どちらの座標位置に従って移動量を決定させるか及び順極性とするか逆極性とするかによって異なる表示態様で表示される(例えば表示色や太さなどを異ならせる)。
前記オブジェクトHの移動に伴い決定される移動量は、オブジェクトHの移動後の位置(例えば中心を基準とする)と前記X軸又はY軸いずれかの原点との距離(表示間隔)に対応して決定される。画面左右に配置された極性設定ジャックGは原点からのオブジェクトHの移動後のX座標位置に基づき移動量を決定する仮想操作子Cを関連付けるものであり、また画面右側の極性設定ジャックGに関連付けられた場合にはつまみDの移動向きを画面上向き(例えば値を増加する向き:ここでは順極性と呼ぶ)に、画面左側の極性設定ジャックGに関連付けられた場合にはつまみDの移動向きを画面下向き(例えば値を減少する向き:ここでは逆極性と呼ぶ)に決定する。
他方、画面上下に配置された極性設定ジャックGは原点からのオブジェクトHの移動後のY座標位置に基づき移動量を決定する仮想操作子Cを関連付けるものであり、また画面上側の極性設定ジャックGに関連付けられた場合にはつまみDの移動向きを画面上向き(例えばパラメータ値が増加する向き:順極性)に、画面左側の極性設定ジャックGに関連付けられた場合にはつまみDの移動向きを画面下向き(例えばパラメータ値が減少する向き:逆極性)に決定する。このように、オブジェクトHの移動方向がX軸又はY軸の正負いずれの方向であるかによって、つまみDの移動向きは決定される。
なお、前記オブジェクトHに関連付ける仮想操作子Cを既存のものから他のものに変更したい場合には、既に極性設定ジャックGと結ばれている操作子対応プラグKから関連付けを変更したい先の仮想操作子Cに対応する操作子対応プラグKへとドラッグ移動を伴うタッチ操作を行えばよい。また、前記オブジェクトHと仮想操作子Cとの関連付けを解除したい場合には、既に極性設定ジャックGと結ばれている操作子対応プラグKから操作子対応プラグK以外の箇所へとドラッグ移動を伴うタッチ操作を行えばよい。さらに、前記オブジェクトHに関連付ける仮想操作子CをXY軸どちらの座標位置によって移動量を決定するか及び順極性とするか逆極性とするかを変更したい場合には、変更したい先の極性設定ジャックGから当該操作子対応プラグKへとドラッグ移動を伴うタッチ操作を行えばよい。
上記したように、図2(C)に示した「パラメータ設定画面」を用いてオブジェクトHと仮想操作子Cとを関連付けた上で画面上においてオブジェクトHを移動させることにより、関連付けられた仮想操作子CのつまみDが上下に移動する。そして、この仮想操作子CのつまみDの表示位置に基づき特定される値を、関連付けられた仮想操作子Cに予め割り当て済みである各種パラメータの値として設定する。すなわち、上記「第1画面」を用いてのパラメータ個別設定とは別に、ユーザは「第2画面」の入力領域J上においてオブジェクトHに触れた状態のまま左右方向及び上下方向の任意の向きに指をスライド移動させてから画面から離す、あるいは自律的にオブジェクトHを移動させる所定態様のタッチ操作を行うことによって、オブジェクトHに関連付けられた1乃至複数の仮想操作子Cに割り当て済みの各パラメータの値を前記オブジェクトHの移動量に応じた値で増減させながら一括設定することができる。また、操作子対応プラグKを結びつける先の極性設定ジャックGを異ならせることによって、複数のパラメータ個々の値の変化態様(変化量及び増減)を異ならせることができる。
次に、表示器6上に上記したようなパラメータ設定画面(図2参照)を表示させ、該画面を利用して1乃至複数の各種パラメータの値を一括設定するパラメータ設定制御を実現する、本願発明に係るパラメータ設定プログラムについて図3を用いて説明する。図3は、本願発明に係るパラメータ設定プログラムにより実現されるパラメータ設定処理の一実施例を示すフローチャートである。この「パラメータ設定処理」は、当該パラメータ設定プログラムの実行指示に応じて開始される。
ステップS1は、初期設定を実行する。初期設定としては、例えば表示器6に第1画面(図2(A)参照)を表示する、過去に行われたオブジェクトHと仮想操作子Cとの関連付け情報を記憶装置9から読み出すなどがある。ステップS2は、第2画面が表示中であるか否かを判定する。第2画面が表示中でないと判定した場合つまりは第1画面が表示中である場合には(ステップS2のNO)、第1画面において「開く」ボタンAが操作されて第2画面を開く(表示する)指示がなされたか否かを判定する(ステップS15)。第2画面を開く指示がなされたと判定した場合には(ステップS15のYES)、第2画面を開いて(ステップS16)ステップS2の処理に戻る。このとき、過去に行われたオブジェクトHと仮想操作子Cとの関連付け情報を記憶装置9から読み出していた場合には、当該情報に基づき極性設定ジャックGと操作子対応プラグKとを仮想ケーブルLで結んだ表示を行い、過去に行われた関連付けを復元する。
一方、第2画面を開く指示がなされていないと判定した場合には(ステップS15のNO)、ユーザによる第1画面のパラメータ種類選択ボタンBの操作に応じて各仮想操作子Cに予め割り当てておくパラメータの変更設定を行う(ステップS17)。すなわち、パラメータ個別設定が行われる。また、ユーザによる第1画面の仮想操作子Cへのタッチ操作に応じて、つまみDの位置を変更する(ステップS18)。その後、ステップS13の処理にいく。
第2画面が表示中であると判定した場合には(ステップS2のYES)、第2画面において「閉じる」ボタンEが操作されて第2画面を閉じる指示がなされたか否かを判定する(ステップS3)。第2画面を閉じる指示がなされたと判定した場合には(ステップS3のYES)、表示中の第2画面を閉じて第1画面のみを表示して(ステップS4)ステップS2の処理に戻る。第2画面を閉じる指示がなされていないと判定した場合には(ステップS3のNO)、表示中の第2画面における極性設定ジャックGや操作子対応プラグKに対するユーザによるタッチ操作の操作態様に応じたオブジェクトHと仮想操作子Cとの関連付け設定を行う(ステップS5)。また、ユーザによる係数設定操作子Fの操作に応じてオブジェクトHの自律的な移動形態を特定付ける物理係数などの設定を行う(ステップS6)。
ステップS7は、入力領域J内においてタップ操作が行われたか否かを判定する。タップ操作が行われたと判定した場合には(ステップS7のYES)、タップ位置にオブジェクトHをジャンプさせるようにして移動する(ステップS8)。タップ操作が行われていないと判定した場合には(ステップS7のNO)、ユーザによるオブジェクトHへのドラッグ移動を伴うタッチ操作に応じて当該タッチ操作に追随させるようにしてオブジェクトHを移動する(ステップS9)。他方、ユーザによるオブジェクトHへのタッチ操作が所定の操作態様である場合には、オブジェクトHを自律的に移動させるための運動種類(直線運動や円運動など)に基づき、時間経過に応じて自律的にオブジェクトHを移動する(ステップS10)。この際の移動は、予め用意された物理法則に従っての運動方程式の演算結果に応じて表示位置が更新される。また、加速度などの仮想的な物理量を更新しながらオブジェクトHを移動する。
ステップS11は、オブジェクトHの移動位置のX軸成分に基づく原点からの距離に応じた移動量を求め、極性を加味して前記移動量に応じた変位量だけ該当する仮想操作子CのつまみDの位置を変更する。ステップS12は、オブジェクトHの移動位置のY軸成分に基づく原点からの距離に応じた移動量を求め、極性を加味して前記移動量に応じた変位量だけ該当する仮想操作子CのつまみDの位置を変更(変位)する。
ステップS13は、仮想操作子CのつまみDの位置の変更が行われたか否かを判定する。仮想操作子CのつまみDの位置の変更が行われていないと判定した場合には(ステップS13のNO)、ステップS2の処理に戻る。一方、仮想操作子CのつまみDの位置の変更が行われていると判定した場合には(ステップS13のYES)、つまみDの位置に応じたパラメータ値を出力してつまみDの位置の変更が行われた仮想操作子Cに割り当て済みのパラメータのみに関しパラメータ設定を行う(ステップS14)。その後、ステップS2の処理に戻る。
次に、上記「パラメータ設定処理」の実行に伴うオブジェクトHの移動に応じたパラメータ設定の具体例について、図4を用いて説明する。図4は、ユーザのタッチ操作に応じたパラメータ設定の具体例を説明するための概念図である。ただし、ここでは既にオブジェクトHとチャンネル番号2〜5,7の各仮想操作子Cとが関連付けられている場合、すなわち2〜5,7の各仮想操作子Cに割り当て済みの5個のパラメータ(同一パラメータであってもよいし、異なるパラメータであってもよい)が設定対象のパラメータとして特定されている場合を用いて具体的に説明する。
図4に示すように、ユーザがオブジェクトHをタッチしたまま指を入力領域J内でドラッグ移動させると、オブジェクトHは指にあわせて移動する。ユーザがオブジェクトHから指を画面から離すと、その時点でオブジェクトHも移動を停止して当該停止位置に応じた原点からのX軸成分とY軸成分とが特定される。この例では、画面左側にある極性設定ジャック(擬似ジャックG´、以下同じ)とチャンネル2の操作子対応プラグKとが、画面右側にある極性設定ジャック(G´)とチャンネル5及び7の操作子対応プラグKとが仮想ケーブルによってそれぞれ結び付けられている。そのため、前記特定したX軸成分により求められる移動量に基づく変動量だけつまみDの位置が変位されるのはチャンネル2,5,7の各仮想操作子Cであって、そのうちのチャンネル2の仮想操作子CのつまみDが下向きに、チャンネル5,7の仮想操作子CのつまみDが上向きに変位されることとなる。そして、チャンネル2の仮想操作子Cに予め割り当て済みのパラメータの値が前記変動量に応じた値だけ減少される一方で、チャンネル5,7の仮想操作子Cに予め割り当て済みのパラメータの値が前記変動量に応じた値だけ増大される。例えば、図示のようにX軸の正方向にX座標を「10」変化させるようなオブジェクトHの移動が行われた場合には、チャンネル2の仮想操作子CのつまみDを現在位置から「10」下げる画面更新が行われ、そして仮想操作子Cが現在位置から「10」下げられた位置で指し示される値を設定するべくパラメータ値の更新が行われる。
また、この例では、画面上側にある極性設定ジャック(G´)とチャンネル3の操作子対応プラグKとが、画面下側にある極性設定ジャック(G´)とチャンネル4の操作子対応プラグKとが仮想ケーブルによってそれぞれ結び付けられている。そのため、前記特定したY軸成分により求められる移動量に基づく変動量だけつまみDの位置が変位されるのはチャンネル3,4の各仮想操作子Cであって、そのうちのチャンネル3の仮想操作子CのつまみDが上向きに、チャンネル4の仮想操作子CのつまみDが下向きに変位されることとなる。これにより、チャンネル3の仮想操作子Cに予め割り当て済みのパラメータの値が前記変動量に応じた値だけ増大される一方で、チャンネル4の仮想操作子Cに予め割り当て済みのパラメータの値が前記変動量に応じた値だけ減少される。
以上のように、表示器に第1画面と第2画面の異なる画面を共に表示しておき、該第2画面の入力領域内を移動するオブジェクト(表示体)と、該第1画面に含まれる複数の仮想操作子の少なくともいずれか1つを画面上で関連付けることのできるようにした。そして、第2画面におけるオブジェクトへのタッチ操作(ユーザ入力操作)に応じて前記表示体の移動にあわせて当該表示体に関連付けられた1乃至複数の仮想操作子の各つまみ(指示部)の表示位置が変位され、この変位された仮想操作子のつまみの表示位置に従ってパラメータ値が決定される。これによれば、ユーザは別々の画面上に表示されたオブジェクトと予めパラメータの割り当て済みである仮想操作子とを関連付けるといった簡単な操作を行うだけで、同じパラメータを設定可能な仮想操作子がどれであるかを確認しながらオブジェクトとパラメータとの対応付けを行うことができるようになる。また、オブジェクトが移動する際にも、該オブジェクトに関連付けられた仮想操作子のつまみの表示位置を変位させることから、ユーザはオブジェクトで設定可能なパラメータと同じパラメータを設定可能な仮想操作子がどれであるかをオブジェクトの操作時であっても画面からすぐに認識することができる。こうすることにより、ユーザはオブジェクトを操作することで複数のパラメータの値を例えば互いの相対的な関係を維持したまま大きく変更させた後に、これらの仮想操作子を個別に操作してより細かに相互間の値の調整を行うなどの、オブジェクトと仮想操作子とを併用しての効率的なパラメータ設定を行いやすくなる。
以上、図面に基づいて実施形態の一例を説明したが、本発明はこれに限定されるものではなく、様々な実施形態が可能であることは言うまでもない。例えば、上述した実施例では仮想操作子Cとしてフェーダーを模したものを示したがこれに限らない。オブジェクトHは1個のみに限らず、複数個あってもよい。その場合、オブジェクトHを指定してから極性設定ジャックGと操作子対応プラグKとを結ぶ操作を行うことによって、当該オブジェクトHに仮想操作子Cを関連付ければよい。また、複数のオブジェクトHが互いに引力や反力などの相互作用を及ぼしあって移動するようにしてよい。
なお、上述した実施例では、1個の仮想操作子Cに割り当てできるパラメータを1つとした例をあげたがこれに限らず、3個など複数のパラメータを1個の仮想操作子Cに対して割り当て可能であってもよい。また、割り当てた複数のパラメータ毎に上端と下端の値が相互に逆値となるように設定することができてもよい。こうした場合、オブジェクトHの移動に応じて、あるパラメータについてはパラメータ値が増加する一方で、別のパラメータについては連動して値が減少するというパラメータ設定を実現することができることから、ユーザにとって簡単な操作でバリエーションに富んだパラメータ設定を行うことができる、という利点がある。
なお、「第2画面」の入力領域J上におけるオブジェクトHの移動操作はユーザによるオブジェクトHに対するタッチ操作に限らず、マウスやテンキー等を用いたオブジェクトHに対する操作(ユーザ入力操作)であってもよいことは言うまでもない。また、その場合に表示器6はタッチパネル式のディスプレイでなくてよい。
なお、本発明に係るパラメータ設定プログラムはスレート型のパーソナルコンピュータやスマートフォン等の電子機器に適用することに限らず、通常のパソコンや専用のハードウェアからなる電子楽器にも適用することができる。特には、ハードウェアとして物理的な設定操作子を本体パネルに有している電子楽器であってもよい。ただし、そうした電子楽器の場合には、前記設定操作子を自動的に移動させるための自動移動機構を備えている必要があることは勿論である。また、表示器6については設定操作子上に重ね合わせるようにして設けてもよいし設定操作子の近傍に設けるようにしてもよい。
なお、上述のパラメータ設定プログラムはコンピュータソフトウェアの形態に限らず、DSP(ディジタル・シグナル・プロセッサ)によって処理されるマイクロプログラムの形態でも実施可能であり、またこの種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用のハードウェア装置の形態で実施してもよい。