智慧語音(識別+格式轉換+合成+相似度分析+問答)
阿新 • • 發佈:2018-12-10
from aip import AipSpeech 檔案格式轉換(os)+翻譯成文字(原流001010)+提取有效資訊文段+利用相似度(simnet)人工制定答案
+將答案與voice合成音訊寫入mp3 from aip import AipNlp import os #lsi模型 App_ID="11520823" API_Key="MkDwZfZz0hFuCBWsungxl0sv" Secret_Key="RjE8ywaQT2x5NGHzeN9FbHSZGefzBTCR" client=AipSpeech(App_ID,API_Key,Secret_Key)#通行證 nlp_client=AipNlp(App_ID,API_Key,Secret_Key) cmd="ffmpeg -y -i %s -acodec pcm_s16le -f s16le -ac 1 -ar 16000 %s"%( "LLL.wma", "LLLS.pcm" ) os.system(cmd) voice=None with open("LLLS.pcm", 'rb') as fp: #.pcm相當於一種流檔案 liu= fp.read()#讀出.pcm檔案裡的內容 # 將上面讀取的流,識別成本地檔案類似於.txt restxt=client.asr(liu, 'pcm', 16000, {#將讀出的.pcm內容識別成詞典 'dev_pid': 1536,#輸入法模型 ,標準普通話1536,帶有英文識別,比較差勁的 }) my_text="" if restxt.get("result"): my_text=restxt["result"][0] Q1="你的名字是什麼" Q2="你的偶像是誰" answer="我不知道你在說什麼" if nlp_client.simnet(Q1,my_text).get("score")>=0.7: answer="我的名字是美麗" if nlp_client.simnet(Q2,my_text).get("score")>=0.7: answer="林俊杰" my_voice={ "per":4, "spd":3, "pit":8, "vol":10 } print(answer) #client=AipSpeech(App_ID,API_Key,Secret_Key)#通行證 sysvoice=client.synthesis(answer,"zh",1,my_voice) print(sysvoice) with open("LLLS.mp3","wb") as f: f.write(sysvoice)