python 2.7如何智能对话_智能对话流程分享

2024-06-25 20:44:49阅读量:37 字体:

python 2.7怎么智能对话,相信有很多小伙伴对此存在疑惑,接下来就跟着谜爱阁生活网小编一起了解一下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相关攻略推荐:

python 2.7怎么四舍五入_四舍五入技巧分享

python 2.7如何运行py文件_运行py文件方法介绍

python 2.7日期时间怎么转换_日期时间转换流程分享

以上就是谜爱阁生活网小编今日为大家带来的python 2.7怎么智能对话_python 2.7智能对话流程解析,更多软件教程尽在IE浏览器中文网站!

推荐阅读

  • 抖音怎么看谁取消关注了我了

    抖音怎么看谁取消关注了我了

    抖音不能直接看谁取消关注你,但如果对方曾经与你是互相关注的话,就可以查看对方是否把你取关了。具体的操作方式如下: 抖音怎么看谁取消关注了我了 1、打开抖音,点击进入我”的界面。 2、进入...

    阅读: 1111

  • 苹果实况照片怎么弄到抖音上

    苹果实况照片怎么弄到抖音上

    实况照片是iPhone手机上的一种拍照模式,可以让拍的照片动起来。将苹果实况照片弄到抖音上的具体操作方式如下: 苹果实况照片怎么弄到抖音上 1、打开抖音,点击界面中间的+”号, 进入拍摄界...

    阅读: 794

  • 苹果怎么关闭腾讯视频自动续费

    苹果怎么关闭腾讯视频自动续费

    可以通过腾讯视频app或者微信app关闭腾讯视频自动续费。苹果关闭腾讯视频自动续费的具体操作方式如下: 苹果怎么关闭腾讯视频自动续费 一、以腾讯视频为例 1、打开腾讯app,进入vip会员&rdquo...

    阅读: 710

  • 光遇怎么退出当前账号

    光遇怎么退出当前账号

    《光·遇》是由游戏制作人陈星汉及其团队Thatgamecompany开发的社交冒险游戏。以下是推出光遇当前账号的操作方法: 光遇怎么退出当前账号 1、打开光遇app,在初始呈现界面中找到...

    阅读: 734

  • 微信接龙管家小程序怎么用

    微信接龙管家小程序怎么用

    接龙管家小程序,解决了微信/QQ群消息刷屏、无统计、无反馈、无留存的痛点。以下是如何使用微信接龙管家小程序的操作方法: 微信接龙管家小程序怎么用 1、打开微信app,点击搜索按钮,搜索接龙小程序&rd...

    阅读: 716

  • vivo手机查定位找手机

    vivo手机查定位找手机

    vivo手机系统有查定位找手机的功能,可以利用vivo公司的云服务功能来进行查定位找手机,操作步骤如下: vivo手机查定位找手机 1、打开手机的设置,点击首行的个人头像,进入账号中心页面中。 2、...

    阅读: 726