(57)【要約】【課題】  複数のブロックからなる音響信号処理システムにおいて、各ブロック毎に操作子の接触検出のためのスキャンを行う場合に、それらの接触検出のスキャンタイミングが同期して「人体の接触無し」と誤検出されることを防止し、適正に接触検出できるようにすることを目的とする。【解決手段】  音響信号処理システムにおける操作パネル上の複数操作子が複数グループにグループ分けされており、その各グループ毎に、接触検出のための検出信号を発生して、当該グループの複数の各操作子に順次供給するスキャン動作を所定のスキャン周期毎に繰り返すとともに、前記複数の各操作子に順次供給された検出信号のレベルの減衰量を検出し、各操作子についてのその検出結果に基づいて、その操作子への人体の接触操作の有無を判定するものであり、特に前記スキャン周期が各グループ毎に異なるようにする。【選択図】  図６
2013150081.tif 000002
【特許請求の範囲】
【請求項１】
音響信号処理システムにおける操作パネル上の複数操作子の各々への接触操作を検出する接触検出装置であって、
前記複数操作子は、複数グループにグループ分けされており、
各グループ毎に設けられた供給部であって、接触検出のための検出信号を発生して、発生した検出信号を当該グループの複数の各操作子に順次供給するスキャン動作を、所定のスキャン周期毎に繰り返す、複数の供給部と、
各グループ毎に設けられた検出部であって、グループ内の複数の操作子に順次供給された検出信号のレベルの減衰量を、当該グループの各操作子について順次検出する、複数の検出部と、
順次検出される各グループの各操作子の減衰量に基づいて、その操作子について接触の有無を判定し、その所定回数分の判定結果に基づいて、その操作子への人体の接触の有無を判定する判定手段とを備えており、かつ、
前記スキャン周期が、各グループ毎に異なるよう構成されていることを特徴とする音響信号処理システムの複数操作子の接触検出装置。
【請求項２】
請求項１に記載の音響信号処理システムの複数操作子の接触検出装置において、
前記検出部は、操作子に供給した検出信号のレベルと、何れの操作子にも接続されていない開放状態のラインに前記検出信号を供給したときの当該検出信号のレベルを示す基準値とを比較し、それらの差違である前記検出信号のレベルの減衰量を検出するものであり、
前記判定手段は、前記検出部で検出された前記検出信号のレベルの減衰量が、所定値以内のときは接触無しと判定し、所定値を超えるときは接触有りと判定するものである
ことを特徴とする音響信号処理システムの複数操作子の接触検出装置。
【請求項３】
請求項１または２に記載の音響信号処理システムの複数操作子の接触検出装置において、
前記判定手段により前記接触無しの判定が所定回数ｍ回連続して行われたとき、その操作子に対して「指接触無し」と判定し、そうでないとき、その操作子に対して「指接触有り」と判定する
ことを特徴とする音響信号処理システムの複数操作子の接触検出装置。
【請求項４】
請求項１または２に記載の音響信号処理システムの複数操作子の接触検出装置において、
前記判定手段により前記接触無しの判定が所定回数ｍ回連続して行われたとき、その操作子に対して「指接触無し」と判定し、前記判定手段により前記接触有りの判定が所定回数ｐ回連続して行われたとき、その操作子に対して「指接触有り」と判定する
ことを特徴とする音響信号処理システムの複数操作子の接触検出装置。
【請求項５】
請求項３または４に記載の音響信号処理システムの複数操作子の接触検出装置において、
前記複数の各グループに設定するスキャン周期は、該スキャン周期と前記所定回数ｍとの積が、異なるグループ間で相互に所定範囲内に入る程度近い値となるように、各グループ毎のスキャン周期とｍの値を設定する
ことを特徴とする音響信号処理システムの複数操作子の接触検出装置。
【請求項６】
請求項１に記載の音響信号処理システムの複数操作子の接触検出装置において、
前記判定手段は、前記グループ毎に設けられている複数の判定部であることを特徴とする音響信号処理システムの複数操作子の接触検出装置。
【請求項７】
請求項１に記載の音響信号処理システムの複数操作子の接触検出装置において、
前記判定手段は、前記複数のグループに対して１つ設けられている判定部であることを特徴とする音響信号処理システムの複数操作子の接触検出装置。
【請求項８】
請求項１に記載の音響信号処理システムの複数操作子の接触検出装置において、
前記複数のグループは、前記音響信号処理システムの１つの制御手段の下で接触検出の動作が制御される１つの操作パネル上の複数の操作子をグループ分けした複数のグループであり、前記スキャン周期が、各グループ毎に異なるよう構成されていることを特徴とする音響信号処理システムの複数操作子の接触検出装置。
【請求項９】
請求項１に記載の音響信号処理システムの複数操作子の接触検出装置において、
前記音響信号処理システムは、それぞれ、前記複数グループの一部のグループの複数操作子を含む、第１装置と第２装置とで構成されており、前記スキャン周期が、第１装置に属するグループと第２装置に属するグループとで異なるよう構成されている特徴とする音響信号処理システムの複数操作子の接触検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音響信号処理システムにおける操作パネル上の複数操作子の各々への接触操作を検出する検出装置に関する。
【背景技術】
【０００２】
従来より知られているデジタルミキサなどの音響信号処理システムは、ユーザが操作する複数の操作子を備えた操作パネルを有する。操作子には、その操作子に指が触れたことを検出するタッチセンス機能が設けられているものがある（例えば、非特許文献１参照）。タッチセンス機能の実現のためには、操作子のつまみに導電塗料を塗っておき、そこに検出回路を接続する。各操作子の導電塗料には、検出回路から所定の周波数の検出信号を繰り返し順番に印可する。ある操作子に検出信号が印可されたタイミングでその操作子に指が触れていると、その検出信号のレベルが指が触れていないときのレベルよりも下がる（検出信号の供給源に内部抵抗があるため）ので、それを検出回路で検出することで指の接触を検出する。各操作子に順番に検出信号を印可して指の接触を検出する動作を「スキャン」と呼ぶ。
【０００３】
このような接触の検出は、例えば、デジタルミキサにおいて、編集するチャンネル（ｃｈ）を選択したり、オートミックスなどで利用する。オートミックスとは、タイムコードに沿って操作子の動きを記録しておき、それを再生することで、一連のパラメータの変化を自動で再現する機能である。オートミックスデータを再生している途中で、例えばあるｃｈのレベルの動きを修正したいとき、そのｃｈを割り当てたフェーダ（オートミックスデータに従って自動で動いている）に触れると、オートミックスが一時的に解除されて該フェーダの手動操作に応じてレベルが変更され、触れていた指を離すと再び元のオートミックスの動作に戻る。また、オートミックスデータを編集する場合も、オートミックスデータ再生中に操作子に触れると、その時点から当該操作子の手動操作に応じたデータをいわゆるパンチイン記録し、指を離すとパンチアウトする、というように利用する。
【０００４】
一方、デジタルミキサには、それぞれ制御ＣＰＵを備えた複数のブロックで構成されるものがある。例えば、特許文献１の図１〜４には、音響信号処理を行うためのＤＳＰ（デジタルシグナルプロセッサ）を備えたメイン装置と複数のフェーダなどの操作子を備えた複数台のフェーダ装置とを接続してデジタルミキサを構成する例が開示されている。メイン装置や各フェーダ装置は、それぞれが１つないし複数のブロックから構成され、各ブロックの動作の制御はそれぞれのブロックの制御ＣＰＵにより行われる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−０６６８６３
【非特許文献】
【０００６】
【非特許文献１】Digital Production Console DM2000,Ver.2,取扱説明書，2003年（フェーダのタッチセンス機能の説明参照）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
デジタルミキサなどの音響信号処理システムは数多くの操作子を備えるが、多くの操作子を備えた装置では、各操作子の接触検出の遅れを防止するため、ブロック毎にスキャン回路（検出回路）を設け、複数のスキャン回路で並列にスキャンすることが望まれる。例えば、上記特許文献１のように複数ブロックからなるデジタルミキサであれば、各ブロック毎に、そのブロックの制御ＣＰＵによってそのブロックに含まれる複数の操作子のスキャンを行えばよい。
【０００８】
しかし、人体は電気抵抗を有する導体とみなせるため、あるブロックのある操作子と、別のブロックの別の操作子とを同時に触った場合、あるブロックのある操作子へ供給されたスキャン信号（検出信号）が、人体を介して別のブロックの別の操作子に漏れ、その漏れたスキャン信号により誤検出を引き起こすことがある。具体的には、１人のオペレータが、あるブロックのある操作子と別のブロックの別の操作子とを同時に触っていたとき、それらの２つの操作子のスキャンタイミングが同期してしまうと、オペレータが触り続けているにもかかわらず、それらの操作子で「人体の接触無し」と誤検出されてしまうことがある。このように、各操作子の「接触有り」の判定が、誤検出により途中で途切れてしまうと、上述したオートミックスの「一時解除」や「パンチイン記録」などで正常に動作しなくなり問題である。
【０００９】
本発明は、複数のブロックからなる音響信号処理システムにおいて、各ブロック毎に操作子の接触検出のためのスキャンを行う場合に、それらの接触検出のスキャンタイミングが同期して「人体の接触無し」と誤検出されることを防止し、適正に接触検出できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１に係る発明は、音響信号処理システムにおける操作パネル上の複数操作子の各々への接触操作を検出する接触検出装置であって、前記複数操作子は、複数グループにグループ分けされており、各グループ毎に設けられた供給部であって、接触検出のための検出信号を発生して、発生した検出信号を当該グループの複数の各操作子に順次供給するスキャン動作を、所定のスキャン周期毎に繰り返す、複数の供給部と、各グループ毎に設けられた検出部であって、グループ内の複数の操作子に順次供給された検出信号のレベルの減衰量を、当該グループの各操作子について順次検出する、複数の検出部と、順次検出される各グループの各操作子の減衰量に基づいて、その操作子について接触の有無を判定し、その所定回数分の判定結果に基づいて、その操作子への人体の接触の有無を判定する判定手段とを備えており、かつ、前記スキャン周期が、各グループ毎に異なるよう構成されていることを特徴とする。なお、本発明における「グループ」は、後述する発明の実施の形態における任意の１つの検出回路の接触検出対象の複数の操作子群に相当するものである。
【００１１】
請求項２に係る発明は、請求項１に記載の音響信号処理システムの複数操作子の接触検出装置において、前記検出部は、操作子に供給した検出信号のレベルと、何れの操作子にも接続されていない開放状態のラインに前記検出信号を供給したときの当該検出信号のレベルを示す基準値とを比較し、それらの差違である前記検出信号のレベルの減衰量を検出するものであり、前記判定手段は、前記検出部で検出された前記検出信号のレベルの減衰量が、所定値以内のときは接触無しと判定し、所定値を超えるときは接触有りと判定するものであることを特徴とする。この検出部は、後述する実施形態の検出回路（図５）でアナログ減算器５０８の減算結果を出力するまでの部分に相当する。判定手段は、後述する実施形態の図６のステップ６０４で、その減算結果から接触有りか無しかの判定を行っている部分などに相当する。
【００１２】
請求項３に係る発明は、請求項１または２に記載の音響信号処理システムの複数操作子の接触検出装置において、前記判定手段により前記接触無しの判定が所定回数ｍ回連続して行われたとき、その操作子に対して「指接触無し」と判定し、そうでないとき、その操作子に対して「指接触有り」と判定することを特徴とする。この発明は、後述する実施形態における「方式１」の判定方式に相当する。
【００１３】
請求項４に係る発明は、請求項１または２に記載の音響信号処理システムの複数操作子の接触検出装置において、前記判定手段により前記接触無しの判定が所定回数ｍ回連続して行われたとき、その操作子に対して「指接触無し」と判定し、前記判定手段により前記接触有りの判定が所定回数ｐ回連続して行われたとき、その操作子に対して「指接触有り」と判定することを特徴とする。この発明は、後述する実施形態における「方式２」の判定方式に相当する。
【００１４】
請求項５に係る発明は、請求項３または４に記載の音響信号処理システムの複数操作子の接触検出装置において、前記複数の各グループに設定するスキャン周期は、該スキャン周期と前記所定回数ｍとの積が、異なるグループ間で相互に所定範囲内に入る程度近い値となるように、各グループ毎のスキャン周期とｍの値を設定することを特徴とする。「スキャン周期と前記所定回数ｍとの積」は、後述する実施形態における図９の「最大遅延」の欄の値に相当する。」
【００１５】
請求項６に係る発明は、請求項１に記載の音響信号処理システムの複数操作子の接触検出装置において、前記判定手段は、前記グループ毎に設けられている複数の判定部であることを特徴とする。この発明は、後述する発明の実施の形態の図８（ｂ）で説明するように、異なる２つのブロックの検出回路のグループに対して、それらの各ブロック毎に独立なＣＰＵによる別個の図６の処理で、それぞれのグループの操作子の「指接触有り」と「指接触無し」の判定を行っている部分に相当する。
【００１６】
請求項７に係る発明は、請求項１に記載の音響信号処理システムの複数操作子の接触検出装置において、前記判定手段は、前記複数のグループに対して１つ設けられている判定部であることを特徴とする。この発明は、後述する発明の実施の形態の図８（ａ）で説明するように、１つのブロック内の２つの検出回路のグループに対して、当該１つのブロックのＣＰＵによる図６の処理で、それぞれのグループの操作子の「指接触有り」と「指接触無し」の判定を行っている部分に相当する。
【００１７】
請求項８に係る発明は、請求項１に記載の音響信号処理システムの複数操作子の接触検出装置において、前記複数のグループは、前記音響信号処理システムの１つの制御手段の下で接触検出の動作が制御される１つの操作パネル上の複数の操作子をグループ分けした複数のグループであり、前記スキャン周期が、各グループ毎に異なるよう構成されていることを特徴とする。この発明は、後述する実施形態の図８（ａ）のケースに相当するものである。
【００１８】
請求項９に係る発明は、請求項１に記載の音響信号処理システムの複数操作子の接触検出装置において、前記音響信号処理システムは、それぞれ、前記複数グループの一部のグループの複数操作子を含む、第１装置と第２装置とで構成されており、前記スキャン周期が、第１装置に属するグループと第２装置に属するグループとで異なるよう構成されている特徴とする。この発明は、後述する実施形態の図８（ｂ）のケースに相当するものである。例えば、第１装置はブロック１に対応し、第２装置はブロック２に対応し、ブロック１の検出回路のグループとブロック２の検出回路のグループとでスキャン周期が異なるように構成するということである。
【発明の効果】
【００１９】
本発明によれば、複数操作子が複数のグループにグループ分けされ、その各グループ毎に異なるスキャン区間長でスキャンを行うようにしたので、２つの操作子を同時に触れた際に「指接触無し」とする誤検出が連続して発生しないため、間違って「指接触無し」と判定することを防止することができる。判定手段による判定は、検出した検出信号のレベルを、何れの操作子にも接続されていない開放状態のラインに検出信号を供給したときの当該検出信号のレベルを示す基準値と、比較して判定することで、正確な判定を行うことができる。
【００２０】
また、所定回数ｍ回の連続した判定結果から「指接触無し」を判定し、そうでないとき「指接触有り」と判定する方式によれば、ユーザが操作子を指で触れてから「指接触有り」の判定が行われるまでの時間遅れを短くすることができ、一方で「指接触無し」の判定を厳格に行うことができるという利点がある。さらに、所定回数ｐ回の連続した判定結果から「指接触有り」を判定する方式によれば、「指接触有り」の判定を厳格に行うことができる。複数の各グループに設定するスキャン周期として、該スキャン周期と前記所定回数ｍとの積が、異なるグループ間で相互に所定範囲内に入る程度近い値となるように、各グループ毎のスキャン周期とｍの値を設定することで、「指接触無し」を判定する際の反応速度を均一化することができる。
【図面の簡単な説明】
【００２１】
【図１】実施形態のミキシングシステムの全体構成例を示す図
【図２】メイン装置とフェーダ装置のハードウェア構成図
【図３】ミキシング処理の機能構成図
【図４】タッチスキャン回路全体図
【図５】検出回路の内部構造図
【図６】タッチ検出処理のフローチャート
【図７】タッチ検出処理のタイミングチャート
【図８】タッチ検出処理のタイミングが重なる例を示す図
【図９】スキャン周期とスキャン回数の一覧の例を示す図
【発明を実施するための形態】
【００２２】
以下、図面を用いて本発明の実施の形態を説明する。
【００２３】
図１は、この発明を適用した一実施形態であるミキシングシステムの全体構成を示す。このシステムは、メイン装置１３０およびフェーダ装置ａ（１３１），ｂ（１３２）をネットワーク１４０に接続して構成されている。メイン装置１３０の操作パネル上には、複数本のｃｈストリップを備えたｃｈストリップ部１００およびタッチパネルの表示器１１０が設置されている。各ｃｈストリップは、ロータリエンコーダ、各種のスイッチ、および電動フェーダなどを備える。フェーダ装置ａは、上部ｃｈストリップ部１０１および下部ｃｈストリップ部１０２の２つのｃｈストリップ部を備えるとともに、それらの間にタッチパネルの表示部１１１を備えている。フェーダ装置ｂも同様のものである。ネットワーク１４０は、ｃｈストリップ部の操作子の操作データや表示データなどの各種のデータを伝送可能なネットワークである。
【００２４】
図２は、メイン装置１３０とフェーダ装置ａのハードウエア構成の概略を示す。フェーダ装置ｂは、フェーダ装置ａと同様の構成であるのでここでは省略した。図２において、「フェーダ装置ａの上側ブロック」２４０は図１の上部ｃｈストリップ部１０１のハード構成を、「フェーダ装置ａの下側ブロック」２６０は図１の下部ｃｈストリップ部１０２のハード構成を、「メイン装置の上側ブロック」２００は図１のメイン装置１３０の上部（表示器１１０を備える部分）のハード構成を、「メイン装置の下側ブロック」２２０は図１のメイン装置１３０のｃｈストリップ部１００のハード構成を、それぞれ示す。
【００２５】
「メイン装置の上側ブロック」２００を説明する。ＣＰＵ（中央処理装置）２０１は、メイン装置１３０の上側ブロック全体の動作を制御する処理装置である。フラッシュメモリ２０２は、ＣＰＵ２０１が実行する各種のプログラムや各種のデータなどを格納する不揮発性メモリである。ＲＡＭ２０３は、ＣＰＵ２０１が各種のプログラムを実行する際に使用するワークメモリ用の揮発性メモリである。表示器２０４は、各種の情報を表示するためのディスプレイ（図１の１１０）である。操作部２０５は、メイン装置１３０の上側ブロックの操作パネル上の各種の操作子およびそれらの操作子の操作を検出する回路である。操作部２０５は、後述する各操作子の接触検出を行うための検出回路を含む。オーディオＩ／Ｏ（入出力インターフェース）２０６は、アナログ音響信号およびデジタル音響信号の入出力を行うインターフェースである。入力したアナログ音響信号は、デジタル音響信号に変換される。
【００２６】
ＤＳＰ（デジタル信号処理装置）２０７は、ＣＰＵ２０１によって設定されたマイクロプログラムを、ＣＰＵ２０１によって設定されたパラメータに基づく係数データを使用して実行することにより、オーディオＩ／Ｏ２０６から入力したデジタル音響信号の音量レベル制御処理、効果付与処理、およびミキシング処理などを行い、処理後の音響信号をオーディオＩ／Ｏ２０６経由で出力する。ネットワークＩ／Ｏ２０８は、ネットワーク１４０を介して他装置との間で各種データを伝送するためのインターフェースである。シリアルＩ／Ｏ２０９は、他のブロック（ここでは、メイン装置１３０の下側ブロック２２０）との間でシリアルデータ伝送を行うためのインターフェースである。バスライン２１０は、上述した各部を相互に接続するバスであり、コントロールバス、データバス、およびアドレスバスを総称したものである。
【００２７】
「メイン装置の下側ブロック」２２０、「フェーダ装置ａの上側ブロック」２４０、および「フェーダ装置ａの下側ブロック」２６０のそれぞれの構成は、「メイン装置の上側ブロック」２００と同様のものである。ただし、これらのブロック２２０，２４０，２６０は、音響信号処理を行わないので、ＤＳＰ２０７とオーディオＩ／Ｏ２０６に相当する構成を持たない。また、「メイン装置の下側ブロック」２２０および「フェーダ装置ａの下側ブロック」２６０は、ネットワーク１４０に直接には接続されないので、ネットワークＩ／Ｏ２０８に相当する構成を持たない。なお、表示部１１１はフェーダ装置ａの上側ブロック２３０に含まれるものとする。
【００２８】
図３は、図１，２で説明したミキシングシステムにより実現するミキシング処理の機能構成を示す。Ａｉ（ｃ）３０１は、メイン装置１３０のオーディオＩ／Ｏ２０６から入力した複数系列の音響信号を示す。入力パッチ３０２から出力パッチ３０６までの部分は、メイン装置１３０のＤＳＰ２０７で実現している。入力パッチ３０２は、Ａｉ（ｃ）３０１の各入力信号と入力ｃｈ部３０３の各入力ｃｈとの間の任意結線を行うブロックである。入力ｃｈ部３０３は、入力信号に対するレベル制御や周波数特性の調整処理などの各種の信号処理を行う複数のｃｈを示す。混合バス３０４は、ミキシング処理を行うための複数のバスからなる。入力ｃｈ部３０３の任意の入力ｃｈの信号を任意の混合バス３０４内のバスへ出力し、該バス上で混合処理する。出力ｃｈ部３０５は、混合バス３０４の各バスで混合された信号に対して、出力側の各種の調整処理を行うための複数のｃｈを示す。出力パッチ３０６は、出力ｃｈ部３０５の各出力ｃｈの信号とＡｏ（ｃ）３０７との間の任意結線を行うブロックである。Ａｏ（ｃ）３０７は、メイン装置１３０のオーディオＩ／Ｏ２０６を介して出力される複数系列の音響信号を示す。
【００２９】
図３のミキシング処理における各部はそれぞれ所定のパラメータに基づいて動作する。それらのパラメータの値は、メイン装置１３０のＲＡＭ２０３内に設けられているカレントメモリに設定される。カレントメモリ上のパラメータのうち、ＤＳＰ２０７における信号処理に関わるパラメータは、カレントメモリからＤＳＰ２０７に送られて係数データとして設定される。カレントメモリ上のパラメータに変更があったときは、リアルタイムにその変更がＤＳＰ２０７の係数データに反映される。従って、ＤＳＰ２０７は、常にカレントメモリの最新のパラメータ値に基づいて各種の信号処理を実行している。
【００３０】
カレントメモリ上のパラメータは、メイン装置１３０やフェーダ装置ａ，ｂの操作パネル上の操作子を用いて変更することができる。例えば、図２のフェーダ装置ａの下側ブロック２６０の操作部２６５に含まれる１つのフェーダが操作されると、ＣＰＵ２６１は、その操作を検出し、当該フェーダを特定するＩＤ（本システム内で一意なＩＤ）とその操作量を含む操作データをシリアルＩ／Ｏ２６９，２４９を介してフェーダ装置ａの上側ブロック２４０に送信する。フェーダ装置ａの上側ブロック２４０のＣＰＵ２４１は、フェーダ装置ａの下側ブロック２６０からの操作データであることを認識し、その操作データをそのままネットワークＩ／Ｏ２４８，２０８経由でメイン装置の上側ブロック２００に送信する。メイン装置の上側ブロック２００のＣＰＵ（以下、「メインＣＰＵ」と呼ぶ）２０１は、当該操作データに基づいて、例えば当該フェーダに割り当てられているｃｈに関わるカレントメモリ上のレベル値をその操作量に応じて変更する。他の操作子についても同様であり、操作子が操作されるとその操作データがメインＣＰＵ２０１に送られ、カレントメモリ上のパラメータ値に反映される。
【００３１】
メイン装置１３０やフェーダ装置ａ，ｂの操作パネル上の操作子は接触検出（タッチセンス）機能を備える。もちろん接触検出機能を備えない操作子があってもよいが、以下で単に「操作子」と言うときには、接触検出機能を備えた操作子を指すものとする。また、以下では操作子を指で触れて操作するケースで説明するが、人体の指以外の部分が触れる場合も同様である。
【００３２】
図４は、操作子の接触検出を行うためのタッチスキャン回路の全体図を示す。タッチスキャン回路は、図２の操作部２０５，２２５，２４５，２６５のそれぞれに設けられている。各操作部２０５，２２５，２４５，２６５に含まれる操作子の接触検出は、その操作部にバスラインを介して接続されているＣＰＵの制御の元で実行される。例えば、フェーダ装置ａの下側ブロック２６０では、ＣＰＵ２６１が、後述する図６の処理を実行して操作部２６５内の検出回路にスキャンを指示し、その結果から操作部２６５に含まれる各操作子の指接触の有無を検出する。「指接触有り」と判定された操作子があった場合、ＣＰＵ２６１は、当該操作子を特定するＩＤと「指接触有り」を示す情報を含む操作データをメインＣＰＵ２０１に送信する。また、その「指接触有り」であった操作子について「指接触無し」と判定された場合、ＣＰＵ２６１は、当該操作子を特定するＩＤと「指接触無し」を示す情報を含む操作データをメインＣＰＵ２０１に送信する。このような接触検出の動作は、各ブロック２００，２２０，２４０，２６０毎に独立に行われる。接触の有無を示す操作データを受けたメインＣＰＵ２０１は、その操作子の指接触の有無に応じた各種の処理を実行する。
【００３３】
以下では、フェーダ装置ａの下側ブロック２６０の操作部２６５が図４の４つの検出回路４０１〜４０４を備える例で説明する。この場合、ＣＰＵバス４１０は図２のバス２７０に対応し、ＣＰＵ２６１の制御の元で、検出回路４０１〜４０４が接触検出の処理を実行する。なお、１つのブロックの操作部が備える検出回路の数は任意である。検出回路の数は、そのブロックの操作部に含まれる操作子の数や、１スキャンで幾つの操作子の接触検出処理を行うかや、接触検出の反応速度の要求仕様などに応じて、定めればよい。例えば、（１）１つのブロックの操作部が８個のロータリエンコーダのみ備えている場合は、１つの検出回路を設けてそれらのロータリエンコーダの接触検出を行う、（２）１つのブロックの操作部が１６個のロータリエンコーダと１６本のフェーダを備えている場合は、１６個のロータリエンコーダを８個ずつに分け、１６本のフェーダを８本ずつに分け、そのように分けた４つのグループに対してそれぞれ検出回路を設けて接触検出を行う、などのように設計することができる。
【００３４】
図４において、検出回路４０１から出ているライン４０２−１〜４０２−ｎは、それぞれ操作子（ここでは検出回路４０１で接触検出する対象の操作子の数をｎ個とする）のつまみ部の導電塗料に接続されている。１つの検出回路で接触検出する対象の一群の操作子を「グループ」と呼ぶ。検出回路４０１は、ＣＰＵ２６１からの指示に応じて、ライン４０２−１〜４０２−ｎに順番に所定の周波数のスキャン信号を印可する。そして、ある１つのラインにスキャン信号を印可して、その回路におけるスキャン信号の振幅が安定した時点で、当該ラインのスキャン信号の信号レベルを検出し「所定の基準値」と比較することにより接触検出を行う。４０２−Ｄはダミーラインを示す。ダミーラインには何も接続されておらず開放状態であり、該ダミーライン４０２−Ｄにスキャン信号を印可したときの電位に基づいて上記の「所定の基準値」を取得する。検出回路４０２〜４０４も同様のものである。各検出回路により接触検出を行う操作子の数は任意（本例ではｎ個）である。本実施形態では、ダミーラインを用いて基準値を設定することにより、５０１〜５０６のアナログ回路の状態が変化しても、安定した検出が行えるようになっている。
【００３５】
図５は、各検出回路ｉの内部構造を示す。発信器５０１で生成された所定周波数（数十キロヘルツ程度）のスキャン信号は、増幅回路５０２で増幅されアナログのスイッチ回路５０３に入力する。スイッチ回路５０３は、アドレスレジスタ５１０に設定されている操作子アドレスに基づいて、増幅回路５０２の出力端子をライン４０２−１〜４０２−ｎ，４０２−Ｄのうちの１本に選択的に接続する。アドレスレジスタ５１０の操作子アドレスは、ライン４０２−１〜４０２−ｎ，４０２−Ｄのうちの１本を特定するアドレス、言い替えるとそれらのラインに接続されている各操作子（およびダミー）を特定するアドレスである。ここでは操作子を１番、２番、…、ｎ番と番号付けし、その番号を操作子アドレスとする。また、アドレスｎ＋１でダミーを指すものとする。
【００３６】
ＣＰＵ２６１がアドレスレジスタ５１０に「１」を設定すると、スイッチ回路５０３は該アドレスレジスタ５１０の値「１」に応じて、増幅器５０２の出力端子を第１番目のライン４０２−１に接続し、スキャン信号を該ライン４０２−１に接続されている操作子の導電塗料に印可する。このときの当該導電塗料に印可された信号をＢＰＦ（バンドパスフィルタ）５０４で取り出し、整流回路５０５で整流し、ＬＰＦ（ローパスフィルタ）５０６で平滑化し、その結果の直流電圧をアナログ減算器５０８に入力する。アナログ減算器５０８は、ＬＰＦ５０６からの直流電圧の電位（スキャン信号の検出された信号レベル）と基準値回路５０７からの基準電位との電位差をアナログ減算で求める。Ａ／Ｄ変換器５０９は、その電位差をデジタル値に変換する。ＣＰＵ２６１は、Ａ／Ｄ変換器５０９から出力される当該電位差を示す値を取り込み、この値に基づいて第１番の操作子の接触検出を行う。基準値回路５０７からの基準電位は、操作子に指が触れていないときの電位を示す。ある操作子にスキャン信号を印加したときのＬＰＦ５０６の出力端子の電位は、その操作子に指が触れていなければ上記基準電位とほぼ同じである。一方、その操作子に指が触れていれば、ＬＰＦ５０６の出力端子の電位が下がり、基準電位との差が所定値を超えるので、ＣＰＵ２６１は、Ａ／Ｄ変換器５０９の出力値が所定値を超えれば指の接触有り、そうでなければ接触無しと判定できる。なお、ＬＰＦ５０６が出力する電位が、スキャン信号の信号レベルとなるまでには、そのＬＰＦ５０６の時定数に対応する時間を要する。
【００３７】
同様にして、ＣＰＵ２６１は、アドレスレジスタ５１０に「２」「３」…「ｎ」を順番に設定して、第２番から第ｎ番の各操作子について接触検出を行う。次に、ＣＰＵ２６１は、アドレスレジスタ５１０に、ダミーを指定するアドレスｎ＋１を設定する。このとき、スイッチ回路５０３は、該アドレスレジスタ５１０に設定されているアドレスｎ＋１に応じて、ダミーライン４０２−Ｄに増幅器５０２の出力端子を接続する。そのときの該出力端子の信号をＢＰＦ５０４で取り出し、整流回路５０５で整流し、ＬＰＦ５０６で平滑化し、その結果の直流電圧を基準値回路５０７に取り込む。基準値回路５０７は、このとき取り込んだ電圧を基準電位とし、以後は該基準電位をアナログ減算器５０８に出力する。なお、アドレスレジスタ５１０に１〜ｎが設定されているときは、ＬＰＦ５０６の出力がアナログ減算器５０８に入力するように結線され、アドレスレジスタ５１０にダミーラインを指定するアドレスｎ＋１が設定されているときは、ＬＰＦ５０６の出力が基準値回路５０７に入力するように結線されるように、回路が構成されているものとする。また、ＣＰＵ２６１は、アドレスレジスタ５１０にアドレスを設定した後、所定時間が経過して回路の動作が安定するのを待ってから、Ａ／Ｄ変換器５０９の出力値を取り込む必要があるが、アドレスレジスタ５１０へのアドレスの設定のタイミングとＡ／Ｄ変換器５０９からの出力値の取り込みのタイミングについては、次の図６で説明する。
【００３８】
図６は、各ブロックのＣＰＵが実行するタッチ検出処理の手順を示す。ここでは図２のブロック２６０においてＣＰＵ２６１が実行する処理として説明する。このタッチ検出処理は、各ブロックにおいて、タイマ割込を利用して一定時間毎に実行する。タイマ割込の周期は、例えば１ミリ秒であるが、数十ナノ秒から数ミリ秒程度の範囲で設計してよい。割り込み周期を短くする場合は、発信器５０１の周波数を上げるとともに、ＬＰＦ５０６の時定数を短くする必要がある。周期が短いほどレスポンスはよくなるが、ＣＰＵに対する負荷は増大する。各ブロックのタイマ割込の周期は同じとする。
【００３９】
なお、システムの電源がオンされ、各ブロックのＣＰＵがタイマ割込で図６の処理を開始した直後は、図５の基準値５０７は未だ不定であり、後述するステップ６０６の所定回数分の判定も正常に判定されることが保証されない。従って、初期化処理としてある程度の時間を取り、その間に行われる指接触の有無の判定は採用せずに捨て去るものとする。以下の図６の説明は、初期化処理が終了して安定した処理が可能になったことを前提とするものであり、またカウンタＣＮＴ（ＤＮ）には０が、アドレスＡＤ（ＤＮ）には先頭アドレスである１が、それぞれ設定され、当該アドレスＡＤ（ＤＮ）＝１で特定される操作子（すなわち第１番目の操作子）に対するスキャン信号の印加が開始されており、ＬＰＦ５０６が出力する電位が安定した状態で第１回目のタイマ割込があったものとして説明する。電源オン直後の初期化処理については図６の説明の後に説明する。
【００４０】
第１回目のタイマ割込でのタッチ検出処理では、まずステップ６０１で、デテクタナンバＤＮに１を設定する。デテクタナンバＤＮは、スキャンを行う検出回路（ここでは図４の検出回路１〜４）を特定する１から４の整数をとる（以下、スキャンを行う検出回路を「検出回路（ＤＮ）」と呼ぶ）。次にステップ６０２でカウンタＣＮＴ（ＤＮ）＝０か判定する。ＣＮＴ（ＤＮ）は、検出回路毎のカウンタとして利用する配列であり、検出回路（ＤＮ）において、各操作子およびダミーラインのスキャンが終わった後の待ち時間を決定するカウント値をセットするカウンタである。ＣＮＴ（ＤＮ）＝０なら、ここで待ち時間を入れる必要は無いということであるから、ステップ６０３に進み、ＡＤ（ＤＮ）がダミーを指定するアドレスであるか判定する。ＡＤ（ＤＮ）は、検出回路毎に、スキャン信号を印可する操作子（図４，５のライン４０２−１〜４０２−ｎ，４０２−Ｄのうちの何れか１つ）を指定するアドレスを設定する配列である。図５で説明したように、操作子を特定する１〜ｎの番号およびダミーを特定するｎ＋１をアドレスとしてＡＤ（ＤＮ）に順番に設定してスキャンを進めていく。
【００４１】
いまＡＤ（ＤＮ）＝１であるので（当該アドレスで特定される第１番目の操作子にスキャン信号が印加されて回路が安定している）、ステップ６０３から６０４に進み、検出回路（ＤＮ）のＡ／Ｄ変換器５０９の出力値を取り込み、該出力値と所定値とを比較することにより、接触有りか無しかを判定する。ステップ６０５で、その判定結果をアドレスＡＤ（ＤＮ）に関連付けて所定のリングバッファに記憶する。ステップ６０６では、アドレスＡＤ（ＤＮ）に関連付けて該リングバッファに記憶されている判定結果が過去に遡って所定回数分（ここではｍ回とする）連続して接触無しであるか否か判定する。ｍ回連続して接触無しのときは、ステップ６０７で当該アドレスＡＤ（ＤＮ）で特定される操作子については「指接触無し」と判定し、そうでないときは、ステップ６０８で当該アドレスＡＤ（ＤＮ）で特定される操作子については「指接触有り」と判定する。このように、本実施形態では指接触の有無を、１回の割込時点の一時的な判定結果のみに基づいて判定せず、それまでのｍ回分の判定結果に基づいて判定するようになっている。
【００４２】
ここでリングバッファについて説明する。リングバッファは、当該ブロック内のＲＡＭ（ブロック２６０であればＲＡＭ２６３）上に設けられる。リングバッファは、操作子毎（すなわちアドレスＡＤ（ＤＮ）の値毎、ただしダミーを示すｎ＋１は除く）に、少なくとも上記ｍ回分の判定結果を記憶できるリング状の記憶領域を持ち、該リング状の記憶領域のうち最新のデータが記憶されている領域を指すポインタを備えている。ステップ６０５で判定結果を記憶するときには、アドレスＡＤ（ＤＮ）の値に対応するリングバッファのポインタを１つ進め、該ポインタが指す領域に判定結果を記憶する。ステップ６０６の判定では、該リングバッファの該ポインタから過去の判定結果を遡ってｍ回分取得し、それらのｍ回分の判定結果が全て接触無しであるかを判定する。
【００４３】
ステップ６０７，６０８の後、ステップ６０９で、タッチ検出する操作子のアドレスＡＤ（ＤＮ）を次の操作子のアドレスへとインクリメントし、検出回路（ＤＮ）のアドレスレジスタ５１０に設定する。いまＡＤ（ＤＮ）＝１であったので、インクリメントによりＡＤ（ＤＮ）＝２となり、このアドレスがアドレスレジスタ５１０に設定され、このアドレスで特定される第２番目の操作子に対するスキャン信号の印加が開始される。そして、次回のタイマ割込で実行されるタッチ検出処理のＤＮ＝１のときの処理で、このアドレスＡＤ（ＤＮ）＝２に対するＡ／Ｄ変換器５０９の出力値の取り込みが行われる。すなわち、あるタイマ割込でのタッチ検出処理でアドレスレジスタ５１０にスキャンする操作子を特定するアドレスを設定して、該操作子にスキャン信号の印可を開始し、その次のタイマ割込でのタッチ検出処理で該操作子に対するＡ／Ｄ変換器５０９の出力値の取り込みを行っている。タイマ割込の周期は、アドレスレジスタ５１０にアドレスを設定してからＢＰＦ５０４に入力するスキャン信号の振幅が安定し、さらに、ＬＰＦ５６０から出力される電圧が安定して、結果的に、Ａ／Ｄ変換器５０９からの出力値が安定する時間より大きくとってある。これにより、ステップ６０４での取り込み処理は安定して行うことができる。
【００４４】
ステップ６０９の後、ステップ６１２でＤＮをインクリメントし、ステップ６１３でＤＮが４を超えたか判定し、そうでなければ再びステップ６０２に戻る。いまＤＮ＝１であったので、インクリメントによりＤＮ＝２となり、次の検出回路２についてステップ６０２以降の処理が実行され、アドレスＡＤ（ＤＮ）の操作子の接触の有無（暫定値）、および、指接触の有無（確定値）が判定される。同様にして、ＤＮ＝３，４の処理が実行され、その後、ステップ６１３から終了（第１回目のタッチ検出処理の終了）となる。
【００４５】
次に、一定時間後に第２回目のタイマ割込がかかり、再び図６の処理が実行される。このときＤＮ＝１の処理では、ＣＮＴ（ＤＮ）＝０で、ＡＤ（ＤＮ）＝２であるので、ＡＤ（ＤＮ）＝２に対応する操作子に対してステップ６０４以降の処理が実行される。いまＤＮ＝１の検出回路１の操作子の数はｎ個としているので、ｎ回のタイマ割込により、それらｎ個の操作子について一通りそれぞれのリングバッファにスキャンの判定結果（暫定値）が１個格納されることになり、かつ、ｎ個の操作子の各指操作の有無（確定値）が検出されることになる。第ｎ回目のタイマ割込でのステップ６０９でＡＤ（ＤＮ）＝ｎ＋１とされ、このアドレスで特定されるダミーライン（図４の４０２−Ｄ）へのスキャン信号の印加が開始される。次の第ｎ＋１回目のタイマ割込でのＤＮ＝１の処理では、ＣＮＴ（ＤＮ）＝０、ＡＤ（ＤＮ）がダミーアドレスｎ＋１であるので、ステップ６０３から６１０に進む。なお、各ブロックのＣＰＵは、電源オン直後の初期化処理において、自ブロック内の操作子の数ｎを、自身で検出する、フラッシュメモリから読み出す、メインＣＰＵに問い合わせる等により入手し、所定の記憶領域に保持してあるので、ステップ６０３の判定を行うことができる。
【００４６】
ステップ６１０では、当該検出回路（ＤＮ）において基準値回路５０７に基準値、すなわち、開放状態（操作子に指が触れていない状態に相当）で、ＬＰＦ５０６が出力する電圧が設定される。この処理は、当該ブロックのＣＰＵが実行するものではなく、図５で説明したとおり検出回路（ＤＮ）自身がダミーアドレスが指定された際に基準値を設定する機能を備えているものであるが、そのタイミングを示すためステップ６１０に記載した。もちろん当該ブロックのＣＰＵが、このタイミングで、基準値５０７を設定する構成としてもよい。
【００４７】
次に、ステップ６１１で、カウンタＣＮＴ（ＤＮ）に当該ブロックの当該検出回路（ＤＮ）に専用の待ち時間に応じたカウント値を設定する。この待ち時間に応じたカウント値は、システムの電源オン直後の初期化処理でメインＣＰＵ２０１から当該ブロックに通知されたデータに基づいて設定する。どのような値を待ち時間のカウント値として設定するかについては、後に詳しく説明する。なお、この待ち時間のカウント値として０（要するに待ち時間無しとする場合）が設定されることもあるが、ここではＣＮＴ（ＤＮ）に０以外の値が設定されたものとして説明を続ける。ステップ６１１でＣＮＴ（ＤＮ）に０を設定する場合には、ＡＤ（ＤＮ）を先頭アドレス１に初期化する処理を行うものとする。ステップ６１１の後、ステップ６１２に進み、さらにＤＮ＝２，３，４の処理を実行した後、第ｎ＋１回目のタイマ割込のタッチ検出処理を終える。
【００４８】
次の第ｎ＋２回目のタイマ割込でのＤＮ＝１の処理では、ＣＮＴ（ＤＮ）に０以外の値が設定されているので、ステップ６０２から６１４に進む。ステップ６１４では該カウンタＣＮＴ（ＤＮ）をデクリメントし、ステップ６１５でＣＮＴ（ＤＮ）＝０か判定する。０でないときは、ステップ６１２に進み、さらにＤＮ＝２，３，４の処理を実行した後、第ｎ＋２回目のタイマ割込のタッチ検出処理を終える。
【００４９】
第ｎ＋３回目以降のタイマ割込でのＤＮ＝１の処理では、同様にしてＣＮＴ（ＤＮ）がカウントダウンされていく。第ｎ＋ｐ回目のタイマ割込でのＤＮ＝１の処理でＣＮＴ（ＤＮ）＝０になったとすると、設定されている待ち時間のカウントダウンが終了したということであるから、ステップ６１５から６１６に進み、ＡＤ（ＤＮ）に先頭の操作子を指すアドレス１をセットし、そのＡＤ（ＤＮ）の値をアドレスレジスタ５１０に設定し、当該アドレスで特定される第１番目の操作子に対するスキャン信号の印加を開始し、ステップ６１２に進む。さらにＤＮ＝２，３，４の処理を実行した後、第ｎ＋ｐ回目のタイマ割込のタッチ検出処理を終える。なお、ｐの値は、ステップ６１１でＣＮＴ（ＤＮ）に設定された値からダミー処理の分の１を加えた値となる。
【００５０】
次の第ｎ＋ｐ＋１回目のタイマ割込のタッチ検出処理は、上述した第１回目のタイマ割込のタッチ検出処理と同じであり、ＤＮ＝１では、ＣＮＴ（ＤＮ）＝０，ＡＤ（ＤＮ）＝１の場合の処理が行われる。以下、同様に処理が進む。上述の第１回目から第ｎ＋ｐ回目のタイマ割込によるｎ＋ｐ回の一連のタッチ検出処理によって、検出回路１の全操作子のそれぞれに対応するリングバッファに各操作子への接触の有無の判定結果（暫定値）が１つずつ設定され、かつ、各操作子への指接触の有無（確定値）が判定される。そこで、第１回目から第ｎ＋ｐ回目のタイマ割込によるｎ＋ｐ回のタッチ検出処理を（検出回路１についての）「１周目」のスキャンと呼び、引き続き同様に実行される一連のタッチ検出処理を「２周目」「３周目」…と呼ぶこととする。この１周分のスキャンの時間長（厳密には、第１回目のタイマ割込時点から第ｎ＋ｐ＋１回目のタイマ割込時点までの時間）を（検出回路１についての）「スキャン周期」と呼ぶ。
【００５１】
上記では検出回路１に注目して説明したが、検出回路２〜４についても同様である。ただし、各検出回路に接続される操作子の数（すなわち、上記のｎの値）は検出回路毎に区々であり、後述するが待ち時間を決めるステップ６１１のＣＮＴ（ＤＮ）の初期設定値も検出回路毎に区々である。各検出回路のスキャン周期は、その検出回路でスキャンする操作子の数ｎとＣＮＴ（ＤＮ）の設定値により決まるものであるが、本発明では、ある検出回路のスキャン周期が、システムの別の検出回路と同じスキャン周期とならないように、備える操作子の数に応じてＣＮＴ（ＤＮ）の値が調整されている点に特徴がある。
【００５２】
ここで、システムの電源がオンされた直後の初期化処理について説明する。上述したように、電源オン直後は、図５の基準値５０７が不定であるので、図４のように１つのブロックに４つの検出回路１〜４を備える場合、検出回路１については、１周目のスキャンのダミーアドレスの処理が終わるまで待つ必要がある。検出回路２〜４についても同様である。また、各検出回路において、ステップ６０６で、ＡＤ（ＤＮ）で特定される操作子に対応するリングバッファの過去のｍ回分の判定結果が全て接触無しであるときに「指接触無し」と判定しているので、各検出回路で少なくともｍ周期分のスキャンが終了していることが必要である。さらに、このｍの値は、後述するように各ブロックの各検出回路毎に区々であるので、１つのブロックに複数の検出回路が備えられている場合は、それらの検出回路のうち最も大きいｍの値を持つ検出回路においてｍ周期分のスキャンが終了していることが必要となる。初期化処理では、以上の必要条件を満たすまでの時間を取ることとしている。
【００５３】
図７は、図６のタッチ検出処理を繰り返し実行する際のタイミングチャートを示す。タイマ割込Ｔ１は上記第１回目のタイマ割込に相当し、７０１は第１回目のタッチ検出処理でＤＮ＝１〜４の処理が行われる区間を示し、ここでＤＮ＝１の区間ではＡＤ（ＤＮ）＝１の処理が行われている。７０２は第２回目のタッチ検出処理の区間を示し、ＤＮ＝１，ＡＤ（ＤＮ）＝２の処理が行われている。同様にして、第ｎ回目のタイマ割込のタッチ検出処理まで行われると、検出回路１のｎ個の操作子についてはスキャンが終了したこととなる。次に、タイマ割込Ｔn+1は上記第ｎ＋１回目のタイマ割込に相当し、７０３は第ｎ＋１回目のタッチ検出処理の区間を示す。このＤＮ＝１の処理では、ＡＤ（ＤＮ）＝ｎ＋１であるので、ダミーアドレスの処理が行われる。ここで当該検出回路１に基準値５０７が設定され、ＣＮＴ（ＤＮ）に当該ブロックの当該検出回路に特有の待ち時間を示すカウント値が設定される。
【００５４】
タイマ割込Ｔn+2は上記第ｎ＋２回目のタイマ割込に相当し、７０４は第ｎ＋２回目のタッチ検出処理の区間を示す。このＤＮ＝１の処理ではＣＮＴ（ＤＮ）のカウントダウンの処理が行われる。同様にして、タイマ割込毎にＣＮＴ（ＤＮ）のカウントダウンが進み、７０５に示す第ｎ＋ｐ回目のタイマ割込のタッチ検出処理でＣＮＴ（ＤＮ）＝０になると、ＡＤ（ＤＮ）が初期化され、この処理７０５が終了すると（検出回路１における）１周目のスキャンが終了した（ただし便宜的に次のタイマ割込までを１周分としている）こととなる。
【００５５】
なお、この１周目のスキャンはＤＮ＝１（検出回路１）における１周目ということであり、他の検出回路２〜４についてはそれぞれ独立したスキャン周期を持つので、図７のＤＮ＝２〜４の区間は「−−−−」（Don't Care）とした。また、この図では、各区間の時間長が均一となっているが、実際には、その区間で行う処理内容に応じて長短は様々である。
【００５６】
図８（ａ）は、１つのブロック１内の２つの検出回路１，２のスキャン信号の印加の区間が重なる例を示す。同図のタイムチャートは、図７のタイムチャートをスケールを縮小して図示したものである。Ｔ１，Ｔ２，…は、図７に示した各タイマ割込のタイミングであり、各タイマ割込のタイミングから開始する縦長の矩形は、図６のタッチ検出処理の実行区間を示す。例えば、８０１はタイマ割込Ｔ１で開始されるタッチ検出処理の実行区間（図７の７０１に対応）、８０２はタイマ割込Ｔ２で開始されるタッチ検出処理の実行区間（図７の７０２に対応）を示す。図８のＴ３以降の矩形も同様である。図７では各タイマ割込のタッチ検出処理の実行区間を横長の矩形で示したが、タイマ割込の時間間隔と比較すると図６のタッチ検出処理の実行時間は極めて小さいものである。そのため、例えば区間８０１で実行されるタッチ検出処理の各ステップの実行タイミングは、タイマ割込Ｔ１のタイミングと同じと見なして問題はない。これを考慮し、図８では、スキャン信号が印加される区間などの各種の区間の始点と終点をタイマ割込のタイミングに合わせて図示している。
【００５７】
８１１〜８１６は、検出回路１において各操作子とダミーラインに順にスキャン信号が印加される区間を示す。図６，７で説明したように、タイマ割込Ｔ１から開始される区間８０１のタッチ検出処理では、検出回路１（ＤＮ＝１）において、（ステップ６０４で操作子アドレス１の操作子の接触の有無を判定した後、）ステップ６０９で操作子アドレスがインクリメントされて、ＡＤ（ＤＮ）＝２がアドレスレジスタ５１０に設定され、操作子アドレス２の操作子に対するスキャン信号の印加が開始される。次のタイマ割込Ｔ２から開始される区間８０２のタッチ検出処理では、検出回路１（ＤＮ＝１）において、（ステップ６０４で操作子アドレス２の操作子の接触の有無を判定した後、）ステップ６０９で操作子アドレスがインクリメントされて、ＡＤ（ＤＮ）＝３がアドレスレジスタ５１０に設定され、操作子アドレス３の操作子に対するスキャン信号の印加が開始される。従って、検出回路１において、操作子アドレス２の操作子にスキャン信号が印加される区間は８１１に示す区間となる。
【００５８】
同様に、区間８１２は操作子アドレス３の操作子にスキャン信号が印加される区間、…、区間８１３は操作子アドレスｎの操作子にスキャン信号が印加される区間である。タイマ割込Ｔn+1から開始されるタッチ検出処理では、検出回路１（ＤＮ＝１）において、（ステップ６０４で操作子アドレスｎの操作子の接触の有無を判定した後、）ステップ６０９で操作子アドレスがインクリメントされて、ＡＤ（ＤＮ）＝ｎ＋１がアドレスレジスタ５１０に設定され、該アドレスで特定されるダミーラインへのスキャン信号の印加が開始される。区間８１４は、検出回路１においてダミーラインへスキャン信号が印加されている区間を示す。この区間８１４の終点は、タイマ割込Ｔn+p1で開始されるタッチ検出処理の検出回路１（ＤＮ＝１）の処理のステップ６１５，６１６でＣＮＴ（ＤＮ）＝０と判定されてＡＤ（ＤＮ）＝１が設定され、操作子アドレス１の操作子へのスキャン信号の印加が開始されるまでである。引き続き、区間８１５は操作子アドレス１の操作子にスキャン信号が印加される区間、区間８１６は操作子アドレス２の操作子にスキャン信号が印加される区間となる。
【００５９】
以上より、検出回路１における待ち時間は、タイマ割込Ｔn+2でＣＮＴ（ＤＮ）のカウントダウンが開始されてから次のスキャン周期の開始まで、すなわち図の「待ち時間１」の区間となり、スキャン周期は「スキャン周期ＳＳ１」の区間となる。なお、「待ち時間１」が０に設定される場合は、タイマ割込Ｔn+2が次のＴ１に重なることとなる。
【００６０】
同様に、８２１〜８２６は、検出回路２において各操作子とダミーラインに順にスキャン信号が印加される区間を示す。いま検出回路１と２は共にｎ個の操作子を持つと仮定している。区間８２１は、検出回路２において操作子アドレス２の操作子にスキャン信号が印加される区間とする。同様に、区間８２２は操作子アドレス３の操作子にスキャン信号が印加される区間、…、区間８２３は操作子アドレスｎの操作子にスキャン信号が印加される区間、区間８２４はダミーラインへスキャン信号が印加される区間である。また、区間８２５は操作子アドレス１の操作子にスキャン信号が印加される区間、区間８２６は操作子アドレス２の操作子にスキャン信号が印加される区間である。検出回路２における待ち時間は、タイマ割込Ｔn+2で検出回路２におけるＣＮＴ（ＤＮ）のカウントダウンが開始されてから次のスキャン周期の開始まで、すなわち図の「待ち時間２」の区間となり、スキャン周期は「スキャン周期ＳＳ２」の区間となる。なお、待ち時間２およびスキャン周期ＳＳ２の終点となるタイマ割込は、（検出回路１ではなく）検出回路２において次のスキャン周期の最初のタイマ割込となるものであるので、（Ｔ１）と括弧付きで図示した。
【００６１】
本実施形態では、同一ブロック内の複数の検出回路間であっても、ある検出回路のスキャン周期が別の検出回路と同じスキャン周期とならないように、各検出回路が備える操作子の数に応じてＣＮＴ（ＤＮ）の初期設定値が調整されている。図８（ａ）のケースでは、検出回路１と２とで操作子の数が同じｎ個であるので、待ち時間１と待ち時間２とが異なるようにＣＮＴ（ＤＮ）の初期設定値を調整して、スキャン周期ＳＳ１とＳＳ２とが異なるようにしている。
【００６２】
ここで、例えば検出回路１のスキャン信号印加区間８１１と検出回路２のスキャン信号印加区間８２１とは重なっている。そのため、区間８１１でスキャン信号を印加している検出回路１の操作子アドレス１の操作子と、区間８２１でスキャン信号を印加している検出回路２の操作子アドレス１の操作子とに、同時に指が触れていた場合、一方の操作子から他方の操作子に人体を通じて漏れたスキャン信号（電圧）により、指が触れているにもかかわらず両検出回路で接触無しと判定する誤検出が発生することがある。しかし、本実施形態では、検出回路毎にスキャン周期を異ならせているので、もし重なった区間８１１と８２１とで上記誤検出が発生しても、次のスキャン周期後の両操作子のスキャン信号印加の区間は重ならず、適正に接触検出できる。
【００６３】
図８（ａ）では、１つのブロック内の検出回路１の操作子アドレス１の操作子と検出回路２の操作子アドレス１の操作子との間でスキャン信号印加の区間が重なって誤検出が発生するケースを説明したが、１つのブロック内の任意の２つの検出回路の任意の操作子同士でスキャン信号印加の区間が重なる場合も同様である。また、図８（ａ）では、検出回路１と２とで同じ数の操作子を仮定して説明したが、操作子の数が異なる場合も同様である。各検出回路で備える操作子の数に応じてＣＮＴ（ＤＮ）の初期設定値を調整し、各検出回路のスキャン周期が相互に異なるようにすればよい。任意の検出回路間の任意の操作子でスキャン信号印加の区間が重なって上記誤検出が発生したとしても、次にそれらの操作子へのスキャン信号印加が行われるのは、両検出回路で異なるスキャン周期の後であるので、スキャン信号印加の区間は重ならないことが保証される。
【００６４】
図８（ｂ）は、異なるブロックの検出回路間でスキャン信号印加の区間が重なる例を示す。ブロック１のタイムチャートは、図８（ａ）のブロック１のタイムチャートと同じである。ブロック１の検出回路１のスキャン周期ＳＳ１と待ち時間１も、図８（ａ）に示したものと同じである。ただし、スキャン信号印加の区間８１１〜８１６は省略した。ブロック２のタイムチャートは、ブロック１とは異なるブロック２について、ブロック１と同様のタイムチャートを示したものである。スキャン周期ＳＳ３と待ち時間３は、ブロック２の検出回路１のスキャン周期と待ち時間を示している。なお、ブロック１の検出回路１とブロック２の検出回路１はそれぞれｎ個の操作子を備えるものとする。ブロック１と２とでは、それぞれのブロック内のＣＰＵの制御の元で、独立にタイマ割込によるタッチ検出処理を行っている。すなわち、ブロック１と２とで同じＴ１，Ｔ２，…の記号を使っているが、これらに関連性はない。ただし、全ブロックでタイマ割込の周期は同じである。
【００６５】
図８（ｂ）のケースでも、異なるブロックの検出回路間でスキャン信号印加の区間が重なる事情は図８（ａ）で説明したのと同様である。図８（ｂ）において、たまたま同じタイミングでブロック１のタイマ割込Ｔ１とブロック２のタイマ割込Ｔ１とが発生したとすると、ブロック１の検出回路１の操作子アドレス１の操作子へのスキャン信号の印加の区間とブロック２の検出回路１の操作子アドレス１の操作子へのスキャン信号の印加の区間とが重なる。このとき両操作子に指が触れていると、上述した指が触れているのに接触なしとする誤検出が発生することがある。しかし、本実施形態では、ブロック１の検出回路１のスキャン周期ＳＳ１とブロック２の検出回路１のスキャン周期ＳＳ３とが異なるように待ち時間１と３を設定しているので、次の周期では上記両操作子のスキャン信号印加の区間は重ならず、適正に接触検出できる。
【００６６】
なお、異なるブロック間ではそれぞれ独立のタイミングでタイマ割込が発生するので、図８（ｂ）に示したように２つのブロックのタイマ割込のタイミングがぴったり一致することはほとんど無い。すなわち、図８（ｂ）のブロック１のタイムチャートとブロック２のタイムチャートとは適当にずれているのが通常である。その場合、ブロック１の検出回路の操作子へのスキャン信号印加の区間とブロック２の検出回路の操作子へのスキャン信号印加の区間とは部分的に重なることになる。しかし、その場合でも、異なるブロックの検出回路間でスキャン周期が異なるようにすれば、次の周期ではスキャン信号印加の区間が重ならないようにできる。
【００６７】
図８（ｂ）では、ブロック１の検出回路１とブロック２の検出回路１とで同じ数の操作子を仮定して説明したが、操作子の数が異なる場合も同様である。また、図８（ｂ）では、異なる２つのブロック内の検出回路１の操作子アドレス１の操作子同士でスキャン信号印加の区間が重なって誤検出が発生するケースを説明したが、任意の２つのブロック内の任意の２つの検出回路の任意の操作子同士でスキャン信号印加の区間が重なる場合も同様である。要するに、図８（ｂ）に示したタイムチャートを時間軸に沿って平行移動して考えればよい。
【００６８】
本実施形態では、図６のステップ６０６に示したように、１つの操作子に対して所定回数ｍ回（すなわちｍ周期）連続して接触無しを検出したとき、その操作子について「指接触無し」と判定している。逆に言えば、連続するｍ回の判定のうちに１回でも接触有りを検出すると（その時点からｍ周期の間は各周期で接触無しが検出されても）「指接触有り」と判定することになる。一方、本実施形態では、任意の異なる検出回路間において、両検出回路の操作子に同時に指が触れているのに接触無しとする誤検出が発生したとしても、次の周期ではスキャン信号印加の区間が重ならないようにしているので、適正に接触有りと検出でき、「指接触有り」の判定を行うことができる。
【００６９】
上述したように各検出回路間でスキャン周期が異なるようにするためには、メインＣＰＵ２０１が、電源オン直後に行う初期化処理において、システムに接続されている全ブロックの全検出回路の構成と、それらの検出回路で接触検出の対象とする操作子の数を認識し、全ブロックの全検出回路のそれぞれに対して、待ち時間を決めるＣＮＴ（ＤＮ）の初期設定値（ステップ６１１の設定値）と所定回数ｍの値（ステップ６０６での判定に用いる値ｍ）を通知して設定させる。この際、操作子の数と１（ダミーの分）と待ち時間の初期設定値との和であるスキャン周期が各検出回路で異なるように、待ち時間の初期設定値を決めればよい。
【００７０】
上記図６のステップ６０６では、所定回数ｍ回連続して接触無し（暫定値）を検出したとき「指接触無し」（確定値）と判定する方式（以下「方式１」と言う）を採った。これは、指で触っているのに接触無しと誤判定する可能性は、明確な発生要因が有り、それなりに高いと考えられるのに対して、指で触っていないのに接触有りと誤判定する可能性は、明確な発生要因が無く、かなり低いと考えられるからである。また、ユーザが操作子を指で触ってから、指接触有りの判定が行われるまでの時間遅れは、ユーザがその操作子に注目していることを考慮すると、なるべく短い時間にすることが望ましく、逆に、ユーザの指が操作子から離れたときは、ユーザはその操作子に注目していないので、指接触無しが判定されるまでに多少の時間遅れがあっても問題にならない、という事情もある。具体的基準としては、指接触有りのレスポンスは、数十ミリ秒以下とすることが望ましく、指接触無しのレスポンスは、百ミリ秒以上であっても問題ない。この方式１は、連続ｍ回連続の接触無しの判定により、指接触無しの判定を厳密に行っているとも言える。
【００７１】
この方式１の動作に加えて、さらに、指接触有りの判定を厳密に行うために、複数ｐ回連続して接触有りを検出したとき「指接触有り」と判定する方式（以下「方式２」と言う）を採ってもよい。ただし、上述した時間遅れ（レスポンス）の問題があるので、ｐはｍより小さな回数とすべきである（ｐ＜ｍ）。また、方式２の場合は、複数ｐ回連続して接触有りを適正に検出できるようにすべきであり、そのためには、任意の検出回路の操作子間でスキャン信号印加の区間が重なっても、その次からのｐ回はスキャン信号印加の区間が重ならないようにそれぞれのスキャン周期を決定するものとする。
【００７２】
図９は、メインＣＰＵ２０１が電源オン直後に行う初期化処理において、各ブロックに通知する各検出回路毎のＣＮＴ（ＤＮ）の初期設定値と所定回数ｍの値の一覧の例を示す。この例は、方式１，２の何れの場合にも適用可能な設定例である。項番（１）〜（８）は操作子の数が１２個（上記ｎがｎ＝１２）の検出回路に対する設定例、項番（９）〜（１２）は操作子の数が２０個の検出回路に対する設定例、項番（１３）〜（１７）は操作子の数が３０個の検出回路に対する設定例である。各項番の「ＣＮＴ（ＤＮ）の初期設定値」と「所定回数ｍ」が各検出回路毎の設定値を示す。「スキャン周期」は、「操作子の数ｎ」にダミー処理の分の「１」と「ＣＮＴ（ＤＮ）の初期設定値」とを加えた値となる。「素因数分解」は、「スキャン周期」を素因数分解したものである。
【００７３】
例えば、メインＣＰＵ２０１が、初期化処理において、本システムに接続されているブロック１の検出回路１とブロック２の検出回路１とがそれぞれ１２個の操作子を備えていると認定したとする。このとき、メインＣＰＵ２０１は、予め備えられている図９の一覧表から操作子の数ｎ＝１２のデータである項番（１）と（２）のレコードを取得し、ブロック１には検出回路１用として「ＣＮＴ（ＤＮ）の初期設定値」＝０と「所定回数ｍ」＝１１を送り、ブロック２には検出回路１用として「ＣＮＴ（ＤＮ）の初期設定値」＝２と「所定回数ｍ」＝１０を送る。各ブロックのＣＰＵは、それぞれ送られた値を所定の記憶装置に記憶し、以後の図６のタッチ検出処理でＤＮ＝１のときのステップ６１１とステップ６０６で前記記憶した値を使うように設定する。
【００７４】
方式１，２の何れを採る場合も、メインＣＰＵは、各検出回路に対して図９の一覧から異なる項番の「スキャン周期」を割り当てるようにすればよい。図９の一覧では各項番の「スキャン周期」が相互に異なるようにしてある。なお、「素因数分解」の値は、２つの項番の両「スキャン周期」の最小公倍数を求めるのに利用する。任意の２つの操作子間でスキャン信号印加の区間が重なった場合、次に重なるのは両操作子のスキャン周期の最小公倍数だけ後になるから、この「素因数分解」の値を利用して最小公倍数を求め、割り当てる２つの項番の「スキャン周期」の最小公倍数ができる限り大きくなるように割り当てるのが良い。特に、方式２を採る場合は、この最小公倍数の値から、ある時点でスキャン信号印加の区間が重なっても次からの何周期分は重ならないようにできるかが分かるので、上述の連続したｐ回はスキャン信号印加の区間が重ならないようにそれぞれのスキャン周期を決定する。なお、任意の２つの操作子間でスキャン信号印加の区間が重なったときから再び重なるまでの時間はできる限り長い方が好ましいから、そのような割り当てを行うのが良い。
【００７５】
図９の一覧の「最大遅延」は、「スキャン周期」と「所定回数ｍ」との積である。方式１，２の何れを採る場合も、ｍ回（周期）の連続した検出で判定結果を求めるので判定の遅延が発生する。ただし、この所定回数ｍは「指接触無し」の判定に専用の値である。「指接触有り」の判定には、方式１のように１回の接触有りの検出で「指接触有り」と判定し、あるいは、方式２のように所定回数ｍより小さい回数ｐ回の連続した接触有りの検出で「指接触有り」と判定するのが、反応速度の点から望ましい。特に、最適なのは方式１の１回である。
【００７６】
上述の「遅延時間」は「指接触無し」を判定する際の反応速度を規定するが、２つの操作子間でこの反応速度が大きく異なるとオペレータが違和感を感じることがあるので、できるだけ均一化するのが望ましい。図９の例では、「所定回数ｍ」を調整することで、各項番の「遅延時間」が均一化するようにしている。具体的には、「スキャン周期」と「所定回数ｍ」との積である「最大遅延」が所定範囲内に収まる程度の近い値となるように、各項番のレコードの「所定回数ｍ」を調整している。
【００７７】
なお、フェーダやロータリエンコーダなどの操作子への指の接触が検出されたときにどのような動作を行うかは任意である。例えば、背景技術として先述した、オートミックスの一時的な解除や、パンチイン／パンチアウトを行うようにしてもよい。或いは、ある操作子が指でタッチされたとき、表示器上に表示されているパラメータのうち、タッチのあった操作子に割り当てられているパラメータの表示の状態（色彩、明るさ、サイズ、形状など）を変えると、オペレータは、そのパラメータを調整していることを容易に認識できる。その際の表示の変化としては、そのパラメータを、タッチの瞬間に１回光らせたり、タッチしている間ブリンクさせるようにしてもよい。また、ある操作子が指でタッチされたとき、その操作子に割り当てられたパラメータを、選択パラメータとして選択して、表示器上のその選択パラメータに関連した表示を新たに表示するようにしてもよい。さらに、ある操作子が指でタッチされたとき、その操作子に割り当てられたパラメータの属するチャンネルを、選択チャンネルとして選択し、その選択チャンネルの複数のパラメータを、別途用意された選択チャンネル用の操作子を用いて調整できるようにしてもよい。
【００７８】
上記実施形態において、ステップ６０５ではＡ／Ｄ変換器から出力されるＡ／Ｄ値を記憶するものとし、ステップ６０４では過去ｍ回のＡ／Ｄ値の平均を求め、該平均値が所定値以下か否かで接触の有無を判定しても良い。
【００７９】
上記実施形態はデジタルミキサを例に説明したが、本発明は、レコーダやエフェクタなどの各種の音響信号処理システムのタッチ検出部に適用できる。さらに、ＰＣのＯＳ上で動作するＤＡＷ（例えばＣｕｂａｓｅ（登録商標）やＮｕｅｎｄｏ（登録商標）など）と、そのＤＡＷ用のユーザインターフェースとしてそのＰＣに接続されるコントロールサーフェイス（例えばＨｏｕｓｔｏｎ（登録商標）など）との組み合わせからなる音響信号処理システムの、該コントロールサーフェイスのタッチ検出部に対して適用してもよい。
【００８０】
上記実施形態では、「指接触無し」検出の時間遅れは、所定回数ｍの値により、ブロック間、検出回路間で、大体同じになるよう調整されている。しかしながら、「指接触有り」検出の時間遅れは、スキャン周期に応じて、区々であり均一化することはできない。すなわち、スキャン周期が短い検出回路（ないしブロック）では、「指接触有り」検出の時間遅れが小さく、指のタッチに対する反応速度が速くなり、スキャン周期が長い検出回路（ないしブロック）では、同時間遅れが大きく、同反応速度が遅くなる。そこで、頻繁に使用される検出回路（ないしブロック）は速い反応速度になるように、使用頻度の低い検出回路（ないしブロック）は遅い反応速度になるようにしてもよい。具体的には、操作パネル上の、オペレータに近いブロックの反応速度が速く、遠いブロックの反応速度が遅くなるように設定するとよい。または、操作パネルがメイン表示器と複数ブロックの操作子を備えている場合、メイン表示器に近いブロックの反応速度が速くなるように設定するとよい。または、システムがメインの装置とサブの装置で構成されている場合、メインの装置のブロックの反応速度が速く、サブの装置の反応速度が遅くなるように設定するとよい。
【００８１】
上述した各ブロック毎に反応速度を速くしたり遅くしたり設定したい場合は、各ブロック毎に、上記方式１と２の何れとするかの選択とスキャン周期および所定回数ｍの設定を調整することにより行うことができる。
【００８２】
上記実施形態において、複数のブロックの中で、スキャンタイミングが合致する周期が比較的短い２つのブロックに関しては、１人のオペレータによりその２ブロックが同時操作されにくくなるように、システム内で、そのブロック間の物理的な距離を大きくして（離して）配置するのが好ましい。また、予め各ブロック間の物理的な距離を所定の記憶手段に保持しておき、メインＣＰＵが初期化処理で各ブロックにＣＮＴ（ＤＮ）の初期設定値と所定回数ｍを設定する際には、既に設定済みの第１のブロックに対して、距離が近い第２のブロックには前記第１のブロックの設定と比較してスキャンタイミングが合致する周期が比較的長くなるようなＣＮＴ（ＤＮ）の初期設定値と所定回数ｍを設定し、距離が遠い第２のブロックには前記第１のブロックの設定と比較してスキャンタイミングが合致する周期が比較的短くなるようなＣＮＴ（ＤＮ）の初期設定値と所定回数ｍを設定するようにしてもよい。
【符号の説明】
【００８３】
１００…複数本のｃｈストリップを備えたｃｈストリップ部、１１０…表示器、１０１…フェーダ装置ａの上部ｃｈストリップ部、１０２…フェーダ装置ａの下部ｃｈストリップ部、１０３…フェーダ装置ｂの上部ｃｈストリップ部、１０４…フェーダ装置ｂの下部ｃｈストリップ部、１３０…メイン装置、１３１…フェーダ装置ａ、１３２…フェーダ装置ｂ、１４０…ネットワーク。
【図１】
2013150081.tif 000003
【図２】
2013150081.tif 000004
【図３】
2013150081.tif 000005
【図４】
2013150081.tif 000006
【図５】
2013150081.tif 000007
【図６】
2013150081.tif 000008
【図７】
2013150081.tif 000009
【図８】
2013150081.tif 000010
【図９】
2013150081.tif 000011