美文网首页
微软“神经网络语音”在天气自动化播报中的探索与应用

微软“神经网络语音”在天气自动化播报中的探索与应用

作者: dwademan | 来源:发表于2020-12-23 17:35 被阅读0次

一、前言

    人工智能播报在目前已经不是什么新奇事了,地图导航、手机语音助手、词典翻译、语音聊天等,都有着人工语音的身影。我在收听广播的时候,也听到了关于使用人工智能语音播报新闻的节目,某日突发奇想,如果把人工智能语音应用到广电电视节目的制作中,应该可以产生不错的效益。

    我台目前智能语音播报主要应用在广播节目的播报上,使用的是科大讯飞的离线SDK语音包,个人感觉在收听时还是有很明显的“机器人声”,偶然机会了解到微软也有相关的语音服务,并提供免费试用,于是抱着尝试的心态,自己进行了二次开发,做了个天气自动播报的语音app,借此机会探讨下智能语音播报在广电电视节目的应用方法。

二、微软语音服务

    微软语音服务是微软提供的一套在线API服务,主要服务内容包括语音转文本、文本转语音、语音翻译,我们此次探讨的主要是文本转语音服务,详细内容可参考官方的API文档微软文本转语音API文档

2.1、注册获得语音服务

微软语音服务提供一个月的免费试用期,需要先注册Auzre账号,主要步骤如下:

1、适用Azure账号登陆Azure门户网站

2、在Azure服务中选择“创建资源”。

图2.1=Azure首页创建资源

3、在资源市场中输入中文“语音”,找到第一个“语音”服务,选中后创建。

图2.2-语音服务创建

4、,注意选择“位置”,我这边选择的位置是“中国东部2”,"订阅"默认注册完Azure时微软会送你一个月的“1元试用版套餐”,“资源组”还没有的化新建一个。

图2.3-创建资源方法

5、创建完成后,打开对应资源,在左侧栏找到“资源管理-密钥和终结点”,获得密钥,每个终结点的密钥有2个,以后代码里会用到,密钥的作用就是在你自己的程序里,调用微软语音API的时候,给你的一把钥匙。

2.2、使用文本转语音服务

2.2.1、安装语音SDK

    此次我使用的是C#进行开发,因此在Visual Studio的项目中,需要安装微软语音SDK,之后只要要引用"Microsoft.CognitiveServices.Speech"这个包就行。安装语音SDK的方法为,在Visual Studio项目中,选择“项目-管理NuGet程序包”,搜索“Microsoft.CognitiveServices.Speech”,选中第一个进行安装。

图2.4- 语音SDK安装

2.2.2、引用SDK并对语音输出进行配置

\bullet 在C#中引用语音SDK,“Microsoft.CognitiveServices.Speech”和“Microsoft.CognitiveServices.Speech.Audio”。

图2.5-引用语音SDK

\bullet 语音服务进行配置,匹配密钥以及音频文件输出路径,之后实例化“SpeechSynthesizer”对象,将之前“config”和“audioConfig”两项配置参数传递过去。

图2.6-相关音频设置

2.2.3、通过语音合成标记语言 (SSML) 改善合成的语音输出

    SSML主要是一个XML文本,它其中定义了很多文本转语音过程中的属性,包括语言支持、语音语调、讲话风格、人声、断点等;使用SSML来合成语音更具灵活性,可对一段文字进行多种播报方式的选择,也可以多人进行文字的播报。

2.2.4、神经网络语音

    微软的语音服务中,支持标准语音和神经网络语音的选择,也可以自己创建自定义语音,神经网络语音相比标准语音,更加自然,并且能够提供多种播报风格,适合在SSML文本中配置使用,在配置SSML文本时,只要相应的语音名称,语音服务就能自动转换成对应的语音播报,具体支持语音可参照语音服务的语言和语音支持

三、天气播报服务

3.1、气象数据API

    天气数据的获取,我参考中国气象数据网,该网站数据权威准确,并能够提供各类气象数据的API,注册并通过该网站的验证后,可免费订阅并试用一段时间的气象数据服务,此次测试我使用的是中国地面气象站逐小时观测资料

图3.1-地面气象数据

    地面气象数据的API支持定制功能,可选择定制气象站点,也可选择定制气象要素,此次测试我选择了苏州一个站点,气象要素包括温度/气温、最高温度、最低温度、气压、最高气压、最低气压、相对湿度、风力、最大风速、降水量、现在天气。

图3.2-气象要素选择

    气象数据API通过HTTP GET的方式进行发送,主要GET格式如下图,当API订单下单成功后,在我的API订单中,可以查找到接口信息的账号和密码;dataFormat为返回数格式;interfaceId是调用数据的接口ID;dataCode是返回数据的编码方式,dataCode是时间范围,支持最近7天的数据访问;stalID是气象站点的ID,支持1-30个站点,多个站点之间以“,”分隔,具体站点参照中国地面气象站点清单;elements是返回数据的字段,可参照中国地面气象要素清单

