我正在一个项目中,我的任务涉及语音/音频/语音比较.该项目用于判断比赛中的获胜者(模仿).实际上我需要捕获用户的语音/语音并将其与原始音频文件进行比较并返回百分比匹配.我需要用R语言开发它.
我已经在R(tuneR,audio,seewave)中尝试过与语音相关的软件包,但在我的搜索中,我无法获得与比较相关的信息.
我需要你们的帮助,在那里,我可以找到与我的工作相关的信息,这是处理这类问题的最佳方法,如果有的话,处理这类音频相关工作的先决条件是什么.
基本上,用于语音/语音比较的最佳功能是 MFCC.
有一些软件可用于提取这些系数:Praat网站
您也可以尝试找到一个lib来提取这些系数.
[编辑:我在tuneR文档中发现它具有提取MFCC的功能 - 搜索功能melfcc()
]
在提取这些功能之后,您可以使用机器学习(SVM,RandomForests或类似的东西)来开发分类器.
我有一个关于说话人识别系统的研讨会,看看它,它可能会有所帮助. (研讨会)
如果您有时间和兴趣,可以阅读:
Authors: Kinnunen, T., & Li, H. (2010)
Paper: an overview of text-independent speaker recognition: From features to supervectors
你得到每个音频采样(带MFCC和/或其他特征)的特征向量后,那么你就需要(比较特征向量对从A特性 与 从B提供):
您可以尝试使用的绝对差值这些特征向量:
ABS(从特征向量 - 选自B的特征向量)
上面的操作结果是一个特征向量,其中每个元素都是> = 0并且它具有相同大小的A(或B)特征向量.
您还可以测试A和B要素之间的逐元素乘法:
(A1*B1,A2*B2,......,An*Bn)
然后你需要标记每个特征向量
(如果人A = =人B则为1,如果人A!=人B则为0).
通常,绝对差异比乘法特征向量更好,但您可以同时使用abs diff和乘法特征附加两个向量并测试分类器的性能.