CopyRight©2023 evtolwiki.com All Right Reserved
python 2.7实现智能对话的详细操作方法
今天小编就带大家来共同学习python 2.7实现智能对话的详细操作方法,希望可以帮助到有需要的小伙伴哦。
python 2.7实现智能对话的详细操作方法

1.下载python运行环境,这里是使用的2.7,可网络搜索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.注册百度账号,并进入百度AI开放平台,下载sdk,并获取到你个人的
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''

4.注册灵图账号,并获取灵图key,将key值填入代码
5.安装python的依赖库pip install baidu-aip
pip install requests
pip install mp3play
pip install pyaudio

6.将第2步的代码保存成ai.py文件,并使用python IDE打开,运行即可.
以上就是python 2.7实现智能对话的详细操作方法,希望学习后对你有所帮助。
-
qq音乐中退出的两种简单方法时间:2024-07-08
-
qq音乐中切换播放模式的简单操作教程时间:2024-07-08
-
qq音乐下载歌曲所在位置的详细操作教程时间:2024-07-08
-
qq空间中进行换背景的简单操作步骤时间:2024-07-08
-
qq音乐中进行下载词图的操作教程时间:2024-07-08





