工作清單

我用 OpenAI 实时翻译给浏览器装了个 AI 同声传译

逐字稿文字預覽

大家好,我是小莫頭。OpenAI近期又發布了一系列的新模型。其中有一款是專門做實時的同傳或實時翻譯。似乎在AI時代要做同聲傳譯簡單了許多。本期視頻呢,我們就來實際的體驗一下這款實時翻譯的模型。看看在同聲傳譯上它的質量究竟如何。
我們首先來看個演示吧。我將模型封裝了一個小小的Chrome插件。AIN把它命名為了Bubblefish。插件的作用是真聽當前所瀏覽的頁面中的音頻。將音頻轉換成期望的目標語言。這個轉換當然是語音層面的轉換。我就以過去我所發布的一期視頻為例。這是一個中文視頻。我希望將目標語言翻譯成英文。點擊Start。
開始堅定當前瀏覽頁面中的音頻數據。我們就來播放一段語音。看看它的轉換效果。
我介紹一下它的開放的開放的設計。
在一段影片中,我介紹了閉設設計。如果您興趣,您可以再看這影片。我會介紹一下它的開放。
在CloDesign,我們可以建立的開放。
我們可以建立的開放。
建立開放的開放。
我們可以建立開放的開放。
在這影片中,我們會介紹一下開放的開放。
開放的開放。
在這影片中,我們會介紹一下開放的開放。
開放開放的開放。
在這影片中,我們會介紹開放開放開放的開放。
OPDesign是今天的星星星。
這個開放的開放。
這個開放的開放是現在非常有名的。
在短時間,它們會集中了約20,000星星星。
我會放開開放的開放。
影片的開放在影片的描述。
興趣的朋友,請給大家看看。
影片中的影片。
這個開放是一個第一次開放開放的開放。
我們會看看它的主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主
接下来我们来做两件事情首先呢是把这个模型做一番清晰的介绍
接下来再来看看我们用它来构建的这款Chrome插件究竟是怎么回事
OpenAI实际上是在5月7日在实施API下放了三个新模型
GPT Real-Time 2
GPT Real-Time Translate
GPT Real-Time Whisper
在官方的公告中列出了这三款模型
GPT Real-Time Translate是我们今天分享的主角
它做一件事就是把语音同步的翻译
70多种输入语言自动检测
13种输出语言任选
中文英文西班牙语葡萄牙语法语德语等等
机费层面来讲0.034美元每分钟
看一小时英文播客大约2美元
比人类同传便宜两个数量级
但它跟之前的通用语音模型加Prompt让它翻译并不是一回事
根据OpenAI的Cookbook
他们说得很清晰
这个模型是用同传演员的语料训练的
具备两个特征
第一
它会等到上下文够了才开口
不会人家一开口
它就抢着翻
这对语序差异大的语言特别重要
英语和日语
英语和中文
位置动词位置不一样
等不够上下文
就乱翻
这是不行的
如果大家实际的测试一下应该能感觉到相较于原始的YouTube的音频
实时翻译的音频在段句子之间可能会有一定的延迟
这也是在上下文等待中产生的效果
第二个特征是它能边收音边图异音
它并不是speech to text转文字
再翻译
再通过text speech这种三段的拼接
而是端到端的speech to speech
做到真正的低延迟连续语音
API形态则有real-time endpoint
浏览器用webrtc
服务端用websocket
OpenAI Cookbook有一个demo
就是浏览器tab翻译
目前我所分享的这个目录呢
就是刚才咱们介绍的这个demo
我会将链接也放在视频描述中
那么在刚才我们的演示中
所用到的chrome插件呢
就是现在我所分享的这个代码仓库
这是一个chrome插件
它包含了三个组件
一个是service worker
一个是offscreen document
还包含了一部分content script
总共是一个不到600行的type script代码
非常简单
感兴趣的朋友可以客套下来自己尝试一下
大家要做的就是几步
首先呢
客套项目
我们通过npm install
npm run build
完成安装与打包
接下来来到chrome浏览器
管理插件
在插件这里
首先要在右上角
启用开发者模式
然后点击load unpacked
在open real-time translate目录当中
选择dist
这个目录呢
就是打包后生成的目录
要使用这个插件也很简单
在扩展这里点击它
第一次使用的时候呢
需要配个api key
大家去寻一个自己的open-air的api key
配置进来保存
然后任意打开一个标签页
比如播放一段YouTube视频
那我们现在呢
再来做一番演示
比如我想将我这个语音呢
实时的转换成日语
来听听效果吧
音質的には
丹丸コーポレートアイデンティティは持たず
既存のコーポレートアイデンティティ機能や能力を活用して
open source のエコシステムにある
非常に豊かなスキルマッケージを統合し
それによって
クラウドデザインと似た
あるいはそれ以上に
機能統合の豊かなopen source 精神を構築しました
open design は
現時点のopen source エコシステムで
非常に人気のある
いくつかのプロジェクトを統合しています
例えば
花玉デザインや
北角師匠のPTTスキルなど
open course design なども含まれます
細心的朋友可能注意到了
剛才我將視頻暂停了
但是語音輸出还在持續了一小段時間
剛才我們在介绍模型的时候也聊到这一塊
模型会收集一段必要的上下文再做翻譯
因此在这个翻譯和語音輸出上
就会有一点小小的延遲
这也是它的特点吧
来看看開銷情况吧
我大概前前後後在視頻录制前的準備到
视频中的实际分享大概
在語音的輸出上花了可能有半小时
那么目前的开销是0.9亿美元
那现在就对咱们今天分享做一番简单的总结
首先呢
这个chrome插件
目前只是抓取的浏览器tab中的音频
像zoom桌面客户端
spotify桌面
本地视频播放器等等呢
是抓不到的
不过同样的逻辑或者是代码呢
可以应用到不同的应用场景中
比如可以覆盖到我们刚才介绍的这些桌面应用
至于具体的技术瓶颈在哪里
是否操作系统支持音频的捕获呢
这个就是我们在技术或工程层面需要去考虑的了
第二点是GPT Real-Time Translate
这个实时翻译模型
它不支持自定义的提示词
数语表
配音选择
如果你的场景对专有名词敏感
它会按一般的翻译习惯来处理
另外一点很重要的是
Session没有关掉
它会一直跑
一直击费
一小时大概2美元
四小时大概就是8美元
因此呢
大家用完记得要Stop
在插件层面
大家就记得点击Stop Translating
Restop
如果大家不再使用了呢
点击Stop
停掉它
否则呢
这个Session一直会开着
整个扩展从想法到能用
目前在AEA时代编写起来非常的快
给到它足够的参考文档
API手册
很快就搞定了
你可以把它分叉下来
加自己想要的功能
比如把字幕导出到SRT
加Hockey切换语言
把意音导进OBS做直播同传等等
这都是直接的扩展点
OpenAI把同传从需要专业人员的服务
变成了一个API调用
这会不会是同传这个职业
也是跨语言内容消费方式的一个明显的转折点呢
大家怎么看呢
那感兴趣的朋友
或者在这方面已经有应用经验的朋友
欢迎在评论区留言
那今天的分享就到这里
感谢大家收看
我们下期再见

