コンテンツにスキップ

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

Whisperと出会うまでの文字起こし

Section titled “Whisperと出会うまでの文字起こし”

私はできる限り会議録を残すようにしています。参加者の発言をその場でPCに打ち込み、その場で会議録をほぼ完成させるスタイルです。以前は録音を聞いてタイプしていましたが、骨の折れる作業でした。いろいろな自動化ソフトも試しました。しかし、雑音があるときや話者がマイクから遠いときなどは、うまく認識してくれません。結局、その場でタイプする方法に落ち着きました。

そんな中、令和4年9月22日にOpenAIから文字起こしAIの Whisper が公開されました。試してみると驚きの性能で、それ以来、各種会議の文字起こしに活用しています。

その手法をここに説明いたします。皆様のお役に立てましたら幸いです。

かんたん手順(手順だけ知りたい方)

Section titled “かんたん手順(手順だけ知りたい方)”
  1. Colab を開く(Google アカウントでログイン)
  2. 「ランタイム」→「ランタイムのタイプを変更」→ T4 GPU に設定
  3. 音声ファイルを Google Drive の「マイドライブ」直下にアップロード
  4. コード内のパスを確認(デフォルト: MyDrive/onsei.mp3
  5. ▶(実行)→「このまま実行」
  6. 完了したら結果をコピー(Ctrl+C 不可、右クリック→「選択した内容をコピーする」)
  7. 必要に応じて生成AI(ChatGPT 等)に貼り付け→整形

詳細は続きをご覧ください。

昨今の凄まじいAI進化は、人類によいことなのでしょうか、悪いことなのでしょうか。画像生成AIには著作権上の問題があるため、私は使おうとは思いません。しかし会議録の文字起こし作業については、著作権侵害を心配する必要もなく、個人的な利用であれば雇用の喪失にもつながりません。掃除・洗濯・食器洗いが自動化されてきたものと同じ、人類のしあわせにつながることではないかと思います。ここではその視点に立ち、Whisperを紹介します。

Whisperのページを読むと、単語誤り率(Word Error Rate; WER)は日本語で約6.4%とされています。「ほぼ完ぺき」と言われる5%に近く、実際の使用感でも非常に高い精度です。ファインチューン というものを行えば、100%に近い精度も期待できるとのことです。

小平市議会定例会における私の質問と、それに対する理事者側答弁の音声をWhisperで文字起こしすると、たとえば次のようになります(間違えている箇所は黄色でマーク)。

▼ 文字起こし例 1

教育委員会としては重大事態として扱わなかったという事例があるんですが、一般して最終的に重大事態として扱うことになったんですが、その専門家から助言を受けたことで重大事態として扱ったわけではなくて、別の理由で扱うことになった。その専門家から重大事態として扱いなさいというような助言を受けたにも関わらず(←正しくは「拘わらず/かかわらず」)、その重大事態として扱わなかった場面において教育長はどのような指示されてきたのか、例えば教育長はまっすぐに重大事態として扱いなさいとか、…

▼ 文字起こし例 2

それ以外はないということでいいですか。報酬がそれ以外ないかということでいいですか。ない。以上ということですか。ない。村(←正しくは村田)部長。まず月額給与と期末手当と退職手当、この3つとなります。他には特にはございません。以上でございます。…

▼ 文字起こし例 3

その時には私はちょっといなかったもで、詳しいところは存じ上げてはいませんが、その話については聞く中では、当時そのお話ありましたが、すぐに重大事態に持っていくというような話ではなかったということもありまして、その後様々な話を聞く中で、やはり我々の市の方の重大事態に対する考え方というのも少し甘かったというところも確かに反省する点はございます。安田経議員がご指摘されていたように、重大事態の考え方というのは、やはりしっかりと我々の中で共通認識を持って対応する必要があると考えていますので…

個人名はさすがに難しいようですが、ほぼ完ぺきに文字起こしできています。ファインチューンによる最適化でさらに精度が上がるようです。しかし手間がかかるため、通常は次節で紹介する生成AIによる後処理で十分にカバーできます。

実行環境を用意しました。Google Drive に音声ファイルを置き、Colab から直接読み込む(意味が分からなくても大丈夫です)方法で、インストール不要・無料で利用できます。

① 次のリンクを開きます。(ブラウザは Google Chrome 推奨)

👉 Google Colab で開く

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

Colab ログイン画面

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

ランタイム変更メニュー

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

GPU設定画面

⑤ 文字起こししたい音声ファイルを Google Drive の「マイドライブ」直下にアップロードします。 ここでは例として onsei.mp3 で説明します。mp3、m4a、wav などの音声ファイルだけでなく、mp4 などの動画ファイルもそのまま文字起こし可能です。

マイドライブにアップロード

アップロードが完了するまで待ちます。

アップロード中

⑥ コード内のファイルパスを確認します。

次の図の赤枠で囲んだ部分が、「パス」と呼ばれる、ファイルの置かれている場所です。デフォルトでは /content/drive/MyDrive/onsei.mp3 になっています。

ファイルパスの確認

ファイル名や保存場所に応じて、パスを次のように書き換えてください。

  • ファイル名が違う場合: /content/drive/MyDrive/kaigi.mp4(例)
  • 保存先フォルダが違う場合: /content/drive/MyDrive/会議録/onsei.mp3(例)
  • ファイル名と保存先フォルダが違う場合:/content/drive/MyDrive/会議録/kaigi.mp4(例)

⑦ 三角形の実行ボタン(▶)を押します。

実行ボタン

「このノートブックに Google ドライブへのファイルへのアクセスを許可しますか?」と表示されたら、「Google ドライブに接続」 を押してください。

アクセス警告

また、「このノートブックは Google が作成したものではありません」という警告が表示されたら、「このまま実行」 を押してください。

このまま実行

また、次のように表示される場合は「次へ」や「続行」を押してください。

Googleログイン アカウントアクセス

許可をすると、次の図のように進捗していきます。グーグルドライブの許可タイミングによっては、初回でエラーが出る場合があります。もしエラーが出るようでしたら、再度三角形の実行ボタンを押してみてください。

Whisperで文字起こし中の様子

完了すると、最後にすべてを連結した文章が表示されます。

文字起こし完了

表示された文字起こし結果は Ctrl+C ではコピーできません。マウスで結果を選択し、右クリック →「選択した内容をコピーする」 を選んでください。

選択してコピー

コピーしたテキストを Word などに貼り付けてご利用ください。

続けて実行する場合や不具合が起きた場合

Section titled “続けて実行する場合や不具合が起きた場合”

別の音声ファイルを文字起こししたい場合は、ブラウザの再読み込みボタンを押して再度手順を繰り返してください。また、何か途中で不具合が起きた場合には、三角形の実行ボタン(▶)を押したり、ブラウザの再読み込みボタンを押したりすることで直る場合があります。

文字起こし結果を生成AIで仕上げる

Section titled “文字起こし結果を生成AIで仕上げる”

ここまでの手順で得られた文字起こし結果は、Whisper だけでも十分実用的です。しかし、このテキストを 生成AI(ChatGPT, Grok, Claude, Gemini, DeepSeek など)に渡す ことで、さらに高品質な会議録に仕上げることができます。

  1. 誤字・脱字の修正 Whisperの聞き間違い(例: 「粉糖して」→「奮闘して」)を文脈から推測して修正してくれます。

  2. 話者の特定とラベル付け あらかじめ話者の情報(「市長=小林洋子」「質問者=安竹洋平」など)を伝えておけば、発言ごとに 【安竹】 【市長】 のように話者ラベルを付けてくれます。

  3. フィラーの除去と文章整形 「えー」「あのー」といったフィラー(つなぎ言葉)を除去し、読みやすい文章に整形します。

  4. 要約の生成 長い会議の要点を箇条書きでまとめることもできます。

上記⑧でコピーしたテキストを、次のようなプロンプトとともに生成AIに渡します。

以下は市議会の一般質問の文字起こしです。次のように整形してください:

  • 誤字・脱字を文脈から判断して修正する
  • 話者を特定し、発言の先頭に【話者名】を付ける 話者: 安竹洋平(質問者)、市長、教育長
  • 「えー」「あのー」などのフィラーは削除する
  • 文意が通るように適宜句読点を補う
  • 元の発言内容は変えないこと

[ここにWhisperの文字起こし結果を貼り付ける]

Whisper出力(生):

いじめの重大事態に関してですよ専門家から重大事態としてこれを扱いなさいと扱った方がいいですよという助言を受けながらですね教育委員会としては重大事態として扱わなかったという事例があるんですが一般して最終的に重大事態として扱うことになったんですが…

生成AIで整形後:

【安竹】いじめの重大事態に関してです。専門家から「重大事態として扱った方がいい」という助言を受けながら、教育委員会としては重大事態として扱わなかった事例があります。最終的に重大事態として扱うことになったのですが…

ここまでをまとめると、次のような流れになります。

音声/動画ファイル(.mp3/.m4a/.wav/.mp4 等)
↓ Whisper で文字起こし(Colab)
生テキスト(誤字・フィラーあり)
↓ 生成AI で整形
整形済みテキスト(話者ラベル・句読点付き)
↓ 最終確認・加筆
完成した会議録

この方法を組み合わせることで、2時間の会議の会議録作成が、従来の10分の1未満の時間で完了するまでにもなりました。

制限時間を延ばしたい場合(Google Colab Pro)

Section titled “制限時間を延ばしたい場合(Google Colab Pro)”

処理の速度を上げたり制限時間を延ばしたりしたい場合は、Google Colab Pro もしくは Pro+ を契約することで可能になります。

プラン月額料金(記事執筆時点)特徴
無償版無料最長12時間(実質4〜5時間)
Pro約1,200円高速GPU、最大100回分
Pro+約6,000円さらに高速、より長い制限時間

条件にもよりますが、Pro で約2時間の音声(約80MB)を文字起こししたところ、Google Drive からの読み込みに約10分、文字起こし完了までに約33分かかりました(令和4年9月時点)。

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