(57)【要約】  音声データを取得し、当該音声データに基づいて制作された、振動デバイスを振動させるために用いられる振動データに関する情報を、教師振動データとして取得し、当該音声データ、及び教師振動データを入力として用いて機械学習を実行し、音声波形を振動波形に変換するために用いられる学習済みモデルデータを生成する情報処理装置である。
2020158036.tif 000002
【特許請求の範囲】
【請求項１】
音声データを取得する音声データ取得部と、
前記音声データに基づいて制作された、振動デバイスを振動させるために用いられる振動データに関する情報を、教師振動データとして取得する教師振動データ取得部と、
前記音声データ、及び前記教師振動データを入力として用いて機械学習を実行し、音声波形を振動波形に変換するために用いられる学習済みモデルデータを生成する機械学習部と、
を含むことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記機械学習部は、前記音声データを周波数解析して得られる複数の周波数帯それぞれの成分値を入力特徴量として、前記機械学習を実行する
ことを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置において、
前記音声データ取得部は、前記音声データとともに振動の種類を示すタグ情報を取得し、
前記機械学習部は、前記タグ情報を参照して前記振動の種類ごとに互いに独立に機械学習を実行し、それぞれ前記振動の種類に関連づけられた複数の学習済みモデルデータを生成する
ことを特徴とする情報処理装置。
【請求項４】
請求項１から３のいずれか一項に記載の情報処理装置において、
前記教師振動データ取得部は、前記音声データに複数種類の加工処理を適用して制作された教師振動データに関する情報を取得し、
前記機械学習部は、それぞれ前記複数種類の加工処理の少なくとも一部を適用した結果の振動データに関する情報を教師データとして用いる複数種類の機械学習を実行し、それぞれ加工処理の種類に関連づけられた複数の学習済みモデルデータを生成する
ことを特徴とする情報処理装置。
【請求項５】
請求項２に記載の情報処理装置において、
前記機械学習部は、前記複数の周波数帯それぞれの成分値に対して、当該周波数帯の全体に対する位置の情報を付加した入力特徴量を用いて、前記機械学習を実行する
ことを特徴とする情報処理装置。
【請求項６】
請求項２に記載の情報処理装置において、
前記機械学習部は、前記入力特徴量である複数の周波数帯それぞれの成分値について、前記機械学習によって当該成分値に対する倍率、及び加算値を示す２種類の特徴量を出力し、
当該２種類の特徴量を用いて、音声波形から振動波形への変換が行われる
ことを特徴とする情報処理装置。
【請求項７】
請求項１から６のいずれか一項に記載の情報処理装置において、
前記機械学習部は、音声波形を振動波形に変換するために用いられる変換モデルに対して互いに異なる複数種類のノイズを付加して複数のノイズ付加変換モデルを生成し、当該複数のノイズ付加変換モデルのそれぞれに前記音声データを入力して得られる複数の出力特徴量データのうち、前記教師振動データに近い一部の出力特徴量データを選択的に用いて、前記機械学習を行う
ことを特徴とする情報処理装置。
【請求項８】
音声データを取得するステップと、
前記音声データに基づいて制作された、振動デバイスを振動させるために用いられる振動データに関する情報を、教師振動データとして取得するステップと、
前記音声データ、及び前記教師振動データを入力として用いて機械学習を実行し、音声波形を振動波形に変換するために用いられる学習済みモデルデータを生成するステップと、
を含むことを特徴とする情報処理方法。
【請求項９】
音声データを取得するステップと、
前記音声データに基づいて制作された、振動デバイスを振動させるために用いられる振動データに関する情報を、教師振動データとして取得するステップと、
前記音声データ、及び前記教師振動データを入力として用いて機械学習を実行し、音声波形を振動波形に変換するために用いられる学習済みモデルデータを生成するステップと、
をコンピュータに実行させるためのプログラム。
【請求項１０】
音声データと、前記音声データに基づいて制作された、振動デバイスを振動させるために用いられる振動データに関する情報である教師振動データと、を入力として用いて機械学習を実行した結果得られる、音声波形を振動波形に変換するために用いられる学習済みモデルデータ。
【請求項１１】
処理対象となる対象音声データを取得する対象音声データ取得部と、
音声データと、前記音声データに基づいて制作された、振動デバイスを振動させるために用いられる振動データに関する情報である教師振動データと、を入力として用いて機械学習を実行した結果得られる学習済みモデルデータを用いて、前記対象音声データを振動波形に変換して前記振動デバイスを振動させるための振動データを生成する振動データ生成部と、
を含むことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動デバイスを振動させるための振動波形を生成する情報処理装置、情報処理方法、プログラム、及び学習済みモデルデータに関する。
【背景技術】
【０００２】
例えばコンピュータゲームにおける臨場感を高めるなどの目的で、ユーザーに振動を伝達する振動デバイスが利用されている。このような振動デバイスをユーザーが把持したり身につけたりした状態で動作させることによって、ユーザーに振動を提示することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
振動デバイスを動作させるためには、内部の振動機構を実際にどのような波形で振動させるかを指定する振動波形データが必要となる。従来、このような振動波形データは、制作者が手作業で制作していたため、振動の波形形状や各種のパラメータを詳細に制作者が指定する必要があった。また、ユーザーに提示したい振動に応じてどのような振動波形を生成すればよいかは必ずしも明確ではなく、試行錯誤が必要となる。このように、目的に応じた振動波形データを制作するのは、手間がかかる。【０００４】
本発明は上記実情を考慮してなされたものであって、その目的の一つは、比較的少ない手間で振動デバイスを振動させるための振動波形データを生成することのできる情報処理装置、情報処理方法、プログラム、及び学習済みモデルデータを提供することにある。
【課題を解決するための手段】
【０００５】
本発明の一態様に係る情報処理装置は、音声データを取得する音声データ取得部と、前記音声データに基づいて制作された、振動デバイスを振動させるために用いられる振動データに関する情報を、教師振動データとして取得する教師振動データ取得部と、前記音声データ、及び前記教師振動データを入力として用いて機械学習を実行し、音声波形を振動波形に変換するために用いられる学習済みモデルデータを生成する機械学習部と、を含むことを特徴とする。【０００６】
本発明の一態様に係る情報処理方法は、音声データを取得するステップと、前記音声データに基づいて制作された、振動デバイスを振動させるために用いられる振動データに関する情報を、教師振動データとして取得するステップと、前記音声データ、及び前記教師振動データを入力として用いて機械学習を実行し、音声波形を振動波形に変換するために用いられる学習済みモデルデータを生成するステップと、を含むことを特徴とする。【０００７】
本発明の一態様に係るプログラムは、音声データを取得するステップと、前記音声データに基づいて制作された、振動デバイスを振動させるために用いられる振動データに関する情報を、教師振動データとして取得するステップと、前記音声データ、及び前記教師振動データを入力として用いて機械学習を実行し、音声波形を振動波形に変換するために用いられる学習済みモデルデータを生成するステップと、をコンピュータに実行させるためのプログラムである。このプログラムは、コンピュータ読み取り可能で非一時的な情報記憶媒体に格納されて提供されてよい。【０００８】
本発明の一態様に係る学習済みモデルデータは、音声データと、前記音声データに基づいて制作された、振動デバイスを振動させるために用いられる振動データに関する情報である教師振動データと、を入力として用いて機械学習を実行した結果得られる、音声波形を振動波形に変換するために用いられる学習済みモデルデータである。【０００９】
本発明の一態様に係る情報処理装置は、処理対象となる対象音声データを取得する対象音声データ取得部と、音声データと、前記音声データに基づいて制作された、振動デバイスを振動させるために用いられる振動データに関する情報である教師振動データと、を入力として用いて機械学習を実行した結果得られる学習済みモデルデータを用いて、前記対象音声データを振動波形に変換して前記振動デバイスを振動させるための振動データを生成する振動データ生成部と、を含むことを特徴とする。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係る情報処理装置である情報処理装置を含む情報処理システムの構成ブロック図である。
【図２】情報処理装置の機能ブロック図である。
【図３】教師振動データを制作するための画面の一例を示す図である。
【図４】機械学習処理の一例について説明するデータフロー図である。
【図５】重み付け関数の一例を示す図である。
【図６】振動データ生成処理の一例について説明するデータフロー図である。
【図７】機械学習処理の別の例について説明するデータフロー図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図面に基づき詳細に説明する。
【００１２】
図１は、本発明の一実施形態に係る情報処理装置１０の構成ブロック図である。情報処理装置１０は、パーソナルコンピューター等の情報処理装置であって、図１に示されるように、制御部１１と、記憶部１２と、インタフェース部１３と、を含んで構成される。また、情報処理装置１０は、操作デバイス１４、表示装置１５及び振動デバイス１６と接続されている。
【００１３】
制御部１１は、ＣＰＵ等のプロセッサを少なくとも一つ含み、記憶部１２に記憶されているプログラムを実行して各種の情報処理を実行する。なお、本実施形態において制御部１１が実行する処理の具体例については、後述する。記憶部１２は、ＲＡＭ等のメモリデバイスを少なくとも一つ含み、制御部１１が実行するプログラム、及び当該プログラムによって処理されるデータを格納する。
【００１４】
インタフェース部１３は、操作デバイス１４、表示装置１５及び振動デバイス１６との間のデータ通信のためのインタフェースである。情報処理装置１０は、インタフェース部１３を介して有線又は無線のいずれかで操作デバイス１４、表示装置１５及び振動デバイス１６のそれぞれと接続される。具体的にインタフェース部１３は、情報処理装置１０が供給する映像データを表示装置１５に送信するために、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）等のマルチメディアインタフェースを含むこととする。また、操作デバイス１４が受け付けたユーザーの操作内容を示す操作信号を受信したり、振動デバイス１６を振動させるための制御信号を送信したりするために、ＵＳＢ（Universal Serial Bus）等のデータ通信インタフェースを含んでいる。
【００１５】
操作デバイス１４は、ユーザーからの操作指示を受け付け、その内容を示す操作信号を情報処理装置１０に送信するデバイスであって、例えばキーボードやマウス等を含んでよい。表示装置１５は、情報処理装置１０から送信される映像信号に応じた映像を表示して、ユーザーに閲覧させる。
【００１６】
振動デバイス１６は、ユーザーに振動を提示するために用いられるデバイスである。振動デバイス１６は振動機構１６ａを内蔵しており、情報処理装置１０から受け付けた制御信号に応じてこの振動機構１６ａを振動させる。これにより、振動デバイス１６を所持するユーザーに振動を提示する。振動機構１６ａは、偏心モーター（ＥＲＭ）やボイスコイルモーター、リニア共振アクチュエータ、ピエゾアクチュエータなど、各種の方式で振動を発生させるものであってよい。また、振動デバイス１６は、複数の振動機構１６ａを内蔵してもよい。
【００１７】
次に、情報処理装置１０が実現する機能について、図２を用いて説明する。情報処理装置１０は、音声データに基づいて振動波形データを生成するために用いられる。図２に示すように、情報処理装置１０は、機能的に、音声データ取得部５１と、教師振動データ取得部５２と、機械学習部５３と、振動データ生成部５４と、を含んでいる。これらの機能は、制御部１１が記憶部１２に記憶されたプログラムを実行することにより実現される。このプログラムは、インターネット等の通信ネットワークを介して情報処理装置１０に提供されてもよいし、光ディスク等のコンピュータ読み取り可能な情報記憶媒体に格納されて提供されてもよい。
【００１８】
音声データ取得部５１は、振動データを生成するための元データとなる音声データを取得する。以下では、音声データ取得部５１が取得する音声データを入力音声データＩＡＤと表記する。入力音声データＩＡＤは、音声の波形を表すデータである。一般的に、ユーザーに振動を提示する場合には、同じタイミングで効果音などの音声が再生される。そこで、このような振動とともに再生される音声の波形を表す入力音声データＩＡＤを元データとして用いることによって、振動データを効率的に生成することができる。
【００１９】
音声データ取得部５１は、後述する機械学習においてサンプルデータ（入力データ）として利用するために、複数の音声データを取得する。なお、音声データ取得部５１は、サンプルデータの数を増加させる（データオーギュメンテーション）ため、外部から入力された一つの入力音声データＩＡＤに対して、ピッチシフトや、タイムシフト、ノーマライズ、イコライズなどの音声信号処理を適用して得られるデータを、別の入力音声データＩＡＤとして取得してもよい。
【００２０】
教師振動データ取得部５２は、後述する機械学習において教師データとして用いられる教師振動データＴＶＤを取得する。教師振動データＴＶＤは、振動機構１６ａを振動させるための振動波形を表すデータである。具体的に教師振動データ取得部５２は、サンプルデータとして取得された複数の入力音声データＩＡＤのそれぞれについて、その入力音声データＩＡＤを元データとして制作された教師振動データＴＶＤを取得する。すなわち、教師振動データＴＶＤは、音声データ取得部５１が取得した入力音声データＩＡＤに含まれる音声波形に対して各種の加工処理を施すことによって、生成される。入力音声データＩＡＤの波形に基づいて振動データを生成することで、一から振動の波形を生成するのと比較して容易に、かつ音声と連動した内容の振動波形を生成することができる。これにより、音声データと教師振動データの組が複数個得られることになる。
【００２１】
教師振動データＴＶＤを生成する際の加工処理の種類や加工処理に用いるパラメータの数値などの具体的な内容は、振動データの制作者が手作業で指定する。制作者は、例えば実際に加工処理を施した後の振動データに基づいて振動デバイス１６を振動させ、その内容を体感したりしながら、加工処理の内容を調整し、所望の振動データを生成する。
【００２２】
具体的に、例えば教師振動データ取得部５２は、制作者が操作デバイス１４を用いて入力する指示の内容に応じて、高周波数成分を除去するローパスフィルタ処理などの各種のフィルタ処理を音声データに対して適用する。一般的に、振動デバイス１６で高周波数の振動を発生させることは困難なため、ローパスフィルタ処理を適用することで、入力音声データＩＡＤの高周波数成分を除去することができる。また、教師振動データ取得部５２は、ピッチシフト処理やイコライズ処理など、音声データに対して適用可能な各種の信号処理と同種の加工処理を入力音声データＩＡＤに施してもよい。また、エンベロープ形状を変化させる加工処理や、所与の波形（パルス波など）を追加する加工処理を施してもよい。
【００２３】
さらに制作者は、発生させたい振動の種類（カテゴリ）ごとに、異なる種類の加工処理を適用することが一般的である。例えばゲーム中においてキャラクターが武器で敵を叩いたり、刺したり、といったアクションを行ったときに発生させる振動は、振動の発生直後のタイミングで特に強い振動を生じさせることが望ましい。また、何かに接触した場合の振動は、金属、ゴム、木など接触した物の材質によって異なる傾向を示すことが想定される。制作者は、このように発生させたい振動の種類に応じて、適用するフィルタの種類を変化させたり、振動が開始してから終了するまでの間の時間区間ごと、あるいは周波数ごとなどに加工処理の内容を変化させたりして、振動データを制作する。
【００２４】
また、発生させたい振動の種類によっては、制作者は振動波形そのものを別の波形に置き換えてもよい。例えば金属同士が接触した際に生じる振動を再現したい場合、振動波形を特定周波数の正弦波などに置き換えることとする。この場合、振動の長さ（発生期間）やエンベロープなどについては元の音声データに合わせた波形としつつ、教師振動データＴＶＤの波形形状は元の入力音声データＩＡＤとは別のものとなる。
【００２５】
図３は、教師振動データＴＶＤを制作するための編集画面の一例を示している。この図においては、入力音声データＩＡＤの波形が中央上段に、制作される教師振動データＴＶＤが中央下段に、それぞれ示されている。なお、入力音声データＩＡＤはステレオ音声データであることとし、左右２チャンネルに対応する２個の音声波形が示されている。また、振動デバイス１６も左右２個の振動機構１６ａを内蔵しており、左右２チャンネルの音声波形に基づいて左右の振動機構１６ａをそれぞれ振動させるための２個の振動波形を制作することとしている。また、この図の例では、各振動波形に対応して、後述する周波数解析によって得られる周波数分布（スペクトル）が、振動波形の右側に隣接して配置されている。さらに、この周波数分布においては、振動デバイス１６の共振周波数（ｆ０）の位置が縦線で示されている。ここで振動デバイス１６の共振周波数は、振動デバイス１６が最大効率で振動する周波数に相当し、この周波数の振動の強さを強くすることが望ましい。また、画面の右上には振動デバイス１６の接続状態が示されている。
【００２６】
図３の画面例において、左側には入力音声データＩＡＤに適用される各種の加工処理、及びその処理内容を規定するパラメータを指定するためのコントロールが配置されている。制作者がこのコントロールを利用して各種の加工処理やパラメータを指定すると、中央上段の音声波形にその加工処理を適用した結果得られる振動波形が中央下段に表示される。また、画面左上には、音声及び振動の再生を指示するためのコントロールが配置されている。制作者が再生ボタンを押下すると、音声がスピーカーから再生されるとともに、現在表示されている振動波形に応じた振動が振動デバイス１６から提示されるようになっている。このような画面を利用することで、制作者は各種の加工処理を適用した結果を試しながら振動波形を制作することができる。
【００２７】
機械学習部５３は、教師振動データ取得部５２が取得した教師振動データ、及びその教師振動データを生成する際に元データとして使用した音声データの組を教師データとして用いて、機械学習を行う。この機械学習は、音声データに基づいて振動データを生成するための変換モデルについての学習である。
【００２８】
ここで、機械学習部５３が実行する機械学習のアルゴリズムは、例えばニューラルネットワークを用いた深層学習など、各種のものであってよい。特に畳み込みニューラルネットワーク（ＣＮＮ）を利用することが好適である。
【００２９】
以下、機械学習部５３が実行する処理の具体例について、図４のデータフロー図を用いて説明する。図４では、音声データ取得部５１が取得した１個の入力音声データＩＡＤと、この入力音声データＩＡＤに基づいて生成された教師振動データＴＶＤと、に対して実行される処理の流れが示されている。
【００３０】
まず機械学習部５３は、入力音声データＩＡＤに対する前処理として、ダウンサンプリング処理を実行する（Ｓ１）。そして、入力音声データＩＡＤをそれぞれ所定の長さを有する複数の時間区間（時間窓）に分割する（Ｓ２）。このとき、各時間区間は隣接する時間区間と一部重複してもよい。
【００３１】
その後、機械学習部５３は、分割された各時間区間の音声波形に対して周波数解析を行って、複数の周波数帯それぞれの成分値を算出する（Ｓ３）。これにより、音声波形のデータが、時間区間、及び周波数帯の組み合わせごとに一つの特徴量を持つ２次元の配列データに変換される。以下ではこの周波数解析によって得られる配列データを、入力特徴量データＩＦＤという。
【００３２】
以下では具体例として、ある一つの入力音声データＩＡＤの波形がｎ個の時間区間に分割され、各時間区間についてｍ個の周波数帯それぞれの特徴量が算出されるものとする。この場合、一つの入力音声データＩＡＤの波形の特徴が、ｎ×ｍ個の特徴量によって表されることになる。入力特徴量データＩＦＤは、このｎ×ｍ個の特徴量を構成要素とするデータである。
【００３３】
周波数解析の手法としては、離散コサイン変換（ＤＣＴ）や高速フーリエ変換（ＦＦＴ）など各種のものが挙げられるが、特に高速フーリエ変換を利用することが望ましい。このような変換を行う場合、その変換に先立って、波形データに対してハン窓などの窓関数を適用してもよい。また、入力特徴量データＩＦＤに含まれる個々の特徴量は、高速フーリエ変換などで得られる結果の値そのものであってもよいが、その結果の値を変換して得られる振幅の大きさを表す数値であってもよい。さらに、振幅の大きさを表す数値は、デシベルなどを単位とするレベル表現で表される値であってもよい。
【００３４】
機械学習部５３は、以上説明したＳ１〜Ｓ３までの前処理によって得られた入力特徴量データＩＦＤに含まれるｎ×ｍ個の特徴量を所与の変換モデルＭに入力して、振動データへの変換を行う（Ｓ４）。この変換モデルＭは、採用する機械学習のアルゴリズムによって決定され、複数の変換パラメータによって構成される。例えば複数のレイヤーによって構成されるニューラルネットワークモデルにおいては、各レイヤーの重み係数などが変換パラメータとなる。
【００３５】
以下、Ｓ４の変換によって得られる出力データを、出力特徴量データＯＦＤという。出力特徴量データＯＦＤは、入力特徴量データＩＦＤと同じくｎ×ｍ個の特徴量によって構成される。すなわち、出力特徴量データＯＦＤは、入力特徴量データＩＦＤと同じ数の時間区間、及び同じ数の周波数帯のそれぞれの特徴量によって構成される。
【００３６】
一方で機械学習部５３は、入力音声データＩＡＤと対応する教師振動データＴＶＤについても、入力音声データＩＡＤに対する前処理（Ｓ１〜Ｓ３）と同様の処理（Ｓ５〜Ｓ７）を適用して、ｎ×ｍ個の特徴量（すなわち、入力特徴量データＩＦＤと同じ数の時間区間、及び同じ数の周波数帯ごとの特徴量）からなる配列データに変換する。以下では、この教師振動データを周波数解析して得られる配列データを、教師特徴量データＴＦＤという。なお、前述したように教師振動データＴＶＤは高周波数成分が除去された振動データになっているため、教師特徴量データＴＦＤの所定の閾値以上の周波数成分は、振幅０に近い値になるはずである。
【００３７】
機械学習部５３は、以上説明した処理によって得られる出力特徴量データＯＦＤと教師特徴量データＴＦＤとの間の差異が小さくなるように、変換モデルＭを構成するパラメータの値を調整しながら機械学習を繰り返すことになる。このとき、例えば機械学習部５３は、出力データと教師特徴量データとの差異を評価するための指標値（損失）として、対応する特徴量の平均二乗誤差などを利用する。算出される損失が小さければ小さいほど、変換モデルによって得られる出力データが、制作者が手作業で製作した教師振動データＴＶＤの波形に近づくことになる。
【００３８】
具体的に、まず機械学習部５３は、Ｓ４で得られた出力特徴量データＯＦＤとＳ７で得られた教師特徴量データＴＦＤとを用いて、周波数ごとの両者の差異を示す指標値（ここでは最小二乗誤差とする）を算出する（Ｓ８）。続いて機械学習部５３は、各周波数について算出された指標値を平均して、全体としての損失を算出する（Ｓ９）。その後、機械学習部５３は、Ｓ９で算出された損失の値が小さくなるように変換モデルＭのパラメータを補正して（Ｓ１０）、機械学習を繰り返す。
【００３９】
なお、機械学習部５３は、Ｓ９で損失を算出する前に、Ｓ８で算出した周波数ごとの差異を示す指標値に対して重み付けを行ってもよい。重み付けを行うことによって、損失を評価する際に、特定の周波数帯の特徴量について他の周波数帯の特徴量よりも重視することができる。図５は、重み付け関数の一例を示す図である。この図における重み付け関数は、振動デバイス１６の共振周波数（ｆ０）に対応する周波数帯でピークが現れている。なお、共振周波数以外の周波数帯についても、振動デバイス１６の振動特性に応じて重み付け量が決定されてよい。このような重み付け関数を用いて重み付けを行うことにより、共振周波数近傍の周波数帯ほど、変換モデルＭによって得られる出力特徴量データＯＦＤの値が教師特徴量データＴＦＤの値に近づくように、変換モデルＭを調整することができる。
【００４０】
以上説明したような機械学習の処理を、十分な数の入力データを用いて実行した結果、最終的に得られるパラメータの集合が、変換モデルＭを構成する学習済みモデルデータとなる。
【００４１】
振動データ生成部５４は、機械学習部５３によって生成された学習済みモデルデータを用いて、新たな振動データを生成する。以下、振動データ生成部５４が実行する処理の具体例について、図６のデータフロー図を用いて説明する。
【００４２】
まず振動データ生成部５４は、機械学習に利用されたサンプルデータとは別の音声データ（以下、対象音声データＴａＡＤという）を新たに取得する（Ｓ２１）。そして、この対象音声データＴａＡＤに対して機械学習時の前処理（Ｓ１〜Ｓ３）と同様の前処理（Ｓ２２〜Ｓ２４）を実行して、ｎ×ｍ個の特徴量からなる特徴量データ（以下、対象特徴量データＴａＦＤという）を算出する。
【００４３】
この対象特徴量データＴａＦＤを、機械学習部５３によって生成された学習済みモデルデータによって構成される変換モデルＭに入力することによって、振動データ生成部５４は、新たな振動波形を表す特徴量データを算出する（Ｓ２５）。以下では、この対象特徴量データＴａＦＤを入力として得られる変換後のデータを生成特徴量データＧＦＤという。さらに振動データ生成部５４は、生成特徴量データＧＦＤに対して、前処理で実行した周波数解析と逆の変換を適用する（Ｓ２６）。これにより、対象音声データＴａＡＤに対応する振動波形を表す波形データが得られる。具体的に、例えば前処理において高速フーリエ変換を実行して波形データを周波数成分に変換している場合、生成特徴量データＧＦＤに対して逆フーリエ変換を適用することで、各時間区間の波形データを生成することができる。このような波形データを全時間区間について生成し、結合することで、対象音声データＴａＡＤと同じ長さの波形データが得られる。以下、生成特徴量データＧＦＤに基づいて得られる振動波形のデータを、生成振動データＧＶＤという。
【００４４】
なお、Ｓ２６の処理に先立って、Ｓ２５で得られた生成特徴量データＧＦＤに対して特定の周波数帯の成分を低減させる処理を実行してもよい。生成振動データＧＶＤに高周波数の成分が含まれていたとしても、前述したように、そのような高周波の振動を振動デバイス１６に発生させることは難しい。そのため、予め生成特徴量データＧＦＤに含まれる高周波数成分の特徴量の値を低減させることで、高周波数の振動が含まれない生成振動データＧＶＤを生成することができる。具体的に、例えば振動データ生成部５４は、Ｓ２５で得られた生成特徴量データＧＦＤに含まれる所定の閾値（例えば５００Ｈｚ）以上の周波数帯の特徴量について、その周波数の成分の振幅を表す特徴量の値を、０に近い値（例えば−９０ｄＢ）に置換する。
【００４５】
以上説明したように、機械学習部５３が生成した学習済みモデルデータを利用することで、振動データ生成部５４は、制作者の作業を必要とせずに自動的に新たな生成振動データＧＶＤを出力することができる。
【００４６】
なお、以上の説明では、全ての入力音声データＩＡＤを一つの変換モデルＭに入力して一つの学習済みモデルデータを生成することとした。しかしながら、前述したように生成したい振動のカテゴリによって、制作者が入力音声データＩＡＤに適用する加工処理の内容は異なる。ここで振動のカテゴリとは、振動の種類（叩く、刺す、といったアクションによって生じる振動や、金属、ゴム、木材などの材質ごとの振動）を指す。そこで、機械学習部５３は、カテゴリごとに独立して機械学習を行って、カテゴリごとの学習済みモデルデータを生成してもよい。この場合、入力音声データＩＡＤのそれぞれに対して、振動の分類を表すカテゴリ情報がタグ付けされる。機械学習部５３は、各入力音声データＩＡＤに付与されたタグを参照して、カテゴリ毎に用意された複数の変換モデルＭのうち、どの変換モデルＭにその入力音声データＩＡＤを入力するか決定する。これにより、カテゴリ毎に独立した変換モデルＭの学習済みモデルデータが得られる。振動データ生成部５４は、タグ付きの対象音声データＴａＡＤを受け付ける。そして、指定されたタグに対応付けられた変換モデルＭを用いて、対象音声データＴａＡＤから生成振動データＧＶＤを生成する。
【００４７】
また、以上の説明では制作者が制作した振動波形データそのものを教師データとして利用することとし、変換モデルＭの出力は、時間区間、及び周波数帯ごとの特徴量からなる特徴量データであることとした。しかしながらこれに限らず、教師データは、制作者が入力音声データＩＡＤに基づいて振動データを制作する際に行った加工処理の内容そのものを示すデータであってもよい。例えば制作者が音声データの先頭に複数個のパルスを追加する加工処理を行って振動データを生成する場合、追加されたパルスの個数を教師データに含まれる特徴量の一つとする。このような教師データを用いて機械学習を行うことにより、新たな対象音声データＴａＡＤに対して何個のパルスを追加すべきかを機械学習によって決定することができる。なお、パルスを追加する場合に指定するパラメータはパルスの個数に限らず、追加する位置や追加するパルスの周波数などについても制作者が指定する場合があり得る。また、フィルタ処理が適用される場合にも、そのフィルタの詳細な内容は各種のパラメータによって決定される。このように各種の加工処理が施される場合に、各加工処理の適用の有無、適用される加工処理の内容を特定するパラメータなどを特徴量として含む教師データを用いて機械学習を行うこととする。これにより、対象音声データＴａＡＤに対して適用すべき加工処理の種類、及びそのパラメータを機械学習によって決定することができる。
【００４８】
さらに、加工処理の種類に応じて、複数のモデルを利用して学習を行ってもよい。この場合、複数のモデルのそれぞれに対して、学習対象となる加工処理の種類が関連づけられている。機械学習部５３は、各モデルについて、そのモデルに関連づけられた種類の加工処理が適用された教師振動データＴＶＤを用いて機械学習を行う。
【００４９】
具体例として、入力音声データＩＡＤの全体に対してローパスフィルタなどのフィルタ処理を適用する加工処理（加工処理Ａ）と、先頭部分に複数個のパルスを追加する加工処理（加工処理Ｂ）とを独立に学習する例について、説明する。機械学習部５３は、入力音声データＩＡＤに加工処理Ａを適用して得られる教師振動データＴＶＤ（すなわち、加工処理Ｂ適用前のデータ）を用いて、前述した機械学習を行い、第１の学習済みモデルデータを生成する。一方で、入力音声データＩＡＤをサンプル入力データ、制作者が加工処理Ｂで指定したパルスの数を教師データとして機械学習を行い、追加すべきパルスの数を決定するための第２の学習済みモデルデータを生成する。
【００５０】
振動データ生成部５４は、第１の学習済みモデルデータを用いて対象音声データＴａＡＤから生成振動データＧＶＤを生成する。さらに、第２の学習済みモデルデータを用いて対象音声データＴａＡＤから追加すべきパルスの数を決定する。そして、第１の学習済みモデルデータを用いて生成された生成振動データＧＶＤに、予め定められた波形形状のパルスを決定された数だけ追加する。このようにすれば、加工処理の種類ごとに適した機械学習を行った結果を用いて、振動データを生成することができる。
【００５１】
以上説明したように、本実施形態に係る情報処理装置１０によれば、音声データと制作者が手作業で制作した教師データとを利用して振動データを自動的に生成することができるようになる。
【００５２】
なお、本発明の実施の形態は、以上説明したものに限られない。例えば以上の説明では一つの情報処理装置１０が機械学習と学習済みモデルデータを用いた振動データの生成処理の双方を実施することとしたが、これに限らずこれらの処理は互いに別の情報処理装置によって実現されてもよい。この場合、機械学習を行った情報処理装置は、その結果得られる学習済みモデルデータをコンピュータ読み取り可能な情報記憶媒体に格納したり、通信ネットワークを介して配信したりして外部の情報処理装置に提供する。提供を受けた情報処理装置は、提供された学習済みモデルデータを利用することで、以上説明したような振動データ生成部５４の機能を実現することができる。
【００５３】
また、機械学習部５３が実行する機械学習の内容も、以上説明したものに限られない。具体的に、機械学習部５３が機械学習を行う際に変換モデルＭに対して入力するデータや変換モデルＭが出力するデータの種類や形式は、以上説明したものと異なるものであってもよい。また、機械学習のアルゴリズム（変換モデルＭの構成）自体も、以上説明したものと異なるものであってもよい。以下では、本発明の実施形態に係る情報処理装置１０が採用可能な機械学習の内容のいくつかの変形例について、説明する。なお、情報処理装置１０は、これらの変形例のいくつかを組み合わせて採用した内容で、機械学習を実行してもよい。
【００５４】
第１の例として、入力データに追加される特徴量データの一例について説明する。以上の説明では、機械学習時に変換モデルＭに入力される入力特徴量データＩＦＤは、入力音声データＩＡＤを周波数解析して得られるスペクトログラムを構成するｎ×ｍ個の特徴量であることとした。ここでｎは入力音声データＩＡＤの波形を時間分割して得られる時間区間（フレーム）の個数であり、ｍは周波数解析によってそれぞれの周波数成分が算出される周波数帯の個数である。この第１の例において機械学習部５３は、畳み込みニューラルネットワークの変換モデルＭに入力する入力特徴量データＩＦＤを構成する特徴量のそれぞれに対して、その特徴量の位置を示すデータを付加してもよい。
【００５５】
畳み込みニューラルネットワークは、元データに含まれる特徴量の平行移動に強い手法であるが、一方で特徴量の位置（その特徴量が全体においてどの位置にあるか）は重視されない傾向がある。これに対して本実施形態では、周波数帯を次元の一つとした入力特徴量データＩＦＤを使用するため、周波数帯の相違は重要となる。例えば、振動デバイス１６の共振周波数における振動を、他の周波数の振動と同一視することは好ましくない。そこで機械学習部５３は、入力データに対する前処理の一つとして、入力特徴量データＩＦＤを構成する特徴量のそれぞれに対して、その特徴量の位置座標（すなわち、何番目の時間区間か、また何番目の周波数帯か）を示すデータを付加することとする。このように位置座標を付加した特徴量を入力データとして用いて畳み込みニューラルネットワークを含む機械学習を行うことにより、波形の形状の特徴だけでなく、どの周波数帯にどの程度の振動成分が含まれるかを考慮した機械学習を行うことができる。
【００５６】
第２の例として、機械学習部５３は、機械学習のアルゴリズムとして敵対的生成ネットワーク（ＧＡＮｓ）の手法を利用してもよい。具体的には、これまで説明した振動波形を生成する変換モデルＭ（敵対的生成ネットワークにおけるジェネレーターに相当）のほかに、波形がジェネレーターによって生成されたものか人が手で作成したものかを識別する識別器（ディスクリミネーター）を用意し、ジェネレーターとディスクリミネーターを並行して学習させる。これにより、ジェネレーターは学習が進むにつれてディスクリミネーターが識別できないような（すなわち、教師データと区別がつかないような）振動波形を生成できるようになる。本実施形態では、人が手で作成した振動データに近い特徴を持つ振動データを機械学習によって生成することを目的としている。そのため、敵対的生成ネットワークの手法を適用することで、本物（人が手作業で制作した振動データ）と区別がつきにくい振動データを生成できるようになる。
【００５７】
第３の例として、機械学習部５３が機械学習によって出力する出力特徴量データＯＦＤは、以上説明したような振動波形のスペクトログラムそのものを構成するデータではなく、元の音声波形のスペクトログラムを構成する特徴量に対して増幅又は減衰させるための倍率と、特徴量に加算する加算値との組み合わせからなるデータであってもよい。
【００５８】
この例では、入力特徴量データＩＦＤは、前述した説明と同様にｎ個の時間区間とｍ個の周波数帯に対応したｎ×ｍ個の特徴量によって構成される。これに対して変換モデルＭによって算出される出力特徴量データＯＦＤは、これまで説明したような振動データのスペクトログラムを構成するｎ×ｍ個の特徴量ではなく、これらの特徴量のそれぞれを算出するために用いられる２種類のパラメータ（ｙ１，ｙ２）によって構成されることとする。すなわち、出力特徴量データＯＦＤは、それぞれ２個のパラメータからなるパラメータセットをｎ×ｍ個含んで構成されることになり、全体としてｎ×ｍ×２個のパラメータを含むことになる。
【００５９】
振動データを表すスペクトログラムの内容は、入力特徴量データＩＦＤ内の各特徴量と、対応する出力特徴量データＯＦＤ内のパラメータセット（ｙ１，ｙ２）に基づいて算出される。具体的に、入力特徴量データＩＦＤに含まれるｉ番目の時間区間、ｊ番目の周波数帯の特徴量をｆ（ｉ，ｊ）とし、同じ時間区間、及び周波数帯について変換モデルＭが出力する２個のパラメータをｙ１（ｉ，ｊ）、ｙ２（ｉ，ｊ）とする。このとき、変換モデルＭによって生成される振動波形を構成するスペクトログラムの（ｉ，ｊ）成分値ｓ（ｉ，ｊ）は、以下の計算式で算出される。
ｓ（ｉ，ｊ）＝ｆ（ｉ，ｊ）・ｙ１（ｉ，ｊ）＋ｙ２（ｉ，ｊ）
このｓ（ｉ，ｊ）をｉ＝１，２，…，ｎ、及びｊ＝１，２，…，ｍの全ての組み合わせについて計算すると、前述した実施例における出力特徴量データＯＦＤと同様に、振動波形を構成するｎ×ｍ個の成分値が取得できる。機械学習部５３は、このｎ×ｍ個の成分値によって表される振動波形が教師振動データＴＶＤに近づくように機械学習を行うこととする。また、振動データ生成部５４は、変換モデルＭが出力する生成特徴量データＧＦＤに基づいて、ここで説明した機械学習実行時の場合と同様の計算を行うことによって、生成振動データＧＶＤを生成することができる。
【００６０】
制作者が手作業で入力音声データＩＡＤから教師振動データＴＶＤを制作する場合、前述したように、特定の周波数帯の振動を強めたり弱めたりするイコライズ処理や、特定周波数のパルス波形を追加する処理、特定周波数で減衰するパルス波形を追加する処理、減衰するノイズ波形を追加する処理などを実施して制作作業を行う。つまり、元の波形の増幅／減衰処理（元の波形に対して乗算の変化を施す処理）と別の波形の付加処理（元の波形に対して加算の変化を施す処理）をそれぞれ独立に実施して、振動波形を制作することになる。この第３の変形例では、振動波形を構成するスペクトログラムに含まれる成分値のそれぞれについて、乗算の効果量を表す倍率のパラメータｙ１と加算の効果量を表す加算値のパラメータｙ２の２種類のパラメータを変換モデルＭによって出力する。こうすれば、人による手作業の振動データ制作工程をより高い精度で推定することのできる学習済みモデルデータを生成することができる。
【００６１】
第４の例として、機械学習部５３は、機械学習の実行時に、ランダムノイズを付加した学習モデルを用いて機械学習を行ってもよい。この例では、機械学習部５３は、同じ一つの入力音声データＩＡＤを、互いに異なる複数種類のランダムノイズを付加して得られる複数種類の変換モデルＭのそれぞれに入力することによって、複数種類の出力特徴量データＯＦＤを出力する。そして、複数種類の出力特徴量データＯＦＤのうち、教師特徴量データＴＦＤに最も近い出力特徴量データＯＦＤを用いて、変換モデルＭの内容を更新する。
【００６２】
図７は、この第４の例における処理の流れを説明するデータフロー図である。この図の例において機械学習部５３は、入力音声データＩＡＤに基づいて図４のＳ１〜Ｓ３と同様の前処理を実行して、入力特徴量データＩＦＤを生成する（Ｓ４１）。そして、変換モデルＭに対して、互いに異なる４種類のランダムノイズＮ１〜Ｎ４を付加して、４個のノイズ付加変換モデルＭ（Ｎ１）〜Ｍ（Ｎ４）を生成する（Ｓ４２）。なお、変換モデルＭに対してノイズを付加する手法としては、ランダムに非活性なノードを作成するＤｒｏｐｏｕｔなどの手法を採用することができる。さらに機械学習部５３は、Ｓ４１で生成した同じ入力特徴量データＩＦＤをこれら４個のノイズ付加変換モデルＭ（Ｎ１）〜Ｍ（Ｎ４）のそれぞれに入力して、４個の出力特徴量データＯＦＤ（Ｎ１）〜ＯＦＤ（Ｎ４）を生成する（Ｓ４３）。これらの出力特徴量データＯＦＤは、互いに別の振動波形を表すことになる。
【００６３】
続いて機械学習部５３は、この４個の出力特徴量データＯＦＤ（Ｎ１）〜ＯＦＤ（Ｎ４）について、それぞれ教師特徴量データＴＦＤと比較をして損失を算出する（Ｓ４４）。その結果を用いて、最も教師特徴量データＴＦＤに近い（すなわち、損失の小さい）出力特徴量データＯＦＤを選択する（Ｓ４５）。そして、選択された一つの出力特徴量データＯＦＤを用いて、変換モデルＭのパラメータを更新する（Ｓ４６）。このような制御を繰り返すことによって、変換モデルＭの機械学習を行う。ここで、Ｓ４５で選択されなかったその他の出力特徴量データＯＦＤは変換モデルＭの更新に利用されず、学習に寄与しないことになる。
【００６４】
本実施形態では、教師データは音声データを元に人が手作業で制作した振動データになる。このような振動データには制作者の癖や経験則などが反映されるため、唯一の正解があるわけではない。そのため、似た傾向の入力音声データに対して互いに異なる形状の振動波形が制作されることもある。このような事例において、単純に一つのモデルを教師データに近づけるように機械学習させていくと、複数の異なる性質の教師データを平均化したような内容の振動波形を出力するモデルが生成される可能性がある。そこでこの第４の例では、互いに異なるランダムノイズを加えた変換モデルのうち、最も教師データに近い出力を得られるデータを採用して機械学習を進めることで、平均化を避けることが期待できる。なお、ここでは最も教師特徴量データＴＦＤに近い一つの出力特徴量データＯＦＤを出力するモデルだけを用いて機械学習を行うこととしたが、例えば損失が基準値以下の出力特徴量データＯＦＤなど、所与の基準を満たす一部の出力特徴量データＯＦＤを選択的に用いて機械学習を行ってもよい。
【符号の説明】
【００６５】
１０  情報処理装置、１１  制御部、１２  記憶部、１３  インタフェース部、１４  操作デバイス、１５  表示装置、１６  振動デバイス、５１  音声データ取得部、５２  教師振動データ取得部、５３  機械学習部、５４  振動データ生成部。
【図１】
2020158036.tif 000003
【図２】
2020158036.tif 000004
【図３】
2020158036.tif 000005
【図４】
2020158036.tif 000006
【図５】
2020158036.tif 000007
【図６】
2020158036.tif 000008
【図７】
2020158036.tif 000009
【国際調査報告】
2020158036.tif 000010
2020158036.tif 000011
2020158036.tif 000012
2020158036.tif 000013