AI通訳アシスタント
マイク: 未接続API: 未確認処理: 待機音量:出力:モード①(画面表示)チャット送信:OFF

最新の発話

原文
マイクを開始すると、ここに原文が表示されます。
翻訳

会話ログ

まだログはありません

設定

フィラー除去
「えー」「um」など意味のない言葉を翻訳前に除去します
自動整文
音声認識結果の文法・句読点を軽く整えます
相手言語の自動逆翻訳
チャット連携ONで相手側音声を取り込んだ場合、相手の発話は src↔tgt を入れ替えて翻訳します (例: 自分=日→英 / 相手=英→日)
Auto: 日本語 ⇄ English モード設定
ヘッダー右上の「Auto: JA ⇄ EN」ボタンが ON のときのみ有効になる設定です。 LLM が発話ごとに言語と翻訳方向を自動判定します。
相づち/フィラーをスキップ
「はい」「うん」「OK」「yes」など短い相づちは翻訳・チャット送信しません
チャットには確定のみ送信
ストリーミング途中の暫定訳ではなく、確定 (final) した翻訳のみチャットへ送ります
言語ラベル表示
ログとチャット投稿に [JA→EN] のような方向ラベルを付けます
デバッグログ
スキップした発話 (相づち/重複等) も画面ログに薄く表示します
発話区切りの最小時間 (秒)
この時間以上発話があれば翻訳を開始します (推奨: 4〜10)
発話区切りの最大時間 (秒)
話者が話し続けても、この時間で強制的に区切ります (推奨: 15〜30)
無音判定しきい値 (秒)
この時間連続で無音なら発話終了とみなします (推奨: 0.8〜1.5)
話者ラベル
この話者として記録します。会議に応じて変更できます
音声認識モデル
低遅延モデルほど高速ですが、認識精度が若干下がる場合があります。 設定変更はサーバー側の OPENAI_TRANSCRIBE_MODEL に反映されます。

モデル変更はCloudflare Pagesの環境変数 OPENAI_TRANSCRIBE_MODEL を更新して再デプロイが必要です。ここでの選択は表示のみです。

サーバー設定
OpenAI APIキーは OPENAI_API_KEY 環境変数 (Cloudflare Pages の Secret) で管理してください。クライアント側には保持しません。
ヘルスチェック:
Secret反映について: Cloudflare DashboardでSecretを設定した後、 必ず「デプロイを作成する」ボタンで再デプロイしてください。Secret変更は次回のデプロイから有効になります。

用語集

専門用語・固有名詞の誤訳を防ぎます。翻訳時にプロンプトへ反映されます。

原語訳語
用語が登録されていません

ログ履歴

オンライン会議チャット連携 (モード②)

翻訳結果を Zoom / Google Meet / Microsoft Teams のチャット欄へ書き込みます。Chrome拡張機能のインストールが必須です(クロスオリジン制約のため)。

Chrome拡張機能のインストール / 更新手順最新版: v0.7.18

更新時の注意

既に古いバージョンが入っている場合、chrome://extensions/ の「↻ 再読み込み」だけでは更新されません (Chromeはローカルフォルダの内容を読み込むため)。下記手順A〜Cのいずれかで 必ずファイル自体を新しい zip に置き換えて ください。

v0.7.18 「Audio file might be corrupted」根治 ★ 重要修正

