OpenAIのWhisperで簡単に文字起こしを始める方法

議事録作成GPTsを構築するにあたって音声データからの文字起こしの手段としてOpenAIのWhisperについて調査しました。Whisperについて解説します。

Whisperとは?

OpenAIが提供する音声認識モデルです。音声データを入力として文字起こしや翻訳を行う事ができます。API呼び出しのほかにオープンソースバージョンが提供されています。

Whisperのインストール

Windowsのオープンソース版のインストール方法は以下の通りです。

ffmpegのインストール

公式ページからffmpegをダウンロードして任意のフォルダに解凍します。インストールディレクトリのbinにpathを通しておきます。

Whisperのインストール

Pythonの仮想環境を構築し、以下のコマンドでインストールします。numpyがv2だと動かなかったのでダウングレードしています。

pip install -U openai-whisper
pip install numpy==1.26.4

動作確認

Whisperをインストールした仮想環境をアクティベイトして以下のコマンドを実行して文字起こしされればOKです。

whisper hoge.mp3

Detected language: Japanese
[00:00.000 –> 00:01.120] 私は山田です

出力結果

以下5つのファイルが出力されます。

  • txt: 単純に文字起こしした結果が格納されています
  • tsv: 発言の開始、終了の時間と発言内容がタブ区切りで出力されます
  • srt: 基本的な字幕形式です
  • vtt: スタイリングやポジションをサポートした字幕形式です
  • json: text、segments、languageの3つの要素で文字起こしの詳細が出力されます
    • text: 文字起こし結果の全文
    • segments: 個々の発言の詳細
    • language: 言語

Pythonから動かす方法

以下のようなコードで実行できます。この例だとモデルにbaseを指定しているので精度はあまり良くありません。largeを指定すると精度は高くありますが2.8Gのモデルをダウンロードして処理するので時間がかかります。

import whisper

model = whisper.load_model("base")
result = model.transcribe("hoge.mp3")
print(result["text"])

メリット

すぐ使える

インストール手順を見て頂いた通り、pythonが動く環境があればすぐに使えます。

無料で使える

OpenAIのAPIと異なりユーザー登録やAPIキーの取得も必要なく無料で使えます。

デメリット

ローカルマシンのスペックに依存する

ローカルマシンで動くので処理速度はマシンスペックに依存します。スペックの低いPCで動かすとAPIよりも処理に時間がかかります。逆にGPUを搭載したPCで--device cudaを指定すれば処理時間を短縮できるかもしれません。

話者を識別できない

複数人の会話データにおいて話者を区別することができません。議事録のように誰の発言かを区別する必要がある場合にはWhisperは使用できません。替わりにAmazon Transcribeのようなサービスを使う必要があります。

まとめ

Whisperのオープンソースバージョンの使い方を解説しました。無料で音声データの文字起こしが簡単に行えます。デフォルトで字幕データが作成されるので動画に後から字幕を付けるには便利かもしれません。--max_line_width--max_line_countなど字幕に関するオプションも存在しています。

この記事を書いた人
新技術基盤開発室の鈴村です。AWS初心者からAWSアンバサダーを目指すチャレンジをしています。このアイコンはChatGPTに描かせました。
新技術基盤開発室の鈴村です。AWS初心者からAWSアンバサダーを目指すチャレンジをしています。このアイコンはChatGPTに描かせました。
>お役立ち資料のダウンロード

お役立ち資料のダウンロード

ブログでは紹介しきれないシステム開発や導入におけるケーススタディを資料にまとめました。お気軽にダウンロードください。

CTR IMG