基于LD3320语音识别技术的小灯控制系统程序

2020-01-23来源: 51hei关键字:LD3320  语音识别技术  小灯控制系统

资料描述:

1.本设计完成一个语音识别控制灯系统的设计,基于LD3320芯片的语音识别系统。最基本的要求做到语音说出一些简单的命令,系统会识别并且做出相应地动作或运作,以此来控制灯的亮和灭。

2.里面有LD3320的全部资料,里面有很多例程

资料包含:原理图+程序,相关资料等等

51hei.png

单片机源程序如下:

/************************************************************************************

**        CPU: AT89S52

**        晶振:22.1184MHZ

**        波特率:9600 bit/S

**        语音识别模块:LD3320         

**  版本:C106_yysb_V1.0

/************************************************************************************/

#include "config.h"


/************************************************************************************/

//        nAsrStatus 用来在main主程序中表示程序运行的状态,不是LD3320芯片内部的状态寄存器

//        LD_ASR_NONE:                表示没有在作ASR识别

//        LD_ASR_RUNING:                表示LD3320正在作ASR识别中

//        LD_ASR_FOUNDOK:                表示一次识别流程结束后,有一个识别结果

//        LD_ASR_FOUNDZERO:        表示一次识别流程结束后,没有识别结果

//        LD_ASR_ERROR:                表示一次识别流程中LD3320芯片内部出现不正确的状态

/***********************************************************************************/

uint8 idata nAsrStatus=0;        

extern void   _nop_     (void); 

void MCU_init(); 

uint8 RunASR();

void ProcessInt0(); //识别处理函数

void  delay(unsigned long uldata);

/************************************************************************

功能描述: 主函数程序入口

入口参数:        none

返 回 值:         none

其他说明:        none

**************************************************************************/

void  main()

