モデル変更はCloudflare Pagesの環境変数 OPENAI_TRANSCRIBE_MODEL を更新して再デプロイが必要です。ここでの選択は表示のみです。
専門用語・固有名詞の誤訳を防ぎます。翻訳時にプロンプトへ反映されます。
| 原語 | 訳語 | |
|---|---|---|
| 用語が登録されていません | ||
翻訳結果を Zoom / Google Meet / Microsoft Teams のチャット欄へ書き込みます。Chrome拡張機能のインストールが必須です(クロスオリジン制約のため)。
既に古いバージョンが入っている場合、chrome://extensions/ の「↻ 再読み込み」だけでは更新されません (Chromeはローカルフォルダの内容を読み込むため)。下記手順A〜Cのいずれかで 必ずファイル自体を新しい zip に置き換えて ください。
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.7.0 で teams.live.com のホスト権限を追加しています。
v0.6.x 以前を入れている方は、Chrome が新権限を自動付与しないため 必ず「手順B(削除して再インストール)」 を実施してください。