案例故事:
智能语音识别技术VR(Voice Recognition)越来越流行,比如siri,小米的小爱同学,
讯飞的车载语音,华为的你好yoyo,这类的应用已经非常广泛了,
为了测试智能语音模块,我们需要进行很多唤醒词和语料的输入,
这块如何实现自动化测试呢?
其关键就是如何将文字(语料集)转成语音,实现TTS:( Text To Speech文字转语音),最终实现模拟语音输入!
百度AI TTS云服务介绍:
要实现text to speech,是个很庞大的引擎,需要解决很多常用词,多音词,方言等等问题,
所以百度提供了云计算接口: 进行text输入,云端反馈speech输出。
唤醒和识别
先进行唤醒,再进入识别对话模式,
唤醒的唤醒词是需要进行自学习的,这部分建议用自学习过的录音文件代替。
自学习的具体流程如截图(以荣耀V20手机为例)
进入识别对话模式后,则可以通过百度TTS云服务自动化进行语音输入!
准备阶段
- pip install baidu-aip 百度AI SDK
- pip install playsound 播放音频文件
- 准备1部手机,比如华为荣耀V20手机一部, 并确保完成了自学习流程!
Python面向过程函数形式
确定你需要多少个功能(函数),最好把功能(函数)都尽量封装好,只暴露一些的参数接口即可。
import os
import time
import aip
import playsound
APP_ID = '23535121'
APP_KEY = 'DwtIqobDjYLVlUnbWrswGiC9'
SECRET_KEY = 'nZxsgKcBXSNHopLLM6NaVEBW6OlMcHR1'
WAKEUP = "wakeup.mp3"
def tts(text, sleep_time=3, audio_name="audio.mp3"):
if os.path.exists(audio_name):
os.remove(audio_name