图3.3-气象数据API调用

3.2、将接收到的气象数据转换成SSML文本

    接收到的气象数据只是一些空洞的数据,我们最终要考虑的是如何把这些数据通过可与化的方式播报出来。我的思路是建立一个“Weather.xml”的本地文本,文本中输入好固定的播报语句,当接收到天气数据后,将天气数据替换到对应的播报文本中,测试播报文本如下图3.5。

3.2.1、数据替换方式

    SSML文本中的天气数据均按照“{a},{b},{c},{d}...”的方式进行标签化并放入对应文本后面,当接收天气数据以后,再按照文本的标签进行相应的替换,最后将整个文本数据流发送给微软语音API,并转换成合成语音,参考代码如下图3.4。

图3.4-替换文本参考代码

3.2.2、SSML文本修改方式参考

    播报文本采用SSML的格式编写,此次测试段我加入了两种神经语音的播报,具体语音类型设置通过“voide name”标签;播报的方式我选择成了“新闻模式”,具体设置通过“mstts:express-as style”标签;如果需要在播报之间加入断点,可通过设置“break time”标签实现;如果要设置当前播报文字的速度,可通过设置“prosody rate”标签实现。

    采用SSML的格式,可以通过设置断点、语速等控制播报时间,例如电视上一段天气语音的播报,需要配合在线包装或者图片的方式显示天气信息,加入断点和语速能够更方便控制天气显示方式之间的衔接,尤其是相对固定的播报,只要设置好一次SSML格式后,基本就不需要做大的改动。

图3.5-播报文本

四、 未来扩展设想

4.1、自定义神经语音

    微软提供了自定义语音的一组在线工具,能够创建自己独一无二的语音服务,自定义语音训练模型如下图4.1所示,在Azure上订阅了微软语音服务后,只需要准备需要自定义的相关音频文件,通过不断的上传数据、训练,最终生成自定义语音的API,最终将自定义的语音模型部署到Azure,供自己API接口调用。

    未来电视节目制作中,可以通过自定义神经语音的方式,将电视台主持人的声音通过不断的训练和仿真,可以大大降低主持人繁杂的配音工作,提高工作效率。

图4.1-自定义语音模型

4.2、结合UE4实现虚拟AR/VR播报

    UE4支持自定义插件,可以将微软语音服务和虚拟数据相结合,通过自定义插件的方式部署到UE4项目中,这样只要跟UE4场景制定好插件接口调用方式,就能快速实现AR/VR播报的实时渲染输出。

相关文章

  • 微软“神经网络语音”在天气自动化播报中的探索与应用

    一、前言 人工智能播报在目前已经不是什么新奇事了,地图导航、手机语音助手、词典翻译、语音聊天等,都有着人工语音的身...

  • Python爬虫-爬取天气信息

    爬取天气网站获取天气信息,并生成语音播报 这是打印 这是语音播报~

  • 无标题文章

    百度地图语音播报TTS 授权失败语音播报 SDK内置百度TTS语音播报功能,需要对应用进行授权验证才能够使用,因此...

  • TensorFlow系列专题(十一):RNN的应用及注意力模型

    循环神经网络的应用 目前循环神经网络已经被应用在了很多领域,诸如语音识别(ASR)、语音合成(TTS)、聊天机器人...

  • HX8088主流的语音芯片方案

    一、简介 语音播报,这个基本在任何行业都可能用得到,如:公交报站、仪器仪表播报语音信息等等。应用非常的广泛,...

  • 树莓派语音播报天气

    设置音量到最大 语音播放天气 依赖:requestsmpg123 服务: 百度语音合成 心知天气 最后加个定时任务...

  • 阅读论文目录

    双轴LSTM神经网络与混沌理论在音乐生成系统中的研究与应用_林舜成(20181031)

  • 3.27 嵌入式

    今天调试显示日期时间,并且语音播报,在老师的指导下实现了语音播报功能。

  • 18-tensorflow

    基础 深度学习介绍 深度学习,如深度神经网络、卷积神经网络和递归神经网络已被应用计算机视觉、语音识别、自然语言处理...

  • iOS中的语音播报

    偶然发现的原生的语音播报,简单的看一下: 注:原生的语音播报功能是在7.0以后才出现的,在使用时要注意判断当前版本...

网友评论

      本文标题:微软“神经网络语音”在天气自动化播报中的探索与应用

      本文链接:https://www.haomeiwen.com/subject/wfiynktx.html