Laboro.AI

エンジニアコラム

声や音を聞き分ける、『音源分離』とは

2020.5.12
機械学習エンジニア 内木 賢吾

概 要

パーティーのようにたくさんの人がザワザワと雑談している中でも、自分に向けられた会話を正確に聞き取ることとができる。日常的な私たちが行っていることであるものの、実は不思議なこの現象は「カクテルパーティ効果」と呼ばれる、私たち人間の耳と脳に備わった能力の一つです。

このように私たちは、音に対して何かしらの処理を行うことを通して、自分に必要な情報だけを聞き取ることを自然に行っていますが、機械学習技術、なかでもディープラーニング技術の進歩によって、機械が人間の聴覚の能力に近づくような成果が徐々に実現していきています。

今回のコラムでは、音声認識や音声合成に代表される音声言語処理に用いられる技術「音源分離」について、その技術の概要と応用分野など、音声分離の基本的な考え方についてご紹介していきます。

目 次

音源分離とは
音源分離のビジネス応用
音源分離の原理
 ・線形フィルタリングによる音源分離
 ・非線形フィルタリングによる音源分離
まとめ
参考文献

音源分離とは

私たちの身の回りには様々な音が存在し、実は、音から様々な情報や状況を判断していることが少なくありません。代表的な音としてまず思いつくのが、会話、つまり音声コミュニケーションによる意思の疎通や感情の伝達です。また、車が接近してきたり、駆け寄る足音を感じ取ったりといった危険・異常の検知も音によって判断されます。ほかにも雨音や電話の呼び出し音といった環境の認識など、私たちは音を情報源にした多くの行動を意識的、もしくは無意識的に行っています。

図1 音による情報収集の例

そして、私たち人間の優れた能力として、多くの人が雑談しているなかでも特定の人の会話を自然と聞き取ることができる「カクテルパーティー効果」があります。音源分離とは、私たち人間のこの能力を機械で実現する、つまり様々な音が混ざった状態からひとつひとつの音を取り出す技術を言います。

音源分離は、例えば、複数人が同時に発話した内容をそれぞれ聞き取りたい、屋外で聞こえる車の走行音と人の声を聞き分けたいといったシーンでの活用が想定されます。

なお、似たような技術として「音源強調」という分野がありますが、音源分離は複数の音を分けることを、音源強調は目的の音を取り出すことに主眼を置いているという点で違いがあります。

図2 音源分離と音源強調の違い

音源分離のビジネス応用

混じり合った音を個々の音に分ける技術である音源分離は、音声認識など、他の音声処理技術を組み合わせることで様々な応用が考えられます。

VUI(音源分離×音声認識)

iphoneのSiriやAndroidのGoogleアシスタントに代表されるVUI(Voice User Interface)は、声で機械を操作する技術です。音源分離によって複数人が同時に発話した時の音声をそれぞれ認識できれば、例えば、二人が同時に話しかけても聞き分けができ、それぞれの声に対して応答できるといったことが可能になります。

高品質Webミーティング(音源分離×音声区間検出)

今後、在宅勤務やリモートワーク が当たり前になれば、Webミーティングの機会も増えていくことが見込まれます。Webミーティングのデメリットとしてよく挙がるのが、周囲のノイズです。音源分離で音声とノイズを分離し、分離後の音響波形に対して音声区間検出を適応して音声のみを抽出することで、ノイズが少ない高品質なオンライン会話の実現が期待できます。

話者別の議事録作成(音源分離×音声認識)

すでに音声認識技術を用いた議事録作成ツールも存在しますが、認識された音声を順に書き起こしていくだけで、発言者の区別がわからない文書が作成されてしまったり、発言が重なった場合には認識できないことも少なくありません。音源分離で発言者ごとの発話を分離できれば、発言タイミングが重なることがあっても各々の音声を認識するで、誰が何を発言したかを確認できる議事録作成を支援することが可能になります。

補聴器の高機能化(音源分離×音響イベント検出)

加齢や病気による難聴に悩む方にとって欠かせない補聴器ですが、人の声の聞き取りを最優先にしているため、生活環境音を雑音とみなして低減もしくは取り除くよう作られていることがあります。音源分離された音に対して音響イベント検出技術を用いることで、例えば、緊急車両の警報だけを取り出して大きくするなど、生活に必要な音だけを聞きやすくするといった応用が考えられます。

