Tech Blog
  • HOME
  • Blog
  • 騒音に負けない!音声認識の使いこなし方-1.騒音ってなに?-

騒音に負けない!音声認識の使いこなし方-1.騒音ってなに?-

公開日:2024.07.02 最終更新日:2024.07.02
f:id:amivoice_techblog:20210115094116p:plain りんごの人

みなさんはどのような環境で音声認識システムを利用していますか?
静かな空間で利用している人もいるとは思いますが、職場の環境音の中や製造現場での騒音下で利用している人もいるかと思います。今回は、「騒音環境に負けない音声認識の使いこなし方」というテーマで、2回に分けて解説していきます。

1回目のテーマは「そもそも騒音とはなにか」です。騒音といっても機械音や人の声など種類があります。音声認識にとってどんな音が悪影響を及ぼすかについて説明していきます。

2回目のテーマ「騒音の対処法と注意すべきポイント」はこちら▼

騒音環境とはなにか?

それでは、騒音環境とはどういう状態のことをいうのかを説明していきます。

はじめにノイズについて解説します。
処理対象となる情報以外の不要な情報のことをノイズといいます。
特に、マイクを使って音声認識する場合、発話した音声を文字化するので、発話した音声以外のはすべてノイズということになります。そして、マイクを使ってる以上、原理的にノイズが完全にない音声というのは取得できません。
ノイズがないというのは、つまり全く音がない空間になり、そのような場所は世の中には少ないので、どうしても多かれ少なかれノイズが乗ってしまいます。音声認識時に意識したいノイズは主に2つあります。

<電気的ノイズ>

  • マイクの接触不良等で生じるノイズ​
  • デバイスが正しく接続されていればさほど問題にはならない​

<騒音>

  • マイクに周囲の音声が入ってしまうことで取得される音声​
  • 対処法を知らない場合、音声認識精度を大きく低下させることがほとんど​

今回はノイズの中でも騒音にフォーカスして説明していきます。

騒音にもいくつか種類があります。その中でも今回は「機械の駆動音」「電車の走行音」「オフィス・カフェなどでの音」の3つを解説します。

機械の駆動音」とは、機械の駆動音や連続的に大きな音が鳴っている状態です。音の波形も等間隔で大きく上下に波打っているのがわかります。
「電車の走行音」は、波形を見てわかるように、常にノイズが入っている状態になります。これと似ているのがエアコンの音です。
「オフィス・カフェなどでの音」は、オフィスで後ろや隣の席の人の声が入ってくる状態です。発話した音声以外の音声なので、これもノイズとしてカウントされます。

これらは全て騒音なので、何かしらの対処が必要ということになります。

③音声データの中での発話区間

発話区間とはAmiVoiceでは、すべての音声データの中で、人が話している時間帯を区分した領域のことを言います。
下記の図で説明すると、「こんにちは」と「今日はいい天気ですね」の発話している部分を、人が話している区間とシステムが検出することができ、音声認識の計算に利用します。

発話区間が正しく検出されてない音声を音声認識として利用しようとしても、計算に使うデータそのものが的外れになってしまいます。本来計算しなくていい部分を計算したりとか、計算しなければいけない領域を計算できなかったりするので、これでは精度の高い音声認識の結果を得ることはできません。

④ノイズの少ない音声とは

発話区間を考えたときに、ノイズに対する人の声の大きさというものが重要になってきます。

この図でいうと一番左の「雑音が少ない」波形が人が発話してる部分に対して、話していない部分が完全に真っすぐの線に見えます。この波形は周りのノイズに対して、人の発話の音量が大きいので、ノイズが少なく見えて、かなり理想的な音声です。

一方で真ん中や右の波形は音声以外でも反応していて、ノイズが結構入っているのがわかります。特に右側の波形は、ほとんどノイズと発話してる音声の大きさが同じでノイズにつぶされています。このようなデータでは発話区間の検出がうまくいきません。

音声データの波形において音声シグナルとノイズの比を「SN比」と呼んでいます。ノイズの波に対して発話した音声の波が大きければ大きいほど認識しやすいデータになります。このSN比を大きくするのが、騒音環境でも音声認識をうまく成功させるための重要な概念になります。

⑤騒音が音声認識に与える影響

ここまで騒音について解説し、騒音が音声認識の精度に対して悪い影響を与えるということがわかったと思います。そして騒音が音声認識に及ぼす悪影響は大きく分けて2つあります。

まずひとつは、発話してないのに音声認識結果が出てしまうパターンです。
例えば、発話している後ろで突発音が鳴っている場合、音声認識システムが突発音を数字の5などの単語と誤認識してしまうケースがあります。

次に、発話した箇所が発話区間として正しく検出されないパターンです。
人の耳で聞く分には辛うじて聞こえるレベルだと、周囲のノイズと人の声の大きさが同じになるので発話区間として検出されません。認識結果も正しく計算されるか微妙です。

騒音が与える2つの悪影響>

  • 発話していないのに認識結果が出る​⇒ノイズを認識し、予期しないタイミングで音声認識結果を出力してしまう​
  • 発話したのに認識結果が返ってこない・間違っている​⇒発話した箇所が発話区間として正しく計算されない 

⑥音割れが起こす影響について

厳密には音割れは騒音とは関係はありませんが、音声認識の精度を高める上では非常に重要な知識になってくるので説明いたします。
音割れとは、音声をデジタル化する際に、最大音量を超える音声が入力されてしまったときに起きる情報の欠損です。

下記の図で説明すると、赤い枠で囲った上限の部分がまっすぐになっています。本来はこれよりも大きな波形が記録されるはずが、音量が上限に達してしまったのでうまく情報を入力できずにこのように表示されています。

このぐらい音割れをしている音声は実際に人間の耳でも聞こえにくいですし、当然音声認識に音割れしている音声を学習させるわけではないので、音声認識にも非常に影響があります。

次回は「騒音の対処法と注意すべきポイント」についてご紹介いたします。

【2分でわかる】製造・物流業界で音声入力を使った業務効率UPの事例はこちら

この記事を書いた人


  • りんごのひと

    新卒5年目のプログラマ。物理の研究から心機一転ITの世界へ。

    趣味のゲームもプログラマ目線で考えるようになってしまった。

APIを無料で利用開始