LoginSignup
6
4

More than 3 years have passed since last update.

NeosVRでリアルタイム翻訳機を使う

Last updated at Posted at 2020-02-15

はじめに

こんにちは!tuttuです!
twitterで紹介した、こちらのリアルタイム翻訳機の導入方法を説明します!

ちなみにこれは、海外のAnomalousさんが作ったもので、本人の紹介動画もあります。
https://www.youtube.com/watch?v=-Ygun89yHZU

わかりづらいところ、間違っているところがあれば随時加筆修正するので、
お気軽に教えてください!

まとめ

最初に要点を書いておきます。

  1. 環境構築: C# .NET Framework 4.6.2, 4.8 で動作確認済み
  2. Azure認証キーの取得(無料試用版あり): Speech API (Cognitive Service)
  3. ソースコードのclone: https://github.com/Anomalous/AnomalousNeosExperiments/tree/master/Translator
  4. NeosTranslateDataModel.csの認証キーと言語を設定
  5. Translatorをローカルで立ち上げ
  6. (Neosにて)ツール配布ワールドでツールを取得: http://cloudx.azurewebsites.net/open/world/U-Anomalous/R-55501fd5-8e98-40db-9dd4-e2cae7ea41c6
  7. ワールドの動画に沿って、自分の名前を設定

1~5は現実世界で行い、6,7はNeosVRで行います。
これらについて次の章から詳しく見ていきましょう!

動作確認環境

  • Windows10
  • Oculus Quest + Virtual Desktop

また、PCにマイクの音声が届いていることを確認しておきましょう。

現実世界編

C#環境構築

Visual Studioのインストール

Visual Studioをインストールするのが一番手っ取り早いかと思います。
https://qiita.com/grinpeaceman/items/b5a6082f94c9e4891613
こちらのページの「Visual Studioインストール」まで進めてください。

(以下の話はVisual Studio 2019で進めています)

※補足
ふららんさん曰く、Visual Studio 2017で起動しなかったとのこと。
2019を使うのが無難かもしれません。
各Visual Studioの対応機能については知見がないので、わかる方がいたら教えていただけるとありがたいです。

.NET Frameworkのインストール

次に、.NET Frameworkをインストールします。

4.6.2~4.8のバージョンであればどれも動くと思いますが、僕は4.6.2と4.8で動くことを確認しました。
(参考: .NET Framework のバージョンの互換性)

こちらから4.8のDeveloper Packのインストーラーをダウンロードし、
net0.PNG

インストーラーを起動してインストールを進めます。
net1.PNG

Azure Speech API 認証キーの取得

Microsoft/Facebook/Github/LinkedIn のいずれかのアカウントが必要です。
(Microsoftのアカウントは、WindowsのOSセットアップのときに作っていることが多いです)
持っていなければ、こちらから作りましょう。

Azure Cognitive Serviceのページに行き、Speech APIタブをクリック
azure1.PNG

Speech Serviceの「APIキーの取得」をクリック
azure2.PNG

「7日間の試用期間」をクリックします。
(有効期限があるので、本格的に使う場合は課金する必要があります)
ここでログインを求められるので、持っているアカウントでログインします。
ログインすると、認証キーが2つ表示されます。
こちらの認証キーは後ほど使います。
azure3.PNG

azure4.PNG

翻訳機サーバーの立ち上げ

ソースコードのダウンロード

https://github.com/Anomalous/AnomalousNeosExperiments
こちらのソースコードをダウンロードします。
gitがあればcloneしてください。

ない場合は、zipでダウンロードし、好きな場所に解凍します。
(基本的には日本語を含まないパスに解凍するのが良いです)
translator.PNG

Visual Studioで開く

Visual Studioを立ち上げ、「プロジェクトやソリューションを開く」から先ほどのソースコードを開きましょう。
vs1.PNG

cloneもしくは解凍したAnomalousNeosExperimentsの下(もしくはAnomalousNeosExperiments-masterの2つ下)にTranslatorというフォルダがあります。
その中にある「NeosTextTranslator.sln」をVisual Studioから開きます。
vs2.PNG

認証キーや言語の設定

