Skip to content

About

指定したWindowsアプリの音声を取り込み、クラウドAPIでリアルタイム翻訳して字幕を重ねるアプリ。複数の音声認識・翻訳プロバイダーに対応します。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

RealTimeTranslator

Windows 向けのリアルタイム翻訳デスクトップアプリです。指定したプロセス(ゲーム / 動画プレーヤー / 配信視聴クライアント等)の音声を翻訳字幕として表示できます。ボイス通訳では、自分のマイク音声を翻訳し、Wave Link 3 経由でゲームのボイスチャットへ送れます。字幕翻訳とボイス通訳は同時に使用できます。

⚠️ データ送信について: 本アプリは BYOK(Bring Your Own Key)モデルです。字幕翻訳・ボイス通訳の音声は OpenAI API へ送信され、OpenAI アカウントで料金が発生します。完全なローカル処理ではありません。

ボイス通訳(Wave Link 3)

Wave Link 3 の利用には Windows 11 が必要です。字幕翻訳だけを利用する場合は Wave Link の導入は不要です。

  1. Elgato 公式ダウンロードで Wave Link 3 を選び、本体と Audio Driver を導入します。「ボイス通訳」タブで対象機器が見つからない場合は、画面内の「Wave Link 3 の初回設定」からダウンロードと公式の説明を開けます。権限の確認や再起動を求められた場合は、インストーラーの案内に従ってください。Wave Link 3 は本アプリに同梱していません。
  2. Wave Link を起動し、翻訳音声専用の仮想入力チャンネル(例: Aux 1)を用意します。ゲームへ送る Chat Mix にはそのチャンネルだけを含め、物理マイク・ゲーム音・ほかの音声を外します。原音の二重送信やゲーム音の回り込みを避けるため、送話用ミックスを確認してください。ボイス通訳の利用中は Wave Link を起動したままにします。
  3. 「API設定」タブで OpenAI API キーを設定します。ボイス通訳の翻訳音声は OpenAI を使用し、字幕側の接続・翻訳先言語とは独立しています。
  4. 「ボイス通訳」タブの機器選択欄で「更新」(初回設定内では「インストール後に再確認」)を押し、入力マイク、送信先の Wave Link の翻訳専用再生チャンネル、相手へ送る言語を選択します。手順2で用意したチャンネルと一致させてください。
  5. ゲームのマイク入力には Chat Mix (Elgato Virtual Audio) を指定します。ゲームや Windows 全体の再生先は普段のヘッドホン等のままにしてください。
  6. 「翻訳音声を送信」を選んで開始します。「原音を送信」では翻訳せずに送り、「ミュート」では無音になります。原音・ミュートでは翻訳 API に接続しません。

音声は このアプリ → Wave Link の翻訳専用チャンネル → Chat Mix → ゲーム の順に流れます。Windows やゲームの既定のマイク・再生先は自動変更しません。旧方式で保存した送信先 ID は自動変換しないため、Wave Link のチャンネルを明示的に選び直してください。機器の導入・一覧更新で字幕や API キーなどの設定は消去されません。字幕翻訳は対象プロセスからの別経路で、ボイス通訳と同時に使用できます。

「押している間だけ送信」が有効な場合は、既定の F8 を押している間のマイク音声を取り込みます。停止中に発話キーのボタンを押し、登録したいキー(例: Ctrl + Shift + V)を実際に押して離すと変更できます。通常のキー1つに Ctrl・Shift・Alt・Win を組み合わせられ、Esc または別の操作への移動で登録をキャンセルできます。以前の単独キー設定も引き継ぎます。キーを離した後も、すでに取り込んだ発話の訳音声は最後まで送ります。ゲーム送信用PTTを使わない場合、ゲーム側は音声検出・常時送信に設定してください。同じ発話キーでゲームの PTT も閉じると、遅れて出る翻訳音声が切れます。「押している間だけ送信」を無効にすると、発話キーを使わずマイクVADで送信を制御します。マイクVADも無効なら、翻訳モード中はマイク音声を継続してAPIへ送ります。

