フロントエンド処理 mimi®︎ XFE

VAD概要

VAD は Voice Activity Detecter の略であり、ニューラルネットワークにより与えられた音声が人間の声であるか否かを判定する機能です。これにより、連続的な音声信号から人間の声の区間のみを抽出することができます。これは動画の編集に例えればカット編集のようなものであり、人間の発話区間以外の音声区間をカットして、人間の発話部分のみをつなげた音声を手に入れることができます。

技術的イラスト 技術的イラスト

発話区間抽出技術の利用シーン

音声通話システム

音声通話ができるスマートフォンアプリケーションがあるとします。このとき、アプリケーション内で、人間の声の区間だけを抽出して、その区間だけをインターネットに送信することで、無音区間のデータ送信を避け、通信量を削減することができます。
このような仕組みは実際に多くの通話アプリケーションで採用されています。相手が話していない時間に、通話アプリからの出力が不自然なほど完全無音になるという体験をした方も多いのではないでしょうか。

通信量が問題にならない場面では、音声通話システムにおいて VAD を採用するメリットはありません。また、人間の声以外の音声を通信したい場合(例えば音楽や自然の音など)は、VAD を採用してしまうとそれらの音声はカットされてしまうため、単純に採用することはできなくなります。

音声認識システム

音声認識システムのクライアントサイドで VAD を使うことがあります。マイクなどからの連続的な音声入力に対して VAD 処理を行い、無音の場合は無処理、人間の発話を検知したときに、音声認識サーバーへの通信を開いて、人間の発話区間を連続的にサーバーへ送信します。そして、VAD が発話終了を検知したとき、サーバーに対して音声認識の終了を伝えます。サーバーは、連続的に音声認識を行い、逐次的に結果を返しますが、発話終了信号を受け取ったのち、音声認識の最終確定結果をクライアントに返します。

このような処理は、通信量が削減できる上に、元々の入力音声のどの部分がどの認識結果に対応するかを判定しやすくなるため一般的な処理ですが、最近ではサーバサイドに VAD の機能が統合されているサービスもあります。そのようなサーバーに対しては、クライアントサイドで VAD を行うことなく、マイクなどからの連続的な音声入力をそのままサーバーに送信します。サーバー側は、逐次的に音声認識結果を返し(無音の場合はなにも返しません)、サーバー側で発話終了が検知された時点で、コネクションを切断するなどの処理が入ります。このようなサーバーに対しては、クライアントサイドで VAD を利用するメリットは小さくなります。

音声解析システム

VAD は人間の声を判定する上で、音声の様々な特徴量を算出しています。それらの特徴量を得て、音声に含まれる非言語的な情報を解析するための特徴量抽出器として利用されることがあります。XFE VAD では、オプションとしてそれらの特徴量の出力をサポートしています。

最もシンプルなVADとは

最もシンプルな VAD は音量を判定基準とするものです。つまり、マイクなどから得た連続音声に対して、一定の閾値以上の音量であった場合は、発話区間判定し、一定の閾値以下の音量であった場合は非発話区間と判定します。このような音量ベースの VAD は「音量スイッチ」と呼ばれることもあります。

実際に、上記の音声通話システムの場合などで、人間の声以外の音声も通信したい場合などは、人間の声で学習した VAD を使うことはできないので、このようなシンプルな音量スイッチが有効である場面もあります。

ただし、シンプルな音量スイッチを採用する場合には大きな注意点があります。それは、発話の先頭や発話の末尾では音量が小さくなる場合が多いということです。つまり、シンプルな音量スイッチでは発話先頭切れや発話末尾切れが発生しやすくなるということです。先頭・末尾切れは、音声認識システムに対しても大きな悪影響を与えます。

このような先頭・末尾切れを防ぐために、VAD は内部バッファーを持ち、ステートマシンの枠組みを用いて、連続音声に対して連続出力を行いながらも、特に発話先頭・発話末尾などを前後に延長した出力を行うことで真の発話区間全体を確実に出力できるように作られています。

発話区間を判定するロジックはどのようなロジックを採用していたとしても、このバッファリングの枠組みは別途必要になります。

XFE VADの特徴

10msごとの判定

XFE VAD は連続音声入力に対して、10ミリ秒ごとに人間の声であるか否かを判定しその結果を確率値として出力します。その確率値の系列から、入力音声が発話であるか否かを判定することができます。この確率値を出力させることができるので、音声解析等で利用することも可能です。

技術的イラスト 技術的イラスト

柔軟な設定

VAD は、利用される環境に応じてマニュアルでの調整が有効である場合があります。XFE VAD では、発話開始と判定される最小の長さ、発話終了と判定される最小の長さ、前後に付加する非発話区間の長さなど細かい設定を与えることが可能で、これにより、実環境でのロバスト性を高めることができます。これらの設定に必要最小限のバッファリングのみで連続出力が実行されます。

技術的イラスト 技術的イラスト

高速・軽量

組込環境でも極めて高速に動作するニューラルネットワークベースのアルゴリズムです。

mimi®︎ の
全体像を知りたい

mimi®には、クラウド上で高度な認識処理を行うクラウドAIと、
デバイス上で高速な前段処理を行うエッジAIがあります。
mimi®︎の全体像や、mimi®︎クラウドAIについて知りたい方はこちら。