みんなのケータイ

AI時代のスマホ。文字起こしの自動化は実用的になった?

【arrows NX F-01J】

音声認識で文字入力できる時代。文字起こしにも使えるだろうか

 仕事上、打ち合わせやカンファレンスに参加したり、インタビューなどをする機会が多く、そういう時はメモを取ると同時に、念のためボイスレコーダーで録音している。本当なら、キーボードを使って話し手のしゃべっている内容をその場でリアルタイムにテキスト化できるのが理想なのだけれど、タッチタイプが遅いという人間の性能の問題があるのと、写真撮影したり、相手に質問したりと、他にやることも多いので厳しい。結局、しゃべった内容を後で正確に再現する必要がある場合は、録音を聞きながら文字起こしすることになる。

 特にインタビュー記事だと、最初から最後までひと通りテキスト化したい。なので、音声再生して、文字入力して、入力が間に合わないから再生止めて、入力して、また少し戻して再生して……という繰り返しの地味な作業を延々と続けることになる。そんなことをやっていると、文字起こしだけで余裕で録音の実時間以上に時間がかかるわけだ。

 この手間をなんとか減らしたい! と思い、昨今話題のAI技術を文字起こしに応用できないか企んでいる筆者。メインで使っているarrows NX F-01JのようなAndroidスマートフォンの場合、AIを用いた音声入力系のアプリとしては、自然言語によるエージェント機能「Google Assistant」や、精度が格段に上がった「Google 翻訳」「Microsoft Translator」、キーボードアプリ「Gboard」に含まれる「Google 音声入力」などがよく知られているところだろう。

今回文字起こしに使用した「Google 音声入力」

 このなかで文字起こしに使えそうなものとなると、やはり「Google 音声入力」になる。端末のマイクなどから音声入力すると、日本語変換しながらテキスト入力できるものだ。他にも音声からテキストにするサービスやアプリはいくつかあるけれど、普通のキーボードアプリのように直接文字入力できるという汎用性のある使い方が可能な点で、「Google 音声入力」は最も使い勝手が良い。

 で、筆者の仕事内容から考えると、音声をテキスト化する際の手順としては以下の3つのパターンが考えられる。

1. 取材中にスマートフォンのマイクで集音しながらテキスト化する
2. ボイスレコーダーで録音し、後でその音声ファイルからテキスト化する
3. ボイスレコーダーで録音し、後でそれを聞きながら自分の声で音声入力、テキスト化する

 今のところ、音声認識でテキスト化の精度に影響する最も重要なポイントと思われるのは、音声入力のレベルだ。最適な音声の大きさ(音圧)で音声認識にかけないと、いくら滑舌良く、きれいに発音している音声であっても、それを人の声として認識すらしてくれない。そういう意味では、自動テキスト化の効率でいうと総合的には1番が最も低く、3番目が最も高い、ということになる。

 簡単に説明すると、1番のやり方では、(少なくとも取材に気軽に持っていける範囲の機材だと)最適な音声レベルを維持するのが難しすぎる。「Google 音声入力」は、スマートフォンのマイクに口元を近づけて発声することを前提にした設計になっているためか、たとえば対面のインタビュー相手の声やスピーカー越しに聞こえる登壇者の声には反応しにくい。

 高性能なマイクで収録した音声を、現場(会場)のPAを通じてラインでもらえるのなら別かもしれないが、そんな環境はまずありえない。それと、実はこちらの方が問題としては大きいのだが、現場で音声認識させようとセッティングすると、どうしても音声認識処理の監視に気持ちが向いてしまい、肝心の相手の話が頭に入ってこなくなるのだ。

 さらに、現場はモバイルネットワークしかなかったり、ネットワークにつながらない環境であったりすることも多い。そのため、音声認識処理をクラウド側で行っている「Google 音声入力」がそもそも使えない場合があるし、環境によっては通信速度が間に合わないことだってある。だから、いろんな意味で1番目のやり方はおすすめできない。

PCで再生している音声をラインでF-01Jに入力。どれくらいの精度で文字起こしできるか、確かめてみる

 というわけで、2番目と3番目が現実的なやり方に思える。2番目の方法では、録音した音声ファイルをそのまま「Google 音声入力」に流し込む、ということが不可能なので、PC上で音声再生し、ライン出力したものをF-01Jのイヤフォン端子から入力する、という方法がおそらく最も効率的だ。

 ここで重要なのは、先述の通り音声レベルの調節。このあたりは何度も音声認識(入力)されるかどうかのテストを繰り返して、最も認識精度の高くなる音声レベルを手探りするしかなさそう。音声認識の精度は、話し手の抑揚の付け方、しゃべるスピード、現場の録音環境によっても大きく変わるので、ベストなセッティングを例示するのは難しいところだ。

バックグラウンドノイズがひどい場合の音声入力結果。善戦はしているが、意味はやっぱりよくわからない

 まず話し手が一定の音声レベルで話し続けているとは限らないし、バックグラウンドのノイズが多いととたんに「Google 音声入力」が反応しなくなったりもする。たとえばF-01Jを使っている筆者の環境だと、音声入力のピークが-40dB前後なら音声として認識されるが、-50dB程度に落ちてしまうと音声として認識されなくなるか、認識処理自体が止まるようだった。微妙な音量調整が必要なだけでなく、正規化なり、ノイズ除去なり、事前に音声ファイルを編集しなければならないケースがある(というか、それがほどんどな)のが課題だ。

ノイズの多い周波数帯をカットして、音量調整した場合の音声入力結果がこちら。多少精度は上がっている

 3番目は、自分の滑舌にもよるけれど、最も入力漏れの少ない方法だと思う。とはいえ、録音の話し手のしゃべるスピードが早い場合、自分が声に出す際にゆっくりしゃべらないと認識されにくいから、結果的に録音の実時間以上に作業が必要になる。だったら最初からキーボードで入力するのと大して効率は変わらないなあ、ということになるので、わざわざ音声認識させること自体に意味がなくなってしまうという……。

耳で聞いて、筆者自身の声で音声入力した結果。句読点がないことを除けば、かなりの正確さで文字起こしできている。けれども、手間がかかることに変わりはない
参考までに、こちらが聞いたままを手動でキーボード入力したもの

 そんなこんなで、現在のところはAI技術を応用した音声認識であっても、文字起こしに使うのはそれなりに手間がかかり、耳で聞いてキーボード入力した方がだいたいの場合早くて確実、という状況のようだ。たとえある程度うまく自動で文字起こしできたとしても、句読点含め一字一句ミスなしに、読みやすく変換されるわけではないので、最終的には修正の手間がかかることも忘れてはならない。ただし、将来的には認識精度が今よりはるかに高まることは大いに考えられる。わくわくしながらその時を待ちたい。