このプロジェクトは、ASS形式の英語字幕ファイル(.ass)を自然な日本語字幕に変換するためのステップバイステップのツール群です。
YouTubeなどの動画に付属する字幕ファイル(ASS形式)を対象に、次の処理を順に行います:
- 英語字幕の抽出(
scripts/extract_ass_text.py
) - 文の結合・整形(
scripts/merge_sentences.py
) - 日本語への翻訳と自然な文分割(
scripts/translate_en_to_ja_json.py
) - ASSファイル内の字幕置換(
scripts/ass_replace_with_translation.py
)
また、本ツールは YouTube Subtitle Pipeline を使って英語の音声文字起こしから .ass
字幕ファイル(例:input/input.ass
)を作成した後の後処理ツール群としても活用できます。
# ステップ1: ASS字幕ファイルから英語テキストを抽出
python scripts/extract_ass_text.py --input input/input.ass --output extracted_en.txt
# ステップ2: 文を自然な区切りでマージして翻訳しやすい形に整形
python scripts/merge_sentences.py --input extracted_en.txt --output merged_en.json
# ステップ3: 翻訳と自然な日本語への分割結果をJSON形式で出力
python scripts/translate_en_to_ja_json.py --input merged_en.json --output output.json
# ステップ4: ASS字幕内の英語テキストを日本語字幕で置換(モード指定可能)
python scripts/ass_replace_with_translation.py --input input/input.ass --json output.json --output modified_output.ass --mode replace
ASSファイルの [Events] セクションから15行直前以降の Text
部分を抽出し、プレーンな英語テキストとして出力します。
複数の字幕にまたがる文を一つにまとめ、句点(ピリオド)で整形することで、翻訳の質を高めます。
Deep Translatorなどを使って英語文を日本語に翻訳し、対応する行数に応じて自然に分割します。output.json
形式で保存します。
元の .ass
ファイルを読み取り、JSONファイルに基づいて英語のセリフを日本語に置換した字幕ファイルを生成します。
🆕 オプション機能:日英両字幕対応(日本語上、英語下)
input/input.ass
↓
scripts/extract_ass_text.py
↓
extracted_en.txt
↓
scripts/merge_sentences.py
↓
merged_en.txt
↓
scripts/translate_en_to_ja_json.py
↓
output.json
↓
scripts/ass_replace_with_translation.py
↓
modified_output.ass
pip install deep-translator
MIT License を適用しています。
バグ報告や機能改善リクエスト、プルリク大歓迎です!