服务功能
您可以通过 HTTP 或 WebSocket 界面访问 IBM Watson® Text to Speech 服务的语音合成功能。 这两个接口都提供了允许您通过该服务提交和接收不同信息的功能。 此外,与所有 Watson 服务一样,还有多个 SDK 可用于简化使用许多编程语言开发应用程序的工作。
使用语言和声音
该服务支持语音合成以及 语言支持 中列出的语言的声音。 对于不同的语言,该服务提供女性声音和/或男性声音。 某些语言和声音可能仅受 IBM Cloud® 支持。
所有服务的声音都使用神经语音技术,这会产生更多自然发声的语音。 该服务提供三种类型的语音,即自然语音、表现神经语音和增强神经语音,它们具有不同的品质和特点。 有关语音类型以及每种类型支持的语言和语音的信息,请参阅 语言和 语音。
使用音频格式
使用服务合成语音
Text to Speech 服务提供了 HTTP 具象状态传输 (REST) 接口和 WebSocket 接口:
- HTTP 接口提供的是服务的
GET
和POST
版本的/v1/synthesize
方法。 此方法的这两个版本提供了一般等效功能。 您可使用GET
方法和POST
方法传递要合成的文本,区别是前者将文本作为查询参数传递,后者作为请求主体传递。 - WebSocket 接口 提供的是
/v1/synthesize
方法。 您可通过已建立的 WebSocket 连接传递要合成的文本。
无论使用的是 HTTP 还是 WebSocket 接口,都可指定要使用的语言和声音以及要返回的音频的格式。
- 有关可用于语音合成的功能的概述,请参阅使用语音合成功能。
- 有关语音合成方法的详细说明和示例,请参阅 API 和 SDK 参考资料。
数据限制
两个接口接受的单个请求的最大文本量如下:
- HTTP
GET /v1/synthesize
方法接受输入的最大大小为 8 KB,其中包括输入文本、URL 和头。 - HTTP
POST /v1/synthesize
方法接受 URL 和头的最大大小为 8 KB,在请求主体中发送的输入文本的最大大小为 5 KB。 - WebSocket
/v1/synthesize
方法接受输入文本的最大大小为 5 KB。
这些限制包含输入的所有字符,包括空格。
IBM Cloud 出于计费目的,不计算空格字符。 但是,所有其他字符都计入在内,包括属于 SSML 元素的字符。
使用语音合成功能
服务还支持其他功能,您可以使用这些功能来定制发送的文本和接收的音频。
SSML
可以向服务传递纯文本或使用语音合成标记语言 (SSML) 进行注释的文本。 SSML 是一种基于 XML 的标记语言,为语音合成应用程序(例如,Text to Speech 服务)提供文本注释。
修改发言率
要修改请求的全局语音合成速率,可以使用 rate_percentage
查询参数。 说话速率是服务将其合成为语音的文本说话的速度。 更高的速率会使文本被讲得更快; 更低的速率会使文本被讲得更慢。 此参数将更改整个请求的按语音缺省速率。 有关更多信息,请参阅 修改发言速率。
rate_percentage
参数是 Beta 功能。
修改演讲稿
要修改请求的语音合成的全局间距,可以使用 pitch_percentage
查询参数。 说话间距表示服务合成的语音的语气。 它代表了听者感知到的声音的音色有多高或有多低。 更高的音高会导致以更高的语气说话,被认为是更高的声音; 更低的音高会导致以更低的语气说话,被认为是更低的声音。 该参数将更改整个请求的按语音缺省间距。 有关更多信息,请参阅 修改演讲稿。
pitch_percentage
参数是 Beta 功能。
拼写字符串
要指示如何拼写字符串 (字母,数字或字母数字) 的各个字符,可以在请求中包含 spell_out_mode
查询参数。 缺省情况下,服务会以它为语言合成文本的相同速率来拼写各个字符。 您可以使用此参数来指示服务更慢速地将各个字符拼成一组,分为一个,两个或三个字符。 将该参数与 SSML <say-as>
元素配合使用,以控制如何合成字符串的字符。 有关更多信息,请参阅 指定如何拼写字符串。
spell_out_mode
参数是仅支持德语声音的 Beta 功能。
词计时
通过 WebSocket 接口,可以获取有关服务返回的音频中词位置的计时信息。 计时信息可用于对输入文本和音频进行同步。
您可以使用 SSML <mark>
元素来识别音频中的特定位置,如单词边界。 对于日语以外的其他语言,您还可以请求输入文本中所有词的词计时信息。 有关更多信息,请参阅 生成词计时。
自然语音不支持单词定时。
将语音合成功能与表现力神经语音配合使用
借助具有表现力的神经声音,服务支持其他功能,用于修改如何将您传递的文本合成为音频。
使用演讲样式
表现力神经声音从其单词和短语的上下文中决定文本的情绪。 他们所产生的讲话,除了具有非常对话式的风格外,还反映了文本的意境。 你可以通过表明全部或部分文本要强调一种特定的风格来修饰声音的自然倾向: 欢快,可怜悯,中立或不确定。 您可以使用 SSML 来指示要对其应用的样式和文本。 有关更多信息,请参阅 使用讲话样式。
强调推测
当您使用表现力神经声音时,服务会根据上下文自动检测常见猜想的集合。 当它合成这些猜想时,它给它们带来了人类在正常对话中所使用的自然强调。 对于某些推测,可以使用 SSML 来启用或禁用其强调。 有关更多信息,请参阅 强调拒绝。
强调词语
表现力声音使用对话式风格,从上下文中自然地应用正确的调音。 但你可以表明,一个或多个词要或多或少地强调。 应力的变化可以通过音高,定时,音量或其他声学属性的增加或减少来指示。 有关更多信息,请参阅 强调单词。
定制服务
服务包含一个定制接口,可以用于创建定制模型,以供语音合成期间使用。 定制模型是由词及其特定语言的转换项构成的字典。 模型中的每个词/转换项对会指示服务在输入文本中出现该词时如何发音。
可以使用定制模型为异常词创建特定于应用程序的转换项,若对异常词使用服务的常规发音规则,生成的发音可能并不理想。 例如,应用程序可能经常遇到特定于领域的词、特殊外来词、人名或地名或者缩写和首字母缩略词。 通过使用定制,可以定义转换项,用于指示服务您希望这类词汇如何发音。
您可以基于其他词来定义词/转换项对的定制条目,也可以基于标准国际音标 (IPA) 或专有 IBM 符号音标表示法 (SPR) 中的音位符号来创建发音。 定制可用于所有语言。
IBM Cloud 您必须具有 Standard 或 Premium 定价套餐才能使用定制。 轻量套餐的用户无法使用定制接口。 有关定价套餐的更多信息,请参阅 IBM Cloud® 目录中的 Text to Speech 服务。
创建定制语音
IBM Cloud
高级客户可以使用 IBM 来训练新的定制语音,以满足他们的特定应用程序需求。 定制语音是基于客户提供的音频训练数据的唯一语音。IBM 可以使用仅 1 小时的训练数据来训练定制语音。
要请求定制声音或获取更多信息,请填写并提交此 IBM 请求表单。
使用“按示例调整”
“按示例调整”功能允许您控制服务如何使用指定的文本。 该功能使您能够支配合成文本的调音,节奏和压力。 您可以通过提供一个样本记录来创建定制提示,该记录可根据您想要听到的文本说话。 然后,当您合成提示时,服务会将记录的语音的质量与其声音重复。
该功能部件提供了比标准 SSML 更简单的机制,用于修改语音合成方式。 “按示例调整”通过让您记录想要使用的文本,而不是要求您使用 SSML 来模拟预期的韵律,从而消除了对复杂 SSML 的需求。
您可以通过将演讲者模型与讲这些提示的用户相关联来提高定制提示的质量。 您可以通过提供用户声音的音频样本来创建演讲者模型。 该服务会对自身进行语音训练,以帮助其为该扬声器生成更高质量的提示。
有关 Tune by Example,定制提示和说话者模型的更多信息,请参阅 Understanding Tune by Example。
“按示例调整”功能是仅支持美国英语定制模型和声音的 Beta 功能。
使用软件开发包
SDK 可供 Text to Speech 服务用于简化语音应用程序的开发工作。 SDK 支持许多常用的编程语言和平台。
- 有关 SDK 以及 GitHub 上 SDK 的链接的完整列表,请参阅 WatsonSDK。
- 有关 Text to Speech 服务 SDK 所有方法的更多信息,请参阅 API & SDK 参考资料。
了解有关应用程序开发的更多信息
有关与 Watson 服务和 IBM Cloud 合作的更多信息:
- 有关简介,请参阅 Watson 和 IBM Cloud 入门。
- 有关使用 IBM Cloud Identity and Access Management 的信息,请参阅向 Watson 服务进行认证。
后续步骤
浏览本主题中引入的功能,以更深入了解服务的功能。 每个功能部件都包含指向主题的链接,这些主题更详细地描述了该功能部件。
- 使用语言和声音 和 使用音频格式 描述了服务功能的基本基础。 您必须选择适合您的文本和应用程序的语言和语音,并且必须了解服务返回的音频的特征。
- 使用服务合成语音 提供了指向每个服务接口的详细演示的链接。 试用这些接口以确定最适合您的应用程序需求的接口。
- 使用语音合成功能 简要描述了可用于语音合成的功能,并提供了更多信息的链接。 使用这些功能来定制您发送的文本和接收的音频。
- 将语音合成功能与表现力神经语音配合使用 引入了三个额外的功能,可用于具有表现力神经语音的语音合成。
- 定制服务 描述了更高级的定制主题,可用于创建包含特定语言的词典及其翻译的定制模型。
- 使用 "按示例调整" 引入了“按示例调整”功能,使您能够创建定制提示。 您可以控制提示的合成文本的音调,节奏和压力。
- 使用软件开发包 提供指向 SDK 的链接,这些 SDK 可用于简化多种编程语言的应用程序开发。
- 了解有关应用程序开发的更多信息 提供了帮助您开始使用 Watson 服务并了解认证的链接。