久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 13466|回復(fù): 7
收起左側(cè)

基于51單片機(jī)的LD3320的例程(口令模式+IO口控制程序)

  [復(fù)制鏈接]
ID:470616 發(fā)表于 2019-1-19 16:42 | 顯示全部樓層 |閱讀模式
1、本工程采用 KEIL4 版本建立

2、本工程為口令模式+IO口控制方式,每次識(shí)別都需要喊“小杰”然后才可以喊其他二級(jí)的口令,另外IO口的輸出可以查看程序PAx的端口利用情況

V0.7 語音識(shí)別程序:口令模式+IO口控制
本工程采用keil 4建立,如您打不開,可參考以下格式進(jìn)行工程建立。
0.png

單片機(jī)源程序如下:
  1. /***************************飛音云電子****************************
  2. **  工程名稱:YS-V0.7語音識(shí)別模塊驅(qū)動(dòng)程序
  3. **        CPU: STC11L08XE
  4. **        晶振:22.1184MHZ
  5. **        波特率:9600 bit/S
  6. **        配套產(chǎn)品信息:YS-V0.7語音識(shí)別開發(fā)板
  7. **  作者:zdings

  8. **  說明:口令模式+IO控制: 即每次識(shí)別時(shí)都需要說“小杰”這個(gè)口令 ,才能夠進(jìn)行下一級(jí)的識(shí)別
  9. /***************************飛音云電子******************************/
  10. #include "config.h"
  11. /************************************************************************************/
  12. //        nAsrStatus 用來在main主程序中表示程序運(yùn)行的狀態(tài),不是LD3320芯片內(nèi)部的狀態(tài)寄存器
  13. //        LD_ASR_NONE:                表示沒有在作ASR識(shí)別
  14. //        LD_ASR_RUNING:                表示LD3320正在作ASR識(shí)別中
  15. //        LD_ASR_FOUNDOK:                表示一次識(shí)別流程結(jié)束后,有一個(gè)識(shí)別結(jié)果
  16. //        LD_ASR_FOUNDZERO:        表示一次識(shí)別流程結(jié)束后,沒有識(shí)別結(jié)果
  17. //        LD_ASR_ERROR:                表示一次識(shí)別流程中LD3320芯片內(nèi)部出現(xiàn)不正確的狀態(tài)
  18. /***********************************************************************************/
  19. uint8 idata nAsrStatus=0;       
  20. void MCU_init();
  21. void ProcessInt0(); //識(shí)別處理函數(shù)
  22. void  delay(unsigned long uldata);
  23. void         User_handle(uint8 dat);//用戶執(zhí)行操作函數(shù)
  24. void Led_test(void);//單片機(jī)工作指示
  25. void Delay200ms();
  26. uint8_t G0_flag=DISABLE;//運(yùn)行標(biāo)志,ENABLE:運(yùn)行。DISABLE:禁止運(yùn)行
  27. sbit LED=P4^2;//信號(hào)指示燈
  28. //應(yīng)用IO口定義 (模塊標(biāo)注 P2)
  29. sbit PA1=P4^1; //對(duì)應(yīng)板上標(biāo)號(hào) P4.1
  30. sbit PA2=P2^7;  //對(duì)應(yīng)板上標(biāo)號(hào) P2.7
  31. sbit PA3=P2^6;  //.....
  32. sbit PA4=P2^5;  //.....
  33. sbit PA5=P2^4;  //.....
  34. sbit PA6=P2^3;  //.....
  35. sbit PA7=P3^3;  //對(duì)應(yīng)板上標(biāo)號(hào) IT1
  36. sbit PA8=P3^4;  //對(duì)應(yīng)板上標(biāo)號(hào) T0


  37. /***********************************************************
  38. * 名    稱: void  main(void)
  39. * 功    能: 主函數(shù)        程序入口
  40. * 入口參數(shù):  
  41. * 出口參數(shù):
  42. * 說    明:                                          
  43. * 調(diào)用方法:
  44. **********************************************************/
  45. void  main(void)
  46. {
  47.         uint8 idata nAsrRes;
  48.         uint8 i=0;
  49.         Led_test();
  50.         MCU_init();
  51.         LD_Reset();
  52.         UartIni(); /*串口初始化*/
  53.         nAsrStatus = LD_ASR_NONE;                //        初始狀態(tài):沒有在作ASR
  54.        
  55.         #ifdef TEST       
  56.     PrintCom("一級(jí)口令:小杰\r\n"); /*text.....*/
  57.         PrintCom("二級(jí)口令:1、代碼測(cè)試\r\n"); /*text.....*/
  58.         PrintCom("        2、開發(fā)板驗(yàn)證\r\n"); /*text.....*/
  59.         PrintCom("        3、開燈\r\n"); /*text.....*/
  60.         PrintCom("        4、關(guān)燈\r\n"); /*text.....*/
  61.         PrintCom("  5、北京\r\n"); /*text.....*/
  62.         PrintCom("        6、上海\r\n"); /*text.....*/
  63.         PrintCom("        7、廣州\r\n"); /*text.....*/
  64.         #endif

  65.         while(1)
  66.         {
  67.                 switch(nAsrStatus)
  68.                 {
  69.                         case LD_ASR_RUNING:
  70.                         case LD_ASR_ERROR:               
  71.                                 break;
  72.                         case LD_ASR_NONE:
  73.                         {
  74.                                 nAsrStatus=LD_ASR_RUNING;
  75.                                 if (RunASR()==0)        /*        啟動(dòng)一次ASR識(shí)別流程:ASR初始化,ASR添加關(guān)鍵詞語,啟動(dòng)ASR運(yùn)算*/
  76.                                 {
  77.                                         nAsrStatus = LD_ASR_ERROR;
  78.                                 }
  79.                                 break;
  80.                         }
  81.                         case LD_ASR_FOUNDOK: /*        一次ASR識(shí)別流程結(jié)束,去取ASR識(shí)別結(jié)果*/
  82.                         {                               
  83.                                 nAsrRes = LD_GetResult();                /*獲取結(jié)果*/
  84.                                 User_handle(nAsrRes);//用戶執(zhí)行函數(shù)
  85.                                 nAsrStatus = LD_ASR_NONE;
  86.                                 break;
  87.                         }
  88.                         case LD_ASR_FOUNDZERO:
  89.                         default:
  90.                         {
  91.                                 nAsrStatus = LD_ASR_NONE;
  92.                                 break;
  93.                         }
  94.                 }// switch                                
  95.         }// while

  96. }
  97. /***********************************************************
  98. * 名    稱:          LED燈測(cè)試
  99. * 功    能: 單片機(jī)是否工作指示
  100. * 入口參數(shù): 無
  101. * 出口參數(shù):無
  102. * 說    明:                                          
  103. **********************************************************/
  104. void Led_test(void)
  105. {
  106.         LED=~ LED;
  107.         Delay200ms();
  108.         LED=~ LED;
  109.         Delay200ms();
  110.         LED=~ LED;
  111.         Delay200ms();
  112.         LED=~ LED;
  113.         Delay200ms();
  114.         LED=~ LED;
  115.         Delay200ms();
  116.         LED=~ LED;
  117. }
  118. /***********************************************************
  119. * 名    稱: void MCU_init()
  120. * 功    能: 單片機(jī)初始化
  121. * 入口參數(shù):  
  122. * 出口參數(shù):
  123. * 說    明:                                          
  124. * 調(diào)用方法:
  125. **********************************************************/
  126. void MCU_init()
  127. {
  128.         P0 = 0xff;
  129.         P1 = 0xff;
  130.         P2 = 0xff;
  131.         P3 = 0xff;
  132.         P4 = 0xff;
  133.         LD_MODE = 0;                //        設(shè)置MD管腳為低,并行模式讀寫
  134.         IE0=1;
  135.         EX0=1;
  136.         EA=1;
  137. }
  138. /***********************************************************
  139. * 名    稱:        延時(shí)函數(shù)
  140. * 功    能:
  141. * 入口參數(shù):  
  142. * 出口參數(shù):
  143. * 說    明:                                          
  144. * 調(diào)用方法:
  145. **********************************************************/
  146. void Delay200us()                //@22.1184MHz
  147. {
  148.         unsigned char i, j;
  149.         _nop_();
  150.         _nop_();
  151.         i = 5;
  152.         j = 73;
  153.         do
  154.         {
  155.                 while (--j);
  156.         } while (--i);
  157. }

  158. void  delay(unsigned long uldata)
  159. {
  160.         unsigned int j  =  0;
  161.         unsigned int g  =  0;
  162.         while(uldata--)
  163.         Delay200us();
  164. }

  165. void Delay200ms()                //@22.1184MHz
  166. {
  167.         unsigned char i, j, k;

  168.         i = 17;
  169.         j = 208;
  170.         k = 27;
  171.         do
  172.         {
  173.                 do
  174.                 {
  175.                         while (--k);
  176.                 } while (--j);
  177.         } while (--i);
  178. }

  179. /***********************************************************
  180. * 名    稱: 中斷處理函數(shù)
  181. * 功    能:
  182. * 入口參數(shù):  
  183. * 出口參數(shù):
  184. * 說    明:                                          
  185. * 調(diào)用方法:
  186. **********************************************************/
  187. void ExtInt0Handler(void) interrupt 0  
  188. {        
  189.         ProcessInt0();                                /*        LD3320 送出中斷信號(hào),包括ASR和播放MP3的中斷,需要在中斷處理函數(shù)中分別處理*/
  190. }
  191. /***********************************************************
  192. * 名    稱:用戶執(zhí)行函數(shù)
  193. * 功    能:識(shí)別成功后,執(zhí)行動(dòng)作可在此進(jìn)行修改
  194. * 入口參數(shù): 無
  195. * 出口參數(shù):無
  196. * 說    明: 通過控制PAx端口的高低電平,從而控制外部繼電器的通斷                                         
  197. **********************************************************/
  198. void         User_handle(uint8 dat)
  199. {
  200.      //UARTSendByte(dat);//串口識(shí)別碼(十六進(jìn)制)
  201.                  if(0==dat)
  202.                  {
  203.                           G0_flag=ENABLE;
  204.                                 LED=0;
  205.                  }
  206.                  else if(ENABLE==G0_flag)
  207.                  {       
  208.                                  G0_flag=DISABLE;
  209.                                 LED=1;
  210.                          switch(dat)                   /*對(duì)結(jié)果執(zhí)行相關(guān)操作,客戶修改*/
  211.                           {
  212.                                   case CODE_DMCS:                        /*命令“測(cè)試”*/
  213.                                                 PrintCom("“代碼測(cè)試”命令識(shí)別成功\r\n"); //串口輸出提示信息(可刪除)
  214.                                                 PA1=0;//讓PA1端口為低電平
  215.                                                                                                          break;
  216.                                         case CODE_KFBYZ:         /*命令“全開”*/
  217.                                                 PrintCom("“開發(fā)板驗(yàn)證”命令識(shí)別成功\r\n");//串口輸出提示信息(可刪除)
  218.                                                 PA2=0;//讓PA2端口為低電平
  219.                                                                                                          break;
  220.                                         case CODE_KD:                /*命令“復(fù)位”*/                               
  221.                                                 PrintCom("“開燈”命令識(shí)別成功\r\n"); //串口輸出提示信息(可刪除)
  222.                                                 PA3=0;//讓PA3端口為低電平
  223.                                                                                                         break;
  224.                                         case CODE_GD:                /*命令“復(fù)位”*/                               
  225.                                                 PrintCom("“關(guān)燈”命令識(shí)別成功\r\n"); //串口輸出提示信息(可刪除)
  226.                                                 PA3=1;//讓PA3端口為高電平
  227.                                                                                                         break;
  228.                                         case CODE_BJ:                /*命令“復(fù)位”*/                               
  229.                                                 PrintCom("“北京”命令識(shí)別成功\r\n"); //串口輸出提示信息(可刪除)
  230.                                                 PA4=0;//讓PA4端口為低電平
  231.                                                                                                         break;
  232.                                         case CODE_SH:                /*命令“復(fù)位”*/                               
  233.                                                 PrintCom("“上海”命令識(shí)別成功\r\n"); //串口輸出提示信息(可刪除)
  234.                                                 PA5=0;//讓PA5端口為低電平
  235.                                                                                                         break;
  236.                                         case CODE_GZ:                /*命令“復(fù)位”*/                               
  237.                                                 PrintCom("“廣州”命令識(shí)別成功\r\n"); //串口輸出提示信息(可刪除)
  238.                                                 PA6=0;//讓PA6端口為低電平
  239.                                                                                                         break;                                                                                                                                                                                                                       
  240.                                                         default:PrintCom("請(qǐng)重新識(shí)別發(fā)口令\r\n"); //串口輸出提示信息(可刪除)
  241.                                                                                                         break;
  242.                                 }       
  243.                         }       
  244.                         else        
  245.                         {
  246.                                 PrintCom("請(qǐng)說出一級(jí)口令\r\n"); //串口輸出提示信息(可刪除)       
  247.                         }
  248. }         
