【字幕・翻訳エンタメ2.0】ゆかりねっとコネクターNEO2.0 実践解説書 | Kibekin BLOG.

【字幕・翻訳エンタメ2.0】ゆかりねっとコネクターNEO2.0 実践解説書

この記事の概要を簡単まとめ!

  • Nao氏のゆかりねっとコネクターから始まった字幕・翻訳エンタメ
  • 公式宣伝ストリーマ:あすまくん、公式アンバサダー:clea
  • ゆかコネからゆかNEOへ、3周年イベント後は体制も強化された
  • ゆかNEOが軽量版からほぼ「したいことができる」ツールへと進化していく
  • 2022年10月26日、ゆかNEOは2.0へ進化した
  • 2.0での変更箇所を確認しつつ、UDトークベースでの表示方法を解説する
  • 手順に従えば設定は難しくない、綺麗に見せることもできるようになる
  • 個人利用APIで最も簡単なGoogle Apps Scriptの設定方法も解説
  • ゆかコネアンバサダー、推しは誰に設定している?
  • 2.0の始まりは、新しい字幕・翻訳エンタメの始まり

Nao氏が制作したゆかりねっとコネクターは、β版を含めた意味でのリリース日は不明であるが、FANBOXの投稿から推測するに2019年2月1日時点で使用可能な状態になっていた。そのため、本当の意味でその答えを知っているのはNao氏だけである。だが重要なことはそれではなく、ゆかコネがいつまでも皆に必要とされ、そして必要と感じている人達が相互で支え合い、運用を続けていける環境。目まぐるしく変化する状況に対応するには、個人の力では不足なことも多いからだ。

そのゆかコネは現在、ゆかNEOにメイン開発を移し、より使いやすく、より求めているものができるようにと、常に改良が続けられている。また開発の効率化のため、Nao氏主導でDiscordサーバーが建てられ、そこでユーザーから使用情報、バグ、要望を聴き、同時に参加者同士でのわからないことについての情報交換などを行えるようにしている。その体制は2022年3月25日から強化され、これによりDiscordも参加者が増え、情報量も多くなった。

そしてこの度、ゆかNEOはこれまでv1台をずっと維持してきたが、わんコメ4.0リリースに合わせてゆかNEO自体もバージョンが正式に2.0になる。その間に翻訳APIの仕様変更・廃止や代替構築、UI変更、バグ対応と同時、ドキュメント作成と忙しいことが重なっており、情報整理がなかなか追い付かないようである。そこで、このブログでゆかNEO2.0について、実践解説という形で書くことにした。

―字幕・翻訳エンタメは”2.0“へ突入する―

ゆかりねっとコネクターのこれまで

Nao氏の想い

投稿型の動画、最近では配信において、投稿者=ストリーマーが視聴者=リスナーに伝達する手段とはどのようなものがあるか。通常は投稿者=ストリーマー自身の声になる。だが、必ずしもそれができるような環境・状況であるとは限らない。事情により声を出せない状況であったり、或いは音声問題によって喋ってこそいるが音が乗らなかったりするというのは常であり、そうなると観ている人に自分の意図を伝えるのがなかなか難しくなってしまう。

それについての対策は簡単で、よくテレビで見るような字幕を表示することができれば、万が一にもそのようなトラブルが発生した場合に対応できるものとなる。だがそんな都合のいいものは存在しない。そう考えていると発見したのが、「ゆかりねっとコネクター」である。静岡福祉大学の非常勤講師である森直之氏、インターネット上での活動名でNao氏が制作したものである。自身の研究成果を応用して作られたものの1つであり、最初の目的はボイスロイドアプリ「ゆかりねっと」(おかゆぅ氏制作)の音声認識精度をUDトーク経由で向上させること、音声認識の結果を翻訳し字幕として表示するためのものであった。このことはFANBOXの2019年2月1日投稿記事から分かる。



Nao氏がゆかコネを制作したその想いとして、先のFANBOXの記事でこう述べている。

また、海外向けゲーム配信も多い、ってことなので、
「多国語翻訳もいれたい!」というニーズに応えるということで、
Google翻訳(商用契約版)をつかって、字幕を出すこともできます。

認識した字幕は、表示だけではなくて、Adobe Premiere や、
Aviutl などの動画編集アプリに出力することができます。

そんなアプリで、実況系動画に いろんな国の言葉がついて、
相互にやり取りが生まれるような環境になったら楽しいだろうな!ってことで
そんな未来を夢見て、プログラムを公開しました。

最初は、音声認識の活用方法の研究からスタートしましたが
応用例が思いのほか好評だったので、研究から実践フェーズに移行して
制作を担当した個人がGoogle 翻訳APIの契約を行って開発・維持・管理しています。

ってことで、私個人としては、ランニングコストが賄えさえすれば問題なく、
より多くの夢が皆さんと実現できれば、とおもっています!

ゆかりねっとコネクターとは。|なお|pixivFANBOX

2019年時点では死のコロナウイルスが始まるほぼ1年前で、その時点ではまだそこまでVTuberが目立つような存在ではなかった。しかしVTuberをはじめとする、ストリーミングサービス流行の兆しは既に現れていたので、もしそれがなかったとしても増えることは確約されていたようなものである。そして言語の壁を取り払い、1つのものを皆が楽しめる状況を作り出すということができるようにすることもまた、ゆかコネの狙いである。

