(57)【特許請求の範囲】
【請求項１】
所定の操作領域で検知したユーザ操作状態に応じてパラメータ値を変更するパラメータ制御プログラムにおいて、
コンピュータに、
前記操作領域での操作状態に応じてパラメータ値を変更するパラメータを割り当てる手順と、
前記操作領域に接触したまま接触位置を移動する操作が行われたときに、当該移動操作の操作進行方向を変える方向転換操作が行われたか否かを判定する手順と、
前記方向転換操作が行われた場合に、複数回の方向転換操作を含む移動操作の移動距離に応じた変化量に基づいて、前記割り当てられたパラメータのパラメータ値を増加する又は前記パラメータ値を減少するいずれか一方のみの変更制御を、該移動操作の操作進行方向に関わりなく、行う手順と
を実行させるためのプログラム。
【請求項２】
前記方向転換操作が所定時間内に行われない場合に、前記変更制御を行う前記手順において行われる前記パラメータ値の増加又は減少のいずれか一方とは反対に前記パラメータ値を増加又は減少する手順を、前記コンピュータにさらに実行させることを特徴とする請求項１に記載のプログラム。
【請求項３】
所定の操作領域で検知したユーザ操作状態に応じてパラメータ値を変更するパラメータ制御装置において、
前記操作領域での操作状態に応じてパラメータ値を変更するパラメータを割り当てる割り当て手段と、
前記操作領域に接触したまま接触位置を移動する操作が行われたときに、当該移動操作の操作進行方向を変える方向転換操作が行われたか否かを判定する判定手段と、
前記方向転換操作が行われた場合に、複数回の方向転換操作を含む移動操作の移動距離に応じた変化量に基づいて、前記割り当てられたパラメータのパラメータ値を増加する又は前記パラメータ値を減少するいずれか一方のみの変更制御を、該移動操作の操作進行方向に関わりなく、行う変更手段と
を具えるパラメータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザ操作に応じてパラメータ値の変更制御を行うパラメータ制御プログラム、前記パラメータ制御プログラムにより実現されるパラメータ制御機能と同等の機能を少なくとも有するパラメータ制御装置に関する。特に、ユーザによる一連の移動操作に応じてパラメータ値の変更制御を行う技術に関する。
【背景技術】
【０００２】
最近では、スレート型のパーソナルコンピュータやスマートフォンなどの電子機器に、所定の音楽機能を実現する音楽アプリケーションソフトウェアプログラムをインストールし、該音楽アプリケーションを動作させることにより前記電子機器を単なる楽音再生可能な再生器としてだけでなく、利用者（ユーザ）が演奏可能な電子楽器として楽しむことのできるようになっている。そうした音楽アプリケーションの１つとして、例えば電子機器が有するタッチパネル式ディスプレイに、実際の電子楽器に物理的に搭載されているノブやスライダーなどの設定操作子を模した仮想操作子、鍵盤などの演奏操作子を模した仮想演奏操作子（以下、仮想鍵盤と記す）などを表示しておき、これらの仮想操作子や仮想鍵盤への指やタッチペンなどの道具を用いてのユーザによるタッチ操作に応じて、楽音制御パラメータの設定や楽音の発音を行うようにしたものが知られている。なお、本明細書において「楽音」という場合、音楽的な音に限るものではなく音声あるいはその他任意の音を含んでいてもよい意味あいで用いるものとする。
【０００３】
仮想操作子を操作した場合には、予め割り当て済みであるパラメータのパラメータ値が変更される。他方、仮想鍵盤のいずれかの鍵を押圧（タッチ）した場合には、予め割り当て済みである音高の楽音が発生される。また、例えば下記に示す特許文献１に記載の装置のように、仮想鍵盤のうちいずれかの鍵を押圧した状態のままで水平方向の摺動操作を行った場合には、楽音の発音指示及び発音中の楽音を制御する楽音制御パラメータのパラメータ値が変更される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平09-101781号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上述した従来装置では、ユーザにより押圧状態のまま摺動操作がなされると、基準位置からの摺動距離に応じて予め決めてある所定値にパラメータ値を変更する。そのときには、一方向の摺動操作にあわせて値を増加する一方、前記方向とは反対向きの一方向の摺動操作にあわせて値を減少する。そのため、摺動操作する方向には十分な移動可能領域を確保する必要がある。しかし、上述した従来装置において特に両端に配置された鍵に関しては、パラメータ値変更のためにユーザが摺動操作を行えるだけの十分な領域が確保されていない。そのため、ユーザは所望の摺動距離を確保するだけの摺動操作を行うことができずに、広い範囲にわたってパラメータ値を変更することが困難である、という問題があった。この問題は、そもそもパラメータ値変更のために確保されている操作領域が狭いような場合に顕著である。
【０００６】
本発明は上述の点に鑑みてなされたもので、狭い操作領域における一連の摺動操作に従ってパラメータ値を広い範囲にわたって変更することの可能なパラメータ制御プログラム及びパラメータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の請求項１に係るパラメータ制御プログラムは、所定の操作領域で検知したユーザ操作状態に応じてパラメータ値を変更するパラメータ制御プログラムにおいて、コンピュータに、前記操作領域での操作状態に応じてパラメータ値を変更するパラメータを割り当てる手順と、前記操作領域に接触したまま接触位置を移動する操作が行われたときに、当該移動操作の操作進行方向を変える方向転換操作が行われたか否かを判定する手順と、前記方向転換操作が行われた場合に、複数回の方向転換操作を含む移動操作の移動距離に応じた変化量に基づいて、前記割り当てられたパラメータのパラメータ値を増加する又は前記パラメータ値を減少するいずれか一方のみの変更制御を、該移動操作の操作進行方向に関わりなく、行う手順とを実行させるためのプログラムである。
【０００８】
本発明によると、所定の操作領域において接触位置を移動する操作が行われた際に当該移動操作の操作進行方向を変える方向転換操作が行われた場合に、当該方向転換操作を契機に予め割り当て済みのパラメータのパラメータ値の変更制御を行うようにした。すなわち、前記操作領域に接触したまま接触位置を移動する操作が行われた場合であっても、当該移動操作が操作進行方向を変える方向転換操作を含まない操作であれば、パラメータ値を変更しない。一方、当該移動操作が方向転換操作を含む操作であれば、この方向転換操作を契機にパラメータ値を変更する。このとき、複数回の方向転換操作を含む移動操作の移動距離に応じた変化量に基づいて、パラメータ値を増加する又はパラメータ値を減少するいずれか一方のみの変更制御を行う。このようにすると、利用者は複数回の方向転換操作を繰り返し含むように異なる方向に移動操作を行うことによって、パラメータ値を増加又は減少させるいずれか一方向のみの変更制御を、該移動操作の操作進行方向に関わりなく、累算的に行うことができることから、特に操作領域が狭いような場合であっても、利用者は容易かつ直感的にパラメータ値を広い範囲にわたって変更することのできるようになる。
【０００９】
本発明の請求項３に係るパラメータ制御装置は、所定の操作領域で検知したユーザ操作状態に応じてパラメータ値を変更するパラメータ制御装置において、前記操作領域での操作状態に応じてパラメータ値を変更するパラメータを割り当てる割り当て手段と、前記操作領域に接触したまま接触位置を移動する操作が行われたときに、当該移動操作の操作進行方向を変える方向転換操作が行われたか否かを判定する判定手段と、前記方向転換操作が行われた場合に、複数回の方向転換操作を含む移動操作の移動距離に応じた変化量に基づいて、前記割り当てられたパラメータのパラメータ値を増加する又は前記パラメータ値を減少するいずれか一方のみの変更制御を、該移動操作の操作進行方向に関わりなく、行う変更手段とを具える。これによれば、操作領域が狭いような場合であっても、利用者は複数回の方向転換操作を繰り返し含むように異なる方向に移動操作を行うことによって容易かつ直感的にパラメータ値を広い範囲にわたって変更することができる。
【００１０】
本発明は、コンピュータまたはＤＳＰ等のプロセッサで実行可能なプログラムの発明として構成し実施することができるのみならず、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【００１１】
この発明によれば、操作進行方向を変える方向転換操作を繰り返し含む一連の移動操作が行われることに応じて、当該方向転換操作を契機にパラメータ値を増加又は減少させるいずれか一方の変更制御を行うようにした。これにより、パラメータ値変更のために確保されている操作領域が狭いような場合であっても、ユーザは方向転換操作を繰り返し含む一連の移動操作を行うだけで容易かつ直感的にパラメータ値を広い範囲にわたって変更することができる、という効果が得られる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係るパラメータ制御プログラムを適用可能な電子機器の全体構成の一実施例を示すハード構成ブロック図である。
【図２】演奏画面の一実施例を示す概念図である。
【図３】楽音生成処理の一実施例を示すフローチャートである。
【図４】パラメータ制御処理の一実施例を示すフローチャートである。
【図５】折り返し操作の具体例を示す概念図である。
【図６】タイムアウト制御処理の一実施例を示すフローチャートである。
【図７】パラメータ値の変更制御を説明するためのタイムチャートである。
【発明を実施するための形態】
【００１３】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１４】
図１は、本発明に係るパラメータ制御プログラムを適用可能な電子機器の一実施例を示すハード構成ブロック図である。ここに示す電子機器はコンピュータを用いて構成されてなり、前記コンピュータが後述のパラメータ制御プログラム（図４参照）を実行することに基づき、ユーザによる表示器６Ａに表示される画面へのタッチ操作、より具体的には仮想操作子は勿論のこと仮想鍵盤上における所定の摺動操作に応じてパラメータ値の変更を行うことの可能なパラメータ制御装置として機能する、例えばスレート型のパーソナルコンピュータやスマートフォン等の電子機器である。
【００１５】
図１に示す電子機器は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータによって制御される。ＣＰＵ１は、この電子機器全体の動作を制御するものである。このＣＰＵ１に対して、データ及びアドレスバス１Ｄを介してＲＯＭ２、ＲＡＭ３、検出回路４,５、表示回路６、サウンドシステム７、記憶装置８、通信インタフェース（I/F）９がそれぞれ接続されている。
【００１６】
ＲＯＭ２は、ＣＰＵ１により実行される各種アプリケーションや各種データ等を格納するものである。ＲＡＭ３は、ＣＰＵ１が所定のアプリケーションを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のアプリケーションやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。
【００１７】
設定操作子（スイッチ等）４Ａは１乃至複数の汎用スイッチであって、例えば所定の音楽アプリケーションの実行に伴い表示器６Ａに表示された表示内容に従う処理を実現する機能が割り当てられる。一例として、設定操作子４Ａは音高、音色、効果等の楽音制御パラメータの設定を行う機能や、自動演奏の開始／停止を指示する機能などが割り当てられ得る。勿論、設定操作子４Ａは上記したものに代えてあるいは加えて、数値データ入力用のテンキーや文字データ入力用のキーボード等の各種操作子を含んでいてもよい。検出回路４は、上記設定操作子４Ａの操作状態を検出し、その操作状態に応じたスイッチ情報等をデータ及びアドレスバス１Ｄを介してＣＰＵ１に出力する。
【００１８】
表示器６Ａは、例えば液晶表示パネル（ＬＣＤ）等で構成されたタッチパネル式のディスプレイである。検出回路５は、ユーザによる前記表示器６Ａへのタッチ操作を検出することに応じて、該タッチ操作された前記表示器６上の座標位置（ＸＹ座標）を特定する検知信号つまりはユーザ操作情報を生成し、これをデータ及びアドレスバス１Ｄを介してＣＰＵ１に出力する。表示回路６は、例えば所定の音楽アプリケーションの実行に伴い「演奏画面」（図２参照）等の各種画面を表示器６Ａに表示するのは勿論のこと、ＲＯＭ２や記憶装置８等に記憶される各種アプリケーションや各種データあるいはＣＰＵ１の制御状態などを表示する。なお、前記表示器６Ａのタッチパネル方式は公知のどのようなものであってもよく、前記液晶表示パネルは例えば静電容量型、抵抗膜型、光センサ内蔵型などどのようなタイプのものであってもよい。
【００１９】
サウンドシステム７は、図示を省略した音源／効果回路やアンプさらにはスピーカなどを含んでなり、「演奏画面」（図２参照）の仮想鍵盤へのユーザタッチ操作に応じて楽音の発生を制御する。なお、サウンドシステム７の構成は従来のいかなる構成を用いてもよく、例えばＣＰＵ１や専用のDSP（Digital Signal Processor）によるソフトウェアシンセサイザなどと称されるソフトウェア処理で構成してもよいし、専用のハードウェアで構成してもよい。また、楽音合成方式としては、FM、PCM、物理モデル、フォルマント合成等のいずれの方式を採用してもよい。
【００２０】
記憶装置８は、ＣＰＵ１が実行する各種アプリケーション、楽音制御パラメータなどの各種データを記憶する。なお、上述したＲＯＭ２にアプリケーションが記憶されていない場合、この記憶装置８（例えばハードディスク）にアプリケーションを記憶させておき、それをＲＡＭ３に読み込むことにより、ＲＯＭ２にアプリケーションを記憶している場合と同様の動作をＣＰＵ１に実行させることができる。このようにすると、アプリケーションの追加やバージョンアップ等が容易に行える。なお、記憶装置８はハードディスク（HD）に限られず、フレキシブルディスク（FD）、コンパクトディスク（CD‐ROM・CD‐RAM）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等の様々な形態の可搬記憶媒体を利用した記憶装置であってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
【００２１】
通信インタフェース（Ｉ／Ｆ）９は、本電子機器と接続された外部機器、例えば電子楽器やミキサーなどの電子音楽機器、プロジェクター等の映像機器、スポットライト等の照明機器などに対し、少なくとも各機器で利用可能な種類のパラメータのパラメータ値を送信してそれらの外部機器が実行する各種制御に反映させるためのインタフェースである。例えばMIDIなどの専用有線インタフェース、LANやインターネットあるいは電話回線等の有線又は無線の通信ネットワークに接続するためのEthernet（登録商標）や無線ＬＡＮなどのネットワークインタフェースなどであってもよい。勿論、有線あるいは無線のものいずれかでなく双方を具えていてよい。
【００２２】
なお、本発明に係るパラメータ制御プログラムを適用可能な電子機器として、上述した実施例ではサウンドシステム７を有してなる電子機器を例に示したがこれに限らず、サウンドシステム７を有していない電子機器であってもよい。その場合、上述したように通信インタフェース９を介して接続される外部機器にパラメータ値を反映させればよい。このとき外部機器に対して設定値を送信するパラメータの種類は、実行中のアプリケーションによって限定される。例えば、映像アプリケーションであればフェードイン／アウト制御パラメータ、照明アプリケーションであれば照明光量制御パラメータなどである。以下では、音楽アプリケーションである場合、つまり楽音制御パラメータのパラメータ値を変更する場合を例に説明する。
【００２３】
上述したように、図１に示す電子機器において所定の音楽アプリケーションの実行に伴って、表示器６Ａ には「演奏画面」が表示される。そこで、この演奏画面について図２を用いて説明する。図２は、演奏画面の一実施例を示す概念図である。なお、この明細書において横方向（又は水平方向）とは図中に示したＸ方向つまりは鍵の短辺方向を指し、縦方向（又は垂直方向）とは図中に示したＹ方向つまりは鍵の長辺方向を指す。
【００２４】
図２に示すように、演奏画面には、実際の電子楽器に搭載されている物理的な演奏操作子を模した仮想演奏操作子として仮想鍵盤Ａが表示される。仮想鍵盤Ａのいずれかの鍵がタッチされたことを検出した場合には、ＣＰＵ１による後述する「楽音発生処理」（図３参照）の実行に伴って楽音が発生される。また、仮想鍵盤Ａのいずれかの鍵がタッチされた状態のまま摺動操作されたことを検出した場合には、ＣＰＵ１による後述する「パラメータ制御処理」（図４参照）の実行に伴って楽音制御パラメータの値が変更される。すなわち、この実施例においては、仮想鍵盤Ａの各鍵の表示領域がパラメータ値を変更するための操作領域に相当する。楽音発生処理及びパラメータ制御処理の詳細については後述する。なお、仮想演奏操作子は上記仮想鍵盤Ａのような鍵盤楽器の演奏操作子を模したものに限らず、弦楽器や打楽器など他の自然楽器の演奏操作子を模したものであってよい。
【００２５】
演奏画面には、仮想操作子としてノブを模した形状の仮想ノブ操作子Ｂが複数表示される。この仮想ノブ操作子Ｂに対しては、任意のパラメータを予め割り当てておくことができるようになっており、ここでは左から順にカットオフ、レゾナンス、アタック、リリース、ポルタメントの各楽音制御パラメータが割り当てられた例を示している。また、パラメータを割り当て済みの仮想ノブ操作子Ｂには、その近傍に割り当てられたパラメータ種類を示す表示がなされる。図２では、CUTOFF,RESONANCE,ATTACK,RELEASE,PORTAMENTの種類表示を仮想ノブ操作子Ｂの上方に表示した例を示したが、これに限らず、各仮想ノブ操作子Ｂに割り当て済みのパラメータ種類をユーザに提示できればどのような表示の仕方であってもよい。
【００２６】
仮想ノブ操作子Ｂがタッチされた状態のまま円周方向に摺動操作されたことが検出された場合には、ＣＰＵ１により該操作された仮想ノブ操作子Ｂに割り当て済みのパラメータの値を変更する制御が行われる。この変更制御では、一方向の摺動操作にあわせて値を増加する一方、前記方向とは反対方向の摺動操作にあわせて値を減少する。変更されたパラメータ値は、電子機器に内蔵されたソフトウェアシンセサイザ又は通信インタフェース９を介して接続された外部機器に送出されて楽音発生処理時に反映される。こうしたユーザの摺動操作にあわせて、該操作された仮想ノブ操作子Ｂはさも回転操作されるように表示制御されて、仮想ノブ操作子Ｂの指示部表示を変更後のパラメータ値に対応した位置に位置付ける。
【００２７】
演奏画面には、上記した仮想鍵盤Ａや仮想ノブ操作子Ｂの他に、仮想スイッチＣ、垂直方向パラメータ選択仮想メニューＤ、水平方向パラメータ選択仮想メニューＥ、その他設定操作メニューＦが表示される。仮想スイッチＣは、ユーザ操作にあわせて仮想鍵盤Ａの表示領域を左右の横方向にスクロールすることで、ユーザが操作できる鍵域を変更するか否かを設定するためのオン／オフスイッチである。例えば、仮想スイッチＣ（KEYBOARD SCROLL LOCK）がオフ状態では、仮想鍵盤Ａ上で横方向のドラッグ操作が行われることに応じて仮想鍵盤Ａの鍵域がドラッグ操作された向きにスクロール表示されるので、ユーザは表示器６Ａで表示しきれない表示範囲外の鍵域を適宜に使用して広い音域で演奏を行うことができる。他方、仮想スイッチＣがオン状態では、仮想鍵盤Ａ上で横方向のドラッグ操作が行われても仮想鍵盤Ａの鍵域はスクロール表示されず固定されたままであるので、ユーザは表示されている範囲の鍵域のみを使用して限定された音域で演奏を行うことができる。
【００２８】
上述したように、本実施形態においては、仮想鍵盤Ａのいずれかの鍵がタッチされた状態のまま摺動操作されることに応じて楽音制御パラメータの値を変更する。この際に制御されるパラメータは、縦方向の摺動操作と横方向の摺動操作とで異なる種類のパラメータを割り当てることのできるようになっている。すなわち、垂直方向パラメータ選択仮想メニューＤは縦方向の摺動操作に応じて制御する対象のパラメータを割り当てるものであり、水平方向パラメータ選択仮想メニューＥは横方向の摺動操作に応じて制御する対象のパラメータを割り当てるものである。これにより、異なる２種類のパラメータの値を同時に変更制御するように設定することができる。
【００２９】
垂直方向パラメータ選択仮想メニューＤ又は水平方向パラメータ選択仮想メニューＥへのタッチ操作が検出された場合には、ＣＰＵ１により以下に示す制御が行われる。まず、割り当て可能なパラメータの一覧がポップアップ画面などにより表示される。仮想ノブ操作子Ｂに割り当て済みのパラメータだけを一覧表示させてもよいし、全てのパラメータ（楽音制御パラメータとしては上記の他に、例えばモヂュレーション,ボリューム,リバーブ,パン等がある）を一覧表示させてもよい。そして、一覧表示された中からいずれかのパラメータへのタッチ操作が検出された場合には、縦方向と横方向それぞれの摺動操作に応じて設定値を変更制御する対象として、タッチ操作されたパラメータを選択する。このとき、仮想ノブ操作子Ｂに既に割り当て済みのパラメータ以外のパラメータを新たに選択した場合には、いずれかの仮想ノブ操作子Ｂに選択されたパラメータを割り当てる。こうすると、ユーザは仮想鍵盤Ａ上での摺動操作と仮想ノブ操作子Ｂへの摺動操作とで同じパラメータの設定値を変更することができるようになる。
【００３０】
また、垂直方向パラメータ選択仮想メニューＤ又は水平方向パラメータ選択仮想メニューＥでは、パラメータ種類のみならず摺動操作にあわせて値を増やすのか減らすのかを指定できる。一例を挙げると、例えばパラメータ「カットオフ周波数」を「カットオフ」と「カットオフ（‐）」の２つの表記により表示する。そして、「カットオフ」表示が選択されている場合には摺動操作によってカットオフ周波数を高くするように値を加算する変更制御を行う一方で、「カットオフ（‐）」表示が選択されている場合には摺動操作によってカットオフ周波数を低くするように値を減算する変更制御を行うようにしておけばよい。なお、垂直方向パラメータ選択仮想メニューＤ，水平方向パラメータ選択仮想メニューＥから、制御対象のパラメータを割り当てない選択ができてよいし、また同一のパラメータを制御対象として割り当てる選択ができてもよい。その他設定操作メニューＦは、音色や音階など上記した以外のその他の楽音発生に係る各種設定や、外部機器との通信設定などを行うためのものである。
【００３１】
次に、図２に示した演奏画面の仮想鍵盤Ａへのタッチ操作及び仮想鍵盤Ａ上での摺動操作に応じて、楽音を発生する楽音発生処理及びパラメータ値を変更するパラメータ制御処理について説明する。図３は、楽音発生処理の一実施例を示すフローチャートである。この楽音発生処理はＣＰＵ１によって実行される処理であり、仮想鍵盤Ａのいずれかの鍵へのタッチ操作を検知した場合に開始される。
【００３２】
ステップＳ１は、仮想ノブ操作子Ｂなどの操作によって予め設定済みである各種パラメータの初期値に従って、タッチされた鍵に予め割り当てられている音高の楽音の発生を開始する。例えば、本電子機器が内蔵するソフトウェアシンセサイザあるいは本電子機器に接続された外部機器に対して楽音発生指示が送出されることにより、ソフトウェアシンセサイザあるいは外部機器により楽音の発生制御は行われる。公知のように、ソフトウェアシンセサイザを利用して本電子機器単体で楽音を発生する場合には、所定の時間間隔で所定の時間長の音データを生成し、これをサウンドシステム７を介して次々と放音する制御が行われる。他方、外部機器を利用して楽音を発生する場合には、楽音発生の開始と終了とを外部機器に指示するだけで、楽音を発生／終了する制御は外部機器で実行される。なお、こうした楽音発生最中でも仮想ノブ操作子Ｂの操作は受け付けられ、該操作に応じて変更されたパラメータ値に従って楽音が制御される。
【００３３】
ステップＳ２は、垂直方向パラメータ選択仮想メニューＤ及び水平方向パラメータ選択仮想メニューＥ（図２参照）で選択された各パラメータに関し、現時点での値を初期値として記憶する。ステップＳ３は、タッチ開始位置を取得し当該位置を垂直成分（Ｙ座標成分）と水平成分（Ｘ座標成分）とに分けて記憶する。
【００３４】
ステップＳ４は、仮想鍵盤Ａへのタッチ操作が終了したか否かを判定する。具体的には、ユーザが当該鍵へのタッチ操作自体を止めたつまりは離鍵操作を行ったことを検知したか否か、あるいはタッチ位置が当該鍵の表示領域外へと移動したことを検知したか否かを判定する。仮想鍵盤Ａへのタッチ操作が終了していないと判定した場合には（ステップＳ４のＮＯ）、当該処理を繰り返す。一方、仮想鍵盤Ａへのタッチ操作が終了したと判定した場合には（ステップＳ４のＹＥＳ）、該当の楽音の発生を終了し（ステップＳ５）、当該処理を終了する。この場合、ソフトウェアシンセサイザあるいは外部機器に対して楽音発生終了指示が送出されて、ソフトウェアシンセサイザあるいは外部機器が発生中の楽音を消音する制御を実行する。
【００３５】
図４は、パラメータ制御処理の一実施例を示すフローチャートである。このパラメータ制御処理はＣＰＵ１によって実行される処理であり、仮想鍵盤Ａ上における摺動操作を検出した場合に開始される（このとき上記楽音発生処理とは並列処理される）。
【００３６】
ステップＳ１１は、現在のタッチ位置を特定し記憶（更新）する。ステップＳ１２は、特定した現在のタッチ位置の垂直成分（Ｙ座標成分）とタッチ開始位置の垂直成分（Ｙ座標成分）とに応じて、垂直方向パラメータ選択仮想メニューＤにて選択されたパラメータの値を更新する。ここに示す実施形態では、タッチ開始位置からの垂直方向の摺動距離に応じて、当該摺動距離に対応した変化量だけパラメータ値を更新する。すなわち、図２に示す仮想鍵盤Ａにおいて各鍵の表示領域は水平方向に比べて垂直方向に長く、垂直方向では摺動操作するのに十分な移動可能領域を確保できることから、垂直方向に関しては従来と同様にタッチ開始位置からのタッチ位置の変位量に応じてパラメータ値の更新を行う。
【００３７】
他方、水平方向では摺動操作するのに十分な移動可能領域を確保できていないことから、水平方向に関しては従来と同様にタッチ開始位置からのタッチ位置の変位量に応じてパラメータ値の更新を行うことが難しい。そこで、本実施形態においては、水平方向に関しては従来と異なり、摺動操作中に所定の折り返し操作が行われたことを検知した場合にパラメータ値の変更を行うようにしている。また、パラメータ値の増減変化分を、タッチ開始位置からの摺動距離ではなく、折り返し操作直前に記憶された前回のタッチ位置からの摺動距離に応じて求めるようにしている（ステップＳ１３以降参照）。
【００３８】
ここで、本実施形態においてパラメータ値の変更制御の契機とする折り返し操作について、図５を用いて説明する。図５は、折り返し操作の具体例を示す概念図である。図中に示した実線の矢印はタッチ開始位置からの摺動操作に応じて変位するタッチ位置の軌跡を示し、丸印は折り返し操作を検知した時点のタッチ位置（折り返し点）を示す。本明細書において「折り返し操作」とは、摺動操作の操作進行方向を所定角（例えば９０度）以上の向きに変える方向転換操作のことを言う。
【００３９】
例えば、図５（ａ）はタッチ位置が直線上を往復移動する一連の摺動操作を示しているが、この往復摺動操作において操作進行方向を１８０度反転させる方向転換操作が「折り返し操作」に相当する（折り返し点Ａ，Ｂ参照）。また、図示を省略したが、例えば折り返し点Ａ，Ｂを結ぶ直線を１辺に含む長方形上を同一方向に移動する摺動操作を行っている場合には、操作進行方向を直角に変える方向転換操作は「折り返し操作」に相当し、折り返し操作が行われる長方形の４つの各頂点の位置は「折り返し点」に相当する。
【００４０】
図５（ｂ）はタッチ位置が径の異なる円弧上を移動する一連の摺動操作を示しているが、この摺動操作においても操作進行方向をほぼ１８０度反転させる方向転換操作が「折り返し操作」に相当する（折り返し点Ａ，Ｂ参照）。図５（ｂ）に示す摺動操作の操作進行方向は円の接線向きに変化することからすれば、この場合は常に方向転換操作が行われていると言える。しかし、例えば図中においてバツ印で示した時点において、操作進行方向は所定角（例えば９０度）以上の向きに変えられていない。したがって、このバツ印で示した時点の摺動操作は「折り返し操作」に相当しない。そうであるから、この場合には折り返し点Ａ，Ｂ時点での方向転換操作のみが「折り返し操作」に相当する。また、図５（ｃ）に示す摺動操作においては、折り返し点Ａ，Ｂ，Ｃの各時点で操作進行方向を所定角以上の向きに変える方向転換操作がなされていることから、これらの各時点での摺動操作が「折り返し操作」に相当する。
【００４１】
なお、ここでは水平方向に折り返し操作が行われたことを検知した場合にパラメータ値の変更を行う場合を例にしたことから、実質的に水平成分の操作進行方向が所定角以上の向きに変えられる操作は「折り返し操作」に含まれる。例えば、図５（ａ）に示す折り返し点Ａ，Ｂを含む円周上を同一方向に移動する摺動操作が行われている場合、折り返し点Ａ，Ｂ上における操作は「折り返し操作」に相当する。勿論、円周上を同一方向に移動する摺動操作を行っている場合に、任意の位置で移動方向を反転させる操作（例えば時計回りから反時計回りに反転する操作）は「折り返し操作」に相当し、折り返し操作した円周上の任意の位置は「折り返し点」に相当するのは言うまでもない。
【００４２】
図４の説明に戻って、ステップＳ１３は、特定した現在のタッチ位置の水平成分（Ｘ座標成分）と前回のタッチ位置の水平成分（Ｘ座標成分）とに応じて、前回のタッチ位置から現在のタッチ位置までの水平方向の摺動距離と、右か左かのどちら方向に摺動操作されたかを示す方向情報とを求める。ここで、前回のタッチ位置は上述したステップＳ１１において更新される前に記憶されていた現在のタッチ位置であるので（ステップＳ１８参照）、前回のタッチ位置から現在のタッチ位置までの摺動距離は摺動操作に伴って所定時間が経過するまでに移動した距離である。ステップＳ１４は、求めた水平方向の摺動距離が所定値より大きいか否かを判定する。
【００４３】
水平方向の摺動距離が所定値より大きくないと判定した場合には（ステップＳ１４のＮＯ）、本処理を終了する。この場合、ユーザ操作が無視できるほど摺動距離の小さな摺動操作である又はそもそも摺動操作がなされていないノイズ動作として、パラメータ値の変更を行わない。他方、水平方向の摺動距離が所定値より大きいと判定した場合には（ステップＳ１４のＹＥＳ）、前回の方向情報と今回の方向情報とに基づき今回の摺動操作が「水平方向に折り返す操作」を含む操作であったか否かを判定する（ステップＳ１５）。今回の摺動操作が「水平方向に折り返す操作」を含む操作でないと判定した場合には（ステップＳ１５のＮＯ）、ステップＳ１８の処理にジャンプする。
【００４４】
一方、今回の摺動操作が「水平方向に折り返す操作」を含む操作であると判定した場合には（ステップＳ１５のＹＥＳ）、折り返し点を経由した摺動距離に応じた変化量に従ってパラメータ値を変更する（ステップＳ１６）。この際にパラメータ値を増加させる場合には、上限値に達したらそれ以上に増加させない。あるいは、パラメータ値を減少させる場合には、下限値に達したらそれ以下に減少させない。なお、パラメータ値を増加させるか減少させるかは、上述したように、水平方向パラメータ選択仮想メニューＥにおいてパラメータ種類のみならず摺動操作にあわせて値を増やすのか減らすのかを指定することにより決定される。パラメータ値が変更されると、内蔵のソフトウェアシンセサイザあるいは外部機器にパラメータ値を変更する指示が送出される。また、対応する仮想ノブ操作子Ｂの表示にも反映される。
【００４５】
ステップＳ１７は、タイムアウト時間をリセットする。タイムアウト時間は、例えば200msecなどにリセットされる。所定値以上の摺動距離の摺動操作が行われることなく設定したタイムアウト時間が経過した場合、後述するタイムアウト制御処理（図６参照）がＣＰＵ１により開始される。ただし、既にタイムアウト制御処理の実行中である場合には、実行中のタイムアウト制御処理を中断する。すなわち、水平方向の折り返し操作が無い状態（例えば、摺動操作することなく停止したままじっとしている状態、垂直方向でのみ折り返し操作している状態、あるいは離鍵した状態など）が続いてタイムアウト時間が経過すると、摺動距離に応じたパラメータ値の変更制御とは反対にパラメータ値を減少（又は増加）する変更制御が開始される。勿論、タイムアウト時間が経過する前に水平方向の折り返し操作が検知されれば、その度に、摺動距離に応じたパラメータ値の変更制御が行われるので、その時点でタイムアウト時間はリセットされる。ステップＳ１８は、現在のタッチ位置と方向情報とを前回のタッチ位置及び方向情報として記憶する。
【００４６】
図６は、タイムアウト制御処理の一実施例を示すフローチャートである。このタイムアウト制御処理は、所定時間毎に繰り返し実行される（例えば50msec周期）。ステップＳ２１は、パラメータの現在値を初期値に所定量だけ近づける。このときにも、内蔵のソフトウェアシンセサイザあるいは外部機器にパラメータ値を変更する指示が送出され、また対応する仮想ノブ操作子Ｂの表示にも反映される。ステップＳ２２は、現在値が初期値に達したか否かを判定する。現在値が初期値に達したと判定した場合には（ステップＳ２２のＮＯ）、本処理を終了する。現在値が初期値に達していないと判定した場合には（ステップＳ２２のＹＥＳ）、本処理の実行を停止する（ステップＳ２３）。この実行停止により、所定時間経過後に本タイムアウト制御処理が実行されることがない。
【００４７】
パラメータ値の変更制御の具体例について図７を用いて説明する。図７は、パラメータ値の変更制御を説明するためのタイムチャートである。ただし、ここでは説明を理解しやすくするために、時刻ｔ０に任意の鍵が押鍵（タッチ操作）されてから時刻ｔ１４に離鍵操作されるまでの間に、図５（ａ）に示したような水平方向のみの往復摺動操作が行われた場合を例に説明する。
【００４８】
時刻ｔ０に鍵が押鍵されてから摺動操作が開始されることにあわせて、所定時間毎に摺動操作の進行に応じた現在のタッチ位置（方向情報を含む）と前回のタッチ位置（方向情報を含む）の更新とが開始される。時刻ｔ１時に操作進行方向を右から左方向に１８０度反転する摺動操作が行われた場合、前回の方向情報「右」と現在の方向情報「左」とに基づいて当該操作が「折り返し操作」に相当する方向転換操作であることを検知する。折り返し操作を検知すると、前回のタッチ位置と現在のタッチ位置さらには折り返し点とに基づき、折り返し操作が行われた時間内に移動した摺動距離を求め、該求めた摺動距離に応じてパラメータ増加量（変化量）を決定する。予め割り当て済みのパラメータの現在の設定値（ここでは初期値）にパラメータ増加量を加算してパラメータ値を変更する。
【００４９】
時刻ｔ２時及び時刻ｔ３時にも操作進行方向を１８０度反転する摺動操作が行われていることから、これらの各時刻においても上記時刻ｔ１時と同様にして、折り返し操作が行われた時間内に移動した摺動距離に応じて決定されるパラメータ増加量を現在のパラメータ設定値に加算するパラメータ値の変更制御を行う。このときの各摺動操作時の摺動距離は時刻ｔ１の操作時より長いので、加算するパラメータ増加量は時刻ｔ１時に比べて大きくなる。一方、時刻ｔ４時にも操作進行方向を１８０度反転する摺動操作が行われているが、このときの摺動距離は所定値より大きくないことから、時刻ｔ４時にパラメータ値の変更制御は行われない。
【００５０】
また、時刻ｔ５，ｔ６，ｔ７，ｔ９，ｔ１１時にも摺動距離が所定値より大きくかつ操作進行方向を１８０度反転する摺動操作が行われていることから、各時刻においてパラメータ増加量を加算するパラメータ値の変更制御が行われる。ただし、時刻ｔ７時においては、時刻ｔ６時のパラメータ値の変更制御によってパラメータ値が上限値にまで既に設定された状態にあり、これ以上の値に設定することができないことから、実質的にパラメータ値は変更されない。
【００５１】
時刻ｔ７以降には、摺動距離が所定値より大きくない摺動操作が行われている。こうした摺動操作が行われている時間がタイムアウト時間（例えば200ms）を超えると、摺動距離が所定値より大きい摺動操作が行われるまで（ここでは時刻ｔ９とする）、タイムアウト時間経過後（時刻ｔ８）からの時間経過に応じて所定のパラメータ減衰量（変化量）を加算するパラメータ値の変更制御が行われる。これにより、図示したように時刻ｔ８から時刻ｔ９まではパラメータ値が上限値から初期値に向かって減少する。パラメータ減衰量を加算する変更制御は、摺動距離が所定値より大きくない摺動操作が行われてからタイムアウト時間が経過した時刻ｔ１０，ｔ１２にも同様に実行される。なお、パラメータ減衰量を加算する変更制御が行われることに伴い、パラメータ値が初期値にまで減少したような場合には（時刻ｔ１３参照）、その時点でパラメータ値の変更制御を終了する。
【００５２】
以上のように、本発明によると、タッチ操作された仮想鍵盤Ａのいずれかの鍵の表示領域において行われた摺動操作が折り返し操作（方向転換操作）を含む一連の摺動操作である場合に、水平方向パラメータ種類仮想メニューＥにて予め割り当て済みのパラメータのパラメータ値の変更制御を行うようにした。すなわち、タッチ操作された鍵の表示領域において摺動操作が行われた場合に、当該摺動操作が折り返し操作を含まない操作であればパラメータ値を変更しない一方で、当該摺動操作が折り返し操作を含む操作であれば、この折り返し操作を契機としてパラメータ値を変更する。このとき、該折り返し操作を含む一連の摺動操作の摺動距離に応じた変化量に基づいて、パラメータ値を増加する又はパラメータ値を減少するいずれか一方の変更制御を行う。このようにすると、利用者はタッチ操作した鍵の表示領域において折り返し操作を繰り返し含む一連の摺動操作を行うことによって、パラメータ値を増加又は減少させる一方向の変更制御を行うことができる。したがって、仮想鍵盤Ａの鍵のように本来は楽音の発生制御のために確保された操作領域をパラメータ値変更のための操作領域として兼用するが故に、どうしても操作領域が狭くなるような場合であっても、利用者は容易かつ直感的にパラメータ値を広い範囲にわたって変更することのできるようになる。
【００５３】
利用者は以下に示すような操作を行うことにより、容易かつ直観的にパラメータ値の変更を行うことができる。例えば、パラメータ値を細かい時間間隔で増加させたいときは、弦楽器におけるビブラート奏法時の操作のように単位時間内の折り返し操作の回数がより多くなる素早い摺動操作を行えばよい。他方、パラメータ値を離散的に増加させたいときは、単位時間内の折返し操作の回数がより少なくなるゆっくりとした摺動操作を行えばよい。また、パラメータ値を少しずつ増加（又は減少）させたいときは摺動距離の短い摺動操作を行い、パラメータ値を大きく増加（又は減少）させたいときは摺動距離の長い摺動操作を行えばよい。こうした摺動操作の組み合わせにより、利用者は多彩なパラメータ値の変更制御を直観的に行うことができる。さらに、折り返し操作時にパラメータ値を増加（又は減少）させる制御を行う一方で、タイムアウト時間にわたって折り返し操作がなされない場合にはパラメータ値を減少（又は増加）する制御を行うようにしたことから、利用者はパラメータ値の増加と減少を同時に発生させてこれらを相殺させることもできる。すなわち、利用者はタイムアウト時間が経過する度に折り返し操作を繰り返し行うことにより、パラメータ値をほぼ維持させるといったようにパラメータ値の変更具合をうまく調整することが可能である。
【００５４】
以上、図面に基づいて実施形態の一例を説明したが、本発明はこれに限定されるものではなく、様々な実施形態が可能であることは言うまでもない。例えば、上述した実施例では、操作進行方向を水平方向に折り返す方向転換操作を契機にパラメータ値を変更するパラメータ制御処理を例に示したがこれに限らず、操作進行方向を垂直方向に折り返す方向転換操作を契機にパラメータ値を変更するパラメータ制御処理であってよい。
【００５５】
なお、パラメータ値の変化量は所定時間内に移動した摺動距離に応じて決定することに限らず、前回の折り返し点から今回の折り返し点までの距離（所定時間内に移動した摺動距離を前回の折り返し点から今回の折り返し点までの移動時間に応じて累計した距離）に応じて決定するようにしてもよい。また、移動がある度にそれを検出回路５が検出してその位置を記憶しておき、折り返し操作の際には記憶されていた位置から現在の位置までの距離に応じて、パラメータ値の変化量を決定するようにしてもよい。
【００５６】
なお、上述した実施例においては、ユーザ操作が指を押圧した状態のまま移動させる摺動操作である場合に上記したパラメータ制御を行うものを示したが、これに限らず、例えばユーザが最初にタッチした位置から指を動かすことなしに、単にその位置で指を左右等に震わせる操作を行った場合に上記したパラメータ制御を行うようにしてもよい。この場合、指の動作にあわせて指の重心位置が都度変わることに応じて検知される接触位置が移動するので、これにより操作進行方向並びに移動距離を把握することができる。
なお、上述した実施例においては表示器６Ａ上におけるユーザによるタッチ操作（ユーザ操作）を検知することに応じてパラメータ値を変更制御するものを示したが、これに限らず、例えばユーザによるマウス等の操作（ユーザ操作）に従って表示器６Ａ上を移動するポインタ等の表示体の動きを検出することに応じてパラメータ値を変更制御するものであってもよい。また、表示器６Ａに限らず、タッチパッドなどのユーザタッチ操作を検出可能な操作子であってよい。
【００５７】
なお、本発明に係るパラメータ制御プログラムはスレート型のパーソナルコンピュータやスマートフォン等の電子機器に適用することに限らず、通常のパソコンや専用のハードウェアからなる電子楽器にも適用することができる。
なお、上述のパラメータ制御プログラムはコンピュータソフトウェアの形態に限らず、DSP（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、またこの種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用のハードウェア装置の形態で実施してもよい。
【符号の説明】
【００５８】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４,５…検出回路、４Ａ…操作子、６…表示回路、６Ａ…表示器（タッチパネル式ディスプレイ）、７…サウンドシステム、８…記憶装置、９…通信インタフェース、９Ａ…電子楽器等、１Ｄ…データ及びアドレスバス、Ａ…仮想鍵盤（仮想演奏操作子）、Ｂ…仮想操作子、Ｃ…仮想スイッチ、Ｄ…垂直方向パラメータ種類仮想メニュー、Ｅ…水平方向パラメータ種類仮想メニュー、Ｆ…その他設定操作メニュー
【図１】
0005846053.tif 000002
【図２】
0005846053.tif 000003
【図３】
0005846053.tif 000004
【図４】
0005846053.tif 000005
【図５】
0005846053.tif 000006
【図６】
0005846053.tif 000007
【図７】
0005846053.tif 000008