Polly语音引擎升级,现有代码即可受益
Amazon Polly生成式语音引擎已全面上线升级,改善表达、准确性与低延迟表现,现有应用无需修改代码。此次新增覆盖9个区域的14种声音,印地语和芬兰语也正式可用。
AI 深度解读
Amazon Polly 这次更新,把重点放在了语音应用最容易被用户听出问题的地方:语气是否自然,订单号、金额和地址是否读对,以及对话能否及时接上。AWS 宣布升级 Generative engine,新增 14 个声音,覆盖 9 个地区语言变体,已有生成式声音原地升级,API 和价格保持不变。
对开发者来说,接入成本低是直接收益。但「不用改代码」不等于不用验收:声音变了,业务里的播报效果也要重新确认。原文给出了演示和客户反馈,却没有提供延迟、准确率的量化对照,这也是判断升级价值时需要留出的边界。
这次改善的,是语音听感和业务信息的读法
AWS 对这次升级的描述有两条主线:更自然、更有表现力,以及更准确地朗读文本。
自然度不只是声音像不像真人,还包括韵律,也就是停顿、重音和语调是否符合句意。原文用同一件事的三种表达演示:直接陈述包裹提前到达,带犹豫地确认,以及惊讶地反问。Generative engine 会根据输入文本调整表达,不需要手动配置情绪。
这里的前提是,文本已经提供了语气线索。犹豫句里有语气词和不确定表达,惊讶句里有反问。原文没有证明,开发者可以精确指定并稳定复现某一种情绪。它仍支持语音合成标记语言 SSML,供需要细粒度控制的场景使用,但没有展开具体标签的支持范围。
准确性则直接关系到业务能不能办成。演示中的 Kenneth 要连续读出订单号 4471 9902、地址 85 Harbor View Drive, Apartment 4B, Portland, Oregon 97209、日期 Thursday, October 22nd、时间 9 AM 到 1 PM、金额 $1,284.50,以及确认码 K-7-Q-2-X-9。
这些内容比普通问候语更适合拿来验收。金额读错、编号漏位,即使声音流畅,用户也无法放心确认订单。
语音应用的质量,既取决于听起来是否舒服,也取决于关键信息能否被正确听懂。
不过,上述内容属于 AWS 提供的演示样例。原文没有公开实体朗读准确率、测试集规模,也没有说明复杂地址或混合语言输入的失败情况。
不改 API 就能升级,但要分清两种调用方式
现有 Amazon Polly Generative voices 会原地升级,声音名称和 API 调用保持不变。Standard 和 neural voices 不受影响。原文还表示,改进会自动到达 Amazon Connect 和 Genesys 流程。
这对已有系统很有吸引力:继续使用 AWS Identity and Access Management(IAM)管理访问,继续把音频交给现有应用或呼叫中心流程,不必为了模型更新重写一套集成。
下面的 Boto3 示例解决的是把一段文本合成为 MP3 文件。前提是有可访问 Amazon Polly 的 AWS 账户、配置好的凭证,以及 polly:SynthesizeSpeech 权限;Python 依赖通过 pip install boto3 安装。
import boto3
polly = boto3.client("polly", region_name="us-east-1")
response = polly.synthesize_speech(
Text="Hello! This is Amazon Polly's next-generation generative voice.",
VoiceId="Kenneth", # any generative voice in the catalogue
Engine="generative",
OutputFormat="mp3",
)
with open("speech.mp3", "wb") as f:
f.write(response["AudioStream"].read())
要看的是 Engine="generative",同时确认 VoiceId="Kenneth" 在目标 Region 可用。代码里的 us-east-1 是示例选择,不能据此假定所有区域都有相同声音。
配置好 AWS CLI 后,也可以用同样的参数快速试听:
aws polly synthesize-speech \
--region us-east-1 \
--voice-id Kenneth \
--engine generative \
--output-format mp3 \
--text "Hello! This is Amazon Polly's next-generation generative voice." \
speech.mp3
这里的 --engine generative 同样决定引擎类型;这条命令适合验证声音和区域配置,原文没有把它作为实时对话示例。
实时应用另有双向流式 API:StartSpeechSynthesisStream。它允许一边向 Polly 输入文本,一边接收合成音频,适合把 LLM 持续生成的文字接到语音播放链路,再经 WebSockets 或电话通道送给用户。
两种接口对应不同需求:一次提交文本并取得音频,或者让文本输入和音频输出同时进行。原文没有提供双向流式接入代码,也没有给出首段音频延迟、并发条件或端到端对话延迟。
声音和区域更多了,能力边界也要一起看
升级后,Generative engine 总计提供 57 个声音,覆盖 11 种语言、25 个地区语言变体。语言和地区语言变体不是同一个统计口径,例如美式英语、澳大利亚英语和印度英语属于不同变体。
新增的 14 个声音分布在 9 个变体中:
- 美式英语新增 Kenneth、Nate;澳大利亚英语新增 Russell、Curtis。
- 印度英语新增 Kiara、Arjun;德语新增 Tina;美国西班牙语新增 Carlos。
- 巴西葡萄牙语新增 Leo、Carolina;韩语新增 Hyunduk。
- 印地语新增 Kiara、Arjun;芬兰语新增 Suvi。
其中,印地语和芬兰语首次在 Generative engine 正式可用。对已有内容配音流水线的团队,这扩大了可覆盖市场;对主要服务中文用户的产品,本文没有提供中文声音升级效果的证据。
新增声音覆盖 11 个 AWS Regions:美国东部的北弗吉尼亚、美国西部的俄勒冈,欧洲的法兰克福、苏黎世、伦敦,亚太的悉尼、首尔、新加坡、东京,以及加拿大中部和 AWS GovCloud (US-West)。AWS 建议通过 DescribeVoices 查询声音列表,并在跨区域部署时检查实际可用性。
还有一个容易影响产品选型的限制:Generative voices 仍不支持 speech marks,也就是可用于文本与语音位置对应的标记。需要这项能力的应用,仍应考虑支持它的 standard 或 neural voices,不能只比较音色。
价格方面,AWS 表示此次升级维持按量付费模式,不涨价、不新增 SKU;静态提示语合成后可以缓存和重复播放,无需额外的合成费用。但原文没有给出具体单价,也没有提供与其他服务的成本对照。
我的判断
我更看重这次升级的集成连续性。对于已经使用 Polly 的团队,接口、声音名称和现有 AWS 管理方式都能沿用,试用门槛确实低。相较迁移语音服务,它减少了重新接入的工作。
但原地升级也有另一面:既有声音输出会发生变化。客服提示、品牌角色、课程旁白,都可能对停顿和语气有固定要求。接口兼容只能说明调用方式兼容,播报效果仍需要回归验收。
原文最具体的客户材料来自 Sanoma Media Finland。他们每月使用 Polly 的 Finnish neural voice 发布超过 10,000 篇音频文章,并表示测试中的 Suvi generative voice 更自然、听感更好。这能说明客户已有规模化使用经验,也提供了升级后的主观评价;它不能证明这 10,000 多篇文章已经全部采用 Suvi,更不能代替公开的听测结果。
因此,「更自然」有演示和客户反馈支持;「低延迟」「成本效率」「减少后期制作」则缺少量化对照。所谓有竞争力的性价比,仍是 AWS 的产品主张。
对新项目,Polly 也不必自动成为默认选择。级联式语音代理需要把 LLM 文本交给 TTS,便于单独管理语音输出,但实际体验还受上游生成、传输和播放影响。本文没有与其他 TTS 或其他语音交互方案做比较,无法据此判断哪种方案整体更快。
能拿来做什么
- 已经使用 Polly Generative voices 的团队,可以保留现有调用,优先回放订单号、金额、地址、日期和确认码等业务文本,再检查长句停顿、疑问语气与品牌表达是否合适。
- 做前端或 Node 语音代理时,可以把
StartSpeechSynthesisStream列入验证范围,分别测量文本进入、音频返回和浏览器开始播放的时间,判断延迟究竟出在哪一段。 - 把
DescribeVoices加入部署检查,验证目标 Region 的声音可用性;如果产品依赖逐字高亮或文本音频对齐,应先确认 speech marks 的限制是否影响方案。 - 对固定欢迎语、IVR 菜单和课程提示,优先评估合成后缓存复用;对动态订单播报,则建立包含真实业务格式的验收样本,避免只试听一段流畅的英文介绍。