マイクVADは翻訳モードで有効です。「翻訳モードでマイクの発話を検出する」と閾値・冒頭保持・末尾保持を、字幕側とは別に設定できます。既定はオン・0.8・50 ms・200 msです。発話後は訳音声の末尾に必要な無音を最大5秒送り、その後は音声送信を休止します。休止中も接続と訳音声の受信は続き、次の発話で送信を再開します。設定は停止中に変更でき、次の開始から反映されます。原音モードには適用しません。

ゲーム側でもPTTを使う場合は、「ゲーム送信用PTT」を有効にし、ゲームの設定と同じキーを登録してください。既定はオフ、キーはF9です。停止中にキーのボタンを押し、通常のキー1つと必要な修飾キーを押して離すと登録できます。マイクの発話キーとは別の主キーにしてください。音声が流れる少し前から末尾までゲームのキーを自動で保持するため、マイクの発話キーを離した後の訳音声も送れます。停止・モード切替・機器障害ではアプリが保持するキーを解放し、試聴だけの開始停止はゲームPTTへ影響しません。ゲームを前面にして使用し、他の操作と重ならないキーを選んでください。一部のゲームや権限の異なるアプリでは合成キー入力を受け付けません。キー制御に失敗するとボイス通訳を停止するため、画面のエラーを確認してください。

「訳音声の試聴」でヘッドホンやスピーカーを明示的に選び、「翻訳音声を送信」で通訳を開始してから「訳音声を試聴」を押すと、ゲームへ送る訳音声を自分でも同時に聞けます。Wave Link のミックス設定を切り替える必要はありません。試聴先にはゲーム送信に使う Wave Link 以外の再生機器を選びます。スピーカーからマイクへの回り込みを避けるため、ヘッドホンを推奨します。試聴を停止してもゲームへの送信と字幕翻訳は継続し、発話キーを離した後の訳音声の末尾も試聴できます。試聴は起動時・通訳開始時にはオフです。

「音量と訳文」では、マイク入力と送信・試聴の出力をそれぞれ −24~+24 dB のスライダーで調整できます。既定は0 dBで、各「0 dB」ボタンで戻せます。メーターはゲイン適用後のレベルを表示し、赤い音割れ表示が点灯する場合はゲインを下げてください。入力ゲインは翻訳へ渡すマイク音声に、出力ゲインはゲーム送信と試聴の両方に適用します。原音モードにも両ゲインが適用され、通訳中でも接続し直さず変更できます。字幕翻訳の入力ゲインとは独立しています。

ボイス通訳の接続は約55分ごとに自動更新し、60分の時間上限による停止を避けます。更新中は音声が一時的に途切れますが、試聴のオン状態と選択した機器を保って再開します。

停止・モード切替では送話と試聴の保留音声を消去します。通信・機器障害や処理遅延、接続更新の失敗が発生した場合も停止し、原音へ自動切替しません。試聴側の機器障害や過負荷は試聴だけを停止します。復旧後は再度開始してください。設定・接続・開始停止は字幕翻訳から独立しているため、一方を停止しても他方は継続します。

以前 OpenAI 以外を利用していた場合は、「API設定」タブで OpenAI API キーを設定してください。旧プロバイダのキーは OpenAI では利用できません。

音声検出の設定

「音声処理」タブで、閾値・冒頭保持・末尾保持をそれぞれ別のドロップダウンから選べます。閾値が高いほど音声と判定する条件が厳しくなり、冒頭・末尾の保持時間で発話の切れを抑えます。一つを変更してもほかの項目は変わりません。

項目 既定値 主な選択肢
発話判定の閾値 0.8 0.6 / 0.8 / 1.0
発話冒頭の保持 50 ms 0 / 50 / 100 / 200 / 500 / 700 / 1000 / 1200 / 2000 ms
発話末尾の保持 200 ms 0 / 100 / 200 / 350 / 500 / 800 / 1000 / 2000 ms

