《数据结构与算法》课程项目
实施报告
题 目:
虚拟智慧图书馆
组 号:
任课教师:
64 组
管业鹏
组 长:
12121494 刘致金
成 员:
12121308 袁其杰
成 员:
12121494 刘致金
成 员:
12123145 王佳雯
成 员:
12123113 李超然
联系方式:
18818216508
二零一四年 九月 八日
一、 课程项目实施方案
1、 8 段数字均衡设计;简要思路为,先取一段语音,经过一截止频率为 fs
的低通滤波器,然后对其以 2fs 的采样频率进行采样,然后设计 8 个带通滤波器,
对原始信号分八路(30~100Hz,100~200Hz,200~500Hz,500~1KHz,1~2KHz,
2K~4Kz,4K~8Kz,8K~16Kz)用八个带通滤波器进行滤波处理,通过调节各个
滤波器的系数,来调节各频段的信号幅度,达到所需均衡效果。
2、 项目组5 人的语音识别;
该部分主要分为两个步骤实现:
1)先将小组成员语音信息存库,再
进行特征提取,特征提取一般分为三部
分:自相关分析、计算 LPC 系数、计算
倒谱系数,从而生成每个组员的特征码
本。
2)模式匹配,从实时环境中提取语者
语音信息,在从识别语音中提取特征矢量
序列,根据比较,选出平均量化误差最小的码本所对应的说话人为识别结果。
3)测试指标:准确识别率、测试者说话内容的随意性、准确识别时环境的嘈
杂程度(坑干扰性)、识别速度。
3、 20 字以上的语义识别;
从图 1 可知,整个语音识别系统包括四部分:预处理、特征参数提取、训练和
识别。其中预处理包括加重和端点检测。预加重一般通过一个数字滤波器 1-μ(z-1)
来实现,μ值接近于 1 。
1)、端点检测:采用基于短时能量和过零率的端点检测算法,从一段信号中检
测出语音信号的起始点和结束点;
2)、特征参数提取:采用 MFCC 系数。MFCC 参数考虑了人耳的听觉特性,
且没有任何前提假设,所使用 MFCC 参数提取出特征参数;
3)、训练和识别— 离散马尔科夫模型 (DHMM)。 DHMM 的模型参数少,
对训练数据量要求不高, 且计算量少, 易于实现,所以这里采用 DHMM。一个
DHMM 系统可用π,A,B 三项参数来描述。
在DHMM 语音识别系统的训练、识别:要用到矢量量化(VQ),VQ 的关键
技术包括码本设计和搜索策略两方面。生成码本最基本的算法是 LBG 算法。在
利用 LBG 算法之前, 首先需要得到一个初始码本, 采取的方法是分裂法。码本
大小为 128,27 =128,所以经过 7 次分裂就可以了。对于码本搜索, 简单的方法是
比较所有码字和输入矢量的距离,距离最小的便是目标码字, 这种搜索方法称为
“全搜索”;
DHMM 模型初始参数的设定:考虑语音信号的时序特点和系统的实时性,
选用自左向右的无跨越 HMM。在很多汉语识别实验中状态数为 5 时识别的效果
最好;初始概率矩阵π的初值较易确定, 通常设置为均匀分布之值或非零的随机
数, 对识别率的影响不是太大。
模板的训练: 设定 DHMM 模型的初始参数后, 就可以进行语音模板的训
练。由于有大量观察序列参与训练, 在此, 采用修正后的 Baum-Welch 算法进行
参数的优化重估;
语音的识别 识别过程其实就是模板的匹配过程, 而匹配的过程就是利用对
数形式的 Viterbi 算法, 计算测试语音序列在每个 HMM 下的最大输出概率。取
输出概率最大的 HMM 对应的模型, 即为最后的输出结果。
4)设计指标:识别语音字符的准确度和速度,是否适用于不同性别、年龄
说话者的语音,是否能区分出同音异义字词,以及程序和语音包的空间达到最小。