見出し画像

動画の字幕翻訳をするときに考えていること

こんにちは。AsanaアンバサダーのShunです。
この記事では、先日作成した動画字幕(英→日翻訳)を例に、作業風景や考えていることをご紹介します。


凡例:

・以下の用語は特に区別せずに使います。
 ・「翻訳」と「ローカライズ」
 ・「IT翻訳」と「産業翻訳」
 ・「CATツール」と「翻訳ツール」
・「🧑‍💻」で始まる引用ブロックでは、翻訳業界の方向けに専門的なことを書きます。この記事をご覧になる方のほとんどであろう、一般の方は読み飛ばしてください。


はじめに

翻訳業界では色々なポジションで幅広い経験を積みました。翻訳会社で、翻訳学校で教えた経験のある先輩に教わったことが私の礎になっています。それとプログラミングも少しできます。

・2014年にAsanaに出会い、魅了され、
・2015年にITやプログラミングを学ぼうとIT翻訳会社に入り、翻訳者やPMとして働き、チームにAsanaを導入し、仕事で使うツールを開発し、
・2018年にAsanaの日本語ベータ版が出てから、翻訳のフィードバックをたくさん送り、アンバサダーになり、
・2019年からAsanaのローカライズに携わっております。
・2020年末にAsanaに専念するために退職・独立しました。仕事の大部分は、チームの翻訳者に翻訳していただいたテキストをレビューし、必要に応じてフィードバックをすることです。

🧑‍💻私はIT翻訳の一環として字幕訳す程度なので字幕翻訳の深い専門知識はありません。主にmemoQとSubtitle Editを組み合わせて使っています。SSTは名前を聞いたことと見たことがあるレベルです。
もしものすごく間違ったことを書いていましたら、訂正していただけますと幸いです。

Asanaコミュニティでは最近「クイズの人」として認識されていますが、アンバサダーになった当初はwork-graph.jpというWebサイトでAsanaの動画に字幕をつける活動をメインにしていました。

特におすすめの動画は、こちらの2本です。ぜひ観てください。
1. メールは仕事の未来ではない(16分、「ワークグラフ」とAsanaの革新性について)
2. Justin Rosenstein: 大きなビジョンを心から導く(56分、人生について)

後者(以下、「動画②」)は、クイズの最新作の第1問の解説用として先日作成しました。この記事ではこの動画を題材に雑多なことを話していきます。

🧑‍💻上のクイズ記事は、英語の原稿を自分で作成し、日本語翻訳は自分でし、FGS+PTへの翻訳を発注しました。ライター、翻訳者、発注者と色々な立場から関わりました。
英語→日本語に翻訳するときに、英語を書くときには気づかなかった曖昧な点やミスに気づいて修正することができました。やはり翻訳者は細かいところに目がいくものです。
その後、英語はネイティブチェックをしていただきました。(前回の記事にいただいた投げ銭を使いました!感謝!)
今回はAsanaコミュニティチームに協力していただき、初めてSimShip(全言語一斉リリース)に挑戦してみました。12月23日に公開した記事ですが、11月末に仕上げて12月中旬までに同僚たちに翻訳してもらいました。SimShip
には全マーケットを平等に扱えるというメリットがありますが、12月に入ってからAsanaの機能アップデートがあり、クイズのように時事性のある素材では難しさを感じました。

字幕翻訳の楽しさ

IT翻訳にはUI、ドキュメント、マーケティングなど、色々な種類がありますが、私は中でも動画の字幕翻訳をしているときが一番楽しいです。
耳から聞こえた英語を日本語に変換して手で出力するとき、脳がフル回転し、生きている喜びのようなものを感じます。視覚しか使わない普通の翻訳だと気が散ってBGMなどが欲しくなります。

🧑‍💻耳→目の連携について言うと、翻訳のレビュー時に原文をテキスト読み上げ機能を使って耳で聞き、目で訳文を追うようにすると、原文と訳文を両方目で読むのに比べて時間を短縮できますし、疲れにくいです。