こうしてゆかコネは人知れず始まることになった。とはいえ多くのことは、最初は注目してくれる人は少ない。それでも長く続けると、いいことは必ずあるものだった。

公式宣伝ストリーマと公式アンバサダー

いつからできたのか、明確な情報は不明だが、ゆかコネには公式宣伝ストリーマにあすまくんがいる。ゆかコネ全体のイラスト・キャラクターデザイン担当でもあり、ゆかコネのアイコンやNao氏の立ち絵なども(間違いでなければ)あすまくん作である。ある意味で裏方作業であるためか、表には出てこないことが多いものの、ゆかコネでは外すことのできない存在である。

そして大事なのが、ゆかコネの認知に大きく貢献することになったVTuber, clea氏だ。ゆかコネの配信・動画での初導入は2020年6月20日の誕生日配信であるようだ。同時にこのタイミングで現在のclea氏のモデル(第1号)のイラスト及びLive2Dの立ち絵が公開され、「いつも見ているあの姿」での配信は6月25日のFF14麻雀からである1)この時はゆかコネは使用していなかった。。そして6月26日の東方非想天則以降、(ショート等の喋る必要がないものを除いて)全ての配信ないし動画でゆかコネを使用している。ただ導入当初は単純にゆかコネを使っているVTuberの1人というだけであり、特に役職があるわけではなかった。

これが「ゆかりねっとコネクター」多言語字幕アンバサダーとなったのが、clea氏のホームページのプロフィール・活動履歴から、2020年12月9日となる。この時点でゆかコネを使うVTuber=clea氏のイメージが出来たものと考えられる。また、clea氏の各プラットフォームのプロフィール欄で、一貫して書いてあることが『1つのゲームを世界で楽しめる』『難聴の人文字を必要する人達に楽しんで貰いたい』という確固たる想いである。この部分はゆかコネの設計思想とマッチするため、clea氏とゆかコネの組み合わせは必然であった、そう言えるであろう。

clea氏のプロフィール抜き出し
clea氏のあらゆるサービスのプロフィール欄を抜き出し、該当部分に赤下線を引いたもの。どのプラットフォームでも共通して書いていることが分かる。生粋のclea氏のファンなら、どこのプラットフォームか一目でわかるかもしれない。

ゆかりねっとコネクターNEOの主力化と3周年イベント

直近のゆかコネの大きなイベントと言えば2022年3月25日で間違いない。この日はclusterでゆかりねっとコネクター3周年記念のイベントが開催されていた。この時clea氏は中継を兼ねた同時配信を行っていた。当時はVRデバイスは持っておらず、clusterに登録していなかったため実際の会場には行けなかったのだが、この模様はclea氏の中継を見て、その動向を見守っていた。

その少し前、私は当時ゆかコネの軽量版という位置づけであった、ゆかりねっとコネクターNEOを発見し、それもまた検証して1つの記事とした。その前はゆかコネを、ゆかりねっと編を1、UDトーク編を2として分割して書いている。ただ、私はゆかコネよりゆかNEOの方が「軽量である」ことに着目して、実際の検証でもゆかNEOを使用するようになった。というのも、私の環境ではゆかコネでは各種連携可能なプラグインがあっても使わないものが多く、それならば字幕表示に特化したゆかNEOの方がいいとシフトチェンジした結果である。これは他の人も同じことを考えているのが多かったようで、ゆかコネからゆかNEOにシフトチェンジする人は次第に増えていったようである。

これを受けて、clea氏はゆかNEO版のHow-to動画を制作する。そしてイベント当日を迎え、その日を境として開発メインがゆかNEO中心となっていき、同時に役職についても、clea氏は公式アンバサダーから公式ガイドとなり、第1期アンバサダーを8人制定した。わんコメとの連携開始もアナウンスされ、ゆかNEOが単純な軽量版からほぼ「したいことができる」ツールへと進化していくこととなる。




ゆかNEOの出来ることは次第に増えていく

ゆかコネからゆかNEOに開発メインが移行したことで、これまでゆかコネを使用していた人も、その情報をもとにゆかNEOを導入した人も多いはずである。その際、ゆかコネで使っていたものがゆかNEOでは使えないというのは困るはずだ。このことを考慮し、ゆかコネに搭載されている機能はゆかNEOではプラグインの形で移植されることとなった。基本的な機能は全て移植されたものと考えていいはずだ。

それとは別に、主にDiscordでのユーザーからの要望によってプラグインが追加されることも多い。実際にあった要望として、歌系の配信が増えてきたことから「歌詞表示支援プラグイン」が追加され、各種VR-SNSで使用できるOSC, WebTrigger, その他連携可能なプラグインも追加されている。現状、大手VR-SNSの殆どはプラグインが搭載され、そのVR-SNSで使えるようになっている。これらのプラグインは開発版にまず搭載され、その試験を要望した人が行い、その結果をNao氏に伝達して、バグがある場合は修正ないし変更を加える。以下それを繰り返す形で開発が進められている。

