Skip to main content
ICTまとめ情報公開

無料・超高精度のWhisperで文字起こしする方法

By 2022年9月27日1月 27th, 2023No Comments

これまで

最近は、どんな会議でも会議録を残すようにしています。参加者の発言をその場でPCに打ち込み、その場で会議録をほぼ完成させるようにしています。

以前は(承諾を得て)録音したものを家に帰ってから文字起こししていたこともありました。しかし骨の折れる作業です🤔。自動化しようと思い、いろいろなソフトを試しました。これまで一番使えると感じたのはGoogleドライブの音声入力機能です。ただこれも、雑音があったり話者がマイクの遠くにいる場合などには、うまく認識してくれません。録音したものをヘッドホンなどで聞きながらマイクに向かって読み上げれば入力できるのですが、時間のかかる作業です😓。そうい経緯を経て、今はその場でPCにタイプするスタイルが最も効率的と感じています。

そんな中、つい先日(令和4年9月22日)openAIからWhisperという文字起こしAIが公開されたので試してみました。驚くべき性能でした😲。

雇用を奪わない形での、深層学習AIの活用

昨今の深層学習AIの進化は凄まじいものがあります。良し悪しはともあれこの進化は止めることができません。

「急速に進化するAIが既存の仕事を奪っている😓」という視点から見ると、政治や哲学が技術の進歩に追いつけていない状況だと思います。負の影響を受ける職種には適切な支援が必要と考えます。

一方「AIが、個人の単調な作業を軽減してくれている😄」という視点から見ると、これまで掃除や洗濯、食器洗いなどの家事が自動化されてきたことと同じようによい面があると思います。こういう作業におけるAIの活用であれば「誰かの雇用喪失をそれほど心配する必要がない」という点で安心できるところがあります。

これまで個人で行っていた会議録の文字起こし作業は後者に該当するものです。ここではその視点に立ってWhisperをご紹介したいと思います。

驚異的な精度

Whisperのページを読むと、単語誤り率(Word Error Rate; WER)は日本語で約6.4%とされています。これは「ほぼ完ぺき」と言われるレベルの5%に近く、試用した私の感覚でもほぼ完ぺきといってよいと思います。さらにファインチューンといって、用途に合わせて人の名前や用語などを覚えさせる追加の学習(調整)が行えるのではと思いますが、それを行えば単語誤り率がゼロに近づく可能性もあります。

たとえば直近の小平市議会9月定例会における私の質問とその答弁の音声をWhisperで文字起こしすると次のようになります。

いじめの重大事態に関してですよ、専門家から重大事態としてこれを扱いなさいと扱った方がいいですよという助言を受けながらですね、教育委員会としては重大事態として扱わなかったという事例があるんですが、一般して最終的に重大事態として扱うことになったんですが、その専門家から助言を受けたことで重大事態として扱ったわけではなくて、別の理由で扱うことになった。その専門家から重大事態として扱いなさいというような助言を受けたにも関わらず、その重大事態として扱わなかった場面において教育長はどのような指示されてきたのか、例えば教育長はまっすぐに重大事態として扱いなさいとか、そういった指示はされてきたのか、それとも教育長自身にそういった情報が上がっていなかったのか、そのあたりちょっと確認させてください。

第1点目の、この3年間の教育長の給与になりますが、まず基本的な月額給与から申し上げますと81万円になります。あと、これに期末手当とが加わりますので、年間の収入で申し上げますと1,336万5,000円となります。これを3年間にさらに退職手当が入りますので、4,617万円となります。以上でございます。それ以外はないということでいいですか。報酬がそれ以外ないかということでいいですか。ない。以上ということですか。ない。ないならないでしょ。村部長。まず月額給与と期末手当と退職手当、この3つとなります。他には特にはございません。以上でございます。

その時には私はちょっといなかったもで、詳しいところは存じ上げてはいませんが、その話については聞く中では、当時そのお話ありましたが、すぐに重大事態に持っていくというような話ではなかったということもありまして、その後様々な話を聞く中で、やはり我々の市の方の重大事態に対する考え方というのも少し甘かったというところも確かに反省する点はございます。安田経議員がご指摘されていたように、重大事態の考え方というのは、やはりしっかりと我々の中で共通認識を持って対応する必要があると考えていますので、ここでまたいじめの関係については、少しマニュアル等をしっかり見直して、学校関係にもしっかり周知をして、考え方をしっかり統一していこうということで今進めておりますので、ご指摘されたような点は今後はまずない、絶対ないというふうに考えているところでございます。

個人名はさすがに難しいようですが、ほぼ完ぺきに文字起こしできています(間違えているのは黄色でマークした部分)。役職名、議員名、答弁担当の職員名、市で独自に使っている単語などを使ってファインチューンで最適化すれば100%に近い精度が出るのではないかと思います。

今回の私の一般質問をWhisperにかけてみました。こんな感じで進捗していきます。まとめ作業の効率がグーンと上がり、ありがたいです😁

アイキャッチ

使い方

使い方は至って簡単です。実行環境を用意しましたのでよろしければご利用ください。