開いたNeosTextTranslatorのプロジェクトに対し、先ほどの認証キーや言語の設定をしていきます。
1. NeosTranslateDataModel.cs を開く
2. 先ほど取得したAzureの認証キー(2つあるうちのどちらでも良い)をDEFAULT_AZURE_SUBSCRIPTION_KEYにセット
3. 入力側(話す方)の言語をTRANSLATOR_INPUT_LANGUAGEにセット(これを読んでいる人はja-JPで良いはず)
- 翻訳先の言語はNeos側で設定します
vs3.PNG

サーバーの立ち上げ

Visual Studio上のツールバーにある「開始」を押します。
vs4.PNG

すると黒い画面が立ち上がれば成功です。
vs5.PNG

試しに、http://localhost:8083/SetLanguage?Language=en などを叩いてみると、サーバーが反応していることを確認できます。
vs6.PNG

NeosVR編

NeosVRそのものの始め方は
https://neosvrjp.memo.wiki/
を参考にしてみてください!

最近開設された、日本人向けNeosVRコミュニティのDiscordもあります。
https://discord.gg/GH8YRbd

翻訳機配布ワールドで翻訳機をゲット!

http://cloudx.azurewebsites.net/open/world/U-Anomalous/R-55501fd5-8e98-40db-9dd4-e2cae7ea41c6
こちらのリンクを開くと、翻訳機を配布しているワールドに飛べます。
(NeosVRを立ち上げた状態で開くと確実です)

ワールドでは、Anomalousさんの動画と翻訳機、そして翻訳機のインスペクターがお出迎えしてくれます。
2020-02-15 19.30.21.jpg

この場で翻訳機をセットアップ(下記)してしまい、保存しましょう。

翻訳機のセットアップ

やることは2つです。
1. 翻訳機にユーザー名を登録する
2. 翻訳先の言語を登録する

まず翻訳機にユーザー名を登録する必要があります。
ChatTranslatorのsettings > RunAsUser のインスペクターが表示されているので、この中にあるValueを自分の名前に書き換えましょう。
(ワールドで開かれているインスペクタそのまま編集するのがベストです)
2020-02-15 19.32.48_LI.jpg

続いて、翻訳先の言語を登録します。
翻訳機の上にjaと入っていますが、試しにこちらをenに変更してみましょう。
変更したら、Set Languageボタンを押します。
(その他の言語はこちらにコード表があります)
2020-02-15 19.33.37.jpg

ボタンを押した直後に、こんな感じの選択画面が出てくるかもしれません。
今回は立てたサーバーへの通信を許可するため、「Allow」を押してください。
(むやみな通信の許可は危険なので、今回以外では必要だとわかっている場合のみAllowしましょう)
qUuYagIvUw.55.30.jpg

すると、ここまでうまくできていれば翻訳機が動きます!
完了したら、翻訳機をインベントリーに保存しましょう。
2020-02-15 19.34.46.jpg

(ユーザー作成ツールの保存方法はこちらを参考に)

動かないときのチェックポイント

  • サーバーを立ち上げるときにエラーが出る
    • .NET Frameworkのバージョンが違うかもしれません。僕は最初4.6.1でやろうとしてうまく立ち上がりませんでした
    • ソースコードの変なところを編集してしまったかもしれません。認証キー周りのソースコードを見直してみましょう
  • 最後まで完了したけど翻訳機が反応しない
    • ユーザー名を翻訳機に正しく設定できていない可能性があります
      • 翻訳機のインスペクタを開き、settings > RunAsUser の中にあるValueの値を確認してみましょう
    • 通信を「Deny」(拒否)してしまった可能性があります
      • この場合、localhostをブラックリストから削除します。Tools > Debug > Web hosts と開き、localhostが「Deny」となっていたら、隣のRemoveボタンを押しましょう
  • Set Languageを押したら青い文字は表示されたけど、翻訳結果が出てこない
    • ソースコードに設定を入れるときに、Azureの認証キーや言語の設定を間違ってしまった可能性があります
    • 音声がPCに届いていない可能性があります。PCの設定からマイクを確認してみましょう
6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4