保持時間は音声処理の単位に合わせて適用されるため、指定値と実際の時間には差があります。実装と既定値の根拠は 音声処理と VAD の設計 を参照してください。

旧プリセット設定は初回に冒頭・末尾を新しい既定値へ移行し、閾値は保持します。旧カスタム設定と移行後の個別設定は保持し、既存の選択肢にない保存値も一覧に追加します。

機能

  • プロセス単位の音声キャプチャ: 対象プロセスの音声のみを取得します。
  • ストリーミング翻訳: 翻訳 API に音声をストリーミング送信し、翻訳テキストを逐次受け取って表示します。
  • 半透明オーバーレイ字幕: 透過・最前面・クリック透過対応のウィンドウに字幕を表示します。フォント・色・表示時間・行数を設定で調整可能。
  • 日本語フォント同梱: 字幕に最適な日本語フォント 5 種類 (IBM Plex Sans JP / Noto Sans JP / LINE Seed JP / Zen Maru Gothic / M PLUS Rounded 1c) を同梱しており、OS にフォントが入っていなくても綺麗な字幕表示が可能です。
  • 背景色と濃さ: 8種類の色と5段階の濃さ(0 / 25 / 50 / 75 / 100%)を独立して選べます。枠色は背景の輝度に合わせて自動調整されます。
  • 字幕翻訳のコスト見える化: 音声検出で無音区間の送信を抑制して API の課金を削減します。字幕セッションの経過時間 / 推定コスト (USD) / 節約秒数をリアルタイム表示します。ボイス通訳の利用分はこの表示に含みません。
  • 翻訳ログ: 確定字幕を ADV ゲーム風の会話ログ画面で閲覧できます。保持期間を 7 / 30 / 90 / 180 / 365 日 / 無制限から選択可能。
  • 自動アップデート: 起動時に自動で新版を確認し、ダイアログから更新できます。

動作環境

項目 要件
OS Windows 11 / Windows Server 2022(Build 20348 以降)
アーキテクチャ x64 のみ
必須 OpenAI のアカウントと API キー

インストール

  1. Setup.exe をダウンロード

  2. インストーラを実行

    • ダウンロードした RealTimeTranslator-win-x64-Setup.exe をダブルクリック
    • インストール完了後、スタートメニューに「RealTimeTranslator」が追加されます
  3. OpenAI API キーを準備

    • OpenAI のアカウントと API キーを用意
  4. アプリを起動して OpenAI を設定

    • サイドバーの 「API設定」タブ で OpenAI API キーを入力
    • 「接続テスト」ボタンで疎通確認
  5. 翻訳を開始

    • 「メイン」タブ で対象プロセス(ゲーム / 動画プレーヤー等)を選択
    • 出力言語を選択して「開始」ボタンを押下
    • 半透明オーバーレイに翻訳字幕が表示されます

同梱フォント

字幕用に最適化された日本語フォント 5 種類を OFL (SIL Open Font License) 1.1 ライセンスで同梱しています。設定画面の「フォント」ドロップダウンで切り替え可能です。

  • IBM Plex Sans JP (既定): 視認性高め
  • Noto Sans JP: 漢字字数最多
  • LINE Seed JP: 親しみやすい角丸
  • Zen Maru Gothic: 柔らかい丸ゴシック
  • M PLUS Rounded 1c: 丸みのあるモダンサンセリフ

システムフォント(Yu Gothic UI / Meiryo UI / Segoe UI / MS Gothic)も引き続き選択できます。

トラブルシュート

翻訳結果が表示されない時

  1. 対象プロセスの選択が正しく、そのアプリで音声が再生されているか確認
  2. 「API設定」タブで OpenAI API キー、契約・課金状態を確認
  3. ネットワーク接続を確認

「API設定」の「接続テスト」では、認証・アクセス権・レート制限のほか、DNS名前解決、接続拒否、通信切断、タイムアウトなどの原因を表示します。通信エラーの場合は、表示された案内に従って回線・プロキシ・VPN・ファイアウォールの状態を確認してください。