v0.7.17 のユーザーログから判明した、OpenAI Whisper が連続で「Audio file might be corrupted or unsupported」を返す問題の根本原因と対策:
根本原因:
MediaRecorder.start(250) で 250ms ごとに chunk を取得する設計だったが、WebM の規格上、初回 chunk 以外にはコンテナヘッダ (EBML / Segment) が含まれない
・1 セグメント目は初回 chunk が含まれるので OK だが、2 セグメント目以降は「ヘッダのない opus フレームの羅列」になり、ffmpeg/Whisper がデコード失敗。
・コード上は「initChunk を毎回先頭に貼り付ける」回避策があったが、タイムコードの不連続で結局壊れる。
修正: 1 セグメントごとに stop() → onstop で完結 webm を取得 → 新 MediaRecorder を start() する方式に書き換え。
・各セグメントは EBML ヘッダ + Segment + Cluster が完結した独立 webm ファイルとして送信される。
・「Audio file might be corrupted」エラーは根絶される見込み。
継続中の最適化: チャット送信間隔 0 秒、MAX_INFLIGHT=2、transcribe/translate 1 回リトライ、ステージ名付きエラー。
・拡張側のロジック変更なし。「手順C: フォルダ差し替え」で更新可能(新権限なし)

v0.6.x 以前から更新する場合は手順Bが必要

v0.7.0 で teams.live.com のホスト権限を追加しています。
v0.6.x 以前を入れている方は、Chrome が新権限を自動付与しないため 必ず「手順B(削除して再インストール)」 を実施してください。

手順A: 初回インストール(おすすめ)
  1. 下の青いボタンから zip を ダウンロード → 任意の場所に 解凍
  2. Chrome の chrome://extensions/ を開く
  3. 右上の「デベロッパーモード」をON
  4. パッケージ化されていない拡張機能を読み込む」→ 解凍したフォルダを選択
  5. カード表示が 0.7.18 であることを確認
  6. カードに表示される ID(32文字)を下の「拡張機能ID」欄に貼り付け
手順B: 既存インストールを更新する(推奨・最も確実)
  1. chrome://extensions/ で古い拡張機能を 「削除」(↻ではない)
  2. 古い解凍フォルダもPCから削除(残っているとミスの元)
  3. 下の青いボタンから最新 zip をダウンロード → 解凍
  4. 「パッケージ化されていない拡張機能を読み込む」→ 新しいフォルダを選択
  5. カード表示が 0.7.18 であることを確認
  6. 新しい拡張機能ID(古いものとは違う32文字)を下の欄に貼り直す
  7. Google Meetタブを F5でリロード
手順C: フォルダだけ差し替えて再読み込み(上級者向け)
  1. 下の青いボタンから zip をダウンロード → 解凍
  2. 解凍した中身を、現在Chromeが読み込んでいるフォルダの中身に上書きコピー(フォルダパスは chrome://extensions/ のカードに表示されている)
  3. カード内の ↻ 再読み込み をクリック
  4. カード表示が 0.7.18 に変わったことを確認
  5. Google Meet タブを F5でリロード
拡張機能 v0.7.18 をダウンロード拡張機能IDを入力してください
拡張機能ID
chrome://extensions/ で確認できる32文字のIDを入力してください。
テスト送信
会議タブの「対象会議ツール」(下で選択)へ任意のテキストを送信して、チャット欄への書き込み動作を確認します。 自動送信ONなら送信ボタンも押されます/OFFなら入力欄に挿入のみ。
モード②を有効化
翻訳完了時に拡張機能へ送信します (BroadcastChannel + window.postMessage)
対象会議ツール
DOMセレクター: 未スキャン
投稿フォーマット
自動送信
OFFの間は入力欄に挿入のみ
投稿前確認 (3秒キャンセル)
送信ボタン押下前に取消可能
送信間隔 (秒) 推奨: 0
0 = 連続会話に追従して即座に送信 (推奨)。
正の値を入れると遅延発生の原因になります。
最大文字数 (1投稿)
相手側音声の自動取込: モード②をONにして「録音開始」を押すと、画面共有ダイアログが表示されます。 会議タブまたは「画面全体」を選び、必ず「タブの音声を共有」または「システム音声を共有」にチェックを入れてください。 これにより相手の発話も翻訳→チャット欄へ書き込まれます(自分の発話と並行)。 相手の発話は設定タブの「相手言語の自動逆翻訳」がONであれば、自動的に逆方向に翻訳されます。
相手音声: 未取込
送信予約 / 投稿履歴
なし