音楽や動画の編集・加工(音源分離)

音楽制作のレコーディングの場面では、ミキサーと呼ばれる音響設備を用いてマイクロホンやCDなど各種音源の編集が行われます。音源分離により楽器の音やボーカルの声を分離するなどが可能になれば、様々な音源が混ざった曲から個別の音源のみを編集するといったことが、より手軽に行えるようになることが想像されます。


一般的には音声や音楽に対する応用例が多く見られますが、2019年に開催されたIEEEの音響信号処理のワークショップ(WASPAA)にて、動物の鳴き声やドアの軋む音など、様々な音を分離対象にした「Universal Sound Separation」の可能性が実証されました(参考文献)。さらに、2020年に開催された国際会議(ICASSP)において、その分離能力を改善した成果が報告されています(参考文献②)。音源分離とは「人間が持つ複数の音を聞き分ける能力」を機械で実現する技術と捉えるとビジネス応用を検討しやすくなるのではないかと思います。

音源分離の原理

音源分離の手法は、
①引き算の考え方による手法
②掛け算の考え方による手法
の2つに分類できます。 どちらの手法を用いるかは、設置されたマイクロホンの数に依存します。複数のマイクロホンがある場合は、①引き算の考え方に基づく「線形フィルタリング」を、単一のマイクロホンの場合は②掛け算の考え方に基づく「非線形フィルタリング」を用いることが一般的です。

線形フィルタリングによる音源分離

線形フィルタリングによる音源分離の概要は次の通りです。

・足し算/引き算の考え方で、不要な音を削除(線形フィルタリング)
・音の空間的特徴(音の到来方向や音源の距離など)を利用
・複数のマイクが必要

まず前提として、音は波形で表すことができ、複数の音がある場合はそれぞれの波形を重ね合わせられる、つまり足し引きで考えることができます。下の図は、人が発した音声(緑)と機器から発生した機械音(青)が、一つのマイクに足し合わせれて集音された波形(黒)を表しています。同様に、マイクの集音(黒)から機械音(青)を引くことができれば、音声(緑)を抽出できることを簡易的に示しています。

図3 音源の足し引きのイメージ

次に複数のマイクロホンがある場合を考えてみます。それぞれのマイクロホンが離れ設置されていると、音がマイクロホンに到達する時間やゲイン(音の大きさ)に差が生じます。これらの差を利用して、目的の音を増幅/抑圧することで音を分離します。簡単に原理を説明したのがこちらの図です。

図4 音源の発生位置と収録音声信号

図4では、音源1(緑)は正面で音が発生し、音源2(青)は斜め後ろから音が発生する場合を考えています。

まず音源1(緑)についてです。「音源1→マイク1」と「音源1→マイク2」の距離には差がなく、音がそれぞれのマイクへ到達する時間とゲインに差は生じません。そのため、マイク1とマイク2の信号を加算するだけで音源1を選別して得ることがことができます。

一方で音源2(青)は、「音源2→マイク1」と「音源2→マイク2」の距離に差があり、到達時間とゲインに差が生じます。音の特性として、こうした違いがある波形を単純に重ね合わせると、例えばエコーがかかった場合もそうですが、同じ音がズレた状態で集音された波形ができてしまうなど崩れが生じ、正確に音源2を得ることができません。そのため、音源2を得たい場合は、マイクで集音した波形の到達時間やゲインを調整して加算するといった処理を行うことになります。

線形フィルタリングは、 このように加算する処理で音を分離する方法を言います。また、線形フィルタリングによる音源分離は、音源の到達時間の差や音源の距離による音圧差といった「音の空間的特徴」を利用する分離と考えることができます。線形フィルタリングを一般化した図を図5に示します。図5の\(W_m(f)\)は、到達時間やゲインを調整するための周波数ごとの係数です。

図5 線形フィルタリングの一般的な考え方

線形フィルタリングによる音源分離では、音源の方向が既知の場合や集音したい方向がわかっている場合に「ビームフォーミング」と呼ばれる技術が多く採用されます。ビームフォーミングとは、目的音方向の感度を残したまま、目的音方向以外の感度を低下させる技術です。