また、ゆかNEOの主目的でもある字幕表示・翻訳機能についても、VR-SNSで使用できるように整備が進められている。既にVirtualCastではそれがゆかコネの頃から可能であったが、これは(私がお願いして)ゆかNEOでも使用できるようになった。他のVR-SNSでも持ち込めるように調整が進められている現状、まだまだできることが増えていくはずだ。

2022年10月26日、ゆかNEOは2.0へ

本業の合間に行われるゆかNEO、それ以外のNao氏が開発・運営を行う各種ツール。おそらくこれからも絶対に必要とされるものである。そのゆかNEOは、これまでずっとバージョンが1.9台であった。ゆかNEOはマイナーチェンジとバグ修正でおそらく最も更新頻度が高いツールになるはずで、それ故バージョン番号は大きく変えることができないと考えられる。また一般的なイメージとして、小数点以下ではない数字が1つ上がると大型アップデートが入ったと考える人が多いと思われる。その影響を考慮してのこともあり得る。

そんなゆかNEOは、Discordでの参加者からの使用レポート、幾度にも渡る話し合い、目まぐるしく変わる翻訳APIの条件とその運用コスト、連携を公式にサポートしているわんコメとの兼ね合い。これらを全て含め、ゆかNEOもついに2.0へアップデートすることが確定した。これは安定版の更新も含み、先に2.0RC(Release Candidate)を複数回行ったうえで安定版を2.0として出すものである。ちょうどわんコメも4.0への更新が行われるので、それに合わせた形となる。

そして2022年10月26日、インストーラが公開され、正式に「ゆかりねっとコネクターNEO」2.0がリリースされた。時期的にゆかコネ3周年イベントからちょうど7ヶ月が経つ日である。あれから変わったことは多く、従来の設定が一部無効になっているものもある。よって2.0になったという節目の意味も込め、初歩的な使い方をここでおさらいしていくこととする。

ゆかりねっとコネクターNEO 2.0 使い方のおさらい

ゆかNEOは、これまで字幕を必要としなかったが故に「存在を初めて知った」人も少なくない。つまり、一切の事前知識がない人が初めてゆかNEOを使う可能性が十分ある。それを考慮した上での、UDトークを使用する場合の「きれいめな字幕・翻訳表示」ルートでの解説を行うこととする。なお、表示先はOBS Studio(28.0以上)で字幕を表示するものとして、わんコメはここでは一旦連携しないものとする。また、専属VTuberである無音烏の協力のもと、解説を進める。

設定0:母国語・名前設定+ディレクトリ設定

まず確認すべきことが母国語設定である。この部分が間違っていると翻訳が早速破綻することになる。この言語は通常システムの言語に調整されるが、たまに違っていることもある。そのため、自分がメインで使用する言語にこれをセットする。日本語の場合、44番である。その下の名前は、一部の字幕レイアウトで喋った人の画像を出すことができるようになっており、その時に表示する名前を入力する。この画像はここで設定した名前の通りである必要があり、それがあるディレクトリを指定する必要がある。これは上部メニューのオプション設定(工具マーク)から設定できる。以下の画像のように設定するといい。

ゆかNEO初期設定
ゆかNEOの初期設定。まずは言語設定を明確にする。画像も表示できるレイアウトに対応するため、画像のリンクも明確に設定しておく。先に設定しておくと後が楽。

設定1:UDトークを設定する

音声認識システムは、その昔は大したこともないで終わっていたが、現在は多彩なサービスが展開されている。その中でも特に認識精度が高いのがUDトークである。これはiOS/Androidの両方で使用でき、ゆかNEOの特殊な使い方の1つ、複数のユーザーの字幕を表示させるためにも使用できるアプリである。このアプリで音声認識を行い、結果をゆかNEOに転送し、それを翻訳対象にする使い方となる。これはclea氏をはじめとする多くのゆかNEOユーザーが使用している方法でもある。



この設定方法は少し面倒であるが、最初だけ済ませてしまえば次回以降の接続時は楽になる。その際、先にアプリの設定を行ったうえでゆかNEOの設定を行う必要があるため、アプリの設定解説から行う。

設定1-1:アプリの設定

偶然にもiPhone 6Sが復元できたため、両方のOSでの解説が可能となった。OS間で仕様が若干異なり、推奨されているのはiOS版であるが、基本操作は同じため解説はまとめる。アプリはインストールされているものとして、以下の手順で設定を進めていく。

  1. UDトークの「設定」から、「接続先(サーバー)として起動する(非推奨)」にチェックを入れる。本来この機能は使用されないものだが、音声認識結果をゆかNEOに送信する場合に高速化が見込める方法である。
  2. メイン画面に戻ると、「[自分の名前]に接続する」という項目が出ている。これを開くことで自身をUDトークのサーバーとして使用することができるようになる。なおAndroid版はバグで白枠しか出ないが、開くとちゃんとUDトークの音声認識画面となる。ここではここまでできればOK。
UDトークの設定(両OS)
UDトークの設定。両方のOSでの手順である。設定する部分は1つしかないので難しいものではない。

