华为在2018年10月26日发布了一款音箱,AI智能音箱,载了来自猎户星空的语音合成技术。用户通过语音或者华为智能家居App,可轻松控制音箱的播放、暂停等等操作。

以华为AI智能音箱为背景,我们自己动手制作一个智能音箱,实现功能如下:
- 音箱本身可以播放音乐,通过按键切换歌曲、暂停继续、调节音量;
- PC上通过Qt程序可以远程控制音箱的播放,实现和按键相同的功能;
- 手机端开发Android APP,功能和Qt一样;
- Qt和Android增加语音识别模块,能识别基本的播放指令。
硬件平台
- mini2440或者其他可以运行Linux操作系统、带有音频输出接口的开发板;
- Android手机、PC。
软件平台
- 运行Linux操作系统的虚拟机;
- 阿里云或者其他公网服务器(腾讯云、华为云...);
- Windows。
嵌入式端侧开发
select
音箱的控制分为两块,按键和网络(Qt和Android都通过socket和音箱通信)。主程序嵌入式select,按键在Linux操作系统中对应的是设备文件,socket也是一个文件,所以用select同时监听两个文件描述符。当有数据可读的时候,判断文件描述符并做出不同的处理。
多进程
音箱的核心任务是播放音乐。为了提升用户体验,即程序出bug的时候能保证音乐继续播放,播放方案选择多进程。
需要三个进程:
- 主进程负责接收指令(暂停、继续等等),并且根据收到的指令做出进一步的处理;
- 子进程负责创建孙进程,并且通过wait

本文详细介绍了一个基于华为AI智能音箱概念的自制智能音箱项目,涵盖硬件选型、软件设计、网络通信及多进程处理等关键环节,实现了音乐播放、远程控制及语音识别等功能。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



