做实时字幕、会议客户端或课堂应用,Google Cloud Speech-to-Text 的流式识别几乎总在候选名单上。它成熟、有阶梯折扣,语种也多。真正决定方案的是几个更具体的问题:一条流能不能撑完整场会议?实时结果里有没有说话人?翻译从哪里接进来?这些都加上之后,账单是多少?
本文就这几点,对比 Google Cloud Speech-to-Text 流式识别和 LecSync 实时语音 API。Google 的信息来自其公开文档和定价页,2026 年 10 月 7 日核对(文档页标注 "Last updated 2026-09-30 UTC")。LecSync 的信息来自 LecSync 开发者页和 API 文档。
范围说明:这里比的是 Cloud Speech-to-Text(V2,含 Chirp 3、Chirp 2)。Google 的 Gemini Live API 是另一款产品,不在本文讨论内。
先说结论
如果你的实时应用要同时拿到字幕、译文和说话人,LecSync 一条 WebSocket 全部返回,每音频分钟 $0.006。用 Google,需要把 Speech-to-Text 和 Cloud Translation 拼起来,每 5 分钟重开一次流,还得先确认所选模型支不支持实时说话人分离。
反过来,只做转写、量又特别大,或者合同要求 SLA、数据必须留在 Google Cloud 区域,Google 更合适。
核心事实对照(2026-10-07 核对)
| LecSync 实时语音 API | Google Cloud Speech-to-Text(V2 流式) | |
|---|---|---|
| 连接方式 | 先 POST connect,再开一条 WebSocket | gRPC StreamingRecognize |
| 单条流时长 | 文档未列单流时长上限;expiresAt 只是建立连接的截止时间 | 官方原文:"A stream can remain open for up to 5 minutes" |
| 单条消息音频 | 每帧最多 64 KB(PCM 16 kHz 单声道) | 流中每个请求最多 25 KB |
| 实时说话人 | 开启 speakers: true 后,每个落定段落带 speaker | Chirp 3:说话人分离仅在 BatchRecognize 可用;Chirp 2:不支持 |
| 实时翻译 | 内置,每条流一个语言对,按段落自动判定方向 | Chirp 2 语音翻译(语言对不对称),或逐句另调 Cloud Translation |
| 实时纪要 | 同一连接推送 digest.update | Speech-to-Text 不提供 |
| 价格 | $0.006/分钟,功能全含 | V2 标准识别 $0.016/分钟(每月 0–50 万分钟),超过 200 万分钟降到 $0.004 |
| 计费粒度 | 按实际时长,精确到秒以下,不取整 | 每个请求向上取整到 1 秒 |
| SLA | 目前没有("best-effort availability") | Google 为该服务公布了 SLA |
来源:Google Speech-to-Text 定价、V2 配额与限制、Chirp 3 模型页、Chirp 2 模型页、LecSync 定价文档、LecSync connect 文档。
5 分钟一断的流
Google V2 的限制页写得很清楚:一条流最多开 5 分钟,音频还得按接近实时的速度发送。更长的音频,官方让你看"无限流式识别"教程。教程示例把 STREAMING_LIMIT 设为 290000 毫秒,也就是 4 分 50 秒左右主动断开,再开一条新流接着识别。
能用,但客户端要多管几件事:
- 定时重开,赶在 Google 关流之前;
- 处理切换前后的音频衔接,别让接缝处的词被切成两半;
- 把每条新流的时间偏移换算回整段录音的时间轴。
按示例的节奏,一场 1 小时的会要重开十来次。
LecSync 的 connect 文档没有列单流时长上限,流在你主动关闭或网络断开时结束。真断了也没有续传:重新调 connect,开一条新流,segmentId 和 startMs 从零重新计。断线文档对此写得很直白;开了 store: true,每条连接各存一份录音。所以重连逻辑还是要写,但只在网络真出问题时才触发,不用按固定时间表断。
实时说话人:模型选择决定有没有
这是 Google 方案里最容易踩坑的地方。
Google 的通用说话人分离指南说,recognize 和流式都支持。可到了具体模型页,口径就收紧了:Chirp 3 的功能表写明说话人分离"仅在 Speech.BatchRecognize 可用",语言小节又写"仅在 BatchRecognize 和 Recognize 中支持";Chirp 2 则直接标注"不支持"。
落到实际:想用 Google 最新模型做实时字幕,说话人标签要等会后批处理才拿得到。想在会中就分出说话人,得退回支持流式分离的老模型,并用 locations API 逐个语种确认。能用时,Google 会在每个词上标 speakerLabel。
LecSync 按段落标注。开启 transcribe.speakers: true 后,每条 transcript.final 都带 speaker,和 startMs、endMs 放在一起;预览结果不带说话人,因为归属要等段落落定才确定。Google 的词级标签更细,LecSync 的段落级标签更好直接渲染成"这句话是谁说的"。消息格式见说话人文档。
译文从哪来
Google 有两条路。
Chirp 2 语音翻译。 Chirp 2 可以边识别边翻译,在 TranslationConfig 里指定目标语言即可。但文档特别提醒,语言支持"不对称":A 能译成 B,不代表 B 也能译成 A。官方翻译示例用的是同步 Recognize 方法。另外 Chirp 2 不支持说话人分离,走这条路就拿不到实时说话人。
Speech-to-Text 加 Cloud Translation。 用任意模型转写,再把每句定稿送去 Cloud Translation。NMT 文本翻译每月前 50 万字符免费,之后每百万字符 $20。译文和原句、时间戳怎么对上,要你自己写。这种自拼方案的利弊,我们在内置翻译还是自拼 STT + MT里专门算过。
LecSync 每条流配一个语言对,比如 ["en", "zh"],每个段落按识别结果自己决定往哪边译。双向对话和单向讲课用同一套配置;中途冒出第三种语言,会译成语言对里的第二个。译文以 translation.final 从同一条连接回来,挂在同一个 segmentId 和时间范围上。官方数据是翻译让首个 token 多出约 88 毫秒。详见翻译文档。
每月 1,000 小时,各要多少钱
假设每月 1,000 小时实时音频(60,000 分钟),一种译文语言,要字幕加译文轨。译文字符量按我们自己的粗估:每小时讲话约 5 万字符(约每分钟 150 个英文词)。这是估算,请按你的内容调整。
| LecSync | Google STT V2 + Cloud Translation NMT | |
|---|---|---|
| 转写 | 已含 | 60,000 × $0.016 = $960 |
| 翻译(1 种语言) | 已含 | (5,000 万 − 50 万免费) 字符 × $20/百万 = $990 |
| 说话人 | 已含 | 定价页无单列;能否实时取决于模型(见上文) |
| 实时纪要 | 已含 | Speech-to-Text 不提供 |
| 每月合计 | 60,000 × $0.006 = $360 | 约 $1,950 |
| 折合每小时 | $0.36 | 约 $1.95 |
Google 的数字是定价页上的标价。同一页还列了 1 年期和 3 年期节省计划,首档单价分别是 $0.0144 和 $0.0128 每分钟;大客户也可以找销售要报价。LecSync 只有一个公开价,不分档。
这些情况选 Google 更合适
- 只要转写,而且量非常大。 每月超过 200 万分钟,Google V2 标准识别降到 $0.004/分钟,比 LecSync 的 $0.006 低。不需要翻译、说话人和纪要的话,这个差价是实打实的。
- 离线批处理。 Google 动态批量识别 $0.003/分钟。录音事后再处理、不要求实时,这比本文任何实时价格都便宜。
- 要 SLA,或要求 Google Cloud 区域。 Google 公布了 SLA,LecSync 目前明确没有。合同写死要 SLA,或者数据必须留在 Google Cloud 区域(Chirp 3 在
us、eu多区域提供),就选 Google。 - 要词级细节。 Google 可以返回词级时间戳,部分模型还能给词级说话人;LecSync 只到段落级。
怎么选
- 实时字幕 + 译文轨: LecSync。一条连接、一个价格,没有单独的翻译账单。
- 会议、课堂应用,会中就要分清谁在说话: LecSync。除非你愿意换 Google 老模型,并逐个语种验证实时说话人分离。
- 长时间会话,客户端想少写代码: LecSync。Google 大约每 5 分钟就得重建一次流。
- 海量纯转写,或硬性要求 SLA、数据留在 GCP: Google Cloud Speech-to-Text。
常见问题
Google Speech-to-Text 一条流最长能开多久?
Google V2 配额页写的是最多 5 分钟,音频还要按接近实时的速度发送。更长的音频,官方建议用"无限流式识别"的写法:快到上限时主动断开、重开一条。按官方示例的节奏,1 小时的会话要重开十来次。
Chirp 3 流式识别能返回说话人吗?
按 2026 年 10 月 7 日核对的 Chirp 3 模型页,不能:说话人分离只在 BatchRecognize 可用,Chirp 2 则完全不支持。Google 的通用指南提到流式支持说话人分离,所以具体模型和语种请用 locations API 确认。
Google Cloud Speech-to-Text 能实时翻译吗?
Chirp 2 文档写了语音翻译,可指定目标语言,但语言对不对称,也不支持说话人分离。更常见的做法是先用 Speech-to-Text 转写,再逐句调用 Cloud Translation:每月前 50 万字符免费,之后每百万字符 $20。
LecSync 实时 API 和 Google 比,价格差多少?
LecSync 每音频分钟 $0.006,转写、翻译、说话人、时间戳和实时纪要都含在内。Google V2 标准流式识别每月前 50 万分钟是 $0.016/分钟,还没算翻译。每月 1,000 小时、一种译文语言,大约是 $360 对 $1,950。
只做转写,LecSync 也比 Google 便宜吗?
每月 50 万分钟以内是的:标价 $0.006 对 $0.016。Google 的单价随用量分档下降,超过 200 万分钟降到 $0.004,比 LecSync 低。不需要实时结果的话,Google 批量识别 $0.003/分钟也更便宜。
LecSync 的流断了会怎样?
流就结束了,没有续传。客户端重新调 connect,开一条新流,segmentId 和时间戳在新流上从零计。已经收到的文字留在你这边。开了存储的话,每条连接各存一份录音,按创建时间排序拼起来即可。
一句话总结
Google Cloud Speech-to-Text 的流式识别是可靠的转写引擎,量大时折扣很深。但如果你的实时产品要在会中就拿到译文和说话人,这些都得自己拼:5 分钟一次的重连、另一张翻译账单,以及一个直接决定"有没有实时说话人"的模型选择。
LecSync 把字幕、译文、说话人、时间戳和实时纪要放在一条 WebSocket 里,每分钟 $0.006。场景对得上,可以从 LecSync 实时语音 API 和接入文档开始。想看多家厂商的完整价格账,见实时语音识别 API 价格对比;想看说话人和时间戳的消息格式,见用 LecSync 实时 API 做会议客户端。