嵌入式语音识别呼救装置的设计与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 语音识别
可以看出本设备中语音识别技术重要的位置。利用语音 识别技术实现语音控制是提高家居安防先进性的一条重要途 径。根据需求,采集对象应是能发出的最简单声音:即在遇险 呼救时,用最小力或最不引人注意的发声方式,都可以发出的 音频数据。图 1 为采集的样本数据。
图 1 采集的数字音频样本数据 呼救音显示振幅较低,时间延续较长 (每次约 10 s),反复 3 次以上。在呼救现场听起来较沉闷单调,不会引起注意,这 就是设计的意图。该呼救音信号经 X 轴增益后可得到如图 2 所示细节。
采集了合格的语音后,下一个步骤是提取特征。语音识 别是一项根据语音波形中反映说话人生理和行为特征的语音 参数来识别说话人身份的技术,它的基本原理是通过分析人 的发声和听觉,为每个人构造一个惟一的数学模型,由计算机 对模型和实际输入的语音进行精确匹配,根据匹配结果辨认 出说话人是谁。可以提取的参数有:短时频谱、基音周期、短 时能量、短时过零率、倒谱、梅尔频率倒谱系数 (mel-frequency cepstrum coefficients,MFCC)、线性预测系数(LPC)、线谱对参数 (LSP)、共振峰频率、HMM 以及音长、音调等。其中 MFCC 作 为识别的最重要、有效的一种语音特征,它是基于人耳的听觉 原理,成为建立隐马尔科夫声学模型 (HMM) 的首选参数[2]。 MFCC 参数将线性频标转化为 Mel 频标,强调语音的低频信 息,从而突出了有利于识别的信息,屏蔽了噪声的干扰。该模 块完成经过 FFT 或 LPC 运算得到的功率谱,再经过对数运算 和傅立叶反变换以后得到 MFCC 的功能。如果特征参数较 多,可以增加矢量量化的步骤。矢量量化主要的作用是压缩 信号,即矢量量化总是优于标量量化,且维数越大,矢量量化 性能就越好。这里要针对特定人发出特定呼救音中提取的若 干(多维)语音特征值[3]组成一组矢量,然后用若干离散的数值 来表示矢量,以达到既保存了说话人的生理特性,又使模型存 储量最小,符合嵌入式设备资源受限特点。特征的选择需要 综合考虑存储量的限制和识别性能的要求,在本系统中可只 提取 12 维 MFCC 特征矢量(静态语音信息),也可用 24 维特征 矢量,包括 12 维 MFCC 和 12 维一阶差分 MFCC (加入动态语 音信息)[4]。在实验中,使用前者并不使识别率下降很多,且更 节省系统资源。
然后采用 EM 算法对提取的 12 维 MFCC 特征矢量参数进 行训练,不断调整参数,直至收敛。然后采用 Viterbi 算法对测 试呼救音进行识别。在具体实现中,将 HMM 相关的两个概 率计算矩阵存放在 NOR flash 中,由 ARM 处理器控制调用。 呼救音识别的试验结果如表 1 所示。
- 2527 -
A11
A22
A33
A44
A12 S1
A23
A34
S2
S3
S4
图 4 4 状态的 HMM 模型
表 1 呼救音识别的试验结果
HMM 模型 DHMM
特征参数 MFCC
语音识别率/% 95.8
通过实验结果得出呼救音识别正确率达到了预先设定结 果,主要因为呼救音本身的发音比较稳定,比较容易建立 HMM 模型[5],且实验中有使用耳脉,噪声不大等条件,所以实 际使用中,系统环境将更复杂,如情感方面影响的原因,会降 低语音识别率至 82%。研发将引入语音情感识别技术,进一 步提高语音识别率。
A
LBG
状态序列
CN
VQ 通过 Viterbi 分类
规
判定 N 拒识处理
则 Y
(暗示)
N
Y
HMM
B
触发信号 输出
图 3 系统语音识别部分工作流程
语音识别过程中最主要的两部分内容是特征提取和模式
匹配。特征提取又分为语音前端处理和特征提取。语音前端
处理主要包括对语音的采样、A/D 变换、分帧、端点检测和特 征提取。首先对识别对象的声音进行采样,即输入语音信号,
0引 言
对于家庭安防监控系统来说,及时报警是最重要的。在 许多遇险场合下,报警人想通过一般手段 (报警电话、大声呼 救) 完成报警,是很难做到的。如遇到入室抢劫,受害人通常 会被蒙住眼睛和嘴;而突发疾病或卧床不起的人也不能大声、 清晰地呼救。所以遇险时,通过声音呼救是合适的,只是对于 接收呼救声音的呼救装置来说,要能及时洞察到轻微且不清 晰的呼救声是十分重要的。当呼救装置识别到真正的呼救声 音信号后,可以及时触发装置的监控探头捕获报警现场图像并 及时远程传向救援方,即可为用户带来快速、便捷、有效的安全 保护。这样的装置即称为无线呼救装置,要求其具有体积小, 安装灵活、使用安全隐蔽且成本低的特点。本文涉及的基于嵌 入式 Linux 的呼救装置就是由此需求出发进行设计实现的,主 要技术由语音识别和多媒体数据无线传输两部分组成。
一阈值消除高振幅的噪声部分,只保留振幅较低的部分,即呼
救音,最终将数字化语音以循环队列的结构存储在设备的
flash 中。在系统扩展中,还可设计换用微小麦克风阵列采样,
以利用噪声抑制和波束形成算法提高系统抗噪的能力。然后
是预加重处理。实验表明,对于清音等某些发音高频成分 (6 KHz) 的 信 息 [1],在 语 音 识 别 中 有 较 大 的 作 用 。 因 此 ,适 当 提 升 高频成分功率对于语音识别是有利的通常采用预加重滤波器
本装置的语音的采样、A/D 变换部分由硬件完成,ADC 集成在 ARM 内,它的采样频率固定为 44100。采集数据显示:一个成
年人有意识发出的低音 (低吟、呻吟),可持续 7.5 s 左右,普通 无求救意识的发音无此长时间并保持相对稳定振幅及频率的。
此外,呼救音具体长短根据其肺活量、声带、口型以及堵塞物
一旦语音识别成功后,语音数据还要经判断模块的处理, 这由实际应用经验进行规则库设计。设计中采用的判断原则 是:在语音识别通过的前提下,“只有是确认特定人发出呼救 的情况下才报警”的原则,以降低系统误报率。这里我们将加 入一些特殊的判断权重规则,如反复发音次数,发音持续时间 及间隔等,只有这些指标都匹配了,系统才判断为有效呼救。 此后,语音识别模块发信号给 ARM 处理器,触发多媒体无线 传输应用程序,并同时发给呼救者正确暗示。如识别失败,也 会有相应暗示,提示呼救者继续进行语音呼救,这是拒识处理 模块的功能。
Design and realization of embedded speech recognition annunciator
SHEN Yin-yue
(Hangzhou Vocational and Technical College, Hangzhou 310018, China)
Abstract:A method based on speaker-dependent speech recognition and multimedia message transmition is described and some key technologies are introduced. The system, which is based on arm CPU and using embedded-Linux as operating system, can realize sending multimedia message to ask for help with the annunciator provoked by voice. A solution example is provided as reference and technology support for the development of house safeguard. Key words:speech recognition; HMM; MFCC; MMS; annunciator
收稿日期:2007-10-26 E-mail:music@hzcnc.com 基金项目:浙江省教育厅 2006 年科研基金项目 (20061728)。 作者简介:沈音乐 (1973-),女,硕士,讲师,研究方向为嵌入式计算机开发技术、软件工程。
- 2526 -
(1)能识别呼救语音信号。技术强调呼救语音文本内容并 不明确,为可识别的简单音素如[a:]、[m]及其混合,这是由于求 救者在特殊环境限制(如被堵嘴)下发出,仅可以采用有意拖长 发音时间和反复发同样的语音信号来进行呼救。
(2)能自动识别说话人是呼救装置设定的用户。 (3)能够对识别的结果给出一种暗示。 本嵌入式装置的语音识别过程如图 3 所示。
语音输入
语音处理 (分割)
MFCC 状态序列
训练
语音
高级特征
K 平均法
EM 参数重估
估计 B
迭代
提取特征
MFCC 等
测试
A 测试比对
C
未通过
B
N 模型收敛 通过 模型参数
高级特征
第 29 卷 第 10 期 Vol. 29 No. 10
计算机工程与设计
Computer Engineering and Design
2008 年 5 月 May 2008
嵌入式语音识别呼救装置的设计与实现
沈音乐
(杭州职业技术学院,浙江 杭州 310018)
摘 要:阐述了基于语音识别和多媒体无线远程传输两项技术的实时呼救系统的设计思路,介绍了其中的几个关键性技术 要点。系统以 ARM 为硬件平台,使用嵌入式 Linux 操作系统进行开发,完成了用呼救音触发呼救监控装置,及时将多媒体呼 救 信 息 传 给 救 援 方 ,为 居 家 安 防 提 供 了 一 种 解 决 方 案 和 技 术 依 据 。 关键词:语音识别; 隐马尔科夫模型; 梅尔频率倒谱系数; 多媒体信息服务; 呼救装置 中图法分类号:TP393 文献标识码:A 文章编号:1000-7024 (2008) 10-2526-04
最终,需要将语音数据设备中事先已经训练好的模型中, 按照提取的语音特征进行比对匹配。在本装置设计中,我们 使用隐马尔科夫模型 (HMM) 进行语音识别。HMM 在嵌入式 语音识别系统中,由于成本和算法复杂度的限制,HMM 算法 要求尽量减小时空复杂度,设计中选用算法复杂度较小的 DHMM 模型,并严格按照从左到右和单步跳转的规则。一个 HMM 模型可用下面 5 个模型参数来定义,即 = { , , , , }。 利用 DHMM 组建的语音识别呼救系统共有 4 个状态,按顺序 分别是“1~4”为相应的数学模型,其马尔科夫链进行分析如图 4 所示。
图 2 经 X 轴增益后声音时域波形 由图 2 可以发现,呼救音信号具有较强的时域稳定性。这 样的信号在时域上可提取短时能量和短时平均过零率作为重 要特征。根据需求,本装置使用的语音识别应属于特定人语 音识别,只有发现并断定是设定呼救人呼救后,识别模块才会 触发整个呼救装置开始工作,如报警、图像捕获、数据传输等, 其功能需求如下:
来增强高频成分滤波器的形式如下
H( )=1
1
式中:0< <1,通常 设为 0.97, 1为时延算子。
特征提取基于语音帧,所以必须先分出语音帧,即将语音
信号分为有重叠的若干Baidu Nhomakorabea,对每一帧提取一次语音特征。由
于语音特征的短时平稳性,帧长一般选取 15 ms 左右。在分帧
时,前一帧和后一帧的一部分是重叠的,用来体现相邻两帧数 据之间的相关性,通常帧移为帧长的 1/2。对于本系统,为了 方便做 FFT,采用的帧长为 256 点,帧移为 128 点。由于本设 备所针对呼救信号分布较均匀(如图 2 所示),故本步骤将予以 简化,采用固定时间窗宽函数,一般 15 ms 为一帧,即每秒的帧 数为 400 帧。接下去的端点检测模块的功能就是从呼救语音 帧中划分静音,区分噪音,尽可能截取有用信号,为特征提取 和模式匹配做准备。根据呼救语音信号的特性,本系统采用 短时能量、短时过零率作为端点检测的重要参数。
(声道模型,激励源模型和辐射模型)有关,比如堵塞物的不同,
以及堵塞方式不同,会引起不同的波形变异,数据是有规律可
寻的。我们的着眼点在于多个特征量的叠加,形成多维的语
音识别模型。
考虑到本设备的工作环境通常在室内,且多不会很嘈杂,
但会有一些脉冲噪声。可以在去噪模块(预处理)中,通过谱相
减、滤波、信号限幅等语音增强方法,滤去白噪音,然后再通过
可以看出本设备中语音识别技术重要的位置。利用语音 识别技术实现语音控制是提高家居安防先进性的一条重要途 径。根据需求,采集对象应是能发出的最简单声音:即在遇险 呼救时,用最小力或最不引人注意的发声方式,都可以发出的 音频数据。图 1 为采集的样本数据。
图 1 采集的数字音频样本数据 呼救音显示振幅较低,时间延续较长 (每次约 10 s),反复 3 次以上。在呼救现场听起来较沉闷单调,不会引起注意,这 就是设计的意图。该呼救音信号经 X 轴增益后可得到如图 2 所示细节。
采集了合格的语音后,下一个步骤是提取特征。语音识 别是一项根据语音波形中反映说话人生理和行为特征的语音 参数来识别说话人身份的技术,它的基本原理是通过分析人 的发声和听觉,为每个人构造一个惟一的数学模型,由计算机 对模型和实际输入的语音进行精确匹配,根据匹配结果辨认 出说话人是谁。可以提取的参数有:短时频谱、基音周期、短 时能量、短时过零率、倒谱、梅尔频率倒谱系数 (mel-frequency cepstrum coefficients,MFCC)、线性预测系数(LPC)、线谱对参数 (LSP)、共振峰频率、HMM 以及音长、音调等。其中 MFCC 作 为识别的最重要、有效的一种语音特征,它是基于人耳的听觉 原理,成为建立隐马尔科夫声学模型 (HMM) 的首选参数[2]。 MFCC 参数将线性频标转化为 Mel 频标,强调语音的低频信 息,从而突出了有利于识别的信息,屏蔽了噪声的干扰。该模 块完成经过 FFT 或 LPC 运算得到的功率谱,再经过对数运算 和傅立叶反变换以后得到 MFCC 的功能。如果特征参数较 多,可以增加矢量量化的步骤。矢量量化主要的作用是压缩 信号,即矢量量化总是优于标量量化,且维数越大,矢量量化 性能就越好。这里要针对特定人发出特定呼救音中提取的若 干(多维)语音特征值[3]组成一组矢量,然后用若干离散的数值 来表示矢量,以达到既保存了说话人的生理特性,又使模型存 储量最小,符合嵌入式设备资源受限特点。特征的选择需要 综合考虑存储量的限制和识别性能的要求,在本系统中可只 提取 12 维 MFCC 特征矢量(静态语音信息),也可用 24 维特征 矢量,包括 12 维 MFCC 和 12 维一阶差分 MFCC (加入动态语 音信息)[4]。在实验中,使用前者并不使识别率下降很多,且更 节省系统资源。
然后采用 EM 算法对提取的 12 维 MFCC 特征矢量参数进 行训练,不断调整参数,直至收敛。然后采用 Viterbi 算法对测 试呼救音进行识别。在具体实现中,将 HMM 相关的两个概 率计算矩阵存放在 NOR flash 中,由 ARM 处理器控制调用。 呼救音识别的试验结果如表 1 所示。
- 2527 -
A11
A22
A33
A44
A12 S1
A23
A34
S2
S3
S4
图 4 4 状态的 HMM 模型
表 1 呼救音识别的试验结果
HMM 模型 DHMM
特征参数 MFCC
语音识别率/% 95.8
通过实验结果得出呼救音识别正确率达到了预先设定结 果,主要因为呼救音本身的发音比较稳定,比较容易建立 HMM 模型[5],且实验中有使用耳脉,噪声不大等条件,所以实 际使用中,系统环境将更复杂,如情感方面影响的原因,会降 低语音识别率至 82%。研发将引入语音情感识别技术,进一 步提高语音识别率。
A
LBG
状态序列
CN
VQ 通过 Viterbi 分类
规
判定 N 拒识处理
则 Y
(暗示)
N
Y
HMM
B
触发信号 输出
图 3 系统语音识别部分工作流程
语音识别过程中最主要的两部分内容是特征提取和模式
匹配。特征提取又分为语音前端处理和特征提取。语音前端
处理主要包括对语音的采样、A/D 变换、分帧、端点检测和特 征提取。首先对识别对象的声音进行采样,即输入语音信号,
0引 言
对于家庭安防监控系统来说,及时报警是最重要的。在 许多遇险场合下,报警人想通过一般手段 (报警电话、大声呼 救) 完成报警,是很难做到的。如遇到入室抢劫,受害人通常 会被蒙住眼睛和嘴;而突发疾病或卧床不起的人也不能大声、 清晰地呼救。所以遇险时,通过声音呼救是合适的,只是对于 接收呼救声音的呼救装置来说,要能及时洞察到轻微且不清 晰的呼救声是十分重要的。当呼救装置识别到真正的呼救声 音信号后,可以及时触发装置的监控探头捕获报警现场图像并 及时远程传向救援方,即可为用户带来快速、便捷、有效的安全 保护。这样的装置即称为无线呼救装置,要求其具有体积小, 安装灵活、使用安全隐蔽且成本低的特点。本文涉及的基于嵌 入式 Linux 的呼救装置就是由此需求出发进行设计实现的,主 要技术由语音识别和多媒体数据无线传输两部分组成。
一阈值消除高振幅的噪声部分,只保留振幅较低的部分,即呼
救音,最终将数字化语音以循环队列的结构存储在设备的
flash 中。在系统扩展中,还可设计换用微小麦克风阵列采样,
以利用噪声抑制和波束形成算法提高系统抗噪的能力。然后
是预加重处理。实验表明,对于清音等某些发音高频成分 (6 KHz) 的 信 息 [1],在 语 音 识 别 中 有 较 大 的 作 用 。 因 此 ,适 当 提 升 高频成分功率对于语音识别是有利的通常采用预加重滤波器
本装置的语音的采样、A/D 变换部分由硬件完成,ADC 集成在 ARM 内,它的采样频率固定为 44100。采集数据显示:一个成
年人有意识发出的低音 (低吟、呻吟),可持续 7.5 s 左右,普通 无求救意识的发音无此长时间并保持相对稳定振幅及频率的。
此外,呼救音具体长短根据其肺活量、声带、口型以及堵塞物
一旦语音识别成功后,语音数据还要经判断模块的处理, 这由实际应用经验进行规则库设计。设计中采用的判断原则 是:在语音识别通过的前提下,“只有是确认特定人发出呼救 的情况下才报警”的原则,以降低系统误报率。这里我们将加 入一些特殊的判断权重规则,如反复发音次数,发音持续时间 及间隔等,只有这些指标都匹配了,系统才判断为有效呼救。 此后,语音识别模块发信号给 ARM 处理器,触发多媒体无线 传输应用程序,并同时发给呼救者正确暗示。如识别失败,也 会有相应暗示,提示呼救者继续进行语音呼救,这是拒识处理 模块的功能。
Design and realization of embedded speech recognition annunciator
SHEN Yin-yue
(Hangzhou Vocational and Technical College, Hangzhou 310018, China)
Abstract:A method based on speaker-dependent speech recognition and multimedia message transmition is described and some key technologies are introduced. The system, which is based on arm CPU and using embedded-Linux as operating system, can realize sending multimedia message to ask for help with the annunciator provoked by voice. A solution example is provided as reference and technology support for the development of house safeguard. Key words:speech recognition; HMM; MFCC; MMS; annunciator
收稿日期:2007-10-26 E-mail:music@hzcnc.com 基金项目:浙江省教育厅 2006 年科研基金项目 (20061728)。 作者简介:沈音乐 (1973-),女,硕士,讲师,研究方向为嵌入式计算机开发技术、软件工程。
- 2526 -
(1)能识别呼救语音信号。技术强调呼救语音文本内容并 不明确,为可识别的简单音素如[a:]、[m]及其混合,这是由于求 救者在特殊环境限制(如被堵嘴)下发出,仅可以采用有意拖长 发音时间和反复发同样的语音信号来进行呼救。
(2)能自动识别说话人是呼救装置设定的用户。 (3)能够对识别的结果给出一种暗示。 本嵌入式装置的语音识别过程如图 3 所示。
语音输入
语音处理 (分割)
MFCC 状态序列
训练
语音
高级特征
K 平均法
EM 参数重估
估计 B
迭代
提取特征
MFCC 等
测试
A 测试比对
C
未通过
B
N 模型收敛 通过 模型参数
高级特征
第 29 卷 第 10 期 Vol. 29 No. 10
计算机工程与设计
Computer Engineering and Design
2008 年 5 月 May 2008
嵌入式语音识别呼救装置的设计与实现
沈音乐
(杭州职业技术学院,浙江 杭州 310018)
摘 要:阐述了基于语音识别和多媒体无线远程传输两项技术的实时呼救系统的设计思路,介绍了其中的几个关键性技术 要点。系统以 ARM 为硬件平台,使用嵌入式 Linux 操作系统进行开发,完成了用呼救音触发呼救监控装置,及时将多媒体呼 救 信 息 传 给 救 援 方 ,为 居 家 安 防 提 供 了 一 种 解 决 方 案 和 技 术 依 据 。 关键词:语音识别; 隐马尔科夫模型; 梅尔频率倒谱系数; 多媒体信息服务; 呼救装置 中图法分类号:TP393 文献标识码:A 文章编号:1000-7024 (2008) 10-2526-04
最终,需要将语音数据设备中事先已经训练好的模型中, 按照提取的语音特征进行比对匹配。在本装置设计中,我们 使用隐马尔科夫模型 (HMM) 进行语音识别。HMM 在嵌入式 语音识别系统中,由于成本和算法复杂度的限制,HMM 算法 要求尽量减小时空复杂度,设计中选用算法复杂度较小的 DHMM 模型,并严格按照从左到右和单步跳转的规则。一个 HMM 模型可用下面 5 个模型参数来定义,即 = { , , , , }。 利用 DHMM 组建的语音识别呼救系统共有 4 个状态,按顺序 分别是“1~4”为相应的数学模型,其马尔科夫链进行分析如图 4 所示。
图 2 经 X 轴增益后声音时域波形 由图 2 可以发现,呼救音信号具有较强的时域稳定性。这 样的信号在时域上可提取短时能量和短时平均过零率作为重 要特征。根据需求,本装置使用的语音识别应属于特定人语 音识别,只有发现并断定是设定呼救人呼救后,识别模块才会 触发整个呼救装置开始工作,如报警、图像捕获、数据传输等, 其功能需求如下:
来增强高频成分滤波器的形式如下
H( )=1
1
式中:0< <1,通常 设为 0.97, 1为时延算子。
特征提取基于语音帧,所以必须先分出语音帧,即将语音
信号分为有重叠的若干Baidu Nhomakorabea,对每一帧提取一次语音特征。由
于语音特征的短时平稳性,帧长一般选取 15 ms 左右。在分帧
时,前一帧和后一帧的一部分是重叠的,用来体现相邻两帧数 据之间的相关性,通常帧移为帧长的 1/2。对于本系统,为了 方便做 FFT,采用的帧长为 256 点,帧移为 128 点。由于本设 备所针对呼救信号分布较均匀(如图 2 所示),故本步骤将予以 简化,采用固定时间窗宽函数,一般 15 ms 为一帧,即每秒的帧 数为 400 帧。接下去的端点检测模块的功能就是从呼救语音 帧中划分静音,区分噪音,尽可能截取有用信号,为特征提取 和模式匹配做准备。根据呼救语音信号的特性,本系统采用 短时能量、短时过零率作为端点检测的重要参数。
(声道模型,激励源模型和辐射模型)有关,比如堵塞物的不同,
以及堵塞方式不同,会引起不同的波形变异,数据是有规律可
寻的。我们的着眼点在于多个特征量的叠加,形成多维的语
音识别模型。
考虑到本设备的工作环境通常在室内,且多不会很嘈杂,
但会有一些脉冲噪声。可以在去噪模块(预处理)中,通过谱相
减、滤波、信号限幅等语音增强方法,滤去白噪音,然后再通过