IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023079258
(43)【公開日】2023-06-08
(54)【発明の名称】音抽出システム及び音抽出方法
(51)【国際特許分類】
   G10L 21/028 20130101AFI20230601BHJP
【FI】
G10L21/028 Z
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2021192632
(22)【出願日】2021-11-29
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】川口 洋平
(57)【要約】
【課題】ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出できる音抽出システム及び音抽出方法を提供する。
【解決手段】音抽出システムは、抽出対象の音に対応する信号を含む混合信号から抽出対象の音に対応する信号を抽出する音抽出装置を含む。音抽出装置は、抽出対象の音の範囲を表すテキスト及び混合信号に基づいて、混合信号から抽出対象の音に対応する信号を抽出するように構成される。
【選択図】図1
【特許請求の範囲】
【請求項1】
抽出対象の音に対応する信号を含む混合信号から前記抽出対象の音に対応する信号を抽出する音抽出装置を含む音抽出システムであって、
前記音抽出装置は、
前記抽出対象の音の範囲を表すテキスト及び前記混合信号に基づいて、前記混合信号から前記抽出対象の音に対応する信号を抽出する、
ように構成された、
音抽出システム。
【請求項2】
請求項1に記載の音抽出システムにおいて、
前記音抽出装置は、
前記混合信号及び前記抽出対象の音の範囲を表す前記テキストに基づいて、前記抽出対象の音に対応する信号を抽出するための時間周波数マスクを生成し、
前記時間周波数マスクを前記混合信号に適用して、前記混合信号から前記抽出対象の音に対応する信号を抽出する、
ように構成された、
音抽出システム。
【請求項3】
請求項2に記載の音抽出システムにおいて、
前記時間周波数マスクを生成するために使用する学習済みモデルを格納した記憶装置を更に含み、
前記音抽出装置は、
前記学習済みモデルを用いて、前記抽出対象の音の範囲を表す前記テキスト及び前記混合信号に基づいて、前記時間周波数マスクを生成する、
ように構成された、
音抽出システム。
【請求項4】
請求項3に記載の音抽出システムにおいて、
前記記憶装置は、前記学習済みモデルとして、前記抽出対象の音の範囲を表す前記テキストを前処理したデータから前記テキストの埋込ベクトルを出力するテキスト埋込抽出モデルと、前記テキストの埋込ベクトル及び前記混合信号の音の特徴量ベクトルから前記時間周波数マスクを生成する時間周波数マスク生成モデルと、を格納しており、
前記音抽出装置は、
前記混合信号から前記混合信号の前記音の特徴量ベクトルを計算し、
前記テキスト埋込抽出モデルを用いて、前記抽出対象の音の範囲を表す前記テキストから前記テキストの埋込ベクトルを計算し、
前記時間周波数マスク生成モデルを用いて、計算した前記テキストの埋込ベクトル及び前記混合信号の前記音の特徴量ベクトルから前記時間周波数マスクを生成する、
ように構成された、
音抽出システム。
【請求項5】
請求項3に記載の音抽出システムにおいて、
前記記憶装置は、前記学習済みモデルとして、前記混合信号から前記混合信号の音の特徴量ベクトルを出力する特徴量抽出モデルと、前記抽出対象の音の範囲を表す前記テキストを前処理したデータから前記テキストの埋込ベクトルを出力するテキスト埋込抽出モデルと、前記テキストの埋込ベクトル及び前記混合信号の前記音の特徴量ベクトルから前記時間周波数マスクを生成する時間周波数マスク生成モデルと、を格納しており、
前記音抽出装置は、
前記特徴量抽出モデルを用いて、前記混合信号から前記混合信号の前記音の特徴量ベクトルを計算し、
前記テキスト埋込抽出モデルを用いて、前記抽出対象の音の範囲を表す前記テキストから前記テキストの埋込ベクトルを計算し、
前記時間周波数マスク生成モデルを用いて、計算した前記テキストの埋込ベクトル及び前記混合信号の前記音の特徴量ベクトルから前記時間周波数マスクを生成する、
ように構成された、
音抽出システム。
【請求項6】
請求項2に記載の音抽出システムにおいて、
前記抽出対象の音に対応する対象信号、当該対象信号と前記抽出対象の音以外の騒音に対応する信号とを混合した学習用混合信号及び前記抽出対象の音に対応する学習用テキストを含む学習用データセットを用いて機械学習を実行することにより、前記時間周波数マスクを生成するために使用する学習済みモデルを生成する学習装置を更に含み、
前記音抽出装置は、
前記学習装置によって生成された前記学習済みモデルを用いて、前記抽出対象の音の範囲を表す前記テキスト及び前記混合信号に基づいて、前記時間周波数マスクを生成する、
ように構成された、
音抽出システム。
【請求項7】
請求項6に記載の音抽出システムにおいて、
前記学習装置は、前記学習済みモデルとして、
前記抽出対象の音の範囲を表す前記テキストを前処理したデータから前記テキストの埋込ベクトルを出力するテキスト埋込抽出モデルと、
前記混合信号の特徴量及び前記テキストの埋込ベクトルから前記時間周波数マスクを生成する時間周波数マスク生成モデルと、
を生成するように構成され、
前記音抽出装置は、
前記混合信号から前記混合信号の音の特徴量ベクトルを計算し、
前記学習装置によって生成された前記テキスト埋込抽出モデルを用いて、前記抽出対象の音の範囲を表す前記テキストから前記テキストの埋込ベクトルを計算し、
前記学習装置によって生成された前記時間周波数マスク生成モデルを用いて、計算した前記テキストの埋込ベクトル及び前記混合信号の前記音の特徴量ベクトルから前記時間周波数マスクを生成する、
ように構成された、
音抽出システム。
【請求項8】
請求項6に記載の音抽出システムにおいて、
前記学習装置は、前記学習済みモデルとして、
前記混合信号から前記混合信号の音の特徴量ベクトルを出力する特徴量抽出モデルと、
前記抽出対象の音の範囲を表す前記テキストを前処理したデータから前記テキストの埋込ベクトルを出力するテキスト埋込抽出モデルと、
前記混合信号の前記音の特徴量ベクトル及び前記テキストの埋込ベクトルから前記時間周波数マスクを生成する時間周波数マスク生成モデルと、
を生成するように構成され、
前記音抽出装置は、
前記学習装置によって生成された前記特徴量抽出モデルを用いて、前記混合信号から前記混合信号の前記音の特徴量ベクトルを計算し、
前記学習装置によって生成された前記テキスト埋込抽出モデルを用いて、前記抽出対象の音の範囲を表す前記テキストから前記テキストの埋込ベクトルを計算し、
前記学習装置によって生成された前記時間周波数マスク生成モデルを用いて、計算した前記テキストの埋込ベクトル及び前記混合信号の前記音の特徴量ベクトルから前記時間周波数マスクを生成する、
ように構成された、
音抽出システム。
【請求項9】
請求項2に記載の音抽出システムにおいて、
外部から初期の学習済みモデルを取得し、前記抽出対象の音に対応する対象信号、当該対象信号と前記抽出対象の音以外の騒音に対応する信号とを混合した学習用混合信号及び前記抽出対象の音に対応する学習用テキストを含む学習用データセットを用いて機械学習を実行することにより、前記初期の学習済みモデルを更新することによって、前記時間周波数マスクを生成するために使用する学習済みモデルを生成する学習装置を更に含み、
前記音抽出装置は、
前記学習装置によって生成された前記学習済みモデルを用いて、前記抽出対象の音の範囲を表す前記テキスト及び前記混合信号に基づいて、前記時間周波数マスクを生成する、
ように構成された、
音抽出システム。
【請求項10】
請求項1に記載の音抽出システムにおいて、
前記抽出対象の音の範囲を表す前記テキスト及び前記混合信号に基づいて、前記混合信号から前記抽出対象の音に対応する信号を抽出するために使用する学習済みモデルを格納した記憶装置を更に含み、
前記音抽出装置は、
前記学習済みモデルを用いて、前記抽出対象の音の範囲を表す前記テキスト及び前記混合信号に基づいて、前記混合信号から前記抽出対象の音に対応する信号を抽出する、
ように構成された、
音抽出システム。
【請求項11】
請求項10に記載の音抽出システムにおいて、
前記記憶装置は、前記学習済みモデルとして、前記抽出対象の音の範囲を表す前記テキストを前処理したデータから前記テキストの埋込ベクトルを出力するテキスト埋込抽出モデルと、前記テキストの埋込ベクトル及び前記混合信号の時間波形から前記抽出対象の音に対応する信号の時間波形を生成する信号抽出モデルとを格納しており、
前記音抽出装置は、
前記テキスト埋込抽出モデルを用いて、前記抽出対象の音の範囲を表す前記テキストから前記テキストの埋込ベクトルを計算し、
前記信号抽出モデルを用いて、計算した前記テキストの埋込ベクトル及び前記混合信号の時間波形から前記抽出対象の音に対応する信号の時間波形を生成することにより、前記混合信号から前記抽出対象の音に対応する信号を抽出する、
ように構成された、
音抽出システム。
【請求項12】
請求項10に記載の音抽出システムにおいて、
前記抽出対象の音に対応する対象信号、当該対象信号と前記抽出対象の音以外の騒音に対応する信号とを混合した学習用混合信号及び前記抽出対象の音に対応する学習用テキストを含む学習用データセットを用いて機械学習を実行することにより、前記抽出対象の音の範囲を表す前記テキスト及び前記混合信号に基づいて、前記混合信号から前記抽出対象の音に対応する信号を抽出するために使用する前記学習済みモデルを生成する学習装置を更に含み、
前記学習装置によって生成された前記学習済みモデルを用いて、前記抽出対象の音の範囲を表す前記テキスト及び前記混合信号に基づいて、前記混合信号から前記抽出対象の音に対応する信号を抽出する、
ように構成された、
音抽出システム。
【請求項13】
請求項10に記載の音抽出システムにおいて、
外部から初期の学習済みモデルを取得し、前記抽出対象の音に対応する対象信号、当該対象信号と前記抽出対象の音以外の騒音に対応する信号とを混合した学習用混合信号及び前記抽出対象の音に対応する学習用テキストを含む学習用データセットを用いて機械学習を実行することにより、前記初期の学習済みモデルを更新することによって、前記抽出対象の音の範囲を表す前記テキスト及び前記混合信号に基づいて、前記混合信号から前記抽出対象の音に対応する信号を抽出するために使用する前記学習済みモデルを生成する学習装置を更に含み、
前記音抽出装置は、
前記学習装置によって生成された前記学習済みモデルを用いて、前記抽出対象の音の範囲を表す前記テキスト及び前記混合信号に基づいて、前記混合信号から前記抽出対象の音に対応する信号を抽出する、
ように構成された、
音抽出システム。
【請求項14】
請求項6、請求項9、請求項12及び請求項13の何れか一項に記載の音抽出システムにおいて、
前記抽出対象の音に対応する前記対象信号と、前記抽出対象の音以外の騒音に対応する信号とが格納された記憶装置を更に含み、
前記学習装置は、
前記抽出対象の音に対応する前記対象信号と前記抽出対象の音以外の騒音に対応する信号とを、前記記憶装置から読み出して、前記抽出対象の音に対応する前記対象信号と前記抽出対象の音以外の騒音に対応する信号とを混合することにより、前記学習用混合信号を生成する、
ように構成された、
音抽出システム。
【請求項15】
請求項1に記載の音抽出システムにおいて、
前記テキストは、擬音語を表すテキストである、
音抽出システム。
【請求項16】
請求項1に記載の音抽出システムにおいて、
前記テキストは、説明文を表すテキストである、
音抽出システム。
【請求項17】
抽出対象の音に対応する信号を含む混合信号から前記抽出対象の音に対応する信号を抽出する音抽出装置を用いた音抽出方法であって、
前記音抽出装置によって、
前記抽出対象の音の範囲を表すテキスト及び前記混合信号に基づいて、前記混合信号から前記抽出対象の音に対応する信号を抽出する、
音抽出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音抽出システム及び音抽出方法に関する。
【背景技術】
【0002】
複数の音源が混ざった音の中から特定の特徴を有する音を抽出することは重要である。例えば、音を収録し、設備や機械の異常やその予兆を音(異音)から自動的に検知することが行われている。しかし、環境騒音が大きい場合があり、このような場合には異音検知の精度が著しく低下しうる。そのため、異音検知精度の向上や異音そのものの分析のため、収録音から対象の設備や機械の音を抽出する(強調するともいう)ことが求められる。
【0003】
また、監視カメラ、ドライブレコーダー、見守りロボット、スマートスピーカーなどのマイクロフォンで収録される音に基づいて周囲の状況を認識することも行われている。しかし、やはり環境騒音が大きい場合があり、このような場合には状況認識の精度が著しく低下しうる。そのため、状況認識精度の向上や収録音の分析のため、収録音から状況認識の手がかりとなる音を抽出することが求められる。
【0004】
音の抽出に関し、例えば、特許文献1及び非特許文献1に記載の技術が知られている。非特許文献1には、「The waveforms of mixed environmental sounds are transformed into spectrogram. By using this input, Mask U-Net consists of sound event detection CNN and segmentation U-Net predicts masks for separating out each class from the input spectrogram. Inverse STFT is applied to reconstruct the time domain signal.」と記載されている。この非特許文献1の技術(以下、「従来技術」とも称呼される。)は、音を予め定義した有限個の種類のイベントに分類し、イベントの種類ごとに音を抽出する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2014-178886号公報
【非特許文献】
【0006】
【非特許文献1】Y.Sudo,“Environmental sound segmentation utilizing Mask U-Net,”in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2019.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来技術は、ユーザが抽出したい音の範囲と予め定義された種類のイベントが一致しない場合には、ユーザが抽出したい音を抽出できない。その一例として、従来技術は、予め定義されたイベントの種類よりもさらに細かい粒度で音を抽出することができない。例えば、金属が叩かれる音というイベントの種類が定義されていたとしても、「バーン」という音も「カンカン」という音も金属が叩かれる音に含まれうる。従って、例えば、ユーザが「金属が叩かれる音」として「バーン」という音を抽出したい場合に、「金属が叩かれる音」というイベントの分類だけでは、金属が叩かれる音として「カンカン」という音が抽出されてしまうことが、従来技術では生じ得る。
【0008】
このように、従来技術では、ユーザが抽出したい音を精度よく抽出できないことが生じ得る。本発明は上記課題を解決するためになされた。即ち、本発明の目的の一つは、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出することができる音抽出システム及び音抽出方法を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明の音抽出システムは、抽出対象の音に対応する信号を含む混合信号から前記抽出対象の音に対応する信号を抽出する音抽出装置を含む音抽出システムであって、前記音抽出装置は、前記抽出対象の音の範囲を表すテキスト及び前記混合信号に基づいて、前記混合信号から前記抽出対象の音に対応する信号を抽出する、ように構成されている。
【0010】
本発明の音抽出方法は、抽出対象の音に対応する信号を含む混合信号から前記抽出対象の音に対応する信号を抽出する音抽出装置を使用し、音抽出装置によって、前記抽出対象の音の範囲を表すテキスト及び前記混合信号に基づいて、前記混合信号から前記抽出対象の音に対応する信号を抽出する。
【発明の効果】
【0011】
本発明によれば、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出することができる。
【図面の簡単な説明】
【0012】
図1図1は本発明の第1実施形態に係る音抽出システムの概略構成例を示すブロック構成図である。
図2図2は情報処理装置の構成例を示すブロック図である。
図3図3は学習サブシステムの構成例を機能毎に説明するためのブロック図である。
図4図4は学習サブシステムの処理フローの一例を示すフローチャートである。
図5図5は音抽出サブシステムの構成例を機能毎に説明するためのブロック図である。
図6図6は音抽出サブシステムの処理フローの一例を示すフローチャートである。
図7図7は音抽出システムによる抽出結果の例を示すデータである。
図8図8は本発明の第2実施形態に係る音抽出システムの概略構成例を示すブロック構成図である。
図9図9は本発明の第3実施形態に係る音抽出システムの概略構成例を示すブロック構成図である。
図10図10は本発明の第4実施形態に係る音抽出システムの概略構成例を示すブロック構成図である。
図11図11は学習サブシステムの構成例を機能毎に説明するためのブロック図である。
図12図12は学習サブシステムの処理フローの一例を示すフローチャートである。
図13図13は音抽出サブシステムの構成例を機能毎に説明するためのブロック図である。
図14図14は音抽出サブシステムの処理フローの一例を示すフローチャートである。
図15図15は本発明の第5実施形態に係る音抽出システムの概略構成例を示すブロック構成図である。
図16図16は学習サブシステムの構成例を機能毎に説明するためのブロック図である。
図17図17は学習サブシステムの処理フローの一例を示すフローチャートである。
図18図18は音抽出サブシステムの構成例を機能毎に説明するためのブロック図である。
図19図19は音抽出サブシステムの処理フローの一例を示すフローチャートである。
図20図20は本発明の第6実施形態に係る音抽出システムの概略構成例を示すブロック構成図である。
図21図21は本発明の第7実施形態に係る音抽出システムの概略構成例を示すブロック構成図である。
図22図22は本発明の第8実施形態に係る音抽出システムの概略構成例を示すブロック構成図である。
図23図23は学習サブシステムの構成例を機能毎に説明するためのブロック図である。
図24図24は学習サブシステムの処理フローの一例を示すフローチャートである。
図25図25は音抽出サブシステムの構成例を機能毎に説明するためのブロック図である。
図26図26は音抽出サブシステムの処理フローの一例を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、図面を参照しながら、本発明の各実施形態に係る音抽出システムについて説明する。
【0014】
<<第1実施形態>>
<本発明の概要>
図1は、本発明の第1実施形態に係る音抽出システム100の概略構成例を示すブロック構成図である。図1に示すように、音抽出システム100は、学習サブシステム110と、特徴量抽出モデルデータベース120と、テキスト埋込抽出モデルデータベース130と、時間周波数マスク生成モデルデータベース140と、音抽出サブシステム150と、訓練用データセットデータベース160と、を含む。なお、学習サブシステム110は、「学習装置」とも称呼される場合がある。音抽出サブシステム150は、「音抽出装置」とも称呼される場合がある。
【0015】
音抽出システム100は、まず、訓練用データセットデータベース160から、対象信号(抽出対象の音に対応する信号)の時間波形、「対象信号の時間波形(対象信号)と抽出対象の音以外の騒音(騒音に対応する信号の時間波形(騒音に対応する信号))とを混合した混合信号の時間波形」及び可変長の擬音語テキスト(抽出対象の音に対応する擬音語テキスト)の三つ組みの集合(「学習用データセット」とも称呼される場合がある。)を読み出し、学習サブシステム110に入力する。
【0016】
ここで、訓練用データセットデータベース160から「対象信号の時間波形(対象信号)と抽出対象の音以外の騒音(騒音に対応する信号の時間波形(騒音に対応する信号))とを混合した混合信号の時間波形」を読み出す代わりに、混合される前の「抽出対象の音以外の騒音(騒音に対応する信号の時間波形(騒音に対応する信号))」を読みだし、対象信号(抽出対象の音に対応する信号)の時間波形と混合することによって、「対象信号の時間波形(対象信号)と抽出対象の音以外の騒音(騒音に対応する信号の時間波形(騒音に対応する信号))とを混合した混合信号の時間波形」を生成し、三つ組みの集合を生成しても良い。このように、読み出し後に信号を混合する場合、二つのメリットがある。一つは、音抽出システム100の使用時に想定される信号対雑音比で信号を混合して学習用データセットを作成することにより、使用シーン毎の信号対雑音比に適した抽出が可能となるようにモデルを学習できることである。もう一つは、訓練用データセットデータベース160に必要な記憶容量を小さく抑えられることである。
【0017】
このように訓練用データセットデータベース160から読み込んだ後に混合して生成した三つ組みの集合も含めて、以降では三つ組みの集合または学習用データセットと称呼する。
【0018】
学習サブシステム110は三つ組みの集合に基づいて学習処理を実行し、特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルを出力して、それぞれのデータベースに格納する。即ち、学習サブシステム110は、特徴量抽出モデルを特徴量抽出モデルデータベース120に格納し、テキスト埋込抽出モデルをテキスト埋込抽出モデルデータベース130に格納し、時間周波数マスク生成モデルを時間周波数マスク生成モデルデータベース140に格納する。
【0019】
音抽出サブシステム150は、特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルをデータベース(特徴量抽出モデルデータベース120、テキスト埋込抽出モデルデータベース130及び時間周波数マスク生成モデルデータベース140)から読み出し、それらに基づいて(それらを用いて)音抽出処理を実行する。これにより、音抽出サブシステム150は、混合信号の時間波形と可変長の擬音語テキストから、抽出信号の時間波形を抽出する。更に、音抽出サブシステム150は、抽出信号の時間波形を出力する。
【0020】
音抽出システム100は、このような基本構成とすることで、ある種類のイベントとしてユーザが抽出したい音の範囲を予め厳密に定義することができない場合であっても、ユーザが抽出したい音に対応する信号を混合信号から精度よく抽出(抽出ないし強調)することができる。
【0021】
なお、上述した非特許文献1が用いるようなイベントの種類の定義は、適用現場に応じてイベントの種類の定義が異なり、ユーザが抽出したい音の範囲と予め定義された種類のイベントとが一致することはまれである。ユーザが抽出したい音の範囲と予め定義された種類のイベントとが一致しない場合、ユーザが抽出したい音が抽出できない。これに対して、擬音語は比較的汎用性が高いので、適用現場を横断して使用できる可能性が高い。
【0022】
更に、擬音語の入力に対して環境音を出力する処理としては、上述した特許文献1に記載の技術が知られている。この特許文献1には、「音声信号を入力する音声入力部と、音声入力部に入力された音声信号に対して音声認識処理を行い擬音語を生成する音声認識部と、環境音とその環境音に対応する擬音語とが格納されている音データ保持部と、第1の擬音語と第2の擬音語と第1の擬音語が音声認識部で認識されたときに第2の擬音語が与えられる頻度とが対応付けられた対応付け情報を保持する対応保持部と、対応付け情報を用いて音声認識部が認識した第1の擬音語に対応する第2の擬音語に変換する変換部と、変換部が変換した第2の擬音語に対応する環境音を音データ保持部から抽出し、抽出された複数の環境音の候補が与えられる頻度に基づいて、抽出された複数の環境音の候補をランク付けして提示する検索抽出部とを備える。」と記載されている。
【0023】
しかし、特許文献1の技術は、混合音から音を抽出することができない。特許文献1の「抽出」とは、データベースから検索して条件に合った環境音を取り出すという意味である。また、特許文献1の技術は、環境音から擬音語への写像を有するのみであり、擬音語から環境音への写像を持たないため、出力される音はデータベースに存在する音のみである。データベースに存在する音と全く同じ混合音が入力されない限り、混合音からの音の抽出はできない。本発明の課題である混合音からの音の抽出では、データベースに存在する音と全く同じ混合音が入力されることはほとんどありえない。従って、特許文献1は、混合音からの音を抽出することができない。
【0024】
<ハードウェア構成>
音抽出システム100は、例えば、コンピュータ(情報処理装置)などで構成可能である。図2は、情報処理装置の構成の一例を示すブロック図である。図2に示すように、情報処理装置200は、CPU201、ROM202、RAM203、データの読み出し及び書き込み可能な不揮発性の記憶装置(HDD)204、ネットワークインタフェース205及び入出力インタフェース206などを含む。これらは、バス207を介して互いに通信可能に接続されている。CPU201はROM202及び/又は記憶装置204に格納された図示しない各種プログラムをRAM203にロードし、RAM203にロードされたプログラムを実行することによって、各種機能を実現する。RAM203には、上述したようにCPU201が実行する各種プログラムがロードされ、CPU201が各種プログラムを実行する際に使用するデータが一時的に記憶される。ROM202及び/又は記憶装置204は、不揮発性の記憶媒体であり、各種プログラムが記憶されている。ネットワークインタフェース205は、情報処理装置200がネットワークに接続されるためのインタフェースである。入出力インタフェース206は、キーボード、マウスなどの操作装置、マイクロフォンなどの音響機器及びディスプレイなどの表示装置に接続されるためのインタフェースである。
【0025】
例えば、音抽出システム100の訓練用データセットデータベース160は、情報処理装置200が備える記憶装置204に格納されたデータベースで構成される。音抽出システム100の学習サブシステム110は、情報処理装置200で構成される。音抽出システム100の特徴量抽出モデルデータベース120、テキスト埋込抽出モデルデータベース130及び時間周波数マスク生成モデルデータベース140は、情報処理装置200が備える記憶装置204に格納されたデータベースで構成される。音抽出システム100の音抽出サブシステム150は、情報処理装置200で構成される。なお、一つのシステムなどを構成する情報処理装置200は、複数の情報処理装置やクラウド上に構築される仮想的な情報処理装置であってもよい。
【0026】
<学習サブシステム>
(学習サブシステムの機能)
以下、学習サブシステム110の構成を、主として機能毎に説明する。図3は学習サブシステム110の構成例を機能毎に説明するためのブロック図である。図3に示すように、学習サブシステム110は、対象信号フレーム分割処理部111、対象信号窓関数乗算部112、対象信号周波数領域信号生成部113、混合信号フレーム分割処理部114、混合信号窓関数乗算部115、混合信号周波数領域信号生成部116、特徴量抽出部117、音素変換部118、テキスト埋込抽出部119、時間周波数マスク生成部119a、時間周波数マスク乗算部119b及び学習部119cを含む。なお、対象信号フレーム分割処理部111、対象信号窓関数乗算部112、対象信号周波数領域信号生成部113、混合信号フレーム分割処理部114、混合信号窓関数乗算部115、混合信号周波数領域信号生成部116、特徴量抽出部117、音素変換部118、テキスト埋込抽出部119、時間周波数マスク生成部119a、時間周波数マスク乗算部119b及び学習部119cは、情報処理装置200のROM202及び/又は記憶装置204に格納された図示しない各種プログラムによって構成される。
【0027】
対象信号フレーム分割処理部111は、対象信号の時間波形D10のフレーム分割を行い、対象信号のフレーム分割信号(不図示)を出力する。対象信号窓関数乗算部112は、窓関数乗算を行い、対象信号のフレーム分割信号を対象信号の窓関数乗算信号(不図示)に変換する。
【0028】
対象信号周波数領域信号生成部113は、短時間フーリエ変換を行い、対象信号の窓関数乗算信号を対象信号の時間周波数領域表現D11に変換する。なお、対象信号周波数領域信号生成部113は、短時間フーリエ変換の代わりに、「constant Q変換(CQT)」などの周波数変換手法を用いることもできる。
【0029】
混合信号フレーム分割処理部114は、混合信号の時間波形D20のフレーム分割を行い、混合信号のフレーム分割信号(不図示)を出力する。
【0030】
混合信号窓関数乗算部115は、窓関数乗算を行い、混合信号のフレーム分割信号を混合信号の窓関数乗算信号(不図示)に変換する。混合信号周波数領域信号生成部116は、短時間フーリエ変換を行い、混合信号の窓関数乗算信号を混合信号の時間周波数領域表現D21に変換する。なお、混合信号周波数領域信号生成部は、短時間フーリエ変換の代わりに、「constant Q変換(CQT)」などの周波数変換手法を用いることもできる。
【0031】
特徴量抽出部117は、混合信号の時間周波数領域表現D21を音の特徴量ベクトルD22に変換する。本例において、特徴量抽出部117は、重み係数パラメータが可変であるニューラルネットワークである特徴量抽出モデルを用いる。特徴量抽出部117は、直前の更新を経た最新の特徴量抽出モデルに対して、混合信号の時間周波数領域表現D21を入力し、音の特徴量ベクトルD22を出力する。特徴量抽出モデルは、例えば、複数の畳込み層、活性化関数、プーリング層が積層され、中間にスキップコネクションを挟むニューラルネットワークであってよい。
【0032】
なお、音の特徴量ベクトルD22は時間周波数領域表現D21の振幅スペクトログラムであってよい。この場合、特徴量抽出部117は、時間周波数領域表現D21の振幅スペクトログラム(ベクトル)を計算する。この場合、計算に用いる重み係数パラメータは不変である。例えば、音の特徴量ベクトルは時間周波数領域表現D21のパワースペクトログラムであってよい。この場合、特徴量抽出部117は、時間周波数領域表現D21のパワースペクトログラム(ベクトル)を計算する。この場合、計算に用いる重み係数パラメータは不変である。例えば、音の特徴量ベクトルD22は時間周波数領域表現D21の対数メルパワースペクトログラムであってよい。この場合、特徴量抽出部117は、時間周波数領域表現D21のパワースペクトログラムを計算し、得られるパワースペクトログラムにメルフィルタバンクを乗算してメルパワースペクトログラムを計算し、得られるメルパワースペクトログラムに対して対数を施すことにより、対数メルパワースペクトログラム(ベクトル)を出力する。この場合、計算に用いる重み係数パラメータは不変である。メルフィルタバンクの代わりに、1/3オクターブバンドフィルタなどのフィルタバンクを用いてもよい。
【0033】
更に、音の特徴量ベクトルD22は、対数メルパワースペクトログラムの代わりに、メル周波数ケプストラム係数(MFCC)の時系列であってもよい。その場合、特徴量抽出部117は、パワースペクトログラムの対数値を計算し、フィルタバンクを乗算し、離散コサイン変換を施し、MFCCの時系列(ベクトル)を出力する。この場合、計算に用いる重み係数パラメータは不変である。
【0034】
音の特徴量ベクトルD22は、対数メルパワースペクトログラムやMFCCの時系列に対する時間差分、若しくは、時間微分の時系列(デルタ)又はそれらの連結ベクトルであってもよい。これらのいずれの場合も、計算に用いる重み係数パラメータは不変である。
【0035】
音素変換部118は、可変長の擬音語テキストD30から音素変換処理により可変長の音素列D31を出力する。例えば、擬音語テキストD30が「カンカン」である場合、音素列D31として、「/ k a N k a N /」が出力される。擬音語テキストD30が「カタカタドーン」である場合、音素列D31として、「/ k a t a k a t a d o: N /」が出力される。
【0036】
テキスト埋込抽出部119は、最新のテキスト埋込抽出モデルを用いて、音素列D31からテキストの埋込ベクトルD32(テキスト埋込ベクトルD32)を出力する。テキスト埋込ベクトルD32はある定めた次元数Dのベクトルである。まず、テキスト埋込抽出部119は入力された音素列D31に対し、各音素にone-hotベクトルを割り当て、one-hotベクトル系列とする。ここでのone-hotベクトルは、変換対象の音素の種類(「/a/、/i/、/u/、/e/、/o/、/k/、/s/、/N/」など)に対応する次元のみに1、それ以外の次元に0を割り当てたベクトルである。
【0037】
次に、テキスト埋込抽出モデルにone-hotベクトル系列を入力し、テキスト埋込ベクトルD32を出力させる。テキスト埋込抽出モデルは公知のTransformerモデル、あるいは、Long-Short-Term-Memory(LSTM)、双方向LSTM、Gated recurrent unit(GRU)、双方向GRUなどの層を有する再帰型ニューラルネットワークであってよい。
【0038】
時間周波数マスク生成部119aは、最新の時間周波数マスク生成モデルを用いて、音の特徴量ベクトルD22とテキスト埋込ベクトルD32とから、時間周波数マスクを生成する。
【0039】
時間周波数マスクは、時間周波数領域表現の各時間周波数において、混合信号の振幅のうちのどれだけの割合が抽出信号であるかの推定値である。即ち、時間周波数マスクは、各時間周波数において0より大きく1より小さい値をとる。1に近いほど混合信号の振幅のうちの大部分が抽出信号であり、0に近いほど混合信号の振幅のうちの大部分が抽出信号以外の成分であることを意味する。
【0040】
時間周波数マスク生成モデルは、音の特徴量ベクトルD22及びテキスト埋込ベクトルD32を入力として時間周波数マスクを生成するニューラルネットワークである。例えば、複数の畳込み層、活性化関数、プーリング層が積層され、中間にスキップコネクションを挟むニューラルネットワークであってよい。特に、音の特徴量ベクトルD22が振幅スペクトログラム又はパワースペクトログラムである場合、時間周波数マスク生成部119aは、例えば条件付きU-Netでよい。即ち、振幅スペクトログラムあるいはパワースペクトログラムである音の特徴量ベクトルを画像と考え、それを入力としてK個の畳込み層を積層して構成されるU-Netエンコーダーに入力して、U-Net特徴量マップを計算し、得られたU-Net特徴量マップとテキスト埋込ベクトルD32をK個の畳込み層を積層して構成されるU-Netデコーダーに入力して音の特徴量ベクトルD22と同じ画素数の画像である時間周波数マスクを出力する。U-Netエンコーダーの各畳込み層k=1、・・・、Kはその層に対応する互いに異なる時間周波数解像度の特徴量マップV_kを出力する。全畳込み層の特徴量マップV_1、V_2、・・・、V_K、を連結したものがU-Net特徴量マップである。U-Netデコーダーの各畳込み層k=1、・・・、Kは、U-Net特徴量マップの中でV_K-k+1とテキスト埋込ベクトルD32を入力として受け付ける。
【0041】
あるいは、畳込み層k=1のみ特徴量マップV_Kとテキスト埋込ベクトルD32を入力とし、それ以外の畳込み層k≠1はテキスト埋込ベクトルD32を入力とせず特徴量マップV_K-k+1のみを入力として受け付けてもよい。U-Netデコーダーの各畳込み層がテキスト埋込ベクトルD32を入力として受け付けるのであれば、訓練データセットが潤沢であれば精度が高くなるというメリットがある。畳込み層k=1のみがテキスト埋込ベクトルD32を入力として受け付ける場合は、ニューラルネットワークの重み係数の個数が小さく抑えられるというメリットがある。
【0042】
時間周波数マスク乗算部119bは、混合信号の時間周波数領域表現D21に時間周波数マスクを乗算することによって、抽出信号の時間周波数領域表現D41を生成する。
【0043】
学習部119cは、抽出信号の時間周波数領域表現D41と対象信号の時間周波数領域表現D11との距離で定義される損失関数の値を最小化することで、特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルの各パラメータを学習する。
【0044】
学習部119cは、更に、収束しているかどうかの判定に用いる収束判定用関数を計算する。例えば、収束判定用関数は、損失関数の値の前回の反復時(学習時)からの変化の大きさで定義される。また、収束判定用関数は、特徴量抽出モデルのパラメータの前回の反復時(学習時)からの変化の大きさ、テキスト埋込抽出モデルのパラメータの前回の反復時(学習時)からの変化の大きさ、時間周波数マスク生成モデルのパラメータの前回の反復時(学習時)からの変化の大きさ、あるいはこれらのそれぞれの積によって定義してもよい。十分変化が小さければ収束と判断される。例えば、収束判定用関数があらかじめ定められた閾値より小さければ収束と判断される。
【0045】
(作動の概要)
学習サブシステム110の作動の概要について説明する。学習サブシステム110は、訓練用データセットデータベース160から、「対象信号の時間波形D10、対象信号の時間波形と対象信号以外の騒音に対応する信号とを混合した混合信号の時間波形D20及び可変長の擬音語テキストD30」の三つ組みの集合を読み出す。
【0046】
対象信号の時間波形D10は、対象信号フレーム分割処理部111、対象信号窓関数乗算部112及び対象信号周波数領域信号生成部113に順に入力され、対象信号の時間周波数領域表現D11に変換される。
【0047】
混合信号の時間波形D20は、混合信号フレーム分割処理部114、混合信号窓関数乗算部115及び混合信号周波数領域信号生成部116に順に入力され、混合信号の時間周波数領域表現D21に変換される。
【0048】
混合信号の時間周波数領域表現D21は、特徴量抽出部117に入力され、音の特徴量ベクトルD22に変換される。
【0049】
可変長の擬音語テキストD30は、音素変換部118に入力され、可変長の音素列D31に変換される。可変長の音素列D31は、テキスト埋込抽出部119に入力され、テキスト埋込ベクトルD32に変換される。
【0050】
音の特徴量ベクトルD22及びテキスト埋込ベクトルD32は、時間周波数マスク生成部119aに入力され、時間周波数マスクが生成される。
【0051】
混合信号の時間周波数領域表現D21及び時間周波数マスクは、時間周波数マスク乗算部119bにて乗算され、抽出信号の時間周波数領域表現D41が生成される。抽出信号の時間周波数領域表現D41は、学習部119cに入力される。
【0052】
対象信号の時間周波数領域表現D11及び抽出信号の時間周波数領域表現D41は、学習部119cに入力される。学習部119cにて、特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルの各パラメータが学習され、これらの各パラメータが更新される。各パラメータが更新された特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルは、特徴量抽出モデルデータベース120、テキスト埋込抽出モデルデータベース130及び時間周波数マスク生成モデルデータベース140のそれぞれに格納される。各パラメータが更新された特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルは、便宜上、「学習済みモデル」とも称呼される。
【0053】
(具体的作動)
学習サブシステム110の具体的作動について説明する。図4は学習サブシステム110の処理フローの一例である。学習サブシステム110は、図4の処理フローを実行する。学習サブシステム110は、訓練用データセットデータベース160から、対象信号の時間波形D10、混合信号の時間波形D20、可変長の擬音語テキストD30の三つ組みの集合を読み出すと、図4のステップ400から処理を開始してステップ401に進む。学習サブシステム110は、ステップ401に進むと、音素変換部118によって、可変長の擬音語テキストD30から音素変換処理により可変長の音素列D31を計算する(擬音語テキストD30を音素列D31に変換する。)。
【0054】
その後、学習サブシステム110は、ステップ402に進み、学習終了条件が成立しているか否かを判定する。学習終了条件は、以下に述べる条件1及び条件2の何れかの条件が成立する場合に成立する条件である。条件1は、所定の収束条件が成立する場合(例えば、収束判定用関数があらかじめ定められた閾値より小さい場合)、成立する条件である。条件2は、カウンタC1が閾値ThCより大きい(C1>ThC)場合に成立する条件である。なお、学習終了条件は、条件2のみであってもよい。
【0055】
学習終了条件が成立していない場合、学習サブシステム110は、ステップ402にて「NO」と判定して以下に述べるステップ403乃至ステップ415の処理を順に実行した後、ステップ402に戻る。
【0056】
ステップ403:学習サブシステム110は、テキスト埋込抽出部119によって、最新のテキスト埋込抽出モデルを用いて、音素列D31からテキスト埋込ベクトルD32を計算する(抽出する。)。
【0057】
ステップ404:学習サブシステム110は、混合信号フレーム分割処理部114によって、混合信号の時間波形D20のフレーム分割を行い、混合信号のフレーム分割信号を計算する(出力する。)。
【0058】
ステップ405:学習サブシステム110は、混合信号窓関数乗算部115によって、窓関数乗算を行い、混合信号のフレーム分割信号を混合信号の窓関数乗算信号に変換する。
【0059】
ステップ406:学習サブシステム110は、混合信号周波数領域信号生成部116によって、混合信号の窓関数乗算信号を混合信号の時間周波数領域表現D21に変換する。
【0060】
ステップ407:学習サブシステム110は、特徴量抽出部117によって、混合信号の時間周波数領域表現D21から音の特徴量ベクトルD22を計算する。本例では、学習サブシステム110は、特徴量抽出部117によって、最新の特徴量抽出モデルを用いて、混合信号の時間周波数領域表現D21から音の特徴量ベクトルD22を計算する。
【0061】
ステップ408:学習サブシステム110は、時間周波数マスク生成部119aによって、最新の時間周波数マスク生成モデルを用いて、音の特徴量ベクトルD22とテキスト埋込ベクトルD32とから、時間周波数マスクを生成する。
【0062】
ステップ409:学習サブシステム110は、時間周波数マスク乗算部119bによって、混合信号の時間周波数領域表現D21に時間周波数マスクを乗算することで、抽出信号の時間周波数領域表現D41を生成する。
【0063】
ステップ410:学習サブシステム110は、対象信号フレーム分割処理部111によって、対象信号の時間波形D10のフレーム分割を行い、対象信号のフレーム分割信号を計算する(出力する。)。
【0064】
ステップ411:学習サブシステム110は、対象信号窓関数乗算部112によって、窓関数乗算を行い、対象信号のフレーム分割信号を対象信号の窓関数乗算信号に変換する。
【0065】
ステップ412:学習サブシステム110は、対象信号周波数領域信号生成部113によって、短時間フーリエ変換を行い、対象信号の窓関数乗算信号を対象信号の時間周波数領域表現D11に変換する。
【0066】
ステップ413:学習サブシステム110は、学習部119cによって、抽出信号の時間周波数領域表現D41と対象信号の時間周波数領域表現D11との距離で定義される損失関数の値を最小化することで、特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルの各パラメータ(ニューラルネットワーク(NN)の各パラメータ)を学習する(即ち、各モデルを更新する。)。
【0067】
ステップ414:学習サブシステム110は、学習部119cによって、収束しているかどうかを表す収束条件を計算する。なお、収束条件は、たとえば、損失関数の前回の反復時(学習時)からの変化の大きさにより定義される。もしくは、収束条件は、特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルの各パラメータの、前回の反復時(学習時)からの変化の大きさにより定義される。なお、十分変化が小さければ収束と判断される(ステップ402。)。
【0068】
ステップ415:学習サブシステム110は、現時点のカウンタC1の値を「1」だけ増加する。
【0069】
ステップ402にて、学習終了条件が成立している場合、学習サブシステム110は、ステップ402にて「YES」と判定してステップ416に進み、特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデル(ニューラルネットワーク(NN)の各パラメータ)を各データベース(特徴量抽出モデルデータベース120、テキスト埋込抽出モデルデータベース130及び時間周波数マスク生成モデルデータベース140)に保存する。その後、学習サブシステム110は、ステップ495に進んで本処理フローを一旦終了する。
【0070】
<音抽出サブシステム>
(音抽出サブシステムの機能)
音抽出サブシステム150の構成を、主として機能毎に説明する。図5は音抽出サブシステム150の構成例を機能毎に説明するためのブロック図である。
【0071】
図5に示すように、音抽出サブシステム150は、混合信号フレーム分割処理部151、混合信号窓関数乗算部152、混合信号周波数領域信号生成部153、特徴量抽出部154、時間周波数マスク生成部155、音素変換部156、テキスト埋込抽出部157、時間周波数マスク乗算部158及び位相復元部159を含む。なお、混合信号フレーム分割処理部151、混合信号窓関数乗算部152、混合信号周波数領域信号生成部153、特徴量抽出部154、時間周波数マスク生成部155、音素変換部156、テキスト埋込抽出部157、時間周波数マスク乗算部158及び位相復元部159は、情報処理装置200のROM202及び/又は記憶装置204に格納された図示しない各種プログラムによって構成される。
【0072】
混合信号フレーム分割処理部151は、混合信号の時間波形D50のフレーム分割を行い、混合信号のフレーム分割信号(不図示)を計算する(出力する。)。混合信号窓関数乗算部152は、窓関数乗算を行い、混合信号のフレーム分割信号を混合信号の窓関数乗算信号(不図示)に変換する。
【0073】
混合信号周波数領域信号生成部153は、短時間フーリエ変換を行い、混合信号の窓関数乗算信号を混合信号の時間周波数領域表現D51に変換する。短時間フーリエ変換の代わりにCQTなどの周波数変換手法を用いることもできるが、学習サブシステム110と同じ処理を行う。
【0074】
本例において、学習サブシステム110と同様、特徴量抽出部154は、最新の特徴量抽出モデル(重み係数パラメータが可変であるニューラルネットワークである特徴量抽出モデル)を用いて、混合信号の時間周波数領域表現D51を音の特徴量ベクトルに変換する。学習サブシステム110の直前の更新を経た最新の特徴量抽出モデルに対して、混合信号の時間周波数領域表現D51を入力し、音の特徴量ベクトルを計算する。
【0075】
なお、学習サブシステム110で対数メルパワースペクトログラム、MFCCの時系列、それらに対するデルタやデルタデルタの連結などが使用される場合、ここでの特徴量ベクトルは、学習サブシステム110で使用されるものと対応する対数メルパワースペクトログラム、MFCCの時系列、それらに対するデルタやデルタデルタの連結などであってもよい。この場合、特徴量抽出部154は、学習サブシステム110の特徴量抽出部117と同様の処理を行う。
【0076】
音素変換部156は、可変長の擬音語テキストD60から音素変換処理により可変長の音素列D61を出力する(擬音語テキストD60を音素列D61に変換する。)。
【0077】
テキスト埋込抽出部157は、最新のテキスト埋込抽出モデルを用いて、音素列D61からテキストの埋込ベクトルD62(テキスト埋込ベクトルD62)を計算する(抽出する。)。
【0078】
時間周波数マスク生成部155は、最新の時間周波数マスク生成モデルを用いて、音の特徴量ベクトルD52とテキスト埋込ベクトルD62とから、時間周波数マスクを生成する。
【0079】
時間周波数マスク乗算部158は、混合信号の時間周波数領域表現D51に時間周波数マスクを乗算することによって、抽出信号の時間周波数領域表現D71を生成する。
【0080】
位相復元部159は、公知のGriffin-Limアルゴリズムなどを使用して、抽出信号の時間周波数領域表現D71から、抽出信号の時間波形D72を生成する。
【0081】
(作動の概要)
音抽出サブシステム150の作動の概要について説明する。図5に示すように、混合信号の時間波形D50は、混合信号フレーム分割処理部151、混合信号窓関数乗算部152及び混合信号周波数領域信号生成部153に順に入力され、混合信号の時間周波数領域表現D51に変換される。混合信号の時間周波数領域表現D51は、特徴量抽出部154に入力され、音の特徴量ベクトルD52に変換される。
【0082】
可変長の擬音語テキストD60は、音素変換部156に入力され、可変長の音素列D61に変換される。可変長の音素列D61は、テキスト埋込抽出部157に入力され、テキスト埋込ベクトルD62に変換される。音の特徴量ベクトルD52及びテキスト埋込ベクトルD62は、時間周波数マスク生成部155に入力され、時間周波数マスクが生成される。
【0083】
混合信号の時間周波数領域表現D51及び時間周波数マスクは、時間周波数マスク乗算部158にて乗算され、抽出信号の時間周波数領域表現D71が生成される。抽出信号の時間周波数領域表現D71は位相復元部159に入力され、抽出信号の時間波形D72が生成される。
【0084】
(具体的作動)
音抽出サブシステム150の具体的作動について説明する。図6は音抽出サブシステム150の処理フローの一例である。音抽出サブシステム150は、図6の処理フローを実行する。音抽出サブシステム150は、混合信号の時間波形D50及び可変長の擬音語テキストD60が入力されると、図6のステップ600から処理を開始して以下に述べるステップ601乃至ステップ609の処理を順に実行した後、ステップ695に進み、本処理フローを一旦終了する。
【0085】
ステップ601:音抽出サブシステム150は、音素変換部156によって、可変長の擬音語テキストD60から音素変換処理により可変長の音素列D61を出力する(擬音語テキストD60を音素列D61に変換する。)。
【0086】
ステップ602:音抽出サブシステム150は、テキスト埋込抽出部157によって、最新のテキスト埋込抽出モデルを用いて、音素列D61からテキスト埋込ベクトルD62を計算する(抽出する。)。
【0087】
ステップ603:音抽出サブシステム150は、混合信号フレーム分割処理部151によって、混合信号の時間波形D50のフレーム分割を行い、混合信号のフレーム分割信号を計算する(出力する。)。
【0088】
ステップ604:音抽出サブシステム150は、混合信号窓関数乗算部152によって、窓関数乗算を行い、混合信号のフレーム分割信号を混合信号の窓関数乗算信号に変換する。
【0089】
ステップ605:音抽出サブシステム150は、混合信号周波数領域信号生成部153によって、短時間フーリエ変換を行い、混合信号の窓関数乗算信号を混合信号の時間周波数領域表現D51に変換する。
【0090】
ステップ606:音抽出サブシステム150は、特徴量抽出部154によって、混合信号の時間周波数領域表現D51から音の特徴量ベクトルD52を計算する。本例では、音抽出サブシステム150は、特徴量抽出部154によって、最新の特徴量抽出モデルを用いて、混合信号の時間周波数領域表現D51から音の特徴量ベクトルD52を計算する。
【0091】
ステップ607:音抽出サブシステム150は、時間周波数マスク生成部155によって、最新の時間周波数マスク生成モデルを用いて、音の特徴量ベクトルD52とテキスト埋込ベクトルD62とから、時間周波数マスクを生成する。
【0092】
ステップ608:音抽出サブシステム150は、時間周波数マスク乗算部158によって、混合信号の時間周波数領域表現D51に時間周波数マスクを乗算することで、抽出信号の時間周波数領域表現D71を生成する。
【0093】
ステップ609:音抽出サブシステム150は、位相復元部159によって、公知のGriffin-Limアルゴリズムなどを使用して、抽出信号の時間周波数領域表現D71から、抽出信号の時間波形D72を生成する。
【0094】
<実施例>
図7に、音抽出システム100による抽出結果の例を示す。最上段が混合信号のパワースペクトログラムである。横軸が時間(秒)、縦軸が周波数を表す(kHz)。白色はパワーが大きい時間周波数を示し、黒色はパワーが小さい時間周波数を示す。実施例の効果が分かりやすくなるように、入力された混合信号はいずれも同一の種類の複数の音響イベントを混合した信号であり、ユーザが抽出したい音の範囲をある種類のイベントとして予め定義することができないため、従来のイベントの種類に基づく抽出方式(即ち、従来技術に対応する従来方式)では抽出ができない例となっている。
【0095】
1列目は複数の金属音を混合した混合信号から擬音語「ポッ」(/ p o q /)に対応する対象信号のみを抽出させるタスクを表す。2列目は複数のベルの音を混合した混合信号から擬音語「ピリリリリン」(/ p i r i r i r i r i N /)に対応する対象信号のみを抽出させるタスクを表す。3列目は複数の電話呼び出し音を混合した混合信号から擬音語「プルルルルルル」(/ p u r u r u r u r u r u r u /)に対応する対象信号のみを抽出させるタスクを表す。4列目は複数の打撃音を混合した混合信号から擬音語「ティチチチチチ」(/ t i ch i ch i ch i ch i ch i /)に対応する対象信号のみを抽出させるタスクを表す。5列目はサイコロを転がした音を混合した混合信号から擬音語「トットゥトゥトゥ」(/ t o q t u t u t u /)に対応する対象信号のみを抽出させるタスクを表す。
【0096】
それぞれの列において、1行目(「Mixture sound」)が入力された混合信号を示し、2行目(「Subclass-conditioned method」)がイベントの種類に基づく抽出方式の結果を示し、3行目(「Onomatopoeia-conditioned method」)が本実施例の抽出方式の結果を示し、4行目(「Ground truth」)が正解と想定した対象信号を表す。混合信号(1行目)及び従来方式(2行目)と比較して、本実施例の抽出結果(3行目)は、正解の対象信号(4行目)と類似していることがわかる。 したがって、本実施例は、ユーザが抽出したい音の範囲をある種類のイベントとして予め定義することができない場合であっても対象音を抽出することができる効果が示唆される。
【0097】
<効果>
以上説明したように、本発明の第1実施形態に係る音抽出システム100は、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出(抽出ないし強調)することができる。更に、第1実施形態に係る音抽出システム100は、無限通りのテキストを与えることが可能であり、無限通りの音の範囲を指定できる。従って、第1実施形態に係る音抽出システム100は、ある種類のイベントとしてユーザが抽出したい音の範囲を予め定義することができない場合であっても、ユーザが抽出したい音に対応するテキストを与えることによって、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出することができる。
【0098】
<<第2実施形態>>
本発明の第2実施形態に係る音抽出システム800について説明する。図8は、本発明の第2実施形態に係る音抽出システム800の概略構成例を示すブロック構成図である。図8に示すように、音抽出システム800は、以下の点のみにおいて、第1実施形態に係る音抽出システム100と相違点を有する。音抽出システム800では、第1実施形態に係る音抽出システム100の学習サブシステム110が省略され、予め一般の環境音と擬音語の対応データベースに基づいて学習された特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルが格納された特徴量抽出モデルデータベース820、テキスト埋込抽出モデルデータベース830、時間周波数マスク生成モデルデータベース840が使用される。以下ではこの相違点を中心として説明する。
【0099】
図8に示すように、音抽出システム800は、音抽出サブシステム150と、特徴量抽出モデルデータベース820と、テキスト埋込抽出モデルデータベース830と、時間周波数マスク生成モデルデータベース840と、を含む。音抽出サブシステム150は、混合信号の時間波形及び可変長擬音語テキストが入力されると、既存の特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルを用いて、抽出信号の時間波形を出力する。なお、この処理の詳細は、既存の特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルを用いること以外、第1実施形態と同様であるので、説明を省略する。
【0100】
<効果>
以上説明したように、本発明の第2実施形態に係る音抽出システム800は、第1実施形態と同様、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出(抽出ないし強調)することができる。更に、第2実施形態に係る音抽出システム800は、あらかじめ一般の環境音と擬音語の対応データベースに基づいて学習された特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルが使えるので、第1実施形態に係る音抽出システム100のような、学習サブシステム110による新規での学習処理は不要である。現場毎に新規での訓練データセットを構築する必要がないというメリットがある。
【0101】
<<第3実施形態>>
本発明の第3実施形態に係る音抽出システム900について説明する。図9は、本発明の第3実施形態に係る音抽出システム900の概略構成例を示すブロック構成図である。図9に示すように、音抽出システム900では、学習サブシステム110が、あらかじめ一般の環境音と擬音語の対応データベースに基づいて学習された既存の特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルが格納された特徴量抽出モデルデータベース920、テキスト埋込抽出モデルデータベース930及び時間周波数マスク生成モデルデータベース940を使用する。学習サブシステム110は、現場毎の学習用データセット(訓練データセット)を用いて学習することで、現場に合わせてモデルを最適化し、精度を向上させる。以上の点のみにおいて、第3実施形態に係る音抽出システム900は、第1実施形態に係る音抽出システム100と相違点を有する。従って、以下ではこの相違点を中心として説明する。
【0102】
図9に示すように、音抽出システム900は、第1実施形態に係る音抽出システム100に対して、特徴量抽出モデルデータベース920と、テキスト埋込抽出モデルデータベース930と、時間周波数マスク生成モデルデータベース940とが追加された構成を有する。なお、特徴量抽出モデルデータベース920、テキスト埋込抽出モデルデータベース930及び時間周波数マスク生成モデルデータベース940のそれぞれに格納された既存の各モデルは、便宜上、「初期の特徴量抽出モデル、初期のテキスト埋込抽出モデル及び初期の時間周波数マスク生成モデル」とも称呼され、これらは「初期の学習済みモデル」とも称呼される。
【0103】
学習サブシステム110は、現場毎の学習用データセット(訓練データセット)を用いて学習することで、現場に合わせて、モデル(既存の特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデル)を最適化し(更新し)、最適化した各モデルを、特徴量抽出モデルデータベース120と、テキスト埋込抽出モデルデータベース130と、時間周波数マスク生成モデルデータベース140のそれぞれに格納する。
【0104】
音抽出サブシステム150は、混合信号の時間波形及び可変長擬音語テキストが入力されると、既存の特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルを最適化した各モデルを用いて、抽出信号の時間波形を出力する。なお、この処理の詳細は、既存のモデルを最適化した特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルを用いること以外、第1実施形態と同様であるので、説明を省略する。
【0105】
<効果>
以上説明したように、本発明の第3実施形態に係る音抽出システム900は、第1実施形態と同様、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出(抽出ないし強調)することができる。更に、第3実施形態に係る音抽出システム900は、現場に応じて、モデルの精度を向上させつつ、既存のモデルを用いることで現場毎に新規で構築する訓練データセットは少数でよいというメリットがある。
【0106】
<<第4実施形態>>
本発明の第4実施形態に係る音抽出システム1000について説明する。図10は、本発明の第4実施形態に係る音抽出システム1000の概略構成例を示すブロック構成図である。図10に示すように、音抽出システム1000は、音の範囲を表すテキストとして、擬音語の代わりに説明文(例えば、「カタカタの後にドーンと鳴る。」、「衝撃音の後にカタカタと鳴る。」等)のテキストを用いた点のみにおいて、第1実施形態に係る音抽出システム100と相違点を有する。従って、以下ではこの相違点を中心として説明する。
【0107】
<学習サブシステム>
(学習サブシステムの機能)
図11は音抽出システム1000の学習サブシステム110の構成例を機能毎に説明するためのブロック図である。図11に示すように、学習サブシステム110は、対象信号フレーム分割処理部111、対象信号窓関数乗算部112、対象信号周波数領域信号生成部113、混合信号フレーム分割処理部114、混合信号窓関数乗算部115、混合信号周波数領域信号生成部116、特徴量抽出部117、テキスト埋込抽出部119、時間周波数マスク生成部119a、時間周波数マスク乗算部119b及び学習部119cを含む。
【0108】
(作動の概要)
学習サブシステム110の作動の概要を説明する。学習サブシステム110は、訓練用データセットデータベース160から、「対象信号(抽出対象の音に対応する信号)の時間波形D10、対象信号の時間波形と対象信号以外の騒音(抽出対象の音以外の騒音)に対応する信号とを混合した混合信号の時間波形D20及び可変長の説明文テキストD1100(抽出対象の音に対応する説明文テキスト)」の三つ組みの集合を読み出す。
【0109】
対象信号の時間波形D10は、対象信号フレーム分割処理部111、対象信号窓関数乗算部112及び対象信号周波数領域信号生成部113に順に入力され、対象信号の時間周波数領域表現D11に変換される。
【0110】
混合信号の時間波形D20は、混合信号フレーム分割処理部114、混合信号窓関数乗算部115及び混合信号周波数領域信号生成部116に順に入力され、混合信号の時間周波数領域表現D21に変換される。
【0111】
混合信号の時間周波数領域表現D21は、特徴量抽出部117に入力され、音の特徴量ベクトルD22に変換される。
【0112】
可変長の説明文テキストD1100は、テキスト埋込抽出部119に入力され、説明文テキストD1100の埋込ベクトルD1101(テキスト埋込ベクトルD1101)に変換される。
【0113】
音の特徴量ベクトルD22及びテキスト埋込ベクトルD1101は、時間周波数マスク生成部119aに入力され、時間周波数マスクが生成される。
【0114】
混合信号の時間周波数領域表現D21及び時間周波数マスクは、時間周波数マスク乗算部119bにて乗算され、抽出信号の時間周波数領域表現D41が生成される。
【0115】
対象信号の時間周波数領域表現D11及び抽出信号の時間周波数領域表現D41が学習部119cに入力されると、特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルの各パラメータが学習され、これらの各パラメータが更新される。
【0116】
各パラメータが更新された特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルは、特徴量抽出モデルデータベース120、テキスト埋込抽出モデルデータベース130及び時間周波数マスク生成モデルデータベース140のそれぞれに格納される。
【0117】
(具体的作動)
学習サブシステム110の具体的作動について説明する。図12は学習サブシステム110の処理フローの一例である。学習サブシステム110は、図12の処理フローを実行する。学習サブシステム110は、訓練用データセットデータベース160から、対象信号の時間波形D10、混合信号の時間波形D20及び可変長の説明文テキストD1100の三つ組みの集合を読み出すと、図12のステップ1200から処理を開始してステップ1201に進み、学習終了条件が成立しているか否かを判定する。学習終了条件は、以下に述べる条件1及び条件2の何れかの条件が成立する場合に成立する条件である。条件1は、所定の収束条件が成立する場合(例えば、収束判定用関数があらかじめ定められた閾値より小さい場合)、成立する条件である。条件2は、カウンタC1が閾値ThCより大きい(C1>ThC)場合に成立する条件である。なお、学習終了条件は、条件2のみであってもよい。
【0118】
学習終了条件が成立していない場合、学習サブシステム110は、ステップ1201にて「NO」と判定して以下に述べるステップ1202乃至ステップ1214の処理を順に実行した後、ステップ1201に戻る。
【0119】
ステップ1202:学習サブシステム110は、テキスト埋込抽出部119によって、最新のテキスト埋込抽出モデルを用いて、可変長の説明文テキストD1100からテキスト埋込ベクトルD1101を計算する(抽出する。)。
【0120】
ステップ1203:学習サブシステム110は、混合信号フレーム分割処理部114によって、混合信号の時間波形のフレーム分割を行い、混合信号のフレーム分割信号を計算する(出力する。)。
【0121】
ステップ1204:学習サブシステム110は、混合信号窓関数乗算部115によって、窓関数乗算を行い、混合信号のフレーム分割信号を混合信号の窓関数乗算信号に変換する。
【0122】
ステップ1205:学習サブシステム110は、混合信号周波数領域信号生成部116によって、混合信号の窓関数乗算信号を混合信号の時間周波数領域表現D21に変換する。
【0123】
ステップ1206:学習サブシステム110は、特徴量抽出部117によって、混合信号の時間周波数領域表現D21から音の特徴量ベクトルD22を計算する。本例では、学習サブシステム110は、特徴量抽出部117によって、最新の特徴量抽出モデルを用いて、混合信号の時間周波数領域表現D21から音の特徴量ベクトルD22を計算する。
【0124】
ステップ1207:学習サブシステム110は、時間周波数マスク生成部119aによって、最新の時間周波数マスク生成モデルを用いて、音の特徴量ベクトルD22とテキスト埋込ベクトルD1101とから、時間周波数マスクを生成する。
【0125】
ステップ1208:学習サブシステム110は、時間周波数マスク乗算部119bによって、混合信号の時間周波数領域表現D21に時間周波数マスクを乗算することで、抽出信号の時間周波数領域表現D41を生成する。
【0126】
ステップ1209:学習サブシステム110は、対象信号フレーム分割処理部111によって、対象信号の時間波形D10のフレーム分割を行い、対象信号のフレーム分割信号を計算する(出力する。)。
【0127】
ステップ1210:学習サブシステム110は、対象信号窓関数乗算部112によって、窓関数乗算を行い、対象信号のフレーム分割信号を対象信号の窓関数乗算信号に変換する。
【0128】
ステップ1211:学習サブシステム110は、対象信号周波数領域信号生成部113によって短時間フーリエ変換を行い、対象信号の窓関数乗算信号を対象信号の時間周波数領域表現D11に変換する。
【0129】
ステップ1212:学習サブシステム110は、学習部119cによって、抽出信号の時間周波数領域表現D41と対象信号の時間周波数領域表現D11との距離で定義される損失関数の値を最小化することで,特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデルの各パラメータ(ニューラルネットワーク(NN)の各パラメータ)を学習する(更新する。)。
【0130】
ステップ1213:学習サブシステム110は、収束しているかどうかを表す収束条件を計算する。なお、収束条件は、たとえば、損失関数の前回の反復時(学習時)からの変化の大きさにより定義される。もしくは、収束条件は、特徴量抽出モデル、テキスト埋込抽出モデル、時間周波数マスク生成モデルの各パラメータの、前回の反復時(学習時)からの変化の大きさにより定義される。なお、十分変化が小さければ収束と判断される(ステップ1201)。
【0131】
ステップ1214:学習サブシステム110は、現時点のカウンタC1の値を「1」だけ増加する。
【0132】
ステップ1201にて、学習終了条件が成立している場合、学習サブシステム110は、ステップ1201にて「YES」と判定してステップ1215に進み、特徴量抽出モデル、テキスト埋込抽出モデル及び時間周波数マスク生成モデル(ニューラルネットワーク(NN)の各パラメータ)を各データベースに保存する。その後、学習サブシステム110は、ステップ1295に進んで本処理フローを一旦終了する。
【0133】
<音抽出サブシステム>
(音抽出サブシステムの機能)
以下、音抽出サブシステム150の構成を、主として機能毎に説明する。図13は音抽出サブシステム150の構成例を機能毎に説明するためのブロック図である。
【0134】
図13に示すように、音抽出サブシステム150は、混合信号フレーム分割処理部151、混合信号窓関数乗算部152、混合信号周波数領域信号生成部153、特徴量抽出部154、時間周波数マスク生成部155、テキスト埋込抽出部157、時間周波数マスク乗算部158及び位相復元部159を含む。
【0135】
(作動の概要)
図13に示すように、混合信号の時間波形D50は、混合信号フレーム分割処理部151、混合信号窓関数乗算部152及び混合信号周波数領域信号生成部153に順に入力され、混合信号の時間周波数領域表現D51に変換される。混合信号の時間周波数領域表現D51は、特徴量抽出部154に入力され、音の特徴量ベクトルD52に変換される。
【0136】
可変長の説明文テキストD1300は、テキスト埋込抽出部157に入力され、説明文テキストD1300の埋込ベクトルD1301(テキスト埋込ベクトルD1301)に変換される。音の特徴量ベクトルD52及びテキスト埋込ベクトルD1301は時間周波数マスク生成部155に入力され、時間周波数マスクが生成される。
【0137】
混合信号の時間周波数領域表現D51及び時間周波数マスクは、時間周波数マスク乗算部158にて乗算され、抽出信号の時間周波数領域表現D71が生成される。抽出信号の時間周波数領域表現D71が位相復元部159に入力され、抽出信号の時間波形D72が生成される。
【0138】
(具体的作動)
図14は音抽出サブシステム150の処理フローの一例である。音抽出サブシステム150は、図14の処理フローを実行する。音抽出サブシステム150は、混合信号の時間波形D50及び可変長の説明文テキストD1300が入力されると、図14のステップ1400から処理を開始して以下に述べるステップ1401乃至ステップ1408の処理を順に実行した後、ステップ1495に進み、本処理フローを一旦終了する。
【0139】
ステップ1401:音抽出サブシステム150は、テキスト埋込抽出部157によって、最新のテキスト埋込抽出モデルを用いて、可変長の説明文テキストD1300からテキスト埋込ベクトルD1301を計算する(抽出する。)。
【0140】
ステップ1402:音抽出サブシステム150は、混合信号フレーム分割処理部151によって、混合信号の時間波形のフレーム分割を行い、混合信号のフレーム分割信号を計算する(出力する。)。
【0141】
ステップ1403:音抽出サブシステム150は、混合信号窓関数乗算部152によって、窓関数乗算を行い、混合信号のフレーム分割信号を混合信号の窓関数乗算信号に変換する。
【0142】
ステップ1404:音抽出サブシステム150は、混合信号周波数領域信号生成部153によって、短時間フーリエ変換を行い、混合信号の窓関数乗算信号を混合信号の時間周波数領域表現D51に変換する。
【0143】
ステップ1405:音抽出サブシステム150は、特徴量抽出部154によって、混合信号の時間周波数領域表現D51から音の特徴量ベクトルD52を計算する。本例では、音抽出サブシステム150は、特徴量抽出部154によって、最新の特徴量抽出モデルを用いて、混合信号の時間周波数領域表現D51から音の特徴量ベクトルD52を計算する。
【0144】
ステップ1406:音抽出サブシステム150は、時間周波数マスク生成部155によって、最新の時間周波数マスク生成モデルを用いて、音の特徴量ベクトルD52及びテキスト埋込ベクトルD1301から、時間周波数マスクを生成する。
【0145】
ステップ1407:音抽出サブシステム150は、時間周波数マスク乗算部158によって、混合信号の時間周波数領域表現D51に時間周波数マスクを乗算することで、抽出信号の時間周波数領域表現D71を生成する。
【0146】
ステップ1408:音抽出サブシステム150は、公知のGriffin-Limアルゴリズムなどを使用して、抽出信号の時間周波数領域表現D71から、抽出信号の時間波形D72を生成する。
【0147】
<効果>
以上説明したように、本発明の第4実施形態に係る音抽出システム1000は、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出(抽出ないし強調)することができる。第4実施形態に係る音抽出システム1000は、このような基本構成とすることで、ある種類のイベントとしてユーザが抽出したい音の範囲を予め定義することができない場合であっても、音を抽出することが可能である。説明文は比較的汎用であり、適用現場を横断して使用されることができる。
【0148】
<<第5実施形態>>
本発明の第5実施形態に係る音抽出システム1500について説明する。図15は、本発明の第5実施形態に係る音抽出システム1500の概略構成例を示すブロック構成図である。図15に示すように、音抽出システム1500は、学習サブシステム110と、信号抽出モデルデータベース1510と、テキスト埋込抽出モデルデータベース130と、音抽出サブシステム150と、訓練用データセットデータベース160と、を含む。図1に示す第1実施形態との相違点を説明する。学習サブシステム110は、学習処理を実行し、信号抽出モデルとテキスト埋込抽出モデルを出力して、それぞれのデータベースに格納する。即ち、学習サブシステム110は、信号抽出モデルを信号抽出モデルデータベース1510に格納し、テキスト埋込抽出モデルをテキスト埋込抽出モデルデータベース130に格納する。
【0149】
音抽出サブシステム150は、信号抽出モデル及びテキスト埋込抽出モデルをデータベース(信号抽出モデルデータベース1510及びテキスト埋込抽出モデルデータベース130)から読み出し、それらに基づいて(それらを用いて)音抽出処理を実行する。これにより、音抽出サブシステム150は、混合信号の時間波形と可変長の擬音語テキストから、抽出信号の時間波形を抽出する。更に、音抽出サブシステム150は、抽出信号の時間波形を出力する。
【0150】
<学習サブシステム>
(学習サブシステムの機能)
以下、学習サブシステム110の構成を、主として機能毎に説明する。図16は学習サブシステム110の構成例を機能毎に説明するためのブロック図である。図16に示すように、学習サブシステム110は、音素変換部118、テキスト埋込抽出部119、信号抽出部1600及び学習部119cを含む。なお、音素変換部118、テキスト埋込抽出部119、信号抽出部1600及び学習部119cは、情報処理装置200のROM202及び/又は記憶装置204に格納された図示しない各種プログラムによって構成される。
【0151】
信号抽出部1600は、最新の信号抽出モデルを用いて、混合信号の時間波形D20とテキスト埋込ベクトルD32とから、抽出信号の時間波形D1600を生成する。
【0152】
信号抽出モデルは、混合信号の時間波形D20とテキスト埋込ベクトルD32を入力として抽出信号の時間波形D1600を出力するニューラルネットワークである。信号抽出モデルは、例えば、全結合層のみで構成されるニューラルネットワークであってもよく、複数の畳込み層、活性化関数、プーリング層が積層され、中間に自己注意層(Self-Attention Layer)やスキップコネクションを挟むニューラルネットワークであってもよい。第1実施形態のように時間周波数マスクを用いる場合、時間周波数表現が必要である。しかし、時間周波数表現は抽出精度の面で必ずしも適当ではない。それに対して、ここでの信号抽出モデルは、時間波形をニューラルネットワークに直接入力するため、訓練用データセットが十分大きければ、抽出精度が高い表現が得られるというメリットがある。
【0153】
また、全結合層のみで構成されるニューラルネットワークの場合、訓練用データセットの規模が大きい場合に抽出精度が高いというメリットがあり、複数の畳込み層、活性化関数、プーリング層が積層され、中間に自己注意層(Self-Attention Layer)やスキップコネクションを挟むニューラルネットワークの場合、訓練用データセットが小さくても抽出精度が高いというメリットがある。
【0154】
また、信号抽出モデルは、公知のConv-TasNetのように、混合信号の時間波形D20を入力して特徴量ベクトル時系列を出力するエンコーダと、特徴量ベクトル時系列と埋込ベクトルD32を入力して時間軸と特徴量軸の2次元のマスク(時間特徴量マスク)を計算する時間特徴量マスク生成ニューラルネットワークと、時間特徴量マスクを特徴量ベクトル時系列に乗算して抽出後特徴量ベクトル時系列を計算する乗算機構と、抽出後特徴量ベクトル時系列を入力して抽出信号の時間波形D1600を生成するデコーダとからなるモデルであっても構わない。エンコーダとデコーダはいずれも、たとえば、1次元畳込み層からなるニューラルネットワークである。また、時間特徴量マスク生成ニューラルネットワークは、全結合層のみで構成されるニューラルネットワークであってもよく、複数の畳込み層、活性化関数、プーリング層が積層され、中間に自己注意層(Self-Attention Layer)やスキップコネクションを挟むニューラルネットワークであってもよい。第1実施形態のように時間周波数マスクを用いる場合には、時間周波数表現が必要だが、時間周波数表現を用いると必ずしも高い抽出精度が期待できない。それに対して、ニューラルネットワークの内部で時間特徴量に変換する信号抽出モデルでは、抽出精度が高くなるように訓練した時間特徴量表現を用いるため、時間周波数表現を用いる場合よりも抽出精度が高くなるメリットがある。
【0155】
学習部119cは、抽出信号の時間波形D1600と対象信号の時間波形D10との距離で定義される損失関数の値を最小化することで、信号抽出モデル及びテキスト埋込抽出モデルの各パラメータを学習する。
【0156】
学習部119cは、更に、収束しているかどうかの判定に用いる収束判定用関数を計算する。例えば、収束判定用関数は、損失関数の値の前回の反復時(学習時)からの変化の大きさで定義される。また、収束判定用関数は、信号抽出モデルのパラメータの前回の反復時(学習時)からの変化の大きさ、テキスト埋込抽出モデルのパラメータの前回の反復時(学習時)からの変化の大きさ、あるいはこれらのそれぞれの積によって定義してもよい。十分変化が小さければ収束と判断される。例えば、収束判定用関数があらかじめ定められた閾値より小さければ収束と判断される。
【0157】
(作動の概要)
学習サブシステム110の作動の概要について説明する。学習サブシステム110は、訓練用データセットデータベース160から、「対象信号の時間波形D10、対象信号の時間波形と対象信号以外の騒音に対応する信号とを混合した混合信号の時間波形D20及び可変長の擬音語テキストD30」の三つ組みの集合を読み出す。
【0158】
可変長の擬音語テキストD30は、音素変換部118に入力され、可変長の音素列D31に変換される。可変長の音素列D31は、テキスト埋込抽出部119に入力され、テキスト埋込ベクトルD32に変換される。
【0159】
混合信号の時間波形D20及びテキスト埋込ベクトルD32は、信号抽出部1600に入力され、抽出信号の時間波形D1600が生成される。
【0160】
対象信号の時間波形D10及び抽出信号の時間波形D1600は、学習部119cに入力される。学習部119cにて、信号抽出モデル及びテキスト埋込抽出モデルの各パラメータが学習され、これらの各パラメータが更新される。各パラメータが更新された信号抽出モデル及びテキスト埋込抽出モデルは、信号抽出モデルデータベース1510及びテキスト埋込抽出モデルデータベース130のそれぞれに格納される。各パラメータが更新された信号抽出モデル及びテキスト埋込抽出モデルは、便宜上、「学習済みモデル」とも称呼される。
【0161】
(具体的作動)
学習サブシステム110の具体的作動について説明する。図17は学習サブシステム110の処理フローの一例である。学習サブシステム110は、図17の処理フローを実行する。学習サブシステム110は、訓練用データセットデータベース160から、対象信号の時間波形D10、混合信号の時間波形D20及び可変長の擬音語テキストD30の三つ組みの集合を読み出すと、図17のステップ1700から処理を開始してステップ1701に進む。学習サブシステム110は、ステップ1701に進むと、音素変換部118によって、可変長の擬音語テキストD30から音素変換処理により可変長の音素列D31を計算する(擬音語テキストD30を音素列D31に変換する。)。
【0162】
その後、学習サブシステム110は、ステップ1702に進み、学習終了条件が成立しているか否かを判定する。学習終了条件は、以下に述べる条件1及び条件2の何れかの条件が成立する場合に成立する条件である。条件1は、所定の収束条件が成立する場合(例えば、収束判定用関数があらかじめ定められた閾値より小さい場合)、成立する条件である。条件2は、カウンタC1が閾値ThCより大きい(C1>ThC)場合に成立する条件である。なお、学習終了条件は、条件2のみであってもよい。
【0163】
学習終了条件が成立していない場合、学習サブシステム110は、ステップ1702にて「NO」と判定して以下に述べるステップ1703乃至ステップ1707の処理を順に実行した後、ステップ1702に戻る。
【0164】
ステップ1703:学習サブシステム110は、テキスト埋込抽出部119によって、最新のテキスト埋込抽出モデルを用いて、音素列D31からテキスト埋込ベクトルD32を計算する(抽出する。)。
【0165】
ステップ1704:学習サブシステム110は、信号抽出部1600によって、最新の信号抽出モデルを用いて、混合信号の時間波形D20とテキスト埋込ベクトルD32とから、抽出信号の時間波形D1600を生成する。
【0166】
ステップ1705:学習サブシステム110は、学習部119cによって、抽出信号の時間波形D1600と対象信号の時間波形D10との距離で定義される損失関数の値を最小化することで、信号抽出モデル及びテキスト埋込抽出モデルの各パラメータ(ニューラルネットワーク(NN)の各パラメータ)を学習する(即ち、各モデルを更新する。)。
【0167】
ステップ1706:学習サブシステム110は、学習部119cによって、収束しているかどうかを表す収束条件を計算する。なお、収束条件は、たとえば、損失関数の前回の反復時(学習時)からの変化の大きさにより定義される。もしくは、収束条件は、信号抽出モデル 及びテキスト埋込抽出モデルの各パラメータの、前回の反復時(学習時)からの変化の大きさにより定義される。なお、十分変化が小さければ収束と判断される(ステップ1702。)。
【0168】
ステップ1707:学習サブシステム110は、現時点のカウンタC1の値を「1」だけ増加する。
【0169】
ステップ1702にて、学習終了条件が成立している場合、学習サブシステム110は、ステップ1702にて「YES」と判定してステップ1708に進み、信号抽出モデル及びテキスト埋込抽出モデル(ニューラルネットワーク(NN)の各パラメータ)を各データベース(信号抽出モデルデータベース1510及びテキスト埋込抽出モデルデータベース130)に保存する。その後、学習サブシステム110は、ステップ1795に進んで本処理フローを一旦終了する。
【0170】
<音抽出サブシステム>
(音抽出サブシステムの機能)
音抽出サブシステム150の構成を、主として機能毎に説明する。図18は音抽出サブシステム150の構成例を機能毎に説明するためのブロック図である。
【0171】
図18に示すように、音抽出サブシステム150は、音素変換部156、テキスト埋込抽出部157及び信号抽出部1800を含む。なお、音素変換部156、テキスト埋込抽出部157及び信号抽出部1800は、情報処理装置200のROM202及び/又は記憶装置204に格納された図示しない各種プログラムによって構成される。
【0172】
音素変換部156は、可変長の擬音語テキストD60から音素変換処理により可変長の音素列D61を出力する(擬音語テキストD60を音素列D61に変換する。)。
【0173】
テキスト埋込抽出部157は、最新のテキスト埋込抽出モデルを用いて、音素列D61からテキストの埋込ベクトルD62(テキスト埋込ベクトルD62)を計算する(抽出する。)。
【0174】
信号抽出部1800は、最新の信号抽出モデルを用いて、混合信号の時間波形D50とテキスト埋込ベクトルD62とから、抽出信号の時間波形D72を生成する。
【0175】
(具体的作動)
音抽出サブシステム150の具体的作動について説明する。図19は音抽出サブシステム150の処理フローの一例である。音抽出サブシステム150は、図19の処理フローを実行する。音抽出サブシステム150は、混合信号の時間波形D50及び可変長の擬音語テキストD60が入力されると、図19のステップ1900から処理を開始して以下に述べるステップ1901乃至ステップ1903の処理を順に実行した後、ステップ1995に進み、本処理フローを一旦終了する。
【0176】
ステップ1901:音抽出サブシステム150は、音素変換部156によって、可変長の擬音語テキストD60から音素変換処理により可変長の音素列D61を出力する(擬音語テキストD60を音素列D61に変換する。)。
【0177】
ステップ1902:音抽出サブシステム150は、テキスト埋込抽出部157によって、最新のテキスト埋込抽出モデルを用いて、音素列D61からテキスト埋込ベクトルD62を計算する(抽出する。)。
【0178】
ステップ1903:音抽出サブシステム150は、信号抽出部1800によって、最新の信号抽出モデルを用いて、混合信号の時間波形D50とテキスト埋込ベクトルD62とから、抽出信号の時間波形D72を生成する。
【0179】
<効果>
以上説明したように、本発明の第5実施形態に係る音抽出システム1500は、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出(抽出ないし強調)することができる。更に、第5実施形態に係る音抽出システム1500は、無限通りのテキストを与えることが可能であり、無限通りの音の範囲を指定できる。従って、第5実施形態に係る音抽出システム1500は、ある種類のイベントとしてユーザが抽出したい音の範囲を予め定義することができない場合であっても、ユーザが抽出したい音に対応するテキストを与えることによって、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出することができる。更に、第5実施形態に係る音抽出システム1500は、第1実施形態とは異なり、時間周波数表現を経由せず混合信号の時間波形D50をニューラルネットワークに直接入力することで、時間周波数表現を用いることに伴う抽出精度低下を回避できる。また、第5実施形態に係る音抽出システム1500は、位相復元処理を経由せずに抽出信号の時間波形D72を生成するため、位相復元処理を経由することに伴う歪みが発生しない利点も有する。
【0180】
<<第6実施形態>>
本発明の第6実施形態に係る音抽出システム2000について説明する。図20は、本発明の第6実施形態に係る音抽出システム2000の概略構成例を示すブロック構成図である。図20に示すように、音抽出システム2000は、以下の点のみにおいて、第5実施形態に係る音抽出システム1500と相違点を有する。
【0181】
音抽出システム2000では、第5実施形態に係る音抽出システム1500の学習サブシステム110が省略され、予め一般の環境音と擬音語の対応データベースに基づいて学習された信号抽出モデル及びテキスト埋込抽出モデルが格納された信号抽出モデルデータベース2010及びテキスト埋込抽出モデルデータベース830が使用される。以下ではこの相違点を中心として説明する。
【0182】
図20に示すように、音抽出システム2000は、音抽出サブシステム150と、信号抽出モデルデータベース2010と、テキスト埋込抽出モデルデータベース830と、を含む。音抽出サブシステム150は、混合信号の時間波形及び可変長擬音語テキストが入力されると、既存の信号抽出モデル及びテキスト埋込抽出モデルを用いて、抽出信号の時間波形を出力する。なお、この処理の詳細は、既存の信号抽出モデル及びテキスト埋込抽出モデルを用いること以外、第5実施形態と同様であるので、説明を省略する。
【0183】
<効果>
以上説明したように、本発明の第6実施形態に係る音抽出システム2000は、第5実施形態と同様、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出(抽出ないし強調)することができる。また、第6実施形態に係る音抽出システム2000は、時間周波数表現を経由せず混合信号の時間波形をニューラルネットワークに直接入力することで、時間周波数表現を用いることに伴う抽出精度低下を回避できる。また、第6実施形態に係る音抽出システム2000は、位相復元処理を経由せずに抽出信号の時間波形を生成するため、位相復元処理を経由することに伴う歪みが発生しない利点も有する。更に、第6実施形態に係る音抽出システム2000は、あらかじめ一般の環境音と擬音語の対応データベースに基づいて学習された信号抽出モデル及びテキスト埋込抽出モデルが使えるので、第5実施形態に係る音抽出システム1500のような、学習サブシステム110による新規での学習処理は不要である。現場毎に新規での訓練データセットを構築する必要がないというメリットがある。
【0184】
<<第7実施形態>>
本発明の第7実施形態に係る音抽出システム2100について説明する。図21は、本発明の第7実施形態に係る音抽出システム2100の概略構成例を示すブロック構成図である。図21に示すように、音抽出システム2100では、学習サブシステム110が、あらかじめ一般の環境音と擬音語の対応データベースに基づいて学習された既存の信号抽出モデル及びテキスト埋込抽出モデルが格納された信号抽出モデルデータベース2110及びテキスト埋込抽出モデルデータベース930を使用する。学習サブシステム110は、現場毎の学習用データセット(訓練データセット)を用いて学習することで、現場に合わせてモデルを最適化し、精度を向上させる。以上の点のみにおいて、第7実施形態に係る音抽出システム2100は、第5実施形態に係る音抽出システム1500と相違点を有する。従って、以下ではこの相違点を中心として説明する。
【0185】
図21に示すように、音抽出システム2100は、第5実施形態に係る音抽出システム1500に対して、信号抽出モデルデータベース2110と、テキスト埋込抽出モデルデータベース930とが追加された構成を有する。なお、信号抽出モデルデータベース2110及びテキスト埋込抽出モデルデータベース930のそれぞれに格納された既存の各モデルは、便宜上、「初期の信号抽出モデル及び初期のテキスト埋込抽出モデル」とも称呼され、これらは「初期の学習済みモデル」とも称呼される。
【0186】
学習サブシステム110は、現場毎の学習用データセット(訓練データセット)を用いて学習することで、現場に合わせて、モデル(既存の信号抽出モデル及びテキスト埋込抽出モデル)を最適化し(更新し)、最適化した各モデルを、信号抽出モデルデータベース1510と、テキスト埋込抽出モデルデータベース130のそれぞれに格納する。
【0187】
音抽出サブシステム150は、混合信号の時間波形及び可変長擬音語テキストが入力されると、既存の信号抽出モデル及びテキスト埋込抽出モデルを最適化した各モデルを用いて、抽出信号の時間波形を出力する。なお、この処理の詳細は、既存のモデルを最適化した信号抽出モデル及びテキスト埋込抽出モデルを用いること以外、第5実施形態と同様であるので、説明を省略する。
【0188】
<効果>
以上説明したように、本発明の第7実施形態に係る音抽出システム2100は、第5実施形態と同様、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出(抽出ないし強調)することができる。また、第7実施形態に係る音抽出システム2100は、時間周波数表現を経由せず混合信号の時間波形をニューラルネットワークに直接入力することで、時間周波数表現を用いることに伴う抽出精度低下を回避できる。また、第7実施形態に係る音抽出システム2100は、位相復元処理を経由せずに抽出信号の時間波形を生成するため、位相復元処理を経由することに伴う歪みが発生しない利点も有する。更に、第7実施形態に係る音抽出システム2100は、現場に応じて、モデルの精度を向上させつつ、既存のモデルを用いることで現場毎に新規で構築する訓練データセットは少数でよいというメリットがある。
【0189】
<<第8実施形態>>
本発明の第8実施形態に係る音抽出システム2200について説明する。図22は、本発明の第8実施形態に係る音抽出システム2200の概略構成例を示すブロック構成図である。図22に示すように、音抽出システム2200は、音の範囲を表すテキストとして、擬音語の代わりに説明文(例えば、「カタカタの後にドーンと鳴る。」、「衝撃音の後にカタカタと鳴る。」等)のテキストを用いた点のみにおいて、第5実施形態に係る音抽出システム1500と相違点を有する。従って、以下ではこの相違点を中心として説明する。
【0190】
<学習サブシステム>
(学習サブシステムの機能)
図23は音抽出システム2200の学習サブシステム110の構成例を機能毎に説明するためのブロック図である。図23に示すように、学習サブシステム110は、テキスト埋込抽出部119、信号抽出部1600及び学習部119cを含む。
【0191】
(作動の概要)
学習サブシステム110の作動の概要を説明する。学習サブシステム110は、訓練用データセットデータベース160から、「対象信号(抽出対象の音に対応する信号)の時間波形D10、対象信号の時間波形と対象信号以外の騒音(抽出対象の音以外の騒音)に対応する信号とを混合した混合信号の時間波形D20及び可変長の説明文テキストD1100(抽出対象の音に対応する説明文テキスト)」の三つ組みの集合を読み出す。
【0192】
可変長の説明文テキストD1100は、テキスト埋込抽出部119に入力され、説明文テキストD1100の埋込ベクトルD1101(テキスト埋込ベクトルD1101)に変換される。
【0193】
混合信号の時間波形D20及びテキスト埋込ベクトルD1101は、信号抽出部1600に入力され、抽出信号の時間波形D1600が生成される。
【0194】
対象信号の時間波形D10及び抽出信号の時間波形D1600が学習部119cに入力されると、信号抽出モデル及びテキスト埋込抽出モデルの各パラメータが学習され、これらの各パラメータが更新される。
【0195】
各パラメータが更新された信号抽出モデル及びテキスト埋込抽出モデルは、信号抽出モデルデータベース1510及びテキスト埋込抽出モデルデータベース130のそれぞれに格納される。
【0196】
(具体的作動)
学習サブシステム110の具体的作動について説明する。図24は学習サブシステム110の処理フローの一例である。学習サブシステム110は、図24の処理フローを実行する。学習サブシステム110は、訓練用データセットデータベース160から、対象信号の時間波形D10、混合信号の時間波形D20及び可変長の説明文テキストD1100の三つ組みの集合を読み出すと、図24のステップ2400から処理を開始してステップ2401に進み、学習終了条件が成立しているか否かを判定する。学習終了条件は、以下に述べる条件1及び条件2の何れかの条件が成立する場合に成立する条件である。条件1は、所定の収束条件が成立する場合(例えば、収束判定用関数があらかじめ定められた閾値より小さい場合)、成立する条件である。条件2は、カウンタC1が閾値ThCより大きい(C1>ThC)場合に成立する条件である。なお、学習終了条件は、条件2のみであってもよい。
【0197】
学習終了条件が成立していない場合、学習サブシステム110は、ステップ2401にて「NO」と判定して以下に述べるステップ2402乃至ステップ2406の処理を順に実行した後、ステップ2401に戻る。
【0198】
ステップ2402:学習サブシステム110は、テキスト埋込抽出部119によって、最新のテキスト埋込抽出モデルを用いて、可変長の説明文テキストD1100からテキスト埋込ベクトルD1101を計算する(抽出する。)。
【0199】
ステップ2403:学習サブシステム110は、信号抽出部1600によって、最新の信号抽出モデルを用いて、混合信号の時間波形D20とテキスト埋込ベクトルD1101とから、抽出信号の時間波形D1600を生成する。
【0200】
ステップ2404:学習サブシステム110は、学習部119cによって、抽出信号の時間波形D1600と対象信号の時間波形D10との距離で定義される損失関数の値を最小化することで、信号抽出モデル及びテキスト埋込抽出モデルの各パラメータ(ニューラルネットワーク(NN)の各パラメータ)を学習する(更新する。)。
【0201】
ステップ2405:学習サブシステム110は、収束しているかどうかを表す収束条件を計算する。なお、収束条件は、たとえば、損失関数の前回の反復時(学習時)からの変化の大きさにより定義される。もしくは、 収束条件は、信号抽出モデル、テキスト埋込抽出モデルの各パラメータの、前回の反復時(学習時)からの変化の大きさにより定義される。なお、十分変化が小さければ収束と判断される(ステップ2401)。
【0202】
ステップ2406:学習サブシステム110は、現時点のカウンタC1の値を「1」だけ増加する。
【0203】
ステップ2401にて、学習終了条件が成立している場合、学習サブシステム110は、ステップ2401にて「YES」と判定してステップ2407に進み、信号抽出モデル及びテキスト埋込抽出モデル(ニューラルネットワーク(NN)の各パラメータ)を各データベースに保存する。その後、学習サブシステム110は、ステップ2495に進んで本処理フローを一旦終了する。
【0204】
<音抽出サブシステム>
(音抽出サブシステムの機能)
以下、音抽出サブシステム150の構成を、主として機能毎に説明する。図25は音抽出サブシステム150の構成例を機能毎に説明するためのブロック図である。
【0205】
図25に示すように、音抽出サブシステム150は、テキスト埋込抽出部157及び信号抽出部1800を含む。
【0206】
(作動の概要)
図25に示すように、可変長の説明文テキストD1300は、テキスト埋込抽出部157に入力され、説明文テキストD1300の埋込ベクトルD1301(テキスト埋込ベクトルD1301)に変換される。混合信号の時間波形D50及びテキスト埋込ベクトルD1301は信号抽出部1800に入力され、抽出信号の時間波形D72が生成される。
【0207】
(具体的作動)
図26は音抽出サブシステム150の処理フローの一例である。音抽出サブシステム150は、図26の処理フローを実行する。音抽出サブシステム150は、混合信号の時間波形D50及び可変長の説明文テキストD1300が入力されると、図26のステップ2600から処理を開始して以下に述べるステップ2601及びステップ2602の処理を順に実行した後、ステップ2695に進み、本処理フローを一旦終了する。
【0208】
ステップ2601:音抽出サブシステム150は、テキスト埋込抽出部157によって、最新のテキスト埋込抽出モデルを用いて、可変長の説明文テキストD1300からテキスト埋込ベクトルD1301を計算する(抽出する。)。
【0209】
ステップ2602:音抽出サブシステム150は、信号抽出部1800によって、最新の信号抽出モデルを用いて、混合信号の時間波形D50及びテキスト埋込ベクトルD1301から、抽出信号の時間波形D72を生成する。
【0210】
<効果>
以上説明したように、本発明の第8実施形態に係る音抽出システム2200は、ユーザが抽出したい音に対応する信号を、混合信号から精度よく抽出(抽出ないし強調)することができる。第8実施形態に係る音抽出システム2200は、このような基本構成とすることで、ある種類のイベントとしてユーザが抽出したい音の範囲を予め定義することができない場合であっても、音を抽出することが可能である。説明文は比較的汎用であり、適用現場を横断して使用されることができる。また、第8実施形態に係る音抽出システム2200は、時間周波数表現を経由せず混合信号の時間波形をニューラルネットワークに直接入力することで、時間周波数表現を用いることに伴う抽出精度低下を回避できる。また、第8実施形態に係る音抽出システム2200は、位相復元処理を経由せずに抽出信号の時間波形を生成するため、位相復元処理を経由することに伴う歪みが発生しない利点も有する。
【0211】
<<変形例>>
本発明は上記各実施形態に限定されることなく、本発明の範囲内において種々の変形例を採用することができる。更に、上記各実施形態は、本発明の範囲を逸脱しない限り、互いに組み合わせることが可能である。更に、本発明の範囲内で、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能である。更に、本発明の範囲内で、ある実施形態の構成に他の実施形態の構成を加えることも可能である。更に、本発明の範囲内で、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0212】
更に、上記各実施形態において、音抽出サブシステム150に入力されるテキストは、キーボードなどの操作装置を操作することによって入力されるようにしてもよい。更に、上記各実施形態において、音抽出サブシステム150入力されるテキストは、音声認識技術によって、人の音声をテキストに変換することによって入力されるようにしてもよい。更に、上記各実施形態において、音抽出サブシステム150に入力される混合信号は、マイクロフォンなどの音響機器から入力されるようにしてもよい。
【符号の説明】
【0213】
100…音抽出システム、110…学習サブシステム、120…特徴量抽出モデルデータベース、130…テキスト埋込抽出モデルデータベース、140…時間周波数マスク生成モデルデータベース、150…音抽出サブシステム、160…訓練用データセットデータベース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26