文章目录
宏观理解技术细节声纹识别发展流程传统方法深度学习的方法多看:声纹识别技术简介——化繁为简的艺术,深入浅出了解声纹识别。
宏观理解
1、困难在哪?
不同的人说话语音波形不同,但是相同的人用不同的语调或者在不同的身体状态下说话其语音波形也不同,还有相同的人说不同的内容波形也不同…那要如何区分出是两个不同人的语音?
2、为什么可识别?
语音具备了一个良好的性质,称为短时平稳,在一个20-50毫秒的范围内,语音近似可以看作是良好的周期信号
3、最重要的特征?
在音调,响度和音色这三个声音(注意,这里我用了声音,而不是语音)的基本属性中,音色是最能反映一个人身份信息的属性。
待看:声纹识别,了解具体算法的演变。
技术细节
如何理解PLDA(概率线性判别分析,Probabilistic Linear Discriminant Analysis)
:
声纹识别之PLDA
声纹识别发展流程
说话人识别的大致发展流程:
GMM | GMM-UBM | JFA | i-vector | i-vector + PLDA | deep learning
(已逐渐成为主流)
按照说话人识别的大致流程做一个简要的梳理,大方向上可以分为传统的方法和深度学习的方法。
传统方法
GMM:收集每个人较多的声学特征,分别训练 GMM 模型。识别时,使用每一个GMM 模型计算测试音频的似然,将似然值最高的 GMM 模型所对应的来源说话人作为识别结果。
GMM 说话人识别的缺点:需要收集每个人的声纹特征,而且需要较多的数据,而实际应用中目标说话人大多只有少数几句语音。因此,有了下面的改进。
↓GMM-UBM:将很多说话人的语料放在一起训练一个 GMM 模型(Universal Background Model,UBM模型)。用每个目标说话人的数据对 UBM 模型做自适应,自适应方法通常是最大后验概率(Maximum a Posterior - MAP)方法。自适应之后就相当于获得了每个说话人的 GMM 模型,然后比较待测语音的似然值即可。↓
JFA:被提出来的联合因子分析法(Joint Factor Analysis,JFA)方法,将说话人GMM均值高斯超向量所在的空间进行了分解,分解为本征空间、信道空间和残差空间。联合因子分析的思路就是抽取和说话人有关的特征而去掉和信道相关的特征。
JFA的优势:把高维说话人特征用低维坐标表示。
JFA的前提假设:说话人特征空间和信道空间独立假设。也就是同一说话人不管如何采集语音,采集多少语音,在说话人特征空间上的参数映射都应该是相同的,而最终的GMM模型参数之所以有差别,都是因为信道空间的不同导致的,但是这种假设在现实中是不存在的。因此后续有提出了更为宽松的假设。
↓
i-vector:用超向量子空间同时描述说话人信息和信道信息,既模拟说话人差异性又模拟信道差异性的空间称为全因子空间(Total Factor Matrix),每段语音在这个空间上的映射坐标称为身份向量(Identity Vector,i-vector)
i-vector 的前提假设:(相对JFA更为宽松的假设)既然声纹信息和信道信息不能完全独立,那就用超向量子空间同时描述说话人信息和信道信息。此时,同一说话人如何采集语音,以及采集多少语音,在这个子空间上的映射坐标都会有所不同,这和实际情况相符。
i-vector 的改进:后续对i-vector进行了许多改进,包括线性区分分析(Linear Discriminate Analysis, LDA),基于概率的线性预测区分分析(Probabilistic Linear Discriminant Analysis, PLDA)甚至度量学习(Metric Learning)等。
i-vector 的特点:同JFA一样,把高维说话人特征用低维坐标表示,性能比 UBM-GMM方法的性能有了显著提升,成为了主流的说话人方法。i-vector在文本无关的声纹识别上表现优异,但在文本有关的识别上不如GMM-UBM,因为其舍弃了太多东西,包括文本差异性。
↓i-vector + PLDA↓
深度学习的方法
参考:
《Kaldi语音识别实战》声纹识别