51Testing软件测试论坛

标题: 初识百度AI开放平台和简单语音合成,值得深思 (下) [打印本页]

作者: MilgGtery    时间: 2019-2-2 13:30
标题: 初识百度AI开放平台和简单语音合成,值得深思 (下)

2.创建语音合成AI引用

  选择上面百度语音类别,然后创建一个语音应用:

  

  默认情况下,一个语音AI应用同时包含语音识别和语音合成的接口。语音AI应用创建好,会自动分配AppID,App Key和SecretKey,如果开发者要使用百度语音的API服务,这些信息是必要的。如果你熟悉OAuth 2.0 方式的API的调用流程,你会感觉上面的相关术语很熟悉,事实上百度AI应用的API都是采用OAuth2.0方式的,只不过百度的相关SDKAPI将这套流程封装得很好,我们使用时可以无需直接处理。

  除此之外,打开应用详情,可以看到百度为AI应用分配的默认资源,如QPS,对于本例子中的语音合成API,默认QPS是100,如果开发者认为这些资源还不够,还可以申请更多的服务资源。

  

  3.安装AI应用SDK,并调用API完成服务

  1)安装SDK

  百度语音服务提供了多种编程语言相关的SDK,这里选择Python版本的。打开百度AI开放平台语音服务SDK下载页面(https://ai.baidu.com/sdk#asr),选择PythonSDK。

  笔者采用Python官方推荐的主流版本Python3,本例具体版本是Python3.6.4。

  解压下载的zip SDK文件后,进入加压后的目录:

  python setup.py install

  2)准备文本材料

  准备好诗歌《面朝大海,春暖花开》的文本文件flower.txt,注意标点符号,保存为UTF-8格式的。

  3)使用百度语音合成API

  利用上面创建的语音应用的AppID, App Key和Secret Key:

  fromaip importAipSpeech

  """ 你的 APPID AK SK """

  APP_ID = '你的 App ID'

  API_KEY = '你的 Api Key'

  SECRET_KEY = '你的 Secret Key'

  client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

  调用百度语音合成API:

  result = client.synthesis(open('blossoms.txt', encoding='utf8').read(), 'zh', 1, {

  'per': 0, 'vol': 3, 'pit': 7

  })

  # 识别正确返回语音二进制 错误则返回dict 参照下面错误码

  ifnotisinstance(result, dict):

  withopen('poem.mp3', 'wb') asf:

  f.write(result)

  else:

  print(result)

  代码解释如下:

  读取文本文件,获得文本数据,然后作为参数传入client.synthesis() API,当请求成功后就返回一个音频格式的数据内容并写入文件,失败则打印出错误信息。

  用户还可以根据自己的相关需要选择合成语音时的语速,语调,音量和发声人选择,具体参数细节可以参考API文档(https://ai.baidu.com/docs#/TTS-API/top

  执行上面的代码,可以发现一个名为poem.mp3的音频文件产生了,用Windows自带的WindowsMedia Player播放可以听到合成的语音朗诵这首诗。

  我们可以发现,机器朗诵的诗歌和人朗诵的相比还是有很大差距,或者我们可以说机器诗歌朗诵是缺乏灵魂的,这是目前AI技术的局限,也是需要努力的方向。随着百度AI语音的进化,特别是丰富语料之后,我相信相关语音合成效果会越来越好。

  与此同时,通过上面的演示,我们可以看到,开发者十分钟就可以完成一些简单的文本与语音的转换。这大大降低了开发者使用AI的难度。如果没有这些服务,用户要么自己去实现一套自己的语音合成机器模型和语料库,或者借助第三方TTS SDK,这样的开发难度都大很多。

  把上面的代码稍作修改,在文本文件中输入一些大众不会念的生僻字,即可实现一个生僻字的念法应用。

  除此在外,百度AI开放平台还提供其他更多更实用的AI服务,读者可以自行探索,基本开发流程跟本文类似。

  后记

  百度作为一家国内顶尖的互联网和AI公司,其技术实力毋庸置疑,但是百度是一家颇具争议的公司。在上面的百度AI开放平台的控制台中,我们看到百度提供一些人脸识别、内容审查等敏感而又有争议性的AI服务,这些AI服务在公众生活中涉及到个人隐私,公众舆论的热点事件中应该发挥什么样的作用,值得我们深思。







欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2