Amazon Polly
将文本转换为自然语音的云服务,提供神经网络语音引擎和通过 SSML 进行精细语音控制
概述
Amazon Polly 是一项将文本实时转换为自然语音的 Text-to-Speech(TTS)服务。神经网络 TTS 引擎生成接近人类的自然语音,支持包括中文在内的 30 多种语言和数十种声音选项。除了通过 SSML(Speech Synthesis Markup Language)精细控制停顿、重音和发音外,还提供新闻播报和对话等不同用例的语音风格选择。
神经网络 TTS 引擎机制与语音质量演进
Polly 提供标准和神经网络两种引擎类型。标准引擎使用拼接合成,将录制的语音片段连接生成语句。神经网络引擎使用深度学习模型直接生成语音波形,产生更自然的语调和抑扬顿挫,机械感显著减少。长文本朗读时质量差异尤为明显。神经网络引擎进一步演进为 Generative 引擎,最新的 Long-Form 引擎实现了考虑段落间上下文的自然韵律。Azure Speech Service 提供类似的神经网络 TTS,但 Polly 在实践中的优势是 API 简洁性和与 AWS 生态系统的集成便利性。音频数据可输出为 MP3、OGG 和 PCM 格式,根据用例选择格式。
SSML 与语音风格的表现力控制
简单的文本转语音可能导致专有名词发音错误或停顿不自然。SSML 可通过 break 标签指定停顿时长、emphasis 标签指定重音、phoneme 标签使用 IPA(国际音标)指定精确发音、prosody 标签调整语速、音高和音量。对于技术术语,使用 IPA 的 phoneme 标签可防止误读。新闻播报风格针对新闻稿朗读优化,以平静的播报语调传递。对话风格为聊天机器人和交互应用设计,产生更亲切的语调。语音合成相关书籍(Amazon)系统介绍 SSML 实用模式。词典功能可在账户级别定义特定词汇的发音,无需每次编写 SSML。
实时传输与批量处理的架构设计
Polly 的 SynthesizeSpeech API 实时返回音频流,适合 Web 和移动应用的即时播放。大量文本时,StartSpeechSynthesisTask API 执行异步批量处理,将生成的音频文件输出到 S3。批量处理每个任务最多处理 10 万字符,支持整本书的旁白和播客生成。实践中常见的架构是 EventBridge 从内容管理系统检测文章发布,通过 Lambda 触发 Polly 批量任务,通过 CloudFront 分发生成的音频。定价基于请求字符数按量计费,神经网络引擎约为标准引擎的 4 倍价格,但考虑质量差异建议采用神经网络引擎。SpeechMark 功能提供音频中每个词的时间戳,可实现自动字幕同步和卡拉 OK 式高亮显示。