【实验】语音识别

为学校数字信号处理实验总结和归纳;

语音识别

题目及相关要求在here.

数据预处理

大致步骤:

  • 获取原始音频

  • 检测

  • 分帧

  • 加窗

  • 特征提取

端点检测

端点检测参数指标相对值
初始短时能量高门限50
初始短时能量低门限10
初始短时过零率高门限10
初始短时过零率低门限2
最大静音长度8ms
语音最小长度20ms

这里我们进行的是基于阈值的VAD,通过提取时域(短时能量、短期过零率等)或频域(MFCC、频谱等)特征,通过合理的设置门限,达到区分语音和非语音的目的。

我们的端点检测初始特征阙值如右表所示,通过这样的指标,我们检测出来的音频信息可以过滤掉大部分的噪音。

部分数字与名字信号的双端检测结果如下所示:

分帧

由于语音信号具有短时的平稳时不变的特性,因此对其在时域上进行短时间的分帧进行分析。

实验中使用的30ms的窗口长度和10ms的帧移,有比较好的效果。

加窗

通过不同的窗处理滞后得到的图形有区别,其中矩形窗的变化比较剧烈,汉宁窗、海明窗的变换较为平稳。

  • 矩形窗处理后的时域信号
  • 汉明窗处理后的时域信号
  • 海宁窗处理后的时域信号

时域语音识别

提取语音特征

将处理之后的数据进行归一化处理,并计算出每一帧的特征值,以帧数作为特征向量的维数,得到用于分类的特征向量。特征向量是由过零率、能量和幅值组成的。

使用的分类器

  • 如果一个样本在特征空间中的K个最邻近的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别样本的特性。

  • 基本模型是定义在特征空间上的间隔最大的线性分类器,利用超平面,对数据集进行最大间隔划分,得到该超平面的表达式。

  • 在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于0的概率,评价项目风险,判断其可行性的决策分析方法。

  • 集成学习Based on KNN

    • 集成学习算法是通过构建并结合多个分类器来完成学习任务,通常拥有较高的准确率,其不足之处是模型比较复杂。

    • 实现过程

      • 随机对原始数据的特征值进行随机采样。

      • 将采样数据送入若干个KNN学习器中进行决策判断。

      • 将所有结果进行投票处理。

时域语音分析

下面分别是KNN、SVM、决策树、集成学习KNN分类器得到的判别矩阵和AUC曲线。

结果如下表:

分类器准确率查准率第一类错误率第二类错误率F-score
KNN0.320.331.000.800.25
SVM0.421.000.000.670.50
Tree0.370.500.250.500.50
集成学习KNN0.440.600.670.250.67

不同加窗方式的效果比较

窗口种类准确率查准率第一类错误率第二类错误率F-score
矩形窗0.440.60.670.250.67
汉明窗0.39100..500.67
海宁窗0.450.6710.60.5

F-score表现:矩形窗=汉明窗>海宁窗

矩形窗处理后的语音信号识别效果更好


频域语音识别

实验流程

  • 通过电脑录制音频。

  • 将得到的音频数据进行预处理,经过端点检测得到理想的音频数据。

  • 提取音频数据的MFCC特征。

  • 进行DTW算法搜索。

  • 将得到的结果进行总结归纳。


MFCC特征提取

  • 分帧

  • FFT:对每一帧语音进行256点快速傅里叶变换。

  • 三角带通滤波器

  • 离散余弦转换:离散余弦转换(DCT)系数是用来将能量集中在前面几项中,达到在减少判别参数提高运算速度的同时又不失其准确性的目的。

  • 差量倒谱参数:一阶差分MFCC参数,体现相邻两帧之间的联系,所以我们合并mfcc参数和一阶差分mfcc参数形成MFCC参数,并且去除首尾两帧,以增加MFCC参数的准确性,增强实验的预测能力。

  • DTW


时域语音分析

我们使用交叉验证的方法,训练集与测试集的比例为9:1,在进行1000次的重复试验后,得到的数字识别与名字识别在不同的窗函数下得到的准确率如下。其中x轴为测试次数,y轴为准确率。

由上表各矩形窗的准确率所示,在矩形窗下数字识别整体准确率最低,而在汉明窗和海宁窗下的数字识别准确率相差不大。但是名字准确率在三个窗下的准确率波动不大。


相关视频:

我们可以发现在名字识别的时候端点检测只能检测到名字中的第一个字,这个是因为端点检测的参数没有进行调整。


进行二次调参后:

基于GMM模型的声纹识别

GMM

