树莓派打造智能语音控制系统(附最终代码)
本系统采用的树莓派为3B+
1、语音识别系统在实际应用中的意义:
(1)为人们提供高效,便利的居住环境。
(2)摆脱以往必须手动操作的麻烦,通过语音就能达到控制相关设备的目的。
(3)智能语音对话:通过语音和机器人对话,询问想要知道的相关信息,节省自己手动搜索的时间。
2、系统方案设计
2.1 系统的整体结构
系统的整体结构如图2-1所示。
图2-1 系统整体结构图
本智能语音控制系统采用电器设备+树莓派+百度语音接口来实现,分为应用层、逻辑层和处理层。其中电气设备作为应用层,负责系统的处理结果显现出来。树莓派作为逻辑层,处理业务逻辑上的问题,其中包括对处理层返回的识别后的语音信号进行存储,以及采取相应的操作。百度语音接口作为处理层,对树莓派所录的语音信号进行识别,将识别后的语音信号再次返回给树莓派。
2.2 系统的硬件整体架构
本系统中我们的电气设备直接连接树莓派的GPIO口,具体的连线如图2-2所示。

图2-2 系统整体硬件架构图
2.3 系统的软件整体架构
智能语音控制系统的软件整体架构主要分为以下四部分:
语音信号的采集:通过树莓派自带的录音功能来采集语音信号,并保存。
语音信号的识别:通过python调用百度语音接口,识别采集的语音信号,将识别后的语音信号以wav文件的格式存储于树莓派中。
语音机器人的回复:读取存放识别语音信号的wav文件,调用图灵机器人接口,实现机器人智能回复。
电器设备的控制:电器设备的控制其实说到底就是对树莓派GPIO的控制,其中对风扇驱动的控制主要通过python实现,而led灯的控制主要通过C语言来实现。
3、系统设计与实现
3.1系统总体需求概述
从智能语音控制系统的使用者这个角度出发,我们应该尽量避免使用者去直接接触到我们这个系统的内部设计,而是应该提供简单的接口来供用户使用。本系统为智能语音系统,所以在功能的建设上应该具备以下三方面的需求:
(1)对于智能语音对话模块,我们通过百度AI开放平台的语音识别接口和图灵机器人来实现对话的功能,只要能采集到使用者的语音信号,系统就会去调用相应的接口来给予适当的回复。
(2)对于智能语音控制灯泡开关模块,系统会去识别用户下达的语音指令,并将其转换成相应的操作,达到控制灯泡开关的目的。
(3)对于语音控制风扇开关以及风扇档位模块,系统同样会去识别用户下达的语音指令,达到控制风扇开关以及调整风扇档位的目的。
3.2智能语音识别模块的具体实现
3.2.1语音信号的采集
本系统采用树莓派自带的录音arecord来录音,通过以下指令既可以启动树莓派的录音功能:
arecord -D "plughw:1" -f S16_LE -r 16000 -d 3 wav文件。
其中-D后面所带的为设备名、-f后面所带的为采样格式、-r后面所带的为采样频率。因为百度语音接口所要求的采样频率为16000或者8000,所以在本系统中我们采用了16000的采样频率。后面所带wav文件是我们录音所存储的文件。
3.2.2百度AI语音接口的调用
首先要使用百度AI语音接口,要先去百度AI平台申请语音识别账号,申请成功会得到API Key和Secret Key,如图3-1所示。后续我们在python代码中需要填入这两个key,如下所示:
body = { “grant_type”:“”, “id” :”API Key”, “secret”:”Secret Key”, }。
这样我们的程序就可以调用到百度语音接口了。
图3-1 AppID和API Key
3.2.3智能语音识别的实现
智能语音识别提交的数据格式如Data所示:
Data = { “format” : “wav”, “rate” : 16000, “channel” : 1, “cuid” : “”, “token” : tok, “speech” : wav_data, “len” : wav_length }。
format为提交录音文件的格式,在这里为wav。rate为采样速率,在这里为16000,要和录音的采样速率等同。token为上小节调用百度语音接口所返回的内容。speech和len则为录音文件的内容以及长度。在这里使用urllib2这个库(树莓派自带,只需要导入即可)来进行网络的交互,只需要把Data提交到相应的url路径。就可以得到从接口返回的识别后的语音数据。
3.3智能语音对话模块的具体实现
3.3.1图灵机器人服务平台的调用
关于智能语音对话模块的实现,我们在基于语音识别的基础上,增加了一个图灵机器人接口的使用。图灵机器人是一个免费的开放平台,这个平台为广大开发群众以及企业合作伙伴提供一系列智能语义处理的服务。话不多说,我们来看具体实现。
首先要使用这个平台,我们需要去图灵机器人官网注册一个账号,注册后我们就可以申请机器人,同时得到一个api

本文介绍了一种基于树莓派3B+的智能语音控制系统,利用百度语音接口和图灵机器人实现家居设备的语音控制与对话功能。系统涵盖了语音信号采集、识别、设备控制等关键环节。
最低0.47元/天 解锁文章
2178





