見出し画像

機械翻訳で英語字幕つきチュートリアル動画を作る

GLSL というプログラミング言語のチュートリアルを TouchDesigner というソフトウェアを使って作っています。現在シーズン1と称して12本分 YouTube に上がっています。

英語字幕をつけるために機械翻訳を使用しているので、やったことの記録及びシーズン2以降の改善のためにここに記していきます。

これを書いている人

一人称俺は、デベロッパー、テクニカルディレクター、TDSWというグループの一員です。現在カナダ在住で英語と日本語を使って生活したりお仕事したりしています。シーズン1の一連の作業を1人で行いました。
TDSW はメンバーがバンド感覚でイベントやワークショップを企画、運営しています。今回話題となるチュートリアル動画は TDSW YouTuber 2号としてその活動の一環で作っています。

目的

・海外の方を有料コンテンツへ誘導したい
日本語で行われたワークショップに字幕をつけることで、日本語は解さないが英語を解する方々にアピールしたいというのがあります。有料コンテンツとして提供するならそれなりのクオリティが必要なので、コスト、クオリティ面で良い落とし所はないかと探っているところです。ワークショップやチュートリアルを作ると英語字幕はないの?という声をいただくことがよくあります。
・機械翻訳のテスト
YouTube 自動字幕も deepL も見ているだけで自分のコンテンツに使ったことがなかったので試してみたいと思っていました。
・無料コンテンツならではの実験
日本語以外のコミュニティをどうやったら巻き込めるか?は常に考えています。スケールを意識するなら最初から英語でやればいいじゃんというのはその通りなのですが、既に TDSW を応援してくださっている日本語コミュニティがあるのでそこは一緒に盛り上がっていきたいところです。2020年7月11日時点で無料、YouTube 広告なしで行っています。
・自分の勉強
GLSL を説明するために自分の理解度を測るいい勉強になると思いました。

結論

これから色々書いていきますが、現時点の俺の結論としては以下のようになります。知ってたと言われてしまいそうですが。

・日本語チュートリアル動画(英語字幕付)をそれなりのクオリティにするにはどこかで手間やお金をかける(プロに依頼する、自分たちでがんばる)必要があり、まだまだ完全自動化は難しそう。
・ソフトウェアや環境も大事だが、話者の言葉、声量、話し方などが何より大事。

ワークフロー

・企画、撮影、編集を経て動画を作成
・動画を YouTube にアップ
・YouTube の自動字幕で生成された字幕ファイルをダウンロード
・字幕エディタ Subtitle Edit を使用して字幕やタイムコードを調整
・DeepL に日本語をコピペ、出力結果を調整
・YouTube Studio で字幕をアップデート

以上が1サイクルで、全て揃った時点で YouTube のリンクを TouchDesigner 関連の各 SNS に投稿、GitHub に字幕ファイルも公開し、もし動画が気に入ったら翻訳が変なところをいい感じにしておくれとお願いしてみました。2020年7月11日現在フィードバックはありません(泣)。今回作った動画シリーズに限らず「翻訳ないの?」って聞かれたら「つけたいと思ってるから手伝ってくれる?」と返すようにもしています。

感想など

コミュニティを巻き込むということがやりたかったのもあって最初はYouTube のコミュニティ翻訳機能を使う予定でしたが、YouTube Studio が言うところのクリエイター(俺です)があてた翻訳を他の人が改良するということができないのと、YouTube の字幕エディターの使い心地があまりフレンドリーでないという理由から GitHub で sbv ファイルを公開することにしました。

YouTube 自動字幕は、ソフトウェア固有の名称やプログラミング用語などが混ざらない限り、その音声認識はかなりの精度を誇っているように思います。実際に編集することなくそのまま使用できた字幕もありました。しかしチュートリアル動画という性質上そういった用語の使用は避けられず、例えば GLSL とか vec3 等はほぼまともに拾えないようでした。俺の場合でも英語のものをカタカナ読みしたり英語っぽく発音したりまちまちなので、その辺りも影響しているはずです。個人の発音を学習でき、カスタムできるものがあるのであればこの辺りの精度も上がっていくかもしれません。

企画、出演、撮影、編集、文字起こし、日本語字幕、英語字幕の工程を全て一人でやっていると最後の英語字幕の工程にひっぱられるようになります。英語字幕を機械翻訳で行うということは、日本語字幕をつける作業は文字起こし + 修正と同時に英語字幕をジェネるためのものとなるので、機械翻訳で英語にしやすいような日本語になるよう調整していく必要があります。これを撮影段階から取り入れるようにしていくと最適化はされるかもしれませんが、発話する文言の多様性は失われてしまうかもしれません。特定のソフトウェアを使うと何だか似た出力になるということでもあり、機械学習のアウトプットが偏る問題でもありますね。このあたりのチューニングが興味深いところです。

かかった時間

一連の作業で10分程度の動画を1本作るのに8時間くらいかかっていると思います。字幕作業のみに限れば3.5時間程度。英語字幕を俺ががんばったらプラス2、3時間でしょうか。慣れや効率化でもっと速くなるものもあるでしょうし、ソフトウェアの習熟度や語学能力も関係していきます。

・企画 1h
・収録 0.5h
・動画編集 3h
・日本語字幕、タイムコード調整 3h
・英語字幕調整 0.25h
・YouTube アップロード、編集 0.25h