動画を深く味わえるというのも魅力です。英語でも日本語でも、普通は動画を見ていてわからない単語があっても聞き流して、8割くらい意味を理解できれば問題ないと思います。しかし、翻訳する場合はすべての文を正確に理解して翻訳する必要があります。(正直に言うと動画②では3文くらいよくわからなくて雰囲気で訳しています。)

そもそもAsanaアンバサダーの活動では自分が好きな動画をピックアップして翻訳しているので、好きな動画を繰り返し観るのは苦にならないどころか楽しい時間です。

Asanaの理念や哲学などは、実は会社からの発信やテキスト情報ではあまり出ていません。(例外:このIR資料は名文で、好きです。日本語化したい。)創業者の講演動画を観るとAsanaの目指しているビジョンがよくわかるので、そのメッセージを英語のわからない方に伝えたいという意義もあります。「見ました」とか「良かった」とか言ってもらえる機会があるとすごく嬉しいです。

著作権

字幕翻訳活動を始めるにあたって色々と調べたのですが、著作権には翻訳権も含まれていて、著作権者の許可を得ないと翻訳して公表することができません。目的としては、低品質の訳が行われて、意図しない正しくない意味で伝わってしまうことを防ぐのが大きいと思います。

そこで、自分の好きな、翻訳したい動画について、権利者に連絡をして、
・自己紹介、使用目的、非営利であること、などを伝え、
・翻訳許可、動画素材の提供(後述)を依頼するメールを送りました。
Dustin/Justinにもメッセージを送りました。

そこで学んだのは以下のことです。
・返信が来るのは稀であること(体感10%)
・一律で翻訳を禁止している人も多いこと
・権利者が複数いるとややこしいこと(例:講演イベントでJustinが話す場合、イベント主催者とJustinの二人の了承が必要?)

たくさん訳したいと意気込んでいたのですが、意外と翻訳許可をもらえた動画が少なくなりました。
ちなみに、AsanaのVimeoチャンネルには良い動画がたくさんあったのですが、動画が非公開になってしまってお蔵入りになってしまった字幕も2つあります🥲

最近では、翻訳をすることに意義があるならば、返信が来なくてもとりあえず翻訳をしてしまって、権利の申し立てがあれば速やかに翻訳を取り下げるようにすることもやむないのではないかと考えるようになりました。
実は動画②も返信が来ないまま翻訳を作成して公開しました。規約には非営利であればコンテンツの利用が可能である旨は書かれているので、大きな問題はないと思いますが、翻訳権について明確に了承を得られているわけではありません。

YouTube規約

動画プラットフォームにはYouTube(最大手)、Vimeo(オシャレな動画が多い)、Wistia(学習・コース)などがあります。

YouTubeの規約はかなり厳しくて、字幕翻訳の障壁が2つあります。太字は強調のために私が付けました。

The following restrictions apply to your use of the Service. You are not allowed to:
1. access, reproduce, download, distribute, transmit, broadcast, display, sell, license, alter, modify or otherwise use any part of the Service or any Content except: (a) as expressly authorized by the Service; or (b) with prior written permission from YouTube and, if applicable, the respective rights holders;

https://www.youtube.com/static?template=terms

一つはダウンロードの禁止です。YouTubeの動画をダウンロードするサービスは検索すれば多数見つかりますが、生まれては消えていっています(私は使ったことがありませんが)。
私が使用している翻訳ツールや字幕ツールはYouTubeリンクによるストリーミングでは機能せず、ローカルの動画ファイルを参照する必要があることが多いので、これは困ります。

動画①については、とてもありがたいことにWeb Summit主催者の人が元動画を送ってくれました。
動画②については、幸いVimeoに同じ動画があったので、VimeoのURLを使用してサードパーティサービスからダウンロードできました。(アップロード主がダウンロードボタンを非表示にするオプションを選択しているので、これはグレーゾーンです。)
Wistiaの動画については、おそらく公式と思われるChrome拡張機能でダウンロードできます。

