見出し画像

Pocketalkを使った字幕付き配信

昨年の JAWS SONIC & MIDNIGHT JAWS に続き、JAWS-UG  (Japan AWS User Group)  の今年の秋のイベントは JAWS PANKRATION 2021 と称して24時間オンラインイベントを JAWS-UG が開催してくれました。今回の新しいチャレンジとして世界の AWS ユーザーに登壇してもらって、日本国外のデベロッパーやエンジニアの知見を共有してもらう、さらに日本のユーザーの知見も海外に発信しよう、というコンセプトでした。たとえば、今年の春の JAWS DAYS では AWS VP チーフエバンジェリストの Jeff Barr さんのセッションに同時通訳を入れて、リアルタイムに彼のセッション内容を通訳し、彼の知見の共有を試みました。しかし、この仕組みを他の登壇者全員にまで広げるには、正直なところ、予算と、事前準備の問題から難しいのは容易に理解できるところです。

全員に同時通訳をつけるというチャレンジ

今回、この課題を解決するチャレンジとしてソースネクスト様のポケトークを利用しました。ポケトークはTVまたはさまざまなメディアでCM展開をしていたので、多くの方はその商品名を聞いたことがあると思います。本来の使い方は「実際に旅行にいった先での利用」を想定していたようで、デバイスに話かけることで設定した言語に翻訳してリピートする、という使い方でした。

この数年で言語翻訳機能については Deep Learning によりめざましい進化を遂げています。また、人間が話したことを文字起こしする  Transcribe  や  Dictation と呼ばれる機能も飛躍的に改善されています。それでもなお100%完璧な翻訳結果にはなっていないことは経験したり、ある程度は知っていました。しかし、70%~80%の意味が分かるのであれば、チャレンジする価値はあるだろうと考え、イベント企画メンバーとして検討することになりました。なお、ポケトークを使うことはAWS的にどうなの?という心配を最初にいただきましたが、基本的にユーザーグループのイベントであることと、翻訳と文字起こしの機能はAWSのサービスではありませんが、ポケトークのデバイス管理はAWSクラウド上で稼働しており、通信にはこれもAWSのインフラを利用いただいている SORACOM 様の SIM とサービスを使われていることから、ポケトークを利用する上でベンダー(AWS)側で懸念することはありませんでした。

当初のポケトークは旅行者をターゲットにした、リアルな旅行先で利用する翻訳デバイスであり、オンライン会議やオンラインイベントでの利用を想定していませんでした。しかしオンライン利用を前提とした「字幕トーク」が新機能として追加される、という情報から、もしかしたらイベントで使えるのではないか?という希望をもって新宿のビックロで実機をみたのが6月中旬でした。

この追加機能の字幕トークが8月になってもリリースされません。そのうち9月中旬リリースになり、これは無理か、、、と思い出していたところ、9月9日のアップデートで追加されました。

画面共有とハンズフリー翻訳βサイト

実際にリリースされた字幕トーク機能を確認すると、想定しているオンラインイベントでは難しいのでは?という話になりました。というのも、字幕トークはクライアントにアプリケーションをインストールして「仮想カメラ」を設定して、カメラ映像の上に「字幕」を乗せるものでした。そして、そのアプリケーションは Windows 版しか用意されていなかったのです。登壇者の結構な数は Mac 使いのユーザーが多いのは周知の事実です。Windows 用しかないのは全ユーザー利用を考えるとかなり厳しいです。

なにより、字幕がカメラ映像の上にオーバーレイされて表示されるため、オンラインイベントでの大きめのスライド共有と小さめのカメラ映像の構成では、カメラ映像上の字幕は見えません。以下は昨年の  JAWS SONIC & MIDNIGHT JAWS の配信画面構成です。左下のカメラ映像に字幕が表示されてしまうと視認不可能です。

画像1

途方に暮れていたところ、ポケトークの「設定」から「画面共有」という機能ページを開き、そこで表示される共有番号とパスワードを、https://pt-v.com で入力すると、ポケトークで話した内容が青い文字で表示され、即時にWebページ上で指定した言語の翻訳結果が表示される機能があることに気がつきました。

ポケトーク

この機能を利用することで、登壇者の環境で仮想カメラをセットアップすることなく、ポケトークを使って話した内容をハンズフリー翻訳βサイト上からテキスト部分を抜き出し、OBS Studio などの配信ソフトで画面合成すれば、Macユーザーの登壇者もリアルタイム翻訳環境を使うことができるかもしれない、と考えました。

このハンズフリー翻訳βサイトのコンセプトと機能はとてもおもしろく、話し手側のポケトークの設定に縛られることなく、翻訳先言語の指定をブラウザ側でできることです。また、同一の共有番号とパスワードで複数のブラウザからサインインでき、それぞれ別々の翻訳先言語設定ができることも確認しました。

OBS Studio による画面合成

JAWS-UG のイベントのオンライン配信は  Amazon IVS  (Intaractive Video Service) を利用しています。その構成図は以下ですが、上の半分は登壇者側のPC、ポケトーク、そして Zoom の画面情報および音声を、Streaming Operator の PC (これは仮想デスクトップである  Amazon WorkSpaces を利用)上の OBS Studio で合成して、IVS の RTMPサーバーの URL に送出しています。

画像5