現時点でのソリューション

結論として上記したように、現時点でそれなりのクオリティのものを作ろうとすると機械翻訳で完結することは難しく、以下のようなワークフローになると思っています。運営規模も小さい上に内容もニッチであるようではコスト的にはなかなか厳しそうです。

・日本語自動字幕→文字起こし(プロに依頼)→ 編集(日本語及び内容に明るい人が監修、事実関係修正)→日本語字幕
・日本語字幕→(自動)翻訳(プロに依頼)→編集(英語及び内容に明るい人が監修)→英語字幕

チュートリアル動画そのものの話

こちらの方に興味を持たれる方もいるかもしれないので、本題から外れますが、初めてチュートリアル動画を作って合計12本になったのでこれも記録しておきます。

経緯
・ワークショップ後にいただくアンケートなどを見ると GLSL に言及されている方が多いです。これは日本語でワークショップを行った場合も英語で行った場合も同様です。
・TDSW のワークショップにご登壇いただく(いただいた)スーパーゲスト講師陣のワークショプでの理解をより深めるための基礎体力づくりという側面もあります。アンケートを行う度に過去のスーパー講師陣の登壇のリクエストを頂くのですが、参加者の習熟度がまちまちな状態なので、スーパー講師陣に登壇していただいても理解度にばらつきが生じます。当然スーパー講師陣に基礎とか教えていただいてる場合じゃないので、我々が作ってみることにしました。
・TouchDesigner は 2D → 数値、3D → 数値などの変換の視覚化が容易で GLSL の説明がしやすいのではないかと以前から思っていました。
・この動画を作る以前の人生で総勢5人くらいの方に声がいいですね、と言っていただいたことがあるので、自分の声を使ったコンテンツを作りたいという野望がありました。

機材、ソフトウェア、環境
・Windows10
・TouchDesigner 2020.22080
・録画、録音は OBS Studio
・マイクは Rode NT USB
・編集は Davinci Resolve 無料版
・作業机のあるリビングルームで収録

動画作りにおいていただいたフィードバック
・声が小さい → 声量及びマイクの位置を調整して、エピソード3、4あたりから良くなったように思えます。
・このチュートリアルを見ると何ができるのか、その過程のどこにいるかがわからない → 最初に成果物及び過程を見せて分かりやすいようにしました。エピソード3から実践しています。
・最初の映像かっこいい → @chicken350px さん作です。ありがとうございます。
・動画の長さは10-15分程度でよさそう →  TDSW YouTuber 1号がこのくらいにしていたのもあって可能な限り合わせるようにしましたが、気を抜くと長くなってしまいます。
・テロップは説明するためのものというよりは今どこにいるのかを示すものがいいかも → 左下とかに今なにやってるか出してもいいかもしれないですね。早送りする人もいるでしょうし、通して見るとも限らないので。
・声がやさしい → ありがたいことです。
・見た目面白いものができるまでに10講座くらいかかりそうなので、早めにテクスチャ使ってノイズかけるとかやった方が楽しんでもらえるのでは → 最後まであまり面白い感じにはならなかったような…。
・サンプル面白い方がモチベあがる。これができるなら勉強してみるか、となってほしい → 最後まで地味だった気が…。
・完全に網羅するのかなんとなく分かってもらうのかスタンスが明確になったほうがいい → この間くらいになってしまいましたね…
・もっと自信もって話した方がいい。手探りでやっているように聞こえる。 → 編集に時間をかけるようにしたのと、編集しやすい収録を心がけたので徐々に改善されていったのではと個人的には思っています…。
・顔見えた方がいいかも? → プログラミングのチュートリアル動画を作っている方で最上級に尊敬しているのが Joshua Davis と Daniel Shiffman 両氏なのですが彼らくらいのテンションでやるには顔出しが必要かもしれません。
・多少難しくても見た目をカッコよくしてコピペから始めるスタイルでも良いかもしれない。そこからブレイクダウンしていくと動画を見るモチベがキープ出来そう → 難しいところなのですが、GLSL 色々コピペしたけど結局何も分からんかった、という人達を対象にしています。俺がそうだったので…。
・動画内で宿題を出す → それに関する返答とかは有料にするとかいいかもと意見をいただき、そういうのもいいなと思いました。無料と有料のバランス大事。
・音質が気になるなら吸音材 → いつかサクセスして専用の部屋が持てたら環境整えてみたいですね。リフレクションフィルターくらいなら庶民の家でも導入できるかな。
・よく眠れる → 俺の話し方や GLSL が少しとっつきにくい言語であるということもあってプログラミングを普段しない方には睡眠導入効果があるとのことです。中学生の時芸術鑑賞会でクラシック音楽を聞きに行った時に先生に寝るのも一つの鑑賞方法と言われたので、これは褒め言葉と捉えています。

以上になります。まぁ予想通りだよね…という気もしますが、完璧なものを求めているといつまでも公開出来なそうな気がしますし、質が高くないのを認識した上でとりあえず英訳つけたよ!と世界に向けて言うために作りました。その記録として残しておきます。

もし他にいい方法だったり、こういうことを勉強するといいよ、といったものがあればご教示頂ければ幸いです。

ではまた~!

この記事が気に入ったらサポートをしてみませんか?