設定で名前を入力できる欄があるが、これはゆかNEOでの接続で接続先を探しやすくなるのと、UDトークを利用したコラボ機能で話者画像を表示する際に使用するものである。コラボ機能については別の機会で解説するとして、特別な理由がない限り名前をゆかNEOで設定している名前と一致させておくといいだろう。

設定1-2:UDトークとの接続

ゆかNEOに戻り、「音声認識システム」を開く。ここで音声認識の種類を1つ選択する。今回はUDトークを使用するので「UDトーク」のラジオボタンをクリックして選択する。UDトークを選択している場合のみ、「UDトークとの接続パネル」を操作することができる。ここで、ホームルーターでスマートフォンがWi-Fiに接続している状態で、そのスマホと同じネットワーク部を持つIPv4アドレスを「使うネットワークの指定」にセットし2)例えば自分のIPv4アドレスが192.178.3.220でサブネットマスクが255.255.255.0の場合、ネットワーク部は上位24ビット=”192.178.3″を示す。例としてスマホが192.178.3.221を使用している場合、自分は192.178.3.220を使用先に選択すればいい。、その状態でUDトークを起動することで名前だけの接続先が現れる3)この挙動は少々特殊であり、私の環境では何故か同じネットワーク部を指定しているのに接続先に現れない場合があり他のIPv4を指定すると現れることがある。ローカルホスト(127.0.0.1)に指定すると接続先として現れ、この場合はサーバーとして起動中のみ接続できるなど、謎が多い。おそらく仕様であるので、慣れるしかない。。これをダブルクリックするか、選択して下の「接続」をクリックすることで接続する。切断も同じくダブルクリックするか、選択して「切断」をクリックすることで切断できる。招待を利用した場合は【QR】が必ず頭につき、インターネット経由となるためゆかNEOへの伝達速度に影響する。

UDトークとゆかNEOを直接接続
アプリ側をサーバーとし、ゆかNEOはアプリと直接接続している状態。この状態になっていると、伝達速度が早い(とされる)。

接続時の注意事項として、接続中は原則UDトークは画面遷移を含めて閉じないこと閉じてしまうと挙動とゆかNEOの結果伝達に影響する可能性があるためで、もし結果を読み込んでくれなくなった場合は再接続を行うこと。なお、UDトークは無料での使用は、1度の音声認識の制限時間が30分であることをお忘れなく。

設定2:翻訳先言語とエンジンを設定する

次に設定するのが翻訳先言語と翻訳に使用するエンジンである。ゆかNEOでは最大4言語まで同時に表示でき、それぞれにエンジンを個別に割り当てることも可能になっている4)翻訳エンジンにより得意な言語が異なるため、翻訳対象の言語に合わせたエンジンにすると翻訳精度の向上が見込まれる。。言語は基本117言語、オプションの9言語が選択可能で、使用しない場合は表示しないようにも設定できる。エンジンは支援段階によって使用できるものが異なり、自分で取得したAPIも利用可能である。自分で取得した場合はオプション設定でAPIの情報をゆかNEOに登録して使用する必要がある。かつてはGoogle翻訳ライブラリ(無料)がある意味の試用枠であったのだが、Googleの仕様変更で使用できなくなった。そのため暫定的に共用翻訳サーバ(Lexicon)が試用枠となる。ただし、これもNao氏のポケットマネーによる運用であるので、全体的な支援がなくなってしまうとこれも使用不可能になる可能性がある。そのため新たに追加されたGoogle Apps Script(個人設定)を使用するのが推奨であるが、その設定は別項で解説する。

ここでは試験的に英語を翻訳する設定で進める。翻訳1番の言語を「17:英語/English(en-US)」、エンジンを「共用翻訳サーバ(Lexicon/暫定β版/無料)」にセットし、残りはエンジンをOFFにしておく。具体的には次のようになる。

翻訳言語とエンジン設定
翻訳言語とエンジンを設定する。リスト形式なのでわかりやすい。個人APIは当然ながら個人で用意する。

設定3:OBSへレイアウトを取り込む

基本設定を完了したら、OBSへレイアウトを取り込む。OBSへの取り込み方は、字幕用ウィンドウを表示しそれをウィンドウキャプチャで表示する、ローカルファイルを利用する、ローカルサーバとしてURLを使って表示する、3つのパターンがある。OBSで使用する場合で最も安定するのがURLを使った表示で、これを前提として話を進める。



OBSへ取り込むには、まず任意のレイアウトを選択する。レイアウトは2.0.0時点で15パターンあり、それぞれの内容は割愛するが、最も一般的なレイアウトである「多言語」を選択する。その状態で、”OBS Studio/StreamLabs Desktop向け”の欄の隣にある”to OBS”をドラッグ&ドロップでOBSに取り込む。この時何か表示されるが、それは気にせずOKをクリックして進めば、ブラウザソースとしてソース名が”127.0.0.1″で、OBSのソースの一番上に追加される。これを任意の名前に変更して、配置場所を決定して大きさを他のソースと邪魔にならないように調整する。イメージとしてはこんな感じになる。

字幕レイアウトをOBSに配置する
字幕レイアウトをOBSに反映する。扱いはブラウザになる。ウィンドウキャプチャよりも安定して動かすことができる。