OBSでは指定したアプリケーションウィンドウの表示エリアから、クロップフィルターを使って指定したエリアを抜き出すことができます。JAWS-UGのオンライン勉強会では TweetDeck のタイムラインを抜き出して、配信画面に合成するおなじみの使用方法です。ただし画面の領域サイズは限られているので、ガイドラインとして1230pxの幅に調整したブラウザで pt-v.com を開いて、ディクテーションの青い文字が2行で収まるように、話す量の調整をお願いすることにしました。これは登壇者に大きな負担をかけることになりますが、多くの登壇者は今回のチャレンジの主旨をご理解いただいており、対応いただいたことに本当に感謝いたします。以下は、英語から日本語への翻訳を実施した JAWS PANKRATION 2021 の画面構成サンプルです。

画像4

字幕部分を IVS ライブ動画プレーヤーに入れないで、イベントページを作成して、この機能を組み合わせたほうが表示領域を広くとれるのでは?という意見も一瞬でましたが、春に行った JAWS DAYS 2021 から、多くの視聴者は IVS プレーヤーを「最大化」してセッションを視聴するので、IVS プレーヤーに必要な情報を載せるのがベスト、という学びがありました。そこから、字幕はプレーヤーの中に配置して表示する方針となりました。

複雑なオペレーションが最大の課題

画面モックアップを作成して当日の流れに沿ってテストしてみると、オペレーション上、手作業が多く、ヒューマンエラーが満載になる可能性が高いことを全員で容易に確認できました。登壇者からポケトークに表示されている共通番号とパスワードを聞き出し、それを配信環境PCのブラウザの pt-v.com のサインイン画面で入力し、登壇者の名前、セッションタイトルを表示するためのテキストパーツで該当する情報を表示、Zoomを使ったカメラと共有スライドが有効かどうかを確認して、セッションスタート。この作業を登壇者交代の「5分間」で行い、さらに、これを24時間、70セッションはさすがに事故無くやりきるのは無理だ、と思いました。

ここで、当日の流れや配信オペレーションのアドバイザー的存在のJAWS-UG岡山支部の古里さんが神提案をしてくれました。管理IDを入れるだけで、サインイン済みの該当する pt-v.com を1230pxの幅で表示して、セッションタイトル名や登壇者の名前も併せて表示するページのモックアップつくったよ、と!オペレーションとしては登壇1時間前に案内スタッフが登壇者に当日の流れを説明する時点で、ポケトークの設定画面から pt-v.com のサインイン後の URL を聞き出し、表示確認をしながら、それを Google スプレッドシートに記載、スプレッドシートにはあらかじめセッションタイトルや登壇者名情報も記入されており、そのスプレッドシートをベースに  Google Apps Script (GAS) を使って JSON を吐き出すサービス化し、別に用意した情報表示ページアプリからそこにアクセスして、iFrame による pt-v.com 表示と、セッション情報の表示を可能にするものでした。さらに、今度は JAWS-UG 浜松支部の松井さんが、Amplify で情報表示アプリを実装してくれました。また、情報表示アプリ上に1分おきで視聴者数を表示する機能も追加して、このWebアプリですべての情報の取得を可能にしてくれました。配信スタッフは S01、S02、S03とIDを入力して更新ボタンを押すだけになりました。これであれば、交代時間の5分以内に余裕で次ぎの配信準備ができそうですし、24時間の操作でもミスなくやれそうな気がしてきました。

登壇者側の負担

今回登壇者にはかなりの負担を強いています。おすすめの利用方法として、トランシーバーのように、話すときにポケトークのボタンを押し、話終わったらボタンを離して使ようにガイドしました。これは普段の登壇とはまるっきり違うのでかなりの負担になりました。ハンズフリーによる利用も「β版」としてあったのですが、明示的なオン、オフがない分、どこでディクテーションが終わって翻訳されるのか、その「間」を掴むのが短期間では難しい、という判断でした。

ただ、ツィッターなどでみていると、このようなオン、オフといった操作は、文章を適切に区切り、話すスピードもゆっくりと意識するため、聞きやすかった、という投稿も多くありました。テクノロジーにより課題解決を目指すと同時に、わかりやすい内容にする、ゆっくりと話す、ということもあらためて重要だと気付かされました。

テクノロジーを支えるスタッフの応対

翻訳や文字起こしの性能や、配信基盤はもちろん重要ですが、それを支えたのは24時間にわたり、登壇までのフローをしっかりと支えたスタッフであることは間違いありません。今回、さまざな役割のスタッフが JAWS PANKRATION に関わっていますが、この字幕表示に関しては、登壇1時間前に登壇者と内容を確認する待合室担当スタッフによる、ポケトークからの翻訳ページのURLの聞き取りと確認、スプレッドシートへの間違いのないコピー、そしてなんといっても今回は日本語だけでなく、英語による確認を完璧にこなしてくれたことです。今回、緊急事態宣言もあけ、かつフォージビジョンさんの多大なご支援で場所を提供していただいたので、スタッフが同じ場所に集まって対応することができました。一同が集まることができたこの環境に本当に感謝いたします。

画像5

以上、忘れないように書き留めました。雑な記事で申し訳ございません。追加・修正を加えるつもりですので、ご容赦ください。

なお、まだ作業中ですが、JAWS PANKRATION のセッションアーカイブは以下の JAWS PANKRATION チャンネルで公開予定です。こちらで公開される動画を見れば、ポケトークによる字幕の当日の模様を確認できますので、ぜひ公開をお楽しみにしてください。

この記事がなんらかの参考になれば幸いです。

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