高斯混合模型(GMM)是声纹识别中最常用的模型之一,因为在声纹识别中,如何将语音特征很好地进行总结及测试语音如何与训练语音进行匹配都是非常复杂难解决的问题,而GMM将这些问题转为对于模型的操作及概率计算等问题,并进行解决。高斯混合模型可以逼近任何一个连续的概率分布,因此它可以看做是连续型概率分布的万能逼近器。GMM模型是一个有监督的训练过程。它的基本思想就是利用已知的样本结果来反推最有可能(也就是最大概率)导致该个结果的参数值,在这个原则之下,GMM通常采用最大期望算法(EM)模型进行迭代直到收敛来确定参数。

我们的工作

实验流程如下:

首先通过分帧,加窗等方法,对语音信号预处理,得到有效语音信号后,提取语音信号MFCC特征,并将其作为GMM模型的输入,对GMM模型进行训练,最后通过测试集对GMM模型进行测试。

将提取到的语音MFCC特征,通过fitgmdist函数进行GMM模型训练,得到每个人的语音特征

转存失败重新上传取消

说话人识别结果

我们将每个同学念名字的语音信号和每个同学念数字的语音信号分别放入GMM模型和SVM分别进行训练和测试,对比两种模型优劣。

记放入训练的数字语音为I1,放入训练的名字语音为I2,用于测试的数字语音为O1,用于测试的名字语音为O2,我们分别用I1,I2作为训练集进行训练,并对每种情况下分别用O1和O2测试准确率。结果如图,可以看出当说话人语音为名字时,识别效果较好,为数字时较差。此外GMM模型效果优于SVM,SVM训练集准确率为1,而测试集准确率较低,模型泛化能力差,GMM泛化能力更好。

转存失败重新上传取消

写在后面

对应的代码在Copy2000/DSP_experiment: 学校实验 (github.com),写的很乱,就这样,然后视频由于是放在github的服务器,可能会很慢。

还有两篇小论文:

  • 基于频域分析的语音识别.pdf (copy2000.github.io)
  • 基于时域分析的语音识别.pdf (copy2000.github.io)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/32313.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QMT量化交易软件使用攻略(四)-策略回测

对某一策略编译成功后,点击回测,可以通过日志输出查看模型基于历史行情数据回测情况和表现。 在回测之前,需要设置好策略回测运行的主图品种和周期,以及相关的回测参数。回测主图和周期可以 在策略编辑器-基本信息中进行设置&…

量化交易主要有哪些经典的策略?

一、交易策略 一个完整的交易策略一般包括交易标的的选择,进出场时机的选择,仓位和资金管理等几个方面。 按照人的主观决断和计算机算法执行在策略各方面的决策中的参与程度的不同,可以将交易策略分为主观策略和量化策略。 二、主观策略 主…

量化策略——准备3 数据、Backtrader回测框架与quantstats评价指标

我们一般使用AKShare这个库来获取股票数据或策略中用得到的数据: AKShare github主页:https://github.com/akfamily/akshare 使用Backtrader框架作为回测的框架: Backtrader github主页:https://github.com/mementum/backtrader …

红橙Darren视频笔记 换肤框架4 换肤的功能完善 内存泄漏分析

上一篇完成了换肤框架的基本搭建,这一次 我们继续补完上一次遗留的一些可以完善的部分 1.完善换肤 1.1退出后再进入应用 不会丢失上一次保存的皮肤 基本原理:将上一次切换的皮肤path保存在SharedPreference中,下一次进入应用读取该数值 同时…

红橙Darren视频笔记 热更新 bsdiff bspatch 在Android设备上的应用 架构篇1完结篇

概述 当时红橙的视频讲解就差不多90分钟,但是真正自己做出来热更新的demo还是花了八九个晚上,期间遇到各种各样的问题,什么叫台上一分钟 台下十年功是深有体会了。 本节会涉及一部分NDK的知识 推荐阅读Android官方的NDK简介 https://develope…

飞机大战学习心得(Dev-C++)

在c语言中,我们要用代码来做游戏就必须得去实现代码与图形界面接口的互联,也就是要通过按键的输入与输出来控制游戏的进行,所以以下几个头文件是必不可少的 stdio函数就不用我多说了。 windows.h函数可以获得程序的权柄,涉及到了Windows内核…

网易传媒签约法国队、阿根廷队 世界杯独家内容盛宴即将开启

NEW 关注Tech逆向思维视频号 最新视频→【耗资一百亿美元的韦伯望远镜到底观测什么?】 2022年卡塔尔世界杯进入开幕倒计时。7月14日、15日,网易传媒相继宣布与顶级夺冠热门球队法国队、阿根廷队签约,成为两支队伍的中国独家网络媒体合作伙伴&…

连续两届世界杯与冠军同行 网易传媒创造内容赛道卫冕传奇

2022年12月19日凌晨,阿根廷队战胜法国队,夺得了卡塔尔世界杯冠军,如愿捧回了队史上第三座大力神杯,梅西也以最完美的方式完成了他的世界杯谢幕战,成就球王传奇。 对内容公司来说,世界杯是专业内容、创意灵感…

java 上传Excel文件 使用easyExcel读取文件内容

