以下の詳細な説明では、関連する開示の完全な理解を提供するために、多くの具体的な詳細が例として記載されている。しかしながら、本開示がそのような詳細なしで実践され得ることが当業者には明らかであるはずである。他の例では、本開示の態様を不必要に曖昧にしないために、周知の方法、手順、システム、構成要素、及び/又は回路が、詳細なしに比較的高レベルで記載されている。開示された実施形態に対する様々な修正は、当業者には容易に明らかであり、本明細書に定義された一般原理は、本開示の精神及び範囲から逸脱することなく、他の実施形態及び用途に適用され得る。したがって、本開示は、示された実施形態に限定されず、特許請求の範囲と一致する最も広い範囲を与えられるべきである。
本明細書で使用される用語は、特定の例示的な実施形態を記載することのみを目的としており、限定するものではない。本明細書で使用されるとき、単数形「1つの(a、an)」、及び「その(the)」は、文脈が明らかに他のことを示さない限り、複数形も含むものであり得る。本明細書で使用されるとき、「備える」、「備え」、及び/又は「備えている」、「含む」、「含み」、及び/又は「含んでいる」という用語は、述べられる特徴、整数、ステップ、操作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、操作、要素、構成要素、及び/又はそれらのグループの存在又は追加を排除しないことがさらに理解されよう。
本明細書で使用される「システム」、「エンジン」、「ユニット」、「モジュール」、及び/又は「ブロック」という用語は、異なるレベルの異なる構成要素、要素、部品、セクション、又はアセンブリを昇順で区別するための1つの方法であることが理解されよう。しかしながら、これらの用語は、別の表現が同じ目的を達成する場合、それらによって置き換えられ得る。
一般に、本明細書で使用される「モジュール」、「ユニット」、又は「ブロック」という単語は、ハードウェア若しくはファームウェア内で具現化されたロジック、又はソフトウェア命令の集合を指す。本明細書に記載されたモジュール、ユニット、又はブロックは、ソフトウェア及び/又はハードウェアとして実装されてよく、任意のタイプの非一時的コンピュータ可読媒体又は他のストレージ装置に記憶され得る。いくつかの実施形態では、ソフトウェアモジュール/ユニット/ブロックは、コンパイルされ、実行可能プログラムにリンクされ得る。ソフトウェアモジュールは、他のモジュール/ユニット/ブロックから、あるいはそれら自体から呼び出すことができ、及び/又は検出されたイベント若しくは割込みに応答して呼び出され得ることが理解されよう。コンピューティング装置に実行するように構成されたソフトウェアモジュール/ユニット/ブロックは、コンパクトディスク、デジタルビデオディスク、フラッシュドライブ、磁気ディスク、又は任意の他の有形媒体等のコンピュータ可読媒体上に、あるいはデジタルダウンロードとして提供され得る(元々は、実行前にインストール、解凍、又は解読を必要とする圧縮されるフォーマット又はインストール可能なフォーマットで記憶し得る)。そのようなソフトウェアコードは、コンピューティング装置による実行のために、実行中のコンピューティング装置のストレージ装置に部分的又は完全に記憶され得る。ソフトウェア命令は、消去可能プログラマブル読取り専用メモリ(EPROM)等のファームウェアに組み込まれ得る。ハードウェアモジュール/ユニット/ブロックは、ゲート及びフリップフロップ等の接続された論理構成要素に含まれてよいこと、及び/又はプログラマブルゲートアレイ若しくはプロセッサ等のプログラマブルユニットに含まれ得ることがさらに理解されよう。本明細書に記載されるモジュール/ユニット/ブロック又はコンピューティング装置機能は、ソフトウェアモジュール/ユニット/ブロックとして実装され得るが、ハードウェア又はファームウェア内に表され得る。一般に、本明細書に記載されるモジュール/ユニット/ブロックは、それらの物理的な構成若しくはストレージに関係なく、他のモジュール/ユニット/ブロックと結合され得るか、あるいはサブモジュール/サブユニット/サブブロックに分割され得る論理モジュール/ユニット/ブロックを指す。説明は、システム、エンジン、又はその一部分に適用可能であり得る。
ユニット、エンジン、モジュール、又はブロックが、別のユニット、エンジン、モジュール、又はブロック「の上にある」、「に接続されている」、又は「に結合されている」と述べている場合、それは、文脈が明確に別途示さない限り、その別のユニット、エンジン、モジュール、若しくはブロックに、直接的に接してある、接続若しくは結合されている、又は連通されているか、あるいは介在するユニット、エンジン、モジュール、又はブロックが存在し得ることが理解されよう。本明細書で使用される場合、「及び/又は」という用語は、関連する列挙されたアイテムのうちの1つ以上の任意の組合せを含む。
本開示のこれら及び他の特徴及び特性、ならびに操作の方法及び構造の関連する要素の機能及び部品の組合せ及び製造の経済性は、添付図面を参照して以下の説明を考察すると、より明白になり得、それらのすべては本開示の一部を形成する。しかしながら、図面は例示して、説明することのみを目的としており、本開示の範囲を限定するものではないことが明確に理解されるべきである。図面は、縮尺通りでないことが理解されよう。
本開示で使用されるフローチャートは、本開示のいくつかの実施形態に従ってシステムが実施する操作を示す。フローチャートの操作は順不同で実施され得ることが明確に理解されるべきである。逆に、操作は逆の順序で、又は同時に実施され得る。さらに、1つ以上の他の操作がフローチャートに追加され得る。1つ以上の操作がフローチャートから削除され得る。
本開示は、音声信号生成のためのシステム及び方法を提供する。システム及び方法は、骨伝導センサによって収集された第一の音声データ(骨伝導音声データとも呼ばれる)を取得してもよい。システム及び方法は、空気伝導センサによって収集された第二の音声データ(空気伝導音声データとも称される)を取得してもよい。骨伝導音声データと空気伝導音声データとは、ユーザの発話を表すことができ、異なる周波数成分を有する。システム及び方法は、骨伝導音声データ及び空気伝導音声データに基づいて、音声データを生成してもよい。生成された音声データの周波数点より高い周波数成分は、骨伝導音声データの周波数点より高い周波数成分に対して増加してもよい。いくつかの実施形態において、システム及び方法は、生成された音声データに基づいて、骨伝導音声データ及び空気伝導音声データよりも高い忠実度で、ユーザの発話を表すターゲット音声データを決定してもよい。本開示によれば、骨伝導音声データ及び空気伝導音声データに基づいて生成された音声データは、骨伝導音声データより多くの高周波数成分、及び/又は空気伝導音声データよりも少ないノイズを含んでもよく、これは、骨伝導音声データ及び/又は空気伝導音声データに対して、生成された音声データの忠実度と明瞭度を向上させる可能性がある。いくつかの実施形態では、システム及び方法は、骨伝導音声データの高周波数成分を増加させることによって、空気伝導音声データにより類似又は近接する再構成済み骨伝導音声データを得るために骨伝導音声データを再構成することをさらに含み得る。これは、骨伝導音声データに対して再構成済み骨伝導音声データの品質を向上させ得、生成された音声データの品質をさらに向上させ得る。いくつかの実施形態では、システム及び方法は、骨伝導音声データ及び空気伝導音声データに基づいて、周波数縫合点とも呼ばれる1つ以上の周波数閾値に従う音声データを生成してもよい。周波数縫合点は、空気伝導音声データに関連するノイズレベルに基づいて決定されてもよく、これにより、生成された音声データのノイズを減少させることができ、生成された音声データの忠実度を同時に向上させることができる。
図1は、本開示のいくつかの実施形態に従う例示的な音声信号生成システム100を示す概略図である。音声信号生成システム100は、音声収集装置110と、サーバ120と、端末130と、ストレージ装置140と、ネットワーク150とを含んでもよい。
音声収集装置110は、ユーザが話すときに、ユーザの音、ボイス、又は発話を収集することによって、音声データ(例えば、音声信号)を取得することができる。例えば、ユーザが話すとき、ユーザの音は、ユーザの口の周りの空気の振動及び/又はユーザの身体の組織(例えば、頭蓋骨)の振動を発生させることができる。音声収集装置110は、振動を受信し、振動を音声データとも呼ばれる電気信号(例えば、アナログ信号又はデジタル信号)に変換してもよい。音声データは、電気信号の形態で、ネットワーク150を介して、サーバ120、端末130、及び/又はストレージ装置140に送信されてもよい。いくつかの実施形態において、音声収集装置110は、レコーダ、ブルートゥース(登録商標)ヘッドセット等のヘッドセット、有線ヘッドセット、補聴器装置等を含んでもよい。
いくつかの実施形態では、音声収集装置110は、無線接続(例えば、ネットワーク150)及び/又は有線接続を介してラウドスピーカと接続されてもよい。音声データは、ユーザの発話を再生及び/又は再現するためにラウドスピーカに送信されてもよい。いくつかの実施形態では、ラウドスピーカ及び音声収集装置110は、ヘッドセットのような1つの単一装置に統合してもよい。いくつかの実施形態では、音声収集装置110とラウドスピーカとは、互いに分離されてもよい。例えば、音声収集装置110は、第一の端末(例えば、ヘッドセット)に設置され、ラウドスピーカは、別の端末(例えば、端末130)に設置されてもよい。
音声収集装置110は、骨伝導マイク112及び空気伝導マイク114を含んでもよい。骨伝導マイク112は、骨伝導音声データを収集するための1つ以上の骨伝導センサを含んでもよい。骨伝導音声データは、ユーザが話すときにユーザの骨(例えば、頭蓋骨)の振動信号を収集することによって生成されてもよい。いくつかの実施形態では、1つ以上の骨伝導センサは、骨伝導センサアレイを形成してもよい。いくつかの実施形態において、骨伝導マイク112は、骨伝導音声データを収集するためのユーザの身体の領域に位置付けられ、及び/又は接触してよい。ユーザの身体の領域は、額、首(例えば、喉)、顔(例えば、口の周囲の領域、顎)、頭頂部、乳様突起、耳の周りの領域若しくは耳の内側の領域、こめかみ等、又はそれらの任意の組合せを含んでもよい。例えば、骨伝導マイク112は、耳珠、耳介、内耳道、外耳道等に配置、及び/又は接触していてもよい。いくつかの実施形態では、骨伝導音声データの1つ以上の特性は、骨伝導マイク112が配置され、及び/又は接触しているユーザの身体の領域に応じて異なってもよい。例えば、耳の周辺に配置された骨伝導マイク112によって収集された骨伝導音声データは、額に配置された骨伝導マイク112によって収集された骨伝導音声データよりも高いエネルギーを含んでもよい。空気伝導マイク114は、ユーザが話すときに空気を通して伝導する空気伝導音声データを収集するための1つ以上の空気伝導センサを含んでもよい。いくつかの実施形態では、1つ以上の空気伝導センサは、空気伝導センサアレイを形成してもよい。いくつかの実施形態では、空気伝導マイク114は、ユーザの口から特定の距離(例えば、0cm、1cm、2cm、5cm、10cm、20cm等)以内に配置されてもよい。空気伝導マイク114とユーザの口との間の異なる距離に応じて、空気伝導音声データの1つ以上の特性(例えば、空気伝導音声データの平均振幅)が異なってもよい。例えば、空気伝導マイク114とユーザの口との間の異なる距離が大きいほど、空気伝導音声データの平均振幅は小さくなり得る。
いくつかの実施形態において、サーバ120は、単一のサーバであっても、サーバグループであってもよい。サーバグループは、集中型(例えば、データセンタ)であっても、分散型であってもよい(例えば、サーバ120は、分散型システムであってもよい)。いくつかの実施形態では、サーバ120は、ローカルであっても、リモートであってもよい。例えば、サーバ120は、ネットワーク150を介して、端末130及び/又はストレージ装置140に記憶された情報及び/又はデータにアクセスしてもよい。別の例として、サーバ120は、端末130及び/又はストレージ装置140に直接接続されて、記憶された情報及び/又はデータにアクセスしてもよい。いくつかの実施形態では、サーバ120は、クラウドプラットフォーム上に実装されてもよい。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウド等、又はそれらの任意の組合せを含んでもよい。いくつかの実施形態では、サーバ120は、本開示の図2に例示される1つ以上の構成要素を有するコンピューティング装置200に実装されてもよい。
いくつかの実施形態では、サーバ120は、処理装置122を含んでもよい。処理装置122は、音声信号生成に関連する情報及び/又はデータを処理して、本開示において説明される1つ以上の機能を実行してもよい。例えば、処理装置122は、骨伝導マイク112によって収集された骨伝導音声データ及び空気伝導マイク114によって収集された空気伝導音声データを取得してもよく、骨伝導音声データ及び空気伝導音声データは、ユーザの発話を表している。処理装置122は、骨伝導音声データ及び空気伝導音声データに基づいて、ターゲット音声データを生成してもよい。別の例として、処理装置122は、ストレージ装置140又は任意の他のストレージ装置から、訓練済み機械学習モデル及び/又は構成済みフィルタを取得してもよい。処理装置122は、訓練済み機械学習モデル及び/又は構成済みフィルタを用いて、骨音声データを再構成してもよい。さらなる例として、処理装置122は、発話サンプルの複数のグループを使用して、予備的機械学習モデルを訓練することにより、訓練済み機械学習モデルを決定してもよい。複数の音声サンプルのそれぞれは、ユーザの発話を表す骨伝導音声データ及び空気伝導音声データを含んでもよい。さらに別の例として、処理装置122は、空気伝導音声データに対してノイズ除去演算を実行して、ノイズ除去された空気伝導音声データを取得してもよい。処理装置122は、再構成済み骨伝導音声データ及びノイズ除去された空気伝導音声データに基づいて、ターゲット音声データを生成してもよい。いくつかの実施形態では、処理装置122は、1つ以上の処理エンジン(例えば、シングルコア処理エンジン又はマルチコアプロセッサ)を含んでもよい。単なる例として、処理装置122は、中央処理ユニット(CPU)、特定用途向け集積回路(ASIC)、特定用途向け命令セットプロセッサ(ASIP)、グラフィック処理ユニット(GPU)、物理処理ユニット(PPU)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理装置(PLD)、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ(RISC)、マイクロプロセッサ等又はその任意の組合せを含むことができる。
いくつかの実施形態において、端末130は、モバイル装置130-1、タブレットコンピュータ130-2、ラップトップコンピュータ130-3、車両130-4の内蔵装置、ウェアラブル装置130-5等、又はそれらの任意の組合せを含んでもよい。いくつかの実施形態において、モバイル装置130-1は、スマートホーム装置、スマートモバイル装置、仮想現実装置、拡張現実装置等、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態において、スマートホーム装置は、スマート照明装置、インテリジェント電気器具の制御装置、スマート監視装置、スマートテレビ、スマートビデオカメラ、インターフォン等、又はそれらの任意の組合せを含んでもよい。いくつかの実施形態では、スマートモバイル装置は、スマートフォン、パーソナルデジタルアシスタンス(PDA)、ゲーム装置、ナビゲーション装置、ポイントオブセール(POS)装置等、又はそれらの任意の組合せを含んでもよい。いくつかの実施形態では、仮想現実装置及び/又は拡張現実装置は、仮想現実ヘルメット、仮想現実眼鏡、仮想現実パッチ、拡張現実ヘルメット、拡張現実眼鏡、拡張現実パッチ等、又はそれらの任意の組合せを含んでもよい。例えば、仮想現実装置及び/又は拡張現実装置は、Google(登録商標) Glasses、Oculus Rift、HoloLens、Gear VR等を含んでもよい。いくつかの実施形態では、車両130-4の内蔵装置は、車載コンピュータ、車載テレビ等を含んでもよい。いくつかの実施形態では、端末130は、乗客及び/又は端末130の位置を特定するための測位技術を有する装置であってよい。いくつかの実施形態において、ウェアラブル装置130-5は、スマートブレスレット、スマートフットギア、スマート眼鏡、スマートヘルメット、スマートウォッチ、スマート衣類、スマートバックパック、スマートアクセサリー等、又はそれらの任意の組合せを含んでもよい。いくつかの実施形態では、音声収集装置110及び端末130は、1つの単一の装置に統合してもよい。
ストレージ装置140は、データ及び/又は命令を記憶してもよい。例えば、ストレージ装置140は、発話サンプルの複数のグループのデータ、1つ以上の機械学習モデル、訓練済み機械学習モデル及び/又は構成済みフィルタ、骨伝導マイク112及び空気伝導マイク114によって収集された音声データ等を記憶してもよい。いくつかの実施形態において、ストレージ装置140は、端末130及び/又は音声収集装置110から取得されたデータを記憶してもよい。いくつかの実施形態では、ストレージ装置140は、サーバ120が本開示に記載された例示的な方法を実行するために実行又は使用することができるデータ及び/又は命令を記憶してもよい。いくつかの実施形態において、ストレージ装置140は、マスストレージ、リムーバブルストレージ、揮発性読み書きメモリ、読み取り専用メモリ(ROM)等、又はそれらの任意の組合せを含んでもよい。例示的なマスストレージは、磁気ディスク、光ディスク、ソリッドステートドライブ等を含んでもよい。例示的なリムーバブルストレージは、フラッシュドライブ、フロッピーディスク、光ディスク、メモリカード、ZIPディスク、磁気テープ等を含んでもよい。例示的な揮発性読み書きメモリは、ランダムアクセスメモリ(RAM)を含んでもよい。例示的なRAMは、ダイナミックRAM(DRAM)、ダブルデータレートシンクロナスダイナミックRAM(DDR SDRAM)、スタティックRAM(SRAM)、サイリスタRAM(T-RAM)及びゼロコンデンサRAM(Z-RAM)等を含んでいてもよい。例示的なROMは、マスクROM(MROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、コンパクトディスクROM(CD-ROM)、デジタル多用途ディスクROM等を含んでいてもよい。いくつかの実施形態において、ストレージ装置140は、クラウドプラットフォーム上に実装されてもよい。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウド等、又はそれらの任意の組合せを含んでもよい。
いくつかの実施形態では、ストレージ装置140は、ネットワーク150に接続されて、音声信号生成システム100の1つ以上の構成要素(例えば、音声収集装置110、サーバ120、及び端末130)と通信することができる。音声信号生成システム100の1つ以上の構成要素は、ネットワーク150を介してストレージ装置140に記憶されたデータ又は命令にアクセスしてもよい。いくつかの実施形態では、ストレージ装置140は、音声信号生成システム100の1つ以上の構成要素(例えば、音声収集装置110、サーバ120、及び端末130)に直接接続されてもよいし、それらと通信してもよい。いくつかの実施形態では、ストレージ装置140は、サーバ120の一部であってもよい。
ネットワーク150は、情報及び/又はデータの交換を促進してもよい。いくつかの実施形態では、音声信号生成システム100の1つ以上の構成要素(例えば、音声収集装置110、サーバ120、端末130、及びストレージ装置140)は、ネットワーク150を介して、音声信号生成システム100の他の構成要素に情報及び/又はデータを送信してもよい。例えば、サーバ120は、ネットワーク150を介して、端末130から骨伝導音声データ及び空気伝導音声データを取得してもよい。いくつかの実施形態において、ネットワーク150は、任意のタイプの有線又は無線ネットワーク、又はそれらの組合せであってもよい。単なる例として、ネットワーク150は、ケーブルネットワーク、有線ネットワーク、光ファイバネットワーク、電気通信ネットワーク、イントラネット、インターネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、無線ローカルエリアネットワーク(WLAN)、大都市圏ネットワーク(MAN)、公衆電話交換網(PSTN)、ブルートゥース(登録商標)ネットワーク、ZigBee(登録商標)ネットワーク、近距離通信(NFC)ネットワーク等、又は、それらの任意の組合せを含んでもよい。いくつかの実施形態では、ネットワーク150は、1つ以上のネットワークアクセスポイントを含んでもよい。例えば、ネットワーク150は、基地局及び/又はインターネット交換ポイント等の有線又は無線ネットワークアクセスポイントを含んでもよく、それを通じて、音声信号生成システム100の1つ以上の構成要素がネットワーク150に接続されて、データ及び/又は情報を交換することができる。
当業者であれば、音声信号生成システム100の要素(又は構成要素)が実行するとき、その要素は電気信号及び/又は電磁信号を通じて実行してもよいことを理解するであろう。例えば、骨伝導マイク112が骨伝導音声データをサーバ120に送出するとき、骨伝導マイク112のプロセッサは、骨伝導音声データを符号化する電気信号を生成してよい。次いで、骨伝導マイク112のプロセッサは、電気信号を出力ポートに送信してもよい。骨伝導マイク112が有線ネットワークを介してサーバ120と通信する場合、出力ポートは、ケーブルに物理的に接続されてもよく、このケーブルは、さらに電気信号をサーバ120の入力ポートに送信してもよい。骨伝導マイク112が無線ネットワークを介してサーバ120と通信する場合、骨伝導マイク112の出力ポートは、電気信号を電磁信号に変換する1つ以上のアンテナであってもよい。同様に、空気伝導マイク114は、電気信号又は電磁気信号を介してサーバ120に空気伝導音声データを送出してもよい。端末130及び/又はサーバ120のような電子装置内では、そのプロセッサが命令の処理、命令の送出、及び/又はアクションを行うとき、命令及び/又はアクションは電気信号を介して伝導される。例えば、プロセッサがストレージ媒体からデータを取得又は保存するとき、プロセッサは、記憶媒体の読み取り/書き込み装置に電気信号を送出し、この装置は、ストレージ媒体の構造化データを読み取り又は書き込むことができる。構造化データは、電子装置のバスを介して電気信号の形態でプロセッサに送信されてもよい。ここで、電気信号とは、1つの電気信号、一連の電気信号、及び/又は複数の離散的な電気信号を指す場合がある。
図2は、本開示のいくつかの実施形態に従う例示的なコンピューティング装置の概略図を示す。コンピューティング装置は、図1のサーバ120等のコンピュータ、及び/又は特定の機能を有するコンピュータであってよく、本開示のいくつかの実施形態による任意の特定のシステムを実装するように構成されている。コンピューティング装置200は、本開示において開示される1つ以上の機能を実行する任意の構成要素を実装するように構成されてもよい。例えば、サーバ120は、コンピューティング装置200のようなコンピュータのハードウェア装置、ソフトウェアプログラム、ファームウェア、又はそれらの任意の組合せで実装されてもよい。簡潔にするために、図2は、1つのコンピューティング装置のみを描写している。いくつかの実施形態では、コンピューティング装置の機能は、システムの処理負荷を分散させるために、分散モードの類似のプラットフォームのグループによって実装されてもよい。
コンピューティング装置200は、データ通信を実施し得るネットワークと接続し得る通信ポート250を含んでもよい。コンピューティング装置200は、また、命令を実行するように構成され、1つ以上のプロセッサを含むプロセッサ220を含んでもよい。概略的なコンピュータプラットフォームは、内部通信バス210、異なるタイプのプログラムストレージユニット及びデータストレージユニット(例えば、ハードディスク270、読み取り専用メモリ(ROM)230、ランダムアクセスメモリ(RAM)240)、コンピュータ処理及び/又は通信に適用可能な種々のデータファイル、並びにプロセッサ220によって場合によっては実行されるいくつかのプログラム命令を含んでもよい。コンピューティング装置200は、コンピューティング装置200と他の構成要素との間のデータフローの入力及び出力をサポートし得るI/O装置260を含んでもよい。さらに、コンピューティング装置200は、通信ネットワークを介してプログラム及びデータを受信してもよい。
図3は、本開示のいくつかの実施形態に従う例示的なモバイル装置の例示的なハードウェア及び/又はソフトウェア構成要素を示す概略図である。図3に示すように、モバイル装置300は、カメラ305、通信プラットフォーム310、ディスプレイ320、グラフィック処理ユニット(GPU)330、中央処理ユニット(CPU)340、I/O350、メモリ360、モバイルオペレーティングシステム(OS)370、アプリケーション、及びストレージ390を含んでもよい。いくつかの実施形態では、システムバス又はコントローラ(図示せず)を含むがこれらに限定されない、任意の他の適切な構成要素も、モバイル装置300に含んでもよい。
いくつかの実施形態では、モバイルオペレーティングシステム370(例えば、iOS(登録商標)、Android(登録商標)、Windows Phone(登録商標)等)及び1つ以上のアプリケーション380は、CPU340によって実行されるために、ストレージ390からメモリ360にロードされてもよい。アプリケーション380は、音声信号生成システム100から音声データ処理に関連する情報等を受信してレンダリングするためのブラウザ又は他の任意の適切なモバイルアプリを含んでもよい。情報ストリームとのユーザインタラクションは、I/O350を介して実現され、音声信号生成システム100のデータベース130、サーバ105及び/又は他の構成要素に提供されてもよい。いくつかの実施形態において、モバイル装置300は、端末130に対応する例示的な実施形態であり得る。
本開示に記載された様々なモジュール、ユニット、及びそれらの機能性を実装することを目的として、本明細書に記載の要素の1つ以上のためのハードウェアプラットフォームとして、コンピュータのハードウェアプラットフォームが使用され得る。そのようなコンピュータのハードウェア要素、オペレーティングシステム、及びプログラミング言語は、本質的に従来のものであり、当業者は、本明細書に記載されるような音声の生成及び/又は発話サンプルの取得にあたって、それらの技術を適応させるためにそれについて十分に精通していると推定される。ユーザインタフェース要素を有するコンピュータは、パーソナルコンピュータ(PC)又は他のタイプのワークステーション又は端末装置を実装するために使用されてもよいが、コンピュータは、適切にプログラムされていれば、サーバとして機能することもできる。当業者は、そのようなコンピュータ機器の構造、プログラミング、及び一般的な操作に精通していると考えられ、その結果、図面は自明なものとなるはずである。
当業者であれば、システム100の要素が実行するとき、その要素が電気信号及び/又は電磁信号を通じて実行してもよいことを理解するであろう。例えば、サーバ120が訓練済み機械学習モデルを決定する等のタスクを処理するとき、サーバ120は、そのプロセッサ内の論理回路を操作させて、そのようなタスクを処理してもよい。サーバ120が訓練済み機械学習モデルを決定することを完了すると、サーバ120のプロセッサは、訓練済み機械学習モデルを符号化する電気信号を生成してもよい。次いで、サーバ120のプロセッサは、電気信号を、サーバ120に関連するターゲットシステムの少なくとも1つのデータ交換ポートに送信してもよい。サーバ120は、有線ネットワークを介してターゲットシステムと通信し、少なくとも1つのデータ交換ポートは、ケーブルに物理的に接続されてもよく、このケーブルは、さらに電気信号を端末130の入力ポート(例えば、情報交換ポート)へ送信してもよい。サーバ120が無線ネットワークを介してターゲットシステムと通信する場合、ターゲットシステムの少なくとも1つのデータ交換ポートは、電気信号を電磁信号に変換し得る1つ以上のアンテナであってもよい。端末130及び/又はサーバ120等の電子機器内では、そのプロセッサが命令を処理し、命令を送出し、及び/又はアクションを実行すると、その命令及び/又はアクションは電気信号を介して伝導される。例えば、プロセッサがストレージ媒体(例えば、ストレージ装置140)からデータを取得又は保存するとき、プロセッサは、ストレージ媒体の読み取り/書き込み装置に電気信号を送出し、その装置は、ストレージ媒体の構造化データを読み取り又は書き込むことができる。構造化データは、電子装置のバスを介して電気信号の形態でプロセッサに送信されてもよい。ここで、電気信号は、1つの電気信号、一連の電気信号、及び/又は複数の離散的な電気信号であってもよい。
図4Aは、本開示のいくつかの実施形態に従う例示的な処理装置を示すブロック図である。いくつかの実施形態では、処理装置122は、図2に図示されたコンピューティング装置200(例えば、プロセッサ220)又は図3に図示されたCPU340上に実装されてもよい。図4Aに示すように、処理装置122は、取得モジュール410と、前処理モジュール420と、音声データ生成モジュール430と、ストレージモジュール440とを含んでもよい。上述した各モジュールは、例えば、1つ以上のストレージ媒体に記憶された一連の命令に従って、特定のアクションを実行するように設計されたハードウェア回路、及び/又はハードウェア回路と1つ以上のストレージ媒体との任意の組合せであってもよい。
取得モジュール410は、音声信号生成のためのデータを取得するように構成されてもよい。例えば、取得モジュール410は、元の音声データ、1つ以上のモデル、機械学習モデルを訓練するための訓練データ等を取得してもよい。いくつかの実施形態では、取得モジュール410は、骨伝導センサによって収集された第一の音声データを取得してもよい。本明細書で使用される場合、骨伝導センサは、本開示の他の箇所(例えば、図1及びその説明)で説明されるように、ユーザが話すときに生成され、ユーザの骨(例えば、頭蓋骨)を通じて伝導する振動信号を収集し得る任意のセンサ(例えば、骨伝導マイク112)を指すことがある。いくつかの実施形態では、第一の音声データは、時間領域の音声信号、周波数領域の音声信号等を含んでもよい。第一の音声データは、アナログ信号又はデジタル信号を含んでもよい。取得モジュール410は、また、空気伝導センサによって収集された第二の音声データを取得するように構成されてもよい。空気伝導センサは、本開示の他の箇所(例えば、図1及びその説明)で説明したように、ユーザが話すときに空気を通して伝導する振動信号を収集し得る任意のセンサ(例えば、空気伝導マイク114)を指すことがある。いくつかの実施形態では、第二の音声データは、時間領域の音声信号、周波数領域の音声信号等を含んでもよい。第二の音声データは、アナログ信号又はデジタル信号を含んでもよい。いくつかの実施形態において、取得モジュール410は、第一の音声データを再構成するため等の訓練済み機械学習モデル、構成済みフィルタ、高調波補正モデル等を取得してもよい。いくつかの実施形態において、処理デバイス122は、1つ以上のモデル、第一の音声データ及び/又は第二の音声データを、ネットワーク150を介して空気伝導センサ(例えば、空気伝導マイク114)、端末130、ストレージ装置140、又は任意の他のストレージ装置からリアルタイム又は周期的に取得してもよい。
前処理モジュール420は、第一の音声データ又は第二の音声データの少なくとも1つを前処理するように構成されてもよい。前処理された後の第一の音声データ及び第二の音声データは、それぞれ前処理済み第一の音声データ及び前処理済み第二の音声データとも呼ばれることがある。例示的な前処理操作は、領域変換操作、信号較正操作、音声再構成操作、発話強調操作等を含んでもよい。いくつかの実施形態において、前処理モジュール420は、フーリエ変換又は逆フーリエ変換を実行することによって、領域変換操作を実行してもよい。いくつかの実施形態において、前処理モジュール420は、第一の音声データ及び/又は第二の音声データを較正するための正規化済み第一の音声データ及び/又は正規化済み第二の音声データを得るために、第一の音声データ及び/又は第二の音声データに対して正規化操作を実行してもよい。いくつかの実施形態において、前処理モジュール420は、第二の音声データ(又は正規化済み第二の音声データ)に対して発話強調操作を実行してもよい。いくつかの実施形態において、前処理モジュール420は、第二の音声データ(又は正規化済み第二の音声データ)に対してノイズ除去操作を行い、ノイズ除去された第二の音声データを得てもよい。いくつかの実施形態では、前処理モジュール420は、訓練済み機械学習モデル、構成済みフィルタ、高調波補正モデル、疎行列技法等、又はそれらの任意の組合せを使用して、再構成済み第一の音声データを生成するために、第一の音声データ(又は正規化済み第一の音声データ)に対して音声再構成操作を実行してもよい。
音声データ生成モジュール430は、第一の音声データ(又は前処理済み第一の音声データ)及び第二の音声データ(又は前処理済み第二の音声データ)に基づいて、第三の音声データを生成するように構成され得る。いくつかの実施形態では、第三の音声データに関連するノイズレベルは、第二の音声データ(又は前処理済み第二の音声データ)に関連するノイズレベルより低くてもよい。いくつかの実施形態において、音声データ生成モジュール430は、1つ以上の周波数閾値に従って、第一の音声データ(又は前処理済み第一の音声データ)及び第二の音声データ(又は前処理済み第二の音声データ)に基づいて第三の音声データを生成してもよい。いくつかの実施形態では、音声データ生成モジュール430は、1つの単一の周波数閾値を決定してもよい。音声データ生成モジュール430は、1つの単一周波数閾値に従って、第一の音声データ(又は前処理済み第一の音声データ)及び第二の音声データ(又は前処理済み第二の音声データ)を周波数領域で縫合して、第三の音声データを生成してもよい。
いくつかの実施形態では、音声データ生成モジュール430は、少なくとも部分的に周波数閾値に基づいて、第一の音声データ(又は前処理済み第一の音声データ)の下位部分及び第一の音声データ(又は前処理済み第一の音声データ)の上位部分に対する第一の重み及び第二の重みをそれぞれ決定してもよい。第一の伝導音声データ(又は前処理済み第一の音声データ)の下位部分は、周波数閾値よりも低い第一の伝導音声データ(又は前処理済み第一の音声データ)の周波数成分を含んでもよく、第一の伝導音声データ(又は前処理済み第一の音声データ)の上位部分は、周波数閾値よりも高い第一の伝導音声データ(又は前処理済み第一の音声データ)の周波数成分を含んでもよい。いくつかの実施形態では、音声データ生成モジュール430は、少なくとも部分的に周波数閾値に基づいて、第二の音声データ(又は前処理済み第二の音声データ)の下位部分及び第二の音声データ(又は前処理済み第二の音声データ)の上位部分に対する第三の重み及び第四の重みをそれぞれ決定してもよい。第二の伝導音声データ(又は前処理済み第二の音声データ)の下位部分は、周波数閾値よりも低い第二の伝導音声データ(又は前処理済み第二の音声データ)の周波数成分を含んでもよく、第二の伝導音声データ(又は前処理済み第二の音声データ)の上位部分は、周波数閾値よりも高い第二の伝導音声データ(又は前処理済み第二の音声データ)の周波数成分を含んでもよい。いくつかの実施形態において、音声データ生成モジュール430は、第一の重み、第二の重み、第三の重み、及び第四の重みを用いて、第一の音声データ(又は前処理済み第一の音声データ)の下位部分、第一の音声データ(又は前処理済み第一の音声データ)の上位部分、第二の音声データ(又は前処理済み第二の音声データ)の下位部分、第二の音声データ(又は前処理済み第二の音声データ)の上位部分をそれぞれ重み付けすることによって、第三の音声データを決定してもよい。
いくつかの実施形態において、音声データ生成モジュール430は、第一の音声データ(又は前処理済み第一の音声データ)に対応する重みと、第二の音声データ(又は前処理済み第二の音声データ)に対応する重みとを、第一の音声データ(又は前処理済み第一の音声データ)又は第二の音声データ(又は前処理済み第二の音声データ)の少なくとも一方に少なくとも部分的に基づいて決定してもよい。音声データ生成モジュール430は、第一の音声データ(又は前処理済み第一の音声データ)に対応する重みと第二の音声データ(又は前処理済み第二の音声データ)に対応する重みとを用いて、第一の音声データ(又は前処理済み第一の音声データ)と第二の音声データ(又は前処理済み第二の音声データ)を重み付けして、第三の音声データを決定してもよい。
いくつかの実施形態では、音声データ生成モジュール430は、第三の音声データに基づいて、第一の音声データ及び第二の音声データよりも忠実度の高いユーザの発話を表すターゲット音声データを決定してもよい。いくつかの実施形態において、音声データ生成モジュール430は、第三の音声データをターゲット音声データとして指定してもよい。いくつかの実施形態において、音声データ生成モジュール430は、ターゲット音声データを得るために、第三の音声データに対して後処理操作を実行してもよい。いくつかの実施形態において、音声データ生成モジュール430は、ターゲット音声データを得るために、第三の音声データに対してノイズ除去操作を実行してもよい。いくつかの実施形態において、音声データ生成モジュール430は、時間領域でターゲット音声データを得るために、周波数領域で第三の音声データに対して逆フーリエ変換演算を実行してもよい。いくつかの実施形態において、音声データ生成モジュール430は、ネットワーク150を介してクライアント端末(例えば、端末130)、ストレージ装置140、及び/又は任意の他のストレージ装置(音声信号生成システム100では図示せず)に信号を送信してもよい。信号は、ターゲット音声データを含んでもよい。また、信号は、クライアント端末にターゲット音声データの再生を指示するように構成されてもよい。
ストレージモジュール440は、音声信号生成システム100に関連するデータ及び/又は命令を記憶するように構成されてもよい。例えば、ストレージモジュール440は、複数の発話サンプルのデータ、1つ以上の機械学習モデル、訓練済み機械学習モデル及び/又は構成済みフィルタ、骨伝導マイク112及び/又は空気伝導マイク114によって収集された音声データ等を記憶してもよい。いくつかの実施形態では、ストレージモジュール440は、構成上、ストレージ装置140と同じであってよい。
上記の説明は、単に例示のために提供されたもので、本開示の範囲を限定することを意図していないことに留意されたい。明らかに、当業者は、複数の変形例及び修正を本開示の教示の下で実施することができる。しかしながら、それらの変形例及び修正は、本開示の範囲から逸脱するものではない。例えば、ストレージモジュール440を省いてもよい。別の例として、音声データ生成モジュール430及びストレージモジュール440は、1つのモジュールに統合されてもよい。
図4Bは、本開示のいくつかの実施形態に従う例示的な音声データ生成モジュールを示すブロック図である。図4Bに示すように、音声データ生成モジュール430は、周波数決定ユニット432と、重み決定ユニット434と、結合ユニット436とを含んでもよい。上述した各サブモジュールは、例えば、1つ以上のストレージ媒体に記憶された一連の命令に従って、特定のアクションを行うように設計されたハードウェア回路、及び/又はハードウェア回路と1つ以上のストレージ媒体の任意の組合せであってもよい。
周波数決定ユニット432は、骨伝導音声データ又は空気伝導音声データの少なくとも一方に、少なくとも部分的に基づいて、1つ以上の周波数閾値を決定するように構成されてもよい。いくつかの実施形態では、周波数閾値は、骨伝導音声データ及び/又は空気伝導音声データの周波数点であってもよい。いくつかの実施形態では、周波数閾値は、骨伝導音声データ及び/又は空気伝導音声データの周波数点とは異なっていてもよい。いくつかの実施形態において、周波数決定ユニット432は、骨伝導音声データに関連付けられた周波数応答曲線に基づいて周波数閾値を決定してもよい。骨伝導音声データに関連付けられた周波数応答曲線は、周波数に応じて変化する周波数応答値を含んでもよい。いくつかの実施形態において、周波数決定ユニット432は、骨伝導音声データに関連付けられた周波数応答曲線の周波数応答値に基づいて、1つ以上の周波数閾値を決定してもよい。いくつかの実施形態において、周波数決定ユニット432は、周波数応答曲線の変化に基づいて1つ以上の周波数閾値を決定してもよい。いくつかの実施形態では、周波数決定ユニット432は、再構成済み骨伝導音声データに関連する周波数応答曲線を決定してもよい。いくつかの実施形態では、周波数決定ユニット432は、空気伝導音声データの少なくとも一部に関連するノイズレベルに基づいて、1つ以上の周波数閾値を決定してもよい。いくつかの実施形態では、ノイズレベルは、空気伝導音声データの信号対ノイズ比(SNR)によって示され得る。SNRが大きければ大きいほど、ノイズレベルは低くてもよい。空気伝導音声データに関連するSNRが大きければ大きいほど、周波数閾値は大きくてもよい。
重み決定ユニット434は、1つ以上の周波数閾値に従って、骨伝導音声データ及び空気伝導音声データのそれぞれを複数のセグメントに分割するように構成されてもよい。骨伝導音声データの各セグメントは、空気伝導音声データの1つのセグメントに対応してもよい。本明細書で使用されるように、空気伝導音声データのセグメントに対応する骨伝導音声データのセグメントは、骨伝導音声データ及び空気伝導音声データの2つのセグメントが1つ又は2つの同じ周波数閾値によって定義されることを指す場合がある。いくつかの実施形態において、1つ以上の周波数閾値のカウント又は数は1であってもよく、重み決定ユニット434は、骨伝導音声データ及び空気伝導音声データのそれぞれを2つのセグメントに分割してもよい。
重み決定ユニット434は、骨伝導音声データ及び空気伝導音声データのそれぞれの複数のセグメントのそれぞれについて、重みを決定するようにも構成され得る。いくつかの実施形態において、骨伝導音声データの特定のセグメントに対する重みと、空気伝導音声データの対応する特定のセグメントに対する重みとは、骨伝導音声データの特定のセグメントに対する重みと空気伝導音声データの対応する特定のセグメントに対する重みとの和が1に等しいような基準を満足してもよい。いくつかの実施形態において、重み決定ユニット434は、空気伝導音声データのSNRに基づいて、骨伝導音声データの異なるセグメント又は空気伝導音声データの異なるセグメントに対する重みを決定してもよい。
結合ユニット436は、骨伝導音声データ及び空気伝導音声データのそれぞれの複数のセグメントのそれぞれに対する重みに基づいて、骨伝導音声データ及び空気伝導音声データを縫合、融合、及び/又は結合して、縫合、結合、及び/又は融合した音声データを生成するよう構成されてもよい。いくつかの実施形態において、結合ユニット436は、1つの単一の周波数閾値に従って、骨伝導音声データの下位部分と空気伝導音声データの上位部分とを決定してもよい。結合ユニット436は、骨伝導音声データの下位部分と空気伝導音声データの上位部分とを縫合及び/又は結合して、縫合済み音声データを生成してもよい。結合ユニット436は、1つ以上のフィルタに基づいて、骨伝導音声データの下位部分と空気伝導音声データの上位部分とを決定してもよい。いくつかの実施形態では、結合ユニット436は、第一の重み、第二の重み、第三の重み、及び第四の重みを用いて、骨伝導音声データの下位部分、骨伝導音声データの上位部分、空気伝導音声データの下位部分、及び空気伝導音声データの上位部分をそれぞれ重み付けすることによって、縫合、結合、及び/又は融合された音声データを決定してもよい。いくつかの実施形態では、結合ユニット436は、骨伝導音声データに対する重み及び空気伝導音声データに対する重みを用いて、骨伝導音声データ及び空気伝導音声データをそれぞれ重み付けすることによって、結合及び/又は融合した音声データを決定してもよい。
上記の説明は、単に例示のために提供されたもので、本開示の範囲を制限することを意図していないことに留意されたい。明らかに、当業者は、複数の変形例及び修正を本開示の教示の下で実施することができる。しかしながら、それらの変形例及び修正は、本開示の範囲から逸脱するものではない。例えば、音声データ生成モジュール430は、音声データ分割サブモジュール(図4Bに図示せず)をさらに含んでもよい。音声データ分割サブモジュールは、骨伝導音声データ及び空気伝導音声データのそれぞれを、1つ以上の周波数閾値に従って複数のセグメントに分割するように構成されてもよい。別の例として、重み決定ユニット434及び結合ユニット436は、1つのモジュールに統合されてもよい。
図5は、本開示のいくつかの実施形態に従って、音声信号を生成するための例示的なプロセスを示す概略フローチャートである。いくつかの実施形態では、プロセス500は、ストレージ装置140、ROM230若しくはRAM240、又はストレージ390に記憶された命令のセット(例えば、アプリケーション)として実装されてもよい。処理装置122、プロセッサ220、及び/又はCPU340は、命令のセットを実行してもよく、命令を実行するとき、処理装置122、プロセッサ220、及び/又はCPU340は、プロセス500を実行するように構成されてもよい。以下に提示され、図示されるプロセスの操作は、例示であることを意図している。いくつかの実施形態では、プロセス500は、説明されていない操作を1つ以上追加して、及び/又は、説明された操作の1つ以上を省いて、達成することもできる。さらに、図5に図示され、以下に説明されるプロセス500の操作の順序は、限定することを意図していない。
510において、処理装置122(例えば、取得モジュール410)は、骨伝導センサによって収集された第一の音声データを取得してもよい。本明細書で使用される場合、骨伝導センサは、本開示の他の箇所(例えば、図1及びその説明)で説明されるように、ユーザが話すときに生成されるユーザの骨(例えば、頭蓋骨)を通して伝導する振動信号を収集し得る任意のセンサ(例えば、骨伝導マイク112)を指す場合がある。骨伝導センサによって収集された振動信号は、骨伝導センサ又は他の任意のデバイス(例えば、増幅器、アナログ-デジタル変換器(ADC)等)によって音声データ(例えば、音声信号)に変換されてもよい。骨伝導センサによって収集された音声データ(例えば、第一の音声データ)は、骨伝導音声データとも呼ばれることもある。いくつかの実施形態では、第一の音声データは、時間領域の音声信号、周波数領域の音声信号等を含んでもよい。第一の音声データは、アナログ信号又はデジタル信号を含んでもよい。いくつかの実施形態では、処理装置122は、ネットワーク150を介して、骨伝導センサ(例えば、骨伝導マイク112)、端末130、ストレージ装置140、又は任意の他のストレージ装置から、リアルタイム又は周期的に第一の音声データを取得してもよい。
第一の音声データは、異なる周波数及び/又は強度(すなわち、振幅)を有する複数の波(例えば、正弦波、高調波等)の重畳によって表されてもよい。本明細書で使用する場合、特定の周波数を有する波は、特定の周波数を有する周波数成分とも呼ばれることがある。いくつかの実施形態では、骨伝導センサによって収集された第一の音声データに含まれる周波数成分は、0Hz~20kHz、又は20Hz~10kHz、又は20Hz~4000Hz、又は20Hz~3000Hz、又は1000Hz~3500Hz、又は1000Hzから3000Hz、又は1500Hz~3000Hz等の周波数範囲であってよい、第一の音声データは、ユーザが話すときに骨伝導センサによって収集及び/又は生成されてもよい。第一の音声データは、ユーザが話すこと、すなわち、ユーザの発話を表してもよい。例えば、第一の音声データは、ユーザの発話の内容を反映し得る音響特性及び/又は意味情報を含んでもよい。第一の音声データの音響特性は、持続時間に関連する1つ以上の特徴、エネルギーに関連する1つ以上の特徴、基本周波数に関連する1つ以上の特徴、周波数スペクトルに関連する1つ以上の特徴、位相スペクトルに関連する1つ以上の特徴等を含んでもよい。持続時間に関連する特徴は、持続時間特徴と呼ばれることもある。例示的な持続時間特徴は、話す速度、短時間平均ゼロオーバー率等を含んでもよい。エネルギーに関連する特徴は、エネルギー特徴又は振幅特徴と呼ばれることもある。例示的なエネルギー又は振幅の特徴は、短時間平均エネルギー、短時間平均振幅、短時間エネルギー勾配、平均振幅変化率、短時間最大振幅等を含んでもよい。基本周波数に関連する特徴は、基本周波数特徴と呼ばれることもある。例示的な基本周波数特徴は、基本周波数、基本周波数のピッチ、平均基本周波数、最大基本周波数、基本周波数範囲等を含んでもよい。周波数スペクトルに関連する例示的な特徴は、フォルマント特徴、線形予測ケプストラム係数(LPCC)、メル周波数ケプストラム係数(MFCC)等を含んでもよい。位相スペクトルに関連する例示的な特徴は、瞬時位相、初期位相等を含んでもよい。
いくつかの実施形態において、第一の音声データは、ユーザの身体の領域に骨伝導センサを配置すること、及び/又は骨伝導センサをユーザの皮膚と接触させることによって収集及び/又は生成されてもよい。第一の音声データを収集するために骨伝導センサと接触するユーザの身体の領域は、額、首(例えば、喉)、乳様突起、耳の周囲又は耳の内側の領域、こめかみ、顔(例えば、口の周囲の領域、顎)、頭頂部等を含んでもよいが、これらに限定されない。例えば、骨伝導マイク112は、耳珠、耳介、内耳道、外耳道等に配置及び/又は接触していてもよい。いくつかの実施形態では、第一の音声データは、骨伝導センサと接触しているユーザの身体の領域が異なれば、異なっていてもよい。例えば、骨伝導センサと接触しているユーザの身体の領域が異なれば、第一の音声データの周波数成分、音響特性(例えば、周波数成分の振幅)、第一の音声データに含まれるノイズ等が異なってもよい。例えば、首に位置する骨伝導センサによって収集された第一の音声データの信号強度は、耳珠に位置する骨伝導センサによって収集された第一の音声データの信号強度よりも大きく、耳珠に位置する骨伝導センサによって収集された第一の音声データの信号強度は、耳道に位置する骨伝導センサによって収集された第一の音声データの信号強度よりも大きいさらなる例として、ユーザの耳の周囲の領域に配置された第一の骨伝導センサによって収集された骨伝導音声データは、同じ構成を有するがユーザの頭頂部に配置された第二の骨伝導センサによって同時に収集された骨伝導音声データよりも多くの周波数成分を含んでもよい。いくつかの実施形態では、第一の音声データは、0ニュートン~1ニュートン、又は0ニュートン~0.8ニュートン等の範囲の骨伝導センサによって加えられる特定の圧力で、ユーザの身体の領域に位置する骨伝導センサによって収集されてもよい。例えば、第一の音声データは、骨伝導センサによって加えられる特定の圧力0ニュートン、又は0.2ニュートン、又は0.4ニュートン、又は0.8ニュートン等で、ユーザの身体の耳珠に位置する骨伝導センサによって収集されてもよい。骨伝導センサによって加えられるユーザの身体の同一部位に対する圧力が異なると、第一の音声データの周波数成分、音響特性(例えば、周波数成分の振幅)、第一の音声データに含まれるノイズ等が変化する場合がある。例えば、骨伝導音声データの信号強度は、最初は徐々に増加し、圧力が0Nから0.8Nに増加すると、信号強度の増加が飽和するまで遅くなることがある。骨伝導センサと接触する異なる身体部位の骨伝導音声データへの影響に関する更なる説明は、本開示の他の箇所(例えば、図12A及びその説明)に見出すことができる。骨伝導音声データによって加えられる異なる圧力の骨伝導音声データに対する影響に関する更なる説明は、本開示の他の箇所(例えば、図12B及びその説明)に見出すことができる。
520において、処理装置122(例えば、取得モジュール410)は、空気伝導センサによって収集された第二の音声データを取得してもよい。本明細書で使用される空気伝導センサは、本開示の他の箇所(例えば、図1及びその説明)で説明されているように、ユーザが話すときに空気を通して伝導する振動信号を収集し得る任意のセンサ(例えば、空気伝導マイク114)を参照してもよい。空気伝導センサによって収集された振動信号は、空気伝導センサ又は他の任意のデバイス(例えば、増幅器、アナログ-デジタル変換器(ADC)等)によって、音声データ(例えば、音声信号)に変換されてもよい。空気伝導センサによって収集された音声データ(例えば、第二の音声データ)は、空気伝導音声データと呼ばれることもある。いくつかの実施形態では、第二の音声データは、時間領域の音声信号、周波数領域の音声信号等を含んでもよい。第二の音声データは、アナログ信号又はデジタル信号を含んでもよい。いくつかの実施形態において、処理装置122は、ネットワーク150を介して、空気伝導センサ(例えば、空気伝導マイク114)、端末130、ストレージ装置140、又は任意の他のストレージ装置から第二の音声データをリアルタイム又は周期的に取得してもよい。いくつかの実施形態では、第二の音声データは、空気伝導センサをユーザの口から距離閾値(例えば、0cm、1cm、2cm、5cm、10cm、20cm等)以内に配置することによって収集されてもよい。いくつかの実施形態では、第二の音声データ(例えば、第二の音声データの平均振幅)は、空気伝導センサとユーザの口との間の距離が異なれば、異なってもよい。
第二の音声データは、異なる周波数及び/又は強度(すなわち、振幅)を有する複数の波(例えば、正弦波、高調波等)の重ね合わせによって表されてもよい。いくつかの実施形態では、空気伝導センサによって収集された第二の音声データに含まれる周波数成分は、0Hz~20kHz、又は20Hz~20kHz、又は1000Hz~10kHz等の周波数範囲であってよい。第二の音声データは、ユーザが話すときに空気伝導音声データを収集及び/又は生成されてもよい。第二の音声データは、ユーザが話すこと、すなわち、ユーザの発話を表してもよい。例えば、第二の音声データは、ユーザの発話の内容を反映し得る音響特性及び/又は意味情報を含んでもよい。第二の音声データの音響特性は、操作510で説明したように、持続時間に関連する1つ以上の特徴、エネルギーに関連する1つ以上の特徴、基本周波数に関連する1つ以上の特徴、周波数スペクトルに関連する1つ以上の特徴、位相スペクトルに関連する1つ以上の特徴等を含んでもよい。
いくつかの実施形態において、第一の音声データ及び第二の音声データは、異なる周波数成分を有するユーザの同じ発話を表すことができる。ユーザの同じ発話を表す第一の音声データ及び第二の音声データは、ユーザが発話をするときに、第一の音声データ及び第二の音声データがそれぞれ骨伝導センサ及び空気伝導センサによって同時に収集されることを指す場合がある。いくつかの実施形態において、骨伝導センサによって収集された第一の音声データは、第一の周波数成分を含んでもよい。第二の音声データは、第二の周波数成分を含んでもよい。いくつかの実施形態において、第二の音声データの第二の周波数成分は、第一の周波数成分の少なくとも一部を含んでもよい。第二の音声データに含まれる意味情報は、第一の音声データに含まれる意味情報と同じであってもよいし、異なっていてもよい。第二の音声データの音響特性は、第一の音声データの音響特性と同じであってもよいし、異なっていてもよい。例えば、第一の音声データの特定の周波数成分の振幅は、第二の音声データの特定の周波数成分の振幅と異なっていてもよい。別の例として、周波数点(例えば、2000Hz)より小さい第一の音声データの周波数成分又は周波数範囲(例えば、20Hz~2000Hz)内の第一の音声データの周波数成分は、その周波数点(例えば、2000Hz)より小さい第二の音声データの周波数成分又はその周波数範囲(例えば、20Hz~2000Hz)内の第二の音声データの周波数成分より多くてもよい。 周波数点(例えば3000Hz)より大きい第一の音声データの周波数成分又は周波数範囲(例えば3000Hz~20kHz)内の第一の音声データの周波数成分は、周波数点(例えば3000Hz)より大きい第二の音声データの周波数成分又は周波数範囲(例えば3000Hz~20kHz)内の第二の音声データの周波数成分より少なくてもよい。周波数点(例えば、2000Hz)より小さい第一の音声データの周波数成分又は周波数範囲(例えば、20Hz~2000Hz)内の第一の音声データの周波数成分が、その周波数点(例えば、2000Hz)より小さい第二の音声データの周波数成分又はその周波数範囲(例えば、20Hz~2000Hz)内の第二の音声データの周波数成分より多いとは、周波数点(例えば、2000Hz)より小さい第一の音声データの周波数成分又は周波数範囲(例えば、20Hz~2000Hz)内の第一の音声データの周波数成分のカウント又は数が、その周波数点(例えば、2000Hz)より小さい第二の音声データの周波数成分又はその周波数範囲(例えば、20Hz~2000Hz)内の第二の音声データの周波数成分のカウント又は数よりも大きいことを指してもよい。
530において、処理装置122(例えば、前処理モジュール420)は、第一の音声データ又は第二の音声データの少なくとも一方を前処理してもよい。前処理された後の第一の音声データ及び第二の音声データは、それぞれ前処理済み第一の音声データ及び前処理済み第二の音声データと呼ばれることもある。例示的な前処理操作は、領域変換操作、信号較正操作、音声再構成操作、発話強調操作等を含んでもよい。
領域変換操作は、第一の音声データ及び/又は第二の音声データを時間領域から周波数領域へ、又は周波数領域から時間領域へ変換するために実行されてもよい。いくつかの実施形態では、処理装置122は、フーリエ変換又は逆フーリエ変換を実行することによって領域変換操作を実行してもよい。いくつかの実施形態において、領域変換操作を実行するために、処理装置122は、第一の音声データ及び/又は第二の音声データに対して、フレーム分割操作、窓化操作等を実行してもよい。例えば、第一の音声データは、1つ以上の発話フレームに分割されてもよい。1つ以上の発話フレームのそれぞれは、音声データがほぼ安定していると考えられ得る持続時間(例えば、5ms、10ms、15ms、20ms、25ms等)の音声データを含んでもよい。1つ以上の発話フレームのそれぞれは、処理済み発話フレームを取得するために、波形分割の関数を使用して窓化操作を実行してもよい。本明細書で使用されるように、波動分割の関数は、窓関数と呼ばれることがある。例示的な窓関数は、ハミング窓、ハン窓、ブラックマン-ハリス窓等を含んでもよい。最後に、処理済み発話フレームに基づいて、第一の音声データを時間領域から周波数領域に変換するために、フーリエ変換操作が使用されてもよい。
信号較正操作は、例えば、骨伝導センサと空気伝導センサとの間の感度差によって引き起こされる第一の音声データ及び/又は第二の音声データの大きさのオーダーの間の差を取り除くために、第一の音声データ及び第二の音声データの大きさ(例えば、振幅)のオーダーの統一に使用されてもよい。いくつかの実施形態では、処理装置122は、第一の音声データ及び/又は第二の音声データに対して正規化操作を実行して、第一の音声データ及び/又は第二の音声データを較正するための正規化済み第一の音声データ及び/又は正規化済み第二の音声データを取得することができる。例えば、処理装置122は、以下の式(1):
に従って、正規化済み第一の音声データ及び/又は正規化済み第二の音声データを決定してもよい。
ここで、S
normalizedは正規化済み第一の音声データ(又は正規化済み第二の音声データ)を表し、S
initialは第一の音声データ(又は第二の音声データ)を表し、|S
max|は第一の音声データ(又は第二の音声データ)の振幅の絶対値のうち最大値を表すことができる。
発話強調操作は、音声データ(例えば、第一の音声データ及び/又は第二の音声データ)に含まれるノイズ又は他の余計な情報及び望ましくない情報を低減するために使用されてもよい。第一の音声データ(又は正規化済み第一の音声データ)及び/又は第二の音声データ(又は正規化済み第二の音声データ)に対して実行される発話強調操作は、スペクトル減算に基づく発話強調アルゴリズム、ウェーブレット分析に基づく発話強調アルゴリズム、カルマンフィルターに基づく発話強調アルゴリズム、信号サブ空間に基づく発話強調アルゴリズム、聴覚マスキング効果に基づく発話強調アルゴリズム、独立成分分析に基づく発話強調アルゴリズム、ニューラルネットワーク技法等又はそれらの組合せを使用することを含んでもよい。いくつかの実施形態において、発話強調操作は、ノイズ除去操作を含んでもよい。いくつかの実施形態において、処理装置122は、第二の音声データ(又は正規化済み第二の音声データ)に対してノイズ除去操作を行い、ノイズ除去された第二の音声データを取得してもよい。いくつかの実施形態では、正規化済み第二の音声データ及び/又はノイズ除去された第二の音声データは、前処理済み第二の音声データと呼ばれることもある。いくつかの実施形態において、ノイズ除去操作は、ウィナーフィルタ、スペクトル減算アルゴリズム、適応アルゴリズム、最小平均二乗誤差(MMSE)推定アルゴリズム等、又はそれらの任意の組合せを使用することを含んでもよい。
音声再構成操作は、初期骨伝導音声データ(例えば、第一の音声データ又は正規化済み第一の音声データ)の周波数点(例えば、2000Hz、3000Hz)より大きい関心周波数成分、又はその周波数範囲(例えば、2000Hz~20kHz、3000Hz~20kHz)内の関心周波数成分を強調又は増加させて、初期骨伝導音声データに対して改善された忠実度を有する再構成済み骨伝導音声データを取得するために使用されてもよい。再構成済み骨伝導音声データは、初期骨伝導音声データが収集されたときに同時に空気伝導センサによって収集されたノイズのない又は少ない理想的な空気伝導音声データと類似する、近い、又は同一である初期骨伝導音声データでユーザの同じ発話を表現してもよい。再構成済み骨伝導音声データは、空気伝導音声データと等価であってもよく、初期骨伝導音声データに対応する等価空気伝導音声データと呼ばれることもある。本明細書で使用されるように、理想的な空気伝導音声データに類似する、近い、又は同一である再構成済み音声データは、再構成済み骨音声データと理想的な空気伝導音声データとの間の類似度が閾値(例えば、90%、80%、70%等)よりも大きくてよいことを意味してもよい。再構成済み骨伝導音声データ、初期骨伝導音声データ、及び理想的な空気伝導音声データに関する更なる説明は、本開示の他の箇所(例えば、図11及びその説明)に見出すことができる。
いくつかの実施形態では、処理装置122は、訓練済み機械学習モデル、構成済みフィルタ、高調波補正モデル、疎行列技法等、又はそれらの任意の組合せを使用して再構成済み第一の音声データを生成するために、第一の音声データ(又は正規化済み第一の音声データ)に対して音声再構成操作を実行することができる。いくつかの実施形態では、再構成済み第一の音声データは、訓練済み機械学習モデル、構成済みフィルタ、高調波補正モデル、疎行列技法等のうちの1つを使用して生成されてもよい。いくつかの実施形態では、再構成済み第一の音声データは、訓練済み機械学習モデル、構成済みフィルタ、高調波補正モデル、疎行列技法等のうちの少なくとも2つを使用して生成されてもよい。例えば、処理装置122は、訓練済み機械学習モデルを使用して第一の音声データを再構成することによって、中間第一の音声データを生成してよい。処理装置122は、構成済みフィルタ、高調波補正モデル、疎行列技法等のうちの1つを使用して中間第一の音声データを再構成することによって、再構成済み第一の音声データを生成してもよい。別の例として、処理装置122は、構成済みフィルタ、高調波補正モデル、疎行列技法のうちの1つを使用して第一の音声データを再構成することによって、中間第一の音声データを生成してもよい。処理装置122は、構成済みフィルタ、高調波補正モデル、疎行列技法等のうちの別の1つを使用して第一の音声データを再構成することによって、別の中間第一の音声データを生成してもよい。処理装置122は、中間第一の音声データと別の中間第一の音声データとを平均化することによって、再構成済み第一の音声データを生成してもよい。さらなる例として、処理装置122は、構成済みフィルタ、高調波補正モデル、疎行列技法等のうちの2つ以上を使用して第一の音声データを再構成することによって、複数の中間第一の音声データを生成してもよい。処理装置122は、複数の中間第一の音声データを平均化することによって、再構成済み第一の音声データを生成してもよい。
いくつかの実施形態において、処理装置122は、訓練済み機械学習モデルを使用して、再構成済み第一の音声データを取得するために、第一の音声データ(又は正規化済み第一の音声データ)を再構成してもよい。再構成済み第一の音声データの周波数点(例えば、2000Hz、3000Hz)よりも高い周波数成分、又はその周波数範囲(例えば、2000Hz~20kHz、3000Hz~20kHz等)内の周波数成分は、周波数点(例えば、2000Hz、3000Hz)よりも高い第一の音声データの周波数成分、又は周波数範囲(例えば、2000Hz~20kHz、3000Hz~20kHz等)内の第一の音声データの周波数成分に対して増加してもよい。訓練済み機械学習モデルは、深層学習モデル、従来の機械学習モデル等、又はそれらの任意の組合せに基づいて構成されてもよい。例示的な深層学習モデルは、畳み込みニューラルネットワーク(CNN)モデル、回帰型ニューラルネットワーク(RNN)モデル、長短期記憶ネットワーク(LSTM)モデル等を含んでもよい。例示的な従来の機械学習モデルは、隠れマルコフモデル(HMM)、多層パーセプトロン(MLP)モデル等を含んでもよい。
いくつかの実施形態では、訓練済み機械学習モデルは、訓練データの複数のグループを使用して予備的機械学習モデルを訓練することによって決定されてもよい。訓練データの複数のグループの各グループは、骨伝導音声データ及び空気伝導音声データを含んでもよい。訓練データのグループは、発話サンプルと呼ばれることもある。発話サンプル中の骨伝導音声データは、予備的機械学習モデルの入力として使用されてもよく、発話サンプル中の骨伝導音声データに対応する空気伝導音声データは、予備的機械学習モデルの訓練プロセス中に、予備的機械学習モデルの所望の出力として使用されてもよい。発話サンプル中の骨伝導音声データ及び空気伝導音声データは、同一の発話を表し、ノイズのない環境において骨伝導センサ及び空気伝導センサによって同時にそれぞれ収集されてもよい。本明細書で使用する場合、ノイズのない環境とは、環境中の1つ以上のノイズ評価パラメータ(例えば、ノイズ標準曲線、統計的ノイズレベル等)が、閾値未満等の条件を満たすことを指す場合がある。訓練済み機械学習モデルは、骨伝導音声データ(例えば、第一の音声データ)と再構成済み骨伝導音声データ(例えば、同等の空気伝導音声データ)との間に対応関係を提供するように構成されてもよい。訓練済み機械学習モデルは、対応する関係に基づいて、骨伝導音声データを再構成するように構成されてもよい。いくつかの実施形態では、訓練データの複数のグループのそれぞれにおける骨伝導音声データは、ユーザ(例えば、テスタ)の身体の同じ領域(例えば、耳の周辺)に配置された骨伝導センサによって収集されてもよい。訓練済み機械学習モデルの訓練に使用される骨伝導音声データを収集するために骨伝導センサが配置される身体の領域は、訓練済み機械学習モデルの適用に使用される骨伝導音声データ(例えば、第一の音声データ)を収集するために骨伝導センサが配置される身体の領域と一致してもよく、及び/又は同じであってよい。例えば、訓練データの複数のグループの各グループにおける骨伝導音声データを収集するために骨伝導センサが配置されるユーザ(例えば、テスタ)の身体の領域は、第一の音声データを収集するために骨伝導センサが配置されるユーザの身体の領域と同じであってよい。さらなる例として、第一の音声データを収集するために骨伝導センサが配置されるユーザの身体の領域が首である場合、訓練済み機械学習モデルの訓練プロセスで使用される骨伝導音声データを収集するために骨伝導センサが配置される身体の領域は、身体の首である。複数のグループの訓練データを収集するために骨伝導センサが配置されるユーザ(例えば、テスタ)の身体の領域は、骨伝導音声データ(例えば、第一の音声データ)と再構成済み骨伝導音声データ(例えば、等価な空気伝導音声データ)との間の対応関係に影響を与え、したがって、訓練済み機械学習モデルを用いて対応関係に基づいて生成された再構成済み骨伝導音声データに影響を与えることがある。異なる領域に配置された骨伝導センサによって収集された複数のグループの訓練データが訓練済み機械学習モデルの学習に使用される場合、骨伝導音声データ(例えば、第一の音声データ)と再構成済み骨伝導音声データ(例えば、等価空気伝導音声データ)との間に対応関係がある。例えば、同一構成の複数の骨伝導センサは、乳様突起、こめかみ、頭頂部、外耳道等、身体の異なる部位に配置されていてもよい。複数の骨伝導センサは、ユーザが話すときに骨伝導音声データを同時に収集してもよい。複数の訓練セットは、複数の骨伝導センサによって収集された骨伝導音声データに基づいて、形成されてもよい。複数の訓練セットのそれぞれは、複数の骨伝導センサのうちの1つと空気伝導センサとによって収集された訓練データの複数のグループを含んでもよい。訓練データの複数のグループのそれぞれは、同一の発話を表す骨伝導音声データ及び空気伝導音声データを含んでもよい。複数の訓練セットのそれぞれは、機械学習モデルを訓練して、訓練済み機械学習モデルを取得してもよい。複数の訓練済み機械学習モデルは、複数の訓練セットに基づき、取得されてもよい。複数の訓練済み機械学習モデルは、特定の骨伝導音声データと再構成済み骨伝導音声データとの間に異なる対応関係を提供してもよい。異なる再構成済み骨伝導音声データを、同一の骨伝導音声データを複数の訓練済み機械学習モデルにそれぞれ入力することによって、生成してもよい。いくつかの実施形態では、構成内の異なる骨伝導センサによって収集された骨伝導音声データ(例えば、周波数応答曲線の)は、異なっていてもよい。したがって、訓練済み機械学習モデルの学習に使用される骨伝導音声データを収集するための骨伝導センサは、構成における訓練済み機械学習モデルの適用に使用される骨伝導音声データ(例えば、第一の音声データ)を収集するための骨伝導センサと一致してもよく、及び/又は同じであってよい。いくつかの実施形態では、0ニュートン~1ニュートン、又は0ニュートン~0.8ニュートン等の範囲の異なる圧力で、ユーザの身体の領域に位置する骨伝導センサによって収集された骨伝導音声データ(例えば、周波数応答曲線)は、異なる場合がある。したがって、骨伝導センサが、訓練済み機械学習モデルの訓練のために骨伝導音声データを収集するためにユーザの身体の領域に加える圧力は、骨伝導センサが、構成において訓練済み機械学習モデルの適用のために骨伝導音声データを収集するためにユーザの身体の領域に加える圧力と一致してもよく、及び/又は同じであってもよい。訓練済み機械学習モデルを決定するため、及び/又は骨伝導音声データを再構成するための更なる説明は、図6及びその説明に見出すことができる。
いくつかの実施形態では、処理装置122(例えば、前処理モジュール420)は、構成済みフィルタを用いて、再構成済み骨伝導音声データを取得するために、第一の音声データ(又は正規化済み第一の音声データ)を再構成してもよい。構成済みフィルタは、特定の空気伝導音声データと、特定の空気伝導音声データに対応する特定の骨伝導音声データとの間の関係を提供するように構成されてもよい。本明細書で使用されるように、対応する骨伝導音声データ及び空気伝導音声データは、対応する骨伝導音声データ及び空気伝導音声データがユーザの同じ発話を表すことを指す場合がある。特定の空気伝導音声データは、等価空気伝導音声データ又は特定の骨伝導音声データに対応する再構成済み骨伝導音声データと呼ばれることもある。特定空気伝導音声データの周波数点(例えば、2000Hz、3000Hz)より高い周波数成分、又は周波数範囲(例えば、2000Hz~20kHz、3000Hz~20kHz等)の周波数成分は、特定骨伝導音声データの周波数点(例えば、2000Hz、3000Hz)より高い周波数成分、又は周波数範囲(例えば、2000Hz~20kHz、3000Hz~20kHz等)の周波数成分よりも高くてもよい。処理装置122は、この関係に基づいて、特定骨伝導音声データを特定空気伝導音声データに変換してもよい。例えば、処理装置122は、構成済みフィルタを用いて再構成済み第一の音声データを取得して、第一の音声データを再構成済み第一の音声データに変換してもよい。いくつかの実施形態では、発話サンプル中の骨伝導音声データはd(n)と表記されてもよく、発話サンプル中の対応する空気伝導データはs(n)と表記されてもよい。骨伝導音声データd(n)、及び対応する空気伝導音声データs(n)は、骨伝導システム及び空気伝導システムをそれぞれ通る初期音励起信号e(n)に基づいて決定されてもよく、骨伝導システム及び空気伝導システムは、それぞれフィルタB及びフィルタVに相当し得る。こうして、構成済みフィルタは、フィルタHに相当してもよい。フィルタHは、以下の式(2):
に従って決定されてもよい。
いくつかの実施形態において、構成済みフィルタは、例えば、長期スペクトル技法を用いて決定されてもよい。例えば、処理装置122は、以下の式(3):
に従って構成済みフィルタを決定してもよい,ここで、
は周波数領域で構成済みフィルタを指し、
は空気伝導音声データs(n)に対応する長期スペクトル表現を指し、
は骨伝導音声データd(n)に対応する長期スペクトル表現を指す。いくつかの実施形態において、処理装置122は、対応する骨伝導音声データ及び空気伝導音声データ(発話サンプルとも呼ばれる)の1つ以上のグループを取得してもよい。骨伝導音声データ及び空気伝導音声データのそれぞれは、オペレータ(例えば、テスタ)が話すときに、ノイズのない環境において骨伝導センサ及び空気伝導センサによってそれぞれ同時に収集される、処理装置122は、式(3)に従って、対応する骨伝導音声データ及び空気伝導音声データの1つ以上のグループに基づいて、構成済みフィルタを決定してよい。例えば、処理装置122は、式(3)に従って、対応する骨伝導音声データ及び空気伝導音声データの1つ以上のグループのそれぞれに基づいて、構成済みフィルタの候補を決定してもよい。処理装置122は、対応する骨伝導音声データ及び空気伝導音声データの1つ以上のグループに対応する構成済みフィルタの候補に基づいて、構成済みフィルタを決定してもよい。いくつかの実施形態において、処理装置122は、初期フィルタ
に対して逆フーリエ変換(IFT)(例えば、高速IFT)演算を実行して、時間領域で構成済みフィルタを取得してもよい。
いくつかの実施形態では、構成済みフィルタを決定するために使用される骨伝導音声データを収集するために骨伝導センサが配置される身体の領域は、構成済みフィルタの適用のために使用される骨伝導音声データ(例えば、第一の音声データ)を収集するために骨伝導センサが配置される身体の領域と一致してもよく、及び/又は同じである。例えば、対応する骨伝導音声データ及び空気伝導音声データの1つ以上のグループの各グループにおける骨伝導音声データを収集するために骨伝導センサが配置されるユーザ(例えば、テスタ)の身体の領域は、第一の音声データを収集するために骨伝導センサが配置されるユーザの身体の領域と同じであってよい。いくつかの実施形態では、構成済みフィルタは、構成済みフィルタを決定するために使用される骨伝導音声データを収集するために骨伝導センサが配置される身体の領域とは異なってもよい。例えば、ユーザが話すときに、身体の第一の領域に位置する第一の骨伝導センサ及び空気伝導センサによってそれぞれ収集された対応する骨伝導音声データ及び空気伝導音声データの1つ以上の第一のグループを取得してもよい。ユーザが話すときに、身体の第二の領域に位置する第二の骨伝導センサ及び空気伝導センサによってそれぞれ収集された対応する骨伝導音声データ及び空気伝導音声データの1つ以上の第二のグループを取得してもよい。第一の構成済みフィルタは、対応する骨伝導音声データ及び空気伝導音声データの1つ以上の第一のグループに基づいて決定してもよい。第二の構成済みフィルタは、対応する骨伝導音声データ及び空気伝導音声データの1つ以上の第二のグループに基づいて決定してもよい。第一の構成済みフィルタは、第二の構成済みフィルタと異なっていてもよい。第一の構成済みフィルタ及び第二の構成済みフィルタに基づいて、それぞれ決定された再構成済み骨伝導音声データは、同じ骨伝導音声データ(例えば、第一の音声データ)に基づいて異なってもよい。第一の構成済みフィルタと第二の構成済みフィルタによって提供される特定の空気伝導音声データに対応する特定の骨伝導音声データと特定の空気伝導音声データとの関係は、異なっていてもよい。
いくつかの実施形態では、処理装置122(例えば、前処理モジュール420)は、高調波補正モデルを使用して、第一の音声データ(又は正規化済み第一の音声データ)を再構成して、再構成済み第一の音声データを取得してもよい。高調波補正モデルは、特定の空気伝導音声データの振幅スペクトルと、特定の空気伝導音声データに対応する特定の骨伝導音声データの振幅スペクトルとの間の関係を提供するように構成されてもよい。本明細書で使用されるように、特定の空気伝導音声データは、等価空気伝導音声データ又は特定の骨伝導音声データに対応する再構成済み骨伝導音声データとも呼ばれ得る。特定の空気伝導音声データの振幅スペクトルは、特定の骨伝導音声データの補正済み振幅スペクトルと呼ばれることもある。処理装置122は、周波数領域における第一の音声データ(又は正規化済み第一の音声データ)の振幅スペクトル及び位相スペクトルを決定してもよい。処理装置122は、高調波補正モデルを用いて第一の音声データ(又は正規化済み第一の音声データ)の振幅スペクトルを補正して、第一の音声データ(又は正規化済み第一の音声データ)の補正済み振幅スペクトルを取得しもよい。次いで、処理装置122は、第一の音声データ(又は正規化済み第一の音声データ)の補正済み振幅スペクトル及び位相スペクトルに基づいて再構成済み第一の音声データを決定してもよい。高調波補正モデルを用いて第一の音声データを再構成するための更なる説明は、本開示の他の箇所(例えば、図7及びその説明)に見出すことができる。
いくつかの実施形態において、処理装置122(例えば、前処理モジュール420)は、疎行列技法を用いて、第一の音声データ(又は正規化済み第一の音声データ)を再構成して、再構成済み第一の音声データを取得してもよい。例えば、処理装置122は、初期骨伝導音声データ(例えば、第一の音声データ)の辞書行列を、初期骨伝導音声データに対応する再構成済み骨伝導音声データ(例えば、再構成済み第一の音声データ)の辞書行列に変換するように構成された第一の変換関係を取得してもよい。処理装置122は、初期骨伝導音声データの疎符号行列を、初期骨伝導音声データに対応する再構成済み骨伝導音声データの疎符号行列に変換するように構成済み第二の変換関係を取得してもよい。処理装置122は、第一の変換関係を使用して、第一の音声データの辞書行列に基づいて、再構成済み第一の音声データの辞書行列を決定してもよい。処理装置122は、第二の変換関係を使用して、第一の音声データの疎符号行列に基づいて、再構成済み第一の音声データの疎符号行列を決定してもよい。処理装置122は、決定された辞書行列と、再構成済み第一の音声データの決定された疎符号行列とに基づいて、再構成済み第一の音声データを決定してもよい。いくつかの実施形態では、第一の変換関係及び/又は第二の変換関係は、音声信号生成システム100のデフォルト設定であってもよい。いくつかの実施形態では、処理装置122は、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループに基づいて、第一の変換関係及び/又は第二の変換関係を決定してもよい。疎行列技法を用いて第一の音声データを再構成するための更なる説明は、本開示の他の箇所(例えば、図8及びその説明)に見出すことができる。
540において、処理装置122(例えば、音声データ生成モジュール430)は、第一の音声データ(又は前処理済み第一の音声データ)及び第二の音声データ(又は前処理済み第二の音声データ)に基づいて、第三の音声データを生成してもよい。周波数点(又は閾値)よりも高い第三の音声データの周波数成分は、その周波数点(又は閾値)よりも高い第一の音声データ(又は前処理済み第一の音声データ)の周波数成分に対して増加してもよい。言い換えれば、周波数点(又は閾値)よりも高い第三の音声データの周波数成分は、周波数点(又は閾値)よりも高い第一の音声データ(又は前処理済み第一の音声データ)の周波数成分よりも多くてもよい。いくつかの実施形態では、第三の音声データに関連するノイズレベルは、第二の音声データ(又は前処理済み第二の音声データ)に関連するノイズレベルより低くてもよい。本明細書で使用されるように、周波数点(又は閾値)よりも高い第三の音声データの周波数成分が、周波数点よりも高い第一の音声データ(又は前処理済み第一の音声データ)の周波数成分に関して増加することは、第三の音声データにおける周波数点よりも高い周波数を有する波のカウント又は数が、第一の音声データにおける周波数点よりも高い周波数を有する波のカウント又は数よりも大きくてもよいことを意味し得る。いくつかの実施形態では、周波数点は、20Hz~20kHzの範囲内の定数であってもよい。例えば、周波数点は、2000Hz、3000Hz、4000Hz、5000Hz、6000Hz等であってもよい。いくつかの実施形態では、周波数点は、第三の音声データ及び/又は第一の音声データにおける周波数成分の周波数値であってよい。
いくつかの実施形態では、処理装置122は、1つ以上の周波数閾値に従って、第一の音声データ(又は前処理済み第一の音声データ)及び第二の音声データ(又は前処理済み第二の音声データ)に基づいて、第三の音声データを生成してもよい。例えば、処理装置122は、第一の音声データ(又は前処理済み第一の音声データ)又は第二の音声データ(又は前処理済み第二の音声データ)の少なくとも一方に、少なくとも部分的に基づいて、1つ以上の周波数閾値を決定してもよい。処理装置122は、1つ以上の周波数閾値に従って、第一の音声データ(又は前処理済み第一の音声データ)及び第二の音声データ(又は前処理済み第二の音声データ)をそれぞれ複数のセグメントに分割してもよい。処理装置122は、第一の音声データ(又は前処理済み第一の音声データ)及び第二の音声データ(又は前処理済み第二の音声データ)のそれぞれの複数のセグメントのそれぞれについて重みを決定してもよい。次いで、処理装置122は、第一の音声データ(又は前処理済み第一の音声データ)及び第二の音声データ(又は前処理済み第二の音声データ)のそれぞれの複数のセグメントのそれぞれに対する重みに基づいて、第三の音声データを決定してもよい。
いくつかの実施形態において、処理装置122は、1つの単一周波数閾値を決定してもよい。処理装置122は、第一の音声データ(又は前処理済み第一の音声データ)及び第二の音声データ(又は前処理済み第二の音声データ)を、1つの単一の周波数閾値に従って周波数領域で縫合して、第三の音声データを生成してもよい。処理装置122は、第一の特定フィルタを用いて、1つの単一周波数閾値よりも低い周波数成分を含む第一の音声データ(又は前処理済み第一の音声データ)の下位部分を決定してもよい。処理装置122は、第二の特定フィルタを用いて、1つの単一の周波数閾値よりも高い周波数成分を含む第二の音声データ(又は、前処理済み第二の音声データ)の高い部分を決定してもよい。処理装置122は、第一の音声データ(又は前処理済み第一の音声データ)の下位部分と第二の音声データ(又は前処理済み第二の音声データ)の上位部分とを縫合及び/又は結合して、第三の音声データを生成してもよい。第一の特定フィルタは、1つの単一周波数閾値よりも低い第一の音声データ内の周波数成分を通過させ得るカットオフ周波数として、1つの単一周波数閾値を有するローパスフィルタであってもよい。第二の特定フィルタは、1つの単一周波数閾値よりも高い第二の音声データ中の周波数成分を通過させ得るカットオフ周波数として、1つの単一周波数閾値を有するハイパスフィルタであってもよい。いくつかの実施形態では、処理装置122は、第一の音声データ(又は前処理済み第一の音声データ)及び/又は第二の音声データ(又は前処理済み第二の音声データ)に少なくとも部分的に基づいて、1つの単一周波数閾値を決定してもよい。1つの単一周波数閾値を決定するための更なる説明は、図9及びその説明に見出すことができる。
いくつかの実施形態では、処理装置122は、1つの単一周波数閾値に少なくとも部分的に基づいて、第一の音声データ(又は前処理済み第一の音声データ)の下位部分及び第一の音声データ(又は前処理済み第一の音声データ)の上位部分に対して、それぞれ第一の重み及び第二の重みを決定してもよい。処理装置122は、1つの単一周波数閾値に少なくとも部分的に基づいて、第二の音声データ(又は前処理済み第二の音声データ)の下位部分及び第二の音声データ(又は前処理済み第二の音声データ)の上位部分に対して、それぞれ第三の重み及び第四の重みを決定してもよいいくつかの実施形態では、処理装置122は、第一の重み、第二の重み、第三の重み、及び第四の重みを用いて、第一の音声データ(又は前処理済み第一の音声データ)の下位部分、第一の音声データ(又は前処理済み第一の音声データ)の上位部分、第二の音声データ(又は前処理済み第二の音声データ)の下位部分、第二の音声データ(又は前処理済み第二の音声データ)の上位部分をそれぞれ重み付けすることによって第三の音声データを決定してよい。第三の音声データ(又は、縫合済み音声データ)を決定するための更なる説明は、図9及びその説明に見出すことができる。
いくつかの実施形態では、処理装置122は、第一の音声データ(又は前処理済み第一の音声データ)に対応する重みと、第二の音声データ(又は前処理済み第二の音声データ)に対応する重みとを、第一の音声データ(又は前処理済み第一の音声データ)又は第二の音声データ(又は前処理済み第二の音声データ)の少なくとも一方に少なくとも一部に基づいて、決定し得る。処理装置122は、第一の音声データ(又は前処理済み第一の音声データ)に対応する重み及び第二の音声データ(又は前処理済み第二の音声データ)に対応する重みを用いて、第一の音声データ(又は前処理済み第一の音声データ)及び第二の音声データ(又は前処理済み第二の音声データ)を重み付けすることによって第三の音声データを決定してもよい。第三の音声データを決定するためのより詳細な説明は、本開示の他の箇所(例えば、図10及びその説明)に見出すことができる。
550において、処理装置122(例えば、音声データ生成モジュール430)は、第三の音声データに基づいて、第一の音声データ及び第二の音声データよりも忠実度の高いユーザの発話を表すターゲット音声データを決定してもよい。ターゲット音声データは、第一の音声データ及び第二の音声データが表すユーザの発話を表してもよい。本明細書で使用されるように、忠実度は、出力音声データ(例えば、ターゲット音声データ、第一の音声データ、第二の音声データ)と元の入力音声データ(例えば、ユーザの発話)との間の類似度を示すために使用されてもよい。忠実度は、出力音声データ(例えば、ターゲット音声データ、第一の音声データ、第二の音声データ)の明瞭度を示すために使用されてもよい。
いくつかの実施形態では、処理装置122は、第三の音声データをターゲット音声データとして指定してもよい。いくつかの実施形態において、処理装置122は、第三の音声データに対して後処理操作を実行して、ターゲット音声データを取得してもよい。いくつかの実施形態において、後処理操作は、ノイズ除去操作、領域変換操作(例えば、フーリエ変換(FT)操作)等、又はそれらの組合せを含んでもよい。いくつかの実施形態において、第三の音声データに対して実行されるノイズ除去操作は、ウィナーフィルタ、スペクトル減算アルゴリズム、適応アルゴリズム、最小平均二乗誤差(MMSE)推定アルゴリズム等、又はそれらの任意の組合せを使用すること含んでもよい。いくつかの実施形態では、第三の音声データ上で実行されるノイズ除去操作は、第二の音声データ上で実行されるノイズ除去操作と同じであってもよいし、異なっていてもよい。例えば、第二の音声データ上で実行されるノイズ除去操作及び第三の音声データ上で実行されるノイズ除去操作の両方は、スペクトル減算アルゴリズムを使用してもよい。別の例として、第二の音声データ上で実行されるノイズ除去操作は、ウィナーフィルタを使用してもよく、第三の音声データ上で実行されるノイズ除去操作は、スペクトル減算アルゴリズムを使用してもよい。いくつかの実施形態では、処理装置122は、周波数領域で第三の音声データに対してIFT演算を実行して、時間領域でターゲット音声データを取得してもよい。
いくつかの実施形態において、処理装置122は、ネットワーク150を介して、クライアント端末(例えば、端末130)、ストレージ装置140、及び/又は任意の他のストレージ装置(音声信号生成システム100では図示せず)に信号を送信してもよい。この信号は、ターゲット音声データを含んでもよい。また、信号は、クライアント端末にターゲット音声データの再生を指示するように構成されていてもよい。
上記の説明は、単に例示のために提供されたもので、本開示の範囲を限定することを意図していないことに留意されたい。当業者は、複数の変形例及び修正を本開示の教示の下で実施することができる。しかしながら、それらの変形例及び修正は、本開示の範囲から逸脱するものではない。例えば、操作550を省いてもよい。別の例として、操作510及び520は、1つの単一の操作に統合されてもよい。
図6は、本開示のいくつかの実施形態に従って、訓練済み機械学習モデルを使用して、骨伝導音声データを再構成するための例示的なプロセスを示す概略フローチャートである。いくつかの実施形態では、プロセス600は、ストレージ装置140、ROM230若しくはRAM240、又はストレージ390に記憶された命令のセット(例えば、アプリケーション)として実装されてもよい。処理装置122、プロセッサ220、及び/又はCPU340は、命令のセットを実行してもよく、命令を実行するとき、処理装置122、プロセッサ220、及び/又はCPU340は、プロセス600を実行するように構成されてもよい。以下に提示され、図示されるプロセスの操作は、例示であることを意図している。いくつかの実施形態では、プロセス600は、説明されていない操作を1つ以上追加して、及び/又は、説明された操作の1つ以上を省いて、達成することもできる。さらに、図6に図示され、以下で説明されるプロセス600の操作の順序は、限定することを意図していない。いくつかの実施形態では、プロセス600の1つ以上の操作を、図5に関連して説明したように、操作530の少なくとも一部を達成するために実行してもよい。
610において、処理装置122(例えば、取得モジュール410)は、骨伝導音声データを取得してもよい。いくつかの実施形態では、骨伝導音声データは、本開示の他の箇所(例えば、図1及びその説明)で説明したように、ユーザが話すときに骨伝導センサによって収集された元の音声データ(例えば、第一の音声データ)であってもよい。例えば、ユーザの発話は、骨伝導センサ(例えば、骨伝導マイク112)によって収集され、電気信号(例えば、アナログ信号又はデジタル信号)(すなわち、骨伝導音声データ)を生成してもよい。骨伝導センサは、ネットワーク150を介して、電気信号をサーバ120、端末130、及び/又はストレージ装置140に送信してもよい。いくつかの実施形態では、骨伝導音声データは、ユーザの発話の内容を反映し得る音響特性及び/又は意味情報を含んでもよい。例示的な音響特性は、本開示の他の場所(例えば、図5及びその説明)で説明したように、持続時間に関連する1つ以上の特徴、エネルギーに関連する1つ以上の特徴、基本周波数に関連する1つ以上の特徴、周波数スペクトルに関連する1つ以上の特徴、位相スペクトルに関連する1つ以上の特徴等を含んでもよい。
620において、処理装置122(例えば、取得モジュール410)は、訓練済み機械学習モデルを取得してもよい。訓練済み機械学習モデルは、複数のグループの訓練データを用いて予備的機械学習モデルを訓練させることによって提供されてもよい。いくつかの実施形態では、訓練済み機械学習モデルは、特定の骨伝導音声データを処理して、処理済み骨伝導音声データを取得するように構成されてもよい。処理済み骨伝導音声データは、再構成済み骨伝導音声データと呼ばれることもある。周波数閾値又は周波数点(例えば、1000Hz、2000Hz、3000Hz、4000Hz等)よりも高い処理済み骨伝導音声データの周波数成分は、周波数閾値又は周波数点(例えば、1000Hz、2000Hz、3000Hz、4000Hz等)よりも高い特定の骨伝導音声データの周波数成分に対して増加してもよい。処理済み骨伝導音声データは、特定の骨伝導音声データと同時に空気伝導センサによって収集され、特定の骨伝導音声データと同じ発話を表すノイズがない、又は少ない理想的な空気伝導音声データと同一、類似、又は近いデータであってもよい。本明細書において、処理済み骨伝導音声データが理想的な空気伝導音声データと同一、類似、又は近いとは、処理済み骨伝導音声データの音響特性と理想的な空気伝導音声データとの類似度が閾値(例えば、0.9、0.8、0.7等)より大きいことを指してもよい。例えば、ノイズのない環境において、骨伝導マイク112及び空気伝導マイク114によって、ユーザが話すときに、骨伝導音声データ及び空気伝導音声データがそれぞれユーザから同時に取得されてもよい。骨伝導音声データを処理する訓練済み機械学習モデルによって生成された処理済み骨伝導音声データは、空気伝導マイク114によって収集された対応する空気伝導音声データと同一又は類似の音響特性を有していてもよい。いくつかの実施形態において、処理デバイス122は、端末130、ストレージ装置140、又は任意の他のストレージ装置から、訓練済み機械学習モデルを取得してもよい。
いくつかの実施形態において、予備的機械学習モデルは、深層学習モデル、従来の機械学習モデル等、又はそれらの任意の組合せに基づいて構成されてもよい。深層学習モデルは、畳み込みニューラルネットワーク(CNN)モデル、回帰型ニューラルネットワーク(RNN)モデル、長短期記憶ネットワーク(LSTM)モデル等、又はそれらの任意の組合せを含んでもよい。従来の機械学習モデルは、隠れマルコフモデル(HMM)、多層パーセプトロン(MLP)モデル等、又はそれらの任意の組合せを含んでもよい。いくつかの実施形態では、予備的機械学習モデルは、複数の層、例えば、入力層、複数の隠れ層、及び出力層を含んでもよい。複数の隠れ層は、1つ以上の畳み込み層、1つ以上のプーリング層、1つ以上のバッチ正規化層、1つ以上の活性化層、1つ以上の完全連結層、コスト関数層等を含んでもよい。複数の層のそれぞれは、複数のノードを含んでもよい。いくつかの実施形態では、予備的機械学習モデルは、複数のアーキテクチャパラメータと、訓練パラメータとも呼ばれる複数の学習パラメータとによって定義されてもよい。複数の学習パラメータは、複数のグループの訓練データを用いて、予備的機械学習モデルの訓練の間に、変更されてもよい。複数のアーキテクチャパラメータは、予備的機械学習モデルの訓練の前に、ユーザによって設定及び/又は調整されてもよい。機械学習モデルの例示的なアーキテクチャパラメータは、層のカーネルのサイズ、層の合計カウント(又は数)、各層におけるノードのカウント(又は数)、学習レート、バッチサイズ、エポック等を含んでもよい。例えば、予備的機械学習モデルがLSTMモデルを含む場合、LSTMモデルは、2つのノードを有する1つの単一入力層、それぞれが30のノードを含む4つの隠れ層、及び2つのノードを有する1つの単一出力層を含んでもよい。LSTMモデルの時間ステップは65であってもよく、学習レートは0.003であってもよい。機械学習モデルの例示的な学習パラメータは、2つの連結ノード間の連結重み、ノードに関連するバイアスベクトル等を含んでもよい。2つの連結ノード間の連結重みは、あるノードの出力値の割合を、別の連結ノードの入力値として表すように構成されてもよい。ノードに関するバイアスベクトルは、ノードの出力値が原点からずれることを抑制するように構成されていてもよい。
いくつかの実施形態では、訓練済み機械学習モデルは、機械学習モデル訓練アルゴリズムに基づいて、複数のグループの訓練データを使用して予備的機械学習モデルを訓練することによって決定されてもよい。いくつかの実施形態では、訓練データの複数のグループのうちの1つ以上のグループは、ノイズのない環境で、例えば消音室等で取得されてもよい。訓練データのグループは、特定の骨伝導音声データ及び対応する特定の空気伝導音声データを含んでもよい。訓練データのグループにおける特定の骨伝導音声データ及び対応する特定の空気伝導音声データは、それぞれ、骨伝導センサ(例えば、骨伝導マイク112)及び空気伝導センサ(例えば、空気伝導マイク114)によって特定のユーザから同時に取得されてもよい。いくつかの実施形態では、複数のグループの少なくとも一部の各グループは、特定の骨伝導音声データと、本開示の他の箇所で説明するような1つ以上の再構成技法を使用して特定の骨伝導音声データを再構成することによって生成された再構成済み骨伝導音声データを含んでもよい。例示的な機械学習モデル訓練アルゴリズムは、勾配降下アルゴリズム、ニュートンアルゴリズム、準ニュートンアルゴリズム、レーベンベルグ-マルカールトアルゴリズム、共役勾配アルゴリズム等、又はそれらの組合せを含んでもよい。訓練済み機械学習モデルは、骨伝導音声データ(例えば、第一の音声データ)と再構成済み骨伝導音声データ(例えば、同等の空気伝導音声データ)との間の対応関係を提供するように構成されてもよい。訓練済み機械学習モデルは、対応する関係に基づいて骨伝導音声データを再構成するように構成されてもよい。いくつかの実施形態では、訓練データの複数のグループのそれぞれにおける骨伝導音声データは、ユーザ(例えば、テスタ)の身体の同じ領域(例えば、耳の周辺)に配置された骨伝導センサによって収集されてもよい。いくつかの実施形態では、訓練済み機械学習モデルの訓練に使用される骨伝導音声データを収集するために骨伝導センサが配置される身体の領域は、訓練済み機械学習モデルの適用に使用される骨伝導音声データ(例えば、第一の音声データ)を収集するために骨伝導センサが配置される身体の領域と一致してもよく、及び/又は同じであってよい。例えば、訓練データの複数のグループの各グループにおける骨伝導音声データを収集するために骨伝導センサが配置されるユーザ(例えば、テスタ)の身体の領域は、第一の音声データを収集するために骨伝導センサが配置されるユーザの身体の領域と同じであってよい。さらなる例として、第一の音声データを収集するために骨伝導センサが配置されるユーザの身体の領域が首である場合、訓練済み機械学習モデルの訓練プロセスで使用される骨伝導音声データを収集するために骨伝導センサが配置される身体の領域も、身体の首であってもよい。
いくつかの実施形態では、複数のグループの訓練データを収集するために骨伝導センサが配置されるユーザ(例えば、テスタ)の身体の領域は、骨伝導音声データ(例えば、第一の音声データ)と再構成骨伝導音声データ(例えば、等価空気伝導音声データ)との間の対応関係に影響し、したがって、訓練済み機械学習モデルを使用して対応関係に基づいて生成される再構成骨伝導音声データに影響することがある。ユーザ(例えば、テスタ)の身体の異なる領域に位置する骨伝導センサによって収集された複数のグループの訓練データは、身体の異なる領域に位置する骨伝導センサによって収集された複数のグループの訓練データが訓練済み機械学習モデルの学習に用いられるとき、骨伝導音声データ(例えば、第一の音声データ)と再構成済み骨伝導音声データ(例えば、等価空気伝導音声データ)との間の異なる対応関係に対応してもよい。例えば、同一構成の複数の骨伝導センサが、乳様突起、こめかみ、頭頂部、外耳道等身体の異なる領域に、配置されていてもよい。複数の骨伝導センサは、ユーザが話すときに、骨伝導音声データを収集してもよい。複数の骨伝導センサによって収集された骨伝導音声データに基づいて、複数の訓練セットが形成されてもよい。複数の訓練セットの各セットは、複数の骨伝導センサのうちの1つと空気伝導センサとによって収集された訓練データの複数のグループを含んでもよい。訓練データの複数のグループの各セットは、同じ発話を表す骨伝導音声データ及び空気伝導音声データを含んでもよい。複数の訓練セットの各セットは、機械学習モデルを訓練して、訓練済み機械学習モデルを取得してもよい。複数の訓練セットに基づいて、複数の訓練済み機械学習モデルを取得してもよい。複数の訓練済み機械学習モデルは、特定の骨伝導音声データと再構成済み骨伝導音声データとの間に異なる対応関係を提供してもよい。例えば、同一の骨伝導音声データを複数の訓練済み機械学習モデルに入力することによって、異なる再構成済み骨伝導音声データを生成してもよい。いくつかの実施形態では、異なる構成の異なる骨伝導センサによって収集された骨伝導音声データ(例えば、周波数応答曲線)は、異なっていてもよい。したがって、訓練済み機械学習モデルの訓練に使用される骨伝導音声データを収集するための骨伝導センサは、構成における訓練済み機械学習モデルの適用に使用される骨伝導音声データ(例えば、第一の音声データ)を収集するための骨伝導センサと一致してもよく、及び/又は同じであってよい。いくつかの実施形態では、0ニュートン~1ニュートン、又は0ニュートン~0.8ニュートン等の範囲の異なる圧力を有するユーザの身体の領域に位置する骨伝導センサによって収集された骨伝導音声データ(の周波数応答曲線等)は、異なっていてもよい。したがって、訓練済み機械学習モデルの訓練のための骨伝導音声データを収集するために骨伝導センサがユーザの身体の領域に加える圧力は、訓練済み機械学習モデルの適用のための骨伝導音声データを収集するために骨伝導センサがユーザの身体の領域に加える圧力と一致してもよく、及び/又は同じであってもよい。
いくつかの実施形態において、訓練済み機械学習モデルは複数の反復を実行して、予備的機械学習モデルの1つ以上の学習パラメータを更新することによって取得してもよい。複数の反復のそれぞれについて、訓練データの特定のグループを、最初に予備的機械学習モデルに入力してもよい。例えば、訓練データの特定のグループの特定の骨伝導音声データを、予備的機械学習モデルの入力層に入力してもよく、訓練データの特定のグループの特定の空気伝導音声データを、特定の骨伝導音声データに対応する予備的機械学習モデルの所望の出力として、予備的機械学習モデルの出力層に入力してもよい。予備的機械学習モデルは、訓練データの特定のグループに含まれる特定の骨伝導音声データ及び特定の空気伝導音声データの1つ以上の音響特性(例えば、持続時間特徴、振幅特徴、基本周波数特徴等)を抽出してもよい。抽出された特徴に基づいて、予備的機械学習モデルは、特定の骨伝導データに対応する予測出力を決定してもよい。次いで、特定の骨伝導データに対応する予測出力を、コスト関数に基づいて、訓練データの特定のグループに対応する出力層における入力特定空気伝導音声データ(すなわち、所望の出力)と比較してもよい。予備的機械学習モデルのコスト関数は、予備的機械学習モデルの推定値(例えば、予測出力)と実際の値(例えば、所望の出力又は特定入力空気伝導音声データ)との間の差を評価するように構成されてもよい。現在の反復においてコスト関数の値が閾値を超える場合、予備的機械学習モデルの学習パラメータは、コスト関数の値(すなわち、予測出力と入力特定空気伝導音声データとの差)が閾値未満となるように調整及び更新されてもよい。したがって、次の反復において、別のグループの訓練データが予備的機械学習モデルに入力され、上記のように予備的機械学習モデルを学習させてもよい。次いで、終了条件が満たされるまで、予備的機械学習モデルの学習パラメータを更新するために、複数の反復を実行してもよい。終了条件は、予備的機械学習モデルが十分に訓練されているか否かの指標を提供してもよい。例えば、終了条件は、予備的機械学習モデルに関連するコスト関数の値が最小である場合又は閾値(例えば、定数)未満である場合に、満たされてもよい。別の例として、終了条件は、コスト関数の値が収束した場合に満たされてもよい。コスト関数の収束は、2回以上の連続した反復におけるコスト関数の値の変動が閾値(例えば、定数)未満である場合、発生したとみなされてもよい。なお、一例として、訓練プロセスにおいて所定の回数の反復が実行された場合に、終了条件を満たすようにしてもよい。訓練済み機械学習モデルを、更新済み学習パラメータに基づいて決定してもよい。いくつかの実施形態において、訓練済み機械学習モデルを、ストレージ装置140、ストレージモジュール440、又は記憶するための任意の他のストレージ装置に送信してもよい。
630において、処理装置122(例えば、前処理モジュール420)は、訓練済み機械学習モデルを使用して骨伝導音声データを処理して、処理済み骨伝導音声データを取得してもよい。いくつかの実施形態では、処理装置122は、骨伝導音声データ(例えば、図5に記載されるような第一の音声データ又は正規化済み第一の音声データ)を訓練済み機械学習モデルに入力してもよく、次いで、訓練済み機械学習モデルは、処理済み骨伝導音声データ(例えば、図5に記載されるような再構成済み第一の音声データ)を出力してもよい。いくつかの実施形態では、処理装置122は、骨伝導音声データ(例えば、図5に記載されるような第一の音声データ又は正規化済み第一の音声データ)の音響特性を抽出してもよく、骨伝導音声データ(例えば、図5に記載されるような第一の音声データ又は正規化済み第一の音声データ)の抽出済み音響特性を訓練済み機械学習モデルに入力してもよい。訓練済み機械学習モデルは、処理済み骨伝導音声データを出力してもよい。周波数閾値(例えば、1000Hz、2000Hz、3000Hz等)よりも高い処理済み骨伝導音声データの周波数成分は、周波数閾値よりも高い骨伝導音声データの周波数成分に対して増加してもよい。いくつかの実施形態では、処理装置122は、処理済み骨伝導音声データをクライアント端末(例えば、端末130)に送信してもよい。クライアント端末(例えば、端末130)は、処理済み骨伝導音声データをボイスに変換し、そのボイスをユーザにブロードキャストしてもよい。
上記の説明は、単に例示のために提供されたもので、本開示の範囲を限定することを意図していないことに留意されたい。当業者は、複数の変形例及び修正を本開示の教示の下で実施することができる。しかしながら、それらの変形例及び修正は、本開示の範囲から逸脱するものではない。
図7は、本開示のいくつかの実施形態に従って、高調波補正モデルを使用して、骨伝導音声データを再構成するための例示的なプロセスを示す概略フローチャートである。いくつかの実施形態では、プロセス700は、ストレージ装置140、ROM230若しくはRAM240、又はストレージ390に記憶された命令のセット(例えば、アプリケーション)として実装されてもよい。処理装置122、プロセッサ220、及び/又はCPU340は、命令のセットを実行してもよく、命令を実行するとき、処理装置122、プロセッサ220、及び/又はCPU340は、プロセス700を実行するように構成されてもよい。以下に提示され、図示されるプロセスの操作は、例示であることを意図している。いくつかの実施形態では、プロセス700は、説明されていない操作を1つ以上追加して、及び/又は、説明された操作の1つ以上を省いて、達成することもできる。さらに、図7に図示され、以下で説明されるプロセス700の操作の順序は、限定することを意図していない。いくつかの実施形態では、プロセス700の1つ以上の操作を、図5に関連して説明したように、操作530の少なくとも一部を達成するために実行してもよい。
710において、処理装置122(例えば、取得モジュール410)は、骨伝導音声データを取得してもよい。いくつかの実施形態では、骨伝導音声データは、操作510に関連して説明したように、ユーザが話すときに骨伝導センサによって収集された元の音声データ(例えば、第一の音声データ)であってもよい。例えば、ユーザの発話を骨伝導センサ(例えば、骨伝導マイク112)によって収集して、電気信号(例えば、アナログ信号又はデジタル信号)(すなわち、骨伝導音声データ)を生成してもよい。いくつかの実施形態では、骨伝導音声データは、異なる周波数及び振幅を有する複数の波を含んでもよい。周波数領域における骨伝導音声データは、複数の要素を含む行列として示されてもよい。複数の要素のそれぞれは、波の周波数及び振幅を示してもよい。
720において、処理装置122(例えば、前処理モジュール420)は、骨伝導音声データの振幅スペクトル及び位相スペクトルを決定してもよい。いくつかの実施形態では、処理装置122は、骨伝導音声データに対してフーリエ変換(FT)操作を実行することによって、骨伝導音声データの振幅スペクトル及び位相スペクトルを決定してもよい。処理装置122は、周波数領域で骨伝導音声データの振幅スペクトル及び位相スペクトルを決定してもよい。例えば、処理装置122は、スペクトル包絡推定ボコーダアルゴリズム(SEEVOC)等のピーク検出技法を用いて、骨伝導音声データに含まれる波のピーク値を検出してもよい。処理装置122は、波のピーク値に基づいて、骨伝導音声データの振幅スペクトル及び位相スペクトルを決定してもよい。例えば、骨伝導音声データの波の振幅は、波のピークと谷の間の距離の半分であってよい。
730において、処理装置122(例えば、前処理モジュール420)は、高調波補正モデルを取得してもよい。高調波補正モデルは、特定の空気伝導音声データの振幅スペクトルと、特定の空気伝導音声データに対応する特定の骨伝導音声データの振幅スペクトルとの間の関係を提供するように構成されてもよい。特定空気伝導音声データの振幅スペクトルは、その関係に基づいて、特定空気伝導音声データに対応する特定骨伝導音声データの振幅スペクトルに基づいて決定されてもよい。本明細書で使用する場合、特定空気伝導音声データは、等価空気伝導音声データ又は特定骨伝導音声データに対応する再構成済み骨伝導音声データと呼ばれることもある。
いくつかの実施形態では、高調波補正モデルは、音声信号生成システム100のデフォルト設定であってもよい。いくつかの実施形態では、処理装置122は、ストレージ装置140、ストレージモジュール440、又は記憶用の任意の他のストレージ装置から高調波補正モデルを取得してもよい。いくつかの実施形態では、高調波補正モデルは、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループに基づいて決定してもよい。各グループにおける骨伝導音声データ及び対応する空気伝導音声データは、オペレータ(例えば、テスタ)が話すときに、ノイズのない環境において骨伝導センサ及び空気伝導センサによって同時にそれぞれ収集されてもよい。骨伝導センサ及び空気伝導センサは、それぞれ第一の音声データを収集するための骨伝導センサ及び第二の音声データを収集するための空気伝導センサと同じであっても、異なっていてもよい。いくつかの実施形態において、高調波補正モデルは、以下の操作a1~a3に従って、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループに基づいて決定してもよい。操作a1において、処理装置122は、スペクトル包絡推定ボコーダアルゴリズム(SEEVOC)等のピーク値検出技法を使用して、各グループの骨伝導音声データの振幅スペクトル及び各グループの対応する空気伝導音声データの振幅スペクトルを決定してもよい。操作a2において、処理装置122は、各グループにおける骨伝導音声データ及び対応する空気伝導音声データの振幅スペクトルに基づいて、候補補正行列を決定してもよい。例えば、処理装置122は、各グループにおける骨伝導音声データの振幅スペクトルと対応する空気伝導音声データの振幅スペクトルの比に基づいて、候補補正行列を決定してもよい。操作a3において、処理装置122は、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループの各グループに対応する候補補正行列に基づいて高調波補正モデルを決定してもよい。例えば、処理装置122は、高調波補正モデルとして、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループに対応する候補補正行列の平均を決定してもよい。
いくつかの実施形態では、高調波補正モデルを決定するために使用される骨伝導音声データを収集するために骨伝導センサが配置される身体の領域は、高調波補正モデルの適用に使用される骨伝導音声データ(例えば、第一の音声データ)を収集するために骨伝導センサが配置される身体の領域と一致してもよく、及び/又は同じであってよい。例えば、対応する骨伝導音声データ及び空気伝導音声データの1つ以上のグループの各グループにおける骨伝導音声データを収集するために骨伝導センサが配置されるユーザ(例えば、テスタ)の身体の領域は、第一の音声データを収集するために骨伝導センサが配置されるユーザの身体の領域と同じであってよい。別の例として、骨伝導音声データ(例えば、第一の音声データ)を収集するために骨伝導センサが配置される身体の領域が首である場合、高調波補正モデルを決定するために使用される骨伝導音声データを収集するために骨伝導センサが配置される身体の領域も、首であってもよい。いくつかの実施形態では、高調波補正モデルは、高調波補正モデルを決定するために使用される骨伝導音声データを収集するために骨伝導センサが配置される身体の領域とは異なってもよい。例えば、ユーザが話すときに、身体の第一の領域に位置する第一の骨伝導センサ及び空気伝導センサによってそれぞれ収集された対応する骨伝導音声データ及び空気伝導音声データの1つ以上の第一のグループを取得してもよい。ユーザが話すときに、身体の第二の領域に位置する第二の骨伝導センサ及び空気伝導センサによってそれぞれ収集された対応する骨伝導音声データ及び空気伝導音声データの1つ以上の第二のグループを取得してもよい。第一の高調波補正モデルは、対応する骨伝導音声データ及び空気伝導音声データの1つ以上の第一のグループに基づいて決定してもよい。第二の高調波補正モデルは、対応する骨伝導音声データ及び空気伝導音声データの1つ以上の第二のグループに基づいて決定してもよい。第二の高調波補正モデルは、第一の高調波補正モデルとは異なっていてもよい。第一高調波補正モデル及び第二の高調波補正モデルによって提供される特定の空気伝導音声データの振幅スペクトルと、特定の空気伝導音声データに対応する特定の骨伝導音声データの振幅スペクトルとの間の関係は、異なっていてもよい。第一の高調波補正モデル及び第二の高調波補正モデルに基づいて、それぞれ決定された再構成済み骨伝導音声データは、同じ骨伝導音声データ(例えば、第一の音声データ)に基づいて異なってもよい。
740において、処理装置122(例えば、前処理モジュール420)は、骨伝導音声データの振幅スペクトルを補正して、骨伝導音声データの補正済み振幅スペクトルを取得してもよい。いくつかの実施形態では、高調波補正モデルは、骨伝導音声データ(例えば、図5で説明したような第一の音声データ又は正規化済み第一の音声データ)の振幅スペクトルの各要素に対応する複数の重み係数を含む補正行列を含んでもよい。本明細書で使用される振幅スペクトルの要素は、波の特定の振幅(すなわち、周波数成分)を指してもよい。処理装置122は、補正行列を骨伝導音声データ(例えば、図5で説明したような第一の音声データ)の振幅スペクトルに乗じて、骨伝導音声データ(例えば、図5で説明したような第一の音声データ)の振幅スペクトルを補正することによって、骨伝導音声データ(例えば、図5で説明したような第一の音声データ)の補正振幅スペクトルを取得してもよい。
750において、処理装置122(例えば、前処理モジュール420)は、骨伝導音声データの補正済み振幅スペクトル及び位相スペクトルに基づいて、再構成済み骨伝導音声データを決定してもよい。いくつかの実施形態では、処理装置122は、骨伝導音声データの補正済み振幅スペクトル及び位相スペクトルに対して逆フーリエ変換を実行して、再構成済み骨伝導音声データを取得してもよい。
上記の説明は、単に例示のために提供されたもので、本開示の範囲を限定することを意図していないことに留意されたい。当業者は、複数の変形例及び修正を本開示の教示の下で実施することができる。しかしながら、それらの変形例及び修正は、本開示の範囲から逸脱するものではない。
図8は、本開示のいくつかの実施形態に従って、疎行列技法を使用して、骨伝導音声データを再構成するための例示的なプロセスを示す概略フローチャートである。いくつかの実施形態では、プロセス800は、ストレージ装置140、ROM230若しくはRAM240、又はストレージ390に記憶された命令のセット(例えば、アプリケーション)として実装されてもよい。処理装置122、プロセッサ220、及び/又はCPU340は、命令のセットを実行してもよく、命令を実行するとき、処理装置122、プロセッサ220、及び/又はCPU340は、プロセス800を実行するように構成されてもよい。以下に提示され、図示されるプロセスの操作は、例示であることを意図している。いくつかの実施形態では、プロセス800は、説明されていない操作を1つ以上追加して、及び/又は、説明された操作の1つ以上を省いて、達成することもできる。さらに、図8に図示され、以下で説明されるプロセス800の操作の順序は、限定することを意図していない。いくつかの実施形態では、プロセス800の1つ以上の操作を、図5に関連して説明したように、操作530の少なくとも一部を達成するために実行してもよい。
810において、処理装置122(例えば、取得モジュール410)は、骨伝導音声データを取得してもよい。いくつかの実施形態では、骨伝導音声データは、操作510に関連して説明したように、ユーザが話すときに骨伝導センサによって収集された元の音声データ(例えば、第一の音声データ)であってもよい。例えば、ユーザの発話は、骨伝導センサ(例えば、骨伝導マイク112)によって収集し、電気信号(例えば、アナログ信号又はデジタル信号)(すなわち、骨伝導音声データ)を生成してもよい。いくつかの実施形態では、骨伝導音声データは、異なる周波数及び振幅を有する複数の波を含んでもよい。周波数領域における骨伝導音声データは、行列Xと表記されてもよい。行列Xは、辞書行列D及び疎符号行列Cに基づいて決定してもよい。例えば、音声データは、以下の式(4):
に従って決定してもよい。
820において、処理装置122(例えば、前処理モジュール420)は、骨伝導音声データの辞書行列を、骨伝導音声データに対応する再構成済み骨伝導音声の辞書行列に変換するように構成された第一の変換関係を取得してもよい。いくつかの実施形態では、第一の変換関係は、音声信号生成システム100のデフォルト設定であってもよい。いくつかの実施形態では、処理装置122は、ストレージ装置140、ストレージモジュール440、又は記憶用の任意の他のストレージ装置から第一の変換関係を取得してもよい。いくつかの実施形態において、第一の変換関係は、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループに基づいて決定してもよい。各グループの骨伝導音声データ及び対応する空気伝導音声データは、オペレータ(例えば、テスタ)が話すときに、ノイズのない環境において骨伝導センサ及び空気伝導センサによって同時にそれぞれ収集されてもよい。例えば、処理装置122は、操作840で説明したように、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループの各グループにおける骨伝導音声データの辞書行列及び対応する空気伝導音声データの辞書行列を決定してもよい。処理装置122は、対応する空気伝導音声データの辞書行列を、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループの各グループの骨伝導音声データの辞書行列で除して、候補の第一の変換関係を取得してもよい。いくつかの実施形態では、処理装置122は、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループに基づいて、1つ以上の候補の第一の変換関係を決定してもよい。処理装置122は、第一の変換関係を得るために、1つ以上の候補の第一の変換関係を平均化してもよい。いくつかの実施形態では、処理装置122は、1つ以上の候補の第一の変換関係のうちの1つを第一の変換関係として決定してもよい。
830において、処理装置122(例えば、前処理モジュール420)は、骨伝導音声データの疎符号行列を、骨伝導音声データに対応する再構成済み骨伝導音声データの疎符号行列に変換するように構成された第二の変換関係を取得してもよい。いくつかの実施形態では、第二の変換関係は、音声信号生成システム100のデフォルト設定であってよい。いくつかの実施形態では、処理装置122は、ストレージ装置140、ストレージモジュール440、又は記憶用の任意の他のストレージ装置から第二の変換関係を取得してもよい。いくつかの実施形態において、第二の変換関係は、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループに基づいて決定してもよい。例えば、処理装置122は、操作840で説明したように、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループの各グループにおける骨伝導音声データの疎符号行列及び対応する空気伝導音声データの疎符号行列を決定してもよい。処理装置122は、対応する空気伝導音声データの疎符号行列を骨伝導音声データの疎符号行列で除して、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループの各グループの候補の第二の変換関係を取得してもよい。いくつかの実施形態では、処理装置122は、骨伝導音声データ及び対応する空気伝導音声データの1つ以上のグループに基づいて、1つ以上の候補の第二の変換関係を決定してもよい。処理装置122は、1つ以上の候補の第二の変換関係を平均化して、第二の変換関係を取得してもよい。いくつかの実施形態において、処理装置122は、1つ以上の候補の第二の変換関係のうちの1つを第二の変換関係として決定してもよい。
いくつかの実施形態では、第一の変換関係(及び/又は第二の変換関係)を決定するために使用される骨伝導音声データを収集するために骨伝導センサが配置される身体の領域は、第一の変換関係(及び/又は第二の変換関係)の適用に使用される骨伝導音声データ(例えば、第一の音声データ)を収集するために骨伝導センサが配置される身体の領域と一致してもよく、及び/又は同じであってもよい。例えば、対応する骨伝導音声データ及び空気伝導音声データの1つ以上のグループの各グループにおける骨伝導音声データを収集するために骨伝導センサが配置されるユーザ(例えば、テスタ)の身体の領域は、第一の音声データを収集するために骨伝導センサが配置されるユーザの身体の領域と同じであってよい。別の例として、骨伝導音声データ(例えば、第一の音声データ)を収集するために骨伝導センサが配置される身体の領域が首である場合、第一の変換関係(及び/又は第二の変換関係)を決定するために用いられる骨伝導音声データを収集するために骨伝導センサが配置される身体の領域も首であってもよい。いくつかの実施形態では、第一の変換関係(及び/又は第二の変換関係)は、第一の変換関係(及び/又は第二の変換関係)を決定するために使用される骨伝導音声データを収集するために骨伝導センサが配置される身体の領域とは異なってもよい。異なる第一の変換関係(及び/又は第二の変換関係)に基づいて、それぞれ決定された再構成済み骨伝導音声データは、同じ骨伝導音声データ(例えば、第一の音声データ)に基づいて異なってもよい。
840において、処理装置122(例えば、前処理モジュール420)は、第一の変換関係を使用して、骨伝導音声データ(例えば、図5に記載の第一の音声データ又は正規化済み第一の音声データ)の辞書行列に基づいて、再構成済み骨伝導音声データ(例えば、図5に記載の再構成済み第一の音声データ)の辞書行列を決定してもよい。例えば、処理装置122は、第一の変換関係を(例えば、行列形式で)骨伝導音声データ(例えば、図5に記載の第一の音声データ又は正規化済み第一の音声データ)の辞書行列に乗じて、再構成済み骨伝導音声データ(例えば、図5に記載の再構成済み第一の音声データ)の辞書行列を取得してもよい。処理装置122は、複数の反復を実行することによって、音声データ(例えば、骨音声データ(例えば、図5で説明したような第一の音声データ又は正規化済み第一の音声データ)、グループ内の骨伝導音声データ及び/又は空気伝導音声データ)の辞書行列及び/又は疎符号行列を決定してもよい。複数の反復を実行する前に、処理装置122は、音声データ(例えば、図5で説明したような第一の音声データ又は正規化第一の音声データ)の辞書行列を初期化して、初期辞書行列を取得してもよい。例えば、処理装置122は、初期辞書行列の各要素を0又は1として設定してもよい。各反復において、処理装置122は、音声データ(例えば、図5で説明したような第一の音声データ又は正規化済み第一の音声データ)及び初期辞書行列に基づいて、例えば、直交マッチング追跡(OMP)アルゴリズムを使用して、推定疎符号行列を決定してもよい。処理装置122は、音声データ(例えば、図5で説明したような第一の音声データ又は正規化済み第一の音声データ)及び推定疎符号行列に基づいて、例えば、K特異値分解(K-SVD)アルゴリズムを使用して、推定辞書行列を決定してよい。処理装置122は、式(4)に従って、推定辞書行列及び推定疎符号行列に基づいて、推定音声データを決定してもよい。処理装置122は、推定された音声データを音声データ(例えば、図5で説明したような第一の音声データ又は正規化済み第一の音声データ)と比較してもよい。現在の反復で生成された推定音声データと音声データとの間の差が閾値を超える場合、処理装置122は、現在の反復で生成された推定辞書行列を使用して、初期辞書行列を更新してもよい。処理装置122は、現在の反復において生成された推定音声データと音声データとの間の差が閾値未満になるまで、更新された初期辞書行列に基づいて、次の反復を実行してもよい。処理装置122は、現在の反復で生成された推定音声データと音声データとの間の差が閾値未満である場合、現在の反復で生成された推定辞書行列及び推定疎符号行列を音声データ(例えば、図5で説明したように第一の音声データ又は正規化済み第一の音声データ)の辞書行列及び/又は疎符号行列として指定してもよい。
850において、処理装置122(例えば、前処理モジュール420)は、第二の変換関係を使用して、骨伝導音声データ(例えば、図5に記載の第一の音声データ又は正規化済み第一の音声データ)の疎符号行列に基づいて、再構成済み骨伝導音声データ(例えば、図5に記載の再構成済み第一の音声データ)の疎符号行列を決定してもよい。例えば、処理装置122は、第二の変換関係(例えば、行列)を骨伝導音声データ(例えば、図5で説明したような第一の音声データ又は正規化済み第一の音声データ)の疎符号行列に乗じて、再構成済み骨伝導音声データ(例えば、図5で説明したような再構成済み第一の音声データ)の疎符号行列を取得してもよい。骨伝導音声データ(例えば、図5に記載の第一の音声データ又は正規化済み第一の音声データ)の疎符号行列は、操作840で説明されるように決定してもよい。
860において、処理装置122(例えば、前処理モジュール420)は、再構成済み骨音声データの決定された辞書行列及び決定された疎符号行列に基づいて、再構成済み骨音声データ(例えば、図5で説明したように再構成済み第一の音声データ)を決定してもよい。処理装置122は、式(4)に従って、再構成済み骨伝導音声データの操作840で決定された辞書行列及び操作850で決定された疎符号行列に基づいて、再構成済み骨伝導音声データを決定してもよい。
上記の説明は、単に例示のために提供されたもので、本開示の範囲を限定することを意図していないことに留意されたい。当業者は、複数の変形例及び修正を本開示の教示の下で実施することができる。しかしながら、それらの変形例及び修正は、本開示の範囲から逸脱するものではない。例えば、操作820及び830は、1つの単一の操作に統合されてもよい。
図9は、本開示のいくつかの実施形態に従って、音声データを生成するための例示的なプロセスを示す概略フローチャートである。いくつかの実施形態では、プロセス900は、ストレージ装置140、ROM230若しくはRAM240、又はストレージ390に記憶された命令のセット(例えば、アプリケーション)として実装されてもよい。処理装置122、プロセッサ220、及び/又はCPU340は、命令のセットを実行してもよく、命令を実行するとき、処理装置122、プロセッサ220、及び/又はCPU340は、プロセス800を実行するように構成されてもよい。以下に提示され、図示されるプロセスの操作は、例示であることを意図している。いくつかの実施形態では、プロセス900は、説明されていない操作を1つ以上追加して、及び/又は、説明された操作の1つ以上を省いて、達成することもできる。さらに、図9に図示され、以下で説明されるプロセス900の操作の順序は、限定することを意図していない。いくつかの実施形態では、プロセス900の1つ以上の操作を、図5に関連して説明したように、操作530の少なくとも一部を達成するために実行してもよい。
910において、処理装置122(例えば、音声データ生成モジュール430又は周波数決定ユニット432)は、骨伝導音声データ又は空気伝導音声データの少なくとも一方に少なくとも部分的に基づいて、1つ以上の周波数閾値を決定してもよい。骨伝導音声データ(例えば、第一の音声データ又は前処理済み第一の音声データ)及び空気伝導音声データ(例えば、第二の音声データ又は前処理済み第二の音声データ)は、ユーザが話すときに、骨伝導センサ及び空気伝導センサによって同時にそれぞれ収集されてもよい。骨伝導音声データ及び空気伝導音声データに関する更なる説明は、本開示の他の箇所(例えば、図5及びその説明)で見出すことができる。
本明細書で使用する場合、周波数閾値は、周波数点を指す場合がある。いくつかの実施形態では、周波数閾値は、骨伝導音声データ及び/又は空気伝導音声データの周波数点であってよい。いくつかの実施形態では、周波数閾値は、骨伝導音声データ及び/又は空気伝導音声データの周波数点とは異なっていてもよい。いくつかの実施形態において、処理装置122は、骨伝導音声データに関連付けられた周波数応答曲線に基づいて、周波数閾値を決定してもよい。骨伝導音声データに関連付けられた周波数応答曲線は、周波数に応じて変化する周波数応答値を含んでもよい。いくつかの実施形態では、処理装置122は、骨伝導音声データに関連付けられた周波数応答曲線の周波数応答値に基づいて、1つ以上の周波数閾値を決定してもよい。例えば、処理装置122は、閾値(例えば、図11に示す周波数応答曲線mの約80dB)未満の周波数応答値に対応する周波数範囲(例えば、図11に示す周波数応答曲線mの0~2000Hz)のうちの最大周波数(例えば、図11に示すような周波数応答曲線mの2000Hz)を周波数閾値として決定してもよい。別の例として、処理装置122は、閾値(例えば、図11に示すような周波数応答曲線mの約90dB)よりも大きい周波数応答値に対応する周波数範囲(例えば、図11に示す周波数応答曲線mの4000Hz~20kHz)のうちの最小周波数(例えば、図11に示すような周波数応答曲線mの4000Hz)を周波数閾値として決定してもよい。さらに別の例として、処理装置122は、ある範囲の周波数応答値に対応する周波数範囲のうち、最小周波数と最大周波数とを2つの周波数閾値として決定してもよい。さらなる例として、図11に示すように、処理装置122は、骨伝導音声データの周波数応答曲線「m」に基づいて、1つ以上の周波数閾値を決定してもよい。処理装置122は、閾値(例えば、70dB)未満の周波数応答値に対応する周波数範囲(0~2000Hz)を決定してもよい。処理装置122は、周波数範囲内の最大周波数を周波数閾値として決定してもよい。いくつかの実施形態では、処理装置122は、周波数応答曲線の変化に基づいて、1つ以上の周波数閾値を決定してもよい。例えば、処理装置122は、安定した変化を有する周波数応答曲線の周波数範囲のうち、最大周波数及び/又は最小周波数を周波数閾値として決定してもよい。別の例として、処理装置122は、急激に変化する周波数応答曲線の周波数範囲のうち、最大周波数及び/又は最小周波数を周波数閾値として決定してもよい。さらなる例として、1000Hz未満の周波数範囲の周波数応答曲線mは、1000Hz超4000Hz未満の周波数範囲に対して安定的に変化する。処理装置122は、1000Hz及び4000Hzを周波数閾値として決定してもよい。いくつかの実施形態では、処理装置122は、本開示の他の箇所(例えば、図5及びその説明)で説明されるような1つ以上の再構成技法を使用して、骨伝導音声データを再構成することで、再構成済み骨伝導音声データを取得してもよい。処理装置122は、再構成済み骨伝導音声データに関連する周波数応答曲線を決定してもよい。処理装置122は、上述の骨伝導音声データに基づくのと類似又は同様に、再構成済み骨伝導音声データに関連する周波数応答曲線に基づいて、1つ以上の周波数閾値を決定してもよい。
いくつかの実施形態において、処理装置122は、空気伝導音声データの少なくとも一部に関連するノイズレベルに基づいて、1つ以上の周波数閾値を決定してもよい。ノイズレベルが高ければ高いほど、1つ以上の周波数閾値のうちの高い1つ(例えば、最小周波数閾値)は、高くてもよい。ノイズレベルが低ければ低いほど、1つ以上の周波数閾値のうちの低い1つ(例えば、最小周波数閾値)は、低くてもよい。いくつかの実施形態では、空気伝導音声データに関連するノイズレベルは、空気伝導音声データに含まれるノイズの量又はエネルギーによって示され得る。空気伝導音声データに含まれるノイズの量又はエネルギーが大きければ大きいほど、ノイズレベルは、大きくてもよい。いくつかの実施形態では、ノイズレベルは、空気伝導音声データの信号対ノイズ比(SNR)によって示されてもよい。SNRが大きければ大きいほど、ノイズレベルは、低くてもよい。空気伝導音声データに関連するSNRが大きければ大きいほど、周波数閾値は、低くてもよい。例えば、SNRが0dBである場合、周波数閾値は、2000Hzであってよい。SNRが20dBである場合、周波数閾値は、4000Hzであってもよい。例えば、周波数閾値は、以下の式(5):
に基づいて決定されてもよい。ここで、F
pointは周波数閾値を表し、F1、F2、及び/又はF3は0~20KHzの範囲の値であり、F1>F2>F3であってよい。A1及び/又はA2は、音声信号生成システム100のデフォルト設定であってもよい。例えば、A1及び/又はA2は、それぞれ0及び/又は20のような定数であってもよい。
さらに、周波数閾値は、以下の式(6):
で示されるものであってもよい。
いくつかの実施形態では、処理装置122は、以下の式(7):
に従って、空気伝導音声データのSNRを決定してもよい。ここで、nは、空気伝導音声データにおけるn番目の発話フレームを指し、
は、空気伝導音声データに含まれる純音声データのエネルギーを指し、
は、空気伝導音声データに含まれるノイズデータのエネルギーを指す。いくつかの実施形態において、処理装置122は、最小値統計(MS)アルゴリズム、最小値制御再帰的平均化(MCRA)アルゴリズム等のノイズ推定アルゴリズムを用いて、空気伝導音声データに含まれるノイズデータを決定してもよい。処理装置122は、空気伝導音声データに含まれる決定されたノイズデータに基づいて、空気伝導音声データに含まれる純音声データを決定してもよい。そして、処理装置122は、空気伝導音声データに含まれる純音声データのエネルギーと、空気伝導音声データに含まれる決定されたノイズデータのエネルギーとを決定してもよい。いくつかの実施形態において、処理装置122は、骨伝導センサ及び空気伝導センサを用いて、空気伝導音声データに含まれるノイズデータを決定してもよい。例えば、処理装置122は、空気伝導音声データが空気伝導センサによって収集される時間に近いある時間又は期間において、骨伝導センサによって信号が収集されない間に、空気伝導センサによって収集される基準音声データを決定してもよい。本明細書で使用されるように、別の時間に近い時間又は期間は、その時間と別の時間との差が閾値(例えば、10ミリ秒、100ミリ秒、1秒、2秒、3秒、4秒等)未満であることを指してもよい。基準音声データは、空気伝導音声データに含まれるノイズデータと同等であってもよい。そして、処理装置122は、空気伝導音声データに含まれる決定されたノイズデータ(すなわち、基準音声データ)に基づいて、空気伝導音声データに含まれる純音声データを決定してもよい。処理装置122は、式(7)に従って、空気伝導音声データに関連するSNRを決定してもよい。
いくつかの実施形態では、処理デバイス122は、空気伝導音声データに含まれる決定されたノイズデータのエネルギーを抽出し、決定されたノイズデータのエネルギーと空気伝導音声データの総エネルギーとに基づいて、純音声データのエネルギーを決定してもよい。例えば、処理装置122は、空気伝導音声データの総エネルギーから空気伝導音声データに含まれる推定ノイズデータのエネルギーを減じて、空気伝導音声データに含まれる純音声データのエネルギーを求めてもよい。処理装置122は、式(7)に従って、純音声データのエネルギーと、決定されたノイズデータのエネルギーとに基づいて、SNRを決定してもよい。
920において、処理装置122(例えば、音声データ生成モジュール430又は重み決定ユニット434)は、1つ以上の周波数閾値に従って、骨伝導音声データ及び空気伝導音声データのそれぞれの複数のセグメントを決定してもよい。いくつかの実施形態において、骨伝導音声データ及び空気伝導音声データは、時間領域であってもよく、処理装置122は、骨伝導音声データ及び空気伝導音声データに対して領域変換操作(例えば、FT操作)を実行して、骨伝導音声データ及び空気伝導音声データを周波数領域に変換してもよい。いくつかの実施形態では、骨伝導音声データ及び空気伝導音声データは、周波数領域であってよい。周波数領域における骨伝導音声データ及び空気伝導音声データのそれぞれは、周波数スペクトルを含んでもよい。周波数領域における骨伝導音声データは、骨伝導周波数スペクトルと呼ばれることもある。周波数領域における空気伝導音声データも、空気伝導周波数スペクトルと呼ばれることもある。処理装置122は、骨伝導周波数スペクトル及び空気伝導周波数スペクトルを、複数のセグメントに分割してもよい。骨伝導音声データの各セグメントは、空気伝導音声データの1つのセグメントに対応してもよい。本明細書で使用する場合、空気伝導音声データのセグメントに対応する骨伝導音声データのセグメントとは、骨伝導音声データ及び空気伝導音声データの2つのセグメントが1つ又は2つの同じ周波数閾値によって定義されることを指す場合がある。例えば、骨伝導音声データの特定のセグメントが周波数点2000Hz及び4000Hzによって定義される場合、言い換えれば、骨伝導音声データの特定のセグメントが2000Hzから4000Hzまでの範囲の周波数成分を含む場合、骨伝導音声データの特定のセグメントに対応する空気伝導音声データのセグメントも周波数閾値2000Hz及び4000Hzによって定義されてもよい。言い換えれば、2000Hz~4000Hzの範囲の周波数成分を含む骨伝導音声データの特定のセグメントに対応する空気伝導音声データのセグメントは、2000Hz~4000Hzの範囲の周波数成分を含んでもよい。
いくつかの実施形態では、1つ以上の周波数閾値のカウント又は数は1であってもよく、処理装置122は、骨伝導周波数スペクトル及び空気伝導周波数スペクトルのそれぞれを2つのセグメントに分割してもよい。例えば、骨伝導周波数スペクトルの1つのセグメントは、周波数閾値より小さい周波数成分を有する骨伝導周波数スペクトルの一部を含んでもよく、骨伝導周波数スペクトルの別のセグメントは、周波数閾値より高い周波数成分を有する骨伝導周波数スペクトルの残りの部分を含んでもよい。
930において、処理装置122(例えば、音声データ生成モジュール430又は重み決定サブモジュール434)は、骨伝導音声データ及び空気伝導音声データのそれぞれの複数のセグメントのそれぞれについて、重みを決定してもよい。いくつかの実施形態では、骨伝導音声データの特定セグメントに対する重みと、空気伝導音声データの対応する特定セグメントに対する重みとは、骨伝導音声データの特定セグメントに対する重みと空気伝導音声データの対応する特定セグメントに対する重みとの合計が1に等しいような基準を満足してもよい。例えば、処理装置122が骨伝導音声データ及び空気伝導音声データを、1つの単一の周波数閾値に従って2つのセグメントに分割する場合である。1つの単一周波数閾値よりも低い周波数成分を有する骨伝導音声データの1つのセグメント(骨伝導音声データの下位部分とも呼ばれる)の重みは、1、又は0.9、又は0.8等に等しくてもよい。また、1つの単一周波数閾値よりも低い周波数成分を有する空気伝導音声データの1つのセグメント(空気伝導音声データの下位部分とも呼ばれる)の重みは、骨伝導音声データの1つのセグメントの重み1、又は0.9、又は0.8等にそれぞれ対応する0、又は0.1、又は0.2等に等しくてもよい。また、1つの単一周波数閾値よりも大きい周波数成分を有する骨伝導音声データの別の1セグメント(骨伝導音声データの上位部分とも呼ばれる)の重みは、0、又は0.1、又は0.2等に等しくてもよい。また、1つの単一周波数閾値よりも高い周波数成分を有する空気伝導音声データの別の1つのセグメント(空気伝導音声データの上位部分ともいう)の重みは、骨伝導音声データの1つのセグメントの重み0、又は0.1、又は0.2等にそれぞれ対応する1、又は0.9、又は0.8等に等しくてもよい。
いくつかの実施形態において、処理装置122は、空気伝導音声データのSNRに基づいて、骨伝導音声データ又は空気伝導音声データの異なるセグメントに対する重みを決定してもよい。例えば、空気伝導音声データのSNRが低ければ低いほど、骨伝導の特定のセグメントの重みが大きくなってもよく、空気骨伝導の対応する特定のセグメントの重みが低くなってもよい。
940において、処理装置122(たとえば、音声データ生成モジュール430又は結合ユニット436)は、骨伝導音声データ及び空気伝導音声データのそれぞれの複数のセグメントのそれぞれに対する重みに基づいて、骨伝導音声データ及び空気伝導音声データを縫合して、縫合済み音声データを生成してもよい。縫合済み音声データは、骨伝導音声データ及び/又は空気伝導音声データよりも忠実なユーザの発話を表現してもよい。本明細書で使用されるように、骨伝導音声データ及び空気伝導音声データの縫合は、1つ以上の周波数閾値に従って周波数領域で骨伝導音声データの周波数成分の1つ以上の部分及び空気伝導データの周波数成分の1つ以上の部分を選択し、骨伝導音声データの選択部分及び空気伝導音声データの選択部分に基づいて、音声データを生成することを指す場合がある。周波数閾値は、周波数縫合点と呼ばれることもある。いくつかの実施形態では、骨伝導音声データ及び/又は空気伝導音声データの選択された部分は、周波数閾値より低い周波数成分を含んでもよい。いくつかの実施形態では、骨伝導音声データ及び/又は空気伝導音声データの選択された部分は、周波数閾値より低く、別の周波数閾値より大きい周波数成分を含んでもよい。いくつかの実施形態では、骨伝導音声データ及び/又は空気伝導音声データの選択された部分は、周波数閾値より大きい周波数成分を含んでもよい。
いくつかの実施形態において、処理装置122は、以下の式(8):
に従って縫合済み音声データを決定してもよい。ここで、
は骨伝導音声データを指し、
は空気伝導音声データを指し、(a
m1,a
m2、…,a
mN)を含む
は骨伝導音声データの複数のセグメントの重みを指し、(b
m1,b
m2,…,b
mN)を含む
は空気伝導音声データの複数のセグメントの重みを指し、(x
m1,x
m2,…,x
mN)は骨伝導音声データの複数のセグメントを指し、そのそれぞれが周波数閾値で定義された周波数範囲の周波数成分を含み、(y
m1,y
m2,…,y
mN)は空気伝導音声データの複数のセグメントを指し、そのそれぞれが周波数閾値で定義された周波数帯の周波数成分を含む。例えば、x
m1及びy
m1は、それぞれ1000Hz未満の骨伝導音声データ及び空気伝導音声データの周波数成分を含んでいてもよい。別の例として、x
m2及びy
m2は、それぞれ1000Hz超4000Hz未満の周波数範囲における骨伝導音声データ及び空気伝導音声データの周波数成分を含んでもよい。Nは、1、2、3等の定数であってもよい。a
mn(n=1,2,…,N)は、0から1までの範囲の定数であってもよく、b
mn(n=1,2,…,N)は、0から1までの範囲の定数であってもよい。a
mn(n=1,2,…,N)及びb
mn(n=1,2,…,N)は、a
mn(n=1,2,…,N)とb
mn(n=1,2,…,N)の和が1に等しいような基準を満たしてもよい。いくつかの実施形態では、Nは2に等しくてもよい。処理装置122は、1つの単一の周波数閾値に従って、骨伝導音声データ及び空気伝導音声データのそれぞれについて2つのセグメントを決定してもよい。例えば、処理装置122は、1つの単一周波数閾値に従って、骨伝導音声データ(又は空気伝導音声データ)の下位部分と、骨伝導音声データ(又は空気伝導音声データ)の上位部分とを決定してもよい。骨伝導音声データ(又は空気伝導音声データ)の下位部分は、1つの単一周波数閾値より低い骨伝導音声データ(又は空気伝導音声データ)の周波数成分を含んでもよく、骨伝導音声データ(又は空気伝導音声データ)の上位部分は、1つの単一周波数閾値より高い骨伝導音声データ(又は空気伝導音声データ)の周波数成分を含んでもよい。いくつかの実施形態では、処理装置122は、1つ以上のフィルタに基づいて、骨伝導音声データ(又は空気伝導音声データ)の下位部分o及び下位部分を決定してもよい。1つ以上のフィルタは、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ等、又はそれらの任意の組合せを含んでもよい。
いくつかの実施形態において、処理装置122は、単一の周波数閾値に少なくとも部分的に基づいて、骨伝導音声データの下位部分及び骨伝導音声データの上位部分に対する第一の重み及び第二の重みをそれぞれ決定してもよい。処理装置122は、単一の周波数閾値に少なくとも部分的に基づいて、空気伝導音声データの下位部分及び空気伝導音声データの上位部分に対する第三の重み及び第四の重みをそれぞれ決定してもよい。いくつかの実施形態において、第一の重み、第二の重み、第三の重み、及び第四の重みは、空気伝導音声データのSNRに基づいて決定されてもよい。例えば、処理装置122は、空気伝導音声データのSNRが閾値より大きい場合、第一の重みが第三の重みより小さいこと、及び/又は第二の重みが第四の重みより大きいことを決定してもよい。別の例として、処理装置122は、複数のSNR範囲を決定してもよく、SNR範囲のそれぞれは、第一の重み、第二の重み、第三の重み、及び第四の重みの値にそれぞれ対応してもよい。第一の重みと第二の重みとは、同じであっても異なっていてもよく、第三の重みと第四の重みとは、同じであっても異なっていてもよい。第一の重みと第三の重みとの和は、1に等しくてもよい。第二の重みと第四の重みとの和は、1に等しくてもよい。第一の重み、第二の重み、第三の重み及び/又は第四の重みは、0~1の範囲の定数とすることができ、例えば、1、0.9、0.8、0.7、0.3、0.4、0.5、0.6、02、0.1、0等である。いくつかの実施形態では、処理装置122は、第一の重み、第二の重み、第三の重み、及び第四の重みを用いて、骨伝導音声データの下位部分、骨伝導音声データの上位部分、空気伝導音声データの下位部分、及び空気伝導音声データの上位部分をそれぞれ重み付けすることによって、縫合済み音声データを決定してもよい。例えば、処理装置122は、第一の重み及び第三の重みを用いて、骨伝導音声データの下位部分と空気伝導音声データの下位部分とを重み付けして合計することによって、縫合済み音声データの下位部分を決定してもよい。処理装置122は、第二の重み及び第四の重みを用いて、骨伝導音声データの上位部分と空気伝導音声データの上位部分とを重み付けして合計することによって、縫合済み音声データの上位部分を決定してもよい。処理装置122は、縫合済み音声データの下位部分と縫合済み音声データの上位部分とを縫合して、縫合済み音声データを取得してもよい。
いくつかの実施形態において、骨伝導音声データの下位部分に対する第一の重みは、1に等しくてもよく、骨伝導音声データの上位部分に対する第二の重みは、0に等しくてもよい。空気伝導音声データの下位部分に対する第三の重みは、0に等しくてもよく、空気伝導音声データの上位部分に対する第四の重みは、1に等しくてもよい。縫合済み音声データは、骨伝導音声データの下位部分及び空気伝導音声データの上位部分を縫合することによって生成されてもよい。いくつかの実施形態では、縫合済み音声データは、1つの単一周波数閾値に従って異なってもよい。例えば、図14A~図14Cに示すように、図14A~図14Cは、本開示のいくつかの実施形態に従って、それぞれ2000Hz,3000Hz,4000Hzの周波数点で特定の骨伝導音声データ及び特定の空気伝導音声データを縫合することによって生成される縫合済み音声データを示す時間周波数図である。図14A、図14B、及び図14Cの縫合済み音声データにおけるノイズの量は、互いに異なる。周波数点が大きければ大きいほど、縫合済み音声データにおけるノイズの量は少なくなる。
上記の説明は、単に例示のために提供されたもので、本開示の範囲を限定することを意図していないことに留意されたい。当業者は、複数の変形例及び修正を本開示の教示の下で実施することができる。しかしながら、それらの変形例及び修正は、本開示の範囲から逸脱するものではない。
図10は、本開示のいくつかの実施形態に従って、音声データを生成するための例示的なプロセスを示す概略フローチャートである。いくつかの実施形態では、プロセス1000は、ストレージ装置140、ROM230若しくはRAM240、又はストレージ390に記憶された命令のセット(例えば、アプリケーション)として実装されてもよい。処理装置122、プロセッサ220、及び/又はCPU340は、命令のセットを実行してもよく、命令を実行するとき、処理装置122、プロセッサ220、及び/又はCPU340は、プロセス800を実行するように構成されてもよい。以下に提示され、図示されるプロセスの操作は、例示であることを意図している。いくつかの実施形態では、プロセス1000は、説明されていない操作を1つ以上追加して、及び/又は、説明された操作の1つ以上を省いて、達成することもできる。さらに、図10に図示され、以下で説明されるプロセス1000の操作の順序は、限定することを意図していない。いくつかの実施形態では、プロセス1000の1つ以上の操作を、図5に関連して説明したように、操作530の少なくとも一部を達成するために実行してもよい。
1010において、処理装置122(例えば、音声データ生成モジュール430又は重み決定ユニット434)は、骨伝導音声データ又は空気伝導音声データの少なくとも一方に少なくとも部分的に基づいて、骨伝導音声データに対応する重みを決定してもよい。いくつかの実施形態では、骨伝導音声データ及び空気伝導音声データは、ユーザが話すときに、骨伝導センサ及び空気伝導センサによってそれぞれ同時に取得されてもよい。空気伝導音声データ及び骨伝導音声データは、ユーザの発話を表してもよい。骨伝導音声データ及び空気伝導音声データに関する更なる説明は、図5及びその説明に見出すことができる。
いくつかの実施形態において、処理装置122は、空気伝導音声データのSNRに基づいて、骨伝導音声データに対する重みを決定してもよい。空気伝導音声データのSNRを決定するためのより更なる説明は、本開示の他の箇所(例えば、図9及びその説明)に見出すことができる。空気伝導音声データのSNRが大きければ大きいほど、骨伝導音声データに対する重みは低くてもよい。例えば、空気伝導音声データのSNRが所定の閾値より大きい場合、骨伝導音声データに対する重みは、値Aとして設定されてもよく、空気伝導音声データのSNRが所定の閾値より小さい場合、骨伝導音声データに対する重みは、値Bとして設定されてもよく、ここで、A<Bである。他の例として、処理装置122は、以下の式(9):
に従って、骨伝導音声データに対する重みを決定してもよい。ここで、a1>a2>a3である。A1及び/又はA2は、音声信号生成システム100のデフォルト設定であってもよい。さらなる例として、処理装置122は、複数のSNR範囲を決定してもよく、そのそれぞれは、式(10):
のような骨伝導音声データに対する重みの値に対応する。ここで、W
boneは、骨伝導音声データに対応する重みを指す。
1020において、処理装置122(例えば、音声データ生成モジュール430又は重み決定ユニット434)は、骨伝導音声データ又は空気伝導音声データの少なくとも一方に少なくとも部分的に基づいて、空気伝導音声データに対応する重みを決定し得る。空気伝導音声データに対する重みを決定するために使用される技法は、操作1010で説明したように、骨伝導音声データに対する重みを決定するために使用される技法と類似又は同様であってもよい。例えば、処理装置122は、空気伝導音声データのSNRに基づいて、空気伝導音声データに対する重みを決定してもよい。空気伝導音声データのSNRを決定するための更なる説明は、本開示の他の箇所(例えば、図9及びその説明)で見出すことができる。空気伝導音声データのSNRが大きければ大きいほど、空気伝導音声データに対する重みは高くてもよい。別の例として、空気伝導音声データのSNRが所定の閾値より大きい場合、空気伝導音声データに対する重みは、値Xとして設定されてもよく、空気伝導音声データのSNRが所定の閾値より小さい場合、空気伝導音声データに対する重みは、値Yとして設定されてもよく、ここで、X>Yである。骨伝導音声データに対する重みと空気伝導音声データに対する重みとは、骨伝導音声データに対する重みと空気伝導音声データに対する重みとの和が1に等しいというような基準を満たしてもよい。処理装置122は、骨伝導音声データに対する重みに基づいて、空気伝導音声データに対する重みを決定してもよい。例えば、処理装置122は、値1と骨伝導音声データに対する重みとの間の差に基づいて、空気伝導音声データに対する重みを決定してもよい。
1030において、処理装置122(例えば、音声データ生成モジュール430又は結合ユニット436)は、骨伝導音声データに対する重み及び空気伝導音声データに対する重みを使用して、骨伝導音声データ及び空気伝導音声データをそれぞれ重み付けすることによって、ターゲット音声データを決定してもよい。ターゲット音声データは、骨伝導音声データ及び空気伝導音声データが表すものと同じユーザの発話を表してもよい。いくつかの実施形態において、処理装置122は、以下の式(11):
に従って、ターゲット音声データを決定してもよい。ここで、S
airは空気伝導音声データを指し、S
boneは骨伝導音声データを指し、a
1は空気伝導音声データに対する重みを指し、b
1は骨伝導音声データに対する重みを指し、S
outは対象音声データを指す。a
nとb
nは、a
nとb
nの和が1に等しくなるように基準を満たしてもよい。例えば、ターゲット音声データは、以下の式(12):
に従って決定されてもよい。
いくつかの実施形態では、処理装置122は、ネットワーク150を介して、クライアント端末(例えば、端末130)、ストレージ装置140、及び/又は任意の他のストレージ装置(音声信号生成システム100には図示せず)にターゲット音声データを送信してもよい。
実施例は、説明のために提供されるものであり、本開示の範囲を限定することを意図するものではない。
(実施例1:骨伝導音声データ、対応する再構成済み骨伝導音声データ、及び対応する空気伝導音声データの例示的な周波数応答曲線)
図11に示すように、曲線「m」は骨伝導音声データの周波数応答曲線を表し、曲線「n」は骨伝導音声データに対応する空気伝導音声データの周波数応答曲線を表している。骨伝導音声データと空気伝導音声データは、ユーザの同一の発話を表している。曲線「m1」は、プロセス600による訓練済み機械学習モデルを用いて、骨伝導音声データを再構成することによって生成された再構成済み骨伝導音声データの周波数応答曲線を表している。図11に示すように、周波数応答曲線「m1」は、周波数応答曲線「m」よりも周波数応答曲線「n」に類似又は近似している。言い換えれば、再構成済み骨伝導音声データは、骨伝導音声データよりも空気伝導音声データに類似又は近似している。さらに、周波数点(例えば、2000Hz)よりも低い再構成済み骨伝導音声データの周波数応答曲線「m1」の部分は、空気伝導音声データの周波数応答曲線と類似又は近似している。
(実施例2:ユーザの身体の異なる領域に配置された骨伝導センサによって収集された骨伝導音声データの例示的な周波数応答曲線)
図12Aに示すように、曲線「p」は、ユーザの身体の首に配置された第一の骨伝導センサによって収集された骨伝導音声データの周波数応答曲線を表す。曲線「b」は、ユーザの身体の耳珠に配置された第二の骨伝導センサによって収集された骨伝導音声データの周波数応答曲線を表す。曲線「o」は、ユーザの身体の耳道(例えば、外耳道)に配置された第三の骨伝導センサによって収集された骨伝導音声データの周波数応答曲線を表す。いくつかの実施形態において、第二の骨伝導センサ及び第三の骨伝導センサは、構成において、第一の骨伝導センサと同じあってよい。第一の骨伝導センサによって収集された骨伝導音声データ、第二の骨伝導センサによって収集された骨伝導音声データ、及び第三の骨伝導センサによって収集された骨伝導音声データは、それぞれ第一の骨伝導センサ、第二の骨伝導センサ、及び第三の骨伝導センサによって同時に収集されたユーザの同一の発話を表している。いくつかの実施形態において、第一の骨伝導センサ、第二の骨伝導センサ、及び第三の骨伝導センサは、互いに異なる構成であってもよい。
図12Aに示すように、周波数応答曲線「p」、周波数応答曲線「b」、及び周波数応答曲線「o」は、互いに異なるものである。すなわち、第一の骨伝導センサが収集した骨伝導音声データ、第二の骨伝導センサが収集した骨伝導音声データ、及び第三の骨伝導センサが収集した骨伝導音声データは、第一の骨伝導センサ、及び第二の骨伝導センサ、及び第三の骨伝導センサが配置されているユーザの身体の領域として異なっている。例えば、ユーザの身体の首に配置された第一の骨伝導センサが収集した骨伝導音声データにおける1000Hz未満の周波数成分の応答値は、ユーザの身体の耳珠に配置された第二の骨伝導センサが収集した骨伝導音声データにおける1000Hz未満の周波数成分の応答値より大きい。周波数応答曲線は、骨伝導センサが音のエネルギーを電気信号に変換する能力を反映し得る。周波数応答曲線「p」、「b」、及び「o」によれば、0~約5000Hzの周波数範囲に対応する応答値は、骨伝導センサがユーザの身体の異なる領域に配置されている約5000HZより大きい周波数範囲に対応する応答値よりも大きい。0~約2000Hzの周波数範囲に対応する応答値は、骨伝導センサがユーザの身体の異なる領域に配置されている約2000Hzを超える周波数に対応する応答値よりも安定に変化する。言い換えれば、骨伝導センサは、0~約2000Hz、又は0~約5000Hzといった音声信号の低周波数成分を収集してもよい。
したがって、図12Aによれば、音声信号を収集及び/又は再生するための骨伝導装置は、骨伝導装置の機械的設計に基づいて決定されたユーザの身体の領域に配置され得る骨伝導音声信号を収集するための骨伝導センサを含んでもよい。ユーザの身体の領域は、周波数応答曲線、信号強度、ユーザの快適レベル等の1つ以上の特性に基づいて決定されてもよい。例えば、骨伝導装置は、骨伝導センサによって収集された音声信号の信号強度が相対的に高くなるように、ユーザが骨伝導装置を装着したときに、骨伝導センサがユーザの耳珠に配置され、及び/又は接触するように音声信号を収集するための骨伝導センサを含んでもよい。
(実施例3:異なる圧力でユーザの身体の同じ領域に配置された骨伝導センサによって収集された骨伝導音声データの例示的な周波数応答曲線)
図12Bに示すように、曲線「L1」は、圧力F1が0Nで、ユーザの身体の耳珠に配置された骨伝導センサによって収集された骨伝導音声データの周波数応答曲線を表す。本明細書で使用されるように、ユーザの身体の領域に対する圧力は、骨伝導センサによってユーザの身体の領域に加えられるクランプ力と呼ばれることもある。曲線「L2」は、圧力F2が0.2Nで、ユーザの身体の耳珠に配置された骨伝導センサによって収集された骨伝導音声データの周波数応答曲線を表す。曲線「L3」は、圧力F3が0.4Nで、ユーザの身体の耳珠に配置された骨伝導センサによって収集された骨伝導音声データの周波数応答曲線を表す。曲線「L4」は、圧力F4が0.8Nで、ユーザの身体の耳珠に配置された骨伝導センサによって収集された骨伝導音声データの周波数応答曲線を表す。図12Bに示すように、周波数応答曲線「L1」~「L4」は、互いに異なっている。言い換えれば、ユーザの身体の領域に異なる圧力を加えることで骨伝導センサによって収集された骨伝導音声データは、異なっている。
骨伝導センサによってユーザの身体の領域に加えられる圧力が異なるため、骨伝導センサによって収集される骨伝導音声データも異なる場合がある。骨伝導センサによって収集された骨伝導音声データの信号強度は、圧力が異なるとして、異なってもよい。骨伝導音声データの信号強度は、最初は徐々に増加し、次いで、圧力が0Nから0.8Nまで増加すると、信号強度の増加が鈍化して飽和することがある。しかしながら、骨伝導センサがユーザの身体の領域に加える圧力が大きくなればなるほど、ユーザは、より不快さを感じる可能性がある。したがって、図12A及び図12Bによれば、音声信号を収集及び/又は再生するための骨伝導装置は、骨伝導音声信号を収集するための骨伝導センサを含んでもよく、骨伝導センサは、骨伝導装置の機械的設計に従って、ユーザの身体の特定の領域に対する範囲のクランプ力でユーザの身体の特定の領域に配置され得る。ユーザの身体の領域及び/又はユーザの身体の領域へのクランプ力は、周波数応答曲線、信号強度、ユーザの快適レベル等の1つ以上の特性、に基づいて決定されてもよい。例えば、骨伝導装置は、音声信号収集するための骨伝導センサを含んでもよく、その結果、ユーザが骨伝導装置を装着するときに、骨伝導センサが0~0.8Nの範囲内、例えば、0.2N、又は0.4N、又は0.6N、又は0.8N等のクランプ力でユーザの耳珠に配置され、及び/又は接触されるようになり、こうして、骨伝導センサが収集された骨伝導音声データの信号強度は比較的高く、同時に、ユーザは適切なクランプ力となる快適さを感じ得ることが確保され得る。
(実施例4:縫合済み音声データの例示的な時間周波数図)
図13Aは、本開示のいくつかの実施形態に従って、骨伝導音声データ及び空気伝導音声データを縫合することによって生成された縫合済み音声データの時間周波数図である。骨伝導音声データ及び空気伝導音声データは、ユーザの同じ音声を表す。空気伝導音声データは、ノイズを含む。図13Bは、本開示のいくつかの実施形態に従って、骨伝導音声データ及び前処理済み空気伝導音声データを縫合することによって生成された縫合済み音声データの時間周波数図である。前処理済み空気伝導音声データは、ウィナーフィルタを使用して空気伝導音声データをノイズ除去することによって生成された。図13Cは、本開示のいくつかの実施形態に従って、骨伝導音声データ及び別の前処理済み空気伝導音声データを縫合することによって生成された縫合済み音声データの時間周波数図である。別の前処理済み音声データは、スペクトル減算技法を使用して空気伝導音声データをノイズ除去することによって生成された。図13A~図13Cの縫合済み音声データの時間周波数図は、プロセス900に従って、2000Hzの同じ周波数閾値によって生成された。図13A~図13Cに示すように、図13B(例えば、領域M)及び図13C(例えば、領域N)の縫合済み音声データの2000Hzより高い周波数成分は、図13A(例えば、領域O)の2000Hzより高い縫合済み音声データの周波数成分よりノイズが少ない。これは、ノイズ除去された空気伝導音声データに基づいて生成された縫合済み音声データが、ノイズ除去されていない空気伝導音声データに基づいて生成された縫合済み音声データよりも忠実度が高いことを示している。空気伝導音声データに対して実行されるノイズ除去技法が異なるので、図13Bの縫合済み音声データの2000Hzより高い周波数成分は、図13Cの縫合済み音声データの2000Hzより高い周波数成分とは異なる。図13B及び図13Cに示すように、図13B(例えば、領域M)の縫合済み音声データの2000Hzより高い周波数成分は、図13C(例えば、領域N)の縫合済み音声データの2000Hzより高い周波数成分よりノイズが少なくなっている。
(実施例5:異なる周波数閾値に従って生成された縫合済み音声データの例示的な時間周波数図)
図14Aは、骨伝導音声データの時間周波数図である。図14Bは、骨伝導音声データに対応する空気伝導音声データの時間周波数図である。骨伝導音声データ(例えば、図5に記載の第一の音声データ)及び空気伝導音声データ(例えば、図5に記載の第二の音声データ)は、ユーザが発話をするときに、それぞれ骨伝導センサ及び空気伝導センサによって同時に収集されたものである。図14C~図14Eは、本開示のいくつかの実施形態に従って、骨伝導音声データ及び空気伝導音声データをそれぞれ2000Hz、3000Hz及び4000Hzの周波数閾値(又は周波数点)で縫合することによって生成された縫合済み音声データの時間周波数図である。図14C~図14Eに示す縫合済み音声データの時間周波数図を図14Bに示す空気伝導音声データの時間周波数図と比較すると、図14C、図14D、及び図14Eの縫合済み音声データのノイズの量は、空気伝導音声データより少ない。周波数閾値が大きければ大きいほど、縫合済み音声データのノイズの量は少なくなる。図14C~図14Eに示す縫合済み音声データの時間周波数図を、図14Aに示す骨伝導音声データの時間周波数図と比較すると、図14C~図14Eのそれぞれ周波数閾値2000Hz、3000Hz、4000Hz未満の周波数成分は、図14Aの周波数閾値2000Hz、3000Hz、4000Hz未満の周波数成分に対して増加している。
上記の説明は、単に例示のために提供されたもので、本開示の範囲を限定することを意図していないことに留意されたい。当業者は、複数の変形例及び修正を本開示の教示の下で実施することができる。しかしながら、それらの変形例及び修正は、本開示の範囲から逸脱するものではない。
以上のように基本概念を説明してきたが、この詳細な開示を読んだ後、上述の詳細な開示は例としてのみ提示されるものであり、限定するものではないことが、当業者にはかなり明白であろう。様々な変更、改善、及び修正は、本明細書に明示的に記載されていないが、想起し得、当業者を対象としている。これらの変更、改善、及び修正は、本開示によって示唆されるものであり、本開示の例示的な実施形態の趣旨及び範囲内である。
さらに、本開示の実施形態を記載するためにいくつかの用語が使用されている。例えば、「一実施形態」、「実施形態」、及び/又は「いくつかの実施形態」という用語は、実施形態に関連して記載される特定の特徴、構造、又は特性が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書の様々な部分における「実施形態」、「一実施形態」、又は「代替実施形態」に対する2つ以上の言及は、必ずしもすべてが同じ実施形態を指しているとは限らないことが強調され、了解されるべきである。さらに、特定の特徴、構造、又は特性は、本開示の1つ以上の実施形態において、適切であるように組み合わされ得る。
さらに、本開示の態様は、任意の新しく有用なプロセス、機械、製造、若しくは物質の組成、又はそれらの新しく有用な改善を含む、いくつかの特許可能なクラス又はコンテキストのいずれかで本明細書に図示及び記載され得ることが当業者には理解されよう。したがって、本開示の態様は、完全にハードウェアで、(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)完全にソフトウェアで、あるいは本明細書において一般に「ユニット」、「モジュール」、又は「システム」と呼ばれ得るソフトウェアとハードウェアを組み合わせる実装形態で実装され得る。さらに、本開示の態様は、コンピュータ可読プログラムコードがそこに具現化された1つ以上のコンピュータ可読媒体内で具現化されたコンピュータプログラム製品の形態をとることができる。
コンピュータ可読信号媒体は、例えば、ベースバンド内又は搬送波の一部として、コンピュータ可読プログラムコードがその中に具現化された伝搬データ信号を含み得る。そのような伝搬信号は、電磁的、光学的等、又はそれらの任意の適切な組合せを含む様々な形態のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではない任意のコンピュータ可読媒体であり得、命令実行システム、機器、又は装置によって、又はそれらともに使用するためのプログラムを通信、伝搬、又は転送し得る。コンピュータ可読信号媒体上に具現化されたプログラムコードは、無線、有線、光ファイバケーブル、RF等、又は前述の任意の適切な組合せを含む任意の適切な媒体を使用して送信され得る。
本開示の態様の操作を実行するためのコンピュータプログラムコードは、Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等のオブジェクト指向プログラミング言語、「C」プログラミング言語、Visual Basic、Fortran、Perl、COBOL、PHP、ABAP等の従来の手続き型プログラミング言語、Python、Ruby、及びGroovy等の動的プログラミング言語、又は他のプログラミング言語を含む、1つ以上のプログラミング言語の任意の組合せで書かれ得る。プログラムコードは、完全にユーザのコンピュータ上で、一部はユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、一部をユーザのコンピュータ上で一部をリモートコンピュータ上で、又は完全にリモートコンピュータ若しくはサーバ上で実行し得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、あるいは接続は、外部コンピュータ(例えば、インターネットサービス提供者を使用してインターネットを介して)に、又はクラウドコンピューティング環境内で行われ得るか、又はサービスとしてのソフトウェア(SaaS)等のサービスとして提供され得る。
さらに、処理要素若しくはシーケンスの列挙された順序、又は数字、文字、若しくは他の名称の使用は、したがって、特許請求されたプロセス及び方法を、特許請求の範囲において指定され得る場合を除き、いかなる順序にも限定するものではない。上記の開示は、開示の様々な有用な実施形態で現在考えられているものを、様々な例を介して説明しているが、そのような詳細はその目的のためだけであり、添付の特許請求の範囲は開示された実施形態に限定されず、反対に、開示された実施形態の趣旨及び範囲内にある修正及び同等の構成をカバーするものであることが理解されるべきである。例えば、上述された様々な構成要素の実装形態はハードウェア装置内で具現化されてよく、ソフトウェアのみのソリューション、例えば既存のサーバ又はモバイル装置へのインストールとして実装されてもよい。
同様に、本開示の実施形態の前述の説明では、様々な特徴は、時々、単一の実施形態、図、又はそれらの説明に一緒にグループ化され、本開示を簡素化し、1つ以上の様々な実施形態の理解に役立っていることを理解されたい。しかしながら、この開示の方法は、特許請求された主題が各請求項に明示的に記載されているよりも多くの特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、本発明の実施形態は、前述の単一の開示された実施形態のすべての特徴よりも少ない。
いくつかの実施形態では、本出願の特定の実施形態を説明し、特許請求するために使用される量、特性等を表す数字は、場合によっては、「約」、「およそ」、又は「実質的に」という用語によって、修飾されるものと理解されるべきである。例えば、「約」、「概算」、又は「実質的に」は、特に明記されていない限り、記載されている値の±20%の変動を示している場合がある。したがって、いくつかの実施形態では、書面による説明及び添付の特許請求の範囲に示される数値パラメータは、特定の実施形態によって得られることが求められる所望の特性に応じて変化し得る近似値である。いくつかの実施形態では、数値パラメータは、報告された有効桁数に照らして、通常の丸め技法を適用することによって解釈されるべきである。本出願のいくつかの実施形態の広い範囲を示す数値範囲及びパラメータは近似値であるにもかかわらず、特定の例に示される数値は、実行可能な限り正確に報告されている。
本明細書で参照される特許、特許出願、特許出願公開、及び他の資料、例えば、論文、書籍、仕様書、刊行物、文書、物体等のそれぞれは、あらゆる目的でその全体が参照により本明細書に組み入れられる。ただし、それらと関連付けられる任意の出願経過、本明細書と矛盾若しくは対立するそれらのいずれか、又は本明細書と現在若しくは今後関連付けられる特許請求の最も広い範囲について制約する影響を及ぼし得るそれらのいずれかを除く。例として、組み込まれた資料のいずれかと関連付けられた用語の記述、定義、及び/又は使用と、本明細書と関連付けられたそれらとの間に矛盾又は対立が存在する場合、本明細書におけるその用語の記述、定義、及び/又は使用が優先する。
最後に、本明細書で開示する本出願の実施形態は、本出願の実施形態の原理を例示するものであることを理解されたい。他の修正も本出願の範囲内には使用できる含まれる。そのため、限定ではなく、例として、本明細書の教示に従って、本出願の実施形態の代替の構成を利用することができる。したがって、本出願の実施形態は、正確に図示し、説明した実施形態だけに限定されるものではない。