案例故事:
智能语音识别技术VR(Voice Recognition)愈来愈流行,好比siri,小米的小爱同窗,
讯飞的车载语音,华为的你好yoyo,这类的应用已经很是普遍了,
为了测试智能语音模块,咱们须要进行不少唤醒词和语料的输入,
这块如何实现自动化测试呢?
其关键就是如何将文字(语料集)转成语音,实现TTS:( Text To Speech文字转语音),最终实现模拟语音输入!
python
要实现text to speech,是个很庞大的引擎,须要解决不少经常使用词,多音词,方言等等问题,
因此百度提供了云计算接口: 进行text输入,云端反馈speech输出。浏览器
Baidu aip建立TTS、ASR应用许可并申请免费试用
微信
先进行唤醒,再进入识别对话模式,
唤醒的唤醒词是须要进行自学习的,这部分建议用自学习过的录音文件代替。
自学习的具体流程如截图(以荣耀V20手机为例)
进入识别对话模式后,则能够经过百度TTS云服务自动化进行语音输入!函数
肯定你须要多少个功能(函数),最好把功能(函数)都尽可能封装好,只暴露一些的参数接口便可。学习
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) # 初始化环境 a_obj = aip.AipSpeech(APP_ID, APP_KEY, SECRET_KEY) audio_bin = a_obj.synthesis(text, 'zh', 1, {'vol': 4, 'spd': 5, 'pit': 5, 'per': 1}) if not isinstance(audio_bin, dict): with open(audio_name, "wb") as hf: hf.write(audio_bin) play(audio_name, 1) else: print("文本:%s TTS失败,云服务返回异常" % text) time.sleep(sleep_time) def play(audio_file, sleep_time=0.8): try: playsound.playsound(audio_file) time.sleep(sleep_time) except: print("%s音频播放失败" % audio_file) if __name__ == '__main__': # 在线语音交互 play(WAKEUP) tts("北京天气怎么样", 12) play(WAKEUP) tts("今天是星期几", 5) play(WAKEUP) tts("查询上证指数", 6) play(WAKEUP) tts("世界上最长的河", 11) play(WAKEUP) tts("珠穆朗玛峰有多高", 4) play(WAKEUP) tts("55X56等于多少", 5) # App控制语音 play(WAKEUP) tts("打开浏览器", 5) play(WAKEUP) tts("拍照", 8) play(WAKEUP) tts("打开日历", 7) play(WAKEUP) tts("发朋友圈", 5) tts("自拍教程欢迎您!", 5) tts("是的", 3) play(WAKEUP) tts("返回桌面", 5) # 多媒体语音控制 play(WAKEUP) tts("静音", 4) play(WAKEUP) tts("音量调到中等", 4) play(WAKEUP) tts("播放周杰伦的七里香", 8) play(WAKEUP) tts("下一曲", 6) play(WAKEUP) tts("随机播放", 7) play(WAKEUP) tts("我要听郭德纲的相声", 9) # 通信语音控制 play(WAKEUP) tts("查询老王的电话号码") play(WAKEUP) tts("打电话给10086", 10) os.system("pause")
更多更好的原创文章,请访问官方网站:www.zipython.com
自拍教程(自动化测试Python教程,武散人编著)
原文连接:https://www.zipython.com/#/detail?id=e72446ad65f84d3482821d37e6d37820
也可关注“武散人”微信订阅号,随时接受文章推送。
测试