今回は、Google ColaboratoryとWhisperを使って、Googleドライブに保存している動画の文字起こしを行う方法をご紹介します。この方法を使えば、無料で高精度な文字起こしが可能になります。それでは、具体的な手順を見ていきましょう。
Google Colaboratoryの準備
まずは、Google Colaboratoryの環境を整えましょう。
- Google Driveにアクセスします。
- 「新規」→「その他」→「Google Colaboratory」を選択して、新しいノートブックを作成します。
- ノートブックが開いたら、上部メニューから「ランタイム」→「ランタイムのタイプを変更」を選択し、ハードウェアアクセラレータを「GPU」に設定します。


必要なライブラリのインストール
次に、Whisperモデルと関連ライブラリをインストールします。以下のコードをセルに貼り付けて実行してください。
!pip install git+https://github.com/openai/whisper.git
!sudo apt update && sudo apt install ffmpeg

Whisperのインストール
Colaboratoryのセルに以下のコマンドを入力し、実行してください。
!pip install git+https://github.com/openai/whisper.git

Google Driveのマウント
ColaboratoryからGoogle Driveにアクセスできるようにします。
from google.colab import drive
drive.mount('/content/drive')
実行後、表示されるリンクをクリックして認証を行ってください。


フォルダ構造の作成
Whisper用のフォルダをGoogle Drive内に作成します。
import os
# フォルダパスの設定
base_folder = "/content/drive/MyDrive/Whisper"
video_folder = os.path.join(base_folder, "videos")
audio_folder = os.path.join(base_folder, "audio")
text_folder = os.path.join(base_folder, "text")
# フォルダの作成
for folder in [base_folder, video_folder, audio_folder, text_folder]:
os.makedirs(folder, exist_ok=True)
print("フォルダ構造が作成されました。")

動画のアップロード
作成したWhisperビデオフォルダ(/content/drive/MyDrive/Whisper/videos)に文字起こしを行いたい動画をアップロードします。
これはGoogle Driveのウェブインターフェースから直接行ってください。

音声抽出と文字起こし
アップロードした動画から音声を抽出し、Whisperモデルを使用して文字起こしを行います。
import whisper
import os
# 動画ファイルのリストを取得
video_files = [f for f in os.listdir(video_folder) if f.endswith(('.mp4', '.avi', '.mov'))]
for video_file in video_files:
video_path = os.path.join(video_folder, video_file)
audio_path = os.path.join(audio_folder, os.path.splitext(video_file)[0] + '.mp3')
text_path = os.path.join(text_folder, os.path.splitext(video_file)[0] + '.txt')
# 動画から音声を抽出
!ffmpeg -i "{video_path}" -q:a 0 -map a "{audio_path}" -y
# Whisperモデルをロード
model = whisper.load_model("base")
# 音声ファイルを文字起こし
result = model.transcribe(audio_path)
# 結果をテキストファイルに保存
with open(text_path, "w", encoding="utf-8") as f:
f.write(result["text"])
print(f"{video_file}の文字起こしが完了しました。")


結果の確認
文字起こし結果は指定したテキストファイルフォルダ(/content/drive/MyDrive/Whisper/text)に保存されます。

Google Driveで該当フォルダを開き、生成されたテキストファイルを確認してください。

もし、文字起こしの結果が微妙な場合は、モデルをlargeなど高性能な方に変更して再試行してみましょう。
まとめ
注意点として、大きなファイルや長時間の動画の場合は処理に時間がかかる場合があります。また、Colaboratoryのセッション時間には制限があるので、長時間の処理が必要な場合は注意が必要です。
以上が、Google ColaboratoryとWhisperを使用してGoogleドライブの動画から文字起こしを行う手順です。この方法を使えば、無料で高精度な文字起こしが可能になります。動画の内容を文字として残したい場合や、字幕作成の下準備として非常に役立つでしょう。