現状、この方法が楽で安定するやり方である。字幕表示の際にフォントにこだわりがない場合は、見え方的にもおすすめである。なお、どうしても外枠が見えてしまうことが多いので、これは後述の色設定を利用したクロマキーによって消すこととする。また、細かい設定についても触れておく。

設定3-1:文字と文字色・背景の設定

OBS側で調整してもそのままでは文字が見づらいことが殆どである。したがってゆかNEO側でサイズ調整を行う。文字サイズは「文字サイズ・行間」でコントロールでき、これは文字フォントと配置も指定できる。また、個別に設定することも可能である。調整の際は字幕表示ウィンドウ(上部メニュー左端)を表示し、手入力で表示しながら確認していくといい。

色全般は「文字色・背景色」から変更できる。これらは見え方に大きく関わるものであり、色調整を間違えると字幕がそもそも見えなくなることがある。文字色と背景色を上手く調整しながらやっていくこととなる。また、OBS側でクロマキーを使用する場合は「枠の色」の背景をクロマキーで使用する色に合わせると、透過処理でOBS側で綺麗に配置することができるようになる。

なお、これも言語ごとの設定が可能である。言語別で色を変えるというのはあまりないと思われるが、翻訳を多言語展開する場合に便利である。

設定3-2:字幕レイアウト詳細

もっと変えたい場合は「字幕レイアウト詳細」を開き、その設定を自分好みに設定する。設定項目は次のものがある。

  • 縁取りサイズ:縁取りの大きさを設定する。色は「文字色・背景色」の「縁取り色」に依存する。
  • 行間:行間を設定する。1.00未満は文字が被る。そのため1.00以上が前提となる。
  • 段落間:段落間を設定する。これも1.00未満は文字が被る。
  • 文字間隔:文字間隔を設定する。0未満(マイナス値)は文字が被る。
  • ウィンドウ枠の高さ:表示するためのウィンドウ枠の幅を決定する。OBSでブラウザソース取り込みで運用する場合、これは最大である1000.00にセットしておいた方がいい。
  • 母国語の表示位置:上に表示する・下に表示する・表示しない、の3つから1つを選択する。殆どの場合母国語字幕も表示するはずなので、「上に表示する」にセットしておく。
  • 整形モード:1行・2行・加工なしから選択する。1行および2行はどんなに長くてもその行内に収めようとするが、横幅に依存し、表示しきれない場合は途中で切れてしまうので、理由がなければ「加工なし」を選択する。

これらの設定を任意に調整し、先の設定3-1と合わせると、以下のようなイメージになる。

字幕・翻訳表示の設定
字幕及び翻訳の細かい設定。これらを好きに弄っていくことによって、一意な字幕表示になる。また、OBSに取り込む際の設定としても必要になる。

なお、字幕の表示時間を調整する場合は「テキストのタイミング」から保持時間を調整することで対応する。値は1.00~30.00で、30.00にセットした場合は消えなくなる。この表示時間は字幕を読み切れるかどうかという点を考慮し、長めに調整しておくといいだろう。また、母国語表示ルールは、過程も表示するか結果のみ表示するかも変更できる。ここもスタイルに合わせて調整する。

設定4:OBSでの細かい設定

最後にOBSで細かい設定を行う。主に透過処理やクリッピングである。レイアウト「多言語」はブラウザソースで取り込んだ場合、右側と下側に20pxだけ枠の色が飛び出るようにできている。そのままでは他のソースの邪魔になってしまうので、変換やフィルタを利用して加工する必要がある。

変換を利用する場合、クリッピングによってその枠を削る。多言語のはみ出る長さは、右と下に20pxずつである。この値はブラウザソースとして読み込んでいる場合、必ず一定で変化しない。したがってその字幕表示のブラウザに対し右クリックメニューの”変換/変換の編集”から下側にある「クロップ」を確認し、それの右と下をそれぞれ20pxにセットすればOKとなる。

フィルタはブラウザソースの場合、選択したソースに対し音声フィルタとエフェクトフィルタをかけられる。このうちのエフェクトフィルタを選択し、その中から「クロマキー」を選択する。これのメニューにおいて、ゆかNEOの枠の色で背景に設定した色と同じ色をキーの色に指定する。そして数値(類似性・滑らかさ・キーカラー流出低減)は全て1にしてOKである。これにより、透過処理が適用される。この際、透過色は必ずそれ以外で使用されている色ではないものにしておくことが重要である。

字幕レイアウトのOBS内調整
字幕を取り込んだ後、OBSで調整を行う。これらの設定を行うことで他のソースへの干渉を防ぎ、字幕表示を綺麗にすることができる。

実際に音声認識をして字幕を表示する

これまでの設定を正しく行えていれば、次のような感じになっているはずである。

字幕表示成功例
ここまでの手順を正しく行えていれば、このように字幕がちゃんと表示されているはずである。

ここではUDトークからの音声認識を利用し、それを翻訳し、ブラウザに出力したものをOBSのソースが読み取り、それを出力している形となる。つまりUDトークで実際に喋っている。このとき、音声認識はするがゆかNEOにデータが送られない場合は接続を見直す必要がある。見え方がおかしい場合はまずゆかNEO側を確認し、次にOBS側の設定を確認して調整していく。それらを全てクリアできたら、このような表示ができるというわけである。