なお、アップロードしていただいたファイルの内容や文字起こし結果などの情報は私の方からはまったく見ることができない仕組みですのでご安心ください。アクセスログも取っていませんので職員の方もご自由にご利用ください。ただしGoogleは情報を得られますし、不足の事態が生じる可能性もあります。情報漏洩がご心配でしたらご自分のPCにインストールして使うことも可能です→方法はこちら。また、ご利用に際して何らかの問題が生じた場合でも私の方では責任を負えませんのでその点をご了解いただいたうえでご利用ください。

① 下のボタンを押して、実行環境を用意したサイトを開きます。ブラウザはGoogle Chromeで開いてください。

ここをクリックして、サイトを開く

② Googleアカウントでログインします。

ログインボタンを押す

②メニューバーの「ランタイム」から「ランタイムのタイプを変更」を押します。

ランタイムのタイプを変更

③ハードウェアアクセラレータをGPUに設定し、保存ボタンを押します。

GPUに設定

④ 文字起こししたい音声ファイルを用意します。ここでは、onsei.mp3というファイル名にします。

なお、mp3形式やm4a形式、wav形式などの音声ファイルだけでなく、mp4形式などの動画ファイルでもそのまま文字起こしが可能です。onsei.mp3という名前ではないファイルを用意した場合は、後ほど⑧で説明している書き換えを行ってください。

⑤ 左側にあるフォルダアイコンを押して、ファイルをアップロードする欄を開きます。

フォルダアイコンを押す

⑥  ドラッグアンドドロップで、音声ファイルを図の場所に落としてください。ファイルをアップロードできます。

ドラッグアンドドロップする場所

⑦ アップロードが終わるまで待ちます。黄色い丸でアップロードの進行具合が分かります。
Googleドライブを使ってアップロード速度をとても早くする方法もあります(たとえばこちらなどをご参照ください)。Googleドライブを使う場合は⑧で示すようにファイルの場所を書き換える必要があります。

アップロード進捗状況

⑧ 三角形の実行ボタンを押します

実行ボタンを押す

なお、ここでは音声ファイル名をonsei.mp3としていましたが、別のファイル名がついている場合は、上図で『model.transcribe(“onsei.mp3”, verbose=True,  …』と記載している部分のonsei.mp3のところを該当のファイル名に書き換えてから実行ボタンを押してください(たとえば用意したファイル名がkaigi.mp4の場合は上図のonsei.mp3のところをkaigi.mp4に書き換えます)。また⑦で記載したようにGoogle Driveを使う場合は、onsei.mp3のところを/content/drive/MyDrive/onsei.mp3に書き換えてください(Google Driveのマイドライブにonsei.mp3ファイルを置いた場合)。

⑨ 警告が出たら、「このまま実行」を押します。

このまま実行を押す

⑩ 文字起こしの進行状況が表示されます(ここでは時間ごとに区切った文章で表示されていますが、最後にすべて連結したものが表示されます)。

進捗状況

⑪ 完了すると、最後にすべてを連結した文章が表示されますので、選択してコピーし、ワードなどテキストエディタに貼り付けてご利用ください。

完了

続けて実行する場合

たとえば音声ファイルを入れ替えて文字起こししたい場合などは、再生ボタンを押せば、再度実行できます。

もしうまく行かない場合は、メニューバーから「ランタイム」→「ランタイムを再実行」を押し、

ランタイムを再起動

さらに、上記の②、③を行い、CPUアクセラレーターをGPUに変更してから再実行してみてください。

注意:一回当たりの制限時間があり、それを超えると強制終了します

上記①のボタンを押して実行する方法は、Google Colabという仕組みを使っています。このGoogle Colabは、無償版だと最長12時間で処理が強制的に終了するようになっています。最長12時間とされているため、4~5時間で強制終了になる場合もあります。突然エラーメッセージが表示されて終了しますので、その際は制限時間に達したと考えていただきブラウザを再読み込みして再実行していただくか、時間がかかりそうであれば次のようにしてGoogle Colabのproの契約をご検討ください。

スピードアップしたい/制限時間を延ばしたい場合(Google Colab Pro版を契約)

処理の速度を上げたり制限時間を延ばしたい場合は、こちらからGoogle Colab Proもしくはpro+を契約することで可能になります。ただし、Proはこの記事執筆時点で月1,072円の費用がかかります。Pro+にするとさらに快適に使えるようになりますが、費用は月5,243円にアップします。

条件にもよりますが、Proで約2時間の音声(約80MB)を文字起こししたところ、⑤の方法でアップロードに約10分かかり(ファイルサイズが大きい場合はGoogle Driveをマウントした方がよいです)、⑧の実行ボタンを押してから文字起こしが終わるまでに約33分かかりました。

Proを一度契約すると1ヵ月間(最大100回分)は使えます。なお一度契約すると毎月自動的に支払いがなされてしまうため、解約を忘れないようにクレジットカードで1,072円の支払いが済んだら早めにこちら(もしくはこちら)から解約手続きをしておくとよいと思います(すぐ解約しても1ヵ月間は使えます)。

以上です😁

普段はこちら↓のページに議会活動等をまとめています。

🙂 議会活動等のまとめ