1. 程式人生 > >智慧語音(識別+格式轉換+合成+相似度分析+問答)

智慧語音(識別+格式轉換+合成+相似度分析+問答)

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)