二つ目は動画の改変の禁止です。
コンテンツオーナーが私の作成した日本語字幕をYouTube動画に追加してくれれば正規の手順で表示できますが、どの程度の品質の字幕なのかわからず不安でしょうから、これは望めません。
最初に思いついた字幕表示方法はYouTubeの埋め込み動画のiframe要素を調べて、字幕ファイルを差し込むことでしたが、これは規約で禁止されています。

最終的には、YouTubeのAPIを利用して動画の再生時間を取得し、対応する字幕テキストをタイミングよく動画の場所に重ねて表示するJavaScriptライブラリyoutube.external.subtitleを使って解決しました。
これだけのコードで記述できます。

// Header
<script src='https://work-graph.jp/scripts/youtube.external.subtitle.js?ver=6.1.1' id='youtube-js'></script>
<script src='https://work-graph.jp/scripts/subtitles.parser.min.js?ver=6.1.1' id='parser-js'></script>

// Per article
<div class="youtube-embed-container"><iframe id="gJs0fasyQ_U" src="https://www.youtube.com/embed/gJs0fasyQ_U?cc_load_policy=0&amp;enablejsapi=1&amp;origin=https://work-graph.jp&amp;playsinline=1&amp;rel=0" allowfullscreen=""></iframe></div>
<script>
(function () {
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState === XMLHttpRequest.DONE) {
  var subtitles = parser.fromSrt(httpRequest.responseText, true);
  for (var i in subtitles) {
    subtitles[i] = {
      start : subtitles[i].startTime / 1000 - 0.1,
      end : subtitles[i].endTime / 1000 - 0.1,
      text : subtitles[i].text
    };
  }
  var youtubeExternalSubtitle = new YoutubeExternalSubtitle.Subtitle(document.getElementById('gJs0fasyQ_U'), subtitles);
  }
};
httpRequest.open('GET', "https://work-graph.jp/wp-content/uploads/Justin-Rosenstein-Leading-Big-Visions-From-the-Heart.ja_.srt", true);
httpRequest.send(null);
})();
</script>

字幕の種類

CaptionとSubtitle

字幕を示す言葉にはキャプション(クローズドキャプション)とサブタイトルがあります。
キャプションは母国語話者の耳の不自由な人に向けて、セリフや、[笑い声] や [風の音] などセリフ以外の情報を提示します。音量をゼロにして動画を視聴するときにも便利ですね。
サブタイトルは外国語話者に向けて翻訳を示すことです。

英語の動画なら、英語字幕はキャプション、他言語字幕はサブタイトルということになります。もちろん、サブタイトルに [笑い声] などキャプション情報を追加することもありますし、境界は曖昧です。

埋め込み字幕と外部ファイル(SRT)

YouTuberの動画では、動画内にカラフルな文字でキャプション(テロップ)が入っていることが多いですが、これは動画に直接焼き込まれているもので、消すことができません。Premiere Proではエッセンシャルグラフィックスと呼ぶそうです。
それと画面上のテキスト(OST=on-screen text)も後から編集することはできません。

私は外部ファイルでオンオフが可能な、外付けの字幕を作成しています。
下の画像の「Custom fields in My Tasks」がOSTです。
下のグレー地のテキストが、YouTubeにインポートされた、オンオフ可能な字幕です。

出典: https://youtu.be/WLzyVHtylTs

この形式として一般的なのがSRTというテキスト形式(拡張子「.srt」)です。

1
00:00:05,269 --> 00:00:06,983
[拍手]

2
00:00:07,681 --> 00:00:09,779
今日を楽しみにしていました

3
00:00:09,780 --> 00:00:13,987
私は この 472 番講義を
7 回ほど受講しました

4
00:00:14,091 --> 00:00:16,876
簡単に単位を取れたのもありますが

このようにタイムコード(表示の開始と終了のタイミング)と字幕テキストが含まれます。ちなみに開始と終了の間の表示時間のことは「ハコ」と呼ばれています。
human-readableかつmachine-readableの(人間も機械も読み取れる)形式ですが、タイムコードをテキストとして編集するのはあまりに大変なので、後述の字幕編集ツールを使います。

