(58)【調査した分野】(Int.Cl.,DB名)
前記イベントスコアは、前記複数のオーディオイベントのうち現在のものの音の高さと、前記複数のオーディオイベントのうち先行するものの音の高さとの間の違いに基づいて割り当てられる
請求項1に記載の方法。
前記イベントスコアは、前記複数のオーディオイベントのうち現在のものと、前記複数のオーディオイベントのうち先行するものとの間の開始時間の違いに基づいて割り当てられる
請求項1に記載の方法。
前記イベントスコアは、前記複数のオーディオイベントのうち特定のものと、前記複数のオーディオイベントのうち隣接したものとの間の期間中の変化に基づいて割り当てられる
請求項1に記載の方法。
前記複数のオーディオチャネルの非打楽器のもの内の前記複数のイベントのそれぞれについてのイベントスコアは、前記複数のオーディオイベントのうち現在のものの音の高さと、前記複数のオーディオイベントのうち先行するものの音の高さとの間の違いに基づいて割り当てられる
請求項1に記載の方法。
【発明を実施するための形態】
【0014】
主題の実施形態は、音声からハプティックへの自動的な変換のためのシステムの文脈において本願明細書に記載される。当業者であれば、以下の本発明の詳細な記載は例示のみであり、いかなる制限をも意図していないことを理解するだろう。本発明の他の実施形態は、本開示の利益を有する当業者には直ちにこれら自身が示唆を与えるであろう。添付図面に示す本発明の実装に対しては詳細に参照する。同一又は同様のものを参照するために、図面及び以下の詳細な記載を通じて、同じ参照符号が用いられる。
【0015】
明確さを重視し、本願明細書に記載した実装のルーチン的な特徴は、必ずしも全てを図示し記載していない。もちろん、任意のこのような実際の実装の開発においては、アプリケーション及びビジネスに関連した制約へのコンプライアンス等の、開発者の特定の目標を達成するために無数の実装を特定した決定が行われる必要があり、これらの特定の目標は実装によっても開発者によっても変化するであろうと考えられる。更に、このような開発努力は複雑で時間を要する場合があるが、それでもなお、本開示の利益を有する当業者にとっては技術のルーチン的実施であると考えられる。
【0016】
本願明細書に記載の主題に従った、構成要素、システム、デバイス、方法ステップ、及び/又はデータ構造は、様々な種類のオペレーティング・システム、コンピューティング・プラットフォーム、コンピュータ・プログラム、及び/又は汎用機器を用いて製造、動作、及び/又は実装されてもよい。加えて、当業者であれば、ハードウェア組み込みデバイス、現場でプログラム可能なゲートアレイ(FPGA)、特定アプリケーション向け集積回路(ASIC)、又は同様のもの等の、一般用途の性質が低いデバイスもまた本願明細書に記載の発明の概念の範囲及び精神を外れることなく使用してもよいことを認識するだろう。発明を含む方法がコンピュータ、デバイス、又は機械に実装され、指示のように方法が機械読み取り可能に保存される場合、それらは、ROM(読み出し専用メモリ)、PROM(プログラム可能な読み出し専用メモリ)、EEPROM(電気的に消去可能なプログラム可能な読み出し専用メモリ、フラッシュ・メモリ、ジャンプ・ドライブ、及び同様のもの)、磁気保存媒体(例えば、テープ、磁気ディスク・ドライブ、及び同様のもの)、光学保存媒体(例えば、CD−ROM、DVD−ROM、紙カード及び紙テープ、及び同様のもの)及び他の公知形式のプログラムメモリ等、有形の媒体に保存されてもよいが、これらに限定しない。加えて、人間の又は創造的な判定を必要とせずに、方法はソフトウェア・ツールを用いる人間のオペレータにより実施しうることを認識すべきである。
【0017】
本願明細書に記載の方法及びシステムは、デジタル・ファイルを受信して自動的に当該ファイルをハプティック・イベントに変換することを目的とする。一実施形態において、受信ファイルは、標本化デジタル又はデジタル化されたアナログの音声ファイルからなる。別の実施形態において、受信ファイルは構造化表現ファイル(例えば、MIDIファイル)である。MIDIファイルは本願明細書において構造化表現ファイルという用語で記載されるが、任意の他のプロトコルがシステムに用いられてよく、これによりプロトコルは音声、ビデオ又は他の信号でありうる構造化表現ファイルを利用する場合があることに注意されたい。変換されるハプティック・イベントはエンド・デバイスにより出力処理され、ユーザはこのエンド・デバイス及び/又は他のデバイスにより出力される音声に対応する愉快なハプティック経験を経験する。エンド・デバイスには、音声プレイヤ、PDA、コンピュータ、テレビ、ビデオゲーム機、コンピュータ周辺機器(例えば、マウス、ジョイスティック、ローラ・ボール、キーボード)、ステアリング・ホイール、家具、スライダ、ノブ、ヘッドホン、タッチスクリーン、携帯型又は非携帯型ラジオ、一方向/二方向ページャ及び他の適切なユーザ操作可能デバイスが挙げられるが、これらに限定しない。
【0018】
システム及び方法はエンド・デバイスによる出力であることを本願明細書に記載するが、複数のエンド・デバイスが同時又は様々な時間で、実施形態に従って同一のハプティック・イベント及び/又は異なる分量の同一のハプティック・イベントを出力してもよいこともまた注意されたい。エンド・デバイスは一以上のアクチュエータを内蔵してもよいことに注意されたい。エンド・デバイス内の複数アクチュエータの実施形態において、複数アクチュエータにより出力されるハプティック・イベントはそれぞれのハプティック・イベントに対して同時に、選択的に、交互に、及び/又は独立して行われてもよい。
【0019】
図4に、実施形態に従ってシステムを具体化する全体的なアーキテクチャを示す。
図4に示すように、様々な信号源(source)がシステム300に入力信号99を提供する場合がある。例えば、デジタル標本化された音声信号又は構造化表現信号は、サーバ402、音声信号源(CD、DVD、DAT他)、ホスト・コンピュータ406、モバイル・デバイス408及び/又は商用キオスク410から受信される場合がある。入力信号は電線又は無線の私用又は公用ネットワーク98を介してシステム300の受信モジュール412に送られる。次いで信号は、より詳細は後述するように、プロセッサ414により処理される。処理後、システム300は、ポート416を通じて一以上のエンド・デバイス420に、有線又は無線によりハプティック・イベント・シーケンスを出力する。エンド・デバイス420は、ハプティック・イベント・シーケンス(音声を伴う場合も伴わない場合もある)を有する出力ファイルを受信すると、次に適宜音声スピーカ424と共に一以上のアクチュエータを用いてハプティック・イベントを出力しうる。
図4に示したアーキテクチャは実施形態であり、これには本願明細書に記載の主題の範囲を外れることなく追加の及び/又は代替の構成要素が利用されてもよいことに注意されたい。
【0020】
図面に戻り、
図1は、音符、コード及び休止を含む伝統的な楽譜スタイルを用いて視覚認知可能な様式で表現された楽曲部分100を示す図である。楽曲は、例えばデジタル標本化形式又は構造化表現形式で再生及び録音される場合がある。それぞれの音楽記号は機械振動の周波数を表す。音階の形式(例えば、A、A#、B、C、C#、D、D#、E、F、F#、G、G#)は音程の点において互いに異なっている。全音符、二分音符、四分音符、八分音符、十六分音符、及び同様のものはそれぞれの音符又は周波数に対する再生期間を表す。同様に、全休符、二分休符、四分休符、八分休符、十六分休符、及び同様のものは音符が再生されない時間の長さを表す。音符及びその長さのシーケンスは、いかなる周波数がいかなる時間で再生されるかという表現を決定するものである。
【0021】
本発明の実施形態は、デジタル標本化された音声ファイルにハプティック・イベントを自動的にマッピングすることを目的とする。標本化された音声源(及びファイル)は、WAV、MP3、MP4、ACC、ASX、WMAフォーマットを有するがこれらに限定せず、全て、標本化レート及び時系列サンプルのセット(しばしば左及び右チャネル)等の基本的に同一の形式の情報を提供するものである。しかしながら、構造化表現ファイルとは異なり、標本化された音源からは楽器、音程、テンポ又は他の音楽的コンテキストについての明示的な情報は利用できず、全体が描写された音声のみが利用可能である。
図2に、標本化された音声信号の時間−振幅グラフを例示する。
【0022】
加えて、又は代替として、システムは構造化表現信号からハプティック・イベントを自動的にマッピングしうる。特に、音声ファイルの特定の構造化表現が与えられると、システムは、構造化表現信号により固有に提供されるデータを分析することによりハプティック・イベントを自動的にマップしうる。しかしながら、いずれかの形式のファイルを自動的にマッピングすると、入力信号は注意深く処理され、ファイル内の音声信号から愉快で明確なハプティック・シーケンスを生成するために、エンド・デバイス内のアクチュエータの性能制限により分析は単純化される。
【0023】
現在のハプティック技術は、約4個のハプティック・イベントを同時に再生し、約1msの制御ループで動作可能である。これは現状のアクチュエータの制限による。現状の偏芯回転質量(ERM、Eccentric Rotating Mass)モータ技術には制限があり、ハプティック効果の同時再生は予期しないアクチュエータの挙動を生じうる。同様にERMモータは機械的帯域が比較的狭く、ハプティック・イベントの周波数は毎秒約4個のハプティック・イベントに制限される。ERMモータはピーク加速度に到達するまでに約50−80msの始動遅延もあり、このようなERMモータを駆動するハプティック制御信号の生成において、この始動遅延を考慮しておかなければならない。本願明細書に記載の主題の文脈においてはERMモータを記載するが、他の形式のモータ又はアクチュエータを、エンド・デバイス、ハプティック効果の解決、変換すべき音声のデジタル品質、及び使用アプリケーションの形式に依存して用いてもよいことを想定する。例示のみとして、アクチュエータは、ERMモータよりも優れた分解能を有するリニア共振アクチュエータ(LRA)でもよい。他の形式のアクチュエータには、リニア電流制御モータ、ステッピング・モータ、磁気アクチュエータ、空気圧/水圧作動アクチュエータ、トルク発生器(角度範囲を制限したモータ)、及びボイスコイル・アクチュエータを含んで想定するが、これらに限定しない。
【0024】
ハプティック動作可能なエンド・デバイスに触れているユーザに愉快なハプティック経験を提供するためには、システムは一つの期間内にあまりに多数のハプティック・イベントを生成してはならない。加えて、ハプティック・イベントは、一定振動又は「ずれ」を生成しないために十分な間隔で離れなければならないが、それでもなお効果音、音楽のテンポ、及び/又は旋律と一致しなければならない。キー変化、旋律遷移、及び同様のもの等の例外的イベントがハプティック・イベントにより強調されなければならないことがしばしばある。音楽のリズムが、音声プログラム信号のテンポ及び音楽プログラム信号の始まりに対する当該テンポの位相オフセットを識別することにより強調されなければならないことがしばしばある。前もって実質的にある量の沈黙を有する音声イベントは、音楽中のアクセント(例えば、シンバル、効果音としての車の衝突)によりハプティック・イベント類似である場合もある。
【0025】
図3は、実施形態に従って受信したデジタル標本化信号をマッピングするハプティック効果のためのシステム及び方法を示す、方法のブロック図である。一般的に、実施形態によれば、受信標本化音声入力は、受信されてシステムにより自動的に「変換」又は「マップ」され、信号中に識別される音声イベントの再生と共に、同調しているエンド・デバイスにおいてハプティック効果の再生を制御するハプティック制御信号又はハプティック・イベントを生成する。
図3のブロックはアナログ又はデジタル・ハードウェアでありうる一般的な構成要素として示され、ハードウェア組み込み回路、集積回路、及びASICが挙げられるが、これらに限定しない。加えて又は代替として、
図3のブロックは、プロセッサ及びメモリ内に具体化されるか又はこれに用いられる、ルーチン、サブルーチン、コード、スレッド及び同様のソフトウェア・コード構成要素である。
【0026】
図3の実施形態によれば、受信標本化音声信号は、ブロック310内のコンピュータ機器のメモリにロードされる。コンピュータ機器は通常のパーソナル・コンピュータ、処理モジュール、サーバ、クライアント、上記定義のエンド・デバイス自身、又は十分な処理能力を有する任意の他の電子機器でもよい。標本化音声信号はコンパクト・ディスク(CD)、ミニディスク、DVD、DAT、ハード・ドライブ又は他の媒体から取ってもよい。一実施形態において、音声信号は商用又は非商用のウェブサイトから直接(有線又は無線で)ダウンロードされ、次いで変換されてエンド・デバイスにより再生可能である場合がある。別の実施形態において、音声トラックは遠隔的に変換された後にサーバに保存され、変換されたハプティック・トラックはサーバから一以上のエンド・デバイスに直接ダウンロードして再生可能である。一実施形態において、受信ファイルはシステムによりオフライン処理され、ファイルの一部又は全体をシステムは受信後に処理する。一実施形態において、受信ファイルはシステムによりリアルタイムの様式で処理され、これによりシステムはファイルを受信しながらデータを処理して出力する。
【0027】
受信ファイルは、Microsoft Windows(登録商標) Media Player、RealPlayer(登録商標)、iTunes(登録商標)、MusicMatch Jukebox(登録商標)、又はサーバ及び/又はエンド・デバイス上の他の専用プログラム等、市販コンピュータ・ソフトウェア・プログラムに含まれるファイル・リーダ/プレイヤへの入力でもよい。あるいは、PCM形式の出力を生成する任意のコーデック(エンコーダ/デコーダ)をシステムと共に用いてもよい。
【0028】
一実施形態において、システムは標本化音声を単一(モノラル)の入力信号として受信する。一実施形態において、システムは標本化音声をステレオ又は例えばプリミックス又はサブセレクトにより変換又はマップされる多チャネル入力として受信する。加えて、所望により、複数のハプティック・トラックが同時に又は異なる時間において処理されうる。
【0029】
後に、入力信号は、一実施形態におけるシステムの任意メモリにロードされる。システムはメモリからその信号を回収し、ブロック312において時間あたりのエネルギー内容及び周波数の観点から入力信号を分析する。一実施形態において、システムはブロック312における音声信号のエネルギー分布データを生成するために、窓処理付き高速フーリエ変換(FFT)アルゴリズムを用いる一実施形態において、ウェーブレット変換を含むがこれに限らず、信号のエネルギー分布情報を生成するために任意の他の適切な手順又はアルゴリズムが利用される。スペクトル分解分析は、信号処理においてシステムにより利用される複素数係数として符号化される位相情報を生成する場合もある。
【0030】
一実施形態において、システムは、周波数サブバンドのセグメント化に先立ち、スペクトル分解計算に補正係数を利用し、人の耳の(Human Ear)伝達関数及び認知係数を考慮する。例えば、人の耳は60Hzの音とは対照的に3−4kHzの音に対してより高感度である。一例において、システムが60Hz周辺の周波数成分を約40dB抑圧する一方、3kHzと4kHzの間の周波数は抑圧されない。このため、より顕著なビートが60Hzにある場合においても、ユーザはその抑圧により目立つようになる高い周波数帯でビートを認知するようになる。
【0031】
同様にターゲットのハプティック・デバイス用スピーカの音声伝送機能が考慮され、セグメント化に先立ってスペクトル分解に適用されうる。例えば、ほとんどの携帯電話スピーカにおける周波数応答は200Hz以下の周波数は伝達されないものである。このため、このようなスピーカにより出力される音声信号が伴うときには、200Hz以下のビートを強調すると予期せぬハプティック効果を生じうる。スペクトル分解において処理中にこれらの周波数帯を無視することで、より整合性のある結果を得られる場合がある。
【0032】
一実施形態において、システムは、音声信号のサブバンド信号及びクロスオーバー周波数の指定を可能とするための周波数の観点において、音声信号のエネルギー分布をマップするためにスペクトル分解分析から複素係数の絶対値を利用する。これは、
図3にブロック314として示されている。
【0033】
図3に示すように、システム及び方法はブロック314における入力信号のエネルギー分布からサブバンド周波数の数を決定する。上述の用に、システムは、ソフトウェア、アナログ又はデジタル・ハードウェア及び/又はファームウェアを用いてこの分析を実施する場合がある。一実施形態において、システムは信号のエネルギー分布を分析し、エネルギーを周波数上の3つのサブバンド・カテゴリに指定する。一実施形態において、サブバンド・カテゴリは高周波数サブバンド、中周波数サブバンド、及び低周波数サブバンドである。
図5に、入力音声信号の高周波数サブバンド信号500及び中周波数サブバンド信号502を表す時間−周波数グラフを例示する。一実施形態において、システム及び方法は、入力音声信号のエネルギー分布を3つのサブバンド・カテゴリよりも多いか又は少ないものに指定する。
【0034】
一実施形態において、低周波数サブバンドはシステムにより低周波数の値の範囲内に指定され、高周波数サブバンドは高周波数の値の範囲内に指定される。システムは、中周波数サブバンドが、低サブバンドにおける最高周波数と高サブバンドにおける最低周波数との間であるように指定する。周波数サブバンド範囲のそれぞれはこれらの説明に限定されず、それぞれのサブバンドは設計者の所望に基づいてより高い及びより低い周波数限界を有するように指定されうることに注意すべきである。一実施形態において、低、中及び高周波数範囲は、全体の信号又は全体の信号のセグメント化部分のパワースペクトルの包括平均に基づいてシステムより決定される。低、中、高周波数範囲は任意の他の適切な方法を用いてシステムにより決定される場合があることを想定する。
【0035】
特に、システム及び方法は、サブバンド・クロスオーバー周波数の観点で入力音声信号を分析する。一実施形態において、システムは低周波数サブバンドと中周波数サブバンドとの間で一以上のサブバンド・クロスオーバー周波数f
mを計算する。加えて、システム及び方法は、中周波数サブバンドと高周波数サブバンドとの間で一以上のサブバンド・クロスオーバー周波数f
hを計算する。一実施例において、f
mは約300Hzから約1000Hzの範囲内に指定される。一実施例において、f
hは約3500Hzから約5000Hzの範囲内に指定される。これらの範囲は例示のみであり、システム及び方法の範囲内に他の周波数範囲が想定されることに注意すべきである。
【0036】
一実施形態において、f
m及びf
hという周波数は百分位の15番目及び85番目のスペクトルのロールオフの平均値として算出され、当該スペクトルのロールオフとは、音声入力の全エネルギーの特定パーセンテージがその下方に見られる周波数である。これらの特定パーセンテージはブロック312において計算される信号のエネルギー分布から算出されてもよい。他のスペクトルのロールオフ百分位が想定され、15番目及び85番目に限定する必要はないことに注意すべきである。一実施形態において、システム及び方法は指定周波数に対し、それぞれの時間ウィンドウにおけるエネルギーを正規化し、特定の百分位に対応する累積値を計算する。これはクロスオーバー周波数を計算するひとつの方法であり、他のクロスオーバー周波数の計算方法が想定されることに注意すべきである。例えば、一実施形態において、サブバンド信号クロスオーバー周波数は全信号のFFT計算及びロールオフ値計算により算出される場合がある。次いで3つのサブバンド信号が、各サブバンドにおけるエネルギー値を合計することにより、入力音声信号のエネルギー分布(例えばスペクトログラム)から導かれてもよい。スペクトル分解計算中に44kHzの時間情報(オリジナルの音声サンプル速度)が128Hzの時間データ変換される場合があるため、この手順は入力信号をダウンサンプルする役割を担う場合もある。
【0037】
一実施形態において、高、中及び低周波数サブバンド信号はそれぞれシステムによりセグメント化されて処理される。
図3に示すように、中周波数サブバンド信号は、ブロック316で示される中域最適化部に送られる。中域最適化部316は、毎秒のエフェクト(EPS)の所望の数に対応する個別のイベントのトラックを生成する。一実施形態において、EPSは、アクチュエータの分解能、音楽の種類、エンド・デバイスの形式、及びシステムの処理能力又はユーザの所望を含むが限定しない、ある要因に基づいて定義される場合があるが、目標とするEPSはユーザにより定義される。
【0038】
システムは、エンド・デバイス内アクチュエータが出力するそれぞれのハプティック・イベントに適切な始動及び終了のための時間を許容するため、ハプティック・イベント間を強制的に最小分離する。この最小分離により、エンド・デバイス内アクチュエータが独立して複数のハプティック・イベントを生成することが可能になり、二以上のハプティック・イベントの重複又は互いに重複する複数のハプティック・イベント部分の「ぶれた」感覚が防がれる。一実施形態において、サブバンドに依存するが、ハプティック・イベント間の時間制限長は50msであり、特定の期間は100−250msである。システムはこれらの数値には限定せず、他の数値も想定されることに注意すべきである。
【0039】
中域最適化部316は、音声入力信号におけるボーカル旋律に対応するために、別個のハプティック・イベントのトラックを生成することによりボーカル・イベントの旋律を取り込むことを意図している。このようにして、システムは、所望EPSの目標範囲内に最大エネルギー量を有するイベントを識別するために切取り(clipping)パラメータを利用する。
【0040】
切取られた入力信号が中域最適化部316から出力されると、この信号は、
図3に示す局所セグメント化部318への入力となる。一般的に、局所セグメント化部318は、中周波数サブバンド信号をそれぞれのイベントに対する一連の開始及び終了時間にセグメント化するために、切取られた入力信号の長時間平均を、切取られた入力信号の短時間値と比較するアルゴリズムを利用する。
図3に示すように、次いで、局所セグメント化部318はこの情報を最適化部316に戻して提供し、これにより、別個のイベントのセグメント化が所望EPSの目標範囲内にある間に、最適化部316は一次元ラインサーチを適用して一以上の切取られたパラメータを単調に調節する。一実施形態において、信号に対してEPSの所望の数が達するまで、この過程が繰り返される。一実施形態において、プリセットされた繰り返し(iteration)回数に対して現在のセグメント化過程が繰り返される。セグメント化の詳細を以下に説明する。
【0041】
図6に、一実施形態に係る別個のハプティック・イベントに中周波数サブバンド信号をセグメント化するために用いられる、平均パワー及び短時間パワーを代表して表す時間−信号グラフを示す。
図6のグラフは、中周波数サブバンド信号の時間平均600並びに20秒ウィンドウ内の短時間信号値602を示す。他の時間の長さのウィンドウがシステムに用いられる場合があることに注意すべきである。
【0042】
一実施形態において、短時間信号値は、5Hzバタワース・フィルタを通じる入力音声信号のローパス・フィルタリングによって得られてもよい。アナログ又はデジタル領域のいずれにおいても任意の他の機器又は方法を利用して入力信号がフィルタされることに注意すべきである。一実施形態において、時間におけるある点に対する短時間平均値信号が特定のしきい値を超過する、その時刻にシステムは新規なイベントを生成する。
図6のグラフの観点において、イベントは短時間平均値が長時間平均値を所望の方向(例えば、上向き又は下向きに)に横切る点で開始し、終了する。例えば、
図6において、局所セグメント化部318は短時間平均602が長時間平均線600を上向きの方向に横切る場所を識別することにより、イベントが開始する場所(点604)を決定する。局所セグメント化部318は、短時間平均602が長時間平均線600を下向きの方向に横切る場所を識別することにより、イベントが終了する場所も決定する。上述はセグメント化過程の例示のみであることに注意すべきであり、他のセグメント化過程及びアルゴリズムがシステムにより用いられる場合があることは明らかである。
【0043】
低周波及び高周波に対しては、エンド・デバイス内アクチュエータが毎秒生成しうる以上に多くのハプティック・イベントとして適格なイベントがあることが一般的である。通常は高周波数及び低周波数サブバンドに固有の密接した周波数ピークが多数あることから(
図5)、中周波数サブバンドに関する上述の最適化過程は、高周波数及び低周波数サブバンドに対しては好ましくない。これらの多数の密接周波数ピークは、入力音声信号のテンポと一致しない折り返された結果をアクチュエータに発生させる場合がある。
【0044】
この件に対処するため、システムは、高周波数及び低周波数サブバンド信号に対して中周波数サブバンドのものとは異なる最適化及びセグメント化アプローチを利用する。
図3に、システムにより高周波数及び低周波数サブバンドが異なって処理されていることが示されている。高周波数サブバンドに関しては、折り返しはシステムが信号を処理するときに考慮する重要事項である。つまり、この折り返しを考慮せずに生成されるハプティック・イベントは音楽と一致しないビート又はリズムに従う場合がある。
【0045】
一般的に、
図3に示すように、システムは、高周波数信号上で一以上の切取られたパラメータを調節するために、一次元(1−D)ラインサーチを実施する高周波数最適化部320ブロックを備える。最適化部ブロック320は出力信号内の折り返し量測定を用い、次いでセグメント部ブロック322に提供される切取り値を調節する。高サブバンド・セグメント部322はそれぞれのハプティック・イベントの開始及び/又は終了時間を計測し、図示の矢印のように結果を最適化部ブロック320に戻して提供する。次いで、最適化部320は、目標とする折り返しレベルに達するか、又はある数の所定のステップが発生するまで、応答して切取り値を調節する。
【0046】
折り返しは、生成されたハプティック・イベントの開始時間の間の差の分布を調べることにより測定されるアクチュエータにより指令された最小エフェクト分離としての同一デルタに、この分布が非常に大きなピークを有するならば、セグメント化の結果には大きな折り返しがあると考えられる。妥当な目標折り返し値は30%でありうるが、これはエフェクトの30%は正確に最小分離値だけ異なる開始時間を有するという意味である。
【0047】
セグメント・ブロック322に用いられるアルゴリズムは、一実施形態における中サブバンド320に用いられるものと同一である。一実施形態において、ブロック322により高周波数サブバンド信号の処理に用いられるアルゴリズムは、中周波数サブバンド信号に対してブロック318により実施されるアルゴリズムと同様であるが、種々の相違を有する。一実施形態において、長時間平均は高周波数信号に対して50msである。
【0048】
一実施形態において、信号対雑音比(S/N)を増加するために入力信号は前処理される。S/Nは、信号の最大値に対する切取られた信号平均の割合として算出され、これによれば処理信号は入力信号から1.5秒移動平均を差し引いて負の値をゼロに設定することで算出される。これは例示のみであり、信号中の信号対雑音比を改善するためにシステムは別の方法を利用しうることに注意すべきである。
【0049】
一実施形態において、250msよりも長いことが測定されるハプティック効果は、高周波数信号に対して最大250msに切取られる。一実施形態において、直近の50msウィンドウ内の最大ピークよりも切取られた信号が大きい場合にのみ、新たなセグメントが生成される。上述は例示のみであり、これらの上述の要因に限定しないことに注意すべきである。一以上の上述の要因はアルゴリズムの実施において用いられる場合があることにも注意すべきである。高周波数サブバンド・セグメント化の結果は、典型的には入力音声信号のテンポに大まかに対応する短いハプティック・イベントのセットである。
【0050】
図3に戻り、一実施形態において、低周波数サブバンド信号は中周波数サブバンド信号とは異なる処理を受ける。入力音声信号の低周波数部分は、典型的には音楽のリズムに対応し、典型的には様々な形式の打楽器及び/又は非常に低い周波数のボーカル(例えばベース・ボーカル)にも支配される。高周波数に関しては、システム及び方法は低周波数サブバンド信号を処理し、リズムと整合性があり過剰な折り返しアーティファクトを実際に生じるハプティック・イベントを生成する。音楽のドラムのビートは、低周波数サブバンド・スペクトル内のある周波数範囲内にあるのが通常である。従って、一実施形態において、システムは、ビートを識別するために低周波数サブバンド内の狭い範囲の周波数を考慮する。
【0051】
一実施形態において、システムは、まずブロック312と比較して非常に長時間のフレーム・ウィンドウを用いてオリジナルの入力信号の低周波数サブバンド信号のスペクトル分解分析(ブロック324)を実施し、この特定の周波数範囲を識別する。一実施形態において、時間フレーム・ウィンドウは1/32秒又は31msであるが、他の期間も想定し、31msに限定しない。時間フレーム・ウィンドウは、信号のスペクトル・ロールオフを評価するためのブロック312において算出されるスペクトル分解よりも、低周波数領域で顕著により多くの分解能を提供する。システム及び方法がより分解能の高いエネルギー分布を計算(ブロック324)した後、システムは信号のパワースペクトルを計算する。これはブロック326により実施され、システムは指定された時間ウィンドウにわたってスペクトル分解からエネルギー分布を合計する。入力信号は二つのスペクトル分解分析(
図3のブロック312及び324)を受けることが示されているが、低周波数サブバンド信号のスペクトル分解は代替としてブロック312で行われてもよく、これにより低周波数サブバンド信号のパワースペクトル算出において結果がブロック325に用いられることに注意すべきである。
【0052】
システム及び方法は、パワーレベルに基づいて周波数を並び替える(ブロック328)ために、低周波数サブバンド信号上でパワースペクトル計算(ブロック326)を利用する。パワースペクトルにおいては様々な周波数が同一のピークに対応することが通常であり、これによる冗長な周波数は、周波数ピークをより効率的に並び替えるために消去される。
【0053】
図7に、一実施形態に係る低周波数サブバンド信号のセグメント化に用られる周波数−パワー・グラフ(すなわちパワースペクトル)を示す。パワースペクトルは、周波数ビン(bin)番号セットにおいて入力信号に存在するエネルギー量を表している。この情報はシステムが周波数をパワー全体のビンに並び替えるために用いられる。例えば、2.1−2.8(×10
4)の間の全パワーは、全パワーの降順にランク付けると、640Hz、672Hz、416Hz、320Hz及び608Hzの周波数ピークを有する。
【0054】
これらの冗長な周波数を消去するため、並びに同一のビート等のエネルギー又はパワーが正確に等しく時間分布しうる他のピークを消去するために、各周波数ビンに付随する時間信号間の相互相関行列がシステムにより算出されるが、より詳しくは後述する。一実施形態において、相関行列は、周波数ビンfi及びfjにおける時間信号が性の相関を有するならば、(i j)の位置に適切に高い値を有する。一実施形態によれば、より高いパワーを伴うビンのある0.5よりも大きな相関係数を有する全ての周波数ビンが切取られる。換言すれば、システムは最大エネルギーの信号を保持し、切取られた相関係数を超えるより低いエネルギーの信号を用いない。相関係数は0.5に限定せず、0.5以外の値も想定することに注意すべきである。これらの残りの周波数に対しては、ブロック324において利用されるアルゴリズムは最大折り返し目標を15%として最適化部及びセグメント化部(ブロック330、332)を用いるが、他の目標パーセントも想定する。
【0055】
一実施形態において、システムは、低周波数帯において全ての連続する周波数ビンの間で相関係数を算出する。周期的なスネアドラム・ビート、拍手、他に対応する音声セグメントは、通常は高い帯域のイベントであり、最大の相関係数を検索することにより最も容易に識別される。ローパス検出アルゴリズムにおけるさらなる処理のために、隣の周波数に対して最大の相関係数を有する周波数帯域がシステムにより選択される。二つのランダムな変数x及びyの相関係数が与えられる。
【数1】
【0056】
高、中及び低周波数信号が切取られセグメント化された後に、上述のように、システム及び方法は、それぞれのサブバンド信号に対するハプティック・イベント候補のリストを生成する。特に、
図3に示すように、セグメント化された高周波数サブバンド信号は、高周波数セグメント化ブロック322から優先切取りブロック334を通過する。加えて、セグメント化された中周波数サブバンド信号は、ブロック318から優先切取りブロック334を通過する。更に、セグメント化された低周波数サブバンド信号は、ブロック332から優先切取りブロック334を通過する。
【0057】
システム及び方法はこれらを通過せずに優先切取りブロック334を通じて直接的にハプティック・イベントを単純に出力することも可能であるが、このようにするとエンド・デバイス内のアクチュエータにより、混乱して不明瞭なハプティック感覚が生じる可能性がある。これは、様々なハプティック・イベントが時間的に重複するためであろう。これを克服するために、システムは優先切取りブロック334を利用し、それぞれのサブバンド信号からハプティック・イベント候補を優先付けする。
【0058】
特に、優先切取りブロック334は、同一又は異なる周波数サブバンドからの一以上のハプティック・イベントが、互いの特定の時間の期間内に入る場合にアクチュエータによって出力されないようにする。これは、急激及び強大なイベントの重複が互いを相殺することも防ぐ。例えば、ブレーキをかけるパルス等の急激なイベント(下記参照)は、強大なイベントとの両者が同時又は実質的に同じ時間にアクチュエータにより出力されると、早期にこれを中断する場合がある。
【0059】
実施形態によれば、低、中及び高周波数ハプティック・イベントは任意の優先度において、これらの重複に関わらず、優先切取りブロック334によって出力されてもよい。一実施形態において、異なるサブバンドからの二つのハプティック・イベントが互いに重複することが検出されるときに、周波数のサブバンドに優先度を割り当てうる。この優先度は、特定の音楽ジャンル、曲のテンポ、アクチュエータの分解能、及び/又は入力音声信号の情報量(ロス有り対ロス無し、等)に基づいて割り当てうる。
【0060】
図3に示すように、優先切取りブロック334は、優先付けしたハプティック・イベントをエフェクト・マッピング・ブロック336に出力する。一実施形態において、エフェクト・マッピング・ブロックは優先付けしたハプティック・イベントを受信し、これらの独立したイベントにハプティック効果を割り当てる。一実施形態において、システムは二つの基本的なハプティック効果、すなわち周期的及び強度依存的なものを利用する。周期的効果により、振動の期間又は速度は強度と独立して明確に制御されうる。周期的効果は、デバイスに依存するが、約30Hz以下の振動周波数を正確に生成する。強度依存的効果は、強度及びデバイス依存の速度で振動する。
【0061】
これら二つの効果の形式は、更に3つの動作形式、すなわち強い、スムーズ及び急激という特徴を有する。それぞれの形式は異なる制御機構を有し、ユーザに対してやや異なる感覚を生じる。強い効果はユーザに最大の感覚を与える効果である。スムーズな効果は、効果の強度は低下し、周期的効果に対して周波数がより高くなる特徴を有する。強度依存性の効果に対しては、この効果の強度は低下しない。急激な効果は、周期的効果に対して強度を減少せずに周波数が最も高くなるが、強度依存性の効果に対してはやや強度を低下させる。
【0062】
それぞれの効果はシステム又はユーザにより調節又は設定可能なパラメータを備える。周期的ハプティック効果に対するこのようなパラメータは、周期/周波数、期間、アタック・タイム、アタック・レベル、消失時間、消失レベル及びエンベロープを含むが、これらに限定しない。強度依存的ハプティック効果に対するパラメータは、強度、期間及びエンベロープを含むが、これらに限定しない。記載のハプティック効果及び上述の割り当ては例示のみであり、ハプティック効果及び割り当ては多重に用いられる場合があることを認識すべきである。生成される効果は、通常、セグメントにわたる最大信号値(0−10000に正規化される)となる強度仕様も任意に有している。
【0063】
図8に、上述の入力音声信号に付随する楽曲に対するハプティック・イベントのシーケンスの時間−シンボル表示を例示する。
図8に示すように、時間−シンボル表示800は、入力音声信号802の時間−周波数グラフを含む。加えて、時間−シンボル表示800は、低音804として示す低周波数サブバンド、ハイパス806として示す高周波数サブバンド、及びボーカル808及び中域アクセント810として示す二つの中周波数サブバンドを備える。
【0064】
図8に示すように、システムは、一度にひとつのハプティック・イベントのみが発生し、指定された期間により隣接するハプティック・イベントから分離するように、それぞれのサブバンドにハプティック・イベントをマップする。一実施形態において、システムは、それぞれのイベントに対するハプティック効果が互いに類似していない場合に、一以上のハプティック・イベントが一度に発生することを許容する。例えば、
図8に示すように、システムは、強い強度依存性の効果808A、808B及び短期間効果804A、806Aが、ユーザにより二つの分離したイベントとして効果的に感じられることを考慮して、重複を許容する。
図8に表す例示においては、システムは、高周波数ハプティック・イベントを超えて低周波数ハプティック・イベントに優先度を与えるように構成される一方、中周波数ハプティック・イベントは高周波数及び低周波数ハプティック・イベントとの重複が許容される。システムは、ユーザ、エンド・デバイスにより、又は入力音声信号それ自身により構成され、任意の又は全ての周波数サブバンドに対して優先度及び重複する権利を与えることを注意すべきであり、これは
図8に示すものに限定しない。
【0065】
上述の一以上の実施形態において、システムは、標本化された音声信号に対応し、ユーザに愉快な様式で出力されるハプティック・イベントを自動的に受信、識別、及び生成することが可能である。システムは、符号化音楽ファイルに対応するハプティック・イベントを生成するために、MIDIファイルを含むが限定しない表現的に構造化された符号化音楽ファイルを受信及び処理することも可能である。表現的構造化ファイルは音楽ファイルとして本願明細書に記載されているが、表現的構造化ファイルは効果音、又は音声に付随する他のイベントを有するファイルである場合があることに注意すべきである。
【0066】
図9は、実施形態に係る楽曲を作製している一連のMIDIイベントの時間−音符表示である。MIDIファイル・フォーマットは同時に16の楽器チャネルを備え、これにより各チャネルは演奏可能な127個までのユニークな音程(キーと呼ぶ)であるイベントを有することが可能である。加えて、MIDIファイル・フォーマットは、一般的に音程のない打楽器のために予約されたチャネルを備える。打楽器はキー範囲を横切るように打楽器チャネルに配置される。
【0067】
図10に、実施形態に係る楽曲を作製している一連のMIDIイベントの時間−楽器−音符表示を示す。MIDI音楽ファイルにおいては、全ての楽器の全ての音符は、システムによりハプティック・イベントであると指定されてもよいイベントである。しかしながら、アクチュエータに関する物理的及び性能上の限界を考慮して、システムはMIDIファイルを分析及び処理し、ユーザが楽しみうるハプティック経験を生成する独立したハプティック・イベントを生成する。
【0068】
図11A、11B、及び11Cは、一体として、システムがMIDIファイルを自動処理してエンド・プレイヤにおいて独立したハプティック・イベントを生成するために用いられる方法のフロー図を示す。一般的に、システムはMIDIデータを分析し、構造化表現から旋律及び/又は打楽器イベント・シーケンスを抽出する。次いでシステムは、それぞれの楽器に対応するそれぞれのチャネルに対してスコアを生成し、これにより非打楽器系チャネルのスコアは当該チャネルにおける音符の可変性に関連づけられる。これは、経験的には、他の方法からは未知の入力チャネルのセットから旋律を選択することに有効であると考えられてきた。打楽器に関しては、スコア付けの方針は、種々の打楽器の支配性についての先験的な知識に依存する。例えば、バスドラムは、最も支配的な打楽器系チャネルと考えられるので、打楽器系チャネルにおいてバスドラムに伴う音符は一般的により高いスコアを受ける。
【0069】
MIDIシーケンスから入力チャネルをスコア付けることに加えて、エンド・デバイス内に独立したハプティック・イベントが生成できるようにするために、システム及び方法はイベントについて一以上の切取り操作を実施する。一実施形態において、システムは一以上の音符を所望の期間に切取り、コード等の重複する音符を除去するためにチャネルを処理する。一実施形態において、システムは、他のチャネルを超える一以上のチャネル(例えば、打楽器対旋律)の相対的な優先度を制御するために操作される場合がある多数のパラメータに基づいて構成可能である。
【0070】
図11Aに示すように、選択された一つの、いくつかの、又は全てのMIDIシーケンスのチャネルがシステム(1102)内に受信される。シーケンスはエンド・デバイスのメモリ、エンド・デバイスと通信するサーバ、及び/又は他の中間構成要素、コンピュータ又はプロセッサにインポートされる。一実施形態において、インポートされたMIDIファイルからの情報は実際にはハプティック・イベントの生成には用いられず、実際にはメモリから消去される。一実施形態において、実際にはハプティック・イベントの生成に用いられない情報は、開発者又はエンド・ユーザによるハプティック・イベントの再構成又は微調整を可能とするために。システムに保持されてもよい。
【0071】
一実施形態において、システムはファイル受信後にこれに対する様々な前処理手順を実施する。一実施形態において、システムは、イベントのタイムラインを分析することにより(
図11A、ブロック1104)、イベントにおける前の音階の識別及び次の音階の識別を実施する。ブロック1104では、一実施形態において、各チャネルには、あるイベントから同一チャネルにおける以前のイベントへのリンク設定の処理が行われる。各チャネルには、あるイベントから同一チャネルにおける次のイベントへのリンク設定の処理も行われる。一実施形態において、システムは、構造化音声表現ファイル全体のタイムラインを一度に分析する。別の実施形態において、システムは、音声表現ファイルの部分的なタイムラインを一度に分析する。これにより、システムは、長いタイムラインを有する大きな音声ファイルを迅速に処理することができる(映画の効果音等)。
【0072】
図11Aに示すように、次いでシステムは、ブロック1106に示すように旋律及び打楽器イベントが発生するチャネルを識別することにより、関心の旋律及び打楽器イベントを識別する。旋律及び打楽器イベントを識別すると、システムは、
図11Bの旋律イベント(ブロック1116)及び打楽器イベント(ブロック1132)をスコア付けするために、識別されたイベントを効率的に利用することができる。
【0073】
図11に示すように、システムは、一実施形態(1108)においてコードを除去するために各チャネルを適宜処理する。一実施形態において、システムはMIDIファイルから、同一チャネルにおいて相互のある期間内に開始し、かつ非打楽器チャネルにあるイベントとしてコードを識別する。一実施形態において、この期間は15msに設定されるが、他の時間の期間も想定する。一実施形態において、システムは、いったんMIDIイベント・チャネルにおいてコードを識別すると、最も高い音程を有するイベントのみを保持し、当該コードを生成する他のイベントをタイムラインから破棄する。別の実施形態において、システムは最も高い音程のイベントを除去し、より低いか又は最も低い音程のイベントを保持する。詳細に後述するように、タイムラインからコードを削除することにより、多くのコードを有するチャネルに与えるスコアを削減し、これによりシステムはタイムライン内の旋律を識別しやすくなる。
【0074】
1110において、システムは、同じ又は実質的に同じ時間において同一又は同一に近い音符を有するチャネルペアを識別する。これは二以上の楽器が和音を演奏するときにしばしばある(例えば、2本のギターが同じリフを同時に演奏する等)。各チャネルに対して時間サンプリングされた時間上のベクトルが生成され、ここで時間上とはイベントが発生する点のことである。システムは各チャネルのイベントを調査し、イベントが発生する時間的な期間に対して数値の1を設定することにより、これを達成する。さもなければ、ベクトルには数値の0が設定される。これにより長さnのベクトルのセットが生成される。
【数2】
式中、TはMIDI入力ファイルの全期間であり、t
sはサンプリング期間である。
【0075】
重複する音符を有するチャネルを識別するために、チャネルのそれぞれに対して補正計算が行われる。
【数3】
式中、v
i、v
jは時間サンプリングされたベクトルであり、σ
1は時間シリーズとして扱われるベクトルvの標準偏差である。二以上のチャネルの補正が補正しきい値を超えるならば、チャネルの一部又は全体がタイムラインから除去される。
【0076】
例えば、
図9に戻って参照すると、チャネル902及び904は、ライン900及び908の間で実質的に同一であることが示されている。システムは、いったんチャネル902及び904において上述の計算を実施すると、これらが同一の旋律を同時に演奏することを考慮し、二つのチャネルのひとつを除去する。二つのチャネルのいずれが除去されるかは、ユーザ及び/又はシステムにより設定されるパラメータに依存する。
【0077】
図11Aに示すように、システムは切り取り処理(1112)を用いて最大長及び最小長を設定することにより、イベントを所望の長さに制限する。システムは、所定の最短期間よりも短いイベントを切り取り、少なくとも最短期間と同じ長さとする。加えて、所定の最長期間よりも長いイベントは変更又は切り取られ、最長期間以下とする。更に、二以上のイベントにおいて間隔の期間が所定の最短以下であるものは、少なくとも最短の間隔の期間を有するように変更される。これは、最短の間隔の期間を生成するために、シーケンス内イベントの一方又は両方を短縮することにより行われてもよい。
【0078】
ここで
図11Bに戻り、システムは、いったん各チャネルのインポート及び前処理を完了すると、受信ファイル内の各チャネルのスコア付けを初期化する(1116)。一実施形態において、システムは、受信ファイルのインポート/前処理が実行されているときにスコア付け処理を開始しうることに注意すべきである。一実施形態において、システムは、ファイルのインポート/前処理が実施された後にスコア付け処理を開始する。
【0079】
一実施形態において、システムは2組のルールセットを用いてチャネルをスコア付けする。第一のルールセットは、何らかの可変性を有して旋律を受けもつらしいチャネルに、より高いスコアを与えるよう設計される。第二のルールセットは、曲中のリズムを定義する伝統的な重要性の観点から、打楽器チャネルへのランキングを提供する
【0080】
スコア付けは、タイムライン内の全てのイベントを調査することにより完成する。各イベントは、個別のイベントに対するスコアを割り当てるスコアリングフィルタに通される。全てのイベントが処理されると、タイムラインを介する第二のループにより各チャネルにおける全てのイベントに対するスコアが導出され、チャネルごとの全スコアが得られる。一実施形態において、これは、単純にイベントのスコアを積算することにより行われる。別の実施形態において、これは、適切なアルゴリズムを用いて行われる。
図11Bに示すように、システムは、一実施形態において旋律及び打楽器のイベントを別個にスコア付けするが、スコア付けは同時でもよく、次々に行われてもよい。一実施形態において、システムは、旋律及び打楽器のイベントをまとめてスコア付けすることができ、これにより一つの種類のイベント(旋律又は打楽器)に対して計測される情報を、他の種類のイベント(すなわち、打楽器又は旋律)を分析又は評価するために用いてもよい。
【0081】
タイムライン内の旋律のイベントに対して、システムは、
図11Bの1116に示すように、イベントのスコア付けにおけるルールのサブセットを利用する。一実施形態において、サブセットのルールのそれぞれはシステムにより同時に実行される。一実施形態において、一以上のサブセットのルールはシステムによりシーケンス内で実行される。
【0082】
図11Bに示すように、システムは、一実施形態のブロック1118に従ってイベント間の音程変化をスコア付ける。ブロック1118のように、システムは、現在のイベントの音程と、一以上の以前のイベントの音程との差の絶対値を計算し、これによりそれぞれの音程は計測値を有する。システムは、音声表現ファイルに固有に符号化されたチャネルデータから音程の値を割り当てることができる。一実施形態において、この差は、音程スコアとしての出力である。一実施形態において、この差の値は、音程スコアを得るための所定の係数(例えば500)によりスケーリングされる。
【0083】
図11Bに示すように、システムは、一実施形態のブロック1120に従ってイベント間の開始時間をスコア付ける。ブロック1120のシステムは、リズムがチャネル内で演奏されているか否かを決定するためにイベント期間を分析する。一実施形態において、ブロック1120において、開始時間における差は、イベントと直前のイベントとの間で計算される。一実施形態において、ブロック1120において、開始時間における差は、直前のイベントと直前のイベントに先行するイベントとの間で計算される。一実施形態において、システムは、開始時間スコアの出力前に、これらの差を重みづけする。一実施形態において、重みづけの量は5倍である。しかしながら、5以外の係数も想定する。ファイル中の他のリズム又は曲のジャンルによっては、システムは、適切に分解されたハプティック・イベントを出力するように、これらの期間をより高く又はより低くスコア付けてもよい。
【0084】
図11Bに示すように、システムは、一実施形態のブロック1122に従ってイベントの大きさ又は強度をスコア付ける。ブロック1122は、イベントの大きさの関数に基づいて等しいスコアを指定する。システムは、構造化表現ファイル内に固有に符号化されたチャネルデータから、各イベントの大きさを決定することができる。
【0085】
図11Bに示すように、システムは、一実施形態におけるブロック1124に従ってイベントの期間をスコア付ける。ブロック112は、イベントの期間の関数に基づいてスコアを指定する。一実施形態において、システムは、より短い期間を有するイベントよりも、より長い期間を有するイベントに、より高いスコアを割り当てる。別の実施形態において、システムは、より短い期間を有するイベントよりも、より長い期間を有するイベントに対して、より低いスコアを割り当てる。
【0086】
図11Bに示すように、システムは、一実施形態のブロック1126に従って、イベント期間の変化をスコア付ける。特に、システムは、ブロック1126において現在のイベントと以前のイベントとの期間の変化に基づいてスコアを指定する。
【0087】
図11Bに示すように、システムは、一実施形態のブロック1128に従ってイベントの期間の変化をスコア付ける。特に、システムはブロック1128にあるイベント内の各音符以前の無音期間に基づいてスコアを指定する。例えば、特定のチャネルにおいて長い無音期間後に発生するイベントを指定するならば、システムはハプティック・イベントとしての出力になりそうなイベントに対して高いスコアを割り当てる。この例では、ドラムロールの最後でのシンバルクラッシュであろう。
【0088】
一実施形態において、ブロック1130に図示するように、旋律のイベントはそのエントロピーに関連してシステムにより適宜スコア付ける。このルールを評価する過程において、システムは、あるチャネルに割り当てられるスコアと、そのチャネルに伴う音響エントロピーとの関係を利用してもよい。それぞれの旋律チャネルのエントロピーを評価するために、音符の分布をシステムに導入する。音符の音程が等価なクラス{p(k),k=1..12}を定義するために伝統的な12音階を用いる。各イベントは、12音階のいずれの音にイベントのキーが関連づけられるかに従って分類される。知覚アクセント・ルールを用いて各イベントの寄与を拡大縮小して分布を構築し、これにより重みづけを式4から決定する。
【数4】
式中、変数dは現在のイベントと以前のイベントとの間の無音期間(秒)である。変数τは飽和休止長(saturation rest length)(0.5秒にとる)及び最小弁別可能期間(minimum discriminable duration)(2秒にとる)である。飽和休止長及び最小弁別可能期間は他の値も考えられ、本願明細書にて言及の値に限定されないことに注意すべきである。
【0089】
この分布のエントロピーは、式5の数式を用いて計算される。
【数5】
式中、p(k)は1から12(12音スケールに対して)の調性の音程のクラスである。
【0090】
旋律イベントをスコア付けることに加えて、システムは、
図11Bのブロック1132に示すように打楽器イベントをスコア付ける。一実施形態において、システムは、打楽器イベントのスコア付けにおいて二つのルールを利用する。特に、システムは、それぞれの打楽器の音符の前の無音期間をスコア付ける。無音期間はミリ秒と考えられ、スコアは一実施形態において重みづけされる。一実施形態において、スコア付けされた無音の値は数値4で除算されるが、他の値も想定する。
【0091】
図11Bに示すように、システムは、それぞれの打楽器に打楽器の種類による数値を割り当てる。一実施形態において、システムによりそれぞれの打楽器に対して、支配的な楽器ほど高い値となるように1から5の重み値が割り当てられる。例えば、バスドラム楽器に対する属性となるイベントには値5が与えられ、一方でハイハット・シンバルの属性となるイベントには値1が与えられる。一実施形態において、これらの値はイベントあたりのスコア生成において係数(例えば100)により重みづけされる。打楽器イベントに対する全イベント・スコアは、これらのルールのサブセットに基づく。
【0092】
一実施形態において、打楽器系及び旋律系のルールの両者に対するスコア付けの積算は、チャネルの絶対的なランキングが生成されるときに、旋律系の楽器を打楽器系のものよりも強調するよう、システムにより重みづけられる。この過程は、チャネルのスコアが生成されるときにブロック1138で発生する。重みづけは、音楽のジャンル、音声ファイルの種類(例えば、ビデオの音楽と効果音の対比)、ユーザの好み、エンド・デバイスの種類、他に基づいてもよい。
【0093】
チャネルごとのスコア生成を追って
図11Cに戻り、システムは、ブロック1142に示すように、スコアの値に基づいてチャネルを並び替えることができる。一実施形態において、システムは、旋律系のチャネルと打楽器系のチャネルを別々に並び替えるが、両方の種類のチャネルをまとめて並び替えることも可能である。一実施形態において、スコア付けられたチャネルは降順に並び替えられ、これにより最大スコアを有するチャネルが「高い」ランクとなる。一実施形態において、スコア付けられたチャネルは昇順に並び替えられる。一実施形態において、システムは、所望のスコア範囲内にあるか又は所望のスコアと有するチャネルを並び替える。一実施形態において、システムはこれらのスコアを最大から最小にランキングし、最高ランクのイベントがハプティック・イベントとして出力され、最低ランクのイベントはハプティック・イベントとしては出力されない。
【0094】
システムがスコアに基づいてチャネルをランキング又は選択すると、システムはどのチャネルがハプティック・イベントの基礎となるイベントを提供するかを決定することができる。一実施形態において、システムは以下の擬似コードを用い、ブロック1144でハプティック効果を生成する。
【数6】
【0095】
換言すれば、システムは、自動的に最高ランクのハプティック・イベントを曲の最初から最後までマッピングする。従って、システムは「空白を埋め」て再び曲の空白又は非ハプティック・イベント部分の中に置き換え可能な次の最高ランクのハプティック・イベントをマッピングする。アクチュエータの分解能、クッション期間、ユーザの好み、ハプティック効果のスタイル及び曲の種類を考慮し、許容された最大数のハプティック・イベントが曲中にマッピングされるまで、この過程を繰り返す。上述は例示の擬似コードのみであり、システムは異なるクッション期間を利用してもよく、並びに最低にスコア付けられたチャネル又は他の規範を利用してもよいことに注意すべきである。
【0096】
イベントがハプティック・イベントとして割り当てられると、システムは所望の範囲内の期間を有するようにハプティック・イベントを切り取る。一実施形態において、切り取り範囲は200msから300msの間であるが、より長い又はより短い期間も想定し、ハプティック・アクチュエータの特性に依存してもよい。加えて、イベント開始時間は、異なる種類のアクチュエータにおいて音声とハプティック・イベントとの知覚的な結合を確実にするために所望の量だけオフセットされうる。一実施形態において、ハプティック・イベントの強度はシステム内で調節してもよい。例えば、最短期間をより小さな値に設定してもよく、クッション時間を増してもよい。
【0097】
図11Cに示すように、一実施形態においてシステムは打楽器系の重複を削除する。システムは、「空白を埋める」アルゴリズムを用いて旋律系及び打楽器系チャネルを独立して適宜構築し、次いでこれらを結合して最終的にマッピングされたハプティック・イベントを生成する。これは、急峻な効果が重なり合うと予想外の雰囲気が得られるように、「強い」効果のみが用いられているときに最も効果的と思われる。あるいは、システムは、打楽器系イベントの重複があるハプティック・イベントの強度を抑圧することも可能であり、これにより抑圧されたハプティック・イベントは次いで最大強度で出力される。これにより、エンド・デバイスに、旋律を保存しながら知覚的にリズムの強調が表される特徴が提供される。
【0098】
一実施形態において、システムは構造化表現信号のタイムライン内のある点に、カスタム・フェード(ブロック1150)を加えることができる。デザイナは、長い期間の音符に、より短いフェードアウトする効果を選択して置き換えてもよい(例えば500ms)。同様に、類似のフェード効果を追加することにより、フレーズ又は旋律の最後をより強調することも可能である。
【0099】
一実施形態において、システムは、上述のルールに従ってタイムラインに追加されるような長い期間(約500ミリ秒以上)を有するイベントを探す。特定のイベントと次のイベントとの間に大きな時間のギャップ(約1000ミリ秒)があると、システムは自動的に特定のイベントをフェードイン又はフェードアウトさせてもよい。このアプローチを実装するために、システムは、フェードイン又はフェードアウトの特徴又は特性を有するそのようなハプティック・イベントを識別して列挙構築する。タイムライン全体が構成された後に、システムはこのリストにより、存在するハプティック・イベントをフェードしたハプティック・イベントに入れ替える。フェード効果は、周期的な、又はその全体の期間に対して減衰する強度依存的な効果として実装されてもよい。
【0100】
デジタル標本化された音声及び/又は上記記載の構造化表現ファイルを変換する方法により、音符からハプティック・イベントへの自動変換が可能である。いったん変換されると、これらのハプティック・イベント・シーケンスは保存され、適切な方式により他のエンド・デバイスに再配布することができる。例えば、ハプティック・イベント・シーケンスは、ネットワーク上で一以上のクライアントと通信するサーバに出力ファイルとして保存されてもよい。クライアントとの通信が確立すると、サーバはクライアントにおいて電気的に演奏される出力ファイルを送達してもよい。同様に、ハプティック・イベント・シーケンスは当業に公知の様々な設定において用いることが可能である。例えば、ユーザに電話の呼び出し又はアポイントメント等のイベント、アラーム、天気予報等の受信メッセージ又はテキストメッセージ等を知らせることである。一実施形態において、構造化表現ファイルは、ファイルの自動変換によりボーカル歌手に合図を出し、その後にカラオケ曲に適用されてエンド・デバイス(例えばカラオケマイク)がハプティック効果を出力してもよい。一実施形態において、エンド・デバイスは、エンド・デバイスへのダウンロードが可能なビデオ、ビデオゲーム、音楽ビデオ又は映画フィルムの効果音又は他の音声に対するハプティック・イベントを自動変換し、マッピングし、出力することができる。
【0101】
本発明の実施形態及び応用を図示し記載してきたが、本開示の利益を有する当業者であれば、本願明細書の発明の概念から離れることなく上述以上により多くの変形が可能であることは明白であろう。従って、本発明は添付の特許請求の範囲の主旨のみにより限定される。