Pythonで文字起こし(音声認識)するために知ってくべきこと

Pythonで文字起こし(音声認識)するために知ってくべきこと プログラミング

「文字起こしができる動画サイズはどれくらいまで?」
「Google Speech Recognitionは1度に何メガまで対応している?」
「何分ぐらいの音声をテキストに変換できる?」

このような疑問がありますか?
もしくは、単純に書き起こしに興味がありますか?

文字起こしに興味があるなら、まずは次の記事をご覧ください。
Pythonで音声からテキストへ変換【SpeechRecognition】

文字起こしやテキスト変換について熟知している方は、このまま読み続けてください。
冒頭の疑問に対して、解決できるヒントを提供できます。

Google Speech Recognition(以下Google無料エンジン)を利用していれば、ズバリの回答を提供します。
Google無料エンジンは、Androidで使われている音声認識エンジンです。

そのため、本記事はGoogle無料エンジンに関する内容となります。

本記事の内容

  • 音声認識が可能な最大ファイルサイズは?
  • 【実証】安倍内閣総理大臣記者会見(令和2年2月29日)を音声認識してみる

上記の項目に沿って、説明をしていきます。

音声認識が可能な最大ファイルサイズは?

結論から言うと、不明です。
ただ、ある程度の基準は判明しました。

  • 再生時間が5分以内
  • 変換後のテキスト(スペース含む)の文字数が1387(最大で確認できた)以内

これらを二つを満たすなら、適切に音声認識が行われました。
ただし、変換後のテキストの文字数を事前に認識することは不可能です。

よって、音声認識するファイルの再生時間を5分以内にするべきです。
ただ、早口で話された場合、4分前後で1387文字を超えることもありえます。

このような場合は、余裕をもってかなり安全な方向に倒します。
結果としては、再生時間が3分以内のファイルとします。

以上より、音声認識可能なファイルは再生時間3分以内のものと結論付けます。
このルールを守れば、Google無料エンジンを快適に利用できるでしょう。

【実証】安倍内閣総理大臣記者会見(令和2年2月29日)を音声認識してみる

記者会見ノーカット版(動画+テキスト)
https://www.kantei.go.jp/jp/98_abe/statement/2020/0229kaiken.html

上記の動画は、全部で36分2秒あります。
この動画から、最初の5分間を切り取ります。

ファイル名を「time_300.wav」とします。
同じ内容(厳密にはwavではなく、mp4)をYouTubeにアップロードしています。

【冒頭5分】令和2年2月29日安倍内閣総理大臣記者会見

検証用のコードは、「Pythonで音声からテキストへ変換【SpeechRecognition】」より。
ファイル名を書き換えるだけですね。

import speech_recognition as sr
r = sr.Recognizer()
with sr.AudioFile("time_300.wav") as source:
    audio = r.record(source)
text = r.recognize_google(audio, language='ja-JP')
print(text)

上記コードを実行します。

安倍晋三内閣総理大臣によりまして 記者会見を行います 初めに それから ご発言がございます 皆様からのご質問は その後にお受けいたします それでは 安倍総理 お願いいたします 新型 コロナウイルスが 世界全体に広がりつつあります 中国での感染の広がりに続き韓国やイタリアなどでも 感染者が急増しています ワークに電話 どこまでの拡大傾向にはないものの 連日 感染者が確認される状況です そして現場においては 感染の拡大のスピード抑制することは可能である これが今週発表 押された専門家の皆さんの見解であります そのためにはこれから12週間 が急速な拡大に進むか 収束できるかの瀬戸際となる こうした 専門家の皆さんの意見を踏まえれば 今からの2週間程度 国内の感染拡大を防止するため あらゆる手を尽くすべきである このように判断いたしました 集団による感染をいかに防ぐかが極めて重要です 大規模感染のリスクを回避するため 多数の方が集まるような 全国的 伊那 スポーツ文化 イベントについては中止 延期 または 規模縮小 などの対応を要請いたします スポーツジム や ビュッフェスタイルの快速で感染の拡大が見られる事例がありました感じが悪く 密集した場所や不特定多数の人が接触する恐れが高い場所 携帯での活動も透明 控えていただくとともに 利用者の方々には 感染防止のための十分な措置を求めたいと思います そして全国 すべての小学校中学校高等学校 特別支援学校について来週月曜日から春休みに入るまで 臨時休業を行うよう要請いたしました子供達にとって 3月は学年の最後 卒業前進学前の大切な時期です 100年を共に過ごした友達との思い出を作る この時期に学校休みとする措置を講じるのは 断腸の思いです 卒業しについては 感染防止のための措置を講じ必要最小限の人数に限って開催するなど 万全の対応のもと 実施していただきたいと考えています 学校が休みとなることで親御さんには ご負担をおかけいたします とりわけ 小さなお子さんをお持ちのご家庭の皆さんには本当に大変なご負担をおかけすることとなります それでもなお 何よりも子どもたちの健康安全を第一に多くの子どもたちや 教職員が日常的に長時間集まる そして同じ空間を共にすることによる感染リスクに備えなければならない どうかご理解をいただきますようにお願い致します 万が一にも学校において 子供達への集団感染 のような事態を起こしてはならない そうした想いのもとに

安倍首相は、決して滑舌がいい部類ではありません。
それでも、この認識精度です。

まとめ

どうでしょうか?
求めていた回答を得られたでしょうか?

正直、想定外の結果でした。
大抵の場合は、容量で制限がかかります。

この場合は、音声認識する音声ファイルの容量ですね。
しかし、容量の制限ではありませんでした。

もしかしたら、容量も制限にあるのかもしれません。
ただ、再生時間=容量と考えれば、それほど気にすることはないでしょう。

この記事内で得られた結果を、どのように活かしていけばよいでしょうか?
結果とは、1度に音声認識可能なファイルが再生時間3分ということです。

結論は、分割ですね。

実例で示した首相会見の動画は、36分(2秒はカット)でした。
そして、そこから音声だけを抽出します。

さらに、この音声ファイルを3分毎に分割します。
そうすると、合計で12個の音声ファイルが出来上がります。

あとは、Google無料エンジンに12回音声ファイルを音声認識するだけです。
これにより、36分間の動画をテキスト化することが可能となります。

大まかな道筋は見えました。
その道筋とは、YouTube動画を自動でテキスト変換することです。

YouTubeの動画は、早送りでもせいぜい2倍速です。
テキストなら、さらに早く内容を把握できますよね。

これを実現したいと考えています。

【追記】2020年07月29日
YouTube動画を自動でテキストに変換するツールを次の記事で説明しています。
興味のある方はご覧ください。

タイトルとURLをコピーしました