图3.3 写入识别列表流程图
   (3)开始识别:
    设置几个相关的寄存器,就可以控制LD3320芯片开始语音识别。
    uint8 LD_AsrRun()
    {
      nAsrStatus=LD_ASR_RUNNING;
      ……
    }
    设置芯片当前状态为正在运行,该函数运行成功返回值1。
    在函数uint8 RunASR();中调用语音识别用初始化函数,并且如果写入识别列表和ASR运行均成功,返回asrflag=1。
   (4)响应中断:
    如果麦克风采集到声音,不管是否识别出正常结果,都会产生一个中断信号:
    void ExtInt0Handler(void) interrupt 0
    {
      nInt0Flag = 1;
    }
    void ProcessInt0()
    {
      ……
    }
    主函数中判断:
    if (nInt0Flag)
    {
      ProcessInt0();
      continue;
    }
    中断程序要根据寄存器的值分析结果。读取BA寄存器的值,可以知道有几个候选答案,LD_ReadReg(0xba)的值1-4说明有对应数量的正确识别结果,0或者大于4表示没有识别候选。而C5寄存器里存储的是得分最高、最可能正确的答案的编号。在目前的程序中,只读取了最优候选。在其他使用场合,如果需要其他候选,可以通过编程读取寄存器0xc7、0xc9、0xcb实现。
    uint8 LD_GetResult()
    {
      return LD_ReadReg(0xc5);
    }
    以下为中断响应的简单流程图:
 
图3.4 语音识别响应中断流程图
3.3.3  声音播放
    播放声音的操作顺序是:通用初始化→MP3播放用初始化→调节播放音量→开始播放声音,并准备好中断响应函数,打开中断允许位。
上一篇:HFSS双馈圆极化收发天线单元的研究
下一篇:无线电引信交会试验仿真分析

认知无线电网络中基于双...

基于TCP/IP技术的转向架振动测试系统设计

基于PM2.5浓度的健康出行路径规划及实现

基于涡旋电磁波的新型雷达成像技术研究

基于相关滤波器的长期跟踪算法研究

基于ZigBee协议轨道交通环...

基于QT的图像处理系统设计

辩护律师的作证义务和保...

谷度酒庄消费者回访调查问卷表

高校网球场馆运营管理初探【1805字】

多元化刑事简易程序构建探讨【9365字】

《醉青春》导演作品阐述

浅谈传统人文精神茬大學...

拉力采集上位机软件开发任务书

浅谈新形势下妇产科护理...

国内外无刷直流电动机研究现状

中国古代秘书擅权的发展和恶变