SRTファイルは、動画プレーヤーで動画を再生するとき、別途読み込んで表示することができます。

VLCプレーヤーで字幕ファイルを選択

字幕翻訳のルール

産業翻訳では以下のようなルールに従います。
・話しているとき(音の波形が出ているとき)に字幕を表示する(前後に少し余裕を持たせる)
・句読点の代わりにスペースを使う
・スピードは1秒あたり最大10文字(英語では21〜24文字)
・1行あたり最大30文字(英語では43文字)
最大2行
・文法上自然な位置で改行する
・一つの字幕の表示時間は0.7〜0.8秒以上5秒以内

映画の字幕翻訳では1秒あたり4文字、1行あたり十数文字の制限が一般的で、読みやすくするために削ぎ落とされたコンパクトさが求められます。
産業翻訳では映画よりも正確性が重視され、情報量が大きくなります。ただし、それでも1秒10文字の字幕は早すぎます。私は読むのが早い方だと思いますが、自分で訳したテキストでも1秒8文字を超えると読みきれないことがあります。

動画①など従来は1秒あたり8.5文字以内に収めるように努力してきました。
動画②は、1時間と長いので、リラックスして視聴できるよう、概ね1秒あたり4〜7.5文字に抑えました。

ツールと作業方法

CATツール

CATとはcomputer-assisted translationの略で、日本語では翻訳支援ツールと呼ばれます。
一般に「翻訳ツール」と聞くとGoogle翻訳やDeepLのような自動翻訳ツールをイメージすると思いますが、翻訳者が手動で作業するための便利な機能やデータベース機能が備わったツールのことです。

主にmemoQを使っています。初期投資8万円くらい、維持費年間1.5万円。

🧑‍💻Trados、Transifex、Smartcatなど、たくさんのツールを使ってきましたが、memoQが一番使いやすいと思います。
つい最近知ったのですが、memoQの動画プレーヤー機能は便利ですね。セグメントを移動すると、前後の再生時間を1秒含む範囲が自動再生されるので、コンテキストや口調を確認しやすいです。ループ回数1(オフ)にするのがお気に入りです。

memoQ Video Preview

字幕ツール

字幕編集ツールは先述の通り、動画のタイミングに合わせて該当のタイムコードの字幕を表示し、編集できるツールです。音声が波形で表示されるのも便利です。

だいたいSubtitle Edit(以下「SE」)を使っています。無料で使えます。

SEで英語のSRTを開いたところ

🧑‍💻ブラウザーベースのAmaraとCaption Hubも経験がありますが、SEに比べて痒いところに手が届きません。
SSTが約20〜30万円することを考えると、無料で高機能なSEは本当にすごい。

🧑‍💻memoQもSEも、よく使う操作には使いやすいキーボードショートカットを設定しましょう。以下のオプションを見て、見逃していたものがあれば確認をおすすめします。
memoQ: ファイルのインポートとエクスポート、X-Translate/Pre-Translate、Go to nextの条件変更(Ctrl+Shift+G)、Join/Split、タグの挿入、原文の編集、QA
SE: 動画の再生と一時停止、Merge、Split line at cursor position、Unbreak without space (CJK)

翻訳→字幕調整か、直接入力か

私はほとんどの場合、英語SRTをCATツールで翻訳してから字幕ツールで調整します。

英語に一対一で対応する日本語を入れていく

🧑‍💻元言語のキャプションでは話されている言葉と表示されている字幕が一致するのでハコが短く切られています。
CATツールを挟むデメリットは、一文が細かくセグメントに分かれていて、日本語では英語と語順が入れ替わるので、どのセグメントに訳文のどの部分を入れるのか考える時間がかかることです。
メリットは、CATツールの一貫性と再利用性です。テキストフィルターで一貫した訳語やスタイルを適用できます。再利用性は用語集(TB/グロッサリ)から訳語を簡単に挿入できることと、TMを利用できることです。私は(Asanaにタスクが保存されていないと落ち着かないように)翻訳をするときはCATツールに対訳を保存しないと気持ち悪いです。字幕翻訳が将来ファジーマッチとして出てくることはほぼありませんが、「あの表現をどう訳したっけ?」とコンコーダンスで調べたいことがよくあります。