记录Java接口上传Excel文件,及使用阿里的easyExcel读取excel文件内容,进行内容校验的过程。文中贴出代码是精简后代码,仅供参考。 引入依赖 在pom.xml中引入easyExcel需要的依赖,具体参考官网:EasyExcel文档 上传文…

使用TDM-GCC(mingw)搭建EasyX图形库开发环境

首先去EasyX官网:EasyX Graphics Library for C 然后看这个文章只把 EasyX 拷贝进项目里,方便发给没有安装 EasyX 的人编译(以 MinGW 为例) - CodeBus 请使用TDM-GCC进行编译,其他mingw(GNU)编译器可能有问题。 在 …

SpringBoot项目使用EasyExcel读取上传Excel

SpringBoot项目使用EasyExcel读取上传Excel 1、EasyExcel简介 EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 EasyExcel读取Excel的解析原理: 2、导入相应的依赖文件 <dependency><groupId>com.a…

EasyV数据可视化|精选2022多行业可视化作品合集,看这篇就够了

​​时光荏苒 2022进度条■■■■■■■■□□ 80% 又是一年金秋时节&#xff0c;又是一年硕果累累&#xff0c;在这丰收的时节里&#xff0c;工作也陆续到了冲刺的阶段&#xff0c;准备开干的你&#xff0c;是否有这些疑惑 想要的效果构思不出来&#xff0c;需要点小灵感&am…

英文Essay各部分的写作攻略

以下是英文Essay各部分的写作攻略&#xff1a; 引言部分&#xff1a;在引言中&#xff0c;应该清晰明了地陈述你的主题和目的&#xff0c;以及你将要探讨的问题和论点。你可以使用一个有趣的事实、例子、名言、问题或者比喻来引起读者的兴趣。同时&#xff0c;你也可以在引言中…

从头到尾写SQL(二)

二 数据表的创建和管理 数据库是我们用的别人的。。数据表就该我们自己创建了吧。。 1.数据基本类型 建表的时候&#xff0c;需要我们确定好这个表有多少字段&#xff0c;这些字段又都是什么类型的(其实创建完以后这些东西也能改)。那么数据库接纳的数据类型有哪些呢&#…

暑假用chatgpt肝了一篇顶会...

小时候特别羡慕大雄&#xff0c;因为他有可以帮他写作业的机器猫小叮当。 熬夜读论文&#xff0c;却无法得出一个好的idea&#xff0c;深夜薅头发苦恼的时候&#xff0c;就会想如果有一个机器人&#xff0c;给出一串指令就能马上生成一篇质量上佳的论文就好了。 现在&#xff0…

Unity Open Day 北京站-技术专场:生成式AI技术助力Unity创作

【获取 2023 Unity Open Day 北京站演讲 PPT】 伴随Unity中国版引擎的布局以及AI技术的爆发式发展&#xff0c;ChatGPT、StableDiffusion等生成式AI技术受到广大Unity创作者的关注。Unity已经在AI领域探索多年&#xff0c;一直致力于利用人工智能技术以及工具&#xff0c;帮助创…

3D引擎龙头Unity:元宇宙和AI活跃玩家

Unity是用于创建和操作交互式实时3D内容的世界领先平台。凭借灵活的编辑器、友好的开发环境、丰富的工具套件&#xff0c;Unity吸引了大量开发者&#xff0c;全球排名前1000的移动游戏70%以上使用了Unity的创作和运营解决方案&#xff0c;如今&#xff0c;Unity引擎在工业场景、…

城市的 “数字生命” 是怎么被赋予的?|场景创新公司是这样开会的

ChatGPT 为我们带来了巨大便利的同时&#xff0c;也让更多人茫然、焦虑甚至恐惧。对于这一重塑我们生活的技术&#xff0c;每个渺小的个体或许都在心里有过类似的疑问&#xff1a;我&#xff0c;还能做什么&#xff1f; 当体力劳动、内容生产都能够以技术的方式进行翻天覆地的变…

关于ChatGPT应用于软件测试中的思考

前言 关于最近大火的ChatGPT相信各位也听过不同渠道听说过他的厉害&#xff0c;目前发展趋势比较火热&#xff0c;科技公司都有在考虑怎么使用ChatGPT进行提高研发效率以及办公效率&#xff0c;最近我所在的公司也有在要求大家使用ChatGPT进行改善工作效率&#xff0c;所以引发…

借助 AI 我为 Raycast 制作了一个可以 OCR 中文的插件

本文速通&#xff1a;最近用了 Raycast&#xff0c;真的很棒&#xff01;但是没有好用的中文 OCR 插件&#xff0c;不怎么会写 Typescript 的我&#xff0c;在 ChatGPT 的指导下&#xff0c;整了一个小插件。开发过程非常不严肃&#xff0c;充满了野路子&#xff0c;不敢妄称指…