RTranslator は、(ほぼ) オープンソースの無料の Android 用オフライン リアルタイム翻訳アプリです。
アプリを持っている人と接続し、Bluetooth ヘッドフォンを接続し、携帯電話をポケットに入れると、相手があなたの言語を話しているかのように会話できます。
会話モードは RTranslator の主な機能です。このモードでは、このアプリを使用する別の電話に接続できます。ユーザーが接続リクエストを受け入れた場合:
話すと、携帯電話 (接続されている場合はBluetooth ヘッドセット) が音声をキャプチャします。
キャプチャされた音声はテキストに変換され、対話者の電話に送信されます。
対話者の電話は、受信したテキストを彼の言語に翻訳します。
対話者の電話は、翻訳されたテキストを音声に変換し、スピーカーから (または、電話に接続されている場合は対話者の Bluetooth ヘッドセットによって) 再生します。
これらすべてが両方向に行われます。
各ユーザーは複数の電話機を接続できるため、2 人以上の会話を任意の組み合わせで翻訳できます。
会話モードが誰かと長い会話をするのに便利な場合、このモードは、路上で情報を尋ねたり、店員と話すなどの簡単な会話のために設計されています。
このモードは 2 人間の会話のみを翻訳します。Bluetooth ヘッドセットでは機能せず、順番に話す必要があります。これは実際の同時通訳ではありませんが、電話機 1 台だけで機能します。
このモードでは、スマートフォンのマイクは 2 つの言語 (トランシーバー モードの同じ画面で選択可能) を同時に聞きます。
アプリは対話者がどの言語で話しているのかを検出し、音声を他の言語に翻訳し、テキストを音声に変換して、電話のスピーカーから再生します。 TTS が終了すると、自動的にリスニングが再開されます。
このモードは単なる古典的なテキスト翻訳ツールですが、常に便利です。
RTranslator は翻訳に Meta の NLLB を使用し、音声認識に OpenAi の Whisper を使用します。どちらも (ほぼ) オープンソースの最先端の AI で、優れた品質を備え、電話上で直接実行されるため、完全なプライバシーが確保され、オフラインでも RTranslator を使用できます。品質の損失。
また、RTranslator は、携帯電話がスタンバイ状態のとき、または他のアプリを使用しているとき (会話モードまたはトランシーバー モードを使用している場合のみ)、バックグラウンドでも動作します。ただし、一部の携帯電話ではバックグラウンドでの電力が制限されているため、その場合はそれを避け、画面をオンにしてアプリを開いたままにすることをお勧めします。
新しいGUI!キアラ・チンダモ氏によるデザイン。
テキスト翻訳モードに「話す」ボタンと「コピー」ボタンを追加しました。
トランシーバーモードでマイクを手動で制御するオプションを追加しました。
低品質の言語を使用するオプションを追加しました。
いくつかのバグを修正しました。
変更点の完全なリストについては、ここを参照してください。
RAM の消費と実行時間を最小限に抑えるために AI モデルを大幅に最適化しましたが、クラッシュのリスクなくアプリを使用するには、少なくとも6GB の RAMを搭載し、十分な実行時間を確保する必要があります。十分に高速な CPU を搭載した携帯電話が必要です。
かなりひどい携帯電話をお持ちの場合 (または最高の速度が必要な場合)、いつでも RTranslator のバージョン 1.0 を使用できます (ただし、Google API を使用しているため、無料ではなく、初期設定が必要です)。
アプリをインストールするには、https://github.com/niedev/RTranslator/releases/ からアプリの APK ファイルの最新バージョンをダウンロードしてインストールします (他のファイルは無視してください。これらのファイルは初回起動時にアプリによって自動的にダウンロードされます) )。
最初の起動時に、RTranslator は翻訳と音声認識用のモデル (1.2GB) を自動的にダウンロードし、完了すると翻訳を開始できます。
最初のダウンロードでは GitHub からモデルを取得しますが、一部の地域では GitHub が非常に遅いため、この種の問題が発生した場合は、コンピュータからモデルを個別に (または一般的には好みの方法で) ダウンロードし、手動でこのガイドに従ってアプリを作成します。
GitHub アカウントをお持ちで、新しいリリースがリリースされたときに通知を受け取りたい場合は、ページ上部の [Watch] -> [Custom] -> [Releases] -> [Apply] をクリックして通知を受け取ることができます。 。
サポートされている言語は次のとおりです。
アラビア語、ブルガリア語、カタロニア語、中国語、クロアチア語、チェコ語、デンマーク語、オランダ語、英語、フィンランド語、フランス語、ガリシア語、ドイツ語、ギリシャ語、イタリア語、日本語、韓国語、マケドニア語、ポーランド語、ポルトガル語、ルーマニア語、ロシア語、スロバキア語、スペイン語、スウェーデン語、タミル語、タイ語、トルコ語、ウクライナ語、ウルドゥー語、ベトナム語。
お使いの言語がリストにない場合は、RTranslator バージョン 2.1 以降、設定に移動して「低品質言語のサポート」を有効にして、次の言語 (翻訳と音声認識の品質が低い) を追加できます。
アフリカーンス語、アカン語(テキストのみ)、アムハラ語、アッサム語、バンバラ語(テキストのみ)、バングラ語、バシキール語、バスク語、ベラルーシ語、ボスニア語、ゾンカ語(テキストのみ)、エスペラント語(テキストのみ)、エストニア語、エウェ語(テキストのみ)、フェロー語、フィジー語 (テキストのみ)、グルジア語、グアラニー語 (テキストのみ)、グジャラート語、ハウサ語、ヘブライ語、ヒンディー語、ハンガリー語、ジャワ語 (テキストのみ)、カンナダ語、カシミール語 (テキストのみ)、カザフ語、キクユ語 (テキストのみ)、ルワンダ語 (テキストのみ)、韓国語、キルギス語 (テキストのみ)、ラオス語、リンブルフ語 (テキストのみ)、リンガラ語、リトアニア語、ルクセンブルク語、マケドニア語、タガログ語(テキストのみ)、チベット語。
RTranslator は話すために携帯電話のシステム TTS を使用するため、後者の品質とサポートされる言語は携帯電話のシステム TTS によって異なります。
上記でサポートされている言語はすべて、推奨 TTS である Google TTS と互換性があります (ただし、必要な TTS を使用することもできます)。
システム TTS (したがって RTranslator で使用される TTS) を変更するには、Play ストアまたは好みのソースから使用する TTS をダウンロードし、RTranslator を開き、その設定 (右上) を開きます。 「出力」セクションで「テキスト読み上げ」をクリックすると、システム設定がセクションで開き、優先エンジンを変更している場合は、この時点で優先システム TTS エンジン (インストールされているエンジンの中から) を選択できます。 、RTranslatorを再起動しますをクリックして変更を適用します。
プライバシーは基本的な権利です。 RTranslator が個人データを収集しないのはそのためです (サーバーすら持っていません)。詳細については、プライバシー ポリシーをお読みください (現時点では RTranslator 1.0 のプライバシー ポリシーと同じですが、将来的に更新する予定です)。
RTranslator コードは完全にオープンソースですが、使用する外部ライブラリの一部には許容度の低いライセンスがあり、これらはアプリによって使用されるすべての外部ライブラリです (ライセンスの表示付き)。
BluetoothCommunicator (オープンソース): デバイス間の Bluetooth LE 通信に使用されます。
GalleryImageSelector (オープンソース): ギャラリーからプロフィール画像を選択してトリミングするために使用されます。
OnnxRuntime (オープンソース): AI モデルのアクセラレータ エンジンとして使用されます。
SentencePiece (オープンソース): NLLB の入力テキストのトークン化に使用されます。
Ml Kit (クローズドソース): トランシーバーモードでの言語の識別に使用されます。
そして次の AI モデル:
NLLB (オープンソース、ただし非営利使用のみ): 使用されるモデルは、KV キャッシュを備えた NLLB-Distilled-600M です。
Whisper (オープンソース): 使用されるモデルは、KV キャッシュを備えた Whisper-Small-244M です。
NLLB と Whisper の両方を onnx 形式に変換し、int8 で量子化しました (品質損失をほぼゼロにするために一部の重みを除外しました)。また、モデルの一部を分離して RAM 消費量を削減しました (この分離を行わないと、実行時に一部の重みが重複して消費量が増加しました) RAM が予想よりも多かった)、実行時間を短縮するためにその他の最適化が行われました。
私の最適化の結果は次のとおりです。
通常の NLLB onnx モデル (完全な int8、kv キャッシュなし) | RTranslator NLLB onnx モデル (部分 int8、kv キャッシュあり、分割された部分) | |
---|---|---|
RAMの消費量 | 2.5GB | 1.3GB (1.9倍の改善) |
75 トークンの実行時間 | 8秒 | 2秒 (4倍の改善) |
Olive で最適化された Whisper onnx モデル (フル int8、kv キャッシュあり) | RTranslator Whisper onnx モデル (部分 int8、kv キャッシュあり、分割された部分) | |
---|---|---|
RAMの消費量 | 1.4GB | 0.9 GB (1.5 倍の改善) |
11秒オーディオの実行時間 | 1.9秒 | 1.6秒(1.2倍の改善) |
注意RTranslator Whisper モデルも 0.5 GB の RAM を消費しますが、実行時間は 2.1 秒です (このモードは RAM が 8 GB 未満の携帯電話に使用されます)。
これはオープンソースで完全に広告なしのアプリですが、私はそれから収益を得ていません。
したがって、アプリが気に入って、感謝の意を表し、プロジェクトをサポートしたい場合は、下のボタンをクリックして PayPal 経由で寄付することができます (金額はいくらでも受け付けます)。
寄付していただける場合、または単にスターとして生きていただける場合は、ありがとうございます❤️
バグを見つけた場合は、問題を報告するか、[email protected] に電子メールを書いて報告してください。
同時通訳をお楽しみください。