说话人识别/声纹识别学习路径的资料整理,从零学声纹识别
这是2年前我的总结,有点与最新方法和方向脱轨, 这两年内声纹识别/说话人识别已经又有很多新的方法出现, 等我看看论文和一些实验, 后面更新一波声纹识别的东西
============================================================================
昨天帮新同事讲解了一波说话人识别的理论,并且帮他整理了资料让他学习,
这个博客就是把最具有代表性的资料记录下来,前提,我假设你知道啥是MFCC,啥是VAD,啥是CMVN了.
说话人识别学习路径无非就是 GMM-UBM -> JFA -> Ivector-PLDA -> DNN embeddings -> E2E
首先 GMM-UBM, 最经典代表作: Speaker Verification Using Adapted Gaussian Mixture Models
从训练普遍人声纹特征的UBM到经过MAP的目标人GMM-UBM到后面的识别的分数似然比,分数规整都有介绍,老哥Reynold MIT教授,这篇论文可以说是说话人识别开发者必读
(然后,直接跳过JFA吧)JFA太多太繁琐,但假如你是个热爱学习的好孩子,那想必这篇论文你应该很喜欢 Patrick Kenny的: Eigenvoice Modeling With Sparse Training Data
接下来我们来看看Ivector, ivector的理论,ivector 总变化空间矩阵的训练.
首先你需要知道Ivector的理论知识, 所以经典中的经典: Front-End Factor Analysis for Speaker Verification
训练算法推荐: A Straightforward and Efficient Implementation of the Factor Analysis Model for Speaker Verification
但假如你很喜欢数学,Patrick Kenny的这篇结合Eigenvoice应该很适合你: A Small Footprint i-Vector Extractor
到这里,基本上从GMM-UBM 到IVECTOR的理论和训练,你只要读完以上,再加上kaldi的一些小实验,相信聪明的朋友们绝对没问题.
Kaldi参考:train_ivector_extractor.sh和extract_ivector.sh,注意要看他们的底层C++,对着公式来,然后注意里面的符号跟论文的符号是不同的,之前的博客有说过. 你会发现,跟因子分析有关的论文不管是JFA还是Ivector都会有Patrick Kenny这个人物!没有错,这老哥公式狂魔,很猛很变态,对于很多知识点,跟着它公式推导的思路来绝对会没错,但对于像我这种数学渣,我会直接跳过.
记下来我们来看看PLDA的训练和打分
首先, 需要知道PLDA的理论,他从图像识别发展而来的,也跟因子分析有关.参考:Probabilistic Linear Discriminant Analysis for Inferences About Identity
PLDA的参数训练请主要看他的EM的算法,在该论文的APPENDIX里面
接着是PLDA的打分识别,请参考: Analysis of I-vector Length Normalization in Speaker Recognition Systems
将EM训练好的PLDA参数结合着两个IVECTOR进行打分, 这篇论文值得拥有,另外推荐Daniel Garcia-Romero,这老哥的论文多通俗易懂, 重点清晰不含糊, 并且这老哥在speaker diarization的造诣很高,在x-vector也很活跃,十分推荐.
接着来看看深度学习的东西
首先给个直觉,为什么要用深度学习,说话人能用DNN,如何借鉴语音识别在DNN的应用,参考: NOVEL SCHEME FOR SPEAKER RECOGNITION USING A PHONETICALLY-AWARE DEEP NEURAL NETWORK
有了DNN的技术后, 各种老哥们开始用embeddings的方法取代ivector的方法,最开始的是GOOGLE的 d-vector
d-vector: DEEP NEURAL NETWORKS FOR SMALL FOOTPRINT TEXT-DEPENDENT SPEAKER VERIFICATION
d-vector: End-to-End Text-Dependent Speaker Verification
然后众所周知,说话人识别or声纹识别对语音的时长是很敏感的,短时音频的识别性能是决定能不商用的一个很关键的点,所以x-vector应运而生,也是JHU的那帮人,就是Kaldi的团队
x-vector前身 : DEEP NEURAL NETWORK-BASED SPEAKER EMBEDDINGS FOR END-TO-END SPEAKER VERIFICATION
x-vector底座: IME DELAY DEEP NEURAL NETWORK-BASED UNIVERSAL BACKGROUND MODELS FOR SPEAKER RECOGNITION
x-vector正宫: X-VECTORS: ROBUST DNN EMBEDDINGS FOR SPEAKER RECOGNITION
然后然后呢,牛逼的Triplet Loss出来了, 输入是一个三元组,目的就是提升性能,(但我实验的过程经常会不收敛,摊手,本渣也不知道为什么)
Triplet Loss : TRISTOUNET: TRIPLET LOSS FOR SPEAKER TURN EMBEDDING
Triplet Loss : End-to-End Text-Independent Speaker Verification with Triplet Loss on Short Utterances
Deep speaker: Deep Speaker: an End-to-End Neural Speaker Embedding System
最后E2E,但可能我个人才疏学浅,感觉论文上说的E2E其实都是做了一个EMBEDDING出来,然后外接cosine distance,但真正的EMBEDDING是输入注册和测试音频,直接输出分数,所以emmm
如果想知道ivector的数学流程,可以参考这个matlab代码。
MSR-ivector-流程
emmm, 感觉看完这些论文加上实践,大概若干年后,你已经能成为一个牛逼的声纹识别算法工程师
说话人识别/声纹识别学习路径的资料整理,从零学声纹识别相关推荐
- 行人重识别学习之路:(一)基础知识和相关资料整理
2018年4月16号,本人研一,今天正式确定了研究方向,从今天起,开始自己的行人重识别的学习之路,因为也是刚开始学习,所以这些笔记也都是在借鉴了经验人士的文章后,再结合自己的理解和思路做出的整理,有不 ...
- 机器学习资料整理,收藏了不后悔!
学习Machine Learning也有很长一段时间了,前段时间在paper中应用了GTB(Gradient Tree Boosting)算法.在我的数据集上GTB的performance比Rando ...
- 软件设计师提纲+复习资料整理(上午题)
文章目录 软件设计师考试大纲 上午题(选择题) 一.计算机组成原理 考点:CPU结构组成 考点:原码.反码.补码定点整数范围 考点:浮点数表示 考点:RISC和CISC计算机的区别 考点:奇校验与偶校 ...
- 计算机视觉笔记及资料整理(含图像分割、目标检测)
前言 1.简单聊聊: 在我脑海中我能通过这些年听到的技术名词来感受到技术的更新及趋势,这种技术发展有时候我觉得连关注的脚步都赶不上.简单回顾看看,从我能听到的技术名词来感受,最开始耳闻比较多「云计算」 ...
- 计算机视觉笔记及资料整理(含图像分割、目标检测小方向学习)
前言 1.简单聊聊: 在我脑海中我能通过这些年听到的技术名词来感受到技术的更新及趋势,这种技术发展有时候我觉得连关注的脚步都赶不上.简单回顾看看,从我能听到的技术名词来感受,最开始耳闻比较多「云计算」 ...
- 兼容iOS10资料整理
兼容iOS 10 资料整理笔记 原文链接:http://www.jianshu.com/p/0cc7aad638d9 1.Notification(通知) 自从Notification被引入之后,苹果 ...
- 一图看懂 aiohttp 模块:基于 asyncio 的异步HTTP网络库, 资料整理+笔记(大全)
本文由 大侠(AhcaoZhu)原创,转载请声明. 链接: https://blog.csdn.net/Ahcao2008 一图看懂 aiohttp 模块:基于 asyncio 的异步HTTP网络库, ...
- 什么是声纹采集?标准声纹采集设备有什么作用?派出所采集声纹有什么意义?
一.什么是声纹识别? 声纹识别,也叫做说话人识别是一项根据语音波形中反映说话人生理和行为特征的语音参数,来识别语音说话者身份的技术.由于每个人的发声器官(舌.牙齿.喉头.肺.鼻腔)在尺寸和形态方面不尽 ...
- 一图看懂 docx 读取、查询、修改 Ms Word docx 文件, 资料整理+笔记(大全)
本文由 大侠(AhcaoZhu)原创,转载请声明. 链接: https://blog.csdn.net/Ahcao2008 一图看懂 docx 读取.查询.修改 Ms Word docx 文件, 资料 ...
最新文章
- LPC1768基本输入输出GPIO使用
- gulp项目配置指南
- amazeui页面分析5
- linux读取环境变量替换,linux Shell脚本学习笔记二(变量和环境变量)
- mysql增量备份保留策略_Mysql备份策略-完成备份+增量备份shell
- 一张图告诉你什么是系统架构师
- art-template辅助函数和子模板
- 化工计算机软件基础考试题,化工原理模拟试题(一)及答案.doc
- Bailian3247 回文素数【素数+回文】(POJ NOI0113-11)
- 身份证归属地查询接口
- PAIP VCF通讯录的乱码以及导入导出
- 卷积神经网络学习路线(十一)| Stochastic Depth(随机深度网络)
- Linux性能优化(七)——网络流量监控工具
- 苹果7如何设置手机邮箱服务器,iphone邮箱设置大全
- openwrt mt7620a添加wifi指示灯(wled)的方法
- Windows 10与微软公有云Azure
- Python 实现 T00ls 自动签到脚本(邮件+钉钉通知)
- 三星i865刷android,三星亮剑,120Hz+1.08亿+高通骁龙865,这才是安卓机皇
- R语言入门——高质量保存图片(想毕业咋就那么难!!!)
- Excel-vba打开word文件读取内容处理并保存至word中