UDトークの便利なところは、音声認識精度はもちろんだが、UDトークの単語登録アカウントを作成しておくことで、読み方に対して変換させたい単語を細かく設定することができるようになることだ。これは特にゲームで専門用語・固有名詞が頻発する場合に有効であり、辞書はカテゴリ毎に複数作成でき、サイトから辞書自体の有効/無効の切替もできるようになっている。そのため、複数のカテゴリ別辞書を用意し、配信ないし制作する動画の内容に合わせて使い分ければかなり効果の高い字幕・翻訳を期待できる。もちろん前提として「機械は完璧ではない」ことをお忘れなく。つまり、音声認識のミス・翻訳ミスはつきものであるということ。それをどう生かすかは、ゆかコネを使う人次第である。

UDトークを使用する場合の「きれいめな字幕・翻訳表示」ルートは以上となる。これをこなせた今、この瞬間から君はゆかコネユーザーだ。

Nao氏の負担軽減のために…GAS使用ルート

ゆかコネをはじめとする多くのツールが支援によって成り立っている。これは主にNao氏が契約する翻訳API・サーバーの運用資金として必要となる。かつてはGoogle翻訳ライブラリ(無料)が存在したものの、それが使用できなくなった今、運用が少々不安定になってきているようである。また、共用翻訳サーバはまだ調整段階であり、翻訳精度向上のための調整が進行しているが、Nao氏が本業と他の部分での対応でも忙しいため、なかなか難しいところである。

この問題を解決する一番早い方法が個人契約で翻訳APIを使用することである。翻訳APIは原則として商用のため有料なのだが、一部は一定条件下で無料で利用できるものも存在する。しかし、それを利用可能にするまでの手順の面倒さや、本当は金がかかるのではないかという不安によって手が出せない人も少なくないはずだ。そこで検証するのが、無料で利用可能なAPIのうち、ゆかNEO公式ドキュメントでも解説があるGoogle Apps Script(GAS)を利用した翻訳ルートである。前提としてGoogleアカウントが必要だが、ゆかコネの情報を見ている時点でYouTubeには確実にお世話になっているはずであるし、ましてVTuberなら、自分で配信や動画投稿をするわけなのでGoogleアカウントを持っていないなんてことはあり得ないはずだ。そもそもVTuber自体、YouTuberが由来なのだから。

GASの作り方と適用自体は非常に簡単であるようで、Googleアカウントを持っている人なら誰でも使用可能である。よって以下はGASの翻訳API作成を行い、それを自分のゆかNEOに適用して翻訳を出力するまでを行う。

準備:API作成

API作成、と聞いてプログラミング未経験者は構えてしまうことかもしれないが、Nao氏をはじめとする多くの先駆者が情報を残しているため、その通りにやれば基本的に問題ない。まずはGoogle Apps Scriptにアクセスすることから始める。

手順1:新規プロジェクトの作成

まずは新規プロジェクトを作成し、翻訳API専用に調整する。次のように基本部分を変更する。

  • 「新しいプロジェクトの作成」をクリックする。
  • クリックして出てきた画面から、次の部分を変更する。
    • 「無題のプロジェクト」をクリックして、名前を”google_translate_api”に変更する。
    • 左側の「ファイル」から「コード.gs」の名前を”main.gs”に変更する

まずはここまで行う。基本に忠実に、確認を怠らずにやっていくこと。

GASのプロジェクト名、ファイル名変更
GASのプロジェクト名、ファイル名を変更する。簡単である。

手順2:プログラムを書く

次に”main.gs”の中身にプログラムを書いていく。何も知らなくても大丈夫で、「Google翻訳APIを無料で作る方法 – Qiita」の中央部分にコードブロックがあるので、それをそのまま全て書き換える形でコピペしてしまってOKである。ここにもコードは書いておくが、私はコメントアウトも含めてコード中に日本語が入っていると違和感を感じるので日本語部分だけ書き直している。

 

余談だがこのコードは拡張子こそgsだが、JavaScriptをベースとしている。異なるのはGoogleがそのJSに独自のオブジェクトを多数追加しており、コードはGoogleのサーバー上で実行するもので、ブラウザで実行するものではないので一部のJSのオブジェクトは使用できないということである5)参照:Google Apps Scriptはプログラム言語初心者でも学べるのか? – Google Apps Script(GAS)を用いたシステム開発を支援。なのでWeb開発者であれば、少し勉強するだけでAPI作成の感覚を掴むことができるので、第n言語(nは自然数)として遊びに使うのも悪くないであろう。




手順3:デプロイし、必要情報をメモ

