プログラミングでYouTube動画のテロップ入れを自動化する方法

AI×自己改善

はじめに

YouTube動画の編集は時間がかかる作業ですが、特にテロップ入れは手作業では非常に大変です。例えば、5分の動画にテロップを入れるだけで2時間以上かかることもあります。本記事では、プログラムを使ってこの作業を自動化する方法を紹介します。

自動化の流れ

今回の自動化の流れは以下の通りです。

  1. 動画を音声データに変換
  2. 音声認識を利用して文字起こしを行う
  3. 台本を使って文章の修正を行う
  4. テロップデータを動画編集ソフトにインポートする

それでは、順番に解説していきます。

1. 動画を音声データに変換

まず、動画ファイルから音声データを抽出します。これには ffmpeg というツールを使用します。

ffmpeg -i input.mp4 -vn -acodec pcm_s16le -ar 16000 -ac 1 output.wav

このコマンドで input.mp4 から音声データ output.wav を取り出します。

2. 音声認識を利用して文字起こし

音声データをテキスト化するには WhisperGoogle Speech-to-Text などの音声認識APIを活用します。

Pythonで Whisper を利用する場合は以下のようなコードになります。

import whisper

model = whisper.load_model("base")
result = model.transcribe("output.wav")
print(result["text"])

このコードを実行すると、音声データ output.wav がテキストに変換されます。

3. 台本を使って文章の修正

音声認識は誤変換が多いため、事前に用意した台本と照らし合わせて修正を行います。テキストの類似度を計算する方法として、コサイン類似度 を使用します。

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

def correct_text(recognized_text, script):
    vectorizer = TfidfVectorizer().fit_transform([recognized_text, script])
    similarity = cosine_similarity(vectorizer[0], vectorizer[1])
    return script if similarity[0][0] > 0.8 else recognized_text

この方法を使うと、誤認識された単語を台本と照らし合わせて正しく修正できます。

4. テロップデータを動画編集ソフトにインポート

最後に、修正したテキストを SRTASS フォーマットで保存し、動画編集ソフトにインポートします。

以下は SRT ファイルの例です。

1
00:00:00,000 --> 00:00:02,000
こんにちは、これはテスト動画です。

2
00:00:02,500 --> 00:00:05,000
自動化の仕組みについて説明します。

これを video.srt として保存し、編集ソフトで読み込めば自動でテロップが反映されます。

まとめ

本記事では、YouTube動画のテロップ入れを自動化する方法について解説しました。

  • ffmpeg を使って動画を音声データに変換
  • WhisperGoogle Speech-to-Text で文字起こし
  • コサイン類似度 を使って文章の修正
  • SRT フォーマットでテロップを保存し動画編集ソフトで利用

この方法を使うことで、編集作業の手間を大幅に削減できます。ぜひ試してみてください!

コメント

タイトルとURLをコピーしました