一方、音源の位置が未知な状態で混合音を個々の音に分離する場合は「独立成分分析」と呼ばれる手法を用います。これは、音源信号の独立性を利用して分離する技術(指向性の制御と等価)で、「ブラインド信号音源分離」と呼ばれています。

これらの手法は、音源の到達時間の差を元に計算するため、複数のマイクロホンが必要となります。マイクロホンの数が多いほど分離性能が良いと言われており、一般的には音源数以上のマイクロホンが必要とされています。

近年の研究においてディープラーニングは、ビームフォーミングを形成するためのビームフォーマ係数の推定やブラインド信号音源分離における分離フィルタのモデルに活用されています。

非線形フィルタリングによる音源分離

続いて、非線形フィルタリングによる音源分離の概要がこちらです。

・掛け算の考え方で目的の音を選別(非線形フィルタリング)
・音の性質や傾向を利用
・単一のマイクロホンでも実現可能

足し算/引き算の考え方に基づく線形フィルタリングと異なり、非線形フィルタリングは掛け算の考え方に基づきます。具体的には「スパース性」という、時間波形で重なっていても周波数成分を時系列で可視化したスペクトログラム上では重なりにくいという性質に着目します。

スペクトログラムとは、時間(横軸)、周波数(縦軸)、信号の周波数成分の強さ(色の線)を表したグラフのことで、信号の周波数成分の時間変化を可視化したものです。図6の吹き出しの中のグラフがスペクトログラムです。図6のオレンジ色の丸の箇所をみると、音源1(緑)と音源2(青)は時間波形上で重なっていますが、スペクトログラム上では重なりが少ないことを確認できます。スペクトログラムに変換することで、音の高さ、音色、大きさ、長さといった音の四要素を表現することができるため、非線形フィルタリングによる音源分離は、音自体の性質や傾向を情報として音源を分離する手法であると捉えることができます。

図6 音のスパース性

非線形フィルタリングによる音源分離の基本的な考え方を図7に示します。入力信号をスペクトログラムに変換し、その後、音源1の成分が強い箇所を通しつつ他の成分が強い箇所を通さないマスク(フィルタ)を入力信号に乗ずることで音源1を取り出すことができます。そのほか線形フィルタリングと異なる点は、マイクロホンで集音された信号にマスク処理を行うため、単一のマイクロホンで実現できるというところです。

図7 非線形フィルタリングによる音源分離

従来の音源分離では、スペクトログラムを観測行列とみなし、非負値行列因子分解(Non-negative Matrix Factorization: NMF)を適用して音を分離する手法が用いられていました。その後、ディープラーニング技術の発展によって、時間周波数マスクを推定してマスキング処理を行う手法(図7)の研究やディープラーニング技術を組み合わせた研究が活発になりました。例えば、2016年に提案された「Deep Clustering」(参考文献③)という手法は、未学習話者に対しても原音の再現率が高い分離を実現したことで話題になりました。技術の詳細は割愛しますが、ディープラーニングとクラスタリングの組み合わせによって実現しています。

また、2018年に提案された「TasNet」(参考文献④)という手法は、従来一般的であった短時間フーリエ変換(STFT)によるスペクトログラムへの変換(\(𝑋(𝑓,𝑡)\)の計算)にディープニューラルネットワークを活用することでリアルタイム処理を実現したことで話題になりました。

このように、ディープラーニングの発展に伴い、音源分離の技術や研究も日々進歩しています。

まとめ

このコラムでは、音源分離技術の概要と応用例を説明し、代表的な手法である「線形フィルタリング」と「非線形フィルタリング」の手法についてご紹介しました。

ディープラーニングを活用した音源分離については、Deep Clusteringの登場により未学習の音源に対する分離が実現し、Tas-Netによってリアルタイム処理が実現するなどの発展を見せています。さらに音源分離を音声認識など他の技術と組み合わせることで、その活用はよりわたしたちの生活に身近な形で具体化されていくはずです。

参考文献

Universal Sound Separation
Improving Universal Sound Separation Using Sound Classification
Deep clustering: Discriminative embeddings for segmentation and separation
TasNet: time-domain audio separation network for real-time, single-channel speech separation