サウンドデータの少なくとも部分をコンピュータのメモリバッファに格納するステップであって、前記サウンドデータは、プロセッサによって分析され、分析されたサウンドデータから触覚効果が出力される、ステップと、前記サウンドデータの少なくとも部分を複数の周波数範囲に分割するステップであって、前記周波数範囲の少なくとも一つは、周期的触覚効果と関連付けられている、ステップと、周波数範囲ごとに前記プロセッサによって分析をして、前記周波数範囲の少なくとも一つに対応する1以上のサウンド特徴を決定するステップと、前記決定された1以上のサウンド特徴に基づいて、少なくとも一つの触覚効果の実行をトリガするステップと、を含む、方法。前記サウンドデータの部分は、前記サウンドデータの部分に複数のフィルタを適用することによって、複数の周波数範囲に分割される、請求項1記載の方法。前記複数のフィルタは、少なくとも低域通過フィルタと高域通過フィルタとを含む。請求項2記載の方法。前記分析するステップは、前記サウンドデータの部分を、高速フーリエ変換FFTを使用して、複数の周波数範囲に関連付けられた、複数の周波数成分に分離するステップを含む、請求項2記載の方法。前記高速フーリエ変換から多数の複数の出力が集団化されて、前記複数の周波数範囲から周波数範囲ごとに関連付けられたサウンド特徴が提供される、請求項4記載の方法。前記少なくとも一つの触覚効果は、少なくとも一つのサウンド特徴に事前にマッピングされている、請求項1記載の方法。周波数範囲ごとに、サウンドの大きさの平均を算出するステップをさらに含み、前記決定された1以上のサウンド特徴は、前記平均からしきい値を上回るサウンドの大きさを有する、請求項2記載の方法。プロセッサによって読み出すことが可能なコードを有するコンピュータプログラムで符号化されたコンピュータ可読媒体であって、前記コードは、サウンドデータの少なくとも部分をコンピュータのメモリバッファに格納するコードであって、前記サウンドデータは、プロセッサによって分析され、分析されたサウンドデータから触覚効果が出力される、コードと、前記サウンドデータの少なくとも部分を複数の周波数範囲に分割するコードであって、前記周波数範囲の少なくとも一つは、周期的触覚効果と関連付けられている、コードと、前記プロセッサに周波数範囲ごとに分析をさせ、前記周波数範囲の少なくとも一つに対応する1以上のサウンド特徴を決定するコードと、前記決定された1以上のサウンド特徴に基づいて、少なくとも一つの触覚効果の実行をトリガするコードと、を含む、コンピュータ可読媒体。少なくとも一つの触覚効果は、少なくとも一つの周波数成分に関連付けられる、請求項8記載のコンピュータ可読媒体。前記サウンドデータの部分は、前記サウンドデータの部分に複数のフィルタを適用することによって、複数の周波数範囲に分割される、請求項8記載のコンピュータ可読媒体。前記分析するコードは、前記サウンドデータの部分を、高速フーリエ変換FFTを使用して、複数の周波数範囲に関連付けられた、複数の周波数成分に分離するコードを含む、請求項10記載のコンピュータ可読媒体。前記少なくとも一つの触覚効果は、前記少なくとも一つのサウンド特徴に事前にマッピングされている、請求項8記載のコンピュータ可読媒体。前記コードは、周波数範囲ごとに、サウンドの大きさの平均を算出するコードをさらに含み、前記決定された1以上のサウンド特徴は、前記平均からしきい値を上回るサウンドの大きさを有する、請求項8記載のコンピュータ可読媒体。サウンドデータの少なくとも部分をコンピュータのメモリバッファに格納する手段であって、前記サウンドデータは、プロセッサによって分析され、分析されたサウンドデータから触覚効果が出力される、手段と、サウンドデータの少なくとも部分を複数の周波数範囲に分割する手段であって、周波数範囲の少なくとも一つは、周期的触覚効果と関連付けられている、手段と、前記プロセッサによって周波数範囲ごとに分析を行い、前記周波数範囲の少なくとも一つに対応する1以上のサウンド特徴を決定する手段と、前記決定された1以上のサウンド特徴に基づいて、少なくとも一つの触覚効果の実行をトリガする手段と、を含む、装置。周波数範囲ごとに、サウンドの大きさの平均を算出する手段をさらに含み、前記決定された1以上のサウンド特徴は、前記平均からしきい値を上回るサウンドの大きさを有する、請求項14記載の方法。直接サウンド波形に基づく既存の触覚感覚の弱点は、触覚感覚がサウンド信号に直接基づく単純な効果であることである。信号を触覚装置に送る前に、サウンド信号の評価または処理は行なわれない。サウンド出力の全てが触覚感覚への直接変換に適しているわけではないので、これは、望ましくないかまたは当惑するような触覚感覚をユーザに出力する結果をまねくおそれがある。本発明は、コンピュータ装置からのサウンド出力に基づいて触覚感覚の出力をトリガすることを目的とする。触覚感覚の出力は、サウンドデータの特徴を分析することによってインテリジェントにトリガされ、改善されたユーザ経験を可能にする。さらに詳しくは、本発明のインタフェース装置は、コンピュータからのサウンド出力で検出されたサウンド特徴から触覚感覚をトリガするための方法を提供し、触覚感覚はコンピュータと通信する触覚フィードバック装置のユーザに出力することができる。サウンドデータの一部分は格納され、それはコンピュータで実行されるアプリケーションプログラムからオーディオとしてユーザに出力される。サウンドデータは、コンピュータのメモリバッファに格納される。サウンドデータの該部分から少なくとも一つのサウンド特徴を抽出するために、サウンドの該部分はインテリジェントヒューリスティックスを使用して分析される。少なくとも一つの触覚効果の実行はサウンド特徴に基づいてトリガされ、触覚効果は、サウンドの一部分のオーディオとしてのユーザへの出力にほぼ相関される触覚フィードバック装置に命令される。触覚効果はユーザに対し触覚感覚を出力させる。トリガされた触覚感覚は、サウンドデータで見つかったサウンド特徴に割り当てることが好ましい。一部の実施形態では、サウンドデータの一部分の分析は、サウンドデータを複数の異なる周波数範囲に処理し、各々の周波数範囲でサウンド特徴を探索することを含むことができる。各々の周波数範囲に対し、サウンド特徴がその周波数範囲に存在する場合、触覚効果をトリガすることができる。サウンドデータにフィルタを適用することができ、あるいは高速フーリエ変換を使用することができる。各周波数範囲は異なる触覚感覚を関連付けるかマッピングすることができる。例えば、各々の周波数範囲に異なる周波数を有する周期的触覚感覚を関連付けることができる。他の型の触覚感覚をサウンド特徴にマッピングするか関連付けて、これらのサウンド特徴の出力によりそれらがトリガされるようにすることもできる。本発明は、サウンド出力を有するアプリケーションプログラムを実行するコンピュータシステムによって触覚フィードバックを出力させることができることが有利である。本発明はサウンドデータ内の特徴に触覚感覚をインテリジェントに割り当て、サウンド出力を引き起こしたアプリケーションプログラム内の事象に関連する触覚フィードバックを提供する。これは結果的に、サウンド出力に基づく触覚フィードバックのユーザ経験に全体的な改善をもたらす。本発明のこれらおよび他の利点は、本発明の以下の明細書を読み、かつ図面の幾つかの図を検討することにより、当業者には明らかになるであろう。図1は、ホストコンピュータ14と通信する触覚フィードバックインタフェース装置12を含む、本発明に使用するのに適したコンピュータシステム10を示すブロック図である。ホストコンピュータ14は、ホストマイクロプロセッサ20、クロック22、表示スクリーン26、およびオーディオ出力装置24を含むことが好ましい。ホストコンピュータはまた、ランダムアクセスメモリRAM、読出し専用メモリROM、および入力/出力I/O電子部品図示せずのような他の周知の構成部品をも含む。ホストコンピュータ14は、多種多様な形態を取ることができるコンピューティング装置である。例えば、記載する実施形態では、コンピュータ14は、PC互換性コンピュータまたはマッキントッシュパーソナルコンピュータ、もしくはサンまたはシリコングラフィックスワークステーションのようなパーソナルコンピュータまたはワークステーションである。そのようなコンピュータ14は、Windows登録商標、MacOS登録商標、Unix登録商標、MS-DOS、または他のオペレーティングシステムの下で動作することができる。代替的に、ホストコンピュータ14は、任天堂、セガ、ソニー、またはマイクロソフトから入手可能なシステムのような、テレビジョンセットまたは他の表示装置に一般的に接続される種々のホームビデオゲームコンソールシステムの一つとすることができる。他の実施形態では、ホストコンピュータシステム14はセットトップボックス、ネットワーク、またはインターネットコンピュータ、携帯コンピュータまたはゲーム装置、家庭用電子機器ステレオコンポーネント等、パーソナルデジタルアシスタントPDA等とすることができる。ホストコンピュータ14は、ユーザが装置12および適切な場合には他の周辺装置を介して対話する、ホストアプリケーションプログラムを実装することが好ましい。本発明の文脈では、ホストアプリケーションプログラムとは、以下でさらに詳述する通り、デジタルオーディオ編集プログラムである。装置12の入力を利用し、かつ装置12に触覚フィードバックコマンドを出力する、他のアプリケーションプログラムを使用することもできる。ホストアプリケーションプログラムは、グラフィカルユーザインタフェースGUIを利用してユーザにオプションを提示し、かつユーザから入力を受け取ることが好ましい。このアプリケーションプログラムは、以下で述べる触覚フィードバック機能性を含むことができ、あるいは触覚フィードバック制御は、ドライバまたは他のアプリケーションプログラムなど、ホストコンピュータで実行される別のプログラムに実装することができる。ここで、コンピュータ14はグラフィカル環境を提示すると言うことができ、それはグラフィカルユーザインタフェース、ゲーム、シミュレーション、または他の視覚的環境とすることができる。コンピュータはグラフィカルオブジェクトまたはコンピュータオブジェクトを表示する。それらは物理的オブジェクトではなく、当業者には周知の通り、コンピュータ14によって表示スクリーン26上に画像として表示することのできるデータおよび/またはプロシージャの論理ソフトウェア単位集合である。ソフトウェアを触覚フィードバック装置とインタフェースする適切なソフトウェアドライバは、カリフォルニア州サンノゼのイマージョンコーポレーションから入手可能である。表示装置26はホストコンピュータシステム14に含めることができ、標準表示スクリーンLCD、CRT、フラットパネル等、3Dゴグル、映写装置、または他の映像出力装置とすることができる。表示装置26は、オペレーティングシステムアプリケーション、シミュレーション、ゲーム等によって命令された画像を表示する。スピーカなどのオーディオ出力装置24は、ユーザにサウンド出力を提供する。本発明の文脈では、ステレオ受信機、増幅器等のような、他のオーディオ関連装置をホストコンピュータに接続することもできる。記憶装置ハードディクスドライブ、CDROMドライブ、フロッピー登録商標ディスクドライブ等、プリンタ、および他の入出力装置のような、他の型の周辺装置もホストプロセッサ20に接続することができる。マウス、ノブ、ゲームパッド、トラックボール、ジョイスティック、リモートコントロールユニット、PDAスクリーンなどの触覚フィードバックインタフェース装置12は、双方向バス30によってホストコンピュータシステム14に接続される。双方向バスはホストコンピュータシステム14とインタフェース装置との間でどちらの方向にも信号を送信する。バス30は、RS232シリアルインタフェース、RS-422、ユニバーサルシリアルバスUSB、MIDI、または当業者には周知の他のプロトコルなどのシリアルインタフェースバスとすることができ、あるいはパラレルバス、またはワイヤレスリンクとすることができる。一部のインタフェースは装置12のアクチュエータに電力を提供することもできる。装置12はローカルプロセッサ40を含むことができる。ローカルプロセッサ40は任意選択的に、マウスの他の構成部品との効率的な通信を可能にするために、装置12のハウジング内に含めることができる。プロセッサ40は、コンピュータホスト14からのコマンドまたは要求を待ち、コマンドまたは要求を復号し、コマンドまたは要求に従って入力および出力信号を処理/制御するためのソフトウェア命令を備えることができる。加えて、プロセッサ40は、センサ信号を読み取り、これらのセンサ信号、時間信号、およびホストコマンドに従って選択された格納またはリレーされた命令から適切な力またはコマンドを計算することによって、ホストコンピュータ14とは独立して動作することができる。ローカルプロセッサ40として使用するための適切なマイクロプロセッサとして、例えばモトローラによるMC68HC711E9、マイクロチップによるPIC16C74、およびインテル社による82930AXのみならず、イマージョンタッチセンスプロセッサのようなより高機能の力フィードバックプロセッサがある。プロセッサ40は、一個のマイクロプロセッサチップ、複数個のプロセッサおよび/またはコプロセッサチップ、および/またはデジタル信号プロセッサDSP機能を含むことができる。マイクロプロセッサ40は、ホストコンピュータ14によって提供される命令に従って、センサ42から信号を受け取り、アクチュエータアセンブリ44に信号を提供することができる。例えば、ローカル制御の実施形態では、ホストコンピュータ14はバス30を通して高レベル監視コマンドをプロセッサ40に提供し、プロセッサ40はホストコンピュータ14の高レベルコマンドコマンドに従ってホストコンピュータとは独立してコマンドを復号し、センサおよびアクチュエータへの低レベルの力制御ループを管理する。この動作は米国特許第5739811号および第5734373号に詳細に記載されており、両方を参照によってここに組み込む。ホスト制御ループでは、ホストコンピュータからの力コマンドが、指定された特性を有する力または力感覚を出力するようにプロセッサに指示する。ローカルプロセッサ40は位置および他のセンサデータをホストコンピュータに報告し、ホストコンピュータはそれを使用して実行プログラムを更新する。ローカル制御ループでは、アクチュエータ信号がプロセッサ40からアクチュエータ44に提供され、センサ信号がセンサ42および他の入力装置48からプロセッサ40に提供される。プロセッサ40は入力センサ信号を処理して、格納された命令に従うことによって適切な出力アクチュエータ信号を決定することができる。ここで、用語触覚感覚または触感とは、ユーザに感覚を与えるアクチュエータによって出力される単一の力または一連の力のいずれかを指す。用語触覚効果とは一般的に、装置に送られた、触覚効果を定義するコマンド、パラメータおよび/またはデータを指し、それは、効果が装置によって力としてユーザに出力されたときに、触覚感覚をもたらす。さらに別の実施形態では、プロセッサ40としての機能性を提供するために、他のより簡単なハードウェアを装置12に局所的に提供することができる。例えば、ハードウェア状態機械または固定論理を組み込んだASICを使用して、アクチュエータ44に信号を提供し、センサ42からセンサ信号を受け取り、予め定められたシーケンス、アルゴリズム、またはプロセスに従って触感信号を出力することができる。異なるホスト制御実施形態では、ホストコンピュータ14はバス30を通して低レベル力コマンドを提供することができ、それはプロセッサ40を介してアクチュエータ44に直接伝送される。ホストコンピュータ14はこうして、装置12への、または装置12からの全ての信号を直接制御し、かつ処理する。単純なホスト制御の実施形態では、ホストから装置への信号は、アクチュエータに予め定められた周波数および大きさの力を出力するように命令することができ、あるいは大きさおよび/または方向を含むか、もしくは長時間にわたって加えるべき所望の力値を示す単純なコマンドとすることができる。プロセッサ40のための命令を格納し、かつ一時的データおよび他のデータを格納するために、RAMおよび/またはROMなどのローカルメモリ52を装置12内のプロセッサ40に接続することが好ましい。例えば、プロセッサによって出力することのできる一連の格納された力値、またはユーザオブジェクトの現在の位置に基づいて出力される力値のルックアップテーブルのような力プロファイルをメモリ52に格納することができる。加えて、ホストコンピュータ14のシステムクロックと同様のタイミングデータを提供するために、ローカルクロック54をプロセッサ40に接続することができる。タイミングデータは、例えばアクチュエータ44によって出力される力例えば、算出された速度または他の時間依存因子に依存する力を算出するために必要となる。USB通信インタフェースを使用する実施形態では、プロセッサ40のためのタイミングデータは代替的にUSB信号から検索することができる。センサ42は装置および/またはマニピュランダムの位置または動きを感知し、位置または動きを表わす情報を含む信号をプロセッサ40またはホスト14に提供する。操作を検出するのに適したセンサとして、デジタル光符号器、光センサシステム、線形光符号器、電位差計、光センサ、速度センサ、加速センサ、歪み計が含まれ、あるいは他の型のセンサも使用することができ、相対センサまたは絶対センサのいずれでも設けることができる。センサ信号をプロセッサ40および/またはホスト14が解釈できる信号に変換するために、任意選択的センサインタフェース46を使用することができる。アクチュエータ44は、プロセッサ40および/またはホストコンピュータ14から受け取った信号に応答して、装置12のハウジングまたは一つまたはそれ以上のマニピュランダム60に力を伝達することによって触覚感覚を出力する。アクチュエータ44は、DCモータ、ボイスコイル、空気圧または油圧アクチュエータ、トルカー、圧電アクチュエータ、可動磁石アクチュエータ等のような能動アクチュエータ、またはブレーキなどの受動アクチュエータをはじめとする、多くの型のアクチュエータのいずれにもすることができる。プロセッサ40からの信号を、アクチュエータ44を駆動するのに適した信号に変換するために、アクチュエータ44とプロセッサ40との間に任意選択的にアクチュエータインタフェース50を接続することができる。インタフェース50は、当業者には周知の通り、電力増幅器、スイッチ、デジタルアナログ制御装置DAC、アナログデジタル制御装置ADC、および他の構成要素を含むことができる。装置12内に他の入力装置48が含まれ、ユーザによって操作されたときに入力信号をプロセッサ40またはホスト14に送る。そのような入力装置はボタン、スクロールホイール、dパッド、ダイヤル、スイッチ、または他の制御装置または機構を含むことができる。アクチュエータに電力を提供するために、アクチュエータインタフェース50および/またはアクチュエータ44に接続された電源56を任意選択的に装置12に含むか、または別個の構成要素として設けることができる。代替的に、電力は装置12から分離された電源から引き込むか、またはバス30を介して受け取ることができる。一部の実施形態は、ピーク力を加えることができることを確実にするために、参照によってここに組み込む米国特許第5929607号に記載するように装置内の電力貯蔵装置を使用することができる。代替的に、この技術をワイヤレス装置に使用することができ、その場合、触感アクチュエータを駆動するためにバッテリ電力が使用される。ユーザが安全上の理由からアクチュエータ44の動作を停止させることを可能にするために、任意選択的に安全スイッチ58を含めることができる。ここに記載する本発明に多くの型のインタフェースまたは制御装置を使用することができる。例えば、そのようなインタフェース装置は触覚フィードバックトラックボール、ジョイスティックハンドル、ステアリングホイール、ノブ、ハンドヘルドリモートコントロール装置、ビデオゲームまたはコンピュータゲーム用のゲームパッドコントローラ、スタイラス、グリップ、ホイール、ボタン、携帯電話、PDA、タッチパッド、または他の操作可能な物体、表面またはハウジングを含めることができる。図2は、本発明に使用するのに適した装置12のマウスの実施形態100の側面断面図である。マウス装置100は、ハウジング101、センシングシステム102、およびアクチュエータ104を含む。ハウジング101は、ユーザが平面自由度内でマウスを移動し、ボタン106を操作する間、標準的マウスのようにユーザの手にフィットするように形作られる。多くの異なる実施形態では、他のハウジング形状を提供することができる。センサ102はその平面自由度内で、たとえばXおよびY軸に沿って、マウスの位置を検出する。記載する実施形態では、センサ102は、コンピュータシステムに方向入力を提供するために、標準的マウスボール110を含む。代替的に、任意選択的センサまたは他の型のセンサを使用することができる。マウス装置100は、マウスのユーザに触感などの触覚フィードバックを与えるために、一つまたはそれ以上のアクチュエータ104を含む。アクチュエータ104は、ユーザに触覚フィードバックを提供するためにハウジング101に接続される。一実施形態では、アクチュエータはアクチュエータによって運動する慣性質量に接続される。慣性質量の運動によって生じる慣性力は、慣性質量に対してマウスのハウジングに加えられ、それによってハウジングに触れているユーザに触感のような触覚フィードバックを伝える。一部の実施形態は、アクチュエータ自体が慣性質量として運動することができる。そのような実施形態は米国特許第6211861号および米国特許出願第09/585741号にさらに詳しく記載されており、参照によって両方を丸ごとここに組み込む。ゲームパッド、ハンドヘルドリモートコントロール、携帯電話、PDA等のような他の型のインタフェース装置は、慣性触感用のアクチュエータを含むことができる。他の型のインタフェース装置およびアクチュエータも本発明で使用することができる。例えば、ゲームパッド、マウス、または他の装置は、装置のハウジングまたはマニピュランダムに慣性触感を提供するために、アクチュエータの回転軸に結合された偏心回転質量を含むことができる。ジョイスティック、ノブ、スクロールホイール、ゲームパッド、ステアリングホイール、トラックボール、マウス等のような他の型の触覚装置は、運動感覚力フィードバックを提供することができ、力はマニピュランダムの感知される自由度で出力される。例えば、運動感覚マウス触覚装置の実施形態は米国特許第6100874号および第6166723号に開示されており、参照によって両方を丸ごとここに組み込む。触覚フィードバック付きサウンド出力本発明は、ホストコンピュータで実行される一つまたはそれ以上のアプリケーションプログラムまたは他のプログラムのサウンド出力と協調する触覚感覚の出力のユーザ経験を改善する。本発明の好適な実施形態は、ホストコンピュータによって出力されるサウンド信号またはデータに基づいて触覚フィードバック装置に出力するための触覚効果を提供し、それは触覚感覚としてユーザに出力される。一部の代替実施形態では、触覚効果は、例えばマイクロホンまたはオーディオ装置からコンピュータシステムに入力されるサウンド信号内の特徴またはデータに基づいて、同様に提供することができる。サウンドの一時的特徴および特性が識別され、予め定められた触覚効果にマッピングされるか関連付けられる。これらの触覚効果に基づく触覚感覚は即座に触覚フィードバック装置12で実行することができ、あるいはメモリに格納して任意のサウンドの触覚プロファイルを形成することができる。本発明の方法は、先行技術で行なわれるように単にサウンド信号を触覚感覚として出力するために触覚装置に直接送るだけではなく、種々の高レベルサウンド特徴に種々の高レベル触覚感覚を関連付け、サウンド特徴を使用して適切な触覚感覚の出力をトリガする。本発明の重要な利点は、ソフトウェアアプリケーション開発者がプログラムに触覚効果をプログラミングするのに手間を掛ける必要なく、そのアプリケーションプログラム、例えばゲームにおける種々の事象に対してサウンドを出力するプログラムに強力な触覚感覚がもたらされることである。したがって、既製のどんなゲームプログラムでも、ゲームが触覚装置を制御するコードを含むか否か、あるいはそれが非触覚フィードバック装置用に開発されただけであるか否かに関係なく、触覚フィードバック装置と容易に連動させることでき、広範囲のプログラムでユーザのより強力な対話的かつ没入的経験を可能にする。さらに、本発明は、サウンド効果の型をおおよそ区別し、異なる事象に異なる触覚感覚を関連付け、ユーザのより豊かな経験を可能にする。一実施形態では、ホストコンピュータで実行される低レベルドライバプログラムが、本発明の方法を実行する。他の実施形態では、ホストまたは触覚フィードバック装置のマイクロプロセッサで実行される他のレベルのソフトウェアが、本発明の特徴またはステップの一部または全部を実行することができるアプリケーションプログラム、API等。本発明を実行するためのプログラム命令はハードウェア例えば論理部品として、または電子メモリ、磁気ディスク、光ディスク、磁気テープ等のようなコンピュータ可読媒体に格納されたソフトウェアとして格納することができる。図3は、所与のサウンドデータまたはサウンド信号に基づく触覚感覚として出力される触覚効果を提供するための本発明の方法の第一実施形態200を示す流れ図である。該方法は202で開始され、任意選択的ステップ204で、触覚効果が装置に命令されるのに、ユーザには出力されない。例えば、触覚装置12は、装置が多数の異なる触覚効果のデータを格納することを可能にするローカルメモリを含むことができる。装置のメモリに常駐する触覚効果は、ホストコマンドを受け取ったとき、または他の条件予め定められた時間が経過した等に基づいて実行することができる。装置に送られたデータは、触覚効果のためのパラメータを含むことができる。例えば周期的振動効果の場合、パラメータは振動数、持続時間、大きさを含むことができる。効果はステップ204で装置にロードすることができ、一部の実施形態では、後のステップでより高い大きさに命令する準備として、例えば零の大きさで実行するように命令することができる。ステップ204は、同一セットの触覚感覚が常時ユーザに出力される実施形態に最も適している。他の実施形態では、触覚効果はそれらがユーザに出力されるときに命令することができる。次のステップ206で、ホストコンピュータで実行されているアプリケーションプログラムまたは他のソフトウェア層またはプログラムから、または代替的に外部オーディオ装置から直接、サウンドデータを受け取る。サウンドデータはデジタルデータであることが好ましく、それは、MIDI、wavファイル、mp3ファイル等のデジタルサウンドサンプルのような、いずれかの標準化フォーマットとすることができる。サウンドデータはステップ206で、それがスピーカのようなオーディオ出力装置にも送られ、ユーザにサウンドとして出力されるときに受け取られる。一般的に、サウンドデータは、ゲームのアクションまたは事象の結果発生するゲームのサウンド効果、ゲーム開始または他の事象が発生した後で演奏されるゲームまたは他のアプリケーションプログラム内の音楽、グラフィカルユーザインタフェースの対話中の警報音、CDまたはDVDからの音楽の演奏、または他のサウンド事象のような、アプリケーションで発生するサウンド事象からアプリケーションプログラムによって生成される。記載した実施形態では、このステップで受け取って分析されるサウンドデータは、現在スピーカによってユーザに出力されている。したがって、後述するようにサウンドデータが処理されて、触覚感覚が出力されるときまでに、サウンドデータはすでにユーザに出力されている。しかし、少量のサウンドデータが格納されるので、サウンドと触覚の出力間には、ユーザが認識できないミリ秒単位の遅延が発生するだけである。サウンドデータ出力が事前に知らされる他の実施形態では、触覚感覚をトリガするサウンドデータと同時に、またはほぼ同時に、触覚感覚を出力することができる。ステップ208で、受け取った予め定められた量のサウンドデータが、ホストコンピュータ14のメモリの一時的バッファに格納される。一実施形態では、これは、迅速に処理して触覚感覚に関連付けることができるように充分に適度に小さい一方で、意味のある処理および分析ができるように充分に大きい量のデータである。一実施形態では、約10msに匹敵するサウンドデータの部分が格納されるが、他の実施形態では異なる量を格納することができる。例えば、ホストコンピュータ上のDirectSoundまたは他のサウンド捕捉APIを使用して、10msのセグメントにサウンドをデジタル記録することができる。ステップ210で、格納されたサウンドデータは処理され分析されて、どの触覚感覚を出力すべきかの決定に関連すると指定された特定のサウンド特性または特徴を識別する。すなわち、これらのサウンド特徴は、触覚感覚の出力をトリガするキューとして働く。広い意味では、本発明はインテリジェントヒューリスティックスを使用して、アプリケーションプログラムで意味を持つ可能性が高いサウンド特徴を抽出し、そのようなサウンド特徴を、抽出されたサウンド特徴およびこれらの特徴が表わしている可能性が高い事象にほぼ一致する、予め定められ事前プログラムされた触覚感覚に関連付ける。例えば、多くの現在のビデオゲームアプリケーションでありそうな事象は、爆弾、手榴弾、ミサイル等の爆発、銃またはロケット砲などの武器の発砲、車両の衝突、ぱたぱたという足音、物体が水中に飛び込む音、プレーヤに何らかのゲーム事象を警告するための警告音等であるかもしれない。これらの事象は、適切な分析後に受け取ったサウンドデータから認識できる特定のサウンド特徴を持つかもしれない。多種多様な方法を使用してデータを処理することができる。一部の実施形態を図4および5に関連して以下で述べる。これらの特定の実施形態は、サウンドデータに処理を実行して、サウンドデータによって表わされる波形を、本発明に従って多数の異なる周波数範囲に分割する。各周波数範囲のサウンドは、特定のサウンド特徴について別個に分析することができる。この周波数範囲の分割は、サウンドをトリガした事象に基づいて、サウンドがしばしば異なる周波数範囲で発生するという利点を持つ。例えば、ゲームにおける爆発は低周波数のサウンドを持つかもしれないが、銃の発砲はより高い周波数音を持つかもしれない。したがって事象の型は、サウンドが位置する周波数範囲に基づいておおよそ区別することができ、以下で記述する通り、異なる触覚効果をコマンドして出力することが可能になる。ひとたびサウンドデータが処理され分析されると、次のステップ212で、触覚コマンドが触覚装置に出力され、装置を操作するユーザに触覚感覚が出力される。触覚コマンドは、ステップ210で、サウンドデータに見つかったサウンド特徴がもしあれば、それに基づいてトリガされる。例えばサウンドの周波数またはサウンドの他の特性に基づいて、異なる触覚感覚を異なる型のサウンドに割り当てるために、インテリジェントヒューリスティックスを使用することができる。触覚コマンドは、装置常駐触覚効果を命令された大きさで実行開始させるかまたは実行させる。一実施形態では、ステップ204から装置のメモリにすでに常駐している触覚効果が、所望の触覚感覚を実現するために適切な新しいパラメータまたはデータにより変更される。代替的に、新しい触覚効果を作成し、直ちに装置によって触覚感覚として出力するように命令することができる。上で説明した通り、コマンドから結果的に生じる触覚感覚は、関連付けられるサウンド特徴がオーディオとして出力された少し後に、しかし好ましくはユーザが遅延があることを認識できないように充分に早く、出力させることができる。一実施形態では、命令された触覚感覚は、関連付けられた周波数範囲のサウンドデータの大きさに比例する大きさに設定することができる。例えば、図4および5に関連して論じた実施形態では、サウンドデータをフィルタリングするかまたは5種類の周波数範囲に編成する。これらの周波数範囲の各々が、それに関連付けられた異なる触覚感覚を持つことができる。例えば、利用可能な慣性触知フィードバックマウスを使用して、異なる周波数の周期的触覚効果を各々の周波数範囲に関連付ける。したがって、例えば、62Hz例えば高い大きさの感覚を引き起こす触覚装置の第一共振周波数またはその付近の触覚周波数を有する周期的触覚効果は、第一サウンド周波数範囲例えば0Hzないし150Hzに関連付けられる。他の周期的触覚効果は、各々昇順に別のサウンド周波数範囲に対応する75Hz、90Hz、115Hz、および250Hzの触覚周波数を持つことができる他の実施形態では、他の周期的周波数を使用することができる。これらの周期的触覚効果の各々の大きさは、関連付けられる周波数範囲のサウンドデータの大きさに比例する値に設定することができる。周囲サウンドレベルの大きさの移動平均を触覚効果生成の最小しきい値として使用することができる。例えば、特定の周波数範囲のサウンド信号がしきい値より高い大きさを持つ場合には、その周波数範囲に関連付けられた触覚効果を出力するように命令することができ、あるいは零レベルより上の大きさを持つように命令することができる。したがって、上に提示した方法は、サウンドデータによって表わされる異なる周波数範囲のサウンド信号の対応する変動する大きさに基づいて、5種類の触覚効果の大きさを変動させる。一部のサウンドが全ての周波数範囲に成分を有する場合、これは5種類の触覚効果を一度に出力させることができる。しかし、幾つかの周波数範囲にまたがって広がる多くのサウンド特徴は短時間続くので、ユーザは、異なる周波数の歪みではなく、短い振動または一続きのパルスを知覚するだけである。他のより長く持続するサウンド効果は一つまたは二つの周波数範囲のみに集中させることができ、それにより一つまたは二つの触覚効果が同時に出力される他の周波数範囲の触覚効果は零の大きさに設定される。したがって、ユーザは大まかにサウンド効果の周波数に対応する触覚を体感する。これについては、図4に関連しても述べる。したがって、特定の周波数範囲または帯域に関連付けられる触覚感覚の振幅は、上述した通り、その周波数帯域のサウンド信号の大きさレベルに直接対応させることができる。この連続触覚出力に加えて、サウンド信号の振幅の突然のスパイクを、連続振動感覚上に重ねることができる追加的衝撃、パルス、または他の短く強力な触覚感覚にマッピングすることができる。他の実施形態では、ステップ210のサウンドデータの処理および分析に基づき、かつインテリジェントヒューリスティックスに基づき、より高度の触覚感覚を出力することができる。ゲームのような多くのアプリケーションでは、サウンドの型は、それが主として位置する周波数範囲に基づいて決定することができる。これはより高度なマッピングスキームを可能にし、そこでは完全に異なる触覚感覚を異なるサウンド周波数範囲にマッピングすることができる。これについては、図5に関連しても述べる。例えば、ビデオゲームアプリケーションで武器発砲が高周波サウンドの突然のバーストに関連付けられることがしばしばある。この字術をインテリジェントヒューリスティックスとして使用して、ステップ210でゲームからのサウンド出力データを分析し、高周波サウンドが出力されたことを示す特徴を識別することができる。例えば、サウンドの振幅の突然のバーストまたはスパイクが無いか、特定の周波数範囲を検査することができる。ステップ212で、サウンド中で見つかったサウンドバーストに基づいて、武器発砲に関連付けられた触覚感覚を出力するように、インテリジェントに命令することができる。一部の実施形態では、サウンドおよび触覚感覚を実行されている間に、触覚感覚をすぐさま変更することができ、そこで触覚感覚の大きさおよび持続時間は、サウンドバーストの大きさ、バーストの持続時間、および/またはバーストの固有周波数成分に基づいて、連続的に調整される。一部の実施形態では、サウンド特徴に対し、サウンド特徴の詳細に基づいて全く異なる触覚プロファイルを選択することができ、そこでサウンド特性と触覚効果との間の事前にプログラムされたマッピングが参照される例えばルックアップテーブルまたはデータテーブルをメモリに格納することができる。例えば、非常に異なる周波数範囲のサウンドバーストが、全く異なる触覚感覚をトリガすることができる。例えば、ビデオゲーム内の低周波のサウンドバーストを一人物の足音とすることができる。低周波振動または波状力のような適切な触覚感覚をそのサウンド特徴にマッピングすることができる。一部のゲームまたは他のプログラムは、同様の事象に対して同様のサウンド効果を出力ことができ、上述した通り、おおよそのマッピングが可能になる。しかし、他のゲームまたはプログラムは、同様に響くサウンドを異なる事象に関連付けることができる。したがって、一実施形態では、特定のルックアップテーブルまたは他のマッピングデータを各々の個別ゲームまたは他のアプリケーションプログラムに関連付けることができる。該テーブルを使用して、本発明の方法はテーブル上で、どのゲームが実行されているかを識別し、次いでそのゲームのサウンド特性とテーブルの作者によって割り当てられた触覚感覚との間の適切なマッピングを見つけることができる。これにより、特定のゲーム用に仕立てられたヒューリスティックスの調整が可能になり、より正確なマッピングが使用可能になる。これは、ゲーム自体に触覚効果またはマッピングを組み込む必要がなく、現在入手可能なゲームのサウンド出力に基づく触覚マッピングを含むドライバの更新の生産を触覚装置の製造者に依存する開発者にとって有利になり得る。代替実施形態では、見つかったサウンド特徴に関連付けられる触覚効果はすぐにはユーザに触覚感覚として出力されず、代わりにメモリの格納されて所与のサウンドの触覚プロファイルを形成する。これは、触覚効果の設計を支援するのに使用することができる。例えば、サウンドファイルはロードすることができ、ユーザはグラフィカルユーザインタフェースでコントロールを選択して、本発明の方法でサウンドに対応する複合触覚効果を生成させることができる。次いで、生成された複合触覚効果を命令することによって、生成された触覚効果または触覚の大きさ、力値等をプログラム内で使用することができる。代替的に、触覚プロファイル生成された効果は新しい触覚効果プリミティブになることができ、開発者はこのプリミティブに基づいて新しい効果を生成することが可能になる。例えば周期的効果、テクスチャ、一時的プロファイル等を作成することができる。例えばゲームは何百ものサウンド効果を持つことができる。本発明の方法は、ゲームのサウンドファイルをロードし、標準化フォーマットカリフォルニア州サンノゼのイマージョンコーポレーションによって作成されたプロトコルで使用される.ifrファイルのようなのサウンドデータから触覚効果を生成するように指示することができる。したがって、開発者は各触覚効果を手動で作成する必要が無く、大量の開発時間の節約になる。設計者もまた生成された触覚効果を検討し、希望するならば、それらを編集することができる。これは、自分のゲームにコードを追加して触覚装置に伝統的な方法で触覚効果を命令することを希望するが、適切な触覚効果の設計に大量の時間を費やしたくない開発者にとって有利である。触覚感覚の出力後、該方法はステップ206に戻って、さらなるサウンドデータを受け取るかどうか検査する。受け取る場合、サウンドデータの次の部分が、上述したように処理される。それ以上サウンドデータを受け取らない場合、プロセスは242で終了する次にサウンドデータが出力されたときに再び始動する。図4は、バッファに格納されたサウンドデータが処理され分析される、図3のステップ210の一実施形態を示す流れ図である。該方法は270で開始され、ステップ272で、格納されたサウンドデータが複数のフィルタに通されて、異なる周波数範囲を分離する。例えば、上記の例で説明したようにサウンドデータを五つの周波数範囲に分割する場合、低域通過フィルタ、高域通過フィルタ、および三つの帯域通過フィルタを使用することができる。一例として、低域通過フィルタは0~170Hz以外の周波数の全てのデータを除去することができ、第一の帯域通過フィルタは170~430Hz以外の全周波数を除去することができ、第二の帯域通過フィルタは430Hz~2kHz以外の全周波数を除去することができ、第三の帯域通過フィルタは2~10kHz以外の全周波数を除去することができ、高域通過フィルタは10kHzより低い全周波数を除去することができる。ステップ274で、各々のフィルタ出力からのサウンドの大きさの移動平均が維持される。これは、コンピュータから出力される周囲サウンドを平均化して、周囲レベルより大きいサウンドだけが触覚感覚をトリガすることを可能にする。次のステップ276で、フィルタ出力の大きさが、ユーザが使用している触覚装置12に要求される範囲にスケーリングされる。したがって、先行技術のように実際のフィルタ出力を使用して触覚感覚を生成するのではなく、フィルタ出力に基づいて新しい触覚コマンドおよび効果が生成される。一部の実施形態では、各フィルタの出力の大きさの二乗をスケーリングすることができる。これは、一部の実施形態で、各周波数範囲のサウンドデータ内でより大きいピークまたはスパイクだけを抽出して、多すぎる検出ピークから発生する装置の持続される轟音/振動を低減するのにより効率的であるかもしれない。次のステップ278で、周期的触覚効果が各々のフィルタの出力に割り当てられる。周期的効果は各々、各フィルタに見つかったスケーリングされた大きさに等しい大きさを割り当てられる。フィルタに出力が無い場合、すなわちその周波数範囲のサウンドがサウンドデータに存在しない場合、またはフィルタの出力が予め定められたしきい振幅を超えない場合には、その周波数範囲に割り当てられた触覚効果には零の大きさが割り当てられる。周期的感覚は各々、対応するサウンド周波数を伝達するのに効果的であることが判明した五つの触覚周波数のうちの一つを持つことができる。振動など、そのような周期的触覚は、慣性触知感覚を提供するゲームパッドまたはマウスなどの触知装置に非常によく適している。振動は運動感覚フィードバック装置によって出力することもできる。上で決定されスケーリングされた大きさに基づく大きさを持つ、他の型の触覚感覚も運動感覚装置の実施形態によって出力することができる。割り当てられる触覚感覚の型は、ポップ、衝撃、跳びはね、ダンピング等のように、異なる実施形態では異なることができ、またスケーリングされた大きさに基づく大きさを持って出力することができる。例えば事前にプログラムされたマッピングを参照してマップされた触覚効果を割り当てることができる。該方法は次いで280で終了する。割り当てられた周期的触覚は、図3の次のステップ212で使用することができ、そこで触覚フィードバック装置に触覚効果を命令することによって、触覚感覚がユーザに出力される。図5は、バッファに格納されたサウンドデータが処理され分析される、図3のステップ210の異なる実施形態210’を示す流れ図である。該方法は290で開始され、ステップ292でサウンドデータに高速フーリエ変換FFTが実行され、データは、データの周波数スペクトルの異なる周波数成分にフィルタリングされる。周波数成分は各々、FFTによって出力される成分の数およびカバーされる全体的周波数範囲に基づく周波数範囲をスパンする。例えば、FFTが512個の出力を持ち、サウンドデータの全体的周波数範囲が約22kHzである場合、各FFT出力周波数成分は22kHz/512=約43Hzの周波数範囲を有する。次いでこれらの周波数成分が集団化され、合計して所望の周波数範囲になる。例えば、図4の実施形態と同様の五つの周波数範囲を達成するために、四つの成分を結合して0~170Hzの第一の周波数範囲をカバーすることができ、六つの成分で170~430Hzの範囲をカバーし、37個の成分で430Hz~2kHzの範囲をカバーし、185個の成分で2kHz~10kHzの範囲をカバーし、256個の成分で10~22kHzの範囲をカバーする。他の実施形態では、他の周波数範囲および成分を使用することができる。次のステップ294で、該方法は、ステップ292で集団化された周波数範囲のいずれかが予め定められた特性を持つか否かを検査する。これらの特性は、触覚感覚の出力をトリガするのに充分に有意のサウンドデータ内の特徴である。一実施形態では、各周波数範囲に対して平均振幅が維持され、振幅のスパイクが探索される。平均振幅の3~4倍の振幅のスパイクが見つかると、それは有意とみなされ、触覚効果がその特徴に割り当てられるか、またはその特徴によってトリガされる。予め定められた特性が見つかると、プロセスはステップ296に進み、予め定められた特性を持つこれらの周波数範囲に触覚効果を割り当て、プロセスは298で終了し、該方法は図3のステップ212に戻る。ステップ294で、所望の特性を持つ周波数範囲が見つからない場合には、プロセスは298で終了し、該方法は図3のステップ212に戻る。所望の特性を持つ周波数範囲に割り当てられる触覚効果は、幾つかの異なる型のいずれかとすることができ、かつ/または異なるパラメータを持つことができ、対応するサウンドデータの大きさに比例する大きさを持つ必要は無い。例えば、いずれかの抽出されたサウンド特徴振幅の上昇のようなに衝撃、パルス、またはデテントをマッピングすることができる。衝撃またはデテントの大きさは、振幅スパイクが見つかった周波数範囲に基づくことができる。例えば、低周波数範囲に高い大きさの触覚感覚を割り当てることができるまたはその逆も然り。周期的感覚、方向感覚装置の自由度で特定の方向に力を出力できる触覚装置の場合、跳びはね感覚、ダンピング感覚等を異なる周波数範囲にマッピングすることができる。一実施形態では、増大するサウンドデータの振幅に対応して触覚感覚の大きさを増大することができ、次いで触覚振幅を自動的に零レベルまで低下させることができる。再び、サウンド特徴と触覚感覚との間の事前プログラムされたマッピングを参照することができる。図5の実施形態のFFT出力は、図4の実施形態のフィルタ出力より効率的であり、より多くの情報を提供する傾向がある。例えば、FFTは、振幅のスパイクがどこで発生するか、サウンド信号における波または特徴の位相オフセット等に関し、より詳細な周波数情報を提供することができる。また、図5について上述した異なる型の触覚感覚の割当またはトリガを、図4の実施形態でも実行することができ、また図4のサウンド振幅に比例する触覚感覚の大きさを図5の実施形態で実施することができることにも注目されたい。一部のアプリケーションでは、ゲーム内のサウンド効果だけが触覚感覚をトリガして出力させるように、ゲームアプリケーション中の背景音楽のような周囲の背景サウンドを無視することができる。しばしば、サウンド効果の大きさは背景音楽の振幅よりずっと高く、平均振幅より上のサウンド効果をスパイクとして見出すことができる。他の状況では、背景音楽を無視し、サウンド効果をオーディオデータの型によって処理することができる。例えば、背景音楽がMIDIフォーマットであり、サウンド効果が.wavファイルである場合、MIDIデータを無視し、wavデータを本発明によって処理して触覚感覚を提供することができる。一部の実施形態は、サウンドデータをどのように分析するか、触覚効果をどのように割り当てるか、および触覚感覚をどのように出力するかを調節することのできる選好を、例えば触覚効果の強度、サウンド特徴を認識するための振幅の最低しきいレベル例えば、背景音楽をゲームでよりよく無視することができるようにを、ユーザに入力させることができる。本発明はまた、ゲーム以外の他の型のアプリケーションプログラムでも使用することができる。例えば、ユーザがオーディオ出力を聞きながら触覚装置に触れている場合に、音楽の拍子、持続される響き、スピーチの特徴等のようなオーディオの特徴をユーザが触覚的に経験することができるように、オーディオ出力に触覚感覚を加えることによって、ストリーミングオーディオのユーザの経験を増強することができる。さらに、本発明は、例えばインターネットのようなネットワークを介してストリーミングビデオと一緒に出力されるサウンドトッラクにも使用することができる。本発明を幾つかの好適な実施形態に関して説明したが、その変形、並べ替え、および均等物は、本明細書を読み、図面を検討することにより、当業者には明らかになるであろう。例えば、ジョイスティック、ステアリングホイール、ゲームパッド、及びリモートコントロールを含む触覚フィードバック装置の多くの様々な実施形態を使用して、本書で記述した触覚感覚を出力することができる。さらに、特定の用語法を使用したのは説明を分かり易くするためであって、本発明を限定するためではない。