以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、本発明の一実施の形態に係る電子音楽装置の概略構成を示すブロック図である。
同図に示すように、本実施の形態の電子音楽装置は、音高情報を含む演奏情報を入力するための鍵盤を含む演奏操作子1と、各種楽音パラメータ(以下、「楽音パラメータ」を単に「パラメータ」と略して言う)や各種動作モードを選択設定するための複数の操作子や各種情報を表示するとともに、ユーザが表示された各操作子や各情報(の一部)をタッチ操作することで対応するパラメータや動作モードを選択設定する多点タッチパネル式ディスプレイ2と、演奏操作子1の操作状態を検出する検出回路3と、ユーザによる多点タッチパネル式ディスプレイ2上のタッチ操作状態を検出する検出回路4と、各種パラメータや各種動作モードを含む、音楽に関する各種情報を選択設定するためのGUI(graphical user interface)を多点タッチパネル式ディスプレイ2上に表示する表示回路5と、装置全体の制御を司るCPU6と、該CPU6が実行する制御プログラムや各種テーブルデータ等を記憶するROM7と、演奏情報、各種入力情報および演算結果等を一時的に記憶するRAM8と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ9と、前記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ、各種データ等を記憶する記憶装置10と、外部からのMIDI(musical instrument digital interface)メッセージを入力したり、MIDIメッセージを外部に出力したりするMIDIインターフェース(I/F)11と、通信ネットワーク101を介して、たとえばサーバコンピュータ(以下、「サーバ」と略して言う)102とデータの送受信を行う通信インターフェース(I/F)12と、音源回路13a、効果回路13bおよびミキシング回路13cを内蔵し、音源回路13aから出力された楽音信号と、音声信号入力I/F14を介して入力された音声信号とをミキシング回路13cによってミキシングしたり、該ミキシングされた楽音信号あるいは音源回路13aから出力された楽音信号そのものに効果回路13bによって各種効果を付与したりするデジタル信号処理回路13と、デジタル信号処理回路13からの楽音信号をそのまま外部に出力する音声信号出力I/F15と、デジタル信号処理回路13からの楽音信号を音響に変換する、たとえば、DAC(digital-to-analog converter)やアンプ、スピーカ等のサウンドシステム16とにより構成されている。
上記構成要素3〜13は、バス17を介して相互に接続され、CPU6にはタイマ9が接続され、MIDII/F11には他のMIDI機器100が接続され、通信I/F12には通信ネットワーク101が接続され、デジタル信号処理回路13には音声信号入力I/F14、音声信号出力I/F15およびサウンドシステム16が接続されている。ここで、通信I/F12、音声信号入力I/F14、音声信号出力I/F15および通信ネットワーク101は、有線方式のものに限らず、無線方式のものであってもよい。また、両方式のものを備えていてもよい。
多点タッチパネル式ディスプレイ2は、本実施の形態では、ユーザ自身の指やタッチペンなどによるパネル平面上の多点での押圧操作や押圧操作を維持しながらの移動操作に加えて、指先の指紋も検知することができるようになっている。このような多点タッチパネル式ディスプレイ2は、各種方式のものが実際に市販されている。一例としては、画素毎に光センサを内蔵した「光センサ内蔵システム液晶」と呼ばれるものがある。この光センサ内蔵システム液晶を用いれば、パネル上の印刷物をスキャンすることができるので、パネル上をタッチしている指の指紋も同様にスキャンすることができる。なお本発明の特徴は、多点タッチパネル式ディスプレイ2の使い方にあり、その方式や構造にある訳ではないので、前記押圧操作、移動操作および指の指紋が検知できるものであれば、どのような方式あるいは構造のものを採用しても構わない。以下、多点タッチパネル式ディスプレイ2を「タッチパネル2」と略して言う。また本実施の形態では、表示装置としてタッチパネル2のみを設けているが、これに加えて、小型のLCD(liquid crystal display)やLED(light emitting diode)を設けるようにしてもよい。さらに本実施の形態では、演奏操作子以外の操作子、つまり各種設定を行うための設定操作子も、すべてタッチパネル2上に表示するようにしたが、一部の設定操作子については、タッチパネル2の周辺にハードウェアで設けるようにしてもよい。なお、後述の電源スイッチ(図示せず)は、本実施の形態の電子音楽装置の筐体(図示せず)のどこかにハードウェアで設けられている。
記憶装置10は、たとえば、フレキシブルディスク(FD)、ハードディスク(HD)、CD−ROM、DVD(digital versatile disc)、光磁気ディスク(MO)および半導体メモリなどの記憶媒体とその駆動装置である。記憶媒体は、駆動装置から着脱可能であってもよいし、記憶装置10自体が、本実施の形態の電子音楽装置から着脱可能であってもよい。あるいは、記憶媒体も記憶装置10も着脱不可能であってもよい。なお記憶装置10には、前述のようにCPU6が実行する制御プログラムも記憶でき、ROM7に制御プログラムが記憶されていない場合には、この記憶装置10に制御プログラムを記憶させておき、それをRAM8に読み込むことにより、ROM7に制御プログラムを記憶している場合と同様の動作をCPU6にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
MIDII/F11は、専用のものに限らず、RS−232CやUSB(universal serial bus)、IEEE1394等の汎用のインターフェースによって構成してもよい。この場合、MIDIメッセージ以外のデータをも同時に送受信してもよい。
通信I/F12は、上述のように、たとえばLAN(local area network)やインターネット、電話回線等の通信ネットワーク101に接続されており、該通信ネットワーク101を介して、サーバ102に接続される。記憶装置10に上記各プログラムや各種パラメータが記憶されていない場合には、通信I/F12は、サーバ102からプログラムやパラメータをダウンロードするために用いられる。クライアントとなる電子音楽装置は、通信I/F12および通信ネットワーク101を介してサーバ102へとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバ102は、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワーク101を介して電子音楽装置へと配信し、電子音楽装置が通信I/F12を介して、これらプログラムやパラメータを受信して記憶装置10に蓄積することにより、ダウンロードが完了する。
デジタル信号処理回路13に含まれる音源回路13aは、演奏操作子1から入力された演奏情報や、前記記憶装置10に記憶されたいずれかの楽曲データを再生して得られた演奏情報等を楽音信号に変換し、変換後の楽音信号をミキシング回路13cに出力する。
なお本実施の形態では、電子音楽装置を電子鍵盤楽器上に構築するようにしたが、これに限らず、鍵盤を外部接続した汎用的なPC上に構築してもよい。また、鍵盤楽器の形態に代えて、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の他の楽器の形態を採用してもよい。さらに、ミキサなどの音響機器上に構築するようにしてもよい。その場合には、ミキシング回路13cやAD/DA変換回路などは必須の構成要素であるが、音源回路13aや効果回路13bは必須の構成要素ではない。
以上のように構成された電子音楽装置が実行する制御処理を、まず図2を参照してその概要を説明し、次に図3および図4を参照して詳細に説明する。
図2は、本実施の形態の電子音楽装置が実行する制御処理の概要を説明するための図である。
図2(a)に示すように、タッチパネル2上に表示された2つのノブ201aおよび201bのうちの一方、たとえばノブ201aにユーザが自身の指、たとえば人差し指Faをタッチすると、前記CPU6は、タッチされた領域の画像データ(以下、「タッチ領域データ」と言う)を抽出し、このタッチ領域データに対して各種画像処理を施すことにより、図2(c)に示すように、指Faの指紋の画像データ(以下、「指紋画像」と略して言う)201a1を検出する。そしてCPU6は、この検出した指Faの指紋画像201a1をテンプレートとして、前記RAM8の図示しない所定領域(以下、「テンプレート領域」と言う)に保存する。
次にユーザが、指Faをノブ201aにタッチさせた状態で、図2(b)に示すように矢印Raの方向に回転させると、CPU6は、図2(d)に示すように回転後の指Fa′の指紋画像201a2を検出する。
そしてCPU6は、テンプレートの指紋画像201a1と新たに検出した指紋画像201a2をパターンマッチングすることにより、テンプレートの指紋画像201a1に対する指紋画像201a2の回転角(この回転角には当然、回転方向も含まれる)を検出する。さらにCPU6は、検出した回転角に応じて、ノブ201aに割り当てられているパラメータの値を算出し、算出したパラメータ値を前記デジタル信号処理回路13(の対応するレジスタ)に設定するとともに、算出したパラメータ値を示すようにノブ201aを回転させてタッチパネル2上に表示させる。図2(b)のノブ201a′は、回転後の状態を示している。
図2には、ユーザが指Fbをもう一方のノブ201bにタッチさせた状態で、指Faと逆の方向(矢印Rbの方向)に回転させたときの様子も描かれている。このときにCPU6が行う制御処理は、上述した制御処理とほぼ同様であるので、これ以上の説明は行わない。なお図2では、1つの回転操作子、つまりノブ201aまたは201bのいずれかを1本の指で回転させる例について説明したが、図2の指Fbの想像線を実線にして、2つのノブ201aおよび201bを2本の指FaおよびFbでそれぞれ同時に回転させ、各ノブ201aおよび201bにそれぞれ割り当てられている各パラメータの値およびその各表示状態を同時に変更するようにしてもよい。もちろん、同時に操作する操作子の個数は、2個以上であってもよい。
このように本実施の形態では、ユーザはタッチパネル2上に表示された各操作子に自身の指1本をタッチさせながら時計方向/反時計方向に回転させることで、当該操作子に割り当てられたパラメータの値を変更するようにしたので、タッチパネル上の狭い領域に多数のパラメータを表示した場合でも、各パラメータについての設定操作を容易に行うことが可能となる。
また、変更後のパラメータの値は直ちに、当該操作子の表示に反映されるので、ユーザは、パラメータの値が実際に変更されたことをリアルタイムに、かつ一目で確認することができる。
なお図2の例では、常に操作子、つまりノブ201aおよび201bを介して、対応するパラメータの値を設定するようにしたが、図4(a)を用いて後述するように、本発明は、操作子を介しないパラメータの設定にも適用することができる。したがって、タッチパネル2上へ操作子を表示させることは、本発明の必須の構成ではない。
次に、この制御処理を詳細に説明する。
図3aおよび図3bは、本実施の形態の電子音楽装置、特にCPU6が実行するメインルーチンの手順を示すフローチャートである。
本メインルーチンは、主として
(1)初期化処理(ステップS1,S2)
(2)タッチ領域データ抽出処理(ステップS5〜S7)
(3)テンプレート登録処理(ステップS11)
(4)テンプレート破棄処理(ステップS12)
(5)パラメータ値&表示更新処理(ステップS15〜S19)
(6)指紋検出不能処理(ステップS20)
によって構成されている。
本メインルーチンは、前記電源スイッチがオンされたときに起動し、オフされたときに終了する。本メインルーチンが起動すると、まずCPU6は、前記(1)の初期化処理を実行する。この(1)初期化処理では、CPU6は、前記RAM7上に作業領域を設定する(ステップS1)とともに、タッチパネル2に表示すべきパラメータを取得して表示する(ステップS2)。
図4は、タッチパネル2に表示されたパラメータ設定画面の一例を示す図であり、同図(a)は、3バンドのパラメトリック・イコライザ用のパラメータ設定画面の一例を示し、同図(b)は、複数(たとえば、4つ)のロータリエンコーダを模したパラメータ設定画面の一例を示し、同図(c)は、複数(たとえば、4つ)のノブを模したパラメータ設定画面の一例を示し、同図(d)は、4チャンネル(CH)ミキサ用のパラメータ設定画面の一例を示している。
図4(a)〜図4(d)に示すように、設定対象とするパラメータの種類が異なれば、その設定画面の表示態様も異なるので、前記ステップS2の処理では、CPU6は、現在の動作モードなどによって表示すべきパラメータとその設定画面の表示態様を決定している。なお図4(a)に示すように、設定対象とするパラメータの種類によっては、ハードウェア製操作子を模した設定操作子の配置されたパラメータ設定画面を表示せずに、パラメータ特性を示すグラフを表示し、そのグラフ上にマーカ(図示例では、番号の付けられた円)を配置し、ユーザがマーカをタッチ操作することで、対応するパラメータの値を設定できるようにしたパラメータ設定画面もある。つまり、前記ステップS2の「表示」では常に、図4(b)〜図4(d)のようなハードウェア製操作子を模した設定操作子の配置されたパラメータ設定画面を表示する訳ではない。
次にCPU6は、ユーザによって表示の切替え操作がなされず、所定時間が経過すると、処理を前記(2)のタッチ領域データ抽出処理に進める(ステップS3→S4→S5)。CPU6は、タッチパネル2に対するユーザのタッチ操作の状態を検出するために、タッチパネル2の1画面分の画像データを前記検出回路4から取得するが、上記「所定時間」とは、この1画面分の画像データを取得する際の時間間隔である。「所定時間」は、具体的には、たとえば33.3msecであり、前記タイマ9によって計時される。なお、この「所定時間」としては、より長い時間を採用することで検出精度を落とすようにしてもよいし、より短い時間を採用することで検出精度を上げるようにしてもよい。
一方、前記表示の切替え操作がなされたときには、CPU6は、処理を前記(1)の初期化処理に戻す(ステップS3→S1)。また、前記表示の切替え操作がなされないものの、前記所定時間が経過していなければ、CPU6は、処理を前記ステップS3に戻す(ステップS3→S4→S3)。
(2)タッチ領域データ抽出処理では、まずCPU6は、前記1画面分の画像データを取得する(ステップS5)。取得した1画面分の画像データは、RAM8の前記作業領域内に一時的に記憶される。
次にCPU6は、取得した1画面分の画像データから、ユーザのタッチしている領域の画像データ(タッチ画像データ)を抽出して切り出し、その位置情報とともに前記作業領域内の別の領域に記憶する(ステップS6)。ここで、ユーザのタッチしている領域の画像データは、タッチしていない領域の画像データに比べその濃度が濃く、さらにこのような濃度の濃い画像データ(画素データ)が所定の近さで集まっているので、上記ステップS6の処理では、CPU6は、所定の濃度以上の画像データ(画素データ)が所定の近さで集まっている画像データ(画素データ)の集合をタッチ領域データとして抽出する。なお、タッチパネル2からは多点入力できるので、ユーザが同時に多点をタッチ操作している場合には、ステップS6の処理では、そのタッチ操作している箇所の数だけタッチ領域データが抽出されることになる。また位置情報は、本実施の形態では、抽出したタッチ領域データ内のすべての画像データのそれぞれについて1つずつ取得されるが、タッチ領域は閉領域であるので、その閉領域を決める輪郭線上の画像データについてのみ位置情報を取得して記憶し、その閉領域内の画像データ(輪郭線上の画像データを除く)については位置情報を取得せずに、必要なときに輪郭線上の画像データの位置情報から算出するようにしてもよい。このようにユーザが同時に多点をタッチ操作している場合には、複数のタッチ領域データが一度に抽出され、各位置情報と一緒にRAM8内に記憶されるが、以下、説明の都合上、ユーザは常に1点のみタッチ操作し、同時に多点をタッチ操作しないものとする。このように説明を簡略化してもよいのは、同時に多点をタッチ操作したときの処理は、1点のみタッチ操作したときの処理に基づいて簡単に実現できる(具体的には、1点のみタッチ操作したときの処理を多点の回数だけ並列的に実行することで実現できる)からである。
次にCPU6は、記憶されているタッチ領域データのそれぞれについて、過去複数回に遡って参照し、今回のタッチ領域データに相当するものがあり、その面積や形状が安定しているものがあるかどうかを判別する(ステップS7)。前記ステップS6の処理で記憶されたタッチ領域データ(およびその位置情報)は、所定時間(たとえば、1sec)に亘って記憶された後、削除される(ただしその処理は、本メインルーチンのフローチャート内には図示されていない)。つまり、RAM8内には、現時点から所定時間遡った時点までのタッチ領域データの履歴が常に保存されている。上記ステップS7の処理では、まずCPU6は、このタッチ領域データの履歴を参照し、今記憶したタッチ領域データ、つまり今回のタッチ領域データに相当するものがあるかどうかをその位置情報に基づいて判別する。この判別の結果、今回のタッチ領域データに相当するものがあるときには、次にCPU6は、その面積や形状が安定しているものがあるかどうかを判別する。たとえば、タッチパネル2上をタッチ操作していない状態からタッチ操作した場合、ユーザは、最初から十分な押圧でタッチ操作することはなく、最初は軽くタッチし、徐々に押圧を高めて行く。したがって、最初の軽いタッチ時に抽出されたタッチ領域データの面積や形状は、十分な押圧時と比較して、狭かったり歪であったりする。そして、その面積や形状が狭かったり歪であったりするタッチ領域データからでは指紋画像を検出し難いため、あるいは、たとえ指紋画像が検出されたとしても、その指紋画像を利用してパターンマッチングし難いため、このようなタッチ領域データを排除する必要がある。つまり、前記ステップS7の判別は、指紋画像を検出し易い、あるいはパターンマッチングし易いタッチ領域データのみを選択して利用するためになされている。なお、その面積や形状が狭かったり歪であったりするタッチ領域データは、タッチ操作の初期だけでなく、タッチ操作中あるいはタッチ操作の終期(タッチパネル2上のタッチ操作を止めようとするとき)にも抽出される可能性があるが、このようなタッチ領域データは、その抽出タイミングに拘わらず排除されるべきであるので、ステップS7の判別では、その抽出タイミングについては問題にしていない。
ステップS7の判別の結果、今回のタッチ領域データに相当するものが前記タッチ領域データの履歴内に含まれていない場合、あるいは、今回のタッチ領域データに相当するものが当該履歴内に含まれているものの、その面積や形状が安定しているものが当該履歴内に含まれていない場合には、CPU6は、処理を前記(4)のテンプレート破棄処理(この処理の詳細については、後述する)に進める。一方、ステップS7の判別の結果、今回のタッチ領域データに相当するものが当該履歴内に含まれており、かつその面積や形状が安定しているものが当該履歴内に含まれている場合には、CPU6は、処理を図3bのステップS8に進める。
ステップS8では、CPU6は、その位置情報から今回のタッチ領域データに相当するテンプレートがあるかどうかを判別する。テンプレートとは、制御処理の概要についての説明では、検出した指紋画像としたが、より厳密には、(今回の)タッチ領域データ、その位置情報および対応する(複数の)パラメータを指定する情報の組である(後述するステップS11参照)。ここで、指紋画像は、前記ステップS6の処理によって抽出された(今回の)タッチ領域データに対して所定の画像処理を施したものに相当し、テンプレートとして登録される(今回の)タッチ領域データは、この所定の画像処理が施されたものである。つまりここでは、指紋画像と(今回の)タッチ領域データとは同じものである。なお所定の画像処理としては、たとえば、タッチ領域データに含まれているノイズを除去する処理、当該タッチ領域データがカラー画像である場合にモノクロ画像に変換する処理、さらにそのモノクロ画像が複数階調で表現されている場合に2値化する処理などを挙げることができる。
テンプレートとしての情報の登録は、前記(3)のテンプレート登録処理だけでなされ、現時点では、この(3)テンプレート登録処理はまだ1度も実行されていないので、CPU6は、前記ステップS8で、今回のタッチ領域データに相当するテンプレートはないと判別して、処理をステップS9に進める。ステップS9では、CPU6は、その位置情報は対応するパラメータが特定される有意な位置を示しているかどうかを判別する。たとえば、タッチパネル2上に前記図4(a)のパラメータ設定画面が表示されている場合に、ユーザが自身の指で前記マーカ上あるいはその一部をタッチしていれば、CPU6は、今回のタッチ領域データの「位置情報は対応するパラメータが特定される有意な位置を示している」と判別する。また別の例として、タッチパネル2上に前記図4(b)のパラメータ設定画面が表示されている場合に、ユーザが自身の指で前記ロータリエンコーダのいずれかの上あるいはその一部をタッチしていれば、CPU6は、今回のタッチ領域データの「位置情報は対応するパラメータが特定される有意な位置を示している」と判別する。ただしステップS9の判別では、タッチ操作に用いるものが、タッチペンなどの指以外の物体であっても、その判別結果に影響を及ぼさない。
ステップS9の判別の結果、その位置情報は対応するパラメータが特定される有意な位置を示している場合には、さらにCPU6は、今回のタッチ領域データから指紋画像を検出できるかどうかを判別し(ステップS10)、指紋画像を検出できる場合には、処理を前記(3)のテンプレート登録処理に進める(ステップS10→S11)一方、指紋画像を検出できない場合には、処理を前記(6)の指紋検出不能処理に進める(ステップS10→S20)。上記ステップS10の判別では、具体的には、今回のタッチ領域データ内に、「渦状紋」、「蹄状紋」あるいは「弓状紋」などの指紋を特徴付ける紋様が検出できるかどうかを判別する。
(3)テンプレート登録処理では、CPU6は、今回のタッチ領域データ、その位置情報および対応する(複数の)パラメータを指定する情報をテンプレートとして、前記テンプレート領域に新規登録する。ここで、1本の指で設定可能なパラメータの種類とその個数は、タッチパネル2上に表示されているパラメータ設定画面によって異なるので、テンプレートとして登録される「パラメータを指定する情報」は、単数である場合も、複数である場合もあり得る。上記「(複数の)」とカッコ書きで表現されているのは、この意味である。具体的には、前記図4(a)のパラメータ設定画面では、1本の指をタッチする1つのマーカによって、「低域」、「中域」および「高域」のうちのいずれか1つのバンドが指定されるとともに、そのバンドのパラメトリック・イコライザを制御するための3種類のパラメータ(「利得G」、「中心周波数F」および「Q値」)が指定される。また、前記図4(d)のパラメータ設定画面では、1本の指をタッチする1つのノブによって、CH1〜CH4のうちのいずれか1CHが指定されるとともに、そのCHを制御するための2種類のパラメータ(「利得」および「パンポット」)が指定される。
また(6)指紋検出不能処理では、CPU6は、指紋画像を検出できない旨をタッチパネル2上に表示する。前記図4(c)のパラメータ設定画面では、「指紋画像を検出できない旨」の表示として“×”の画像を表示しているが、これに限らず、「指紋画像を検出できません」と文字で表示してもよい。さらに、この旨を「表示」ではなく「音声」で提示してもよい。なお「指紋画像を検出できない旨」の表示は、所定時間(たとえば、数秒(sec)間)経過後、消去される。この「所定時間」も、前記タイマ9によって計時される。
一方、前記ステップS9の判別で、その位置情報は対応するパラメータが特定される有意な位置を示していない場合には、CPU6は、処理を前記(4)のテンプレート破棄処理に進める(ステップS9→S12)。
一方、前記ステップS8の判別で、今回のタッチ領域データに相当するテンプレートがある場合には、CPU6は、その位置情報はパラメータを変更するのに有意な位置を示しているかどうかを判別する(ステップS13)。たとえば、タッチパネル2上に前記図4(a)のパラメータ設定画面が表示されている場合に、ユーザが自身の指で、ある1つのマーカ上あるいはその一部をタッチした状態で、その指を当該マーカの可動範囲内を移動させれば、CPU6は、今回のタッチ領域データの「位置情報はパラメータを変更するのに有意な位置を示している」と判別する。また別の例として、タッチパネル2上に前記図4(b)のパラメータ設定画面が表示されている場合に、ユーザが自身の指を、ある1つのロータリエンコーダ上あるいはその一部をタッチした状態から、当該ロータリエンコーダに隣接する他のロータリエンコーダに触れる位置まで移動させずに、当該ロータリエンコーダを回転させれば、CPU6は、今回のタッチ領域データの「位置情報はパラメータを変更するのに有意な位置を示している」と判別する。
前記ステップS13の判別の結果、その位置情報はパラメータを変更するのに有意な位置を示していないときには、CPU6は、処理を前記(4)のテンプレート破棄処理に進める(ステップS13→S12)一方、その位置情報はパラメータを変更するのに有意な位置を示しているときには、CPU6は、処理をステップS14に進める。
ステップS14では、CPU6は、前記ステップS10の処理と同様にして、今回のタッチ領域データから指紋画像を検出できるかどうかを判別し、指紋画像を検出できる場合には、処理を前記(5)のパラメータ値&表示更新処理に進める(ステップS14→S15)一方、指紋画像を検出できない場合には、処理を前記(6)の指紋検出不能処理に進める(ステップS14→S20)。
(5)パラメータ値&表示更新処理では、まずCPU6は、今回のタッチ領域データとテンプレートとの間でパターンマッチングを行い、回転角と移動量を取得する(ステップS15)。ここで、回転角は、今回のタッチ領域データを所定の回転角を単位として回転させながら、テンプレートのタッチ領域データとパターンマッチングを行い、両者が一致したときの回転回数×単位回転角を算出することで取得し、移動量は、今回のタッチ領域データの(中心点の)位置情報とテンプレートの(中心点の)位置情報との差分を算出することで取得すればよい。次にCPU6は、取得した回転角に応じて、第1のパラメータ値を算出し、前記デジタル信号処理回路13(の対応するレジスタ)に算出した第1のパラメータ値を反映させる(設定する)(ステップS16)。そしてCPU6は、取得した移動量、つまり、X軸方向およびY軸方向の各移動量に応じて、第2および第3の各パラメータ値を算出し、デジタル信号処理回路13(の対応する各レジスタ)に算出した第2および第3の各パラメータ値を反映させる(設定する)(ステップS17)。さらにCPU6は、今回のタッチ領域データ(およびその位置情報)でテンプレートを更新する(ステップS18)。ただしステップS18の処理は、テンプレートの利用の仕方によって省略することができる。このため、ステップS18の枠は破線で描かれている。なお、ステップS18の処理がどのような場合に省略でき、どのような場合に省略できないかについての具体的な説明は、後述する。最後にCPU6は、算出した第1〜第3の各パラメータ値を指示するように、対応する各操作子の表示を更新する(ステップS19)。
たとえば、タッチパネル2上に前記図4(a)のパラメータ設定画面が表示されている場合に、ユーザが自身の指Fbで番号“3”の付与されたマーカをタッチした状態で、その指Fbを矢印Raの方向に回転させると、高域のパラメトリック・イコライザのQ値(前記ステップS16の第1のパラメータに相当する)が小さくなり、その指Fbを矢印Rbの方向に回転させると、高域のパラメトリック・イコライザのQ値が大きくなる。そして、ユーザが自身の指Fbで番号“3”の付与されたマーカをタッチした状態で、その指Fbを直線状に移動させると、そのX軸方向の移動量に応じた値だけ中心周波数F(前記ステップS17の第2のパラメータに相当する)が変動し、そのY軸方向の移動量に応じた値だけ利得G(前記ステップS17の第3のパラメータに相当する)が変動する。また、タッチパネル2上に前記図4(b)のパラメータ設定画面が表示されている場合に、ユーザが自身の指Faで“Parameter 3”と書かれたロータリエンコーダをタッチした状態で、その指Faを矢印Raの方向に回転させると、そのパラメータ(前記ステップS16の第1のパラメータに相当する)の値が小さくなり、その指Faを矢印Rbの方向に回転させると、そのパラメータの値が大きくなる。ただしこのパラメータ設定画面では、前記ステップS17の第2および第3のパラメータの値を変更することはできない。さらに、タッチパネル2上に前記図4(d)のパラメータ設定画面が表示されている場合に、ユーザが自身の指Faで“CH4”のノブをタッチした状態で、その指Faを矢印Raの方向に回転させると、“CH4”のパンポット(前記ステップS16の第1のパラメータに相当する)の値が小さくなり、その指Faを矢印Rbの方向に回転させると、“CH4”のパンポットの値が大きくなる。そして、ユーザが自身の指Faで“CH4”のノブをタッチした状態で、その指FaをX軸方向に移動させると、そのX軸方向の移動量に応じた値だけ利得(前記ステップS17の第2のパラメータに相当する)が変動する。ただしこのパラメータ設定画面では、前記ステップS17の第3のパラメータの値を変更することはできない。
このように本実施の形態では、いずれのパラメータ設定画面がタッチパネル2上に表示されたとしても、前記ステップS16の第1のパラメータの値は設定できるものの、前記ステップS17の第2および第3のパラメータの各値は、パラメータ設定画面によって設定できたり、できなかったりする。第2および第3のパラメータのうち、少なくとも一方の値が設定できる場合には、ユーザは自身の指1本で、回転操作に2次元平面上の移動操作を加えた3次元の操作を行うことができるので、さらに操作性を向上させることができる。
次にCPU6は、処理を前記(4)のテンプレート破棄処理に進める。この(4)テンプレート破棄処理では、CPU6は、指が離されたと想定されるテンプレートを破棄する。ここで、「指が離されたと想定されるテンプレート」であるかどうかは、具体的には、所定時間(たとえば、1sec)以上参照されないテンプレートであるかどうかによって判別する。この「所定時間」も、前記タイマ9によって計時される。
前記ステップS18の処理が省略できる場合とは、前記(3)のテンプレート登録処理で登録したテンプレートを、前記(5)のパラメータ値&表示更新処理が終了するまで利用できる場合である。つまり、テンプレートとして初めて登録された有用な(つまり、指紋画像を検出可能な)タッチ領域データが、当該パラメータの値を設定するための指の回転操作が終了するまでに抽出される各有用なタッチ領域データとパターンマッチングされる基準データとして利用できる場合には、ステップS18の処理を省略することができる。この場合には、パターンマッチングを粗く行わないと、回転角と移動量を検出できないので、パターンマッチングを粗くして、パターンマッチングにかかる演算処理を低減させたいときに有効である。
一方、ステップS18の処理が省略できない場合とは、ステップS18の処理が省略できる場合とは逆に、前記(3)のテンプレート登録処理で登録したテンプレートを、前記(5)のパラメータ値&表示更新処理が終了するまで利用できない場合である。つまり、テンプレートとして初めて登録された有用なタッチ領域データでは、当該パラメータの値を設定するための指の回転操作が終了するまでに抽出される各有用なタッチ領域データとパターンマッチングされる基準データとして利用できないので、今回のタッチ領域データの1つ前の有用なタッチ領域データを基準データとしたい場合には、ステップS18の処理を省略することができない。この場合は、パターンマッチングを細かく正確に行うことで、正確な回転角と移動量を検出したい場合であるので、パターンマッチングを細かくして、パターンマッチングにかかる演算処理を増大させても、正確な回転角と移動量を検出したいときに有効である。
なお、たとえば前記図4(b)の状態で、ユーザが指Faを矢印RaあるいはRbの方向に回転させているときに、指先の軸がずれてしまい、指Faのタッチ位置が“Parameter 3”のロータリエンコーダ上から大きく上方向または下方向に離れた場合には、本実施の形態では、前記図3bのステップS13の判別で“NO”となり、ステップS12の処理で、所定時間経過後、当該テンプレートが破棄されて、“Parameter 3”についてのパラメータ設定は中止となる。しかしこの場合でも、ユーザが指Faをタッチパネル2上から離さない限り、“Parameter 3”についてのパラメータ設定を継続するようにしてもよいし、“Parameter 3”のロータリエンコーダから所定距離以上離れたときに、“Parameter 3”についてのパラメータ設定を中止するようにしてもよい。また、指Faが“Parameter 3”のロータリエンコーダから隣接するロータリエンコーダ、たとえば“Parameter 2”のロータリエンコーダに近付いた場合、ユーザが指Faをタッチパネル2上から離さない限り、“Parameter 3”についてのパラメータ設定を継続するようにしてもよいし、パラメータ設定を“Parameter 3”についての設定から“Parameter 2”についての設定に切り替えるようにしてもよい。この事情は、前記図4(d)のパラメータ設定画面についても同様に当てはまる。
また、前記図4(b)の状態で、ユーザが指Faを“Parameter 3”のロータリエンコーダ上にタッチして、指Faでロータリエンコーダが見えなくなったとしても、本実施の形態では、特別の制御を行っていない。操作対象がロータリエンコーダの場合には、パラメータの現在値を示す目盛りがないので、問題は生じない。しかし、操作対象が前記図4(c)のような目盛り付きのノブの場合、指Faで“Parameter 3”のノブが見えなくなると、“Parameter 3”の現在値を視覚的に確認することができないので、このときには図示例のように、空いている領域に“Parameter 3”のノブを表示するようにすればよい。あるいは、“Parameter 3”の現在値を数値(“100Hz”)で表示してもよい。
さらに本実施の形態では、ユーザの指によるタッチ領域データから指紋画像を検出するようにしたが、これに代えて、ユーザは指先に細かな模様の描かれた指サックを装着したり、直接指に細かな模様をインクで描いたりして、その指によるタッチ領域データから、描かれた模様の画像を検出するようにしてもよい。この場合、前記図3aおよび図3bのメインルーチン中、指紋画像を処理するステップでは、CPU6は、指に描かれた模様の画像を処理することになる。
また本発明は、ユーザの押圧操作、移動操作および指の指紋が検知できるタッチパネルであれば、多点入力に対応していないものでも同様に適用できる。ただしこのタッチパネルを採用した場合には、複数の指を用いて複数のパラメータの各値を同時に変更できないことは言うまでもない。
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。