Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Amazon Web Services

Build a Serverless Text-to-Speech Application with Amazon Polly (Simplified Chinese)

Amazon Web Services and Amazon via AWS Skill Builder

Overview

概览

一般来说,语音合成并非易事。您不能假设当应用程序读取一个句子的每个字母时,输出都是有意义的。文字转语音应用程序面临的一些常见挑战包括:

  • 书写方式相同但发音不同的单词:I live in Las VegasThis presentation broadcasts live from Las Vegas 相比。
  • 文本规范化:消除缩写、首字母缩略词和单位的歧义:例如 St.,可以展开为 StreetSaint
  • 在具有复杂映射的语言中将文本转换为音素,例如在英语中,toughthroughthough。在本例中,不同单词的相似部分可以根据单词和上下文有不同发音。
  • 外来词 (déjà vu)、专有名词 (François Hollande) 和俚语(ASAPLOL)。

Amazon Polly 提供的语音合成功能克服了这些挑战,使您能够专注于构建使用文字转语音的应用程序,而不是解决口译挑战。

Amazon Polly 可将文本转换为逼真的语音。借助 Amazon Polly,您可以构建支持自然聊天的应用程序,从而打造全新类别的具有语音功能的产品。Amazon Polly 是一种 Amazon AI 服务,它使用高级深度学习技术来合成很像人声的语音。它可以提供几十种逼真的声音并支持 20 多种语言,因此您可以选择最合适的声音,并构建适用于许多不同国家/地区的具有语音功能的应用程序。

此外,Amazon Polly 的响应时间一贯很快,而这正是支持实时的交互式对话所必需的。您可以缓存并保存 Polly 的音频文件,以便离线重放或重新分发。(换句话说,您转换和保存的内容就是您的。使用语音不会产生额外的文字转语音费用。)Polly 使用起来也非常简单。您只需将要转换为语音的文本发送到 Amazon Polly API。Amazon Polly 会立即将音频流返回给您的应用程序,以便您的应用程序可以直接播放该音频流,或将其存储为 MP3 等标准音频文件格式。

在本实验中,您将创建一个基本的无服务器应用程序,该应用程序使用 Amazon Polly 将文本转换为语音。该应用程序有一个简单的用户界面,可以接受多种不同语言的文本,然后将其转换为可以从 Web 浏览器播放的音频文件。本实验使用的是博客文章,但您可以使用任何类型的文本。例如,您可以在做饭时使用该应用程序阅读食谱,或者在驾驶或骑自行车时阅读新闻文章或书籍。

应用程序架构

您将构建一个无服务器应用程序,这意味着您不需要使用服务器,无需预置、修补和扩展。AWS 云会自动完成这些任务,让您能够专注于您的应用程序。

该应用程序提供两种方法:一种用于发送有关应转换为 MP3 文件的新文章的信息,另一种用于检索有关文章的信息(包括指向存储在 Amazon S3 存储桶中的 MP3 文件的链接)。这两种方法都通过 Amazon API Gateway 作为 RESTful Web 服务进行公开。

当应用程序发送有关新文章的信息时:

1 信息由 Amazon API Gateway 公开的 RESTful Web 服务接收。此 Web 服务由托管在 Amazon Simple Storage Service (Amazon S3) 上的静态网页调用。

2 Amazon API Gateway 触发一个 AWS Lambda 函数 New Post,该函数负责初始化生成 MP3 文件的过程。

3 Lambda 函数将有关文章的信息插入 Amazon DynamoDB 表,有关所有文章的信息都存储在该表中。

4 要异步运行整个过程,您可以使用 Amazon Simple Notification Service (Amazon SNS) 来分离接收有关新文章的信息和启动音频转换的过程。

5 另一个 Lambda 函数 Convert to Audio 订阅您的 SNS 主题,并在出现新消息时触发(这意味着新文章应转换为音频文件)。

6 Convert to Audio Lambda 函数使用 Amazon Polly 将文本转换为指定语言(与文本语言相同)的音频文件。

7 新的 MP3 文件保存在专用的 S3 存储桶中。

8 有关文章的信息在 DynamoDB 表中更新。存储在 S3 存储桶中的音频文件的 URL 与先前存储的数据一起保存。

当应用程序检索有关文章的信息时:

1 RESTful Web 服务使用 Amazon API Gateway 进行部署。Amazon API Gateway 公开检索有关文章的信息的方法。这些方法包含文章的文本以及指向存储 MP3 文件的 S3 存储桶的链接。该 Web 服务由托管在 Amazon S3 上的静态网页调用

2 Amazon API Gateway 调用 Get Post Lambda 函数,该函数将部署用于检索文章数据的逻辑。

3 Get Post Lambda 函数从 DynamoDB 表中检索有关文章的信息(包括对 Amazon S3 的引用),并返回该信息。

涵盖的主题

本实验结束时,您将能够:

  • 创建 Amazon DynamoDB 来存储数据
  • 创建 Amazon API Gateway RESTful API
  • 创建由 API Gateway 触发的 AWS Lambda 函数
  • 将 AWS Lambda 函数与 Amazon Simple Notification Service (SNS) 连接
  • 使用 Amazon Polly 合成多种语言和声音的语音

图标键

本实验中使用了不同图标,以提醒大家注意各种类型的说明和备注。下面的列表解释了每个图标的用途:

  • 您必须运行的命令
  • 您可以用来验证命令或已编辑文件输出的示例输出
  • 一项提示、技巧或重要指导
  • 特别相关或较为重要的信息(不查看该信息并不会损坏设备或数据,但可能导致需要重复某些步骤)
  • 警告:提醒这是一项不可逆转且可能造成命令或进程失败的操作(包括提醒配置在完成后将无法更改)。

Reviews

Start your review of Build a Serverless Text-to-Speech Application with Amazon Polly (Simplified Chinese)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.