対象アプリがプルダウンに出てこない時

「対象プロセス」の一覧には、主にオーディオセッションを持つプロセスが表示されます。再生を停止したプロセスが残る場合もあります。対象アプリが見つからない場合は、そのアプリで一度音を出してから 「更新」ボタン を押してください。

音声は再生されているのに字幕が来ない時

  1. アプリ画面のステータスバーに 赤いエラーバナー が出ていないか確認 (API キー認証失敗 / 課金エラー等)
  2. 「音声処理」タブ で VAD の閾値と保持時間を確認。小さな声を拾えない場合は閾値を0.6へ下げ、冒頭・語尾が切れる場合は該当する保持時間を長くします。
  3. ゲーム本体の音量設定が小さい場合は 「メイン」タブの入力ゲイン を +6dB 〜 +12dB 上げて再試行
  4. それでもダメな場合は対象プロセスを終了→再起動 → 翻訳側も Stop→Start

歌や BGM の歌詞も翻訳されてしまう

FireRed VAD のストリーミング版は会話と歌声を声として扱うため、 歌モノ BGM の歌詞も字幕として翻訳します (ゲーム OP/ED や挿入歌も対象です)。 翻訳したくないシーンは Stop ボタンで一時停止してください。

API キーを入れたのに「キー未設定」と表示される

「API設定」タブで OpenAI API キーを入力し直してください。別ユーザー・別 PC から設定ファイルをコピーした場合、保存済みキーは復号できないため再入力が必要です。

課金が想定より高い

  1. 「音声処理」タブ で VAD の閾値を上げ、不要な音声が送信されないか確認(高すぎると発話も検出されにくくなります)
  2. 「連続無音時間で自動停止」を有効化 (席を離れた間の token 垂れ流し事故防止)
  3. 「メイン」タブの統計表示 で字幕翻訳の累積入力音声 token 数と概算料金を確認します。停止した後も今回のセッションの値が残ります。ボイス通訳の利用分は含まれません。

自動更新が動かない時

  1. バージョンタブの「更新の確認」ボタン を押して手動チェック
  2. それでも動かない場合は 最新インストーラ を手動でダウンロードして上書きインストールします。設定・API キーはそのまま引き継がれます。

ネットワーク環境やセキュリティソフトの影響で自動更新に失敗することがあります。

ログ・設定ファイルの場所

アプリ内では バージョンタブの「ログフォルダを開く」/「設定フォルダを開く」ボタン からエクスプローラで直接開けます。API キーは OS のセキュアな暗号化機構で保護されており、別ユーザー / 別 PC では復号できません。

診断用のアプリログは %LOCALAPPDATA%\RealTimeTranslator\logs\、設定は %APPDATA%\RealTimeTranslator\settings.json、翻訳履歴は %APPDATA%\RealTimeTranslator\logs\translations\ に保存されます。旧保存先のアプリログは起動時に自動移行し、翻訳履歴は従来の場所に保持します。

不具合報告

GitHub Issues に再現手順 + 環境情報 (Windows バージョン) と、必要に応じてログを添付してお願いします。ログには翻訳テキストの先頭 40 文字が含まれるため、機密情報は事前に除去してください。

連絡先

開発・検証に参加する方は AGENTS.md、構成と設計判断は DESIGN.md を参照してください。

ライセンス

MIT License

R2 配布

R2 への配布は PowerShell 7.2 以上と同梱 scripts/R2Distribution.Common.ps1 を使用します。Node.js・pnpm・Wrangler は不要です。既存の Cloudflare API token を使用し、固定 URL は再検証、不変の版付き成果物は1年間キャッシュします。

About

指定したWindowsアプリの音声を取り込み、クラウドAPIでリアルタイム翻訳して字幕を重ねるアプリ。複数の音声認識・翻訳プロバイダーに対応します。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages