声纹识别相关&安装VMware-ubuntu&linux操作

    xiaoxiao2022-07-04  123

    cd /mnt/ghfs

    使用VMware新建一个Linux系统虚拟机 Centos7安装Python3的方法 CentOs下安装gcc/g++/gdb

    Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)

    Linux 虚拟机 安装

    一、声纹识别:你的声音是这样被“破译”的! 得到了特征向量(均值超矢量),我们接下来就是计算输入语音与系统中注册的说话人模型之间的相似性,也就是进行打分。在说话人确认中采用的一种方法就是计算似然比得分。已知H0表示测试语音X来自说话人S,已知H1表示测试语音X不是来自说话人S,那么似然比得分可以表示为   当得分Score(X)大于阈值时,表示测试语音属于说话人S,小于阈值则不属于该说话人。

    Dehak提出I-Vector,实际上是从上面GMM均值超矢量的基础上提取的一个更为紧凑的矢量,称之为Identity Vector,相当于说话人的身份标识。I-vector方法采用全局差异空间代替信道空间和残差空间。

    提取到的I-vector可以直接作为特征进行计算,可以直接计算注册人语音与测试语音I-vector之间的cos距离作为相似性得分。但是考虑到全局差异空间T中的说话人信息和信道信息不再区分,提取出的I-vector可能不是最优,因此可以考虑进行信道补偿,以提高I-vector的准确性。实现信道补偿的常用算法是PLDA(概率线性区分性分析)。

    上面介绍的这些模型都是经典模型,深度学习在说话识别场景下的普及并没有在图像和语音识别领域那么迅速,2017年上半年百度提出了一种新型的深度模型用于说话人识别场景——DeepSpeaker。

    相比于传统I-Vector而言,**Deep Speaker是一种端到端的结构,将特征提取和分类融合到了一起,最终直接打分结果。**论文中提出的深度结构如下图所示。

    文章提出使用深度残差CNN(ResCNN,单元结构如下图所示)逐帧的从语句中提取特征,然后将同一个语句的多个帧级特征求平均,也就是将帧级别的特征表示转变为语句级别的特征表示,然后通过一个affine层和长度归一化层,将语句级特征变为说话人特征,即Speaker Embedding。网络的核心是采用了用于人脸识别中的triplet loss作为损失函数进行训练。

    采用triplet loss训练,实际上就是用一个来自特定说话人的样本作为Anchor,一个来自同一说话人的样本作为positive,一个来自不同人的样本作为negative,训练过程就是最小化同类说话人之间的余弦距离,最大化不同说话人之间余弦距离的过程。

    论文中除了采用ResCNN逐帧提取特征之外,还用了CNN与三层GRU组合的深度结构来提取特征,后面的average sentence层,affine层,lengthnormolization层以及训练规则都是相同的。

    实验在三个数据集上都取得了很大的性能提升。

    说话人识别实际上是一个很有趣(???)的方向,结合其他技术能创造出很有价值的产品,例如,可以使用声纹来登录设备,说话人的验证也可以作为金融交易的额外安全措施。此外,像智能家居助理这样的共享设备可以利用这种技术来根据当前用户提供个性化服务。

    二、声纹识别之PLDA算法描述 三、【kaldi】声纹识别之X-vector 四、文本无关的声纹识别 验证 五、什么是语音识别?(讲的比较全面)

    业界 | 百度提出 Deep Speaker:可用于端到端的大规模说话人识别 Deep Speaker 2 speaker embedding???? Deep Speaker,这是一个基于神经网络的说话人嵌入系统(neural speaker embedding system),这个系统可以将话语映射到一个超平面,从而可以通过余弦相似度来衡量说话人的相似度(感觉类似word embedding?)。由 Deep Speaker 生成的嵌入可以被用在很多任务中,包括说话人识别、说话人验证和聚类。我们的实验使用了 ResCNN 和 GRU 架构来提取声学特征,然后平均池化以生成语句层面说话人嵌入,并用基于余弦相似度的 triplet loss 来训练。在三个不同数据集上的实验表明 Deep Speaker 的表现要优于基于 DNN 的 i-vector 的基准结果。例如,在一个独立于文本的数据集上,Deep Speaker 将说话人验证的等错误率(EER)相对降低了 50%,把说话人识别的准确率相对提升了 60%。我们还有一些实验结果表明调整在普通话上训练过的模型可以提升英语说话人识别的准确率。

    资料: https://blog.csdn.net/KevinBetterQ/article/details/82670320 https://www.zhihu.com/people/leonjin/answers?page=1 https://zhuanlan.zhihu.com/voicebiometrics



    kaldi 运行环境最少所需配置 kaldi 安装 Kaldi(B1)Windows上的编译运行Debug Kaldi学习手记(一):Kaldi的编译安装 kaldi中声纹识别例子大概步骤综述 【Kaldi 新手入门】手把手教你搭建简易英文数字ASR系统

    【kaldi中的声纹识别 还有别的教程】(讲的比较全面 如何进行实验 和用自己的数据集) 语音识别——基于深度学习的中文语音识别tutorial(代码实践 Python实现 写的很详细) input为输入音频数据,需要转化为频谱图数据,然后通过cnn处理图片的能力进行识别。


    说话人识别相关:

    sre16 kaldi中改写sre10/v1用timit dataset做说话人识别总结 Kaldi 说话人识别之aishell V1 模型(一)




    语音识别标准中WER和SER解释


    比较好的博客: 说话人提取到i-vector后怎么做分类?

    最新回复(0)