本帖最后由 jinglixixi 于 2025-6-26 15:39 编辑
#申请原创#
@21小跑堂
除天猫精灵之类的在线智能语音点播装置,其他的歌曲点播装置多是通过操作界面来控制。
这里就向大家介绍一种在离线方式下能够以语音式歌曲点播台,此外它还能够产生色彩及亮度上的变化。
该设计是采用VC02-Kit与MP3播放模块所构成,其中VC02-Kit负责语音指令的识别处理,而MP3播放模块则负责歌曲的存储及播放处理,两者间的联系是通过串口通讯来完成。
1. VC02-Kit
VC02-Kit是安信可出品的一款离线式语音开发板,相较于在线语音识别,它具有不受在线通讯制约的特点,并可以语音的方式来控制相应的外设。
VC02-Kit是一组套件,它由开发板、咪头及正方形扬声器组成,见图1所示。
图1 套件构成
该模组使用采用的是云知声所推出的语音芯片 US516P6,它在离线识别算法与芯片架构方面有深度的融合,为客户提供了超低成本的离线语音识别方案。
US516P6 芯片采用 32bit RISC 架构内核,并加入了专门针对信号处理和语音识别所需要的 DSP 指令集,它支持浮点运算的 FPU 运算单元,以及 FFT 加速器。
VC-02 可支持 150 条本地指令离线识别,并具有一定的外围接口供用户进行客制化设计。
该模组支持单通道麦克风输入 和 双声道DAC 输出,它内置 了2MB Flash 和 242KB SRAM,并集成多种语音降噪技术,可实现高识别率与低延迟性响应,并支持 中英文双语控制。
该模组提供的外围接口如图2所示,可提供GPIO输出、I2C、PWM、DAC及UART输出。
图2 引脚资源
2. MP3播放模块
MP3播放模块是一种支持MP3格式语音文件播放的功能模块,其外观如图3所示。选取该模块的原因在于它是以TF卡的方式来存储MP3文件,这样有利于文件内容的快速更换且存储量很大。
图3 MP3播放模块
该模块支持2种工作模式,即手工操作模式和串口控制模式。在与VC02-Kit配合的情况下,是以串口模式来实现两者的数据交流。
在串口模式下,可执行的串口指令有:播放、下一首、上一首、暂停、停止、音量设置及播放指定乐曲等。
在所用MP3播放模块播放时,需外接一个扬声器来配合。
3. 开发工具及设计
有别于常规的开发,VC02-Kit采用的是一种线上的开发平台,在提交相关的设置后,它可自动生成目标文件。
在生成目标文件后,通过板载的串口资源在相关下载软件的配合下,可快速完成目标文件的下载处理。
安信可创建产品设计的官网为: HYPERLINK "http://voice.ai-thinker.com/" \t "https://bbs.eeworld.com.cn/_blank" /,其界面如图4所示。当然在创建产品前,是必须进行注册的。
图4 开发平台界面
在进入平台后,点击“创建产品”功能,即开始了创建过程,其填写产品名称及模组选取的形式如图5所示。
图5 产品名称及模组选取
鉴于设计的需要,其引脚配置如图6所示。其中UART1_TX用于发送控制指令,GPIO_A27用于控制蓝色LED,而PWM3和PWM4用于控制红色和绿色LED,并可对其进行亮度调节。
图6 引脚配置
将唤醒词设为“百灵鸟”,见图7所示。
图7 设置唤醒词
为实现语音控制,其设置的基础信息如图8所示,通过这些语音指令可实现MP3模块的相应处理功能。在这些信息中,"行为"采用英文来命名,它相当于是定义了一个处理函数名;"命令词"采用中文来命名,它是用户发出的语音指令;"回复语"采用中文方式,它是系统在识别了语音指令后,所发出的语音恢复内容。
图8 基础信息
为了执行语音指令的功能,需为串口指定相应的发送内容,其添加控制的对话框如图9所示,其中的参数即为发送的内容。
图9 添加控制
在完成添加后,其控制详情如图10所示。
在设置的信息中,“控制类型”是指所使用的引脚名称及功能;“动作”是指引脚所要执行的操作,“参数”是指操作所需的数据支持。 以语音指令“播放”为例,它的动作行为就是通过串口1的发送引脚向MP3模块发送出播放的指令,其内容为“7E FF 06 0D 00 00 00 FE EE EF”,其他类此。
图10 控制详情
除了控制MP3模块,还可按图11所示来添加相应的彩灯控制内容,它是通过通过GPIO和PWM来点亮相应的LED灯并通过占空比的不同来添加LED灯的亮度。
以语音指令“播放”为例,它在实现向MP3模块发送出播放的指令外,还添加了3个控制行为,以控制3个连接到RGB_LED模块的引脚,从而产生色彩的变化。 在这3个引脚中,PWM3被连到R引脚,PWM4被连接到G引脚,GPIO1_27被连接到B引脚。 PWM3因输出占空比为100%的脉冲,而点亮红色LED;PWM4因输出占空比为0%的脉冲,而无法点亮绿色的LED;GPIO1_27因输出低电平也无法被点亮,故只能呈现出红色。 同理,语音指令“下一首”则因相应的设置而呈现出绿色。 用于不同的语音指令被赋予了不同的显示色彩,故在语音指令操作时,便呈现出了多彩的色彩变化效果,从而达到活跃氛围的效果。
图11 彩灯控制
在完成上述的配置外,还可选取不同的发言人以不同的音色来发出提示信息,其选取环节见图12所示。
图12 选取发言人
在完成了全部语音SDK设置后,即可进入目标程序的生成阶段,见图13所示。在点击“生成SDK”后,回给出大致的生成时间,见图14所示。
图13 完成语音SDK设置
图14 生成处理中
在目标程序生成后,会生成一个名为output的压缩包,经下载和解压其内容如图15所示。在4个文件中,使用文件uni_app_release_update.bin即可。
图15 解压内容
为了将目标程序下载到VC02-Kit,需使用工具软件UniOneUpdateTool.exe。该软件的使用十分简单,其界面如图16所示,在正确选取串口和目标文件的情况下完成下载。
图16 软件界面
图17 完成下载
至此,就完成了整体的设计工作,在连接好MP3语音模块的情况下,其测试视频如下。
图18 连接及播放状态
演示视频:
对于感兴趣者,在具备硬件的条件下,还可使用下面的目标文件自行来验证设计效果。
目标文件:
uni_app_release_update.tar
(1.18 MB)
|
一款基于VC02-Kit开发板的离线点歌设备设计,得益于平台的协助,设计的完成度较好,但是内容相对不够充实,篇幅较短,如果充实文章,可获得更高的打赏,望以后产出更高质量的作品。