ADVERTISEMENT

【Googleドキュメント】Whisper APIでの音声文字起こし!Pythonスクリプトとの組合せ

【Googleドキュメント】Whisper APIでの音声文字起こし!Pythonスクリプトとの組合せ
🛡️ 超解決

音声データから文字起こしをする作業は、手作業では非常に時間がかかります。Googleドキュメントの音声入力を利用する方法もありますが、長時間の音声や高精度な文字起こしには向いていません。そこで、OpenAIのWhisper APIとPythonスクリプトを組み合わせることで、高精度かつ自動化された文字起こしを実現する方法があります。この記事では、Pythonスクリプトを使ってWhisper APIを呼び出し、その結果をGoogleドキュメントに自動で書き出す手順を詳しく解説します。

【要点】Whisper APIとPythonスクリプトで音声文字起こしを自動化する手順

  • OpenAI APIキーの取得: Whisper APIを利用するために、OpenAIのアカウントからAPIキーを発行します。
  • Google Docs APIの有効化と認証設定: Google Cloud Consoleでプロジェクトを作成し、Google Docs APIを有効にしてサービスアカウントの認証情報をダウンロードします。
  • Pythonスクリプトの作成: 音声ファイルを読み込み、Whisper APIに送信して文字起こしテキストを取得し、Google Docs APIで新しいドキュメントに書き込みます。

ADVERTISEMENT

Whisper APIとGoogleドキュメント連携の概要

Whisper APIはOpenAIが提供する音声認識APIで、日本語を含む多言語に対応し、高い認識精度を持ちます。このAPIをPythonスクリプトから呼び出すことで、音声ファイルからテキストを取得できます。さらに、Google Docs APIを使えば、取得した文字起こし結果を自動的にGoogleドキュメントとして保存できます。これにより、会議の議事録やインタビューの文字起こしを効率化できます。必要なものは、Python環境、OpenAIのAPIキー、Google Cloudのサービスアカウントです。以下の手順に沿って進めれば、誰でも簡単に自動文字起こしシステムを構築できます。

事前準備:必要な環境とAPIキーの取得

まず、Pythonがインストールされていることを確認してください。次に、必要なライブラリをインストールします。以下のコマンドをターミナルで実行してください。

「pip install requests openai google-api-python-client google-auth-httplib2 google-auth-oauthlib」

OpenAIのAPIキーは、OpenAIのウェブサイトでアカウントを作成し、APIキーを発行します。発行されたキーは安全に保管してください。

次に、Google Cloud Console(https://console.cloud.google.com)にアクセスし、新しいプロジェクトを作成します。プロジェクト内で「APIとサービス」から「Google Docs API」を有効にします。その後、「認証情報」でサービスアカウントを作成し、JSON形式の秘密鍵をダウンロードします。このJSONファイルをPythonスクリプトと同じフォルダに配置してください。

Pythonスクリプトの作成

以下の手順でPythonスクリプトを作成します。スクリプトは音声ファイルのパスを引数として受け取り、文字起こし結果をGoogleドキュメントに出力します。

  1. 必要なモジュールのインポート
    スクリプトの先頭で、openai、google.oauth2.service_account、googleapiclient.discoveryなどのモジュールをインポートします。
  2. OpenAI APIキーの設定
    「openai.api_key = ‘YOUR_API_KEY’」のようにAPIキーを設定します。環境変数から読み込む方法も推奨します。
  3. Google Docs APIの認証
    ダウンロードしたJSONファイルを読み込み、サービスアカウントの認証情報を作成します。「SCOPES = [‘https://www.googleapis.com/auth/documents’]」としてスコープを指定します。
  4. Whisper APIへのリクエスト
    音声ファイルをバイナリで開き、「openai.Audio.transcribe(‘whisper-1’, file)」で文字起こしテキストを取得します。言語が日本語の場合は「language=’ja’」を指定します。
  5. Googleドキュメントの作成
    取得したテキストを元に、Google Docs APIの「documents.create」メソッドで新しいドキュメントを作成し、本文を書き込みます。

スクリプトの実行例

以下は、実際のPythonコードの簡略化した例です。

「python transcribe.py audio.mp3」のように実行すると、音声ファイル「audio.mp3」の文字起こしが行われ、結果が新しいGoogleドキュメントに保存されます。ドキュメントのタイトルは自動生成されるか、指定することもできます。

注意点として、Whisper APIにはファイルサイズの制限(最大25MB)があります。また、音声ファイルの形式はMP3、M4A、WAVなどに対応しています。長時間の音声は分割して処理する必要があります。

注意点とよくあるトラブル

APIキーの漏洩防止

APIキーはスクリプトに直接記述せず、環境変数から読み込むようにしてください。誤ってGitHubなどに公開しないよう注意が必要です。

Google Docs APIの権限エラー

サービスアカウントでドキュメントを作成する場合、そのドキュメントはサービスアカウントの所有物になります。自分が編集できるようにするには、サービスアカウントに権限を付与するか、ドキュメント作成後に所有権を変更する必要があります。もしくは、OAuth2.0を使ってユーザー認証する方法もあります。

音声認識精度の向上

背景ノイズや複数話者の重なりがある場合、認識精度が低下することがあります。Whisper APIは比較的耐ノイズ性に優れていますが、事前に音声をクリーンアップしたり、話者ごとに区切ったファイルを用意すると良いでしょう。

ADVERTISEMENT

Whisper APIと他の文字起こし方法の比較

方法 精度 コスト 自動化の容易さ
Whisper API + Python 高い(日本語も良好) 従量課金($0.006/分) 高い(スクリプト作成が必要)
Google Speech-to-Text 高い(日本語は良好) 従量課金($0.006/分~) 高い(クライアントライブラリ充実)
Googleドキュメント音声入力 中程度(話し言葉に弱い) 無料 低い(手動操作が必要)
手動入力 高い(人間が行う) 人件費が高い 非常に低い

まとめ

Whisper APIとPythonスクリプト、Google Docs APIを組み合わせることで、音声ファイルから高精度な文字起こしを自動的に行い、結果をGoogleドキュメントに保存するシステムを構築できます。この方法を使えば、会議録やインタビュー文字起こしの時間を大幅に削減できます。次のステップとして、複数の音声ファイルを一括処理する機能や、文字起こしテキストにタイムスタンプを付加する機能を追加することも可能です。ぜひ、実際にスクリプトを作成して、作業効率を向上させてみてください。

ADVERTISEMENT

📄
Googleドキュメントトラブル完全解決データベースこの記事以外にも、書式・共有・Apps Script・引用など様々な困りごとへの解決策をまとめています。逆引きに活用してください。
この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。