python 2.7如何智能對(duì)話_智能對(duì)話流程分享
python 2.7怎么智能對(duì)話,相信有很多小伙伴對(duì)此存在疑惑,接下來(lái)就跟著好吧啦網(wǎng)小編一起了解一下python 2.7怎么智能對(duì)話_python 2.7智能對(duì)話流程解析吧!

1.下載python運(yùn)行環(huán)境,這里是使用的2.7,可網(wǎng)絡(luò)搜索python2.7下載安裝
2.python 代碼
from aip import AipSpeech
import urllib
import json
import requests
import mp3play
import pyaudio
import wave
import time
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
aipSpeech = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
key = ''
api = 'http://www.tuling123.com/openapi/api?key=' + key + '&info='
url = "http://www.tuling123.com/openapi/api"
user_id = 'tosobright'
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html
def getHtml2(data):
body = {'key': key, 'info': data.encode('utf8'), 'userid': user_id}
r = requests.post(url, data=body)
return r.text
while 1:
print("------Start-------")
p = pyaudio.PyAudio()
RECORD_SECONDS = 5
stream = p.open(format=8,channels=1,rate=16000,input=True,frames_per_buffer=1024)
print("* recording")
frames = []
for i in range(0, int(16000 / 1024 * RECORD_SECONDS)):
data = stream.read(1024)
frames.append(data)
print("* done recording")
stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open("record.pcm", 'wb')
wf.setnchannels(1)
wf.setsampwidth(p.get_sample_size(8))
wf.setframerate(16000)
wf.writeframes(b''.join(frames ))
wf.close()
print('* Get Data From Baidu')
res = aipSpeech.asr(get_file_content('record.pcm'), 'pcm', 16000, {
'lan': 'zh',
})
print res
print res.get('result')[0].encode('cp936')
print('* Get Data From Tuling')
#request = api + res.get('result')[0].encode('cp936')
#print request
#response = getHtml(request)
response = getHtml2(res.get('result')[0])
dic_json = json.loads(response)
print dic_json['text']
print('* Get mp3 From Baidu')
result = aipSpeech.synthesis(dic_json['text'], 'zh', 1, {
'vol': 5,
})
if not isinstance(result, dict):
with open('au.mp3', 'wb') as f:
f.write(result)
print('* Play mp3')
mp3 = mp3play.load('au.mp3')
mp3.play()
time.sleep(min(30, mp3.seconds()))
mp3.close()
3.注冊(cè)百度賬號(hào),并進(jìn)入百度AI開(kāi)放平臺(tái),下載sdk,并獲取到你個(gè)人的
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''

4.注冊(cè)靈圖賬號(hào),并獲取靈圖key,將key值填入代碼
5.安裝python的依賴庫(kù)pip install baidu-aip
pip install requests
pip install mp3play
pip install pyaudio

6.將第2步的代碼保存成ai.py文件,并使用python IDE打開(kāi),運(yùn)行即可.
python 2.7相關(guān)攻略推薦:
python 2.7怎么四舍五入_四舍五入技巧分享
python 2.7如何運(yùn)行py文件_運(yùn)行py文件方法介紹
python 2.7日期時(shí)間怎么轉(zhuǎn)換_日期時(shí)間轉(zhuǎn)換流程分享
以上就是好吧啦網(wǎng)小編今日為大家?guī)?lái)的python 2.7怎么智能對(duì)話_python 2.7智能對(duì)話流程解析,更多軟件教程盡在IE瀏覽器中文網(wǎng)站!
相關(guān)文章:
1. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)3. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能4. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)財(cái)務(wù)記賬管理系統(tǒng)5. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享6. 淺談?dòng)蓀osition屬性引申的css進(jìn)階討論7. asp批量添加修改刪除操作示例代碼8. vue項(xiàng)目登錄成功拿到令牌跳轉(zhuǎn)失敗401無(wú)登錄信息的解決9. CSS可以做的幾個(gè)令你嘆為觀止的實(shí)例分享10. vue前端RSA加密java后端解密的方法實(shí)現(xiàn)

網(wǎng)公網(wǎng)安備