PLDA

  • PLDA(Probabilistic Linear Discriminant Analysis)是一种信道补偿算法,认为ivector中既有说话人信息,又有channel信息,想要滤去channel信息(信道),需要对信道进行补偿。
    ref:《Probabilistic Linear Discriminant Analysis for Inferences About Identity》
    其中提到:LDA和PLDA相当于因子分析和主成分分析PCA的关系
因子分析
  • 观测数据的分布,找到其内在的联系,然后用少量的数据描述这个数据结构。即用假想变量表示观测数据。
    在这里插入图片描述
  • 总结就是用多元高斯分布经过仿射变换,加上噪声,用来拟合真实的分布。

https://www.twblogs.net/a/5b7d54e62b71770a43deac32/zh-cn

plda-kaldi

ivector-plda-scoring <plda> <train-ivector-rspecifier> <test-ivector-rspecifier> <trials- rxfilename> <scores-wxfilename>
的第一列要是spk_id,和 的第一列种类相同
的第二列是utt_id,和 的第二列种类相同
需要将句子遍历所有说话人,得到的数目是spk_num*utt_num
其中打分的如果是个文件夹需要自行创建
报的vector:no such file or directory检查对应的文件列id是否匹配,有可能是多一点或者少一点什么
的结果是判别合成的说话人之间的差异,认为合成的不同说话人的差异越大(eer越小),合成语音不同人之间区分度越好
<我的任务>检查和source之间的相似度,因此一个人转换之后的话全部设成non-target----试验不行,如果一个人,全标成nontarget,不能算eer

  • 生成speaker.txt和trials
    speaker.txt是<wav_dir, utt_id>
    trials 是<spk, utt_id, target/nontarget>
    因为是测试转换的和原来的相似度
python gen_spk_test.py wav_dir save.txt

需要自行修改内部的文件
测试证明

  • 如果将source分别标记成target和nontarget,eer并不是所想象的那样很高的错误率,p226只有33.3%
  • 如果将p226和p303按照各自说话人标记,ref集的eer=0%
  • 和句子长短的关系不太大,生成的句子(同一,标为nontarget)在5s内和15s内(保证enroll,test-target相同)得到的eer相同
  • 如果得到分数,但是没有报错却不生成eer,检查trials文件的spk和label标签对应是否正确

参考:【1】画EER曲线,声纹确认https://blog.csdn.net/zjm750617105/article/details/60503253

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值