日本語の動画に英語字幕と英語音声を自動で付与する方法をまとめました。Azure OpenAI ServiceのWhisperとSpeech Servicesを使用します。
今回の目的は、日本語音声の動画を以下のように多言語対応させることです:
- 日本語版 : 元の動画(日本語音声、字幕なし)
- 英語版 : 英語音声 + 英語字幕
使用サービス#
| サービス | 用途 |
|---|
| Azure OpenAI Service (Whisper) | 日本語音声 → 英語テキストへの翻訳 |
| Azure Speech Services (TTS) | 英語テキスト → 英語音声の合成 |
| FFmpeg | 音声抽出・動画結合 |
1. 環境準備#
必要なツール#
Azure設定(.env)#
2. 動画から音声を抽出#
Azure Whisper APIには25MBのファイルサイズ制限があるため、音声を圧縮して抽出します。
3. Whisperで英語字幕を生成#
Azure OpenAI ServiceのWhisper APIを使用して、日本語音声を英語に翻訳しながら文字起こしします。
ポイント : translationsエンドポイントを使用すると、日本語音声が直接英語テキストに翻訳されます。
4. Speech Servicesで英語音声を生成#
生成された字幕テキストをAzure Speech Servicesで音声合成します。
5. タイミングを同期した音声を作成#
字幕のタイムスタンプに合わせて音声を配置するため、以下の処理を行います:
- 各字幕セグメントごとに個別の音声を生成
- タイムスタンプに基づいて無音を挿入
- 全セグメントを結合
6. 英語版動画を作成#
最後に、元動画の映像と英語音声を結合します。
生成されるファイル#
| ファイル | 説明 |
|---|
original.mp4 | 日本語版(元動画) |
output_en.mp4 | 英語版(英語音声入り) |
subtitles_en.srt | 英語字幕ファイル |
YouTubeへのアップロード#
日本語版#
英語版#
- 英語音声入り動画をアップロード
- YouTube Studio → 字幕タブでSRTファイルを追加
費用について#
| サービス | 料金(目安) |
|---|
| Azure OpenAI Whisper | $0.006 / 分 |
| Azure Speech Services | $16 / 100万文字 |
8分程度の動画で数十円程度です。
まとめ#
Azure OpenAI ServiceのWhisperとSpeech Servicesを組み合わせることで、日本語動画の英語化を自動化できます。
メリット :
- 高精度な翻訳(Whisperの翻訳機能)
- 自然な英語音声(Neural TTS)
- タイムスタンプ付き字幕の自動生成
注意点 :
- 音声の長さと字幕タイミングの調整が必要
- 専門用語や固有名詞は手動で修正が必要な場合あり
リポジトリ構成#