比较两个语音

Posted

技术标签:

【中文标题】比较两个语音【英文标题】:Comparing two speech sounds 【发布时间】:2010-05-28 21:34:41 【问题描述】:

我需要能够确定两个声音是否非常相似。目标是拥有一个非常有限的词汇表(10 或 15 个),由一两个音节的短词组成,然后比较捕获的声音以确定它是否是在环境和捕获条件中具有所有通常可变性的那些项目之一。这个想法是用户可以通过语音而不是键盘或鼠标发出一些简单的命令。

有人知道最好的方法吗?我不想做全面的语音识别,只是做一些更有限的事情。

【问题讨论】:

这是独立于说话者的还是你要为特定的说话者训练它? 听起来很有趣!我会对你得到的任何答案感兴趣。关于语音,我所知道的只是“共振峰”(频谱中的主要峰值)可用于识别语言元素。我不确定语音识别软件是否真的使用了它。 您正在寻找“语音识别”。 声音如何表现? @erickson:共振峰出现在 元音 声音中 - 共振峰的分布决定了我们听到的元音。对于语音识别,我们还需要处理所有其他非元音。 【参考方案1】:

我会重新考虑使用语音识别库...例如CMU's Sphinx 软件或Microsoft's speech recognizer。不幸的是,自己做这件事并不是一项简单的任务。一种有点典型的方法来完成您正在尝试做的事情如下:

1) 将样本切成小段(几毫秒)

2) 对每一段进行傅里叶变换,收集主系数

3) 在给定系数序列的情况下,使用隐马尔可夫模型找出可能的音素转换

4) 映射到将音素描述为单词的字典(您可以查看 Sphinx 字典作为指南)...像您这样的小集合应该会产生出色的结果。


如果您想稍微简化一下,您可以尝试在特定时间步获取系数并将它们输入到 SVM 或神经网络中……我还没有尝试过,但打赌通过一些调整可以得到合理的结果。

【讨论】:

以上是关于比较两个语音的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android中比较两个声音? [关闭]

使用 Python 减去/比较两个音频文件之间的差异

比较两个音频文件。声音匹配[关闭]

微软语音技术 Windows 语音编程初步

语音识别基于语音分帧+端点检测+pitch提取+DTW算法歌曲识别matlab源码

语音识别基于语音分帧+端点检测+pitch提取+DTW算法歌曲识别matlab源码