英語のSRTファイルが提供されていない場合、英語の音声を聞きながら直接日本語字幕を追加していくこともあります。

🧑‍💻「Add text here」で手動で字幕を入力できますが、「Guess time codes」で動画全体に対して自動ハコ切りをしてからMergeしたり微調整したりするのが早いと思います。

波形に対してハコ切りをする機能

作業の流れ

約1時間の動画②の場合、おおよそ以下のように作業を進めました。括弧内が各ステップにかかった時間です。

1. 動画を視聴する (2)
各文、各単語をどう訳そうかと考えながら動画を観ます。
聞き取れない単語もありますが、とりあえず全体の流れを確認します。

2. 英語SRTを作成する (0)
動画②の場合はありがたいことに高品質なSRTファイルとスクリプトがすでに用意されていました。Bodhisattva vow(菩薩戒)など聞いたことのない言葉が出てきたり、学生からの質問は音量が小さくて聞き取れなかったりしたので、本当に助かりました。

英語の字幕が提供されていない場合は原文を自分で作ります。自動音声認識されたものをベースにして、大文字小文字を調整し、誤字を直し、タイミングを合わせます。大体動画時間の5倍ほどかかります。
どうしても聞き取れない場合は該当箇所だけを短い動画にまとめて文字起こしサービスの3playmedia.comに発注します。面倒な客で申し訳ない。

🧑‍💻英語字幕で文法上改行していい場所についてはEngageMediaのガイドが、細かい表記法についてはcielo24のガイドが役立ちます。

🧑‍💻再びキーボードショートカットの話をします。
大文字小文字を変更するには、字幕ツールやテキストエディターでchange caseのショートカットを使用することを強くおすすめします。

3. memoQで翻訳する (20)
約11,000ワードをこの時間で翻訳したのはかなり早いと思います。大好きで何度も繰り返し観た動画なので短時間で済みました。
普通はもっと時間がかかります。翻訳者の標準的なスループットは1日(8時間)で2,000〜3,000ワードとされているので、30〜45時間かかっても不思議ではありません。

4. SEで確認、編集する (4)
上記のルールに照らして基準値を超えている部分が赤でハイライトされます。確認して、テキストを短縮するか、表示時間を延ばします。
この段階のテキストの変更は二度手間ですがmemoQに反映させることが多いです。

memoQからエクスポートした直後のSRT

5. 微調整 (5)
SEで動画を見ながら細かい改善をしていきます。ルールの範囲内で時間をさらに調整したり、短い字幕を結合したり、改行やスペースを入れていきます。
動画②の場合、時間がなくて12月23日の時点ではこの調整が甘い状態で公開し、その後何度か改善をしています。結合の結果、最終的には1200行が950行になりました。
下の画面では、赤で問題が指摘されている行が少なくなっているのがわかります。

調整後のSRT

作業中に考えていること

作業時間について

1時間の動画に対して、合計30時間以上かかりました。自分で英語ファイルを用意する場合や、慣れていない動画の場合ですと、もっと時間がかかります。これを仕事として請けたら十万円以上かかります。

Asana関連に限らず、自分の好きな動画について、ボランティアで翻訳をして字幕ファイルを提供したことがあるのですが、日本語翻訳に数万円のコストをかけて採算が取れる動画はほぼないので、仕事として請ける機会はなかなかありません。

それと、YouTuberの動画編集も、ものすごく時間がかかっているのだろうと推察できます。

翻訳時に考えていること

常に動画を確認し、動画上での表示を想像しながら訳します。
なるべく短く簡潔に訳すことを心がけます。

基本的には1センテンスを聞いて訳し、1センテンスを聞いて訳し、を繰り返します。長い文は複数のセグメントに分かれているので、通常の翻訳よりも時間はかかります。例えば1文が8セグメントに分かれている場合、全体を2〜3文に分割し、3セグメントずつくらいに区切って訳していくことが多いです。

関係詞や接続詞(例:A because B.)を含む長い文は、通常日本語では後ろから訳します(「BなのでAです。」)が、前から語順通りに訳して分割します(「Aです。なぜならBだからです。」または「A。Bなのです。」)。通常の翻訳でも長い文を訳すときに使うテクニックですが、字幕翻訳ではこれを毎回すると言っても過言ではありません。

読者が動画から目を離すことも多いでしょうから、各行だけ読んでも前後のつながりを想像できるよう、接続詞や終助詞を使って論理展開を明確にすることを心がけます。

字幕編集中に考えていること

CATツールでどれだけ短く訳したつもりでも、時間に対して文字が多すぎることが多々あります。ハコの端(各字幕の表示開始・終了タイミング)をドラッグして表示時間を広げるか、文字数を削ることになります。実際の制限を秒速7.5文字に制限する場合、少し厳しめの秒速6.5文字くらいで赤く表示されるようにしておくと作業がしやすいです。

文中で秒速3文字と秒速7文字のハコが連続していたらMergeとSplitを連続して行って秒速5文字に均等になるようにします。ハコをドラッグして調整するよりも早いです。
長いカタカナ語や英単語やカギカッコが含まれる場合は、一まとめで読めるので多少文字数が多くても許容できます。

1文が2.5秒以下の複数のハコに分かれている場合は結合して、概ねすべてが3〜5秒程度のハコになるようにします。
私は、読者がそれほど興味を持って真剣に画面を見ているわけではないだろうと想定しています。少し画面から目を離しても、巻き戻さなくても話についていけるようにすることが理想です。

文字数の削減について、指示語、主語(私)、そして先ほど頑張って入れた接続詞などは真っ先にいなくなっていきます。(例:「なぜならBだからです。」→「Bなのです。」)
冗長な言葉「〜したいと思います」は「〜します」に変わっていきます。
ただし、字幕はあくまで話し言葉なので、和語を漢語に「とじる」こと(例:「これを使うことで」→「これの使用で」)は極力避けます。

聞こえる内容と読む内容が極力一致するようにします。英語で1文がA/Bの2画面に分割されているとき、日本語でB/Aと逆順で訳すなら、なるべくBAを一画面にまとめます。例えばmicro-manageとかbrandとかフレーズが聞こえるとき、そのカタカナ語も同時に字幕に表示されている方が字幕を追いやすくなります。

ジェスチャーを意識します。大きなジェスチャーや抑揚のときは、それに対応する字幕が画面に表示されるようにしておくのがいいでしょう。指で引用符を作っていたらカギカッコをつけます。

指でダブルクォーテーション

字幕翻訳ではスピーカーの特徴に合わせて口調を変えることもあります。Asanaの創業者のうち、Justinは穏やかでありながら情熱的に話す人です。Dustinはいつも冷静に落ち着いた調子で話している印象です。
日本語として自然な表現になるようにします。

in fact → すみません

ひらがなが連続する場所はスペースで区切るか、そこで改行します。

しかしそれ以外はすべて
↓
しかし それ以外は すべて

同じ長さの字幕が連続する場合は、字幕が切り替わったことを見逃しやすいので、1画面にまとめます。時間に余裕のあるときは、字幕間の区切り(何も表示されない時間)を残しておくのも重要です。

これらを別の画面に分けると切り替わりに気づきにくい

雑感

長い動画を観ることについて

動画②中でまさに言及されているのですが、私たちはテクノロジーによってマインドフルになれなくなり、アテンションスパンがどんどん短くなっています。集中力が細切れになり、時間がないという幻想に苛まれています。時間のコスパ意識という意味でこれを「タイパ」と言うらしいです。
1分以内の短い動画が流行っていますし、長いテキストを読んだり、10分を超える動画を観たりするのに気合が必要になりましたよね。動画を1.5〜2倍速で再生したり、10秒スキップを連打したりもします。映画館なら2時間映画を集中して見られますが、家なら10分刻みで何か思いついて動画を止めたくなります。
私自身、今回1時間の動画②を観るのが前よりも億劫に感じて驚きました。

