赞
踩
最近两天需要做一个python的小程序, 就是实现人与智能机器人(智能对话接口)的对话功能,目前刚刚测试了一下可以实现, 就是能够实现个人与机器的智能对话(语音交流)。
大家可以设想一下, 如果要实现人与机器的智能对话, 肯定要有以下几个步骤:
计算机接收用户的语音输入
将用户输入的语音输入转化为文本信息
调用智能对话接口, 发送请求文本信息, 获取接口返回的智能回答文本信息
将回答文本信息转化为语音格式输出
这里可以安装很多现成的库函数, 辅助我们系统的实现。
以下是需要安装的一些python依赖包
pip install pyaudio 安装pyaudio依赖包, 用于录音、生成wav文件
pip install baidu-aip 安装百度AI的sdk, 调用语音技术接口将音频识别为文本数据返回
pip install pyttsx3 安装pyttsx3依赖包, 将文本信息以音频的格式播放出来
接下来我会逐步实现以上每个功能,最后再组合起来。
- import time
- import wave
- from pyaudio import PyAudio, paInt16
-
- framerate = 16000 # 采样率
- num_samples = 2000 # 采样点
- channels = 1 # 声道
- sampwidth = 2 # 采样宽度2bytes
- FILEPATH = '../voices/myvoices.wav' #该文件目录要存在
-
-
- #用于接收用户的语音输入, 并生成wav音频文件(wav、pcm、mp3的区别可详情百度)
- class Speak():
-
- #将音频数据保存到wav文件之中
- def save_wave_file(self, filepath, data):
- wf = wave.open(filepath, 'wb')
- wf.setnchannels(channels)
- wf.setsampwidth(sampwidth)
- wf.setframerate(framerate)
- wf.writeframes(b''.join(data))
- wf.close()
-
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。