コードを記入したら、これをデプロイして使用可能にする。以下の手順で行う。

  1. 画面右上にある「デプロイ」をクリックし、「新しいデプロイ」をクリックする。
  2. デプロイの種類は「Webアプリ」を選択。これに説明文、ウェブアプリ、アクセスできるユーザーを次の値にして、設定を確認したら「デプロイ」をクリックする。
    • 説明文:ゆかりねっとコネクターNEO用(ゆかNEOで使用すると分かるなら何でもいい)
    • ウェブアプリ 次のユーザーとして実行:自分(GmailのID) デフォルトのままでOK
    • アクセスできるユーザー:全員
  3. デプロイが完了すると、デプロイIDとウェブアプリのURLが表示される。このうちURLをコピーし、メモ帳にでも一旦貼りつけておく。貼り付けができたら完了をクリックして画面を戻す。
デプロイ実行とアプリURLのコピー
デプロイの実行手順と、デプロイ完了後に取得できるアプリURLのコピーを行う。アクセスできるユーザーが全員になっていることを確認すること。

ほぼ真似するだけなので何も難しいことはなく、何も弄っていなければ特に問題は発生せずにデプロイが完了するはずである。URLをコピーしたら、次はゆかNEOのオプション設定画面である。

手順4:ゆかNEOの設定画面でURLを入力

最後に自分のゆかNEOのオプション設定から、先にコピーしたURLを指定の場所に貼り付ける。設定場所は「自分のAPIキーを使う」の中の一番下にあり、そこの枠に入力すればOKである。このとき、末尾の/execは必ず削除すること。

ゆかNEOでデプロイしたGASをセット
デプロイしたアプリのURLをゆかNEOの設定画面からセットする。”/exec”の消し忘れに注意。

入力場所が間違っていないことを確認して、/execも削除したのを確認したらOKをクリックして反映させる。これでGAS翻訳の使用準備は整った。

使用:翻訳をGASにセットして確認

ここまでできたら後は翻訳エンジンを「Google Apps Script 翻訳(個人で用意)」にセットして、実際に何か入力して、翻訳させてみる。テストなのでこの場合は手入力を利用してもいい。設定に間違いがなければ、次のように翻訳が生成できているはずである。

GAS翻訳テスト例
GASの翻訳テスト。設定が間違っていなければこのように出力される。

このようになっていればGASはちゃんと使えるようになっている。翻訳精度や応答速度はGoogleに依存こそするが、これで安心して翻訳を利用できるようになる。Googleアカウントさえ持っていれば誰でも作成でき、手順も簡単でわかりやすいものであった。

確認事項:GASの制限について

GASは現時点では無料であるが、その分の制限が存在する。Google Apps ScriptのGoogle サービスの割り当てのページによれば、次の制限が存在する。

GASの制限事項
Googleが公開しているGASの制限事項。10月30日確認時点であるので、これらは今後変更される可能性もある。

画像はGASの全てに適用される制限事項だが、今回の翻訳APIで関わってくるのはランタイムであろう。また、詳細は不明だが1日の間に使いすぎるとスクリプトが強制停止するようになっている。1日に2時間程度の配信ならおそらく間に合うであろう、これが例えば8時間もやるとなれば制限に引っかかる可能性は高い。その場合は他の翻訳APIを利用することになることは肝に銘じておくべきである。無料APIは幸いにして他にもまだたくさんあるので、それぞれ用意しておくといい。使わないなら使わないで無料である。

以上でGASの解説は完了となる。簡単なので、気が向いたらやってみるといい。

スーパー余談タイム:ゆかNEOの「ゆかコネアンバサダー」設定

ゆかNEOの開発は至って真面目に行われるものであるが、その中に1つ、Nao氏が遊びで追加した機能がある。オプション設定の一番上、「アンバサダー(推し)の設定」とある。この機能は一体何なのかと疑問に思った人も少なくないはずだ。

ゆかコネ3周年イベントに参加した人なら、そのタイミングで公式担当及び第1期アンバサダーの説明があったことは知っていることである。それを選択できるというのがこの機能である。初期値は「なし」(Nao氏)である。これを次の10人から選択できる。

  • clea ― ゆかりねっとコネクター公式アンバサダー(旧)→ゆかりねっとコネクター公式ガイド(現)。ルインズメイガス、オノゴロ物語、ディスクロニアアンバサダー、Vketアンバサダー、Liv-erse1期生(2022/10/08~)、Meta Quest 第3期アンバサダー(2022/10/31~)。世界共通認識「かっこいい+かわいい」。
  • あすまくん ― イラストレーター。最近配信も始めた。
  • 卯塚ウウ ― 大道芸人うー氏の妖精。わんコメアンバサダー=わんバサダー兼任。最新ツールの情報源であり、様々なツールの機能をフル活用している。
  • 君友ゆるし ― エスペラント語の達人。
  • 朝日ゆい ― かわいいを世界に展開。
  • 猫入あこ ― 言語の壁を超えてワールドワイドなオタ活をしている。
  • ニコ(picNicco) ― 趣味と特技が多彩なマルチプレイヤー。
  • わたあめ子 ― 創作もゲームもする。ミクランドのスタッフ経験もある。
  • Inanaku Muu(ムウーちゃん) ― 唯一の海外アンバサダー。TCG VTuber。アメリカ・テキサス州在住。

このうちの1人を選択し、設定画面を閉じるとメニュー画面の最上部に変化が起きている。例としてclea氏の場合、このようになる。