復(fù)制代碼
  1. /***************************飛音云電子****************************
  2. **  工程名稱:YS-V0.7語音識(shí)別模塊驅(qū)動(dòng)程序
  3. **        CPU: STC11L08XE
  4. **        晶振:22.1184MHZ
  5. **        波特率:9600 bit/S
  6. **        配套產(chǎn)品信息:YS-V0.7語音識(shí)別開發(fā)板
  7. **  說明:口令模式: 即每次識(shí)別時(shí)都需要說“小杰”這個(gè)口令 ,才能夠進(jìn)行下一級(jí)的識(shí)別
  8. /***************************飛音云電子******************************/
  9. #include "config.h"

  10. extern void  delay(unsigned long uldata);

  11. uint8 idata ucRegVal;
  12. extern uint8 idata nAsrStatus;

  13. void ProcessInt0(void);

  14. /************************************************************************
  15. 功能描述:          復(fù)位LD模塊
  16. 入口參數(shù):         none
  17. 返 回 值:          none
  18. 其他說明:         none
  19. **************************************************************************/
  20. void LD_Reset()
  21. {
  22.         RSTB=1;
  23.         delay(1);
  24.         RSTB=0;
  25.         delay(1);
  26.         RSTB=1;

  27.         delay(1);
  28.         CSB=0;
  29.         delay(1);
  30.         CSB=1;
  31.         delay(1);
  32. }
  33. /************************************************************************
  34. 功能描述: LD模塊命令初始化
  35. 入口參數(shù): none
  36. 返 回 值: none
  37. 其他說明: 該函數(shù)為出廠配置,一般不需要修改;
  38.                                          有興趣的客戶可對(duì)照開發(fā)手冊(cè)根據(jù)需要自行修改。
  39. **************************************************************************/
  40. void LD_Init_Common()
  41. {
  42.         LD_ReadReg(0x06);  
  43.         LD_WriteReg(0x17, 0x35);
  44.         delay(10);
  45.         LD_ReadReg(0x06);  

  46.         LD_WriteReg(0x89, 0x03);  
  47.         delay(5);
  48.         LD_WriteReg(0xCF, 0x43);   
  49.         delay(5);
  50.         LD_WriteReg(0xCB, 0x02);
  51.        
  52.         /*PLL setting*/
  53.         LD_WriteReg(0x11, LD_PLL_11);      

  54.         LD_WriteReg(0x1E,0x00);
  55.         LD_WriteReg(0x19, LD_PLL_ASR_19);
  56.         LD_WriteReg(0x1B, LD_PLL_ASR_1B);               
  57.   LD_WriteReg(0x1D, LD_PLL_ASR_1D);
  58.         delay(10);
  59.        
  60.     LD_WriteReg(0xCD, 0x04);
  61. //        LD_WriteReg(0x17, 0x4c);
  62.         delay(5);
  63.         LD_WriteReg(0xB9, 0x00);
  64.         LD_WriteReg(0xCF, 0x4F);
  65.         LD_WriteReg(0x6F, 0xFF);
  66. }

  67. /************************************************************************
  68. 功能描述:          LD模塊 ASR功能初始化
  69. 入口參數(shù):         none
  70. 返 回 值:          none
  71. 其他說明:         該函數(shù)為出廠配置,一般不需要修改;
  72.                                          有興趣的客戶可對(duì)照開發(fā)手冊(cè)根據(jù)需要自行修改。
  73. **************************************************************************/
  74. void LD_Init_ASR()
  75. {
  76.         LD_Init_Common();
  77.         LD_WriteReg(0xBD, 0x00);
  78.         LD_WriteReg(0x17, 0x48);
  79.         delay( 10 );
  80.         LD_WriteReg(0x3C, 0x80);   
  81.         LD_WriteReg(0x3E, 0x07);
  82.         LD_WriteReg(0x38, 0xff);   
  83.         LD_WriteReg(0x3A, 0x07);
  84.   LD_WriteReg(0x40, 0);         
  85.         LD_WriteReg(0x42, 8);
  86.         LD_WriteReg(0x44, 0);   
  87.         LD_WriteReg(0x46, 8);
  88.         delay( 1 );
  89. }

  90. /************************************************************************
  91. 功能描述:         中斷處理函數(shù)
  92. 入口參數(shù):         none
  93. 返 回 值:          none
  94. 其他說明:        當(dāng)LD模塊接收到音頻信號(hào)時(shí),將進(jìn)入該函數(shù),
  95.                                                 判斷識(shí)別是否有結(jié)果,如果沒有從新配置寄
  96.             存器準(zhǔn)備下一次的識(shí)別。
  97. **************************************************************************/
  98. void ProcessInt0(void)
  99. {
  100.         uint8 nAsrResCount=0;

  101.         EX0=0;
  102.         ucRegVal = LD_ReadReg(0x2B);
  103.         LD_WriteReg(0x29,0) ;
  104.         LD_WriteReg(0x02,0) ;
  105.         if((ucRegVal & 0x10) &&
  106.                 LD_ReadReg(0xb2)==0x21 &&
  107.                 LD_ReadReg(0xbf)==0x35)                        /*識(shí)別成功*/
  108.         {       
  109.                 nAsrResCount = LD_ReadReg(0xba);
  110.                 if(nAsrResCount>0 && nAsrResCount<=4)
  111.                 {
  112.                         nAsrStatus=LD_ASR_FOUNDOK;
  113.                 }
  114.                 else
  115.             {
  116.                         nAsrStatus=LD_ASR_FOUNDZERO;
  117.                 }       
  118.         }                                                                                                                         /*沒有識(shí)別結(jié)果*/
  119.         else
  120.         {         
  121.                 nAsrStatus=LD_ASR_FOUNDZERO;
  122.         }
  123.                
  124.   LD_WriteReg(0x2b, 0);
  125.   LD_WriteReg(0x1C,0);/*寫0:ADC不可用*/

  126.         LD_WriteReg(0x29,0) ;
  127.         LD_WriteReg(0x02,0) ;
  128.         LD_WriteReg(0x2B,  0);
  129.         LD_WriteReg(0xBA, 0);       
  130.         LD_WriteReg(0xBC,0);       
  131.         LD_WriteReg(0x08,1);         /*清除FIFO_DATA*/
  132.         LD_WriteReg(0x08,0);        /*清除FIFO_DATA后 再次寫0*/


  133.         EX0=1;
  134. }

  135. /************************************************************************
  136. 功能描述:         運(yùn)行ASR識(shí)別流程
  137. 入口參數(shù):        none
  138. 返 回 值:  asrflag:1->啟動(dòng)成功, 0—>啟動(dòng)失敗
  139. 其他說明:        識(shí)別順序如下:
  140.                                                 1、RunASR()函數(shù)實(shí)現(xiàn)了一次完整的ASR語音識(shí)別流程
  141.                                                 2、LD_AsrStart() 函數(shù)實(shí)現(xiàn)了ASR初始化
  142.                                                 3、LD_AsrAddFixed() 函數(shù)實(shí)現(xiàn)了添加關(guān)鍵詞語到LD3320芯片中
  143.                                                 4、LD_AsrRun()        函數(shù)啟動(dòng)了一次ASR語音識(shí)別流程                                       
  144.                                                 任何一次ASR識(shí)別流程,都需要按照這個(gè)順序,從初始化開始
  145. **************************************************************************/
  146. uint8 RunASR(void)
  147. {
  148.         uint8 i=0;
  149.         uint8 asrflag=0;
  150.         for (i=0; i<5; i++)                        //        防止由于硬件原因?qū)е翷D3320芯片工作不正常,所以一共嘗試5次啟動(dòng)ASR識(shí)別流程
  151.         {
  152.                 LD_AsrStart();
  153.                 delay(50);
  154.                 if (LD_AsrAddFixed()==0)
  155.                 {
  156.                         LD_Reset();                        //        LD3320芯片內(nèi)部出現(xiàn)不正常,立即重啟LD3320芯片
  157.                         delay(50);                        //        并從初始化開始重新ASR識(shí)別流程
  158.                         continue;
  159.                 }
  160.                 delay(10);
  161.                 if (LD_AsrRun() == 0)
  162.                 {
  163.                         LD_Reset();                        //        LD3320芯片內(nèi)部出現(xiàn)不正常,立即重啟LD3320芯片
  164.                         delay(50);                        //        并從初始化開始重新ASR識(shí)別流程
  165.                         continue;
  166.                 }
  167.                 asrflag=1;
  168.                 break;                                        //        ASR流程啟動(dòng)成功,退出當(dāng)前for循環(huán)。開始等待LD3320送出的中斷信號(hào)
  169.         }

  170.         return asrflag;
  171. }
  172. /************************************************************************
  173. 功能描述:  檢測(cè)LD模塊是否空閑
  174. 入口參數(shù):        none
  175. 返 回 值:         flag:1-> 空閑
  176. 其他說明:        none
  177. **************************************************************************/
  178. uint8 LD_Check_ASRBusyFlag_b2()
  179. {
  180.         uint8 j;
  181.         uint8 flag = 0;
  182.         for (j=0; j<10; j++)
  183.         {
  184.                 if (LD_ReadReg(0xb2) == 0x21)
  185.                 {
  186.                         flag = 1;
  187.                         break;
  188.                 }
  189.                 delay(10);               
  190.         }
  191.         return flag;
  192. }
  193. /************************************************************************
  194. 功能描述:         啟動(dòng)ASR
  195. 入口參數(shù):        none
  196. 返 回 值:         none
  197. 其他說明:        none
  198. **************************************************************************/
  199. void LD_AsrStart()
  200. {
  201.         LD_Init_ASR();
  202. }
  203. /************************************************************************
  204. 功能描述:         運(yùn)行ASR
  205. 入口參數(shù):        none
  206. 返 回 值:         1:?jiǎn)?dòng)成功
  207. 其他說明:        none
  208. **************************************************************************/
  209. uint8 LD_AsrRun()
  210. {
  211.         EX0=0;
  212.         LD_WriteReg(0x35, MIC_VOL);
  213.         LD_WriteReg(0x1C, 0x09);
  214.         LD_WriteReg(0xBD, 0x20);
  215.         LD_WriteReg(0x08, 0x01);
  216.         delay( 1 );
  217.         LD_WriteReg(0x08, 0x00);
  218.         delay( 1 );

  219.         if(LD_Check_ASRBusyFlag_b2() == 0)
  220.         {
  221.                 return 0;
  222.         }
  223. //        LD_WriteReg(0xB6, 0xa); //識(shí)別時(shí)間         1S
  224. //        LD_WriteReg(0xB5, 0x1E); //背景音段時(shí)間 300ms
  225. //        LD_WriteReg(0xB8, 10); //結(jié)束時(shí)間

  226. //        LD_WriteReg(0x1C, 0x07); //配置雙通道音頻信號(hào)做為輸入信號(hào)
  227.         LD_WriteReg(0x1C, 0x0b); //配置麥克風(fēng)做為輸入信號(hào)


  228.         LD_WriteReg(0xB2, 0xff);
  229.         delay( 1);       
  230.         LD_WriteReg(0x37, 0x06);
  231.         delay( 1 );
  232.     LD_WriteReg(0x37, 0x06);
  233.                 delay( 5 );
  234.         LD_WriteReg(0x29, 0x10);
  235.        
  236.         LD_WriteReg(0xBD, 0x00);
  237.         EX0=1;
  238.         return 1;
  239. }
  240. /************************************************************************
  241. 功能描述: 向LD模塊添加關(guān)鍵詞
  242. 入口參數(shù): none
  243. 返 回 值: flag:1->添加成功
  244. 其他說明: 用戶修改.
  245.                                          1、根據(jù)如下格式添加拼音關(guān)鍵詞,同時(shí)注意修改sRecog 和pCode 數(shù)組的長(zhǎng)度
  246.                                          和對(duì)應(yīng)變了k的循環(huán)置。拼音串和識(shí)別碼是一一對(duì)應(yīng)的。
  247.                                          2、開發(fā)者可以學(xué)習(xí)"語音識(shí)別芯片LD3320高階秘籍.pdf"中
  248.            關(guān)于垃圾詞語吸收錯(cuò)誤的用法,來提供識(shí)別效果。
  249.                                          3、”xiao jie “ 為口令,故在每次識(shí)別時(shí),必須先發(fā)一級(jí)口令“小捷”
  250. **************************************************************************/
  251. uint8 LD_AsrAddFixed()
  252. {
  253.         uint8 k, flag;
  254.         uint8 nAsrAddLength;
  255.         #define DATE_A 8   /*數(shù)組二維數(shù)值*/
  256.         #define DATE_B 20                /*數(shù)組一維數(shù)值*/
  257.         uint8 code sRecog[DATE_A][DATE_B] = {
  258.                                                                                                                                                                 "xiao jie",\               
  259.                                                                                                                                                                 "kai fa ban yan zheng",\
  260.                                                                                                                                                                  "dai ma ce shi",\
  261.                                                                                                                                                                  "kai deng",\
  262.                                                                                                                                                                  "guan deng",\
  263.                                                                                                                                                                  "bei jing",\
  264.                                                                                                                                                                  "shang hai",\
  265.                                                                                                                                                                  "guang zhou"
  266.                                                                                                                                                         };        /*添加關(guān)鍵詞,用戶修改*/
  267.         uint8 code pCode[DATE_A] = {
  268.                                                                                                                         CODE_CMD,\
  269.                                                                                                                         CODE_KFBYZ,\
  270.                                                                                                                         CODE_DMCS,\
  271.                                                                                                                         CODE_KD,\
  272.                                                                                                                         CODE_GD,\
  273.                                                                                                                         CODE_BJ,\
  274.                                                                                                                         CODE_SH,\
  275.                                                                                                                         CODE_GZ
  276.                                                                                                                  };        /*添加識(shí)別碼,用戶修改*/       
  277.         flag = 1;
  278.         for (k=0; k<DATE_A; k++)
  279. ……………………

  280. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
V0.7 語音識(shí)別程序:口令模式 IO口控制.rar (151.14 KB, 下載次數(shù): 150)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:517770 發(fā)表于 2019-4-21 14:10 | 顯示全部樓層
非常好!!
回復(fù)

使用道具 舉報(bào)

ID:642991 發(fā)表于 2019-11-16 08:28 | 顯示全部樓層
what particular LD3320 development did you use?
回復(fù)

使用道具 舉報(bào)

ID:562150 發(fā)表于 2019-11-18 12:31 來自觸屏版 | 顯示全部樓層
51可以識(shí)別IO口不同的電平從而切換功能嗎,謝謝
回復(fù)

使用道具 舉報(bào)

ID:649351 發(fā)表于 2019-11-26 20:47 | 顯示全部樓層
請(qǐng)問下您這里一二級(jí)口令之間的銜接是怎么處理的呢?
回復(fù)

使用道具 舉報(bào)

ID:638594 發(fā)表于 2020-1-24 17:25 | 顯示全部樓層
我想問一下各位,為什么我顯示不出任何反應(yīng)呢,開機(jī)的時(shí)候閃燈幾下后,就一切不動(dòng),一級(jí)口令也呼喚了無數(shù)句,就差念經(jīng)給他聽了,還是識(shí)別不了,給大家看看我按程序接的線,電源,地線,CS,MO,RET。
就一共5根。請(qǐng)各位指教指教

d4e64e76a2705341fc48501a0c08dc1.jpg
回復(fù)

使用道具 舉報(bào)

ID:869923 發(fā)表于 2020-12-29 01:57 | 顯示全部樓層
請(qǐng)問樓主,成功了么,我的也是沒反應(yīng)
回復(fù)

使用道具 舉報(bào)

ID:800086 發(fā)表于 2020-12-29 08:57 | 顯示全部樓層
之前我也做過,對(duì)環(huán)境要求高,語音識(shí)別低。可以學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品伊人 | 亚州影院 | 草久网 | 欧美综合久久 | av性色全交蜜桃成熟时 | 精品视频网 | 视频一区二区中文字幕日韩 | 免费在线观看一级毛片 | 亚洲精久 | 三级在线免费 | 日韩欧美一区在线 | 国产欧美一区二区三区免费 | 国产精品69av | 嫩草视频免费 | 黄色大片在线视频 | 一级黄片一级毛片 | 精品欧美一区二区在线观看欧美熟 | 婷婷精品| 日韩一区精品 | 成人免费视频一区二区 | 男女精品网站 | 日韩网站在线观看 | 成人免费毛片在线观看 | 99久久精品视频免费 | 亚洲综合大片69999 | 成人国内精品久久久久一区 | 波多野结衣二区 | 欧美精品在线免费 | 亚洲成a人片 | 国产美女视频一区 | 欧美在线激情 | 日本不卡高字幕在线2019 | 亚洲成人一区二区三区 | 中文字幕加勒比 | 国产一区二区三区四区 | av中文字幕在线播放 | 9久9久| 日韩a| 超碰日本 | 99在线免费观看视频 | 亚洲精品国产成人 |