來源:transcript.txt

本次執行流程與問題處理

  1. 下達指令

    指令:videonote https://youtu.be/aJEsAS7e_Iw?si=3LAY_V54z4TClUXV --language zh --adopt-source-subtitles

    來源:https://youtu.be/aJEsAS7e_Iw?si=3LAY_V54z4TClUXV

    辨識語言:zh | 參數:--language zh --adopt-source-subtitles

  2. 預期流程

    依指令產生的處理順序:

    1. 採用來源字幕(略過語音辨識)
    2. 來源選擇與品質檢查
    3. 文字校正與句子單元
    4. 筆記與發布
    5. 公開網頁發布
  3. 1. 下載與語音辨識

    工具:videonote-transcribe-url(主辨識管線:下載、Whisper 辨識與選稿)

    處理:下載音訊、以 Whisper 辨識並選出最佳逐字稿

    產出:yt_dlp_meta.json(影片元資料)、audio_16k_mono.wav(16kHz 單聲道音訊)、transcript.whisper.json(Whisper 辨識結果)、transcript.json(正式逐字稿)、transcript_selection_report.json(來源選擇報告)

    耗時:70.7 秒

    關係:依序執行

    結果:完成

  4. 2. 全文快速校讀

    工具:videonote_rapid_transcript_review.py

    處理:先速讀完整逐字稿,再修正高可信突兀詞句並列出待確認項目

    產出:rapid_transcript_review_report.json(產出檔案)

    耗時:41.0 秒

    關係:依序執行

    結果:完成

  5. 3. 建立句子單元

    工具:videonote-build-sentence-units

    處理:將逐字稿切成帶時間軸的句子單元

    產出:sentence_units.json(句子單元)

    耗時:0.1 秒

    關係:依序執行

    結果:完成

  6. 4. 句子密度平衡

    工具:videonote_balance_sentence_units.py

    處理:平衡句子長度與密度

    產出:sentence_units.json(句子單元)

    耗時:0.1 秒

    關係:依序執行

    結果:完成

  7. 5. 時間軸稽核

    工具:videonote_timeline_audit.py

    處理:檢查時間軸與音訊對齊

    產出:timeline_audit_report.json(時間軸稽核)

    耗時:0.2 秒

    關係:依序執行

    結果:完成

  8. 6. 品質檢查

    工具:videonote_controlled_quality.py(檢查時間軸與品質)

    處理:檢查語言、時間軸與可讀性品質

    產出:controlled_quality_report.json(品質報告)、language_sanity_report.json(語言檢查)

    耗時:0.2 秒

    關係:依序執行

    結果:完成

  9. 7. 播放時間軸回填

    工具:videonote_rebase_display_timeline.py

    處理:將網頁播放時間軸回填為校正字幕時間

    產出:display_timeline_rebase_report.json(時間軸回填報告)

    耗時:0.2 秒

    關係:依序執行

    結果:完成

  10. 8. 時間軸整合

    工具:videonote_timeline_reconcile.py

    處理:整合字幕、Whisper 與 VAD 時間證據

    產出:timeline_evidence.json(時間軸證據)

    耗時:0.3 秒

    關係:依序執行

    結果:完成

  11. 9. 逐字稿交叉檢查

    工具:videonote_cross_check_transcript.py

    處理:交叉檢查逐字稿與來源字幕

    產出:transcript_crosscheck_report.json(交叉檢查)

    耗時:0.3 秒

    關係:依序執行

    結果:完成

  12. 10. 來源句整理

    工具:videonote_prepare_source_entries.py

    處理:整理來源句子供時間軸與頁面使用

    產出:sentence_units.json(句子單元)

    耗時:0.3 秒

    關係:依序執行

    結果:完成

  13. 11. 生成筆記摘要

    工具:videonote-generate-note(生成筆記摘要)

    處理:生成筆記摘要與重點

    產出:note.md(筆記 Markdown)、note.html(筆記 HTML)

    耗時:100.5 秒

    關係:依序執行

    結果:完成

  14. 12. 建立筆記頁面

    工具:videonote-render-html(產生筆記 HTML)

    處理:產生可閱讀的筆記 HTML 頁面

    產出:note.html(筆記 HTML)

    耗時:0.6 秒

    關係:依序執行

    結果:完成

  15. 13. 發布公開頁面

    工具:videonote-publish(發布公開頁面)

    處理:發布到公開網站與每日列表

    產出:公開筆記網址、result.json(管線結果)

    耗時:0.6 秒

    關係:依序執行

    結果:完成

手動來源字幕

自動來源字幕

Whisper 字幕

Qwen 字幕

Parakeet 字幕

MOSS 字幕

聲學時間證據(PyAnnote / WhisperX)

校正前後逐字稿

目前待解決問題與初步改善方向

進一步精進字幕與筆記
使用 Workbench 上傳校正字幕、中文參考稿或回饋 SRT,重新產生雙語與學習單元。
開啟 Workbench