(57)【要約】【課題】制御量と操作位置との相関関係を力覚反力にて容易に認識させる。また、適切な力覚付与が行えるようにする。【解決手段】制御装置３０は、基部３１と、基部３１において可動式に取り付けられた操作子３２を具える。操作子３２は、Ｘ、Ｙ及びＺ軸に沿って変位可能である。Ｘ、Ｙ及びＺ軸に対応して、操作子３２の操作位置を検出するＸ軸用センサ部４０、Ｙ軸用センサ部４１及びＺ軸用センサ部４２と、Ｘ軸モータ部５０、Ｙ軸モータ部５１及びＺ軸モータ部５２が配設される。各センサ部で検出した操作状態と所定の模範操作情報に基づく操作子がとるべき操作状態との相違に応じた反力を操作子３２に付与する。また、各センサ部で検出した操作状態に応じた反力を操作子３２に付与することもできる。【選択図】  図１
2004309587.tif 000002
【特許請求の範囲】
【請求項１】
操作者の操作に応じて少なくとも１軸に沿って変位操作される操作子と、
前記操作子の操作状態を検出する検出手段と、
前記操作子がとるべき操作状態を示す模範操作情報を供給する供給手段と、
前記検出手段で検出された操作状態と前記模範操作情報が示す操作状態との相違に応じて反力情報を発生する反力情報発生手段と、
前記反力情報発生手段で発生した反力情報に応じた反力を前記操作子に付与する反力付与手段と
を具える制御装置。
【請求項２】
前記操作子は、複数軸に沿って変位操作可能なものであり、
前記検出手段は各軸毎に前記操作状態を検出するものであり、
前記供給手段は、前記操作子がとるべき各軸毎の操作状態を示す模範操作情報を供給するものであり、
前記反力情報発生手段は、各軸毎に、検出された操作状態と前記模範操作情報が示す操作状態との相違に応じて反力情報を発生するものであり、
前記反力付与手段は、各軸毎の前記反力情報に応じた反力を各軸毎に前記操作子に付与するものである請求項１に記載の制御装置。
【請求項３】
前記各軸は複数の楽音要素に対応しており、
前記検出手段で検出された各軸毎の操作状態の検出データに応じて前記複数の楽音要素を設定若しくは制御してなる楽音信号を発生する楽音信号発生手段を更に具えた請求項２に記載の制御装置。
【請求項４】
操作者の操作に応じて、複数軸に沿って回動可能な操作子と、
前記操作子の前記各軸毎の操作状態を検出し、それに応じた検出信号を出力する複数の検出手段と、
前記複数の検出手段の各々から出力される検出信号に基づき、前記各軸毎に付与すべき反力情報を夫々発生する反力情報発生手段と、
前記反力情報発生手段で発生した各軸毎の前記反力情報に基づき前記操作子に対して各軸毎に力覚反力を付与する反力発生手段と、
前記複数の検出手段の各々から出力される検出信号に基づき、楽音信号を制御する楽音信号制御手段と
を具えることを特徴とする制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、１又は複数軸に沿って変位しうる操作子を備えた制御装置に関し、操作子に力覚反力を付与する技術に関するもので、例えば、電子楽器の演奏入力操作等に適用される。
【０００２】
【従来の技術】
【特許文献１】特開平１０‐１７７３８７号
上記特許文献１には、操作子を可動するアクチュエータと、操作子の位置情報等を検出するセンサを備え、該センサで検出した位置情報等に基づき、アクチュエータの駆動を制御することで、操作子に力覚反力を付与するものが開示されている。
【０００３】
【発明が解決しようとする課題】
上記特許文献１に開示された装置では、操作子に付与される反力は、操作者により実際に行われた操作子操作に基づく情報（例えば、位置情報、速度情報、加速度情報等）に基づきアクチュエータが駆動されることで、その負荷力、方向等を制御していたため、あくまで操作量に対応（比例）した反力を操作者に与えるものでしかなかった。そのため、センサで検出した位置情報に応じて楽音の音高、音色、音量等を制御しようとする場合、そのときの操作量に応じて操作子に付与される力覚反力と該操作量に応じて制御される音高、音色、音量等の制御量との相関関係を操作者が適切に感知・認識するのは、困難であった。すなわち操作者は、トライアンドエラーを繰り返すほかには、その操作方法（すなわち力覚反力で知覚しうる操作量と該操作量に応じた制御量との相関関係）を効果的に学ぶ術がなく、そのため操作子の操作方法習得の効率が悪かったという不都合があった。特に、ジョイスティックタイプ等の多軸操作型の操作子においては、操作子の操作位置が複雑になるため、操作者は、自身が意図する操作量又は操作位置に正しく操作されたか否かを把握することがより一層難しくなる。
【０００４】
この発明は、上記の点に鑑みてなされたもので、所定の制御量と操作位置との相関関係を力覚反力にて容易に認識させることができるような制御装置を提供することを第１の目的とする。また、楽音信号の制御に際して適切な力覚付与が行えるような制御装置を提供することを第２の目的とする。
【０００５】
【課題を解決するための手段】
第１の目的を達成するために、この発明に係る制御装置は、操作者の操作に応じて少なくとも１軸に沿って変位操作される操作子と、前記操作子の操作状態を検出する検出手段と、前記操作子がとるべき操作状態を示す模範操作情報を供給する供給手段と、前記検出手段で検出された操作状態と前記模範操作情報が示す操作状態との相違に応じて反力情報を発生する反力情報発生手段と、前記反力情報発生手段で発生した反力情報に応じた反力を前記操作子に付与する反力付与手段とを具える。
これによれば、操作子が操作されたときの操作状態と模範操作情報に基づく操作子がとるべき操作状態とが比較され、その相違に応じて反力情報を発生し、発生した反力情報に応じた反力を操作子に付与することで、操作者に対して、前記模範操作情報に基づく操作状態と自身が実際に行った操作状態との違いを容易に感知させることができる。比較対象となる操作状態は、例えば、操作位置であり、その場合は、検出手段として操作位置検出手段を用いる。
【０００６】
また、第２の目的を達成するために、この発明に係る制御装置は、操作者の操作に応じて、複数軸に沿って回動可能な操作子と、前記操作子の前記各軸毎の操作状態を検出し、それに応じた検出信号を出力する複数の検出手段と、前記複数の検出手段の各々から出力される検出信号に基づき、前記各軸毎に付与すべき反力情報を夫々発生する反力情報発生手段と、前記反力情報発生手段で発生した各軸毎の前記反力情報に基づき前記操作子に対して各軸毎に力覚反力を付与する反力発生手段と、前記複数の検出手段の各々から出力される検出信号に基づき、楽音信号を制御する楽音信号制御手段とを具える。
【０００７】
【発明の実施の形態】
以下添付図面を参照して、この発明の一実施例について説明する。以下に説明する実施例では、一例として、この発明に係る制御装置を楽器演奏のための演奏入力装置に適用した例を示す。
図１は、この実施例に係る制御装置全体の外観例を示す図であって、（ａ）は側面から見た概略断面図であり、（ｂ）は当該制御装置の平面図である。但し（ｂ）においては、説明の便宜上外装ケースの図示を省略している。また、図２は、図１に示す制御装置のハードウェア構成例を示すブロック図である。図１（ａ）に示すように、制御装置３０には、外装ケース３３内に収納された基部３１と、基部３１において可動式に取り付けられた操作子３２が具備される。基部３１は、ＣＰＵ等の電気回路類が収納される制御ボックス３４上に載置される。操作子３２は、全体として長手棒状に形成されており、Ｘ軸、Ｙ軸、Ｚ軸の３軸に沿って変位可能である。（ａ）及び（ｂ）に示す通り、Ｘ軸に関する変位運動はＸ軸に沿う回転運動（操作者からみて左右方向への回転動）であり、Ｙ軸に関する変位運動はＹ軸に沿う揺動運動（操作者からみて上下方向への揺動）であり、Ｚ軸に関する変位運動はＺ軸に沿う直線運動（操作者からみて前後方向の直線動）である。この実施例において、制御装置３０の操作者は、操作子３２の先端部３２ａを把持して、操作子３２をＸ軸、Ｙ軸及びＺ軸に沿って適宜操作することで、各軸毎の操作位置に応じた楽音要素を入力・制御できる。この実施例では、一例として、Ｘ軸に関する操作位置に応じて楽音の音高を制御し、Ｙ軸に関する操作位置に応じて楽音の音量を制御し、Ｚ軸に関する操作位置に応じて楽音の音色を制御できるものとする。
【０００８】
基部３１において、操作子３２が操作される３軸（Ｘ、Ｙ、Ｚ）のぞれぞれに対応して、各軸に関する操作子３２の操作位置を検出するためのＸ軸用センサ部４０、Ｙ軸用センサ部４１及びＺ軸用センサ部４２が設けられている。Ｘ軸，Ｙ軸及びＺ軸の各軸に対応して設けられたセンサ部４０〜４２は、操作子３２の各軸毎の操作位置をそれぞれ検出しうる適宜の１次元センサ（回転位置センサ或いは直線位置センサ）を適用してよく、以下この実施例では回転位置センサを用いるものとする。必要に応じて、位置センサの検出データを微分することで速度更には加速度を検出することもできる。また、センサ部４０〜４２としては、位置センサに限らず、速度センサあるいは加速度センサを使用してもよく、例えば、速度センサで検出した速度を積分することで操作位置を検出することができる。基部３１には、操作子３２に力覚反力を与えるための手段として、Ｘ、Ｙ及びＺ軸の各軸に対応してＸ軸モータ部５０、Ｙ軸モータ部５１及びＺ軸モータ部５２が設けられている。各モータ部５０〜５２の駆動により、操作子３２に対してＸ軸、Ｙ軸及びＺ軸の各軸毎に独立して力覚反力が付与される。
【０００９】
図２に示すように、この制御装置３０は、全体の動作を制御するＣＰＵ１、各種プログラムを記憶したプログラムＲＯＭ（Ｐｒｏｇｒａｍ  ＲＯＭ）２、データＲＯＭ（ＤＡＴＡ  ＲＯＭ）３、キースケールＲＯＭ（ｋｅｙ−ｓｃａｌｅ  ＲＯＭ）４、ワーキングのためのＲＡＭ５、パラメータテーブル６、パラメータコントローラ７、入出力インターフェース（入出力Ｉ／Ｆ）８、表示画面１５等を有し、各装置間が通信バス１Ｂを介して接続される。インターフェース９は、Ｘ軸用センサ部４０、Ｙ軸用センサ部４１及びＺ軸用センサ部４２からの各センサ出力を時分割多重して取り込むものである。インターフェース９から取り込まれたセンサ出力は、ＡＤ変換器１０にてディジタル信号に変換されて、通信バス１Ｂを介してＣＰＵ１に出力される。ドライバ２０には、Ｘ軸モータ部５０、Ｙ軸モータ部５１、Ｚ軸モータ部５２を夫々駆動するためのアクチュエータ２１が接続される。なお、図２においては、１つのブロックのみでアクチュエータ２１を表現しているが、Ｘ軸、Ｙ軸及びＺ軸モータ部５０〜５２の夫々を駆動する為に３つのアクチュエータを具備してもよい。
【００１０】
ドライバ２０は、ＣＰＵ１の制御の下で生成された駆動信号に基づきアクチュエータ２１を駆動制御（つまり通電ＯＮ／ＯＦＦ）する。駆動信号は、ＤＡ変換器１１にてアナログ信号に変換され、ドライバ２０に供給される。この駆動信号としては、例えばＰＷＭ形式の電流信号を適用してもよい。この駆動信号は、操作子３２に力覚反力を付与するための反力情報であって、詳しくは後述するように、所定の模範操作情報に基づく現在操作すべき操作子３２の各軸毎の操作位置（基準操作位置）と、センサ出力に基づき検出・算出される操作者により実際に行われた操作子３２の各軸毎の操作位置（現在操作位置）との差に基づき、各軸毎に夫々算出される。このように算出される駆動信号に応じた反力が操作子３２に付与されることで、操作者は、この反力を以って、前記基準操作位置と操作者が実際に行った（或いは行いつつある）現在操作位置との違いを、体感的、直接的に感知しうることが後述の説明から明らかになるだろう。
【００１１】
データＲＯＭ３は、１乃至複数曲分のＭＩＤＩ演奏データを記憶する楽曲データメモリ部と、模範操作情報テーブルとを含む。模範操作情報テーブルは、操作子３２の各軸毎にとりうる複数の操作位置と、該各軸に対して割り当てられた各楽音要素の制御量（制御値）との対応関係を記憶するものである。模範操作情報テーブルにおいては、例えば、Ｘ軸に関する操作子３２の回動可能範囲においてとりうる複数の操作位置に対する所定音域範囲にわたる複数の音高の対応付けを記憶しており、楽曲データメモリ部から読み出されたＭＩＤＩ演奏データに含まれる各種演奏パラメータのうち音高パラメータに応じて、該音高パラメータが指定する音高に対応するＸ軸の操作位置を示す示す情報をＸ軸の模範操作情報として出力する。また、模範操作情報テーブルにおいては、例えば、Ｙ軸に関する操作子３２の揺動可能範囲においてとりうる複数の操作位置に対する所定音量範囲にわたる複数段階の音量の対応付けを記憶しており、楽曲データメモリ部から読み出されたＭＩＤＩ演奏データに含まれる各種演奏パラメータのうち音量パラメータに応じて、該音量パラメータが指定する音量に対応するＹ軸の操作位置を示す示す情報をＹ軸の模範操作情報として出力する。また、模範操作情報テーブルにおいては、例えば、Ｚ軸に関する操作子３２の直線動可能範囲においてとりうる複数の操作位置に対する複数の音色の対応付けを記憶しており、楽曲データメモリ部から読み出されたＭＩＤＩ演奏データに含まれる各種演奏パラメータのうち音色パラメータに応じて、該音色パラメータが指定する音色に対応するＺ軸の操作位置を示す示す情報をＺ軸の模範操作情報として出力する。こうして、ＭＩＤＩ演奏データに基づき、操作子３２がとるべき各軸毎の操作位置を示す模範操作情報を生成することができる。この模範操作情報により、或る楽曲を演奏するために行うべき、操作子３２の正しい操作状態を演奏の進行に伴って指示することができる。なお、前記ＭＩＤＩ演奏データのデータ形式は、ＭＩＤＩ規格やＭＩＤＩ規格の簡易版のデータフォーマット等からなる公知の自動演奏シーケンスデータの形式であってよく、例えば、発生すべき音高、音量、音色に関する演奏イベントデータと、イベントデータの発生タイミングを一つ前のイベントデータからの相対時間で示すデルタタイムデータとのシーケンスからなるもの等を利用できる。なお、楽曲データメモリ部あるいは模範操作情報テーブルは、ＲＯＭに限らず、ＲＡＭ等によって書き換え可能に構成されていてもよいし、外部メモリ若しくは通信ネットワーク等を介して構成されてもよい。
【００１２】
パラメータテーブル６は、各種のパラメータ（演奏パラメータやタッチ反力の設定パラメータ等を含む）の値を算出する為のテーブルであり、例えば、インターフェース９を介して取り込まれたセンサ出力に対応する音高、音量、音色等の各種楽音要素のパラメータ値設定や、タッチ反力のパラメータ値設定等に利用でき、ＲＯＭ或いはＲＡＭ等で構成してよい。また、各種楽音要素のパラメータ値設定や、使用する音源に応じたタッチ反力の設定についての制御ルールは、パラメータコントローラ７により任意に可変設定できるように構成してよい。キースケールＲＯＭ４は、例えば、操作子３２にて入力する音高列のスケールを設定変更するために利用しうる。
【００１３】
図示の通り、この実施例では、入出力Ｉ／Ｆ８にはワイレスモジュール１２が接続されており、当該制御装置は、このワイヤレスモジュール１２を介して、物理的に隔離された音源１３と、ワイヤレスで接続する。このように音源１３との接続をワイヤレス化することで、音源との接続も容易になり、装置設置場所等を選ばず、どこにでも持ち運んで演奏を楽しむことができる。
ＣＰＵ１は、前記パラメータテーブル６を参照することで、インターフェース９を介して取り込まれたセンサ出力に対応する音高、音量、音色等の各種楽音要素のパラメータ値を設定し、これを音源１３に送信する。音源１３では受信したパラメータ値に基づき、操作子３２の各軸毎の操作位置に応じた楽音信号を生成する。すなわち、この制御装置３０では、操作子３２のＸ、Ｙ及びＺ軸の各軸毎の操作位置に応じて１つの楽音信号の発音が指示される。なお、音源１３の音源方式は、波形メモリ等の従来から知られるいかなる方式を用いてもよい。また、音源１３は、ハードウェア音源ボードで構成されていてもよいし、ソフトウェア音源プログラムで構成されていてもよい。
また、制御スイッチ１４は、必要に応じて、例えば操作子３２の先端部３２ａ等に設置するとよく、回転操作或いは押圧操作等によって音量等の適宜のパラメータ値設定を行いうるよう構成してよい。勿論、このような制御スイッチ１４が具備されなくとも、この発明の実施に差し支えないが、このようなスイッチを設けることで、指先等による操作で音量等のパラメータ値の設定・制御が行えるため、演奏操作をより簡便に行えるようになる。例えば、一構成例として、このスイッチ１４によって演奏音の全体的な音量制御を行い、ユーザによる演奏入力時には、操作子３２のＹ軸の操作速度に応じて発生する楽音のアフタータッチを制御するような構成が可能である。
【００１４】
表示画面１５には、操作者による演奏入力時に例えば五線譜や鍵盤等の画像を表示することで、操作子３２の操作位置に応じた音高を、該五線譜画像上に対応する音符で表示したり、或いは、該鍵盤画像上の対応する鍵の色を変えること等で表示することができ、これにより、操作者は入力した楽音信号の音高を視認できる。このように操作者に対して視覚的に操作状態を認識させることで、当該制御装置３０のように特殊な入力形態による演奏情報の入力をより簡便にすることができる。
【００１５】
図３は、この制御装置３０において実行可能な各種機能の概略を示す機能構成図であり、図において各部６０〜６３は装置３０に備わる機能に夫々相当する。図３に示すように、制御装置３０は、大別して、サーボ制御機能６０、タッチ付加機能６１、発音機能６２、画面表示機能６３を有する。図３では、ユーザによる演奏入力の一例として、Ｘ軸センサ部４０からのセンサ出力に対応して音高パラメータ値（ｎｏｔｅ）を設定し、Ｙ軸センサ部４１からのセンサ出力に対応して音量パラメータ値（ｖｏｌ．）を設定するものとする。なお、前述の通り、Ｚ軸センサ部４２の出力に基づき音色パラメータ値を設定・制御可能であるが、この系統の処理については便宜上、図３では図示を省略する。演算回路６５では、各軸毎のセンサ部（回転位置センサ）から出力される検出データを夫々微分することで、前述したように各軸毎の速度及び加速度データを生成できる。これら各軸毎の位置情報（ｐｏｓ．）速度情報（ｖｅｌ．）及び加速度情報（ａｃｌ．）が上記各機能６０〜６３に対して出力される。
サーボ制御機能６０は、この発明の第１の目的を達成する一実施形態に係るもので、前記所定の模範操作情報に基づく基準操作位置と、センサ出力に基づき検出・算出される操作者により実際に行われた操作子３２の現在操作位置との相違に応じて反力情報を発生する機能である。各軸毎に、該基準操作位置と現在操作位置との相違に応じて生成された反力情報は、夫々対応する各軸モータ部（図ではＸ軸モータ部５０とＹ軸モータ部５１）に供給される。
【００１６】
タッチ付加機能６１は、この発明の第２の目的を達成する一実施形態に係るもので、操作者による演奏入力時において、操作子３２の操作位置に応じた各センサ出力に基づき、パラメータテーブル６（図２参照）に含まれるタッチ反力設定用のテーブル（タッチデータテーブル）群を参照して各軸毎にタッチ反力情報を生成して、各タッチ反力情報に応じたタッチ反力を操作子３２に対して付加することで、操作者に対して仮想現実的な操作感覚、タッチ感覚を与える機能である。すなわち、生成されたタッチ反力情報に応じた駆動信号（例えばＰＷＭ形式の電流信号）によりアクチュエータ２１（図２参照）を通電ＯＮ／ＯＦＦすることで、対応するモータ部（図３ではＸ軸モータ部５０とＹ軸モータ部５１）が駆動されて、操作子３２に対してタッチ付加（仮想現実的力覚の付与）が行われる。更に、操作子３２に対して与えられるタッチ反力の触覚的特性は、パラメータコントローラ７（図２参照）による設定等により任意に可変設定でき、これにより操作者は、例えば使用する音源に応じてタッチ反力設定を自由に行い所望のタッチ感を得ることができる。なお、より適切な反力を発生させるためにサーボ機能制御機能６０を併せて利用することもできる。
また、発音機能６２は、各軸毎のセンサ出力に基づき音高、音量、音色等の各種楽音要素のパラメータ値を設定して、該パラメータ値に基づく楽音を発音させる機能である。なお、図２に示したとおり音源１３、アンプ、スピーカ等の音源システムは、制御装置３０とはワイヤレスで接続された外部機器で構成される。また、画面表示機能６３は、操作子３２の操作位置に応じて指示された楽音の音高を、表示画面１５（図２参照）の例えば五線譜画像上に対応する音符で表示させたり、或いは、鍵盤画像上の対応する鍵盤の色変え表示させることで、操作者が入力した音高を画像表示する機能である。
【００１７】
上記図２に示した構成からなる制御装置におけるサーボ制御機能（図３のブロック６０）について次に述べる。
操作者により操作子３２が操作され、Ｘ軸、Ｙ軸及びＺ軸の各軸毎の操作位置に応じたセンサ出力がインターフェース９を介してＣＰＵ１に出力されると、ＣＰＵ１では、所定のクロックタイミング毎に、各軸毎のセンサ出力に基づき操作子３２のの各軸毎の現在操作状態を検出する処理を行う。そして、パラメータテーブル６を参照することで、検出した各軸毎の現在操作位置や速度、加速度の何れか１つ、あるいはそれらの組み合わせ、または複数軸の出力の組み合わせに応じた演奏パラメータ（音高、音量、音色等）の値を算出し、算出した演奏パラメータに基づき音源１３にて楽音信号を生成する（発音機能）。制御装置３０において、操作子３２が操作されたとき、ＣＰＵ１は、上記楽音信号の生成処理等と共に、当該装置のサーボ制御機能に従い、ドライバ２０に対してアクチュエータ２１を駆動するための駆動信号を出力してアクチュエータ２１を駆動制御することで、操作子３２に対して力覚反力を付与する。このサーボ制御用の駆動信号を算出するための処理の詳細について次に述べる。
【００１８】
ＣＰＵ１は、上述した操作子３２の現在操作位置の検出処理等を行う一方で、以下説明するように、データＲＯＭ３の模範操作情報テーブルから供給される各軸毎の模範操作情報が示す基準操作位置と、前記検出した現在操作位置との差分値（相違）を算出するための処理を行う。なお、データＲＯＭ３の楽曲データメモリ部に記憶されているＭＩＤＩ演奏データは、データの利用時には、所定の演奏イベントタイミングに応じてＲＡＭ５に読み出され、ＲＡＭ５内には、或る時点のイベントタイミングにおいて実行すべき現在演奏イベントデータと、次回のイベントタイミングで実行すべき次回演奏イベントデータと、現在演奏イベントデータと次回演奏イベントデータとの相対時間の間隔を示すデータとがバッファされる。演奏イベントデータには、或るイベントタイミングにおいて、発生すべき楽音の各種楽音要素のパラメータ値を指定する演奏パラメータが含まれる。
【００１９】
或る演奏イベントタイミングに達した時点において、ＣＰＵ１は、データＲＯＭ３の楽曲メモリ部から、次回のイベントタイミングで実行される次回演奏イベントデータを読み出して、ＲＡＭ５内にバッファされている現在演奏イベントデータ、次回演奏イベントデータ、及び現在演奏イベントデータと次回演奏イベントデータとの相対時間の間隔を示すデータと、を夫々更新する。すなわち、新たに読み出した次回演奏イベントデータをＲＡＭ５に取り込むことで、ＲＡＭ５内の次回演奏イベントデータ及び時間間隔データを書き換えると共に、最前のタイミングにおける次回演奏イベントデータを、現在演奏イベントデータとしてバッファする。なお、このとき、最前のタイミングにおいて現在演奏イベントデータとしてバッファされていたデータは、前回演奏イベントデータとして保持される。
【００２０】
そして、データＲＯＭ３中に記憶された模範操作情報テーブルにおいて、前記ＲＡＭ５内にバッファされた現在演奏イベントデータ及び次回演奏イベントデータ並びに時間間隔データと前回演奏イベントデータに応じて、前記イベントタイミングに達した時点における模範操作情報を算出する。こうして、現在のイベントタイミングにおいて、ＭＩＤＩ演奏データに基づき操作子３２がとるべき各軸毎の操作位置を示す模範操作情報が生成される。この模範操作情報により、現在イベントタイミングにおいて発音すべき楽音を「正しく」発音させるための操作子３２の操作位置を指示することができる。この模範操作情報は各イベントタイミング毎に生成されるので、或る楽曲を演奏するために行うべき操作子３２の正しい操作位置を演奏の進行に伴って順次指示することができる。
【００２１】
データＲＯＭ３において、模範操作情報を算出した後、前記算出した模範操作情報が示す各軸毎の基準操作位置と、センサ出力に基づき検出された各軸毎の現在操作位置との差を算出する。ここで算出される差分値は、模範操作情報が示す各軸毎の基準操作位置と、操作者により実際に操作された操作子３２の各軸毎の現在操作状態の相違に応じた値である。その差分値に応じて、操作子３２に作用する反力を制御すれば、基準操作位置と現在操作状態の差に対応した反力が操作子３２に対して付与されることになる。従って、操作者は、操作子３２に与えられた反力によって、自身が行った操作位置が、基準操作位置に対して正しいのか、或いは、どの程度違っているのか等を直接的に感知できるようになる。
【００２２】
ＣＰＵ１は、算出された各軸毎の差分値に基づき、アクチュエータ２１を駆動するための駆動信号（反力情報）を生成する。生成された駆動信号は前述の通りＤＡ変換器１１を介してドライバ２０に供給され、ドライバ２０は供給された駆動信号によりアクチュエータ２１を駆動制御する。ドライバ２０に供給される駆動信号は、反力を付与すべき各軸毎に時分割分離されて供給されるよう構成、アクチュエータ２１がＸ軸モータ部５０、Ｙ軸モータ部５１及びＺ軸モータ部５２を時分割で駆動してよい。すなわち、操作子３２に対して与えられる反力は、Ｘ軸、Ｙ軸及びＺ軸の各軸毎の、基準操作位置と現在操作位置の差に応じて作用する。
【００２３】
ここで、図４（ａ）に示す基部３１及び操作子３２の概略斜視図を参照して、操作子３２の駆動機構について簡単に説明する。図４において、操作子３２は、基部３１に具わるガイド部３５に貫通される。ガイド部３５は、Ｘ軸、Ｙ軸及びＺ軸モータ部５０〜５２の夫々と機械的に連動可能に連結されている。Ｙ軸モータ部５１は、ガイド部３５に連結されたＹ軸モータベース５３に支持される。Ｙ軸モータベース５３の下端部は、Ｘ軸モータベース５４上に固定される。図示の例では、Ｘ軸モータ部５０は、Ｘ軸モータベース５４及びＹ軸モータベース５３を介して、ガイド部３５と連結される。操作子３２がＸ軸に関して操作されると、Ｘ軸モータベース５４を動作支点として、Ｘ軸モータベース５４上の構成要素が全体的に、縦軸Ａについて軸転し、Ｘ軸センサ部４０ではその軸転を検出する。Ｘ軸モータ部５０が駆動されると、Ｘ軸モータベース５４を動作支点として、Ｘ軸モータベース５４上の構成要素全体に縦軸Ａについて軸動運動が作用することで、操作子３２に対するＸ軸に関する力覚反力が付与される。また、操作子３２がＹ軸に関して操作されると、Ｙ軸モータベース５３を動作支点として、ガイド部３５が横軸Ｂについて軸転（上下動）し、Ｙ軸センサ部４１はその軸転を検出する。Ｙ軸モータ部５１が駆動されると、Ｙ軸モータベース５３を動作支点として、ガイド部３５に対して横軸Ｂについて上下運動が作用することで、操作子３２に対するＹ軸に関する力覚反力が付与される。また、Ｚ軸モータ部５２は、ギヤボックス３６を介してガイド部３５と連結する。ギヤボックス３６は、操作子３２のＺ軸に関する直線動を、適宜の回転動に変換するための、及び、Ｚ軸モータ部５２の回転動を操作子３２のＺ軸に関する直線動に変換するための、運動変換機構である。一例として、図４（ｂ）に示すように、操作子３２の軸部３２ｂには軸線方向に沿って長手状にギヤ歯部３７ａが設けられており、また、ギヤボックス３６内には、該ギヤ歯部３７ａに係合するスライドギヤ機構３７ｂが設けられており、Ｚ軸センサ部５２は、該ギヤボックス３６を介して運動変換された直線位置を検出する。Ｚ軸モータ部５２が駆動されると、その回転運動は、該ギヤボックス３６を介してＺ軸に沿う直線運動に変換され、操作子３２に対するＺ軸に関する力覚反力として作用する。
【００２４】
例えば、図１（ｂ）において、あるイベントタイミングに達した時点で、操作子３２をＸ軸方向について位置Ｌまで操作した（Ｙ，Ｚ軸方向には変位させない）場合、このときの基準操作位置におけるＸ軸方向の位置をＭすると、このとき操作子３２に付与される反力は矢印Ｆ１向きに作用する。このような反力Ｆ１により操作者は、自身の行った操作が基準操作位置を矢印ＬＬ方向に超過してしまっていることを感知するであろう。また、操作子３２の操作位置が、前記Ｌよりも基準状態Ｍにより近い、位置ＬＡの場合は、反力Ｆ２の負荷を、前記反力Ｆ１より軽く（力を弱く）すれば、操作者は自身の行った操作が、基準位置とは違うものの、幾分近いことを察知できるであろう。また、操作子３２の操作位置が位置Ｒであった場合、操作子３２に付与される反力は矢印Ｆ３向きに作用し、基準操作位置からの偏差に応じて与えられる反力の強さが漸次変化する。勿論、操作子３２に対して反力が作用しなければ、操作者は、自分が行った操作が正確であることを確認できる。従って、この装置３０においては、操作子３２に付与される反力に応じて、自身が行った操作が、正しいのか、或いは、現在操作すべき正しい操作とどの程度違うのかが、直接的、体感的に感知できる。また、そのような反力がなくなるよう、軽くなるよう、操作子３２を操作すれば、現在操作すべき正しい操作位置を直接的、体感的に把握できる。よって、そのような反力の付与を、楽曲の自動演奏データに従った模範操作情報に基づき制御することにより、当該制御装置３０のような特殊な入力形態の装置による演奏情報入力方法の習得、学習が効果的に行えるようになる。
なお、反力の作用は、上述の例に限らず、反力に応じて、模範操作情報に基づく操作状態と自身が実際に行った操作状態との違いを知覚させるのであれば、どのような態様であってもよく、例えば、上記とは反対に、正しい操作位置で反力が一番重くなるように作用してもよい。
【００２５】
次に、ユーザによる演奏入力時のタッチ付加機能６１の詳細について図５のブロック図を参照して説明する。図５において、７０、７１、７２、７３はマルチプレクサであり、７４，７５，７６，７７はＡ／Ｄ変換器である。７８はヒステリシス回路である。また７９、８０、８１はタッチデータテーブル群に相当するテーブル群であり、各々複数のテーブルから構成される。また、８２は１枚のテーブルである。８３，８４、８５は加算器であり、８６はモータ推力補正テーブル群であり、複数の推力補正テーブルから構成される。
一例として、Ｘ軸センサ部４０のセンサ出力から得られた位置情報ｐｏｓ、Ｙ軸センサ部４１のセンサ出力から得られた速度情報ｖｅｌ及び加速度情報ａｃｌとが、マルチプレクサ７０、７１、７２によって時分割多重されて取り込まれ、Ａ／Ｄ変換器７４，７５，７６を介してディジタル信号に変換される。なお、外部入力ａｕｘは、例えば制御スイッチ１４（図２参照）によるその他のパラメータの設定に用いる。
【００２６】
マルチプレクサ７０から取り込んだ位置情報ｐｏｓはヒステリシス回路７８を介してテーブル群７９に供給される。位置情報ｐｏｓがヒステリシス回路７８に供給されると、ヒステリシス回路７８では速度情報ｖｅｌに基づき操作子３２の操作方向（正方向と負方向）を判別して、テーブル群７９から算出される位置情報ｐｏｓに基づくテーブル出力（タッチ反力情報の位置項）に対して操作子３２の操作方向に応じたヒステリシス特性を与える。具体的には、テーブル群７９が、操作子３２の操作方向（正／負方向）に夫々対応する２つのテーブル群（「押鍵」側テーブル群と「離鍵」側テーブル群）を有し、操作子３２の操作方向が正方向のときは、位置情報ｐｏｓは「押鍵」側テーブル群に供給され、負方向のときは位置情報ｐｏｓは「離鍵」側テーブル群に供給される。操作子３２の操作方向に応じて、異なるテーブル群（「押鍵」側テーブル群又は「離鍵」側テーブル群）を用いてタッチ反力情報の位置項を算出することで、位置情報ｐｏｓに応じてテーブル群７９から出力される位置項は、操作子３２が正方向に操作されたか、あるいは、負方向の操作されたかによって異なる値になる。これにより、操作子３２に与えられるタッチ反力に、操作子３２の操作方向に応じたヒステリシス特性を持たせることができ、操作方向に応じた自然なタッチ感を実現できる。なお、テーブル群７９を、正／負方向に応じた２つのテーブル群を設けることなく、１つのテーブル群で構成し、ヒステリシス回路７８において、位置情報ｐｏｓに対して速度情報ｖｅｌに基づき加算演算若しくは減算演算を行うことで、テーブル出力（タッチ反力情報の位置項）に対して操作子３２の操作方向に応じたヒステリシス特性を与えるようにしてもよい。
また、テーブル群７９には、速度情報ｖｅｌが供給されており、供給された速度情報ｖｅｌに応じてテーブル群７９を構成する複数のテーブルのうちの１つが選択される。速度情報ｖｅｌに基づき選択されたテーブルから、位置情報ｐｏｓに応じたタッチ反力情報の位置項を読み出す。よって、テーブルテーブル群７９から出力される位置項は、位置情報ｐｏｓと速度情報ｖｅｌとを考慮した値が出力される。線形補間変換部８７では、テーブル群７９からの出力を線形補間して出力する（ここでは演算を容易にさせるために線形補間としたが、より微妙な補間値を得るために、Ｅｘｐｏｎｅｎｔｉａｌなどの非線形補間としてもよいことは当然であり、以下に述べる線形補間についても同様である）。
【００２７】
マルチプレクサ７１から取り込んだ速度情報ｖｅｌはテーブル群８０に供給される。テーブル群８０には、位置情報ｐｏｓが供給されており、供給された位置情報ｐｏｓに応じてテーブル群８０を構成する複数のテーブルのうちの１つが選択される。そして、位置情報ｐｏｓに基づき選択されたテーブルから、速度情報ｖｅｌに応じたタッチ反力情報の速度項を読み出す。線形補間変換部８８では、テーブル群８０からの出力を線形補間して出力する。
マルチプレクサ７２から取り込んだ加速度情報ａｃｌはテーブル群８１に供給される。テーブル群８１には、位置情報ｐｏｓが供給されており、供給された位置情報ｐｏｓに応じてテーブル群８１を構成する複数のテーブルのうちの１つが選択され、位置情報ｐｏｓに基づき選択されたテーブルから、加速度情報ａｃｌに応じたタッチ反力情報の加速度項を読み出す。線形補間変換部８９では、テーブル群８１からの出力を線形補間して出力する。なお、テーブル群８１は、加速度情報ａｃｌが入力されるのではなく、速度情報ｖｅｌが入力されて、その出力が加速度項と成るようなデータテーブルで構成されてもよい。
また、外部入力ａｕｘから供給されるパラメータ設定値はテーブル８２に供給され、テーブル８２から該パラメータ設定値に応じたテーブル出力が線形補間変換部９０を介して出力される。外部入力ａｕｘから供給されるパラメータとしては、例えば、タッチ反力の効き具合を調整するパラメータ等がある。
【００２８】
このようにして生成された位置項、速度項、加速度項の各値を示すデータが、加算器８３、８４にて加算され、タッチ反力情報を示すデータが合成される。このとき、加算器８５にて他のパラメータ値（例えば反力の効き具合を調整するパラメータ）も加算合成すれば、タッチ反力の効き具合を適宜調整できる。なお、このタッチ反力情報の合成に際しては、各項に異なる重み付けを付与する（例えば、速度項、加速度項及びその他パラメータに対して重み付けする）。こうしてＸ軸センサ部４０から出力された位置情報ｐｏｓ、速度情報ｖｅｌ及び加速度情報ａｃｌに基づくタッチ反力情報が生成される。このタッチ反力情報はモータ推力補正テーブル群８６に供給される。モータ推力補正テーブル群８６には位置情報ｐｏｓもまた供給されており、供給された位置情報ｐｏｓに応じて複数のモータ推力補正テーブルのうち１つが選択され、該選択されたモータ推力補正テーブルから入力されたタッチ反力情報のデータに対応する推力補正値が読み出される。これによりモータの推力を補正できる。そうしてテーブル群８６の出力（タッチ反力用の駆動信号）がドライバ２０（図２参照）を介して出力される。このタッチ反力用の駆動信号によってＸ軸モータ部５０を回動することで、操作子３２に対してＸ軸に関するタッチ反力（仮想現実的力覚）を付与できる。また、タッチ反力情報のデータをアナログ信号に変換し、この信号を画面表示機能で画面表示するパラメータの１つとして利用することもできる。
Ｙ軸センサ部４１及びＺ軸センサ部からのセンサ出力（位置情報ｐｏｓ、速度情報ｖｅｌ及び加速度情報ａｃｌ）も夫々マルチプレクサ７０、７１、７２に入力され上述と同様の処理を時分割で行い、Ｙ軸センサ部４１及びＺ軸センサ部からのセンサ出力に基づくタッチ反力情報が合成される。このように各軸毎のタッチ反力情報を位置、速度及び加速度の３つのパラメータに基づき生成することで、操作子３２の操作位置変化のみならず時間的変化にも応じた反力を発生させることができる。なお、マルチプレクサ７０〜７３を使用することで、例えば複数の制御装置３０でのＸ軸、Ｙ軸、Ｚ軸のセンサ出力を多重化処理することもできる。
なお、タッチ反力情報の生成に用いるパラメータは（タッチデータテーブルに入力されるパラメータ）は、上記３つのパラメータを全て用いる必要は必ずしもなく、位置、速度及び加速度の何れか１つを用いてもよいし、あるいはそれらを適宜組み合わせて利用してもよい。
【００２９】
なお、上述の実施例では、楽音要素たる音高、音色、音量等を用いて模範操作情報を決定する例について、つまり楽器演奏動作における反力制御について説明したが、本発明に係る制御装置の利用形態としては、上述の例に限らず、例えば、模範操作情報を自動演奏データのテンポ情報やベロシティ情報から算出することで、操作者に楽曲の指揮動作を学ばせるような構成も可能である。また、演奏に関する各種動作に限らず、操作の模範となるデータに基づく所定の動作を学ばせるようなものであれば、例えば、各種ゲーム入力やＣＡＤの入力等に本発明を適用可能である。
また、模範操作情報に基づく比較対象となる操作状態としては、上述例のような「操作位置」に限らず、「操作速度」あるいは「操作加速度」であってもよい。
【００３０】
【発明の効果】
以上説明した通り、この発明によれば、操作者が実際に行った操作状態と模範操作情報が示す操作状態との相違に応じて反力情報を発生し、発生した反力情報に応じた反力を操作子に付与することで、操作者は与えられた反力に応じて、模範操作情報が示す正しい操作状態と実際に自身が行った操作状態との違いを直接的に感知でき、操作方法の学習、習得を効率的に行えるようになるという優れた効果を奏する。また、操作者による演奏入力（楽音信号制御）に際して、操作子の操作に応じて適切な力覚反力を付与することができるという優れた効果を奏する。
【図面の簡単な説明】
【図１】（ａ）は本発明の一実施例に係る制御装置の外観を示す側面図、（ｂ）は、（ａ）に示す装置を上から見た平面図。
【図２】同実施例に係る制御装置のハードウェア構成例を示すブロック図。
【図３】同実施例に係る制御装置の機能ブロック図。
【図４】（ａ）は、図１に示す操作子３２の駆動機構を抽出して示す概略斜視図であり、（ｂ）は（ａ）におけるギヤボックスの詳細構成例を示す概略図。
【図５】図３に示すのタッチ付与機能の詳細を説明するためのブロック図。
【符号の説明】
３０  制御装置、３１  基部、３２  操作子、４０  Ｘ軸センサ部、４１  Ｙ軸センサ部、４２  Ｚ軸センサ部、５０  Ｘ軸モータ部、５１  Ｙ軸モータ部、５２  Ｚ軸モータ部、１  ＣＰＵ、２  プログラムＲＯＭ、３  データＲＯＭ、４キースケールＲＯＭ、５  ＲＡＭ、６  パラメータテーブル、９  インターフェース、１３  音源、２０  ドライバ、２１  アクチュエータ
【図１】
2004309587.tif 000003
【図２】
2004309587.tif 000004
【図３】
2004309587.tif 000005
【図４】
2004309587.tif 000006
【図５】
2004309587.tif 000007