分享python。

今天重蔚自留地小编就带大家来共同学习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 = \'\'

python 2.7实现智能对话的详细操作方法

4.注册灵图账号,并获取灵图key,将key值填入代码

5.安装python的依赖库pip install baidu-aip

pip install requests

pip install mp3play

pip install pyaudio

python 2.7实现智能对话的详细操作方法

6.将第2步的代码保存成ai.py文件,并使用python IDE打开,运行即可.

以上就是python 2.7实现智能对话的详细操作方法,希望学习后对你有所帮助。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处:https://www.cwhello.com/42380.html

(0)
上一篇 2019-11-27 11:10
下一篇 2019-11-27 11:34

相关推荐

  • 教你Python怎么查看当前版本号。

    很多小伙伴在使用Python的时候,想知道怎么查看当前版本号,下面重蔚自留地小编就为大家分享查看方法,感兴趣的小伙伴不要错过哦! Python怎么查看当前版本号?Python查看当…

    2025-10-14
    08
  • 我来教你python。

    你们知道python 2.7中怎么安装虚拟环境吗?下文就是python 2.7虚拟环境安装的具体操作步骤,希望大家喜欢。 python 2.7虚拟环境安装的具体操作步骤 这里是Ce…

    2025-09-28
    09
  • 分享Python怎么降序输出。

    使用Python的时候,很多小伙伴不知道怎么降序输出,下面重蔚自留地小编就给大家带来Python降序输出教程,有需要的小伙伴不要错过哦。 Python怎么降序输出?Python降序…

    2025-09-11
    08
  • 分享Python怎么查看已经安装的库。

    使用Python的时候,很多小伙伴不知道怎么查看已经安装的库,下面重蔚自留地小编就给大家带来Python查看已经安装的库方法,有需要的小伙伴不要错过哦。 Python怎么查看已经安…

    2025-06-21
    07
  • 说说Python解释器是什么。

    有的小伙伴会问重蔚自留地小编Python解释器是什么,下面重蔚自留地小编就为大家详细的介绍一下,想知道的话就来看看吧,相信一定会帮到你们的。 Python解释器是什么?Python…

    2025-06-14
    08
  • 小编分享python怎么更新修改后的Python模块。

    很多编程人员都在使用python软件,那么你们知道python怎么更新修改后的Python模块吗?以下内容就为大伙带来了python更新修改后Python模块的具体方法,让我们一起…

    2025-04-29
    010
  • 分享python。

    许多小伙伴还不了解python 2.7开发环境的配置的操作方法,希望感兴趣的朋友都来共同学习哦。 python 2.7开发环境的配置的操作方法 在浏览器地址栏中输入网址http:/…

    2025-04-09
    06
  • 分享python。

    大家知道python 2.7使用virtualenv的详细操作流程吗?下文就是全部内容,一起来看看吧! python 2.7使用virtualenv的详细操作流程 安装virtua…

    2025-04-07
    08
  • 小编分享python如何导入模块。

    大家知道python如何导入模块吗?下文重蔚自留地小编就带来了python导入模块的方法,希望对大家能够有所帮助,一起跟着重蔚自留地小编来学习一下吧! python如何导入模块?p…

    2025-03-15
    08
  • 我来教你Python怎么绘制散点图。

    使用Python的时候,很多小伙伴不知道怎么绘制散点图,下面重蔚自留地小编就给大家带来Python绘制散点图教程,有需要的小伙伴不要错过哦。 Python怎么绘制散点图?Pytho…

    2025-03-01
    08