12/23に急いで公開したのは、忙しい皆様がゆっくり動画を観られる時間があるとすれば年末年始だろうと思ったからでした。


動画②の字幕を翻訳しようと思い立ったのがギリギリだったので、結構急いで作業することになり、結果としてスマホを見る時間もなく、デジタルデトックスをしてマインドフルになれました。

私が会社を辞めてAsanaのローカライズに専念しようと思ったのは、OKRに関する記事の翻訳をレビューしていて、組織だけではなく個人でも目標と行動が対応すべきだよなと思い、自分の最優先のミッションはAsanaの良さを伝えることだと考えたからです。フルタイムの仕事分時間が空くのでコミュニティ活動やプログラミングも捗るかと思いきや、時間がありすぎて空いた時間にゲームをしてしまい、ドーパミンに支配される2年間を送ってしまいました。

今回翻訳した動画②でJustinに「限られた人生という時間をどう使うかよく考えてください。期待しています。」というメッセージをもらって、ほとんどのゲームをアンインストールしました。Asanaには何度もよい方向に導いてもらっています。

テキスト読み上げについて

自分の日々の行動を振り返ると、長めの動画はずっと画面を見ているわけではなく、散歩しながらとか、家事をしながらとか、耳だけ傾けることが多いです。

ということで、動画字幕を読み上げる方法を考えてみました。
まず、既存のツールを調べて、YouTube動画に追加されている字幕は読み上げられることを知りました。
特にすごいのが、Speak Subtitles for YouTubeというChrome拡張機能です。動画に英語字幕がある場合(自動生成の字幕でも)、機械翻訳された日本語の文章が読み上げられます。
しかし、英語字幕は細切れなのであまり上手に翻訳してくれません。キーワード単位で何を言っているのかはわかるものの、正確に分かりやすく自然な日本語で表現することにおいては、まだ人間翻訳者の仕事はありそうです。

動画を再生すると機械翻訳の日本語音声が聞こえる

Web_Speech_APIとYouTube APIを併用すると、現在の再生位置に合わせて任意のSRTファイルから字幕を読み上げることができそうです。
YouTube APIについては、youtube.external.subtitleを参考にすれば使い方がわかりそうです。ここまで調べましたが、プログラミングの手を広げすぎて先にアップデートしなければならないものが多すぎるので後回しにします。

// Define once
const voiceJA = window.speechSynthesis.getVoices().filter(item => item.name == "Google 日本語")[0];

// Per line
let utterance = new SpeechSynthesisUtterance("今日を楽しみにしていました");
utterance.rate = 1.2;
utterance.voice = voiceJA;
speechSynthesis.speak(utterance);

機械翻訳について

数年前、Google翻訳がニューラルエンジンになってから、機械翻訳の精度や流暢さが劇的に向上しました。外国語記事の内容をサクッと流し読みするには非常に便利ですよね。

🧑‍💻翻訳業界でも、機械翻訳をベースにして時間やコストをカットしようというMTPE(machine translation post-editing)という動きがあります。
説明書的な定型的な文章ではうまくいきますが、現状はそれ以外の文章では害の方が大きいと思います。特にDeepLは、原文を正しく理解していないまま無理やり超絶解釈をして自然な日本語にまとめ上げることがあります。人間が誤訳をすると不自然な日本語になりがちなので、それをヒントに誤訳に気付けたりするのですが、妙に自然な日本語なので誤訳に気づかずに流してしまいがちです。チームと話していて、MTPEの仕事はまずMTを全部消すところから始めますよねという笑えない冗談で共感しました。(解説:MT分作業時間が短くなるはずでコストカットされているのに、実際は通常の翻訳時間にMTを削除する時間が加わる。)
まずMT訳を見ずに自分で訳を考えて、MT訳はフレーズを参考にするのに役立てる程度がいいと思います。先に文全体を見てしまうと、もっとよい構成や訳があるのに思いつかなくなってしまいます。

