このプロジェクトは、指定したディレクトリに存在する.flacオーディオファイルと、そのオーディオに対応するセリフ(.txtファイル)を用いて、字幕ファイル(SRT形式)を自動生成するPythonスクリプトです。
主な機能は以下のとおりです:
- 指定したディレクトリから.flacファイルを連続で読み込みます。
- それぞれの.flacファイル名と同名の.txtファイル(セリフ)を読み込みます。
- .flacファイルの音声の再生時間を計算します。
- セリフと音声の時間をもとに、SRT字幕ファイルを生成します。
- まずはこのリポジトリをクローンまたはダウンロードします。
- 次に、Pythonの必要な依存関係をインストールします。Terminalやコマンドプロンプトを開き、以下のコマンドを実行します:
pip install -r requirements.txt
- VOICEPEAKの場合は次のようにして連番のflacファイルとセリフのファイルを生成します。重要な点は「セリフをファイルに保存」をオンにしていること、「ブロックごとに分割して保存」していることです。
- スクリプトを実行します:
ここで
python create_srt.py <your_directory>
<your_directory>
は.flacファイルと.txtファイルが格納されているディレクトリのパスです。
JSONは別に制作しているRemotionで動画(ゆっくり動画のようなイメージ)を生成するときに字幕と音声を自動的に同期させるために使います。単独では役に立たないかも知れません。
重要な点は「セリフをファイルに保存」をオンにしていること、「ブロックごとに分割して保存」していることに加えて「命名規則」で「ボイス名」を2番目に指定していることです。
Remotionではフレーム数で時間を指定します。
これによって字幕が出現する時間(フレーム数)、字幕が消える時間(フレーム数)、誰が喋るか、テキストの4項目をJSONで出力します。
このプロジェクトはMITライセンスのもとで公開されています。詳細はLICENSEファイルをご覧ください。