OpenAI WhisperをWindows PCで動かす:会議の録画・音声を文字起こしする方法

ChatGPTで知られるOpenAIは、文章や画像を扱う生成AIだけでなく、音声を文字に変換するAIも公開しています。それが「Whisper」です。

Whisperは、会議の録音や動画から、発言内容を文字起こしするための音声認識モデルです。オープンソースとして公開されており、必要な環境を整えれば、自分のPC上で実行することもできます。

以前の記事では、ZoomやMicrosoft TeamsのAI議事録だけに頼らず、文字起こし、生成AIによる情報整理、人間による最終確認を組み合わせる方法を紹介しました。

今回は、その実践編です。

Windows PC上でWhisperを動かし、会議の録画や音声から文字起こしテキストを作成する方法を紹介します。プログラムを一度用意すれば、次回からは同じ手順で繰り返し利用できます。

1. なぜPC上でWhisperを動かすのか

会議の文字起こしには、ZoomやMicrosoft Teamsなどの会議ツールに組み込まれたAI機能を利用できます。会議の要約やアクションアイテムの整理などを自動化できるため、便利な機能です。

しかし、こうした機能を、すべての会議参加者が自由に利用できるとは限りません。利用できる機能や権限は、サービスの契約プラン、組織の設定、会議の主催者や参加者に付与された権限などによって異なります。例えば、会議の要約やAIによる分析結果を利用できるのが主催者側に限られていたり、参加者が会議後に録画や要約へアクセスするには、別途権限が必要だったりするケースもあります。

そのため、一般の会議参加者としては、会議の録画ファイルを共有してもらい、自分で内容を確認することが中心になりがちです。しかし、録画を最初から見直すには時間がかかりますし、後から特定の話題について確認したい場合にも、該当箇所を探すのは簡単ではありません。

そこで選択肢になるのが、自分がアクセスできる会議録画や音声をWhisperで文字起こしする方法です。

Whisperは、クラウド型の文字起こしサービスを利用する代わりに、自分のPC上で音声認識を実行できます。文字起こしテキストを作成しておけば、後から内容を検索したり、生成AIに読み込ませて議事録を作成したりすることもできます。

WhisperをPC上で実行するメリットとして、次の3点が挙げられます。

  • 利用料金を抑えられる: 自分のPCでWhisperを実行すれば、文字起こしのたびに外部サービスの利用料金が発生する仕組みを避けられます。ただし、PCの購入費用や電気代、環境構築の手間などは別途かかります。
  • 長時間の録画を扱いやすい: オンラインサービスで設定されている録画時間やファイルサイズなどの制限に左右されにくくなります。ただし、実際に処理できる長さはPCのメモリや性能などにも依存します。
  • 録画データを外部の文字起こしサービスに送らずに済む: PC上で文字起こしを行えば、音声や動画を文字起こしサービスへアップロードせずに処理できます。ただし、その後に文字起こしテキストをクラウド型の生成AIへ送る場合は、別途、データの取り扱いを検討する必要があります。

では、実際にWindows PCでWhisperを動かしてみましょう

2. WhisperをPC上で動かすための準備

今回はWindows PCを例に説明します。Pythonというプログラミング言語の実行環境と、音声・動画ファイルを扱うためのFFmpegをインストールし、Whisperを利用できるようにします。

最初に環境を整える必要はありますが、一度設定すれば、次回以降は同じ環境を使って文字起こしを実行できます。

Step 1:Pythonをインストールする

Whisperを実行するには、Pythonの実行環境が必要です。

まず、以下の公式サイトからWindows用のPythonをダウンロードします。

ダウンロードしたインストーラーを実行して、Pythonをインストールします。

インストール画面に「Add Python to PATH」というチェック項目が表示された場合は、チェックを入れておくと、その後の操作が簡単になります。

インストールが完了したら、Windowsのスタートメニューから「コマンドプロンプト」を開き、以下のコマンドを入力します。

python --version

Pythonのバージョン番号が表示されれば、基本的な準備は完了です。

もしコマンドが認識されない場合は、PATHの設定やインストール状況を確認してください。また、Pythonのバージョンや依存ソフトウェアの組み合わせによっては、追加の調整が必要になる場合があります。

Step 2:FFmpegをインストールする

次に、FFmpegをインストールします。

FFmpegは、動画や音声ファイルを扱うためのソフトウェアです。WhisperでMP4形式の動画やM4A形式の音声ファイルを処理する際にも利用されます。

以下の公式サイトからWindows向けの配布情報を確認してください。

Windows向けの実行ファイルを入手してインストールし、コマンドプロンプトから実行できるようにPATHを設定します。配布形態によって具体的な手順は異なります。

設定ができたら、コマンドプロンプトで次のコマンドを実行します。

ffmpeg -version

バージョン情報が表示されれば、FFmpegを実行できる状態です。

Step 3:Whisperをインストールする

PythonとFFmpegの準備ができたら、Whisperをインストールします。

コマンドプロンプトで以下のコマンドを実行してください。

pip install -U openai-whisper

必要なファイルがダウンロードされ、インストールが進みます。PCの環境やネットワークの状態によっては、しばらく時間がかかることがあります。

Whisperの公式リポジトリには、インストール方法や対応環境などの情報が掲載されています。

ここまで完了すれば、Whisperを実行するための基本的な環境が整います。

Step 4:文字起こし用のフォルダとPythonファイルを作る

続いて、会議録画を文字起こしするためのプログラムを用意します。

まず、Windowsのエクスプローラーで、以下のフォルダを作成します。

C:\whisper_exec\

次に、文字起こししたい会議録画を、このフォルダに保存します。今回は、ファイル名を Meeting.mp4 とします。