AIについて

機械翻訳についてネガティブなことを書きましたが、ChatGPTなどAIがすごい勢いで成長しているのを見て、いつか翻訳の仕事にも影響するのではないかなと不安には思っています。
ちょうど動画②の字幕作成を始めた頃、この動画を見ました。AIが人間よりも賢くなる未来がすぐそこまで来ているのです。

落合さんは終始ポジティブなので、新しい世界も意外と悪くなのだろうと思えました。AIが私の癖を学習して、「私ならこう訳す」という訳文を瞬時に生成してくれるようになれば、それはそれで楽しい未来だと思います。
動画②は、もしかしたら翻訳者として作業に没頭して作成できる最後の動画字幕になるのかもしれないと、感慨に耽りながら翻訳しました。

IT業界のレイオフの話もよく見聞きしますし、安泰な仕事などないから、とにかく毎日を楽しく過ごそうと考えている今日この頃です。

知識継承について

今は自分がAsanaに一番貢献できるのはローカライズを通してだと思っていますが、新しいことを学ぶ機会が減っている気がしていますし、いつまで翻訳の仕事をしているのかわかりません。

自分がいつ死ぬかわからないとも思っています。「字幕翻訳の楽しさ」の「頭がフル回転」ともつながるのですが、昔からスピード感のあることをするのが好きで、そういう瞬間は生を感じます。去年はロードバイクに乗っていて死んでもおかしくない転び方をしましたし、スキーをしていても「ここで転んだら死ぬかもしれない」と中高生の頃には思わなかったことを思う歳になりました。

そもそもAsanaが大好きということは属人性が大嫌いということですから、日々自分がボトルネックにならないよう、信頼できる同僚たち、かわいい後輩たちに、知識を共有するように努めています。

夏には、私が翻訳やレビューのときにチェックポイントとしている点を1万文字くらい書き出して、チームにFYIとしてシェアしました。それをベースに、Asana-specific(Asana特有)の事情を省いて、次のnote記事は「翻訳をするときに考えていること」を書こうかなと思っています。

この記事も、その前段階として書こうと思いつきました。(時間がなくて余裕がありませんでしたが)字幕翻訳をしながら過程を書き留めておきました。単に「こういう仕事もあるのか」と興味深く読んでいただければ嬉しいですし、字幕翻訳に携わる誰かの役に立てば嬉しいなと思っています。何か掘り下げて知りたいことがありましたらお気軽にメッセージをください。

最近は桜井政博さんのYouTubeチャンネルを知り、ゲームに限らずデザインやプログラミング、ひいてはあらゆる仕事に役立つ情報を得られました。
動画作りは、ひとつの終活」と語っているのを見て、なんとなくそんな気がしたと思うとともに、桜井さんのような偉大な実績のない凡人でも、やはり後進に伝えるべきことを伝えることは大事だと思いました。

先日解散を発表したYouTuberのはなおが「チームメイトに見せたい景色は全部見せた」と言っているのも心境としては近いものがあります。

OSSへの寄付について

SEもyoutube.external.subtitleも、めちゃくちゃ便利な無料ツールなので、ぜひ寄付したいと思ったのですが、寄付を受け付けていなかったり、日本からの寄付がサポートされていなかったり、連絡先がわからなかったりします。

SEに寄付できない

OSS(オープンソースソフトウェア)をやっている人はぜひ世界中から寄付を受け付けてほしいと思います。
そして私もGitHub Sponsorを受け付けているので開発を頑張らなければと思います。先日Asana NavigatorFirefox版に星5の評価がつき、動かない機能がたくさんあるのに期待をかけてもらっているようで、申し訳ない気持ちでいっぱいになりました。

本当はこの記事を2022年中に公開して正月はプログラミングを進めるつもりだったのですが、記事を書くのに予想以上に時間がかかりました。これからマイペースにto-doを消化していきます💪

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