(57)【特許請求の範囲】
【請求項１】
タイムライン内の複数のオーディオイベントを含む複数のオーディオチャネルを備える表現的構造化ファイルを受信するステップと、
前記複数のオーディオチャネルそれぞれにおいて前記複数のオーディオイベントを分析するステップと、
タイムラインの第１ループに基づいて、前記表現的構造化ファイルの前記複数のオーディオチャネルにおける前記複数のオーディオイベント内の選択オーディオイベントのそれぞれに対してイベントスコアを割り当てるステップと、
タイムラインの第２ループに基づいて、前記複数のオーディオチャネルにおける前記選択オーディオイベントのそれぞれのイベントスコアに基づいて、前記複数のオーディオチャネルそれぞれの合計スコアを抽出するステップと、
前記複数のオーディオチャネルそれぞれの合計スコアに基づいて、前記複数のオーディオチャネルの中から少なくとも１つの選択オーディオチャネルを指定するステップと、
前記少なくとも１つの選択オーディオチャネルの前記選択オーディオイベントの前記イベントスコアに基づいて、前記少なくとも１つの選択オーディオチャネルの各選択オーディオイベントにそれぞれハプティック・イベントを割り当てるステップと、
最短期間未満の期間の場合に最短期間よりも大きい前記少なくとも１つのハプティック・イベントの前記期間を増加させることにより、又は、最長期間より大きい前記期間の場合に最長期間未満の前記少なくとも１つのハプティック・イベントの前記期間を減少させることにより、前記最短期間と前記最長期間に基づいて特定範囲内の前記期間を備える各ハプティック・イベントの少なくとも１つを切り取るステップと、
前記選択オーディオイベントそれぞれに割り当てられた前記各ハプティック・イベントをアクチュエータに出力するステップと、
を備えるハプティック効果を自動的に発生する方法。
【請求項２】
隣接したハプティック・イベントは、最短期間の差をつけて時間的に離れている
請求項１に記載の方法。
【請求項３】
前記表現的構造化ファイルにおける前記複数のオーディオイベントは、音楽作品の音符である
請求項１に記載の方法。
【請求項４】
前記複数のオーディオイベントのうち特定のものは、前記複数のオーディオチャネルと同じものにおける、前記複数のオーディオイベントのうち隣接したものの時間閾値内に始まるかどうか決定するステップと、
前記特定のものと前記隣接したものとが前記時間閾値内の場合、より高い音の高さを有する前記特定のものと前記隣接したものとのうちいずれかを選択するステップと、
をさらに備える請求項３に記載の方法。
【請求項５】
前記イベントスコアは、前記複数のオーディオイベントのうち現在のものの音の高さと、前記複数のオーディオイベントのうち先行するものの音の高さとの間の違いに基づいて割り当てられる
請求項１に記載の方法。
【請求項６】
前記イベントスコアは、前記複数のオーディオイベントのうち現在のものと、前記複数のオーディオイベントのうち先行するものとの間の開始時間の違いに基づいて割り当てられる
請求項１に記載の方法。
【請求項７】
前記イベントスコアは、前記複数のオーディオイベントの少なくとも１つの強度値に基づいて割り当てられる
請求項１に記載の方法。
【請求項８】
前記イベントスコアは、前記複数のオーディオイベントの少なくとも１つの期間に基づいて割り当てられる
請求項１に記載の方法。
【請求項９】
前記イベントスコアは、前記複数のオーディオイベントのうち特定のものと、前記複数のオーディオイベントのうち隣接したものとの間の期間中の変化に基づいて割り当てられる
請求項１に記載の方法。
【請求項１０】
前記複数のオーディオイベントのうち隣接したものは、タイムライン内の複数のオーディオイベントのうち特定のものに先行する
請求項９に記載の方法。
【請求項１１】
前記イベントスコアは、前記複数のオーディオチャネルの１つにおいて前記複数のイベントの１つを演奏する楽器に基づいて重み付けされる
請求項１に記載の方法。
【請求項１２】
前記複数のオーディオチャネルの非打楽器のもの内の前記複数のイベントのそれぞれについてのイベントスコアは、前記複数のオーディオイベントのうち現在のものの音の高さと、前記複数のオーディオイベントのうち先行するものの音の高さとの間の違いに基づいて割り当てられる
請求項１に記載の方法。
【請求項１３】
前記複数のオーディオチャネルは、打楽器系チャネルと旋律系楽器チャネルとを含む
請求項１に記載の方法。
【請求項１４】
タイムライン内の複数のオーディオイベントを含む複数のオーディオチャネルを備える表現的構造化ファイルを受信するステップと、
前記複数のオーディオチャネルそれぞれにおいて前記複数のオーディオイベントを分析するステップと、
タイムラインの第１ループに基づいて、前記表現的構造化ファイルの前記複数のオーディオチャネルにおける前記複数のオーディオイベント内の選択オーディオイベントのそれぞれに対してイベントスコアを割り当てるステップと、
タイムラインの第２ループに基づいて、前記複数のオーディオチャネルにおける前記選択オーディオイベントのそれぞれのイベントスコアに基づいて、前記複数のオーディオチャネルそれぞれの合計スコアを抽出するステップと、
前記複数のオーディオチャネルそれぞれの合計スコアに基づいて、前記複数のオーディオチャネルの中から少なくとも１つの選択オーディオチャネルを指定するステップと、
前記少なくとも１つの選択オーディオチャネルの前記選択オーディオイベントの前記イベントスコアに基づいて、前記少なくとも１つの選択オーディオチャネルの各選択オーディオイベントにそれぞれハプティック・イベントを割り当てるステップと、
最短期間未満の期間の場合に最短期間よりも大きい前記少なくとも１つのハプティック・イベントの前記期間を増加させることにより、又は、最長期間より大きい前記期間の場合に最長期間未満の前記少なくとも１つのハプティック・イベントの前記期間を減少させることにより、前記最短期間と前記最長期間に基づいて特定範囲内の前記期間を備える各ハプティック・イベントの少なくとも１つを切り取るステップと、
前記選択オーディオイベントそれぞれに割り当てられた前記各ハプティック・イベントをアクチュエータに出力するステップと、
をコンピュータに実行させるプログラムを記録したプログラム記録装置。
【請求項１５】
隣接したハプティック・イベントは、最短期間の差をつけて時間的に離れている
請求項１４に記載のプログラム記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本出願は、２００６年４月１３日付け米国仮出願第６０／７９２１３７号明細書、発明者名ステファン・Ｄ・ランク及びクリストファ・Ｊ・ウルリッヒ、発明の名称「音楽からハプティック・コードへの変換」の優先権の利益を主張し、本願明細書に取り入れるものとする。
【０００２】
（技術分野）
本願明細書に記載の主題は一般的にハプティック分野に関し、より具体的にはハプティック効果制御信号の生成又はデジタル音声又は音声／視覚ファイルに対応するハプティック追跡に関する。
【背景技術】
【０００３】
触覚振動はしばしばユーザ・インタフェース機器において好適である。接触は空間感覚、すなわち、世界に通じる進路案内のために人々が用いるものである視覚、音、及び接触を統合する。接触はミリ秒（ｍｓ）の反射速度の反応を生成し、視覚や音では代替できない完全さを補う。
【０００４】
ユーザ・インタフェース機器においては、音楽ファイルが携帯電話で鳴る場合のように、触覚振動を音に適合させることが有用である。エンド・ユーザ機器のための音声は、再生される音が公知シンボル（例えば、楽器デジタル・インタフェース又は“ＭＩＤＩ”）のストリングに符号化される構造化表現フォーマット、及び音声波形の周期的なサンプルのセットであるデジタル標本化音声等の二つの基本的なやり方で符号化される場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
現在、標本化された音声ファイルは手操作による変換を通じて変換されうる。人間であるデザイナは、標本化された音声ファイルを聴取、分析、及び判定し、いずれのハプティック効果を生成すべきかということから当該標本化された音声ファイルの特徴を選択する。しかしながら、人間のデザインを介することは制約の多い手法である。
【０００６】
音楽ファイルをハプティック効果に変換する、十分に自動化された、又は半自動化された方法が必要である。
【課題を解決するための手段】
【０００７】
一実施形態において、デジタル音声信号を操作する方法は、音声信号を複数のサブバンド信号に分離するステップと、当該サブバンド信号の少なくとも一つを複数のイベントにセグメント化するステップと、アクチュエータによりハプティック・イベントを生成するために当該イベントの少なくとも一つにハプティック効果を割り当てるステップと、を含む。
【０００８】
一実施形態において、デジタル音声信号を操作する装置は、音声信号を複数のサブバンド信号に分離するための回路と、当該サブバンド信号の少なくとも一つを複数のイベントにセグメント化するための回路と、アクチュエータによりハプティック・イベントを生成するために当該イベントの少なくとも一つにハプティック効果を割り当てるための回路と、ハプティック・イベントを出力するために構成されるアクチュエータと、を含む。
【０００９】
一実施形態において、デジタル音声信号を操作する装置は、音声信号を複数のサブバンド信号に分離するための手段と、当該サブバンド信号の少なくとも一つを複数のイベントにセグメント化するための手段と、アクチュエータによりハプティック・イベントを生成するために当該イベントの少なくとも一つにハプティック効果を割り当てるための手段と、を含む。
【００１０】
一実施形態において、システム及び方法は、音声信号のスペクトル分解を計算する。一実施形態において、システム及び方法は、イベント間の最短分離時間を指定する。一実施形態において、システム及び方法は、第一のハプティック・イベントに先立って最短アクチュエータ始動時間を指定する。一実施形態において、システム及び方法は、複数のハプティック・イベントにおけるそれぞれのハプティック・イベントに対する時間の最短期間を指定する。一実施形態において、システム及び方法は、イベント間の最短分離時間を指定する。一実施形態において、システム及び方法は、第一のハプティック・イベントに先立って最短アクチュエータ始動時間を指定する。一実施形態において、サブバンド信号内のイベントは、ユーザが指定した毎秒平均ハプティック・イベント数に対応する。一実施形態において、サブバンド信号内のイベントが有する折り返し値は、最大折り返し目標値以下である。一実施形態において、システム及び方法は一以上のサブバンド信号のパラメータに対する時間の指定された期間にわたる平均を計算する。
【００１１】
一実施形態において、システム及び方法は、サブバンド信号のパラメータの短期間の値がパラメータに対する平均の倍数を超えるならば、イベントを指定する。一実施形態において、システム及び方法は、音声信号のスペクトル分解のパワースペクトルを計算し、パワースペクトルの少なくとも一部に基づいて周波数を選択し、選択した周波数の少なくとも一部に基づいてイベントを識別する。一実施形態において、システム及び方法は、ネットワーク上でクライアントと通信可能なサーバにハプティック・イベントを保存し、サーバはクライアントにハプティック・イベントを送る。
【図面の簡単な説明】
【００１２】
添付図面は、本明細書に取り入れられて一部を構成するものであり、本願発明の一以上の実施形態を図示し、記載の明細書と共に、本発明の原理及び実装を説明する役割をもつ。
【００１３】
（図面参照）
【図１】音符、コード及び休止を含む伝統的な楽譜スタイルを用いる、視覚的に認知可能な様式で表現された楽曲の一部である。
【図２】標本化信号の一部の時間−振幅グラフである。
【図３】実施形態に従ってハプティック効果をマッピングする方法を図示する、方法のフロー図である。
【図４】実施形態に従ったシステム部品の全体的アーキテクチャの構成図である。
【図５】実施形態に従った図４の楽曲に対する高周波数及び中周波数（ｍｉｄｄｌｅ  ｆｒｅｑｕｅｎｃｙ）のサブバンド信号を表す、フィルタ後の時間−強度グラフである。
【図６】実施形態に従って中周波数サブバンド信号をセグメント化するために用いられる平均パワー及び瞬間パワーを表す、正規化した時間−信号グラフである。
【図７】実施形態に従って低周波数サブバンド信号をセグメント化するために用いられる周波数−パワー・グラフである。
【図８】実施形態に従った図４の楽曲例に対するハプティック効果シーケンスの時間−シンボル表現である。
【図９】実施形態に従った楽曲を作製する一連のＭＩＤＩイベントの時間−音符表現である。
【図１０】実施形態に従った楽曲を作製する一連のＭＩＤＩイベントの、時間−楽器−音符の代替表現である。
【図１１Ａ】図１１Ａ、図１１Ｂ及び図１１Ｃは共に、実施形態に従って対応するハプティック効果を生み出すためのＭＩＤＩシーケンス処理のための方法を示す方法フロー図を構成する。
【図１１Ｂ】図１１Ａ、図１１Ｂ及び図１１Ｃは共に、実施形態に従って対応するハプティック効果を生み出すためのＭＩＤＩシーケンス処理のための方法を示す方法フロー図を構成する。
【図１１Ｃ】図１１Ａ、図１１Ｂ及び図１１Ｃは共に、実施形態に従って対応するハプティック効果を生み出すためのＭＩＤＩシーケンス処理のための方法を示す方法フロー図を構成する。
【発明を実施するための形態】
【００１４】
主題の実施形態は、音声からハプティックへの自動的な変換のためのシステムの文脈において本願明細書に記載される。当業者であれば、以下の本発明の詳細な記載は例示のみであり、いかなる制限をも意図していないことを理解するだろう。本発明の他の実施形態は、本開示の利益を有する当業者には直ちにこれら自身が示唆を与えるであろう。添付図面に示す本発明の実装に対しては詳細に参照する。同一又は同様のものを参照するために、図面及び以下の詳細な記載を通じて、同じ参照符号が用いられる。
【００１５】
明確さを重視し、本願明細書に記載した実装のルーチン的な特徴は、必ずしも全てを図示し記載していない。もちろん、任意のこのような実際の実装の開発においては、アプリケーション及びビジネスに関連した制約へのコンプライアンス等の、開発者の特定の目標を達成するために無数の実装を特定した決定が行われる必要があり、これらの特定の目標は実装によっても開発者によっても変化するであろうと考えられる。更に、このような開発努力は複雑で時間を要する場合があるが、それでもなお、本開示の利益を有する当業者にとっては技術のルーチン的実施であると考えられる。
【００１６】
本願明細書に記載の主題に従った、構成要素、システム、デバイス、方法ステップ、及び／又はデータ構造は、様々な種類のオペレーティング・システム、コンピューティング・プラットフォーム、コンピュータ・プログラム、及び／又は汎用機器を用いて製造、動作、及び／又は実装されてもよい。加えて、当業者であれば、ハードウェア組み込みデバイス、現場でプログラム可能なゲートアレイ（ＦＰＧＡ）、特定アプリケーション向け集積回路（ＡＳＩＣ）、又は同様のもの等の、一般用途の性質が低いデバイスもまた本願明細書に記載の発明の概念の範囲及び精神を外れることなく使用してもよいことを認識するだろう。発明を含む方法がコンピュータ、デバイス、又は機械に実装され、指示のように方法が機械読み取り可能に保存される場合、それらは、ＲＯＭ（読み出し専用メモリ）、ＰＲＯＭ（プログラム可能な読み出し専用メモリ）、ＥＥＰＲＯＭ（電気的に消去可能なプログラム可能な読み出し専用メモリ、フラッシュ・メモリ、ジャンプ・ドライブ、及び同様のもの）、磁気保存媒体（例えば、テープ、磁気ディスク・ドライブ、及び同様のもの）、光学保存媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、紙カード及び紙テープ、及び同様のもの）及び他の公知形式のプログラムメモリ等、有形の媒体に保存されてもよいが、これらに限定しない。加えて、人間の又は創造的な判定を必要とせずに、方法はソフトウェア・ツールを用いる人間のオペレータにより実施しうることを認識すべきである。
【００１７】
本願明細書に記載の方法及びシステムは、デジタル・ファイルを受信して自動的に当該ファイルをハプティック・イベントに変換することを目的とする。一実施形態において、受信ファイルは、標本化デジタル又はデジタル化されたアナログの音声ファイルからなる。別の実施形態において、受信ファイルは構造化表現ファイル（例えば、ＭＩＤＩファイル）である。ＭＩＤＩファイルは本願明細書において構造化表現ファイルという用語で記載されるが、任意の他のプロトコルがシステムに用いられてよく、これによりプロトコルは音声、ビデオ又は他の信号でありうる構造化表現ファイルを利用する場合があることに注意されたい。変換されるハプティック・イベントはエンド・デバイスにより出力処理され、ユーザはこのエンド・デバイス及び／又は他のデバイスにより出力される音声に対応する愉快なハプティック経験を経験する。エンド・デバイスには、音声プレイヤ、ＰＤＡ、コンピュータ、テレビ、ビデオゲーム機、コンピュータ周辺機器（例えば、マウス、ジョイスティック、ローラ・ボール、キーボード）、ステアリング・ホイール、家具、スライダ、ノブ、ヘッドホン、タッチスクリーン、携帯型又は非携帯型ラジオ、一方向／二方向ページャ及び他の適切なユーザ操作可能デバイスが挙げられるが、これらに限定しない。
【００１８】
システム及び方法はエンド・デバイスによる出力であることを本願明細書に記載するが、複数のエンド・デバイスが同時又は様々な時間で、実施形態に従って同一のハプティック・イベント及び／又は異なる分量の同一のハプティック・イベントを出力してもよいこともまた注意されたい。エンド・デバイスは一以上のアクチュエータを内蔵してもよいことに注意されたい。エンド・デバイス内の複数アクチュエータの実施形態において、複数アクチュエータにより出力されるハプティック・イベントはそれぞれのハプティック・イベントに対して同時に、選択的に、交互に、及び／又は独立して行われてもよい。
【００１９】
図４に、実施形態に従ってシステムを具体化する全体的なアーキテクチャを示す。図４に示すように、様々な信号源（ｓｏｕｒｃｅ）がシステム３００に入力信号９９を提供する場合がある。例えば、デジタル標本化された音声信号又は構造化表現信号は、サーバ４０２、音声信号源（ＣＤ、ＤＶＤ、ＤＡＴ他）、ホスト・コンピュータ４０６、モバイル・デバイス４０８及び／又は商用キオスク４１０から受信される場合がある。入力信号は電線又は無線の私用又は公用ネットワーク９８を介してシステム３００の受信モジュール４１２に送られる。次いで信号は、より詳細は後述するように、プロセッサ４１４により処理される。処理後、システム３００は、ポート４１６を通じて一以上のエンド・デバイス４２０に、有線又は無線によりハプティック・イベント・シーケンスを出力する。エンド・デバイス４２０は、ハプティック・イベント・シーケンス（音声を伴う場合も伴わない場合もある）を有する出力ファイルを受信すると、次に適宜音声スピーカ４２４と共に一以上のアクチュエータを用いてハプティック・イベントを出力しうる。図４に示したアーキテクチャは実施形態であり、これには本願明細書に記載の主題の範囲を外れることなく追加の及び／又は代替の構成要素が利用されてもよいことに注意されたい。
【００２０】
図面に戻り、図１は、音符、コード及び休止を含む伝統的な楽譜スタイルを用いて視覚認知可能な様式で表現された楽曲部分１００を示す図である。楽曲は、例えばデジタル標本化形式又は構造化表現形式で再生及び録音される場合がある。それぞれの音楽記号は機械振動の周波数を表す。音階の形式（例えば、Ａ、Ａ＃、Ｂ、Ｃ、Ｃ＃、Ｄ、Ｄ＃、Ｅ、Ｆ、Ｆ＃、Ｇ、Ｇ＃）は音程の点において互いに異なっている。全音符、二分音符、四分音符、八分音符、十六分音符、及び同様のものはそれぞれの音符又は周波数に対する再生期間を表す。同様に、全休符、二分休符、四分休符、八分休符、十六分休符、及び同様のものは音符が再生されない時間の長さを表す。音符及びその長さのシーケンスは、いかなる周波数がいかなる時間で再生されるかという表現を決定するものである。
【００２１】
本発明の実施形態は、デジタル標本化された音声ファイルにハプティック・イベントを自動的にマッピングすることを目的とする。標本化された音声源（及びファイル）は、ＷＡＶ、ＭＰ３、ＭＰ４、ＡＣＣ、ＡＳＸ、ＷＭＡフォーマットを有するがこれらに限定せず、全て、標本化レート及び時系列サンプルのセット（しばしば左及び右チャネル）等の基本的に同一の形式の情報を提供するものである。しかしながら、構造化表現ファイルとは異なり、標本化された音源からは楽器、音程、テンポ又は他の音楽的コンテキストについての明示的な情報は利用できず、全体が描写された音声のみが利用可能である。図２に、標本化された音声信号の時間−振幅グラフを例示する。
【００２２】
加えて、又は代替として、システムは構造化表現信号からハプティック・イベントを自動的にマッピングしうる。特に、音声ファイルの特定の構造化表現が与えられると、システムは、構造化表現信号により固有に提供されるデータを分析することによりハプティック・イベントを自動的にマップしうる。しかしながら、いずれかの形式のファイルを自動的にマッピングすると、入力信号は注意深く処理され、ファイル内の音声信号から愉快で明確なハプティック・シーケンスを生成するために、エンド・デバイス内のアクチュエータの性能制限により分析は単純化される。
【００２３】
現在のハプティック技術は、約４個のハプティック・イベントを同時に再生し、約１ｍｓの制御ループで動作可能である。これは現状のアクチュエータの制限による。現状の偏芯回転質量（ＥＲＭ、Ｅｃｃｅｎｔｒｉｃ  Ｒｏｔａｔｉｎｇ  Ｍａｓｓ）モータ技術には制限があり、ハプティック効果の同時再生は予期しないアクチュエータの挙動を生じうる。同様にＥＲＭモータは機械的帯域が比較的狭く、ハプティック・イベントの周波数は毎秒約４個のハプティック・イベントに制限される。ＥＲＭモータはピーク加速度に到達するまでに約５０−８０ｍｓの始動遅延もあり、このようなＥＲＭモータを駆動するハプティック制御信号の生成において、この始動遅延を考慮しておかなければならない。本願明細書に記載の主題の文脈においてはＥＲＭモータを記載するが、他の形式のモータ又はアクチュエータを、エンド・デバイス、ハプティック効果の解決、変換すべき音声のデジタル品質、及び使用アプリケーションの形式に依存して用いてもよいことを想定する。例示のみとして、アクチュエータは、ＥＲＭモータよりも優れた分解能を有するリニア共振アクチュエータ（ＬＲＡ）でもよい。他の形式のアクチュエータには、リニア電流制御モータ、ステッピング・モータ、磁気アクチュエータ、空気圧／水圧作動アクチュエータ、トルク発生器（角度範囲を制限したモータ）、及びボイスコイル・アクチュエータを含んで想定するが、これらに限定しない。
【００２４】
ハプティック動作可能なエンド・デバイスに触れているユーザに愉快なハプティック経験を提供するためには、システムは一つの期間内にあまりに多数のハプティック・イベントを生成してはならない。加えて、ハプティック・イベントは、一定振動又は「ずれ」を生成しないために十分な間隔で離れなければならないが、それでもなお効果音、音楽のテンポ、及び／又は旋律と一致しなければならない。キー変化、旋律遷移、及び同様のもの等の例外的イベントがハプティック・イベントにより強調されなければならないことがしばしばある。音楽のリズムが、音声プログラム信号のテンポ及び音楽プログラム信号の始まりに対する当該テンポの位相オフセットを識別することにより強調されなければならないことがしばしばある。前もって実質的にある量の沈黙を有する音声イベントは、音楽中のアクセント（例えば、シンバル、効果音としての車の衝突）によりハプティック・イベント類似である場合もある。
【００２５】
図３は、実施形態に従って受信したデジタル標本化信号をマッピングするハプティック効果のためのシステム及び方法を示す、方法のブロック図である。一般的に、実施形態によれば、受信標本化音声入力は、受信されてシステムにより自動的に「変換」又は「マップ」され、信号中に識別される音声イベントの再生と共に、同調しているエンド・デバイスにおいてハプティック効果の再生を制御するハプティック制御信号又はハプティック・イベントを生成する。図３のブロックはアナログ又はデジタル・ハードウェアでありうる一般的な構成要素として示され、ハードウェア組み込み回路、集積回路、及びＡＳＩＣが挙げられるが、これらに限定しない。加えて又は代替として、図３のブロックは、プロセッサ及びメモリ内に具体化されるか又はこれに用いられる、ルーチン、サブルーチン、コード、スレッド及び同様のソフトウェア・コード構成要素である。
【００２６】
図３の実施形態によれば、受信標本化音声信号は、ブロック３１０内のコンピュータ機器のメモリにロードされる。コンピュータ機器は通常のパーソナル・コンピュータ、処理モジュール、サーバ、クライアント、上記定義のエンド・デバイス自身、又は十分な処理能力を有する任意の他の電子機器でもよい。標本化音声信号はコンパクト・ディスク（ＣＤ）、ミニディスク、ＤＶＤ、ＤＡＴ、ハード・ドライブ又は他の媒体から取ってもよい。一実施形態において、音声信号は商用又は非商用のウェブサイトから直接（有線又は無線で）ダウンロードされ、次いで変換されてエンド・デバイスにより再生可能である場合がある。別の実施形態において、音声トラックは遠隔的に変換された後にサーバに保存され、変換されたハプティック・トラックはサーバから一以上のエンド・デバイスに直接ダウンロードして再生可能である。一実施形態において、受信ファイルはシステムによりオフライン処理され、ファイルの一部又は全体をシステムは受信後に処理する。一実施形態において、受信ファイルはシステムによりリアルタイムの様式で処理され、これによりシステムはファイルを受信しながらデータを処理して出力する。
【００２７】
受信ファイルは、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｐｌａｙｅｒ、ＲｅａｌＰｌａｙｅｒ（登録商標）、ｉＴｕｎｅｓ（登録商標）、ＭｕｓｉｃＭａｔｃｈ  Ｊｕｋｅｂｏｘ（登録商標）、又はサーバ及び／又はエンド・デバイス上の他の専用プログラム等、市販コンピュータ・ソフトウェア・プログラムに含まれるファイル・リーダ／プレイヤへの入力でもよい。あるいは、ＰＣＭ形式の出力を生成する任意のコーデック（エンコーダ／デコーダ）をシステムと共に用いてもよい。
【００２８】
一実施形態において、システムは標本化音声を単一（モノラル）の入力信号として受信する。一実施形態において、システムは標本化音声をステレオ又は例えばプリミックス又はサブセレクトにより変換又はマップされる多チャネル入力として受信する。加えて、所望により、複数のハプティック・トラックが同時に又は異なる時間において処理されうる。
【００２９】
後に、入力信号は、一実施形態におけるシステムの任意メモリにロードされる。システムはメモリからその信号を回収し、ブロック３１２において時間あたりのエネルギー内容及び周波数の観点から入力信号を分析する。一実施形態において、システムはブロック３１２における音声信号のエネルギー分布データを生成するために、窓処理付き高速フーリエ変換（ＦＦＴ）アルゴリズムを用いる一実施形態において、ウェーブレット変換を含むがこれに限らず、信号のエネルギー分布情報を生成するために任意の他の適切な手順又はアルゴリズムが利用される。スペクトル分解分析は、信号処理においてシステムにより利用される複素数係数として符号化される位相情報を生成する場合もある。
【００３０】
一実施形態において、システムは、周波数サブバンドのセグメント化に先立ち、スペクトル分解計算に補正係数を利用し、人の耳の（Ｈｕｍａｎ  Ｅａｒ）伝達関数及び認知係数を考慮する。例えば、人の耳は６０Ｈｚの音とは対照的に３−４ｋＨｚの音に対してより高感度である。一例において、システムが６０Ｈｚ周辺の周波数成分を約４０ｄＢ抑圧する一方、３ｋＨｚと４ｋＨｚの間の周波数は抑圧されない。このため、より顕著なビートが６０Ｈｚにある場合においても、ユーザはその抑圧により目立つようになる高い周波数帯でビートを認知するようになる。
【００３１】
同様にターゲットのハプティック・デバイス用スピーカの音声伝送機能が考慮され、セグメント化に先立ってスペクトル分解に適用されうる。例えば、ほとんどの携帯電話スピーカにおける周波数応答は２００Ｈｚ以下の周波数は伝達されないものである。このため、このようなスピーカにより出力される音声信号が伴うときには、２００Ｈｚ以下のビートを強調すると予期せぬハプティック効果を生じうる。スペクトル分解において処理中にこれらの周波数帯を無視することで、より整合性のある結果を得られる場合がある。
【００３２】
一実施形態において、システムは、音声信号のサブバンド信号及びクロスオーバー周波数の指定を可能とするための周波数の観点において、音声信号のエネルギー分布をマップするためにスペクトル分解分析から複素係数の絶対値を利用する。これは、図３にブロック３１４として示されている。
【００３３】
図３に示すように、システム及び方法はブロック３１４における入力信号のエネルギー分布からサブバンド周波数の数を決定する。上述の用に、システムは、ソフトウェア、アナログ又はデジタル・ハードウェア及び／又はファームウェアを用いてこの分析を実施する場合がある。一実施形態において、システムは信号のエネルギー分布を分析し、エネルギーを周波数上の３つのサブバンド・カテゴリに指定する。一実施形態において、サブバンド・カテゴリは高周波数サブバンド、中周波数サブバンド、及び低周波数サブバンドである。図５に、入力音声信号の高周波数サブバンド信号５００及び中周波数サブバンド信号５０２を表す時間−周波数グラフを例示する。一実施形態において、システム及び方法は、入力音声信号のエネルギー分布を３つのサブバンド・カテゴリよりも多いか又は少ないものに指定する。
【００３４】
一実施形態において、低周波数サブバンドはシステムにより低周波数の値の範囲内に指定され、高周波数サブバンドは高周波数の値の範囲内に指定される。システムは、中周波数サブバンドが、低サブバンドにおける最高周波数と高サブバンドにおける最低周波数との間であるように指定する。周波数サブバンド範囲のそれぞれはこれらの説明に限定されず、それぞれのサブバンドは設計者の所望に基づいてより高い及びより低い周波数限界を有するように指定されうることに注意すべきである。一実施形態において、低、中及び高周波数範囲は、全体の信号又は全体の信号のセグメント化部分のパワースペクトルの包括平均に基づいてシステムより決定される。低、中、高周波数範囲は任意の他の適切な方法を用いてシステムにより決定される場合があることを想定する。
【００３５】
特に、システム及び方法は、サブバンド・クロスオーバー周波数の観点で入力音声信号を分析する。一実施形態において、システムは低周波数サブバンドと中周波数サブバンドとの間で一以上のサブバンド・クロスオーバー周波数ｆｍを計算する。加えて、システム及び方法は、中周波数サブバンドと高周波数サブバンドとの間で一以上のサブバンド・クロスオーバー周波数ｆｈを計算する。一実施例において、ｆｍは約３００Ｈｚから約１０００Ｈｚの範囲内に指定される。一実施例において、ｆｈは約３５００Ｈｚから約５０００Ｈｚの範囲内に指定される。これらの範囲は例示のみであり、システム及び方法の範囲内に他の周波数範囲が想定されることに注意すべきである。
【００３６】
一実施形態において、ｆｍ及びｆｈという周波数は百分位の１５番目及び８５番目のスペクトルのロールオフの平均値として算出され、当該スペクトルのロールオフとは、音声入力の全エネルギーの特定パーセンテージがその下方に見られる周波数である。これらの特定パーセンテージはブロック３１２において計算される信号のエネルギー分布から算出されてもよい。他のスペクトルのロールオフ百分位が想定され、１５番目及び８５番目に限定する必要はないことに注意すべきである。一実施形態において、システム及び方法は指定周波数に対し、それぞれの時間ウィンドウにおけるエネルギーを正規化し、特定の百分位に対応する累積値を計算する。これはクロスオーバー周波数を計算するひとつの方法であり、他のクロスオーバー周波数の計算方法が想定されることに注意すべきである。例えば、一実施形態において、サブバンド信号クロスオーバー周波数は全信号のＦＦＴ計算及びロールオフ値計算により算出される場合がある。次いで３つのサブバンド信号が、各サブバンドにおけるエネルギー値を合計することにより、入力音声信号のエネルギー分布（例えばスペクトログラム）から導かれてもよい。スペクトル分解計算中に４４ｋＨｚの時間情報（オリジナルの音声サンプル速度）が１２８Ｈｚの時間データ変換される場合があるため、この手順は入力信号をダウンサンプルする役割を担う場合もある。
【００３７】
一実施形態において、高、中及び低周波数サブバンド信号はそれぞれシステムによりセグメント化されて処理される。図３に示すように、中周波数サブバンド信号は、ブロック３１６で示される中域最適化部に送られる。中域最適化部３１６は、毎秒のエフェクト（ＥＰＳ）の所望の数に対応する個別のイベントのトラックを生成する。一実施形態において、ＥＰＳは、アクチュエータの分解能、音楽の種類、エンド・デバイスの形式、及びシステムの処理能力又はユーザの所望を含むが限定しない、ある要因に基づいて定義される場合があるが、目標とするＥＰＳはユーザにより定義される。
【００３８】
システムは、エンド・デバイス内アクチュエータが出力するそれぞれのハプティック・イベントに適切な始動及び終了のための時間を許容するため、ハプティック・イベント間を強制的に最小分離する。この最小分離により、エンド・デバイス内アクチュエータが独立して複数のハプティック・イベントを生成することが可能になり、二以上のハプティック・イベントの重複又は互いに重複する複数のハプティック・イベント部分の「ぶれた」感覚が防がれる。一実施形態において、サブバンドに依存するが、ハプティック・イベント間の時間制限長は５０ｍｓであり、特定の期間は１００−２５０ｍｓである。システムはこれらの数値には限定せず、他の数値も想定されることに注意すべきである。
【００３９】
中域最適化部３１６は、音声入力信号におけるボーカル旋律に対応するために、別個のハプティック・イベントのトラックを生成することによりボーカル・イベントの旋律を取り込むことを意図している。このようにして、システムは、所望ＥＰＳの目標範囲内に最大エネルギー量を有するイベントを識別するために切取り（ｃｌｉｐｐｉｎｇ）パラメータを利用する。
【００４０】
切取られた入力信号が中域最適化部３１６から出力されると、この信号は、図３に示す局所セグメント化部３１８への入力となる。一般的に、局所セグメント化部３１８は、中周波数サブバンド信号をそれぞれのイベントに対する一連の開始及び終了時間にセグメント化するために、切取られた入力信号の長時間平均を、切取られた入力信号の短時間値と比較するアルゴリズムを利用する。図３に示すように、次いで、局所セグメント化部３１８はこの情報を最適化部３１６に戻して提供し、これにより、別個のイベントのセグメント化が所望ＥＰＳの目標範囲内にある間に、最適化部３１６は一次元ラインサーチを適用して一以上の切取られたパラメータを単調に調節する。一実施形態において、信号に対してＥＰＳの所望の数が達するまで、この過程が繰り返される。一実施形態において、プリセットされた繰り返し（ｉｔｅｒａｔｉｏｎ）回数に対して現在のセグメント化過程が繰り返される。セグメント化の詳細を以下に説明する。
【００４１】
図６に、一実施形態に係る別個のハプティック・イベントに中周波数サブバンド信号をセグメント化するために用いられる、平均パワー及び短時間パワーを代表して表す時間−信号グラフを示す。図６のグラフは、中周波数サブバンド信号の時間平均６００並びに２０秒ウィンドウ内の短時間信号値６０２を示す。他の時間の長さのウィンドウがシステムに用いられる場合があることに注意すべきである。
【００４２】
一実施形態において、短時間信号値は、５Ｈｚバタワース・フィルタを通じる入力音声信号のローパス・フィルタリングによって得られてもよい。アナログ又はデジタル領域のいずれにおいても任意の他の機器又は方法を利用して入力信号がフィルタされることに注意すべきである。一実施形態において、時間におけるある点に対する短時間平均値信号が特定のしきい値を超過する、その時刻にシステムは新規なイベントを生成する。図６のグラフの観点において、イベントは短時間平均値が長時間平均値を所望の方向（例えば、上向き又は下向きに）に横切る点で開始し、終了する。例えば、図６において、局所セグメント化部３１８は短時間平均６０２が長時間平均線６００を上向きの方向に横切る場所を識別することにより、イベントが開始する場所（点６０４）を決定する。局所セグメント化部３１８は、短時間平均６０２が長時間平均線６００を下向きの方向に横切る場所を識別することにより、イベントが終了する場所も決定する。上述はセグメント化過程の例示のみであることに注意すべきであり、他のセグメント化過程及びアルゴリズムがシステムにより用いられる場合があることは明らかである。
【００４３】
低周波及び高周波に対しては、エンド・デバイス内アクチュエータが毎秒生成しうる以上に多くのハプティック・イベントとして適格なイベントがあることが一般的である。通常は高周波数及び低周波数サブバンドに固有の密接した周波数ピークが多数あることから（図５）、中周波数サブバンドに関する上述の最適化過程は、高周波数及び低周波数サブバンドに対しては好ましくない。これらの多数の密接周波数ピークは、入力音声信号のテンポと一致しない折り返された結果をアクチュエータに発生させる場合がある。
【００４４】
この件に対処するため、システムは、高周波数及び低周波数サブバンド信号に対して中周波数サブバンドのものとは異なる最適化及びセグメント化アプローチを利用する。図３に、システムにより高周波数及び低周波数サブバンドが異なって処理されていることが示されている。高周波数サブバンドに関しては、折り返しはシステムが信号を処理するときに考慮する重要事項である。つまり、この折り返しを考慮せずに生成されるハプティック・イベントは音楽と一致しないビート又はリズムに従う場合がある。
【００４５】
一般的に、図３に示すように、システムは、高周波数信号上で一以上の切取られたパラメータを調節するために、一次元（１−Ｄ）ラインサーチを実施する高周波数最適化部３２０ブロックを備える。最適化部ブロック３２０は出力信号内の折り返し量測定を用い、次いでセグメント部ブロック３２２に提供される切取り値を調節する。高サブバンド・セグメント部３２２はそれぞれのハプティック・イベントの開始及び／又は終了時間を計測し、図示の矢印のように結果を最適化部ブロック３２０に戻して提供する。次いで、最適化部３２０は、目標とする折り返しレベルに達するか、又はある数の所定のステップが発生するまで、応答して切取り値を調節する。
【００４６】
折り返しは、生成されたハプティック・イベントの開始時間の間の差の分布を調べることにより測定されるアクチュエータにより指令された最小エフェクト分離としての同一デルタに、この分布が非常に大きなピークを有するならば、セグメント化の結果には大きな折り返しがあると考えられる。妥当な目標折り返し値は３０％でありうるが、これはエフェクトの３０％は正確に最小分離値だけ異なる開始時間を有するという意味である。
【００４７】
セグメント・ブロック３２２に用いられるアルゴリズムは、一実施形態における中サブバンド３２０に用いられるものと同一である。一実施形態において、ブロック３２２により高周波数サブバンド信号の処理に用いられるアルゴリズムは、中周波数サブバンド信号に対してブロック３１８により実施されるアルゴリズムと同様であるが、種々の相違を有する。一実施形態において、長時間平均は高周波数信号に対して５０ｍｓである。
【００４８】
一実施形態において、信号対雑音比（Ｓ／Ｎ）を増加するために入力信号は前処理される。Ｓ／Ｎは、信号の最大値に対する切取られた信号平均の割合として算出され、これによれば処理信号は入力信号から１．５秒移動平均を差し引いて負の値をゼロに設定することで算出される。これは例示のみであり、信号中の信号対雑音比を改善するためにシステムは別の方法を利用しうることに注意すべきである。
【００４９】
一実施形態において、２５０ｍｓよりも長いことが測定されるハプティック効果は、高周波数信号に対して最大２５０ｍｓに切取られる。一実施形態において、直近の５０ｍｓウィンドウ内の最大ピークよりも切取られた信号が大きい場合にのみ、新たなセグメントが生成される。上述は例示のみであり、これらの上述の要因に限定しないことに注意すべきである。一以上の上述の要因はアルゴリズムの実施において用いられる場合があることにも注意すべきである。高周波数サブバンド・セグメント化の結果は、典型的には入力音声信号のテンポに大まかに対応する短いハプティック・イベントのセットである。
【００５０】
図３に戻り、一実施形態において、低周波数サブバンド信号は中周波数サブバンド信号とは異なる処理を受ける。入力音声信号の低周波数部分は、典型的には音楽のリズムに対応し、典型的には様々な形式の打楽器及び／又は非常に低い周波数のボーカル（例えばベース・ボーカル）にも支配される。高周波数に関しては、システム及び方法は低周波数サブバンド信号を処理し、リズムと整合性があり過剰な折り返しアーティファクトを実際に生じるハプティック・イベントを生成する。音楽のドラムのビートは、低周波数サブバンド・スペクトル内のある周波数範囲内にあるのが通常である。従って、一実施形態において、システムは、ビートを識別するために低周波数サブバンド内の狭い範囲の周波数を考慮する。
【００５１】
一実施形態において、システムは、まずブロック３１２と比較して非常に長時間のフレーム・ウィンドウを用いてオリジナルの入力信号の低周波数サブバンド信号のスペクトル分解分析（ブロック３２４）を実施し、この特定の周波数範囲を識別する。一実施形態において、時間フレーム・ウィンドウは１／３２秒又は３１ｍｓであるが、他の期間も想定し、３１ｍｓに限定しない。時間フレーム・ウィンドウは、信号のスペクトル・ロールオフを評価するためのブロック３１２において算出されるスペクトル分解よりも、低周波数領域で顕著により多くの分解能を提供する。システム及び方法がより分解能の高いエネルギー分布を計算（ブロック３２４）した後、システムは信号のパワースペクトルを計算する。これはブロック３２６により実施され、システムは指定された時間ウィンドウにわたってスペクトル分解からエネルギー分布を合計する。入力信号は二つのスペクトル分解分析（図３のブロック３１２及び３２４）を受けることが示されているが、低周波数サブバンド信号のスペクトル分解は代替としてブロック３１２で行われてもよく、これにより低周波数サブバンド信号のパワースペクトル算出において結果がブロック３２５に用いられることに注意すべきである。
【００５２】
システム及び方法は、パワーレベルに基づいて周波数を並び替える（ブロック３２８）ために、低周波数サブバンド信号上でパワースペクトル計算（ブロック３２６）を利用する。パワースペクトルにおいては様々な周波数が同一のピークに対応することが通常であり、これによる冗長な周波数は、周波数ピークをより効率的に並び替えるために消去される。
【００５３】
図７に、一実施形態に係る低周波数サブバンド信号のセグメント化に用られる周波数−パワー・グラフ（すなわちパワースペクトル）を示す。パワースペクトルは、周波数ビン（ｂｉｎ）番号セットにおいて入力信号に存在するエネルギー量を表している。この情報はシステムが周波数をパワー全体のビンに並び替えるために用いられる。例えば、２．１−２．８（×１０４）の間の全パワーは、全パワーの降順にランク付けると、６４０Ｈｚ、６７２Ｈｚ、４１６Ｈｚ、３２０Ｈｚ及び６０８Ｈｚの周波数ピークを有する。
【００５４】
これらの冗長な周波数を消去するため、並びに同一のビート等のエネルギー又はパワーが正確に等しく時間分布しうる他のピークを消去するために、各周波数ビンに付随する時間信号間の相互相関行列がシステムにより算出されるが、より詳しくは後述する。一実施形態において、相関行列は、周波数ビンｆｉ及びｆｊにおける時間信号が性の相関を有するならば、（ｉ  ｊ）の位置に適切に高い値を有する。一実施形態によれば、より高いパワーを伴うビンのある０．５よりも大きな相関係数を有する全ての周波数ビンが切取られる。換言すれば、システムは最大エネルギーの信号を保持し、切取られた相関係数を超えるより低いエネルギーの信号を用いない。相関係数は０．５に限定せず、０．５以外の値も想定することに注意すべきである。これらの残りの周波数に対しては、ブロック３２４において利用されるアルゴリズムは最大折り返し目標を１５％として最適化部及びセグメント化部（ブロック３３０、３３２）を用いるが、他の目標パーセントも想定する。
【００５５】
一実施形態において、システムは、低周波数帯において全ての連続する周波数ビンの間で相関係数を算出する。周期的なスネアドラム・ビート、拍手、他に対応する音声セグメントは、通常は高い帯域のイベントであり、最大の相関係数を検索することにより最も容易に識別される。ローパス検出アルゴリズムにおけるさらなる処理のために、隣の周波数に対して最大の相関係数を有する周波数帯域がシステムにより選択される。二つのランダムな変数ｘ及びｙの相関係数が与えられる。
【数１】
0005922742.tif 000002
【００５６】
高、中及び低周波数信号が切取られセグメント化された後に、上述のように、システム及び方法は、それぞれのサブバンド信号に対するハプティック・イベント候補のリストを生成する。特に、図３に示すように、セグメント化された高周波数サブバンド信号は、高周波数セグメント化ブロック３２２から優先切取りブロック３３４を通過する。加えて、セグメント化された中周波数サブバンド信号は、ブロック３１８から優先切取りブロック３３４を通過する。更に、セグメント化された低周波数サブバンド信号は、ブロック３３２から優先切取りブロック３３４を通過する。
【００５７】
システム及び方法はこれらを通過せずに優先切取りブロック３３４を通じて直接的にハプティック・イベントを単純に出力することも可能であるが、このようにするとエンド・デバイス内のアクチュエータにより、混乱して不明瞭なハプティック感覚が生じる可能性がある。これは、様々なハプティック・イベントが時間的に重複するためであろう。これを克服するために、システムは優先切取りブロック３３４を利用し、それぞれのサブバンド信号からハプティック・イベント候補を優先付けする。
【００５８】
特に、優先切取りブロック３３４は、同一又は異なる周波数サブバンドからの一以上のハプティック・イベントが、互いの特定の時間の期間内に入る場合にアクチュエータによって出力されないようにする。これは、急激及び強大なイベントの重複が互いを相殺することも防ぐ。例えば、ブレーキをかけるパルス等の急激なイベント（下記参照）は、強大なイベントとの両者が同時又は実質的に同じ時間にアクチュエータにより出力されると、早期にこれを中断する場合がある。
【００５９】
実施形態によれば、低、中及び高周波数ハプティック・イベントは任意の優先度において、これらの重複に関わらず、優先切取りブロック３３４によって出力されてもよい。一実施形態において、異なるサブバンドからの二つのハプティック・イベントが互いに重複することが検出されるときに、周波数のサブバンドに優先度を割り当てうる。この優先度は、特定の音楽ジャンル、曲のテンポ、アクチュエータの分解能、及び／又は入力音声信号の情報量（ロス有り対ロス無し、等）に基づいて割り当てうる。
【００６０】
図３に示すように、優先切取りブロック３３４は、優先付けしたハプティック・イベントをエフェクト・マッピング・ブロック３３６に出力する。一実施形態において、エフェクト・マッピング・ブロックは優先付けしたハプティック・イベントを受信し、これらの独立したイベントにハプティック効果を割り当てる。一実施形態において、システムは二つの基本的なハプティック効果、すなわち周期的及び強度依存的なものを利用する。周期的効果により、振動の期間又は速度は強度と独立して明確に制御されうる。周期的効果は、デバイスに依存するが、約３０Ｈｚ以下の振動周波数を正確に生成する。強度依存的効果は、強度及びデバイス依存の速度で振動する。
【００６１】
これら二つの効果の形式は、更に３つの動作形式、すなわち強い、スムーズ及び急激という特徴を有する。それぞれの形式は異なる制御機構を有し、ユーザに対してやや異なる感覚を生じる。強い効果はユーザに最大の感覚を与える効果である。スムーズな効果は、効果の強度は低下し、周期的効果に対して周波数がより高くなる特徴を有する。強度依存性の効果に対しては、この効果の強度は低下しない。急激な効果は、周期的効果に対して強度を減少せずに周波数が最も高くなるが、強度依存性の効果に対してはやや強度を低下させる。
【００６２】
それぞれの効果はシステム又はユーザにより調節又は設定可能なパラメータを備える。周期的ハプティック効果に対するこのようなパラメータは、周期／周波数、期間、アタック・タイム、アタック・レベル、消失時間、消失レベル及びエンベロープを含むが、これらに限定しない。強度依存的ハプティック効果に対するパラメータは、強度、期間及びエンベロープを含むが、これらに限定しない。記載のハプティック効果及び上述の割り当ては例示のみであり、ハプティック効果及び割り当ては多重に用いられる場合があることを認識すべきである。生成される効果は、通常、セグメントにわたる最大信号値（０−１００００に正規化される）となる強度仕様も任意に有している。
【００６３】
図８に、上述の入力音声信号に付随する楽曲に対するハプティック・イベントのシーケンスの時間−シンボル表示を例示する。図８に示すように、時間−シンボル表示８００は、入力音声信号８０２の時間−周波数グラフを含む。加えて、時間−シンボル表示８００は、低音８０４として示す低周波数サブバンド、ハイパス８０６として示す高周波数サブバンド、及びボーカル８０８及び中域アクセント８１０として示す二つの中周波数サブバンドを備える。
【００６４】
図８に示すように、システムは、一度にひとつのハプティック・イベントのみが発生し、指定された期間により隣接するハプティック・イベントから分離するように、それぞれのサブバンドにハプティック・イベントをマップする。一実施形態において、システムは、それぞれのイベントに対するハプティック効果が互いに類似していない場合に、一以上のハプティック・イベントが一度に発生することを許容する。例えば、図８に示すように、システムは、強い強度依存性の効果８０８Ａ、８０８Ｂ及び短期間効果８０４Ａ、８０６Ａが、ユーザにより二つの分離したイベントとして効果的に感じられることを考慮して、重複を許容する。図８に表す例示においては、システムは、高周波数ハプティック・イベントを超えて低周波数ハプティック・イベントに優先度を与えるように構成される一方、中周波数ハプティック・イベントは高周波数及び低周波数ハプティック・イベントとの重複が許容される。システムは、ユーザ、エンド・デバイスにより、又は入力音声信号それ自身により構成され、任意の又は全ての周波数サブバンドに対して優先度及び重複する権利を与えることを注意すべきであり、これは図８に示すものに限定しない。
【００６５】
上述の一以上の実施形態において、システムは、標本化された音声信号に対応し、ユーザに愉快な様式で出力されるハプティック・イベントを自動的に受信、識別、及び生成することが可能である。システムは、符号化音楽ファイルに対応するハプティック・イベントを生成するために、ＭＩＤＩファイルを含むが限定しない表現的に構造化された符号化音楽ファイルを受信及び処理することも可能である。表現的構造化ファイルは音楽ファイルとして本願明細書に記載されているが、表現的構造化ファイルは効果音、又は音声に付随する他のイベントを有するファイルである場合があることに注意すべきである。
【００６６】
図９は、実施形態に係る楽曲を作製している一連のＭＩＤＩイベントの時間−音符表示である。ＭＩＤＩファイル・フォーマットは同時に１６の楽器チャネルを備え、これにより各チャネルは演奏可能な１２７個までのユニークな音程（キーと呼ぶ）であるイベントを有することが可能である。加えて、ＭＩＤＩファイル・フォーマットは、一般的に音程のない打楽器のために予約されたチャネルを備える。打楽器はキー範囲を横切るように打楽器チャネルに配置される。
【００６７】
図１０に、実施形態に係る楽曲を作製している一連のＭＩＤＩイベントの時間−楽器−音符表示を示す。ＭＩＤＩ音楽ファイルにおいては、全ての楽器の全ての音符は、システムによりハプティック・イベントであると指定されてもよいイベントである。しかしながら、アクチュエータに関する物理的及び性能上の限界を考慮して、システムはＭＩＤＩファイルを分析及び処理し、ユーザが楽しみうるハプティック経験を生成する独立したハプティック・イベントを生成する。
【００６８】
図１１Ａ、１１Ｂ、及び１１Ｃは、一体として、システムがＭＩＤＩファイルを自動処理してエンド・プレイヤにおいて独立したハプティック・イベントを生成するために用いられる方法のフロー図を示す。一般的に、システムはＭＩＤＩデータを分析し、構造化表現から旋律及び／又は打楽器イベント・シーケンスを抽出する。次いでシステムは、それぞれの楽器に対応するそれぞれのチャネルに対してスコアを生成し、これにより非打楽器系チャネルのスコアは当該チャネルにおける音符の可変性に関連づけられる。これは、経験的には、他の方法からは未知の入力チャネルのセットから旋律を選択することに有効であると考えられてきた。打楽器に関しては、スコア付けの方針は、種々の打楽器の支配性についての先験的な知識に依存する。例えば、バスドラムは、最も支配的な打楽器系チャネルと考えられるので、打楽器系チャネルにおいてバスドラムに伴う音符は一般的により高いスコアを受ける。
【００６９】
ＭＩＤＩシーケンスから入力チャネルをスコア付けることに加えて、エンド・デバイス内に独立したハプティック・イベントが生成できるようにするために、システム及び方法はイベントについて一以上の切取り操作を実施する。一実施形態において、システムは一以上の音符を所望の期間に切取り、コード等の重複する音符を除去するためにチャネルを処理する。一実施形態において、システムは、他のチャネルを超える一以上のチャネル（例えば、打楽器対旋律）の相対的な優先度を制御するために操作される場合がある多数のパラメータに基づいて構成可能である。
【００７０】
図１１Ａに示すように、選択された一つの、いくつかの、又は全てのＭＩＤＩシーケンスのチャネルがシステム（１１０２）内に受信される。シーケンスはエンド・デバイスのメモリ、エンド・デバイスと通信するサーバ、及び／又は他の中間構成要素、コンピュータ又はプロセッサにインポートされる。一実施形態において、インポートされたＭＩＤＩファイルからの情報は実際にはハプティック・イベントの生成には用いられず、実際にはメモリから消去される。一実施形態において、実際にはハプティック・イベントの生成に用いられない情報は、開発者又はエンド・ユーザによるハプティック・イベントの再構成又は微調整を可能とするために。システムに保持されてもよい。
【００７１】
一実施形態において、システムはファイル受信後にこれに対する様々な前処理手順を実施する。一実施形態において、システムは、イベントのタイムラインを分析することにより（図１１Ａ、ブロック１１０４）、イベントにおける前の音階の識別及び次の音階の識別を実施する。ブロック１１０４では、一実施形態において、各チャネルには、あるイベントから同一チャネルにおける以前のイベントへのリンク設定の処理が行われる。各チャネルには、あるイベントから同一チャネルにおける次のイベントへのリンク設定の処理も行われる。一実施形態において、システムは、構造化音声表現ファイル全体のタイムラインを一度に分析する。別の実施形態において、システムは、音声表現ファイルの部分的なタイムラインを一度に分析する。これにより、システムは、長いタイムラインを有する大きな音声ファイルを迅速に処理することができる（映画の効果音等）。
【００７２】
図１１Ａに示すように、次いでシステムは、ブロック１１０６に示すように旋律及び打楽器イベントが発生するチャネルを識別することにより、関心の旋律及び打楽器イベントを識別する。旋律及び打楽器イベントを識別すると、システムは、図１１Ｂの旋律イベント（ブロック１１１６）及び打楽器イベント（ブロック１１３２）をスコア付けするために、識別されたイベントを効率的に利用することができる。
【００７３】
図１１に示すように、システムは、一実施形態（１１０８）においてコードを除去するために各チャネルを適宜処理する。一実施形態において、システムはＭＩＤＩファイルから、同一チャネルにおいて相互のある期間内に開始し、かつ非打楽器チャネルにあるイベントとしてコードを識別する。一実施形態において、この期間は１５ｍｓに設定されるが、他の時間の期間も想定する。一実施形態において、システムは、いったんＭＩＤＩイベント・チャネルにおいてコードを識別すると、最も高い音程を有するイベントのみを保持し、当該コードを生成する他のイベントをタイムラインから破棄する。別の実施形態において、システムは最も高い音程のイベントを除去し、より低いか又は最も低い音程のイベントを保持する。詳細に後述するように、タイムラインからコードを削除することにより、多くのコードを有するチャネルに与えるスコアを削減し、これによりシステムはタイムライン内の旋律を識別しやすくなる。
【００７４】
１１１０において、システムは、同じ又は実質的に同じ時間において同一又は同一に近い音符を有するチャネルペアを識別する。これは二以上の楽器が和音を演奏するときにしばしばある（例えば、２本のギターが同じリフを同時に演奏する等）。各チャネルに対して時間サンプリングされた時間上のベクトルが生成され、ここで時間上とはイベントが発生する点のことである。システムは各チャネルのイベントを調査し、イベントが発生する時間的な期間に対して数値の１を設定することにより、これを達成する。さもなければ、ベクトルには数値の０が設定される。これにより長さｎのベクトルのセットが生成される。
【数２】
0005922742.tif 000003
式中、ＴはＭＩＤＩ入力ファイルの全期間であり、ｔｓはサンプリング期間である。
【００７５】
重複する音符を有するチャネルを識別するために、チャネルのそれぞれに対して補正計算が行われる。
【数３】
0005922742.tif 000004
式中、ｖｉ、ｖｊは時間サンプリングされたベクトルであり、σ１は時間シリーズとして扱われるベクトルｖの標準偏差である。二以上のチャネルの補正が補正しきい値を超えるならば、チャネルの一部又は全体がタイムラインから除去される。
【００７６】
例えば、図９に戻って参照すると、チャネル９０２及び９０４は、ライン９００及び９０８の間で実質的に同一であることが示されている。システムは、いったんチャネル９０２及び９０４において上述の計算を実施すると、これらが同一の旋律を同時に演奏することを考慮し、二つのチャネルのひとつを除去する。二つのチャネルのいずれが除去されるかは、ユーザ及び／又はシステムにより設定されるパラメータに依存する。
【００７７】
図１１Ａに示すように、システムは切り取り処理（１１１２）を用いて最大長及び最小長を設定することにより、イベントを所望の長さに制限する。システムは、所定の最短期間よりも短いイベントを切り取り、少なくとも最短期間と同じ長さとする。加えて、所定の最長期間よりも長いイベントは変更又は切り取られ、最長期間以下とする。更に、二以上のイベントにおいて間隔の期間が所定の最短以下であるものは、少なくとも最短の間隔の期間を有するように変更される。これは、最短の間隔の期間を生成するために、シーケンス内イベントの一方又は両方を短縮することにより行われてもよい。
【００７８】
ここで図１１Ｂに戻り、システムは、いったん各チャネルのインポート及び前処理を完了すると、受信ファイル内の各チャネルのスコア付けを初期化する（１１１６）。一実施形態において、システムは、受信ファイルのインポート／前処理が実行されているときにスコア付け処理を開始しうることに注意すべきである。一実施形態において、システムは、ファイルのインポート／前処理が実施された後にスコア付け処理を開始する。
【００７９】
一実施形態において、システムは２組のルールセットを用いてチャネルをスコア付けする。第一のルールセットは、何らかの可変性を有して旋律を受けもつらしいチャネルに、より高いスコアを与えるよう設計される。第二のルールセットは、曲中のリズムを定義する伝統的な重要性の観点から、打楽器チャネルへのランキングを提供する
【００８０】
スコア付けは、タイムライン内の全てのイベントを調査することにより完成する。各イベントは、個別のイベントに対するスコアを割り当てるスコアリングフィルタに通される。全てのイベントが処理されると、タイムラインを介する第二のループにより各チャネルにおける全てのイベントに対するスコアが導出され、チャネルごとの全スコアが得られる。一実施形態において、これは、単純にイベントのスコアを積算することにより行われる。別の実施形態において、これは、適切なアルゴリズムを用いて行われる。図１１Ｂに示すように、システムは、一実施形態において旋律及び打楽器のイベントを別個にスコア付けするが、スコア付けは同時でもよく、次々に行われてもよい。一実施形態において、システムは、旋律及び打楽器のイベントをまとめてスコア付けすることができ、これにより一つの種類のイベント（旋律又は打楽器）に対して計測される情報を、他の種類のイベント（すなわち、打楽器又は旋律）を分析又は評価するために用いてもよい。
【００８１】
タイムライン内の旋律のイベントに対して、システムは、図１１Ｂの１１１６に示すように、イベントのスコア付けにおけるルールのサブセットを利用する。一実施形態において、サブセットのルールのそれぞれはシステムにより同時に実行される。一実施形態において、一以上のサブセットのルールはシステムによりシーケンス内で実行される。
【００８２】
図１１Ｂに示すように、システムは、一実施形態のブロック１１１８に従ってイベント間の音程変化をスコア付ける。ブロック１１１８のように、システムは、現在のイベントの音程と、一以上の以前のイベントの音程との差の絶対値を計算し、これによりそれぞれの音程は計測値を有する。システムは、音声表現ファイルに固有に符号化されたチャネルデータから音程の値を割り当てることができる。一実施形態において、この差は、音程スコアとしての出力である。一実施形態において、この差の値は、音程スコアを得るための所定の係数（例えば５００）によりスケーリングされる。
【００８３】
図１１Ｂに示すように、システムは、一実施形態のブロック１１２０に従ってイベント間の開始時間をスコア付ける。ブロック１１２０のシステムは、リズムがチャネル内で演奏されているか否かを決定するためにイベント期間を分析する。一実施形態において、ブロック１１２０において、開始時間における差は、イベントと直前のイベントとの間で計算される。一実施形態において、ブロック１１２０において、開始時間における差は、直前のイベントと直前のイベントに先行するイベントとの間で計算される。一実施形態において、システムは、開始時間スコアの出力前に、これらの差を重みづけする。一実施形態において、重みづけの量は５倍である。しかしながら、５以外の係数も想定する。ファイル中の他のリズム又は曲のジャンルによっては、システムは、適切に分解されたハプティック・イベントを出力するように、これらの期間をより高く又はより低くスコア付けてもよい。
【００８４】
図１１Ｂに示すように、システムは、一実施形態のブロック１１２２に従ってイベントの大きさ又は強度をスコア付ける。ブロック１１２２は、イベントの大きさの関数に基づいて等しいスコアを指定する。システムは、構造化表現ファイル内に固有に符号化されたチャネルデータから、各イベントの大きさを決定することができる。
【００８５】
図１１Ｂに示すように、システムは、一実施形態におけるブロック１１２４に従ってイベントの期間をスコア付ける。ブロック１１２は、イベントの期間の関数に基づいてスコアを指定する。一実施形態において、システムは、より短い期間を有するイベントよりも、より長い期間を有するイベントに、より高いスコアを割り当てる。別の実施形態において、システムは、より短い期間を有するイベントよりも、より長い期間を有するイベントに対して、より低いスコアを割り当てる。
【００８６】
図１１Ｂに示すように、システムは、一実施形態のブロック１１２６に従って、イベント期間の変化をスコア付ける。特に、システムは、ブロック１１２６において現在のイベントと以前のイベントとの期間の変化に基づいてスコアを指定する。
【００８７】
図１１Ｂに示すように、システムは、一実施形態のブロック１１２８に従ってイベントの期間の変化をスコア付ける。特に、システムはブロック１１２８にあるイベント内の各音符以前の無音期間に基づいてスコアを指定する。例えば、特定のチャネルにおいて長い無音期間後に発生するイベントを指定するならば、システムはハプティック・イベントとしての出力になりそうなイベントに対して高いスコアを割り当てる。この例では、ドラムロールの最後でのシンバルクラッシュであろう。
【００８８】
一実施形態において、ブロック１１３０に図示するように、旋律のイベントはそのエントロピーに関連してシステムにより適宜スコア付ける。このルールを評価する過程において、システムは、あるチャネルに割り当てられるスコアと、そのチャネルに伴う音響エントロピーとの関係を利用してもよい。それぞれの旋律チャネルのエントロピーを評価するために、音符の分布をシステムに導入する。音符の音程が等価なクラス｛ｐ（ｋ），ｋ＝１．．１２｝を定義するために伝統的な１２音階を用いる。各イベントは、１２音階のいずれの音にイベントのキーが関連づけられるかに従って分類される。知覚アクセント・ルールを用いて各イベントの寄与を拡大縮小して分布を構築し、これにより重みづけを式４から決定する。
【数４】
0005922742.tif 000005
式中、変数ｄは現在のイベントと以前のイベントとの間の無音期間（秒）である。変数τは飽和休止長（ｓａｔｕｒａｔｉｏｎ  ｒｅｓｔ  ｌｅｎｇｔｈ）（０．５秒にとる）及び最小弁別可能期間（ｍｉｎｉｍｕｍ  ｄｉｓｃｒｉｍｉｎａｂｌｅ  ｄｕｒａｔｉｏｎ）（２秒にとる）である。飽和休止長及び最小弁別可能期間は他の値も考えられ、本願明細書にて言及の値に限定されないことに注意すべきである。
【００８９】
この分布のエントロピーは、式５の数式を用いて計算される。
【数５】
0005922742.tif 000006
式中、ｐ（ｋ）は１から１２（１２音スケールに対して）の調性の音程のクラスである。
【００９０】
旋律イベントをスコア付けることに加えて、システムは、図１１Ｂのブロック１１３２に示すように打楽器イベントをスコア付ける。一実施形態において、システムは、打楽器イベントのスコア付けにおいて二つのルールを利用する。特に、システムは、それぞれの打楽器の音符の前の無音期間をスコア付ける。無音期間はミリ秒と考えられ、スコアは一実施形態において重みづけされる。一実施形態において、スコア付けされた無音の値は数値４で除算されるが、他の値も想定する。
【００９１】
図１１Ｂに示すように、システムは、それぞれの打楽器に打楽器の種類による数値を割り当てる。一実施形態において、システムによりそれぞれの打楽器に対して、支配的な楽器ほど高い値となるように１から５の重み値が割り当てられる。例えば、バスドラム楽器に対する属性となるイベントには値５が与えられ、一方でハイハット・シンバルの属性となるイベントには値１が与えられる。一実施形態において、これらの値はイベントあたりのスコア生成において係数（例えば１００）により重みづけされる。打楽器イベントに対する全イベント・スコアは、これらのルールのサブセットに基づく。
【００９２】
一実施形態において、打楽器系及び旋律系のルールの両者に対するスコア付けの積算は、チャネルの絶対的なランキングが生成されるときに、旋律系の楽器を打楽器系のものよりも強調するよう、システムにより重みづけられる。この過程は、チャネルのスコアが生成されるときにブロック１１３８で発生する。重みづけは、音楽のジャンル、音声ファイルの種類（例えば、ビデオの音楽と効果音の対比）、ユーザの好み、エンド・デバイスの種類、他に基づいてもよい。
【００９３】
チャネルごとのスコア生成を追って図１１Ｃに戻り、システムは、ブロック１１４２に示すように、スコアの値に基づいてチャネルを並び替えることができる。一実施形態において、システムは、旋律系のチャネルと打楽器系のチャネルを別々に並び替えるが、両方の種類のチャネルをまとめて並び替えることも可能である。一実施形態において、スコア付けられたチャネルは降順に並び替えられ、これにより最大スコアを有するチャネルが「高い」ランクとなる。一実施形態において、スコア付けられたチャネルは昇順に並び替えられる。一実施形態において、システムは、所望のスコア範囲内にあるか又は所望のスコアと有するチャネルを並び替える。一実施形態において、システムはこれらのスコアを最大から最小にランキングし、最高ランクのイベントがハプティック・イベントとして出力され、最低ランクのイベントはハプティック・イベントとしては出力されない。
【００９４】
システムがスコアに基づいてチャネルをランキング又は選択すると、システムはどのチャネルがハプティック・イベントの基礎となるイベントを提供するかを決定することができる。一実施形態において、システムは以下の擬似コードを用い、ブロック１１４４でハプティック効果を生成する。
【数６】
0005922742.tif 000007
【００９５】
換言すれば、システムは、自動的に最高ランクのハプティック・イベントを曲の最初から最後までマッピングする。従って、システムは「空白を埋め」て再び曲の空白又は非ハプティック・イベント部分の中に置き換え可能な次の最高ランクのハプティック・イベントをマッピングする。アクチュエータの分解能、クッション期間、ユーザの好み、ハプティック効果のスタイル及び曲の種類を考慮し、許容された最大数のハプティック・イベントが曲中にマッピングされるまで、この過程を繰り返す。上述は例示の擬似コードのみであり、システムは異なるクッション期間を利用してもよく、並びに最低にスコア付けられたチャネル又は他の規範を利用してもよいことに注意すべきである。
【００９６】
イベントがハプティック・イベントとして割り当てられると、システムは所望の範囲内の期間を有するようにハプティック・イベントを切り取る。一実施形態において、切り取り範囲は２００ｍｓから３００ｍｓの間であるが、より長い又はより短い期間も想定し、ハプティック・アクチュエータの特性に依存してもよい。加えて、イベント開始時間は、異なる種類のアクチュエータにおいて音声とハプティック・イベントとの知覚的な結合を確実にするために所望の量だけオフセットされうる。一実施形態において、ハプティック・イベントの強度はシステム内で調節してもよい。例えば、最短期間をより小さな値に設定してもよく、クッション時間を増してもよい。
【００９７】
図１１Ｃに示すように、一実施形態においてシステムは打楽器系の重複を削除する。システムは、「空白を埋める」アルゴリズムを用いて旋律系及び打楽器系チャネルを独立して適宜構築し、次いでこれらを結合して最終的にマッピングされたハプティック・イベントを生成する。これは、急峻な効果が重なり合うと予想外の雰囲気が得られるように、「強い」効果のみが用いられているときに最も効果的と思われる。あるいは、システムは、打楽器系イベントの重複があるハプティック・イベントの強度を抑圧することも可能であり、これにより抑圧されたハプティック・イベントは次いで最大強度で出力される。これにより、エンド・デバイスに、旋律を保存しながら知覚的にリズムの強調が表される特徴が提供される。
【００９８】
一実施形態において、システムは構造化表現信号のタイムライン内のある点に、カスタム・フェード（ブロック１１５０）を加えることができる。デザイナは、長い期間の音符に、より短いフェードアウトする効果を選択して置き換えてもよい（例えば５００ｍｓ）。同様に、類似のフェード効果を追加することにより、フレーズ又は旋律の最後をより強調することも可能である。
【００９９】
一実施形態において、システムは、上述のルールに従ってタイムラインに追加されるような長い期間（約５００ミリ秒以上）を有するイベントを探す。特定のイベントと次のイベントとの間に大きな時間のギャップ（約１０００ミリ秒）があると、システムは自動的に特定のイベントをフェードイン又はフェードアウトさせてもよい。このアプローチを実装するために、システムは、フェードイン又はフェードアウトの特徴又は特性を有するそのようなハプティック・イベントを識別して列挙構築する。タイムライン全体が構成された後に、システムはこのリストにより、存在するハプティック・イベントをフェードしたハプティック・イベントに入れ替える。フェード効果は、周期的な、又はその全体の期間に対して減衰する強度依存的な効果として実装されてもよい。
【０１００】
デジタル標本化された音声及び／又は上記記載の構造化表現ファイルを変換する方法により、音符からハプティック・イベントへの自動変換が可能である。いったん変換されると、これらのハプティック・イベント・シーケンスは保存され、適切な方式により他のエンド・デバイスに再配布することができる。例えば、ハプティック・イベント・シーケンスは、ネットワーク上で一以上のクライアントと通信するサーバに出力ファイルとして保存されてもよい。クライアントとの通信が確立すると、サーバはクライアントにおいて電気的に演奏される出力ファイルを送達してもよい。同様に、ハプティック・イベント・シーケンスは当業に公知の様々な設定において用いることが可能である。例えば、ユーザに電話の呼び出し又はアポイントメント等のイベント、アラーム、天気予報等の受信メッセージ又はテキストメッセージ等を知らせることである。一実施形態において、構造化表現ファイルは、ファイルの自動変換によりボーカル歌手に合図を出し、その後にカラオケ曲に適用されてエンド・デバイス（例えばカラオケマイク）がハプティック効果を出力してもよい。一実施形態において、エンド・デバイスは、エンド・デバイスへのダウンロードが可能なビデオ、ビデオゲーム、音楽ビデオ又は映画フィルムの効果音又は他の音声に対するハプティック・イベントを自動変換し、マッピングし、出力することができる。
【０１０１】
本発明の実施形態及び応用を図示し記載してきたが、本開示の利益を有する当業者であれば、本願明細書の発明の概念から離れることなく上述以上により多くの変形が可能であることは明白であろう。従って、本発明は添付の特許請求の範囲の主旨のみにより限定される。
【図１】
0005922742.tif 000008
【図２】
0005922742.tif 000009
【図３】
0005922742.tif 000010
【図４】
0005922742.tif 000011
【図５】
0005922742.tif 000012
【図６】
0005922742.tif 000013
【図７】
0005922742.tif 000014
【図８】
0005922742.tif 000015
【図９】
0005922742.tif 000016
【図１０】
0005922742.tif 000017
【図１１Ａ】
0005922742.tif 000018
【図１１Ｂ】
0005922742.tif 000019
【図１１Ｃ】
0005922742.tif 000020