今天小编就带大家来共同学习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=https://www.juwfang.com/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 = https://www.juwfang.com/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
【python 2.7实现智能对话的详细操作方法】pip install requests
pip install mp3play
pip install pyaudio
文章插图
6.将第2步的代码保存成ai.py文件 , 并使用python IDE打开 , 运行即可.
以上就是python 2.7实现智能对话的详细操作方法 , 希望学习后对你有所帮助 。
推荐阅读
- 2012款凯越车质量怎么样 别克凯越怎么样
- 鲜肉榨菜包的做法
- 容声冰箱属于什么档次 容声冰箱怎么样
- 蛋挞液的配方及制作方法 蛋挞液正规做法
- matlab调用vc VC++ 6.0 与MATLAB混合编程软件配置的详细教程
- 40元以内的蓝牙耳机推荐 诺必行蓝牙耳机怎么样
- 12款标致308质量怎么样 东风标致308怎么样
- vc6.0怎么创建一个c语言程序 VC++6创建C语言程序的操作教程
- 15款老途安质量怎么样 大众途安l怎么样