(57)【要約】【課題】操作部材の操作に応じた音を生成するとともに、生成される音に応じた力を操作者に感じさせる。【解決手段】操作装置は、操作者によってホイール部が操作されると、その操作に応じたセンサ信号を出力する。コンピュータ装置は、操作装置から出力されたセンサ信号に基づいて、可動部のホイール部に対する相対的な位置の目標となる目標変位を生成し、また、この目標変位に基づいて楽音信号を生成して出力する。ホイール部に設けられたコイルは、ホイール部と可動部との間に相互に働く力を、ホイール部及び可動部に対して非接触で付与して、目標変位へと可動部を移動させる。【選択図】図９
2010224046.tif 000002
【特許請求の範囲】
【請求項１】
操作者により操作される操作部材と、
前記操作部材が操作されると、当該操作に応じた検出信号を出力する操作検出手段と、
前記操作部材によって移動可能に支持され、当該操作部材に対して相対的に移動する可動部と、
前記操作検出手段から出力された検出信号に基づいて、前記可動部の前記操作部材に対する相対的な位置の目標となる目標変位を生成する目標変位生成手段と、
前記目標変位生成手段によって生成された目標変位に基づいて楽音信号を生成し、生成した当該楽音信号を出力する楽音生成手段と、
前記操作部材と前記可動部との間に相互に働く力を、前記操作部材及び前記可動部に対して非接触で付与して、前記目標変位生成手段によって生成された目標変位へと前記可動部を移動させる力付与手段と
を備えることを特徴とする楽音制御装置。
【請求項２】
前記楽音生成手段は、前記目標変位生成手段によって時系列に生成された複数の前記目標変位を連ねた波形のエンベロープを生成し、生成した当該エンベロープを用いて前記楽音信号を生成する
ことを特徴とする請求項１に記載の楽音制御装置。
【請求項３】
前記目標変位生成手段は、前記検出信号に応じた条件の下で仮想的に行われる物理的な運動を規定した物理モデルに基づいて前記目標変位を生成する
ことを特徴とする請求項１又は２に記載の楽音制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作に応じた音を生成する技術に関する。
【背景技術】
【０００２】
コンピュータを用いて楽音を生成する技術が知られている。例えば、特許文献１には、鍵盤やスイッチなどが操作されると、その操作に応じた楽音を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３０８０６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、アコースティックの楽器を演奏する場合、演奏者は、楽器から発せられた音を耳で聴くのに加えて、楽器の振動によって音を感じることができる。例えば、ギターを弾く場合には、ギターの弦の振動によって音を感じることができる。一方、上述した特許文献１のような技術では、操作者は、鍵盤やスイッチを操作しながら音を作っていくため、その操作によって作られる音を触覚的に感じることができない。
本発明はこのような背景に鑑みてなされたものであり、操作部材の操作に応じた音を生成するとともに、生成される音に応じた力を操作者に感じさせることを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、操作者により操作される操作部材と、前記操作部材が操作されると、当該操作に応じた検出信号を出力する操作検出手段と、前記操作部材によって移動可能に支持され、当該操作部材に対して相対的に移動する可動部と、前記操作検出手段から出力された検出信号に基づいて、前記可動部の前記操作部材に対する相対的な位置の目標となる目標変位を生成する目標変位生成手段と、前記目標変位生成手段によって生成された目標変位に基づいて楽音信号を生成し、生成した当該楽音信号を出力する楽音生成手段と、前記操作部材と前記可動部との間に相互に働く力を、前記操作部材及び前記可動部に対して非接触で付与して、前記目標変位生成手段によって生成された目標変位へと前記可動部を移動させる力付与手段とを備えることを特徴とする楽音制御装置を提供する。
【０００６】
本発明の好ましい態様において、前記楽音生成手段は、前記目標変位生成手段によって時系列に生成された複数の前記目標変位を連ねた波形のエンベロープを生成し、生成した当該エンベロープを用いて前記楽音信号を生成してもよい。
【０００７】
本発明の好ましい態様において、前記目標変位生成手段は、前記検出信号に応じた条件の下で仮想的に行われる物理的な運動を規定した物理モデルに基づいて前記目標変位を生成してもよい。
【発明の効果】
【０００８】
本発明によれば、操作部材の操作に応じた音を生成するとともに、生成される音に応じた力を操作者に感じさせることができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る楽音制御装置の構成を示す図である。
【図２】前記楽音制御装置の操作装置の構成を示す正面図である。
【図３】前記操作装置の構成を示す上面図である。
【図４】前記操作装置の構成を図２中の矢線ＶＡ方向から見た側面図である。
【図５】前記操作装置の構成を図２中の矢線ＶＢ方向から見た側面図である。
【図６】変位データと前記操作装置の可動部の位置との関係を示す図である。
【図７】前記楽音制御装置のコントロール装置の構成を示すブロック図である。
【図８】前記楽音制御装置のコンピュータ装置の構成を示すブロック図である。
【図９】前記楽音制御装置の機能構成を示す図である。
【図１０】前記コンピュータ装置が用いる物理モデルの一例を示す図である。
【図１１】前記コンピュータ装置のフォースフィードバック生成部の処理を示す図である。
【図１２】前記フォースフィードバック生成部のパラメータ変更の一例を示す図である。
【図１３】前記フォースフィードバック生成部のパラメータ変更の一例を示す図である。
【図１４】前記フォースフィードバック生成部が生成する振動波形の一例を示す図である。
【図１５】前記コンピュータ装置の楽音生成部の処理を示す図である。
【図１６】変形例に係る物理モデルの一例を示す図である。
【発明を実施するための形態】
【００１０】
［構成］
図１は、本実施形態に係る楽音制御装置１の構成を示す図である。同図に示すように、楽音制御装置１は、操作装置１０と、コントロール装置２０と、コンピュータ装置３０とを備えている。操作装置１０とコントロール装置２０とは通信ケーブル４１を介して接続されており、コントロール装置２０とコンピュータ装置３０とは、通信ケーブル４２を介して接続されている。
【００１１】
（操作装置の構成）
次に、操作装置１０の構成について説明する。図２は操作装置１０の正面図、図３は操作装置１０の上面図、図４は操作装置１０を図２中の矢線ＶＡ方向から見た側面図、図５は操作装置１０を図２中の矢線ＶＢ方向から見た側面図である。図２に示すように、操作装置１０は、台車部１１と、ホイール部１２と、可動部１３とを備えている。
【００１２】
台車部１１は、土台１１１と、支持部材１１２と、車軸１１３ａ，１１３ｂと、車輪１１４ａ，１１４ｂと、モータ１１５とを備えている。土台１１１上には、４つのバネ１１６が設けられており、支持部材１１２は、これらのバネ１１６によって支持されている。また、支持部材１１２は、土台１１１に対して図中の矢印Ｅ方向へ移動可能に取り付けられている。この支持部材１１２は、ホイール部１２を回転可能に支持している。これにより、操作者は、ホイール部１２を図中の矢印Ｅ方向に押し下げる操作（以下、「押し下げ操作」という）を行うことができる。操作者によって押し下げ操作が行われると、支持部材１１２を支持するバネ１１６が縮んで、ホイール部１２及び支持部材１１２が図中の矢印Ｅ方向へ下がる。このとき、ホイール部１２の押し下げ量が大きくなるにつれて、土台１１１と支持部材１１２との間の距離Ｌは小さくなる。また、ホイール部１２が押し下げられた状態において操作者が押し下げ操作をやめると、バネ１１６の弾性力によってホイール部１２及び支持部材１１２が図中の矢印Ｅ方向と逆方向へ跳ね上がり、押し下げられる前の位置に戻る。支持部材１１２には、押し量センサ１４が設けられている。この押し量センサ１４は、例えば反射型の光センサであり、土台１１１に設けられた反射板１４０に対して光を照射することにより、ホイール部１２の押し下げ量を計測し、計測した押し下げ量に応じたセンサ信号を出力する。つまり、押し量センサ１４は、ホイール部１２を押し下げる操作が行われると、この操作に応じた検出信号を出力する操作検出手段である。
【００１３】
また、図３に示すように、土台１１１の両端には、図中の矢印ＣＤ方向に貫通する貫通孔が形成されており、一方の貫通孔には車軸１１３ａが通されており、他方の貫通孔には車軸１１３ｂが通されている。そして、車軸１１３ａの両端には、車輪１１４ａが取り付けられており、車軸１１３ｂの両端には、車輪１１４ｂが取り付けられている。これにより、操作者は、ホイール部１２をつかんで、操作装置１０を図中の矢印Ａ方向又はＢ方向に移動させる操作（以下、「移動操作」という）を行うことができる。操作者によってホイール部１２が図中の矢印Ａ方向に動かされると、車輪１１４ａ，１１４ｂが反時計回りに回転し、操作装置１０が図中の矢印Ａ方向へと移動する。操作者によってホイール部１２が図中の矢印Ｂ方向に動かされると、車輪１１４ａ，１１４ｂが時計回りに回転し、操作装置１０が図中の矢印Ｂ方向へと移動する。また、図２に示すように、車軸１１３ｂには、モータ１１５が接続されている。このモータ１１５は、車軸１１３ｂを介して車輪１１４ｂを回転させる。モータ１１５には、距離センサ１５が設けられている。この距離センサ１５は、例えばエンコーダであり、車輪１１４ｂの回転数を計測し、その回転数に応じた２相のパルス列をセンサ信号として出力する。この車輪１１４ｂの回転数は、操作装置１０の移動距離に対応する値であるから、距離センサ１５は操作装置１０の移動距離を計測しているといえる。また、２相のパルス列の位相関係は、車輪１１４ｂの回転方向に対応して反転する。つまり、距離センサ１５は、ホイール部１２を用いて操作装置１０を移動させる操作が行われると、この操作に応じた検出信号を出力する操作検出手段である。
【００１４】
ホイール部１２は、例えばプラスティックで形成された内部が中空の円筒状の部材であり、後述する軸１３１が挿入される空洞を有している。このホイール部１２は、操作者により触れられた状態で操作される操作部材である。また、ホイール部１２は、上述したように支持部材１１２によって回転可能に支持されている。これにより、操作者は、ホイール部１２を図４中の矢印Ｆ方向に回転させる操作（以下、「回転操作」という）を行うことができる。操作者によって回転操作が行われると、ホイール部１２は、回転軸を中心として図中の矢印Ｆ方向に回転する。ホイール部１２の側面には、角度センサ１６が設けられている。この角度センサ１６は、例えばエンコーダであり、基準線ｋから見たホイール部１２の回転角度を計測し、その回転角度に応じた２相のパルス列をセンサ信号として出力する。つまり、角度センサ１６は、ホイール部１２を回転する操作が行われると、その操作に応じた検出信号を出力する操作検出手段である。
【００１５】
可動部１３は、軸１３１と、分銅１３２ａ，１３２ｂと、鉄心１３３とを備えている。図２に示すように、軸１３１は、ホイール部１２の内部を貫通するように設けられており、ホイール部１２の軸受け１２２によって図中の矢印Ａ方向又はＢ方向へ移動可能に支持されている。可動部１３は、軸１３１がホイール部１２の空洞内を移動することによって、ホイール部１２に対して相対的に移動する。軸１３１の両端には、分銅１３２ａ，１３２ｂが設けられている。この分銅１３２ａ，１３２ｂは、質量体として用いられる金属製の重りである。また、分銅１３２ａには、中央位置センサ１７が設けられている。この中央位置センサ１７は、例えばフォトインタラプタであり、図中の矢印ＡＢ方向における可動部１３の中心位置を検出する。分銅１３２ｂには、位置センサ１８が設けられている。この位置センサ１８は、例えば光センサであり、図中の矢印ＡＢ方向における可動部１３の位置を計測する。ここで、中央位置センサ１７及び位置センサ１８は、ホイール部１２の回転操作に連れて可動部１３が回転してしまうと、正確な位置を計測できなくなってしまう。そこで、分銅１３２ａには、可動部１３の連れ回りを抑止するための回転抑止部材１３４が設けられている。図に示すように、回転抑止部材１３４は、一方の端が分銅１３２ａに固定されており、他方の端が支持部材１１２に形成された孔２１０に通されている。これにより、ホイール部１２が回転されても、回転抑止部材１３４によって可動部１３の回転が妨げられるため、可動部１３が連れ回らないようになる。
【００１６】
ホイール部１２の内部に位置する軸１３１の中心部には、鉄心１３３が設けられている。また、ホイール部１２の内部には、コイル１２１ａ，１２１ｂが設けられている。ここで、図２を参照して、可動部１３の駆動原理について説明する。ホイール部１２のコイル１２１ａに電流が供給されると、コイル１２１ａと鉄心１３３との間に相互に吸引力が働き、鉄心１３３がコイル１２１ａに引き付けられる。これにより、可動部１３が図中の矢印Ａ方向へと移動する。一方、コイル１２１ｂに電流が供給されると、コイル１２１ｂと鉄心１３３との間に相互に吸引力が働き、鉄心１３３がコイル１２１ｂに引き付けられる。これにより、可動部１３が図中の矢印Ｂ方向へと移動する。つまり、コイル１２１ａ，１２１ｂは、ホイール部１２と可動部１３との間に相互に働く力を、ホイール部１２及び可動部１３に対して非接触で付与して、可動部１３を移動させる力付与手段である。
【００１７】
この可動部１３の駆動制御は、後述する変位データに基づいて行われる。図６は、変位データと可動部１３の位置との関係を示す図である。ここでは、変位データが−７５０〜７５０までの値に設定されている場合を想定する。例えば、変位データの値が−７５０である場合には、可動部１３の鉄心１３３が図中の矢印Ａ方向の端位置へと移動される。一方、変位データの値が７５０である場合には、可動部１３の鉄心１３３が図中の矢印Ｂ方向の端位置へと移動される。また、図に示すように、これらの端位置の間における可動部１３の鉄心１３３の位置と変位データの値とは、線形の関係になっている。
【００１８】
（コントロール装置の構成）
次に、コントロール装置２０の構成について説明する。図７は、コントロール装置２０の構成を示すブロック図である。同図に示すように、コントロール装置２０は、制御部２１と、電源部２２と、入出力部２３と、通信部２４とを備えている。制御部２１は、コントロール装置２０の各部を制御するとともに、操作装置１０の可動部１３の駆動を制御する。電源部２２は、コントロール装置２０の各部及び操作装置１０に電力を供給する。入出力部２３は、操作装置１０と制御部２１との間の信号のやり取りを制御する。例えば、入出力部２３は、操作装置１０の押し量センサ１４，距離センサ１５，角度センサ１６から出力されたセンサ信号を受け取り、制御部２１に供給する。また、入出力部２３は、制御部２１から供給された制御信号を操作装置１０へ出力する。通信部２４は、例えばシリアル通信により、コンピュータ装置３０とデータの送受信を行う。
【００１９】
（コンピュータ装置の構成）
次に、コンピュータ装置３０の構成について説明する。図８は、コンピュータ装置３０の構成を示すブロック図である。同図に示すように、コンピュータ装置３０は、ＣＰＵ（Central Processing Unit）３１と、ＲＯＭ（Read Only Memory）３２と、ＲＡＭ（Random Access Memory）３３と、記憶部３４と、通信部３５と、操作部３６と、表示部３７と、音源部３８と、放音部３９とを備えている。ＣＰＵ３１は、ＲＯＭ３２又は記憶部３４に記憶されているプログラムを実行して各種の処理を行う。ＲＯＭ３２は、コンピュータ装置３０の起動に必要なプログラムやデータを記憶している。ＲＡＭ３３は、ＣＰＵ３１がプログラムを実行する際のワークエリアとして使用される。記憶部３４は、例えばハードディスクであり、ＣＰＵ３１によって実行されるプログラムや各種データを記憶している。この記憶部３４には、フォースフィードバック生成ソフトウェア３４ａと楽音生成ソフトウェア３４ｂとが記憶されている。通信部３５は、例えばシリアル通信により、コントロール装置２０とデータの送受信を行う。操作部３６は、例えばキーボードとマウスであり、操作者の操作を受け付けて、その操作に応じた操作信号をＣＰＵ３１に入力する。表示部３７は、例えば液晶ディスプレイであり、ＣＰＵ３１の制御に応じた画像を表示する。音源部３８は、指定された楽音を表す楽音信号を生成して出力する。放音部３９は、例えばパワードスピーカと呼ばれるアンプ内蔵型のスピーカであり、楽音信号に応じた音を放音する。
【００２０】
次に、楽音制御装置１の機能構成について説明する。図９は、楽音制御装置１の機能構成を示す図である。同図に示すように、コントロール装置２０の制御部２１は、データ変換部２０１と、サーボ制御部２０２として機能する。データ変換部２０１は、操作装置１０の角度センサ１６，押し量センサ１４，距離センサ１５から出力されたセンサ信号をセンサデータに変換する。サーボ制御部２０２は、コンピュータ装置３０から送信される変位データに基づいて、操作装置１０の可動部１３の駆動をサーボ制御する。また、コンピュータ装置３０のＣＰＵ３１は、フォースフィードバック生成部３０１と、楽音生成部３０２として機能する。フォースフィードバック生成部３０１は、ＣＰＵ３１が記憶部３４に記憶されているフォースフィードバック生成ソフトウェア３４ａを実行することにより実現される。このフォースフィードバック生成部３０１は、コントロール装置２０から送信されるセンサデータと予め決められた物理モデルＭとに基づいて、操作装置１０の可動部１３のホイール部１２に対する相対的な位置の目標となる目標変位を生成する。つまり、フォースフィードバック生成部３０１は、操作装置１０から出力されたセンサ信号と物理モデルＭとに基づいて目標変位を生成する目標変位生成手段である。楽音生成部３０２は、ＣＰＵ３１が記憶部３４に記憶されている楽音生成ソフトウェア３４ｂを実行することにより実現される。この楽音生成部３０２は、フォースフィードバック生成部３０１によって生成された目標変位に基づいて楽音信号を生成し、生成した楽音信号を出力する楽音生成手段である。
【００２１】
ここで、フォースフィードバック生成部３０１にて用いられる物理モデルＭについて説明する。この物理モデルＭは、例えば振動数、振幅、減衰力などの条件によって変化する物理的な運動を規定するものである。図１０は、物理モデルＭの一例である粘性減衰系のバネモデルを示す図である。このバネモデルでは、仮想可動部ｍが静止している状態から乱されると、仮想バネｇの弾性力によって仮想可動部ｍが図中の左右方向に振動を開始する。そして、摩擦などの減衰力によって仮想可動部ｍの振動が徐々に小さくなっていき、やがて仮想可動部ｍが静止するようになっている。
【００２２】
［動作］
次に、上述した図９を参照して、楽音制御装置１の動作について説明する。ここでは、操作者が操作装置１０のホイール部１２をつかんで、ホイール部１２の回転させながら、ホイール部１２を押し下げる操作を行った場合を想定する。この場合、角度センサ１６は、ホイール部１２の回転角度を計測し、計測した回転角度に応じた２相のパルス列をセンサ信号Ｓａとして出力する。また、押し量センサ１４は、ホイール部１２の押し下げ量を計測し、計測した押し下げ量に応じたセンサ信号Ｓｂを出力する。なお、この例では、操作者によって操作装置１０の移動操作が行われていないため、距離センサ１５からはセンサ信号が出力されない。
【００２３】
角度センサ１６からセンサ信号Ｓａが出力され、押し量センサ１４からセンサ信号Ｓｂが出力されると、コントロール装置２０のデータ変換部２０１は、このセンサ信号Ｓａ，Ｓｂを入出力部２３から受け取る。続いて、データ変換部２０１は、センサ信号Ｓａのパルス数をカウントしてホイール部１２の回転角度を特定し、特定した回転角度を表すセンサデータＤａを生成する。また、データ変換部２０１は、センサ信号Ｓｂに基づいてホイール部１２の押し下げ量を特定し、特定した押し下げ量を表すセンサデータＤｂを生成する。続いて、データ変換部２０１は、生成したセンサデータＤａ，Ｄｂを通信部２４によってコンピュータ装置３０に送信する。コントロール装置２０からセンサデータＤａ，Ｄｂが送信されてくると、コンピュータ装置３０のＣＰＵ３１は、このセンサデータＤａ，Ｄｂを通信部３５によって受信する。センサデータＤａ，Ｄｂを受信すると、フォースフィードバック生成部３０１及び楽音生成部３０２は、以下の処理を行う。
【００２４】
まず、フォースフィードバック生成部３０１が行う処理について説明する。図１１は、フォースフィードバック生成部３０１の処理を示す図である。フォースフィードバック生成部３０１は、受信したセンサデータＤａ，Ｄｂに基づいて、物理モデルＭのパラメータを変更する（ステップＳ１１）。つまり、フォースフィードバック生成部３０１は、操作装置１０から出力されたセンサ信号に応じて物理モデルＭの条件となるパラメータを変更する。図１２は、センサデータＤａに基づくパラメータの変更の一例を示す図である。図の例では、センサデータＤａに基づいて図１０に示したバネモデルの振動数が変更される。具体的には、フォースフィードバック生成部３０１は、図に示すように、センサデータＤａの表すホイール部１２の回転角度が大きくなるほど、バネモデルの振動数を大きくする。また、図１３は、センサデータＤｂに基づくパラメータの変更の一例を示す図である。図の例では、センサデータＤｂに基づいて図１０に示したバネモデルの振幅と減衰力とが変更される。具体的には、フォースフィードバック生成部３０１は、図１３（ａ）に示すように、センサデータＤｂの表すホイール部１２の押し下げ量が大きくなるほど、バネモデルの振幅を大きくする。さらに、フォースフィードバック生成部３０１は、図１３（ｂ）に示すように、センサデータＤｂの表すホイール部１２の押し下げ量が大きくなるほど、バネモデルの減衰力を小さくする。なお、フォースフィードバック生成部３０１は、ホイール部１２の押し下げ量が最大である場合には、減衰力を０にする。
【００２５】
続いて、フォースフィードバック生成部３０１は、パラメータが変更された物理モデルＭを用いて仮想可動部ｍの振動を表す振動波形Ｘを生成する（図１１のステップＳ１２）。このとき生成される振動波形Ｘは、物理モデルＭのパラメータによって異なる波形になる。例えば、上述したようにバネモデルの振動数が大きくなると、図１４（ａ）に示すように、生成される振動波形Ｘの周波数が大きくなる。また、上述したようにバネモデルの振幅が大きくなると、図１４（ｂ）に示すように、生成される振動波形Ｘの振幅が大きくなる。また、上述したようにバネモデルの減衰力が小さくなると、図１４（ｃ）に示すように、生成される振動波形Ｘが０に収束するまでの時間が長くなる。なお、バネモデルの減衰力が０の場合には、振動波形Ｘは収束しない。
【００２６】
続いて、フォースフィードバック生成部３０１は、生成した振動波形Ｘを−７５０〜７５０までの値に数値化して、可動部１３の目標変位を表す変位データＤｘを生成する（図１１のステップＳ１３）。そして、フォースフィードバック生成部３０１は、生成した変位データＤｘを通信部３５によってコントロール装置２０に送信する。
【００２７】
次に、楽音生成部３０２が行う処理について説明する。図１５は、楽音生成部３０２の処理を示す図である。まず、楽音生成部３０２は、フォースフィードバック生成部３０１にて生成された振動波形Ｘを取得し、取得した振動波形ＸのエンベロープＥｖを生成する（ステップＳ２１）。この振動波形Ｘは、フォースフィードバック生成部３０１によって時系列に生成された複数の目標変位を連ねたものである。つまり、楽音生成部３０２は、フォースフィードバック生成部３０１によって時系列に生成された複数の目標変位を連ねた波形のエンベロープを生成する。続いて、楽音生成部３０２は、音源部３８から出力された楽音信号Ｓｏに生成したエンベロープＥｖを付加して、楽音信号Ｓｎを生成する（ステップＳ２２）。このエンベロープＥｖの付加とは、楽音信号ＳｏのエンベロープをエンベロープＥｖに対応したものに変更することをいう。そして、楽音生成部３０２は、生成した楽音信号Ｓｎを放音部３９に供給する。
【００２８】
図９に示すように、コンピュータ装置３０から変位データＤｘが送信されてくると、コントロール装置２０のサーボ制御部２０２は、この変位データＤｘを通信部２４によって受信する。続いて、サーボ制御部２０２は、中央位置センサ１７の検出結果を用いて、操作装置１０の可動部１３を中心位置へと移動させる。具体的には、サーボ制御部２０２は、中央位置センサ１７によって検出された中心位置へと可動部１３を移動させる制御信号を生成し、生成した制御信号を入出力部２３から操作装置１０へ出力する。これにより、ホイール部１２のコイル１２１ａ又は１２１ｂに電流が供給されて、可動部１３が図６中の矢印ＡＢ方向における中心位置へと移動する。
【００２９】
続いて、サーボ制御部２０２は、位置センサ１８の検出結果を用いて、変位データＤｘが表す目標変位へと操作装置１０の可動部１３を移動させる。具体的には、サーボ制御部２０２は、変位データＤｘが表す目標変位へと可動部１３を移動させる制御信号Ｓｘを生成し、生成した制御信号Ｓｘを入出力部２３から操作装置１０へ出力する。例えば、変位データＤｘの値が−７５０である場合には、サーボ制御部２０２は、可動部１３の鉄心１３３を図６中の矢印Ａ方向の端位置へと移動させる制御信号Ｓｘを生成し出力する。また、変位データＤｘの値が７５０である場合には、サーボ制御部２０２は、可動部１３の鉄心１３３を図６中の矢印Ｂ方向の端位置へと移動させる制御信号Ｓｘを生成し出力する。これにより、可動部１３は、変位データＤｘが表す目標変位へと移動する。上述したように、この変位データＤｘは、物理モデルＭの仮想可動部ｍの動きに基づいて生成されている。つまり、可動部１３は、物理モデルＭの仮想可動部ｍと同じような動きをすることになる。このようにして、ホイール部１２のコイル１２１ａ又は１２１ｂによって可動部１３が駆動されると、可動部１３の質量と加速度の変化に応じた力がホイール部１２に加わり、ホイール部１２が振動する。このとき、操作者は、ホイール部１２を触っているため、このホイール部１２の振動を体で感じる。
【００３０】
また、このとき、コンピュータ装置３０の放音部３９は、楽音生成部３０２から供給された楽音信号Ｓｎに応じた音を放音する。放音部３９から放音される音と、ホイール部１２の振動とは、いずれも振動波形Ｘに基づいて生成されている。したがって、操作者は、ホイール部１２の操作に応じて生成された音を聴きながら、その音に対応する振動を感じることができる。
【００３１】
以上説明した実施形態によれば、操作装置１０の操作に応じた音を生成するとともに、生成される音に応じた力を操作者に感じさせることができる。また、上述した構成では、可動部１３の軸１３１の両端に分銅１３２ａ，１３２ｂが設けられており、非接触で与えられる力によって左右に移動されるようになっているため、操作者の体に伝わるようなしっかりとした振動を発生させることができる。また、上述した構成では、可動部１３の鉄心１３３が端位置へと移動された場合にも、分銅１３２ａ，１３２ｂがホイール部１２に接触しないようになっているため、可動部１３の動作を正確に制御することができる。さらに、上述した構成では、例えばモータなどの駆動部を可動部１３に直接接続して可動部１３を移動させる構成と比べて、可動部１３を移動させるために必要な力が少なくて済むため、それに伴う発熱も軽減される。
【００３２】
［変形例］
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の各変形例を適宜組み合わせてもよい。
（変形例１）
上述した実施形態において、フォースフィードバック生成部３０１にて用いられる物理モデルＭは、図１０に示した粘性減衰系のバネモデルに限らない。要するに、物理モデルＭは、操作装置１０から出力されるセンサ信号に応じた条件の下で仮想的に行われる物理的な運動を規定するものであればよい。図１６（ａ）は、磁力を利用した物理モデルを示す図である。同図に示すように、この物理モデルにおいては、負極性の磁性体ｎ１，ｎ２の間に正極性の仮想可動部ｍａが配置されており、仮想可動部ｍａの磁力を変化させることで、仮想可動部ｍａが振動するようになっている。この場合、上述したステップＳ１１では、例えば仮想可動部ｍａの磁力の大きさなどが変更される。また、図１６（ｂ）は、ゴムボールモデルを示す図である。同図に示すように、このゴムボールモデルにおいては、壁面ｗ１と壁面ｗ２との間に弾性を有する仮想可動部ｍｂが配置されており、仮想可動部ｍｂが静止している状態から乱されると、自身の弾性力によって壁面ｗ１と壁面ｗ２との間を行き来するようになっている。この場合、上述したステップＳ１１では、例えば上述したセンサデータＤａに基づいて仮想可動部ｍｂの弾性力が変更され、上述したセンサデータＤｂに基づいてゴムボールモデルの減衰力が変更される。
【００３３】
（変形例２）
上述した実施形態では、フォースフィードバック生成部３０１にて用いられる物理モデルＭは１つだけであったが、複数の物理モデルＭが用いられてもよい。この場合、フォースフィードバック生成部３０１は、センサデータ毎に異なる物理モデルＭを選択し、選択した物理モデルＭのパラメータを対応するセンサデータに基づいて変更する。続いて、フォースフィードバック生成部３０１は、それらの物理モデルＭに基づいて複数の振動波形を生成し、生成した複数の振動波形を合成してから変位データを生成する。
【００３４】
（変形例３）
上述した実施形態では、単一のセンサデータによって物理モデルＭのパラメータを変更していたが、複数のセンサデータの組み合わせによって物理モデルＭのパラメータを変更してもよい。例えば、ホイール部１２の回転操作を表すセンサデータＤａと、ホイール部１２の押し下げ操作を表すセンサデータＤｂとの組み合わせによって、物理モデルＭの或るパラメータを変更してもよい。
【００３５】
（変形例４）
上述した実施形態では、物理モデルＭを用いて目標変位を生成する例を挙げて説明したが、物理モデルＭを用いずに目標変位を生成してもよい。この場合、コンピュータ装置３０の記憶部３４には、センサデータ毎に、そのセンサデータが採り得る値と、その値に応じた目標変位とが対応付けられたテーブルが記憶される。なお、センサデータのどの値にどのような目標変位を対応付けるかは任意である。例えば、センサデータの各値と、その値のセンサデータに基づいて上述のようにパラメータが変更されたときに物理モデルＭによって生成される目標変位とを対応付けて記憶させておいてもよい。そして、フォースフィードバック生成部３０１は、受信したセンサデータの値に対応付けて記憶された目標変位を特定し、特定した目標変位に応じた変位データをコントロール装置２０に送信する。
【００３６】
（変形例５）
上述した実施形態では、物理モデルＭのパラメータがセンサデータに基づいて変更されていたが、物理モデルＭのパラメータの変更に用いられるものはこれに限らない。例えば、コンピュータ装置３０の操作部３６の操作によって物理モデルＭのパラメータが変更されてもよい。あるいは、フォースフィードバック生成ソフトウェア３４ａによって物理モデルＭのパラメータが変更されてもよい。
【００３７】
（変形例６）
上述した実施形態において、楽音生成部３０２は、受信したセンサデータ又は取得した振動波形に基づいて音源パラメータを生成し、生成した音源パラメータに基づいて音源部３８を操作してもよい。この音源パラメータには、例えばセンサデータの値そのものや、振動波形の速度，加速度などが用いられる。楽音生成部３０２は、生成した音源パラメータに基づいて、例えば音源部３８の変調深さや周波数などを変更する。
また、楽音生成部３０２は、楽音信号Ｓｎを生成した後に、受信したセンサデータに基づいてこの楽音信号Ｓｎを加工してもよい。
【００３８】
（変形例７）
上述した実施形態では、ホイール部１２のコイル１２１ａ，１２１ｂと可動部１３の鉄心１３３とによって可動部１３を駆動する構成を例に挙げて説明したが、可動部１３を駆動する構成はこれに限らない。例えば、空気圧を利用して可動部１３を駆動させてもよい。要するに、操作装置１０は、ホイール部１２と可動部１３との間に相互に働く力を、ホイール部１２及び可動部１３に対して非接触で付与する力付与手段を備えていればよい。
【００３９】
（変形例８）
上述した実施形態では、センサデータＤａ，Ｄｂに基づいて図１２及び図１３に示すように物理モデルＭのパラメータを変更する例を挙げて説明したが、どのセンサデータによって物理モデルＭのどのパラメータを変更するか、また、センサデータの値によって物理モデルＭのパラメータをどのように変更するかは任意に設定すればよい。
【００４０】
（変形例９）
上述した実施形態において、コントロール装置２０のデータ変換部２０１，サーボ制御部２０２は、ＣＰＵが１又は複数のプログラムを実行することにより実現されてもよいし、１又は複数のハードウェアによって実現されてもよい。また、コンピュータ装置３０のフォースフィードバック生成部３０１，楽音生成部３０２は、ＣＰＵ３１と他のハードウェアとの協働によって実現されてもよいし、ＣＰＵ３１に代えて１又は複数のハードウェアによって実現されてもよい。また、ＣＰＵ３１によって行われる処理は、単一のプログラムによって実現されてもよいし、複数のプログラムによって実現されてもよい。また、ＣＰＵ３１によって実行される各プログラムは、磁気テープや磁気ディスクなどの磁気記録媒体、光ディスクなどの光記録媒体、光磁気記録媒体、半導体メモリなどの、コンピュータ装置が読み取り可能な記録媒体に記憶された状態で提供し得る。また、このプログラムを、インターネットのようなネットワーク経由でダウンロードさせることも可能である。
【符号の説明】
【００４１】
１…楽音制御装置、１０…操作装置、１１…台車部、１２…ホイール部、１２１ａ，１２１ｂ…コイル、１３…可動部、１３１…軸、１３２ａ，１３２ｂ…分銅、１３３…鉄心、１４…押し量センサ、１５…距離センサ、１６…角度センサ、１７…中央位置センサ、１８…位置センサ、２０…コントロール装置、３０…コンピュータ装置。
【図１】
2010224046.tif 000003
【図２】
2010224046.tif 000004
【図３】
2010224046.tif 000005
【図４】
2010224046.tif 000006
【図５】
2010224046.tif 000007
【図６】
2010224046.tif 000008
【図７】
2010224046.tif 000009
【図８】
2010224046.tif 000010
【図９】
2010224046.tif 000011
【図１０】
2010224046.tif 000012
【図１１】
2010224046.tif 000013
【図１２】
2010224046.tif 000014
【図１３】
2010224046.tif 000015
【図１４】
2010224046.tif 000016
【図１５】
2010224046.tif 000017
【図１６】
2010224046.tif 000018