clea氏の場合のゆかNEOの変化
アンバサダーをclea氏にセットした場合の変化。メニュー最上部のイラストが変化し、文面もclea氏に合わせて変更されている。かわいい。左側はゆかNEO公式サイトの紹介。

このようにメニュー最上部のイラストが選択したアンバサダーになり、文面もそれぞれに合わせたものとなる。イラストはあすまくん全面協力である。また、起動画面のイラストもその選択したアンバサダーになる、ちょっとした「心の癒し」ができる。ちなみに君友ゆるしを選択した場合、文面もちゃんとエスペラント語で書かれるごめん、エスペラント語わからない。

この機能、ゆかNEO本体の挙動には一切変化が起きない。その代わり、いつも使うゆかNEOにちょっとした変化をもたらす。Nao氏いわく「Happyになれるという機能」であるので、推しなゆかコネアンバサダーがいるならセットしておくと、きっといい感じになるはずだ。あるいは制作者のNao氏を推すという意味で、あえて設定しないのもまた1つの推し表現になるはずだ。

また、SNSやゆかコネのコミュニティでこの設定について話をしてみるのも面白い。これについて話せば「誰をよく観ているか」というところで話が弾むこともあり得るためだ。これを読んでいるそこのあなたは、誰が「最推し」だろうか。

2.0の始まりは、新しい字幕・翻訳エンタメの始まり

2019年2月1日。確認できる範囲でゆかりねっとコネクターが始まった。元々は音声認識精度の向上とその結果を翻訳し、字幕として表示するためのツールであった。最初は利用者は少なかったが、イラストであすまくんが参加し、2020年6月26日からclea氏が積極的に使用し始める。この流れから2020年12月9日、clea氏はゆかりねっとコネクター公式アンバサダーとなり、地道にゆかコネの認知度を上げていき、少しずつ利用者が増えていく。そのうち、ゆかコネ自体に様々な機能が追加され、単純な音声認識・字幕システムはマルチなエンタメツールへと進化していった。ビクトリノックスのマルチツールのようだ。

その一方で字幕表示に特化した軽量版、ゆかりねっとコネクターNEOを制作するが、これの評判が良かったため、ゆかコネから乗り換える人も多数存在した。その結果、ゆかコネの機能はプラグインという形で移植され、ゆかコネ3周年イベントを機に開発メインもゆかNEOへ移行する。現在のゆかコネは保守フェーズであり、更新こそ行われるが優先度は低い状態である。ただしゆかコネにはゆかコネの得意なこともあるわけで、それを目的にゆかコネを使ってもいい。その意味でNao氏は「ゆかコネもいいぞ」と主張している。

そうして迎えた2022年10月26日、ゆかNEOは2.0となった。これまで積み上げてきた技術の結晶、めまぐるしく変化する翻訳事情、支援状況、バグと新機能実装の対応、わんコメとの調整、Nao氏自身の本業との兼ね合い。様々な要素が複雑に絡み合って、そうして生まれたゆかNEO2.0。これは新しい字幕・翻訳エンタメの始まりでもあると考えている。同時に、2.0になったという話はこれまでゆかNEO(ゆかコネ)を使っていない人にも伝わっている可能性は高い。それらが新規のゆかNEOユーザーとして参加してくれたら嬉しい限りだが、その人向けの解説ドキュメントが新たに必要になるはずだ。

だからゆかNEO公式サイトでは拾いきれないことを、ここで。新しい字幕・翻訳エンタメを一緒に体験しよう。

 

以上、ゆかりねっとコネクターNEO2.0 実践解説書、であった。次は何の記事で会おうかな?

 

KIBEKIN at 08:06 Oct. 31th, 2022


スポンサーリンク



脚注

脚注
本文へ1 この時はゆかコネは使用していなかった。
本文へ2 例えば自分のIPv4アドレスが192.178.3.220でサブネットマスクが255.255.255.0の場合、ネットワーク部は上位24ビット=”192.178.3″を示す。例としてスマホが192.178.3.221を使用している場合、自分は192.178.3.220を使用先に選択すればいい。
本文へ3 この挙動は少々特殊であり、私の環境では何故か同じネットワーク部を指定しているのに接続先に現れない場合があり他のIPv4を指定すると現れることがある。ローカルホスト(127.0.0.1)に指定すると接続先として現れ、この場合はサーバーとして起動中のみ接続できるなど、謎が多い。おそらく仕様であるので、慣れるしかない。
本文へ4 翻訳エンジンにより得意な言語が異なるため、翻訳対象の言語に合わせたエンジンにすると翻訳精度の向上が見込まれる。
本文へ5 参照:Google Apps Scriptはプログラム言語初心者でも学べるのか? – Google Apps Script(GAS)を用いたシステム開発を支援
KIBEKIN
会社員という働き方が合わないのに会社員になってしまってから、半ば自分からリタイア後ブログクリエイターとなり活動してきた社会不適合者。VRやVTuberに触れる機会が増え、今後はリスペクトだけではなく自分を作る意味を込め、VTuberならぬVBlogCreator"KIBEKIN"として新しいスタートを切る。

コメントを残す

メールアドレスが公開されることはありません。
名前は必須項目となります。記入をお願いいたします。

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)