文字起こし、いい加減自動化できないのかな
学校の授業でも会社の会議でも、音声で行われた議論を文字起こしして文章化しなければいけない場面ってありますよね。
というのも、音声による情報伝達は、単位時間あたりに伝達される情報量が、文字で行う場合に比べて圧倒的に少ないから。
私の通うロースクールでも、授業内容を効率的に振り返ることができるように、分担して授業の書き起こしを行ういわゆる「シケタイ」と言われる制度がとられています。
1回の授業は105分なのですが、それをすべて書き起こそうとすると、なんだかんだで5,6時間くらいかかります。
この時間は、結構もったいないですよね。
これを改善すべく、かつて、Google DriveとSoundflowerを活用した、次のような書き起こし方法が紹介されていましたが、実際、「再録音」(録音データをシャドウイングしながらもう一度録音すること)しなければならず、手間がかかります。
上の記事は1年半ほど前に書かれたものです。
実際、Google Driveは、会議等の録音データには殆ど反応しないので、再録音をしなければ動かないため、当時としては再録音をするのがベストだったのでしょう。
しかし、いまや、Amazon EchoやGoogle Homeといったスマートスピーカーが普及し、音声認識の精度もグングン上昇している時代です。
そこで、再録音せずに、自動的に音声を文字化することはできないのかということで、少し調べてみました。
IBM WATSON編
人間の言葉の知覚という点で、一番有名なのはIBMのWATSONなのではないでしょうか。
いわゆる「コグニティブ」システムであり、一時期アメリカのクイズショーで人間に勝利したことで有名になりました。
Watsonには、"Speech to Text"という機能があり、CUI(ターミナル等)がいじれる人なら、音声ファイルをcURLでWATSONに投げて音声の文字化をすることができます。
ただ、実際に試してみたところ、授業のように発話者が遠くで話すような録音データについては、精度がかなり低く(confidenceが平均で0.7を下回る)、使いものになりませんでした。
また、データ処理にも時間がかかります(60分の音声におよそ60分の処理時間がかかる)
おそらく、WATSONのSpeech to Textには会議のような音声の学習が不十分なのでしょう。いずれは精度が上がるかもしれませんが、現時点では使いにくいです。
Google Cloud Speech編
そこで、次に試してみたのがGoogle Cloudが提供しているSpeech API。
いまや、「OK、グーグル」により大量の音声データを保有し・学習させているGoogleですから、精度もいいのではないかということで試してみました。
具体的な操作については、こちら(Cloud Speech API で音声をテキストに変換する)の記事を読まれると大体分かると思います。
注意点としては、講義のような長時間の音声を変換するためには、上の記事と異なり、Speech APIに投げる際に次のようにコマンドする必要があるということです。
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json "https://speech.googleapis.com/v1/speech:longrunn
ingrecognize?key=${API_KEY}"
また、現状、80分までのモノラルデータにしか対応していないので、適宜Audacityなどで音声データを加工してから送る必要があります。
実際に授業の音声データで試してみたところ、60分の音声データの処理が30秒ほどで終了し(早すぎ!!)、精度もそこそこでした(完璧とは程遠いですが・・・)。
CUIの操作や音声データの加工が苦にならない方は、そこそこおすすめです。
もっと簡単な方法ないの?
以上の方法は、ある程度パソコンの操作になれていないとつまづくところがあり、「こんなことをするくらいなら素直に手打ちで文字起こしした方が早かった」という結果になりかねません。
そんな方におすすめなのが、UDトークです。
UDトークは、スマートフォンで使用するアプリで、有名な文字起こしソフトであるAmivoiceを利用しています。
実際に使用されてみるとお分かりになりますが、かなり精度高く文字起こししてくれます。
Googleドライブと違って、会議の録音データでも、バンバン反応して文字化してくれるのがすごく便利。
難点は、法律分野の単語についての学習が少ないことですが、それも辞書登録することである程度解消されます。
スマホで起動したUDトークに音声入力する際、どのようなスピーカーでも使うことができますが、私が持っているスピーカーの中で一番精度の高い入力ができたのは、こちらのスピーカーでした。

Harman Kardon ALLURE アルーア スマートスピーカー Amazon Alexa対応/Bluetooth対応 ブラック 【国内正規品】 HKALLUREBLKJN
- 出版社/メーカー: ハーマンインターナショナル
- 発売日: 2017/12/25
- メディア: エレクトロニクス
やはり、広い音域でしっかりと音を鳴らせるスピーカーの方が精度の高い入力ができるということですね。
UDトークでの書き起こしも、完璧とは程遠いですが、再録音に2,3時間かけてもあまり精度が高くなる訳ではないので、現状、この方法が一番手軽にそこそこの精度の書き起こしができる方法かと思います(大量の音声データを短時間で書き起こすのであれば、Google Cloud Speechですが)。
少しでも楽をしたい方はお試しください。