コーヒ豆通販はこちら

ChatGPTとPythonを使ってテキストファイルをSRT形式に変換する方法

Premiere Pro&DaVinci Resolve

動画編集では、字幕を追加することがよくあります。特に、動画編集ソフト(例えばPremiere Pro)で使用されるSRT形式の字幕ファイルを作成することが求められます。このブログ記事では、ChatGPTを活用して手軽にテキストファイルをSRT形式に変換する方法と、Pythonスクリプトを使った自動化方法を紹介します。

SRT形式とは?

まず、SRT形式について簡単に説明します。SRTファイルは、字幕の表示時間と内容を含むシンプルな形式です。以下のような構造になります。

1
00:00:01,000 --> 00:00:05,000
こんにちは、今日は素晴らしい日です。

2
00:00:06,000 --> 00:00:10,000
はい、天気が良くて気分も最高です。

SRTファイルの主な要素は、字幕の番号、表示開始時間と終了時間、そして字幕のテキストです。

ChatGPTを使ってSRT形式に変換する方法

次に、ChatGPTを使ってテキストをSRT形式に変換する方法を紹介します。ChatGPTは、タイムコードを自動的に生成し、テキストをSRT形式に変換してくれるため、手間を大幅に削減できます。

ステップ 1: テキストをChatGPTに入力

ChatGPTに変換したいテキストを入力します。たとえば、次のような内容です:

こんにちは、今日は素晴らしい日です。
はい、天気が良くて気分も最高です。

ステップ 2: タイムコードの設定

次に、ChatGPTに「各字幕は4秒表示したい」と指定します。例えば:

このテキストをSRT形式に変換してください。各字幕を4秒表示する設定でお願いします。

ステップ 3: SRT形式の出力

ChatGPTは、指定された時間に基づいてSRTファイルを生成します。出力例は以下のようになります。

1
00:00:01,000 --> 00:00:05,000
こんにちは、今日は素晴らしい日です。

2
00:00:06,000 --> 00:00:10,000
はい、天気が良くて気分も最高です。

ステップ 4: SRTファイルの保存

生成された字幕をコピーして、テキストエディタに貼り付け、.srtという拡張子で保存します。これで、SRTファイルが完成です。

Pythonを使って自動化する方法

Pythonを使えば、テキストファイルを自動的にSRT形式に変換できます。これにより、特に長いテキストファイルや多くの字幕を処理する際に便利です。以下はそのためのスクリプトです。

Pythonコード例

以下のコードを使うと、テキストファイルを読み込み、SRT形式に自動変換できます。この例では、字幕が4秒間表示されるように設定されています。

import re

def convert_text_to_srt(text_file, output_file):
    # テキストファイルを読み込む
    with open(text_file, 'r', encoding='utf-8') as file:
        lines = file.readlines()

    # SRT形式に変換するための変数
    srt_content = []
    start_time = 0  # 時間コードの開始時間(秒)

    # テキストをSRT形式にフォーマット
    for i, line in enumerate(lines):
        line = line.strip()

        if line:
            # タイムコード(開始時間と終了時間)
            start_time_str = f'{start_time // 3600:02}:{(start_time % 3600) // 60:02}:{start_time % 60:02},000'
            end_time_str = f'{(start_time + 4) // 3600:02}:{((start_time + 4) % 3600) // 60:02}:{(start_time + 4) % 60:02},000'  # 4秒表示
            srt_content.append(f"{i + 1}\n{start_time_str} --> {end_time_str}\n{line}\n")
            start_time += 4  # 次の字幕の開始時間を4秒後に設定

    # SRTファイルとして保存
    with open(output_file, 'w', encoding='utf-8') as srt_file:
        srt_file.write("\n".join(srt_content))

    print(f"SRTファイルが'{output_file}'として保存されました。")

# 使用例
convert_text_to_srt('input.txt', 'output.srt')
   スクリプトの使い方
  1. 上記のコードをconvert_to_srt.pyとして保存します。
  2. 同じディレクトリに変換したいテキストファイル(input.txt)を置きます。
  3. コマンドライン(ターミナル)で以下のコマンドを実行します。
python convert_to_srt.py

これで、input.txtが自動的にSRT形式に変換され、output.srtとして保存されます。

Premiere ProでSRTファイルを使用する方法

SRTファイルが作成できたら、Premiere Proにインポートして字幕を追加できます。以下の手順で、SRTファイルをPremiere Proに追加できます。

手順

1. Premiere Proを開きます
2. プロジェクトパネルで右クリックし、「インポート」を選択します。
3. 作成したSRTファイルを選択してインポートします。
4. インポートしたSRTファイルをタイムラインにドラッグ&ドロップして、字幕を追加します。

ChatGPTとPythonを併用するメリット

  • 時間短縮:手動でタイムコードを設定せずに、ChatGPTやPythonを使って自動的に字幕を作成できます。
  • 自動化:特に大量のテキストや長時間の動画に対応する際、Pythonでの自動化が非常に便利です。
  • カスタマイズ可能:ChatGPTでタイムコードや字幕内容を柔軟にカスタマイズでき、Pythonでさらに細かい調整が可能です。

まとめ

今回は、ChatGPTを使ったSRT形式への変換方法と、Pythonを使って自動化する方法を紹介しました。どちらも字幕作成の効率化に役立ちます。特にPythonを使用すると、長いテキストや大量の字幕を一気に処理でき、時間を大幅に節約できます。動画編集作業を効率化したい方は、ぜひ試してみてください!

関連情報👇

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