# 影片筆記:我用 OpenAI 实时翻译给浏览器装了个 AI 同声传译 ## ⚠️ 可先使用,仍有待修正項目 本筆記已完成可閱讀的逐字稿與時間跳轉;下列為待處理問題,建議播放原片確認。 - 待修正:診斷筆記:目前沒有可可靠理解的逐字稿(asr_language_failure;wrong_language_after_one_bounded_repair) - 待修正:逐字稿品質檢核未完全通過(requested_language_repair_inconclusive;保留 201 段 Whisper 逐字稿,已先行發布。) - 待修正:逐字稿全文快速校讀未完成(已保留自動字幕/原始逐字稿並繼續生成筆記。;未完成的全文速讀項目可在精進模式回聽確認。) - 待修正:逐字稿品質檢核未完全通過({'stage': 'canonical_transcript_quality', 'action': 'published_with_warning', 'signals': ['canonical_hallucination_detected', 'transcript_selection_not_resolved', 'asr_language_mismatch:zh']}) ## 一句話總結 講者小莫頭演示如何使用 OpenAI 於 5 月 7 日發布的 **GPT Real-Time Translate** 模型,通過編寫名為 **Bubblefish** 的 Chrome 插件,實現對瀏覽器標籤頁內音頻的實時監聽與端到端語音翻譯,並分析了其技術原理、成本及限制。 ## 核心重點 * **模型特性**:OpenAI 發布的 GPT Real-Time Translate 專為實時同步翻譯設計,支援 70+ 種輸入語言自動檢測及 13 種輸出語言。其核心優勢在於「端到端 Speech-to-Speech」轉換,而非先轉文字再翻譯,並具備「等待足夠上下文後才開口」的機制以處理語序差異大的語言(如中英、英日),這會導致微小的語句間延遲。 * **技術實現**:講者編寫了一個基於 TypeScript 的 Chrome 插件 Bubblefish(代碼不到 600 行),包含 Service Worker、Offscreen Document 和 Content Script,利用 WebRTC 和 WebSocket 與 OpenAI API 通信,實現對瀏覽器 Tab 音頻的抓取與翻譯。 * **成本與限制**:費用約為 0.034 美元/分鐘(約 2 美元/小時),遠低於人類同傳。但模型不支持自定義提示詞(Prompt)或術語表,且會話未關閉時會持續計費,需手動點擊 Stop。 * **應用場景**:目前插件僅能抓取瀏覽器內音頻,無法直接抓取 Zoom、Spotify 等桌面應用音頻,但代碼邏輯可擴展至其他場景。 ## 詳細大綱 ### I. 開場與演示預覽 * 講者介紹:小莫頭。 * 背景:OpenAI 發布新模型,專注於實時同傳/翻譯。 * 演示工具:講者封裝的 Chrome 插件,命名為 **Bubblefish**。 * 插件功能:監聽當前瀏覽頁面音頻,轉換為目標語言。 * 初步演示:播放中文視頻,嘗試翻譯為英文(演示中出現大量重複語句,疑似測試或口誤)。 ### II. GPT Real-Time Translate 模型介紹 * **發布資訊**:OpenAI 於 5 月 7 日在實時 API 下發布三款新模型: 1. GPT Real-Time 2 2. GPT Real-Time Translate 3. GPT Real-Time Whisper * **主角功能**:GPT Real-Time Translate 負責同步語音翻譯。 * 輸入:70+ 種語言自動檢測。 * 輸出:13 種語言可選(中、英、西、葡、法、德等)。 * **成本分析**: * 費率:0.034 美元/分鐘。 * 參考:一小時英文播客約 2 美元。 * 對比:比人類同傳便宜兩個數量級。 ### III. 模型技術特徵與原理 * **訓練數據**:使用同傳演員語料訓練。 * **特徵一:上下文等待機制** * 模型會等待上下文足夠才開口,避免搶話。 * 對語序差異大的語言(如英語與日語、英語與中文)至關重要。 * 後果:句子之間可能存在微小延遲。 * **特徵二:端到端 Speech-to-Speech** * 非三段式拼接(Speech-to-Text -> Translate -> Text-to-Speech)。 * 直接從語音到語音,實現低延遲連續語音。 * **API 形態**: * 端點:Real-time endpoint。 * 瀏覽器端:WebRTC。 * 服務端:WebSocket。 * 參考:OpenAI Cookbook 中的 Demo(瀏覽器 Tab 翻譯)。 ### IV. Chrome 插件 Bubblefish 實作細節 * **代碼結構**: * 總代碼量:不到 600 行 TypeScript。 * 組件:Service Worker、Offscreen Document、Content Script。 * **安裝與部署步驟**: 1. 克隆項目,執行 `npm install` 和 `npm run build`。 2. Chrome 瀏覽器進入「管理插件」頁面。 3. 啟用右上角「開發者模式」。 4. 點擊「Load Unpacked」,選擇打包後的 `dist` 目錄。 * **使用流程**: 1. 點擊擴展圖標。 2. 配置 OpenAI API Key。 3. 打開標籤頁播放視頻(如 YouTube)。 4. 點擊 Start 開始翻譯(演示中嘗試翻譯為日語)。 ### V. 演示結果與成本觀察 * **日語翻譯演示**: * 講者播放中文視頻,插件輸出日語語音。 * 講者暫停視頻,但語音輸出持續一小段(因上下文等待機制)。 * **成本記錄**: * 錄製準備及分享過程約半小時。 * 產生費用:0.9 億美元(*註:逐字稿原文為「0.9億美元」,疑點見下文*)。 * **操作提醒**: * 必須點擊「Stop Translating」或「Stop」關閉會話。 * 若不關閉,會話會一直運行並持續計費(約 2 美元/小時)。 ### VI. 總結與展望 * **技術限制**: * 目前僅能抓取瀏覽器 Tab 音頻。 * 無法抓取 Zoom、Spotify、本地播放器等桌面應用音頻。 * 原因:操作系統對音頻捕獲的支持限制。 * **模型限制**: * 不支持自定義提示詞(Prompt)。 * 不支持術語表(Terminology)或配音選擇。 * 對專有名詞敏感場景,按一般翻譯習慣處理。 * **擴展潛力**: * 代碼易於修改,可分叉(Fork)開發。 * 潛在功能:字幕導出為 SRT、語言切換、語音導入 OBS 進行直播同傳。 * **行業影響**: * OpenAI 將同傳從專業服務轉為 API 調用。 * 可能成為跨語言內容消費方式的轉折點。 ## 工具 / 模型 / 名詞整理 * **OpenAI** * **GPT Real-Time 2** * **GPT Real-Time Translate** * **GPT Real-Time Whisper** * **Bubblefish** (Chrome 插件名稱) * **Chrome** (瀏覽器) * **YouTube** * **OpenAI Cookbook** * **TypeScript** * **npm** * **Service Worker** * **Offscreen Document** * **Content Script** * **WebRTC** * **WebSocket** * **Zoom** (桌面客戶端) * **Spotify** (桌面應用) * **OBS** (直播軟體) * **SRT** (字幕文件格式) ## 操作流程整理 1. **準備環境**: * 克隆項目代碼倉庫。 * 執行 `npm install` 安裝依賴。 * 執行 `npm run build` 打包項目。 2. **安裝插件**: * 打開 Chrome 瀏覽器,進入「管理插件」頁面。 * 啟用右上角的「開發者模式」。 * 點擊「Load Unpacked」,選擇打包後的 `dist` 目錄加載插件。 3. **配置與使用**: * 點擊瀏覽器擴展圖標。 * 配置 OpenAI API Key。 * 打開需要翻譯的標籤頁(如 YouTube 視頻)。 * 點擊「Start」開始翻譯(選擇目標語言,如日語)。 4. **結束會話**: * 翻譯完成後,必須點擊「Stop Translating」或「Stop」按鈕關閉會話,以避免持續計費。 ## 值得注意的限制或風險 * **計費風險**:模型按分鐘計費(約 0.034 美元/分鐘),若會話未手動關閉,會持續運行並產生費用(約 2 美元/小時)。 * **功能限制**: * 不支持自定義提示詞(Prompt)。 * 不支持術語表(Terminology)或配音選擇。 * 對專有名詞敏感場景,僅按一般翻譯習慣處理,可能不夠精準。 * **技術限制**: * 目前插件僅能抓取瀏覽器 Tab 音頻。 * 無法直接抓取 Zoom、Spotify、本地播放器等桌面應用音頻,受操作系統音頻捕獲支持限制。 * **延遲問題**:由於模型具備「等待足夠上下文後才開口」的機制,處理語序差異大的語言時,句子之間可能存在微小延遲。 ## 逐字稿辨識疑點 * **「0.9億美元」**:逐字稿中提到錄製半小時的開銷是「0.9億美元」,這與前文提到的「0.034美元每分鐘」及「約2美元每小時」嚴重不符,疑為口誤或聽寫錯誤。 * **「AIN把它命名為了Bubblefish」**:開頭提到「AIN」,疑為講者名字或筆誤。 * **「閉設設計」/「開放的開放」/「CloDesign」/「OPDesign」/「星星星」**:在初步演示環節,講者反覆提及「閉設設計」、「開放的開放」、「CloDesign」、「OPDesign」、「星星星」等詞彙,且語句重複率高達數十倍(如「主要主要主要...」),疑為演示時的口誤、測試語料或聽寫錯誤,無法確定具體指代的產品或概念。 * **「客套下來」**:在介紹代碼倉庫時,講者說「感興趣的朋友可以客套下來自己嘗試一下」,疑為「克隆下來」或「下載下來」的聽寫錯誤。 * **「一直擊費」**:講者提到「一直跑,一直擊費」,疑為「一直計費」的聽寫錯誤。 * **「Restop」**:講者提到點擊「Restop」,疑為「Stop」的聽寫錯誤或口誤。 * **「AEA時代」**:講者總結時提到「目前在AEA時代」,疑為「AI時代」的聽寫錯誤。 * **「花玉設計」/「北角師匠的PTT技能」/「open course design」**:在日語翻譯演示後的總結中,講者提到這些名稱,與前文提到的「CloDesign/OPDesign」對應關係不明,疑為聽寫錯誤或特定專有名詞。 ## 可延伸追問 * Bubblefish 插件的原始碼倉庫位置為何? * 如何修改 Bubblefish 代碼以支持抓取桌面應用音頻? * OpenAI GPT Real-Time Translate 模型未來是否會開放自定義提示詞或術語表功能? * 除了 Chrome 插件,是否有其他架構(如 Electron 應用)可以實現桌面級音頻抓取與翻譯?