見出し画像

whisperを使って動画ファイルからテキストデータを取り出すPythonコード

 OpenAIの音声認識API、whisperを使って動画ファイルからテキストデータを取り出すPythonコードです。
 実行する際は、コード内にOpenAIのAPIKey(自分のもの)と、動画ファイルのパスを書く必要があります。
 実行すると、実行した環境にてテキストデータが出力されます。コピペするなどして使ってください。
出力結果をGPT-4などにケバ取りや清書させてもいいでしょう。

import openai
import tempfile
import os
from moviepy.editor import *
from pydub import AudioSegment

# APIキーの設定
openai.api_key = "(ここにOpenAIのAPIKeyを入れる)"

# 動画ファイルのパスを指定
video_file_path = "(ここに動画ファイルのパスを書く)"

# 拡張子を取得
file_extension = os.path.splitext(video_file_path)[1]

# 動画から音声を抽出し、一時ファイルに保存
audio_temp_fd, audio_temp_path = tempfile.mkstemp(suffix=".mp3")
os.close(audio_temp_fd)

video = VideoFileClip(video_file_path)
audio = video.audio

audio_segment = AudioSegment.from_file(audio.filename, file_extension[1:])
audio_segment.export(audio_temp_path, format="mp3")

# Whisper APIを使用して音声をテキストに変換
with open(audio_temp_path, "rb") as audio_file:
    response = openai.Audio.transcribe(
        file=audio_file,
        model="whisper-1",
        format="transcription"
    )

# 結果を表示
transcription = response["text"]
print("Transcription:", transcription)

# 一時ファイルを削除
os.remove(audio_temp_path)

この記事が気に入ったらサポートをしてみませんか?