python 智能对话

2025-10-24 04:10:16

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 智能对话

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

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

pip install requests

pip install mp3play

pip install pyaudio

python 智能对话

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