Closed ZengHorace closed 4 years ago
你做的应该没有问题,
你要人为的定一个阈值,比如说 thr = 0.5
, 当 你计算的相似度 s>thr
的时候,就说明是同一个人的语音,反之就是不同人的语音。你可以根据实际情况调整 thr 的大小来权衡 False positive rate 和 false negative rate。 如果总的性能很差,那么说明这个模型不好,你可能需要和你测试集类似的数据上进行进一步的训练。
不好意思,我不知道很好的提升跨信道语音验证的方法。收集跨信道数据,然后用这些数据训练可能是一个方案。
谢谢前辈,还有个问题,你的静音检测原理有相关文献吗,调试了一遍代码,没看懂
我用的是很简单的基于能量的的静音检测模块 (VAD)。( 在 silence_detector.py 文件里面的 SilenceDetector class里面)。大致原理就是 计算每一小部分语音的能量 (local energy),如果这个能量小于一个阈值那就认为是静音。我也不清楚有没有参考文献,但这些资料可能会有用。
非常感谢前辈分享的项目 两段语音是一个人说话时同时用两部手机录的,现在要验证这两段语音是否是同一个人,按照这个方式 embed1_1 = model.predict(feature1_1) embed1_2 = model.predict(feature1_2) mul = np.multiply(embed1_1, embed1_2) s = np.sum(mul, axis=1) print(s) 我有两个问题: 1.这种方式对吗? 2.如果对的话,这种方式对跨信道的语音效果比较差,但同信道的效果很好,有其他方法提升跨信道语音验证吗