※本記事には、筆者が業務上関わっているサービスへのリンクが含まれます。機能や仕様は利用時点の情報です。
月曜の朝に届いた相談
私はプログラミングのオンライン講座を制作しています。
ある月曜の朝、受講者から次のような相談が届きました。
内容がとても参考になります。海外のチームメイトにも共有したいのですが、英語字幕は付けられませんか?
講座はすべて日本語で収録しています。
プログラミング用語も多く、自動翻訳に任せると、専門用語の意味が変わってしまうことがあります。
以前にも似た要望を受けたことがありましたが、忙しさを理由に後回しにしていました。
しかし、同じ要望が続くと、さすがに無視できません。
海外のチームで講座が共有されるなら、内容を正しく伝える責任もあります。
とはいえ、すべての字幕を自分で翻訳する時間はありません。
そこで今回は、「初稿は自動生成し、最後の確認は人間が行う」という方針で字幕を作ることにしました。
翻訳より大変だったこと
最初は、動画の台本を翻訳すれば終わると思っていました。
しかし、実際に時間がかかったのは翻訳そのものではありません。
字幕を動画のタイミングに合わせる作業が大変でした。
- 音声を聞き直す
- 文章を適切な長さに分ける
- 開始時刻と終了時刻を設定する
- 翻訳文を入力する
- 字幕と映像のズレを確認する
- 誤訳や誤字を修正する
10分程度の動画でも、字幕ファイルを手作業で作ると、かなりの時間がかかります。
この方法では、講座を定期的に更新するのが難しくなりそうでした。
専門用語はそのまま任せられない
プログラミング講座では、一般的な文章よりも専門用語の確認が重要です。
例えば、次のような言葉があります。
- デプロイ
- リポジトリ
- ブランチ
- プルリクエスト
- フレームワーク
- ライブラリ
- コンテナ
これらの用語は、文脈によって訳し方が変わる場合があります。
一般的な単語として翻訳されると、受講者が本来とは違う意味で理解してしまう可能性があります。
そのため、字幕制作では「自動翻訳の精度」だけでなく、「生成後に自分で修正できるか」を重視しました。
自動生成してから編集する
今回試したのは、動画の音声を文字起こしし、翻訳字幕を生成できる動画翻訳ツールです。
基本的な流れは次のとおりです。
- 動画ファイルをアップロードする
- 原文の言語を確認する
- 翻訳先の言語を選択する
- 音声の文字起こしと翻訳を実行する
- 原文と訳文を確認する
- 字幕ファイルを書き出す
動画をアップロードすると、音声がテキスト化されます。
その後、選択した言語に翻訳され、時間情報に合わせて字幕として分割されます。
最初から字幕を一行ずつ入力する必要がないため、作業の開始地点を大きく前倒しできます。
原文と訳文を並べて確認する
一番役立ったのは、原文と訳文を並べて確認しながら編集できる点でした。
専門用語を中心に確認し、必要な部分だけ修正していきます。
特に次の項目は、公開前に必ず確認しました。
- 技術用語の訳し方
- 製品名やサービス名
- コマンドやコードの表記
- 数値やバージョン番号
- ファイル名や拡張子
- 固有名詞
- 否定表現
- 手順の順番
例えば、原文では「デプロイする」と書いてあるのに、訳文で別の一般動詞に置き換わっている場合があります。
このような表現は、講座全体の用語ルールに合わせて修正しました。
用語集を先に作る
複数の動画に字幕を付ける場合、動画ごとに訳し方が変わると受講者が混乱します。
そこで、最初に簡単な用語リストを作りました。
| 日本語 | 英語 |
|---|---|
| デプロイ | deploy |
| リポジトリ | repository |
| ブランチ | branch |
| 依存関係 | dependency |
| 環境変数 | environment variable |
このリストを確認しながら字幕を修正すると、動画ごとの表現を統一しやすくなります。
用語集は、字幕制作だけでなく、講座資料やブログ記事を翻訳する時にも利用できます。
最初に少し時間をかけておくと、後の確認作業が楽になります。
講座運用ではSRTが便利だった
講座用の字幕は、SRT形式で書き出しました。
SRTは多くの動画編集ソフトや学習プラットフォームで利用できる一般的な字幕形式です。
字幕ファイルとして管理しておけば、次のような運用ができます。
- 日本語字幕と英語字幕を切り替える
- 翻訳文だけを後から修正する
- 別の動画編集ソフトで利用する
- 他の言語用の字幕を追加する
- 元動画を再編集せずに字幕を更新する
動画に字幕を直接埋め込む方法もありますが、後から修正する可能性がある場合は、字幕ファイルを別に管理する方が扱いやすいと思います。
プレビューで確認するポイント
字幕を生成した後は、テキストだけでなく動画プレビューも確認します。
字幕の内容が正しくても、表示時間が短すぎると受講者は読み切れません。
次の点を確認すると、公開後の修正を減らせます。
- 字幕が音声より早く表示されていないか
- 次の字幕と重なっていないか
- 一文が長すぎないか
- コードやコマンドが読みやすいか
- 重要な操作手順が途中で切れていないか
- 字幕と画面上の操作が一致しているか
特にプログラミング講座では、画面上のコードと字幕の説明がずれると、受講者がどの部分を見ればよいか分からなくなります。
無料枠で試す時の考え方
無料利用では、30分までの動画を翻訳できます。
1本のレッスン動画や短い講義であれば、まず試してみるには十分な長さです。
対応形式には、MP4、MOV、MKV、AVIなどがあります。
ブラウザ上で利用できるため、専用ソフトをインストールする必要もありません。
ただし、無料枠や対応形式などの仕様は変更される可能性があります。
実際に使う前に、最新の利用条件を確認することをおすすめします。
すべての動画を一度に翻訳しない
講座全体を最初から英語化しようとすると、作業量が大きくなります。
私は次の順番で対応することにしました。
- 受講者から要望が多い動画を選ぶ
- 1本だけ英語字幕を作成する
- 用語や表現を確認する
- 受講者に見てもらう
- 問題がなければ次の動画に進む
最初の一本で用語のルールを決めておけば、次の動画でも同じ表現を使えます。
いきなり全動画を翻訳するより、少しずつ範囲を広げる方が修正もしやすくなります。
自動字幕をそのまま公開しない
自動生成された字幕は便利ですが、完全に確認なしで公開するものではありません。
特に、次のような情報は原文と照らし合わせる必要があります。
- 数字
- コマンド
- URL
- ファイルパス
- バージョン番号
- 製品名
- 否定表現
- 条件分岐
- セキュリティに関する説明
プログラミング講座では、一文字の違いが受講者の操作結果に影響することがあります。
字幕の作成を自動化しても、最終確認まで自動化できるとは限りません。
「機械に初稿を作ってもらい、人間が内容を確認する」という分担が現実的です。
字幕を付けて分かったこと
今回の作業を通して、字幕制作で重要なのは、翻訳だけではないと分かりました。
必要なのは、次の工程を一つの流れとして管理することです。
動画をアップロード
↓
音声を文字起こし
↓
字幕を翻訳
↓
専門用語を修正
↓
タイミングを確認
↓
SRTを書き出し
↓
学習プラットフォームに登録