欢迎来到学术参考网

单片机语音处理技术应用

发布时间:2015-10-09 09:23

摘 要:语音处理技术是现代多媒体技术研究的核心内容之一。单片机语音处理技术越来越广泛地应用于各种过程控制与移动场合,本文凌阳SPCE061A单片机为例,在单片机的音频处理的基础上,探讨了单片机语音处理技术。

关键词:多媒体技术;单片机;语音处理
  多媒体技术是现代计算机应用技术中极其活跃的一门新兴技术,音像处理是多媒体技术的核心研究对象,语音处理是声音处理技术中极为重要的实用技术。语音处理技术的基础是语音学和数字信号处理,它包括语音分析技术、语音存储技术、语音识别技术和语音合成(重现)技术。本文以凌阳SPCE061A为例,对单片机语音处理技术方面的原理与应用进行了探讨。
  1.音频处理
  计算机处理音频主要采用几项技术:采样与量化技术、音频保存技术、音频压缩编码技术、音频重现与辨识技术。采样与量化是将自然界中声音按一定要求
采集到计算机中,是声音处理技术的基础。可听音频的频率在20Hz~20kHz范围内,语音的频率一般在60Hz~500Hz范围内。音频可分为波形声音、语音和音乐三种。与任何声音一样,语音也表现为波形声音,但波形声音表示不出语言、语音的内涵。语音是对讲话声音的一次抽象,是语言的载体,是人类社会特有的一种信息系统。音乐是特殊的声音,是声音的一个微弱子集,是规范化符号化了的声音。但音乐不能对所有的声音进行符号化。乐谱是符号化声音的符号组,不同的组合表示比单个号更复杂的声音信息。计算机处理音频时首先要将模拟的(连续的)声音波形数字化(离散化),这要通过A/D转换器来实现,转换后的音频称为数字音频,它的质量取决于A/D转换器的转换速率和分辨率,速率越高表征单位时间内采集到的数据越多,分辨率越高表征采集到的数据精度越高,所以音频处理中对音频的采样频率和量化位数是两个重要参数。
  一般的语音处理系统硬件结构如图1所示。

                          图1 语音处理系统
  采集到的音频信号由音频文件保存。音频文件分为两类:声音文件和MIDI文件。
  2.单片机语音处理技术
  单片机语音处理方面,通常解决的方案采用两个途径:一是对单片机本身进行扩展设计,将语音处理功能模块直接置于单片机内;二是借助于专门的语音处理芯片扩展单片机的功能。由于专门的语音处理芯片系列较多且功能单一,实现一个完整的系统需要增加很多的外围器件,因而在使用上不很方便,所以比较这两种方案,第一种具有明显的优势,但作为通用处理器而言,这种方案是不妥当的。
  专为语音识别和语音处理应用领域设计的芯片需有一颗高速DSP核心处理器承担控制和运算任务,还需适量的片内集成ROM/RAM存储器用来存储应用程序、驱动程序、各种数据和语音识别、语音压缩算法及算法所用常数表等,这增大了芯片设计与制造的成本。由于单片机语音处理芯片在片内集成的ROM/RAM存储器不可能很大,因此单片机不适合用于大规模语音处理系统。
  
                图2  单片机语音处理模块的基本要求和架构
  3.凌阳SPCE061A单片机语音处理技术
  3.1凌阳SPCE061A单片机
  凌阳SPCE061A是一款16位μ’nSP结构的微控制器。该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。凌阳SPCE061A单片机设计先进,特点突出,易学易用,体现了现代微控制器工业发展的新趋势。
  3.2凌阳SPCE061A单片机语音处理的实现
  凌阳SPCE061A将语音处理相关各功能做成函数模块,通过API调用来实现。这些函数分为两类:用于音频资料播放的凌阳音频编码(SACM)类和用于辨识语音的语音识别(BSR)类。
  对输入生成的WAVE文件按不同的压缩算法压缩成SACM_A2000或SACM_S480等相应语音资料后,就可利用SACM-LIB库对这些资料进行处理。该库将A/D、编码、解码、存储及D/A做成相应的模块,每个模块都有其应用程序接口API函数,调用对应函数即可实现各自功能。
  如针对特定人语音辨识,SACM-LIB库中提供了包括C语言和汇编语言两种格式定义的API函数,常用语音辨识API函数有:
  (1)SRAM初始化函数int BSR-DeleteSD-Group(int)
  (2)训练函数int BSR-Train(int CommandID,int TrainMode)
  (3)识别初始化函数int BSR-InitRecognizer(int AudioSource)
  (4)获取识别结果函数int BSR-GetResult(void)
  (5)停止识别函数void BSR-StopRecognizer(void)
  (6)识别中断程序-BSR-FIQ-Routine
  配合语音压缩及播放的相关API函数,即可构成一个完整的语音应用系统。
  3.3凌阳SPCE061A单片机语音处理的案例
  我们通过三条语句的训练完成特定人连续音识别,其中第一条语句作为触发,另外两条语句作为具体完成的动作命令,训练完毕开始辨识。当识别出触发指令后,提示发布动作命令,即可听到自己设置的应答。
  算法如下:
  (1)训练部分
   提示音         输入语音
  “请给我起个名字吧”      “小强”
  “请输入第一条动作指令”  “唱首歌吧”
  “请输入第二条动作指令”  “跳个舞吧”
  “请再说一遍”(以上提示音每说完一遍出现此命令)
  “没有听到任何声音”(当没有检测到声音时出现此命令)
  “两次输入名称不相同”(当两次输入的名称不同时出现此命令)
  “两次输入命令不相同”(当两次输入的命令有差异时出现此命令)
  “准备就绪,开始辨识”(以上三条语句全部训练成功时,进入识别)

                图3  主程序流程
    (2)识别部分
   发布动作命令     应答
    “小强”           “到”
  “唱首歌吧”        开始唱歌
  “跳个舞吧”       开始跳舞
  (3)主程序流程图见图3。
  4.结语
  语音处理技术对下一代多模式交互人机界面设计技术有重要影响,随着消费类电子产品中对于高性能、高稳定性的语音接口需求的快速增加,单片机及嵌入式语音处理技术在快速发展。然而, 语音处理技术解决方案目前还普遍存在一些问题,随着软硬件技术的进一步研究,这些问题一定会在不久的将来得到合理解决,语音处理技术将为计算机的深入应用带来更加广阔的空间。  
  参考文献:
  [1]张震宇、王华:基于凌阳单片机的语音识别技术及应用,微计算机信息,2007年第23期
  [2]闫忠文等:单片机语音处理系统的研制,河北科技师范学院学报?,2004年第04期

上一篇:关于计算机应用软件课程教学的探讨

下一篇:基于c#.net的PDM图档子系统的关键技术研究