打开网易新闻 查看精彩图片

Azure机器学习的文本转语音

文本转语音功能是目前机器学习中的很重要的一个分支,类似我们使用到的语音助手,都需要把机器搜索到的文本答案转换成语音,再通过智能设备播放出来。随着智能设备,特别是最近几年的语音助手的流行,越来越多的AI智能公司开始研发自己的文本转语音功能,像腾讯,百度,阿里等都提供免费的API,供开发者免费使用。有了这些API接口,我们就不用使用大型的模型设备,重新训练自己的语音模型。但是,体验后每家的API接口后,个人觉得Azure的文本转语音功能,最接近人声。

Windows Azure

Microsoft Azure是微软基于云计算的操作系统,原名“Windows Azure”,和Azure Services Platform一样,是微软“软件和服务”技术的名称。Microsoft Azure的主要目标是为开发者提供一个平台,帮助开发可运行在云服务器、数据中心、Web和PC上的应用程序。云计算的开发者能使用微软全球数据中心的储存、计算能力和网络基础服务。Azure服务平台包括了以下主要组件:Microsoft Azure,Microsoft SQL数据库服务,Microsoft .Net服务,用于分享、储存和同步文件的Live服务,针对商业的Microsoft SharePoint和Microsoft Dynamics CRM服务

有关Microsoft Azure我们不做过多的介绍,这里,我们主要介绍一下如何使用Microsoft Azure平台,搭建自己的文本转语音功能。

----2----

Azure 文本转语音API 搭建

若我们只是体验一下Azure的文本转语音功能,直接可以在Azure的官网上面使用,但是若是处理大量的文本,且需要实现自动化操作时,那我们就需要使用Azure的API来进行编码编辑

账号注册与登录

Azure的使用,需要我们登录Azure的账号,当然若有微软账号,同样可以使用微软账号进行登录,这里我们直接使用免费登录(Azure提供12个月的免费试用期)

打开网易新闻 查看精彩图片

Azure

成功登录后,我们便进入了后台管理界面,这里,我们便可以创建自己的资源,当然,我们不仅可以创建文本转语音的资源,也可以创建其他方便,比如图片识别,语音识别等等AI 方面的资源,我们今天按照文本转语音为例

打开网易新闻 查看精彩图片

Azure后台

创建Azure AI资源

这里我们点击创建资源,便可以看到Azure提供给开发者所有的免费资源,

打开网易新闻 查看精彩图片

Azure资源

Azure文本转语音功能在左侧类别中属于AI+机器学习类中,我们点击AI+机器学习,便可以看到下图的所有关于机器学习的API类,文本转语音便是认知服务,点击创建即可

打开网易新闻 查看精彩图片

AI+机器学习的认知服务

创建Azure 认知服务

打开网易新闻 查看精彩图片

创建Azure 认知服务

----3----

Azure 文本转语音创建认知服务

创建认知服务一共4个步骤

1、设置基本参数

这里,订阅我们选择免费试用即可,资源组,可以点击新建,由于小编已经新建立过资源,这里选择以前的资源也行,区域选择默认即可,当然也可以根据自己的地区进行选择。

名称为资源组的名称,定价层最好选择标准S0,当然也有免费的资源,但是免费的无法调长文本转语音API,这里重点强调一下,前期小编调试的时候就是选择了免费的(免费的针对短语音API),在进行长文本转语音时,一直报错

2、identity 选择默认即可

打开网易新闻 查看精彩图片

identity

3、标记,命名一个名称与键值对

打开网易新闻 查看精彩图片

标记

4、创建认知服务

打开网易新闻 查看精彩图片

创建认知服务

点击创建后,系统会自动进行资源的创建与部署,待部署完成后,就可以看到自己创建的资源了

打开网易新闻 查看精彩图片

资源的创建与部署

打开网易新闻 查看精彩图片

资源的创建与部署

创建完成后,我们可以查看部署详细信息,下面有我们建立的资源组,点开资源组

打开网易新闻 查看精彩图片

部署详细信息

我们可以看到管理密钥的按键,我们点击此按键,便可以看到我们此API的密钥了

打开网易新闻 查看精彩图片

管理密钥

密钥我们可以随时重新生成,在生产新密钥前,我们可以使用密钥2来进行API的相关开发

打开网易新闻 查看精彩图片

API密钥

有了API的密钥,我们便可以使用文本转语音API来生产我们需要的文本语音了,这个我们后期进行相关技术分享。

import azure.cognitiveservices.speech as speechsdk
from azure.cognitiveservices.speech.audio import AudioOutputConfig

def synthesize_to_speaker():
#Find your key and resource region under the 'Keys and Endpoint' tab in your Speech resource in Azure Portal
#Remember to delete the brackets <> when pasting your key and region!
speech_config = speechsdk.SpeechConfig(subscription="", region="")
#In this sample we are using the default speaker
#Learn how to customize your speaker using SSML in Azure Cognitive Services Speech documentation
audio_config = AudioOutputConfig(use_default_speaker=True)
synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)
synthesizer.speak_text_async("Enter some text to synthesize.")

synthesize_to_speaker()