当前位置:   article > 正文

c语言16个键16个音功能,C语言应用篇 第5章语音处理应用介绍 56 语音识别

语音识别 c语言

SunplusSPCE061A微控制器 语音识别 语音识别 一 语音识别概述二 特定人语音识别程序示例三 其他特定人识别函数四 小结和注意事项五 疑难解答 一 语音识别概述 语音识别概述 根据对说话人的依赖程度 分为 特定人语音识别 SD 只能辨认特定使用者的语音 训练 使用非特定人语音识别 SI 可辨认任何人的语音 无须训练根据对说话方式的要求 分为 孤立词识别每次只能识别单个词汇连续语音识别用者以正常语速说话 即可识别其中的语句 语音识别原理 SPCE061A实现语音识别 硬件条件专用MIC接口 用于实现语音录制16位定时器 计数器用于控制采样频率最高49MHz时钟频率 内置硬件乘法器和内积运算 保证识别算法的运行软件条件提供语音识别函数库 只需几条语句即可实现语音识别功能 特定人语音识别函数库 SPCE061A的语音识别函数库特定人连续语音识别包含特定人语音训练 识别 语音特征模型的导入 导出函数等 可支持每组7条语音命令的识别在IDE安装目录的Example IntExa ex9 Recognise文件夹下可以找到函数库bsrv222SDL lib 二 特定人语音识别程序示例 特定人语音识别程序流程 特定人语音识别程序示例 特定人语音识别程序示例 新建工程复制语音识别 语音播放需要的支持文件到工程所在文件夹 语音识别函数库bsrv222SDL lib语音识别头文件bsrSD inc bsrSD h语音播放支持文件Sacmv26e lib Hardware asm Hardware inc 特定人语音识别程序示例 用PC录制下列提示语音 也可自定义提示语音 注意保存文件名不要包含中文 请输入第一条命令 请输入第二条命令 请再说一遍 没有听到任何声音 两次输入不相同 环境噪声太大 训练成功 开始识别 识别成功 第一条命令 识别成功 第二条命令 特定人语音识别程序示例 利用凌阳语音压缩工具 CompressTool 将录好的语音压缩成S480格式 把压缩后的语音资源文件复制到工程所在文件夹下 特定人语音识别程序示例 将上述文件添加到工程中Project AddtoProject FilesbsrSD inc bsrSD h Hardware asm Hardware incProject AddtoProject Resource9个S480格式语音资源文件Project Setting Linkbsrv222SDL libSacmv26e lib 特定人语音识别程序示例 在工程中新建C程序文件 编写语音播放函数PlaySnd 特定人语音识别程序示例 编写 训练 函数TrainWord 特定人语音识别程序示例 编写主函数main 特定人语音识别程序示例 编写中断服务程序 特定人语音识别程序示例 添加语音资源索引表在Resource asm的结尾添加T SACM S480 SpeechTable 特定人语音识别程序示例 编译连接 下载运行按F7键或 Build 按钮 编译连接 确认选择了 USEICE 按F5键或 ExecuteProgram 按钮 下载并运行 特定人语音识别程序示例 程序测试听到提示 请输入第一条命令 后 说出一句语音命令 如果输入成功 会提示 请再说一遍 重复刚才的语音命令 如果由于某种原因导致输入失败 会提示 没有听到任何声音 环境噪声太大 如果两次训练的语音差别过大 会提示 两次输入不相同 第一条命令训练成功后 用同样的办法训练第二条语音命令 特定人语音识别程序示例 程序测试两条命令都训练完成后 就可以开始识别了如果识别出第一条语音命令 则提示 识别成功 第一条命令 如果识别出第一条语音命令 则提示 识别成功 第二条命令 三 其它特定人识别函数 其他特定人识别函数 除了前面示例中的基本应用外 函数库还提供了很多函数用来对识别过程进行灵活的控制 下面介绍几个比较常用的函数 BSR PauseRecognizer 暂停识别 但不释放中断等资源BSR ResumeRecognizer 恢复被暂停的识别BSR GetRecognizerScore 获得识别结果的可信度 返回值从 4096到4096 数值越大表示输入语音与特征模型的匹配度越高 其他特定人识别函数 其他特定人识别函数BSR EnableCPUIndicator 开启CPU状态监测功能 开启该功能后 IOA0和IOA1将发出每16ms电平变化一次的方波 BSR DisableCPUIndicator 关闭CPU状态监测功能 BSR ExportSDWord intCommandID 使用函数库时 会自动创建一个100Word的数组BSR SDModel 100 可以把某条训练命令的特征模型数据导出到这个数组中 BSR ImportSDWord intCommandID 可以把BSR SDModel数组中的数据导入为某条语音命的特征模型 四 小结和注意事项 小结和注意事项 特定人语音识别由 训练 和 识别 两个步骤组成 训练过程中 每条语音命令的长度不要超过1 3秒 训练后得到的语音特征模型是保存在RAM中的 每条命令占用96Word 由于RAM空间的限制 同时可识别的语音命令数量最大为7条 如果需要识别更多语音命令 可以采用命令分组的方法 语音特征模型数据可以通过下面两个函数导入和导出 BSR ImportSDWord BSR ExportSDWord 五 疑难解答 疑难解答 BSR DeleteSDGroup 0 从函数名看来 好像是删除一个组的意思 它是怎么完成初始化RAM的 语音命令的特征模型是通过BSR Train函数保存在RAM空间中的 如果所需的RAM空间已被旧的特征模型数据占满 则新特征模型无法保存到RAM中 利用BSR DeleteSDGroup函数可以把RAM空间中所有的特征模型删除 释放出所需空间 我有很多条语音命令要识别 可SPCE061A只能同时识别5条 该怎么办 可以采取分组识别的方法 即 触发命令 与 控制命令 组合 凌阳科技教育推广中心竭诚为您服务 凌阳科技大学计划网站 凌阳科技大学计划邮箱 E mail unsp 凌阳科技大学计划客服中心 Tel 010 62981668 2911凌阳科技大学计划技术支持中心 Tel 010 62981668 2916 2965

展开阅读全文

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/457516
推荐阅读
相关标签
  

闽ICP备14008679号