YS-LDV7语音模块修改命令方法

YS-LDV7语音模块

接线

主机

验货测试方法

  • 在密码模式下,需要先按下一级密码,识别成功后才能继续调用二级密码进行循环。内部默认密码如下:
    [En]

    in password mode, you need to press the first-level password first, and then you can continue to call the second-level password in order to cycle after successful identification. The internal default password is as follows:*

一级口令: 小杰二级口令: 代码测试开发板验证开灯关灯北京上海广州
  • 详细测试流程如下:
  • 首先在电脑上安装”USB 转 TTL 驱动
  • 根据以上串口连接图将 USB 转 TTL 模块与语音模块连接好
  • 插入电脑 USB 口(注意不要加 USB 延长线直接插到主机的 USB 口)
  • 打开”STC-ISP 下载软件” 里面的串口助手, 根据下图选择好各个选项: (其中串口号可通关查看–我的电脑–设备管理器–端口)
    YS-LDV7语音模块修改命令方法

修改支持计划标识语句的方法

[En]

The method of modifying the Identification statement of supporting programs

1.添加关键词和识别码

  • 打开程序工程, 在 LDChip.C 文件中找到uint8 LD_AsrAddFixed() 函数, 在该
    下图中的内容可以在函数中找到:
    [En]

    The content shown in the following figure can be found in the function:

uint8 LD_AsrAddFixed(){    uint8 k, flag;    uint8 nAsrAddLength;    #define DATE_A 50    #define DATE_B 70    uint8 code sRecog[DATE_A][DATE_B] = {                                                                                "xiao jie",\                                                                                "kai fa ban yan zheng",\                                                                                 "dai ma ce shi",\                                                                                 "kai deng",\                                                                                 "guan deng",\                                                                                 "bei jing",\                                                                                 "shang hai",\                                                                                 "guang zhou"                                                                            };    uint8 code pCode[DATE_A] = {                                                            CODE_CMD,\                                                            CODE_KFBYZ,\                                                            CODE_DMCS,\                                                            CODE_KD,\                                                            CODE_GD,\                                                            CODE_BJ,\                                                            CODE_SH,\                                                            CODE_GZ                                                         };    flag = 1;    for (k=0; k<DATE_A; k++)    {        if(LD_Check_ASRBusyFlag_b2() == 0)        {            flag = 0;            break;        }        LD_WriteReg(0xc1, pCode[k] );        LD_WriteReg(0xc3, 0 );        LD_WriteReg(0x08, 0x04);        delay(1);        LD_WriteReg(0x08, 0x00);        delay(1);        for (nAsrAddLength=0; nAsrAddLength<DATE_B; nAsrAddLength++)        {            if (sRecog[k][nAsrAddLength] == 0)                break;            LD_WriteReg(0x5, sRecog[k][nAsrAddLength]);        }        LD_WriteReg(0xb9, nAsrAddLength);        LD_WriteReg(0xb2, 0xff);        LD_WriteReg(0x37, 0x04);    }    return flag;}
  • 根据关键词的数量和长度修改宏定义 DATE_A 和 DATE_B ,例如您要添加 10 个关键词, 在这些关键词中最长的一句长度为 30,那么定义如下:
#define DATE_A 10#define DATE_B 30
  • sRecog[ ][ ] 数组为关键词数组, 添加内容为拼音输入方式, 例如想添加 “开灯” 命令, 则写入”kai deng” ,每个汉字间的拼音用空格隔开。
  • pCode[ ] 数组为识别码数组, 所添加的识别码为预先定义好的宏定义常量值, 同时必须和关键词一一对应, 如上图所示, “da ma ce shi” 命令对应的识别码为 CODE_DMC。

2.定义识别码

  • 打开程序, 在 LDChip.h 文件中找到如下图所示内容:
#define CODE_CMD  0x00#define CODE_DMCS   0x01#define CODE_KFBYZ  0x02#define CODE_KD 0x04#define CODE_GD 0x05#define CODE_BJ 0x16#define CODE_SH 0x17#define CODE_GZ 0x2f
  • 此处即为识别码的添加和修改, 用户可以根据自己的需要和喜好任意定义识别码和宏名, 但必须和前面所使用的识别码配对, 否则会提示未定义错误。 识别码的参数范围为 01-FF 随意选择, 没有具体意义, 只要不存在重复的即可。

3.修改处理函数

  • 打开程序, 在 main.c 文件中找到 void User_handle(uint8 dat) 函数, 在该函数
    您可以看到下图所示的内容
    [En]

    You can see what is shown in the following figure

void    User_handle(uint8 dat){         if(0==dat)         {            G0_flag=ENABLE;            LED=0;            PrintCom("收到\r\n");         }         else if(ENABLE==G0_flag)         {                G0_flag=DISABLE;                LED=1;             switch(dat)              {                  case CODE_DMCS:                        PrintCom(""代码测试"命令识别成功\r\n");                                                     break;                    case CODE_KFBYZ:                        PrintCom(""开发板验证"命令识别成功\r\n");                                                     break;                    case CODE_KD:                        PrintCom(""开灯"命令识别成功\r\n");                                                    break;                    case CODE_GD:                        PrintCom(""关灯"命令识别成功\r\n");                                                    break;                    case CODE_BJ:                        PrintCom(""北京"命令识别成功\r\n");                                                    break;                    case CODE_SH:                        PrintCom(""上海"命令识别成功\r\n");                                                    break;                    case CODE_GZ:                        PrintCom(""广州"命令识别成功\r\n");                                                    break;                            default:PrintCom("请重新识别发口令\r\n"); break;                }            }            else            {                PrintCom("请说出一级口令\r\n");            }}
  • 用户可以根据自己的使用情况,在对应的识别码后面添加识别成功后的动作。然后,该设备将在某个句子之后执行相应的动作。实际上,该程序是对识别码进行判断和识别,然后执行相应的动作,属于单片机的程序应用处理部分。
    [En]

    users can add the action after successful identification after the corresponding identification code according to their own usage. Then the device will perform the corresponding action after a certain sentence. In fact, this program is to judge and identify the identification code and then perform the corresponding action, which belongs to the program application processing part of the single-chip microcomputer.*

Original: https://blog.csdn.net/weixin_49638344/article/details/119968519
Author: money的大雨
Title: YS-LDV7语音模块修改命令方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/526635/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球