设置 Amazon Polly
现在,我们动手来设置 Amazon Polly!本节将概述具体步骤。
步骤 1:创建 AWS 账户
要使用 Amazon Polly,您首先需要一个 AWS 账户。如果您还没有,请前往AWS 注册页面并按照步骤创建账户。请确保提供有效的结算信息,因为包括 Polly 在内的 AWS 服务均按用量计费。
为权限进行 IAM 设置
建议设置一个IAM(身份与访问管理)用户,并授予管理 Amazon Polly 资源所需的权限。为该用户分配 AmazonPollyFullAccess 策略,确保其可访问 Polly 的全部功能。
步骤 2:进入 Amazon Polly
登录AWS 管理控制台后,在顶部搜索栏中搜索 Polly。

AWS 控制台中的搜索菜单。
点击 Amazon Polly 服务进入 Polly 界面。
将 Amazon Polly 用于文本转语音
通常,开发者会使用 Amazon Polly API 将文本转语音功能直接集成到应用中。不过,您也可以通过 AWS Polly 界面在无需编写代码的情况下,快速试用不同的音色和设置。为此,请在 Polly 界面中点击Try Polly 按钮。您可以在 AWS 控制台中试验不同的文本输入、音色类型和输出格式,便于在程序化实现前先行探索 Polly 的功能。
基础文本转语音转换
要执行基础的文本转语音转换,在输入框中输入一句类似 “Hello, welcome to Amazon Polly!” 的话。您还可以选择引擎类型(如生成式、长文本、神经或标准)、语言和音色。点击Listen 可立即试听输出,或点击Download 将结果下载为 .mp3 文件。

AWS 控制台中的 Amazon Polly 界面。
为文本转语音设置 AWS SDK
若要以编程方式将 Amazon Polly 集成到应用中,需要设置 AWS SDK。这样您就可以直接在代码中与 Amazon Polly 交互,实现更动态、可定制的文本转语音功能。
在本教程中,我们将使用Python SDK(boto3)。通过 pip 安装 boto3:
pip install boto3
然后使用AWS CLI 配置您的 AWS 凭证:
aws configure

CLI 中的 aws configure 命令。
通过 SDK 生成语音
下面是一个使用 Amazon Polly 将文本转换为语音的简单 Python 脚本:
import boto3
polly = boto3.client('polly')
response = polly.synthesize_speech(
Text='Hello, this is a test of Amazon Polly.',
OutputFormat='mp3',
VoiceId='Joanna'
)
with open('speech.mp3', 'wb') as file:
file.write(response['AudioStream'].read())
该脚本会将文本生成语音,并保存为 mp3 文件。
Amazon Polly 的高级功能
尽管 Amazon Polly 因其基础的文本转语音功能而广为人知,但它还提供了一系列高级功能,帮助开发者打造更复杂、更多互动性的语音体验。
使用 SSML(语音合成标记语言)
SSML(Speech Synthesis Markup Language)允许开发者控制语音的多个方面,如音高、语速、音量和重读,使音频输出更具表现力、更自然。
通过 SSML 标签,您可以添加停顿、调整说话风格,甚至逐字母拼读缩略词。这种灵活性在故事讲述、在线学习平台和客服应用等场景尤为有用,在这些场景中,语气和表达方式对用户参与度影响显著。
例如,您可以强调某些词语以传达重要性,或在教学内容中放慢语速以确保清晰度。
以下展示如何在 Polly SDK 中使用 SSML:
response = polly.synthesize_speech(
Text="<speak><emphasis level='strong'>Important</emphasis> message!</speak>",
TextType='ssml',
OutputFormat='mp3',
VoiceId='Matthew'
)
# Save the audio file
with open('speech_ssml.mp3', 'wb') as file:
file.write(response['AudioStream'].read())
此示例会强调单词 “Important”,使其在语音中更突出,从而增强对听众的情感影响。SSML 还支持音素发音、耳语效果以及添加音效等高级功能,帮助开发者全面掌控语音体验。
用于口型同步的 Speech Marks
Speech Marks 提供与时间对齐的元数据,使开发者能够将语音与动画、文本高亮或角色口型进行同步。
该功能对虚拟角色、教育类游戏或卡拉 OK 风格的文本高亮等互动型应用尤为有价值。
在请求语音合成的同时获取 Speech Marks,您将获得每个单词或句子的详细时间信息,从而创建动态、同步的多媒体体验。
例如,您可以让角色的口型与语音同步,或在旁白朗读的同时实时高亮文本。以下展示如何请求 Speech Marks:
response = polly.synthesize_speech(
Text='Hello, world!',
OutputFormat='json',
VoiceId='Emma',
SpeechMarkTypes=['word']
)
# Save the speech marks to a JSON file
with open('speech_marks.json', 'wb') as file:
file.write(response['AudioStream'].read())
输出 JSON:
{"time":6,"type":"word","start":0,"end":5,"value":"Hello"}
{"time":714,"type":"word","start":7,"end":12,"value":"world"}
上述示例为每个单词请求 Speech Marks,返回包含时间戳与文本数据的 JSON 对象。开发者可以利用这些信息逐帧同步动画,使音视频体验更具吸引力且更逼真。
Amazon Polly 的实时流式传输
对于语音助理、实时解说或交互式聊天机器人等实时应用,Amazon Polly 支持使用 WebSocket 协议或支持 HLS(HTTP 实时流)的媒体播放器进行流式传输。
这使应用在语音合成的同时即可开始播放音频,从而降低时延,带来更灵敏的用户体验。实时流式传输非常适合对即时性要求较高的场景,如实时客服或对话式 AI。
开发者可以利用该功能构建语音激活设备、新闻朗读器或可随用户输入即时响应的互动式故事应用。
管理 Amazon Polly 资源
有效管理 Amazon Polly 资源对于优化性能、成本与可扩展性至关重要。通过有策略地存储语音文件并监控使用情况,您可以在保持高质量用户体验的同时,确保高效的资源利用。
Amazon Polly 能与其他 AWS 服务无缝集成,例如用于存储的 Amazon S3,以及用于成本监控的 AWS 计费控制台,从而简化资源管理。
创建与管理语音文件
Amazon Polly 允许您将合成语音存储在 Amazon S3 中,以获得可扩展的存储与便捷的检索。对于具有重复音频需求的应用(如在线学习平台、有声书或客服机器人),这种方式尤为有用,因为您可以复用音频文件,而无需每次都重新合成语音。
将常用的语音输出存储在 S3 中,可通过直接从云端提供缓存音频来降低成本并提升性能。
s3 = boto3.client('s3')
s3.upload_file('speech.mp3', 'your-bucket-name', 'speech.mp3')
监控用量与成本
利用 AWS 计费与成本管理控制台,高效监控用量与成本。该控制台提供详细的成本分解、用量报告,并可设置预算和告警,避免产生意外费用。
在使用神经音色时,成本监控尤为重要,因为其费用高于标准音色。您还可以跟踪已合成字符数、API 调用频率等用量指标,帮助优化资源使用。

AWS 成本仪表板示例。
使用 Amazon Polly 的最佳实践
采用最佳实践可确保在使用 Amazon Polly 时获得最佳性能、成本效益和用户体验。以下是一些关键准则:
选择合适的音色
合适的音色取决于应用目的与目标受众。Amazon Polly 提供多种音色,包括标准与神经音色,每种都有独特的音调与特性。
- 神经音色更自然、更具表现力,但成本更高。因此,它们非常适合需要高情感投入的应用,如有声书或故事讲述。
- 标准音色为客服聊天机器人等功能性应用提供高性价比方案。结合用户反馈测试不同音色,有助于为您的应用选择最合适的声音。
优化语音输出
利用 SSML(语音合成标记语言)通过调节音高、语速、音量来提升语音质量。通过精细调整这些设置,您可以打造更具动态性和吸引力的音频体验。
例如,放慢语速有助于提升教学内容的清晰度,而强调关键短语则能增强叙事效果。尝试不同的 SSML 标签有助于获得最自然的语音效果。
降低成本
在使用 Amazon Polly 时,可通过控制语音生成频率、将常用音频存储于 S3 以复用等策略来优化成本。该方法能减少重复的 API 调用并降低合成开销。
此外,灵活搭配标准与神经音色也能在成本与质量间取得平衡。
例如,将神经音色用于欢迎语等关键触点,而由标准音色承担信息性内容。在 AWS 计费控制台中设置用量上限与成本告警,有助于控制预算并避免意外支出。
结语
Amazon Polly 是一项强大的文本转语音服务,借助先进的深度学习技术将文本转换为逼真的语音,提升用户体验与无障碍可及性。
在本教程中,我们从设置 AWS SDK 到以编程方式生成语音,系统讲解了 Amazon Polly 的基础功能;同时还介绍了高级能力,如用于自定义语音输出的 SSML、用于口型同步与动画的 Speech Marks,以及用于动态语音应用的实时流式传输。
将 Amazon Polly 集成到您的应用中,您可以为全球受众打造高度互动、个性化的语音体验。无论您在构建虚拟助理、有声书、教育平台还是无障碍工具,Amazon Polly 都能提供将创意落地所需的灵活性、可扩展性与高级功能。
如果您刚接触 AWS,想要强化云技能,不妨探索以下相关课程:
- AWS Concepts – 学习 AWS 云计算的基本概念。
- AWS Cloud Technology and Services – 动手实践关键 AWS 服务及其应用场景。
- AWS Security and Cost Management – 理解保护 AWS 资源与优化成本的最佳实践。
- AWS Cloud Practitioner Certification Track – 通过结构化学习路径备考 AWS Cloud Practitioner CLF-C02。
FAQs
Amazon Polly 与其他 TTS 服务相比如何?
Amazon Polly 的突出之处在于其先进的神经文本转语音(NTTS)技术,与传统 TTS 系统相比能生成更自然、更富表现力的语音。它还支持用于语音自定义的 SSML、用于口型同步的 Speech Marks,以及实时流式传输,使其较许多其他 TTS 方案更灵活、更强大。
Amazon Polly 是否支持自定义音色创建?
不,Amazon Polly 目前不支持自定义音色的创建。不过,它提供多语言的丰富神经与标准音色,并支持通过 SSML(语音合成标记语言)调节音高、语速、音量与说话风格。如果您需要高度定制的音色,可能需要探索其他 TTS 方案,如 Google Cloud Text-to-Speech 或定制音色供应商。
Amazon Polly 是否适合生成有声书或播客等长文本内容?
是的,Amazon Polly 提供长文本合成,以生成诸如有声书或播客等长时音频内容。它支持使用 NTTS(神经文本转语音)引擎,输出更自然的语音,适用于故事讲述与叙事类应用。您也可以将长脚本拆分为可管理的片段,以维持性能与质量。
Amazon Polly 能离线使用吗?
不可以。Amazon Polly 是云端服务,需要活跃的互联网连接来处理文本转语音请求。但您可以在合成后生成并下载音频文件以供离线使用。这对于需要预录语音内容的应用(如有声书、公告或教学视频)非常方便。
Amazon Polly 是否有用量限制或配额?
是的,Amazon Polly 存在用量配额与限制,例如每个请求和每个账户可合成的字符数。具体限制因是否使用免费套餐或付费计划而异。为避免中断,您可以通过 AWS 计费与成本管理控制台监控用量并设置告警。对于高并发场景,您可以通过 AWS 支持中心申请提高配额。

在后 GPT 时代,从虚拟助理到帮助视障用户浏览数字内容的无障碍功能,语音交互正变得日益重要。Amazon Polly 不仅让添加文本转语音功能更为容易,还通过支持多种语言与丰富的音色,为用户提供高度个性化、沉浸式的体验。
本教程旨在教您如何设置 Amazon Polly 并将其集成到应用中,释放语音交互潜力,为更具活力且更易用的数字体验铺平道路。
什么是 Amazon Polly?
Amazon Polly 是一项文本转语音(TTS)服务,使用先进的深度学习技术合成自然流畅的语音。它是当前最为先进的TTS 服务之一,开发者可以借此创建会“说话”的应用,且声音极具人性化。该服务支持 30 多种语言、60 多种音色,满足全球用户多样化的语言需求。
Amazon Polly 的一大亮点是其采用了神经文本转语音(NTTS)技术,与传统的语音合成系统相比,声音更具表现力且更自然。这包括对音高、音量、语速等属性的调节,给予开发者对音频输出的精细控制。例如,开发者可以让语音更欢快、兴奋或富有同理心,从而增强与用户的情感连接。
Amazon Polly 还支持Speech Marks 等功能,使开发者能够将语音与视觉元素同步,例如在朗读时高亮显示文本,或让角色口型与音频对齐。这使其成为互动式故事讲述、教育内容以及无障碍工具的理想方案。
无论您是在构建语音激活的虚拟助理、有声书平台,还是具备语音功能的物联网设备,Amazon Polly 都能提供实现创意所需的灵活性与可扩展性。