案例故事:
智能語音識別技術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
也可關注「武散人」微信訂閱號,隨時接受文章推送。
測試