(不确定这里是否是提问的正确地方)
我们正在分析数千个人们说话的声音片段,试图找出音高、音节速率等方面的模式,以便建立一个签名数据库,用于将新的声音片段与情感匹配。
虽然我熟悉一些人工智能算法(例如贝叶斯),但我很好奇是否有人对我们可以使用的算法类型有任何建议。
整体概念(假设是2-5秒的短.wav片段):
soundClip1 -> 'anger'soundClip2 -> 'happy'soundClip3 -> 'sad'...emotion = predict(newSoundClip)
对于一个新的声音片段,我们希望做一些类似于Shazzam的事情,但返回的是片段代表特定情感的概率。
任何建议都将不胜感激!
回答:
尝试在幅度和频率上标准化这些片段,使它们可以比较。
然后测量幅度和频谱属性,如方差、自相关、最小值/最大值的数量等。
这些测量允许将每个片段视为n维空间中的一个向量。你可以使用聚类分析方法来查找邻近的片段。主成分分析(PCA)可能有助于找到更多或更少有意义的属性维度。
需要阅读大量模式识别、信号处理和聚类分析的文本,才能了解可能的做法。