同じフォルダに、transcribe_mp4.py という名前のファイルを作成してください。

メモ帳などのテキストエディターを開き、以下のプログラムを貼り付けて保存します。

from pathlib import Path
import os
import whisper

# スクリプトが置かれたフォルダを作業フォルダに設定
os.chdir(Path(__file__).resolve().parent)

print("モデルをロード中...")
model = whisper.load_model("small")

print("文字起こしを実行中...")
result = model.transcribe(
    "Meeting.mp4",
    language="ja",
    task="transcribe"
)

# 文字起こし結果をテキストファイルに出力
with open("Meeting.txt", "w", encoding="utf-8") as f:
    f.write(result["text"])

print("完了!Meeting.txt ファイルが作成されました")
input("Enterキーを押すと終了します...")

このプログラムでは、主に次の処理を行っています。

  1. Whisperのモデルを読み込む。
  2. Meeting.mp4 を文字起こしする。
  3. 認識した文章を Meeting.txt というテキストファイルに保存する。

small は、Whisperのモデルの一つです。モデルが大きいほど認識精度が向上する場合がありますが、その分、メモリや処理時間が必要になります。まずは small で試し、PCの性能や認識結果に応じて調整するとよいでしょう。

初めて実行する際は、モデルのダウンロードにインターネット接続が必要です。モデルをダウンロードした後の文字起こし処理は、基本的にPC上で実行できます。

ファイルを保存するときは、拡張子が .py になっていることを確認してください。メモ帳で保存する場合、ファイル名に .txt が追加されてしまわないように注意が必要です。

フォルダの中身は、以下のようになります。

C:\whisper_exec\
    ├─ transcribe_mp4.py
    └─ Meeting.mp4
MP4だけでなく、M4A形式の音声ファイルも文字起こしできる

文字起こしの対象は、MP4形式の動画ファイルだけではありません。例えば、スマートフォンの録音アプリなどで録音した M4A形式の音声ファイル も、同じ方法で文字起こしできます。

その場合は、音声ファイルを Meeting.m4a という名前で同じフォルダに置き、Pythonスクリプト内の入力ファイル名を次のように変更します。

result = model.transcribe(
    "Meeting.m4a",
    language="ja",
    task="transcribe"
)

基本的には、読み込むファイル名を変更するだけです。FFmpegが正しくインストールされていれば、Whisperは対応する音声ファイルも処理できます。

この方法を使えば、オンライン会議の録画だけでなく、スマートフォンで録音した対面会議や打ち合わせの音声からも、文字起こしテキストを作成できます。

なお、今回のコードでは、出力ファイル名は Meeting.txt のままです。別の会議の文字起こしを実行する際に、以前のテキストを上書きしたくない場合は、出力ファイル名も変更してください。

録音する際は、参加者への説明や同意、社内ルールなどにも配慮しましょう。

Step 5:Pythonファイルをダブルクリックして実行する

準備ができたら、エクスプローラーで C:\whisper_exec\ フォルダを開き、transcribe_mp4.py をダブルクリックします。

Pythonの実行環境が正しく設定されていれば、プログラムが起動し、文字起こしが始まります。

初回はモデルの読み込みに時間がかかる場合があります。その後、録画の長さやPCの性能に応じて処理が進みます。

処理が完了すると、同じフォルダに Meeting.txt が作成されます。

C:\whisper_exec\
    ├─ transcribe_mp4.py
    ├─ Meeting.mp4
    └─ Meeting.txt

この Meeting.txt を開けば、会議で話された内容をテキストとして確認できます。

次の会議を文字起こしする場合は、入力ファイルを差し替えるか、プログラム内のファイル名を変更して実行します。出力ファイル名を変更しなければ、既存の Meeting.txt は上書きされるため、必要に応じてファイルを別名で保存しておきましょう。

一度環境を整えてしまえば、毎回コマンドを入力することなく、Pythonファイルをダブルクリックするだけで文字起こしを実行できるようになります。

3. 文字起こし結果を確認する

文字起こしが完了したら、作成された Meeting.txt を開き、内容を確認してみましょう。

音声認識の結果は、必ずしも完全ではありません。例えば、次のような点に注意が必要です。

  • 人名や会社名、製品名が正しく認識されているか
  • 専門用語や略語が誤認識されていないか
  • 金額、日付、数量などが正しいか
  • 発言が重なった箇所や聞き取りにくい箇所が抜けていないか

特に、業務上重要な決定事項や契約条件などについては、元の録画や音声と照らし合わせて確認することが大切です。

また、このプログラムは文字起こし結果を一つのテキストファイルに出力するシンプルな構成です。発言者の区別やタイムスタンプが必要な場合は、プログラムを拡張するなど、別の方法を検討する必要があります。

4. 文字起こしの次にできること

ここまでの手順で、会議の録画や音声から文字起こしテキストを作成できるようになりました。

しかし、文字起こしは、それ自体が最終目的ではありません。

作成したテキストを生成AIに読み込ませれば、議事録を作成したり、特定の話題に関する発言を探したり、複数の会議にまたがる議論の経緯を整理したりすることもできます。

例えば、会議でデータ連携について議論したことは覚えていても、具体的にどの方式が候補になっていたのか、誰がどのような懸念を示したのか、すぐには思い出せないことがあります。

文字起こしテキストがあれば、生成AIにその内容を確認させ、根拠となる発言を抽出するよう依頼できます。

次回の記事では、Whisperで作成した文字起こしテキストを生成AIに読み込ませ、議事録作成や過去の発言検索に活用する方法を紹介します。

文字起こしを「記録を作るための作業」から「会議で話された情報を後から活用するための仕組み」へと発展させる方法を見ていきましょう。

参考リンク