{

        uint8 idata nAsrRes;

        uint8 i=0;


        MCU_init();

        LD_Reset();

        UartIni(); /*串口初始化*/

        nAsrStatus = LD_ASR_NONE;                //        初始状态:没有在作ASR

        PrintCom("串口运行中....n"); /*text.....*/

        PrintCom("口令:1、开机n"); /*text.....*/

        PrintCom("        2、开灯n"); /*text.....*/

        PrintCom("        3、关灯n"); /*text.....*/


        while(1)

        {

                switch(nAsrStatus)

                {

                        case LD_ASR_RUNING:

                        case LD_ASR_ERROR:                

                                break;

                        case LD_ASR_NONE:

                        {

                                nAsrStatus=LD_ASR_RUNING;

                                if (RunASR()==0)        /*        启动一次ASR识别流程:ASR初始化,ASR添加关键词语,启动ASR运算*/

                                {

                                        nAsrStatus = LD_ASR_ERROR;

                                }

                                break;

                        }


                        case LD_ASR_FOUNDOK: /*        一次ASR识别流程结束,去取ASR识别结果*/

                        {

                                

                                nAsrRes = LD_GetResult();                /*获取结果*/

                                PrintCom("n识别码:"); /*text.....*/

        UARTSendByte(nAsrRes+0x30); /*text.....*/                                

                                 switch(nAsrRes)                   /*对结果执行相关操作,客户修改*/

                                  {

                                          case CODE_DMCS:                        /*命令“测试”*/

                                                        PrintCom("“开机”命令识别成功n"); /*text.....*/

                                                                                                                 break;

                                                case CODE_KFBYZ:         /*命令“全开”*/

                                                        PrintCom("“开灯”命令识别成功n"); /*text.....*/

                                                                                                                 break;

                                                case CODE_JCWB:                /*命令“复位”*/

                                

                                                        PrintCom("“开灯”命令识别成功n"); /*text.....*/

                                                                                                                break;

                                                default:break;

                                        }                                


                                nAsrStatus = LD_ASR_NONE;

                                break;

                        }

[1] [2]
关键字:LD3320  语音识别技术  小灯控制系统 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic486541.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:单片机驱动带编码器直流电机 源程序
下一篇:单片机电梯控制器代码

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

LD3320语音识别模块系列单片机程序代码
说“小杰”这个口令 ,才能够进行下一级的识别/***************************飞音云电子******************************/#include "config.h"/************************************************************************************///        nAsrStatus 用来在main主程序中表示程序运行的状态,不是LD3320芯片内部的状态寄存器//        LD_ASR_NONE
发表于 2020-11-10
基于51单片机的LD3320的例程(口令模式+IO口控制程序)
;/************************************************************************************///        nAsrStatus 用来在main主程序中表示程序运行的状态,不是LD3320芯片内部的状态寄存器//        LD_ASR_NONE:                表示没有在作ASR识别//        LD_ASR_RUNING:         
发表于 2020-01-29
基于51单片机的<font color='red'>LD3320</font>的例程(口令模式+IO口控制程序)
LD3320的嵌入式语音识别系统的应用
是人声音的开始,哪个时间点是人声音的结束。判断的依据是,在背景声音的基础上有了语音发音,则视为声音的开始。而后,检测到一段持续时间的背景音(比如600 ms),则视为人声说话结束。通过VAD判断出人声说话的区域后,语音识别芯片会把这期间的声音数据进行识别处理,计算出识别结果。除了以上两种情况外,语音识别算法无法“主动”地判断出是否识别出了一个结果。这是因为,在计算过程中的任何时刻,语音识别器都会对已送人识别芯片的声音数据进行分析,并根据匹配程度为识别列表中的关键词语进行打分,最匹配的打分最高。但是,由于识别算法不知道用户后面是否还继续说话,所以无法主动地判断已经识别出的结果。3 语音识别芯片LD3320的工作原理3.1 语音识别
发表于 2014-11-13
<font color='red'>LD3320</font>的嵌入式语音识别系统的应用
一种嵌入式语音识别模块的设计与实现
、ICRoute的LD332X、上海华镇电子的WS-117。   本文的语音识别方案是以嵌入式微处理器为核心,外围加非特定人语音识别芯片及相关电路构成。语音识别芯片选用ICRoute公司的LD33 20芯片。   2 硬件电路设计   如图2所示,硬件电路主要包括主控核心部分和语音识别部分。语音进入语音识别部分后,将处理过的数据并行传输到主控制器,主控制器经过处理后,发送命令数据到USART,USART可用于扩展外围串行设备,如语音合成模块等。 图2 硬件电路   2.1 语音识别电路   图3为语音识别部分原理图,参照了ICRoute发布的LD3320数据手册进行设计。LD3320的内部集成了快速稳定的优化算法,不需外接
发表于 2013-02-18
一种嵌入式语音识别模块的设计与实现
基于语音识别的汽车空调控制系统
引言    现在汽车上使用的电器越来越多,驾驶员需要手动操作的电器开关也越来越多,不但增加了驾驶员的负担,还影响了行车安全。本文以STM32F103VET6(以下简称STM32)芯片为控制核心,采用高性能LD3320语音识别芯片,设计基于语音识别的汽车空调控制系统。该系统可以用语音有效控制汽车空调,减轻了驾驶员的操作负担,保证行车过程中的安全。1 系统硬件设计    运用语音识别技术,结合各种传感器对车身内外的环境(如气温、阳光强度等)以及制冷压缩机的状态等多种参数进行实时检测,与设定参数相比较,微控制器经过运算处理做出判断,输出相应的调节和控制信号。执行机构经过实时
发表于 2012-11-26
基于语音识别的汽车空调控制系统
为电视遥控器增加低功耗语音识别技术
虚拟助理被集成到家中更多的设备中,亚马逊最近宣布,它将为Alexa推出包括耳塞、眼镜和戒指在内的多种新型设备,为消费者提供更多获取信息的途径。在这些新的语音产品中反复出现的主题是无线和免提的,可轻松地连接到手机或其他主机上,并聆听指令。其内部技术是一个支持无线连接的蓝牙射频芯片组和运行唤醒字引擎(WWE)的专用嵌入式处理器来识别语音命令。这种趋势的另一个例子是,每一台新的平板电视、机顶盒和媒体播放器都配备了遥控器,他们也将很快完全无线和免提。当然,当你想要语音控制的时候,很多人仍然会使用旧的红外视线遥控模式或者按键对话,但这些都很快就过时了。用户需要一个能无缝响应命令的设备,而不是像对讲机那样必须按住通话键的设备。与最近亚马逊
发表于 2020-09-01
为电视遥控器增加低功耗<font color='red'>语音识别技术</font>
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved