算法建议:比较声音片段

Algorithm suggestion: comparing sound clips

(不确定这是否是这个问题的正确位置)

我们正在分析数以千计的人们谈话的声音片段,试图找到音高、音节频率等方面的模式,以便提出一个签名数据库,将新的声音片段与情绪相匹配。

虽然我熟悉一些 AI 算法(例如贝叶斯),但我很好奇是否有人对我们可以使用的算法类型有任何想法。

总体概念(图短 2-5 秒 .wav 剪辑):

soundClip1 -> 'anger'
soundClip2 -> 'happy'
soundClip3 -> 'sad'
...
emotion = predict(newSoundClip)

给定一个新的声音片段,我们想做一些类似于 Shazzam 的事情,除了返回片段代表特定情绪的概率。

如有任何建议,我们将不胜感激!

尝试根据振幅和频率对剪辑进行归一化,使其具有可比性。

然后测量幅度和频谱属性,如方差、自相关、minima/maxima 的数量等。

这些测量允许将每个剪辑视为 n 维向量 space。您可以使用聚类分析方法来查找相邻的剪辑。主成分分析 (PCA) 可能有助于找到或多或少有意义的 属性 个维度。

需要大量阅读模式识别、信号处理和聚类分析的书籍才能了解什么是可能的。