AI语音小助手

介绍

调用通义,百度的API
语音录制与识别:使用PyAudio库录制用户语音,以WAV格式保存至speech.wav文件。随后通过百度语音识别API(AipSpeech)将语音转为文本,支持多种语言(普通话、英文、粤语、四川话)。

软件架构

软件架构说明

该软件采用客户端-服务器架构,具体为客户端负责语音采集、处理与播放,服务器端负责语音识别与文本生成。以下是详细的架构说明:
客户端:

语音录制:客户端通过PyAudio库实现麦克风音频流的实时采集。设置采样率、声道数、采样宽度等参数,持续一定时间(此处为4秒)记录音频数据。

语音文件保存:采集到的音频数据以WAV格式保存至本地文件speech.wav,便于后续传输至服务器进行识别。

语音识别结果处理:客户端接收服务器返回的语音识别结果,将其封装为消息对象(包含角色标识与内容),并传递给call_with_messages函数以生成AI助手的文本回复。

语音播报:使用pygame.mixer库加载并播放由百度语音合成API生成的音频文件(用户语音识别结果和AI助手的回答)。播放完毕后,清理资源并删除临时音频文件。

循环交互:客户端通过while循环等待用户输入,决定是否继续下一轮语音交互。

服务器端:

语音识别:客户端将保存的speech.wav文件上传至百度语音识别服务(通过AipSpeech库接口),指定