Speech recognition 音频分析以检测人类的声音、性别、年龄和情绪——之前有没有做过开源工作?

Speech recognition 音频分析以检测人类的声音、性别、年龄和情绪——之前有没有做过开源工作?,speech-recognition,analysis,speech,emotion,Speech Recognition,Analysis,Speech,Emotion,在“音频分析”领域是否有以前的开源工作来检测人类的声音(比如说,尽管有一些背景噪音),确定说话人的性别,可能确定说话人的数量,说话人的年龄,以及说话人的情绪 我的直觉是,像CMU Sphinx这样的语音识别软件可能是一个很好的起点,但如果有更好的,那就太好了。我是一名从事语音识别研究的研究生。这些都是开放研究的问题,不幸的是,我不知道有哪些开源软件包可以直接完成这些工作 如果您在实现信号处理或机器学习算法方面有一定的背景,您可以尝试使用以下搜索词查找学术论文: 性别识别(有时称为性别识别):从

在“音频分析”领域是否有以前的开源工作来检测人类的声音(比如说,尽管有一些背景噪音),确定说话人的性别,可能确定说话人的数量,说话人的年龄,以及说话人的情绪


我的直觉是,像CMU Sphinx这样的语音识别软件可能是一个很好的起点,但如果有更好的,那就太好了。

我是一名从事语音识别研究的研究生。这些都是开放研究的问题,不幸的是,我不知道有哪些开源软件包可以直接完成这些工作

如果您在实现信号处理或机器学习算法方面有一定的背景,您可以尝试使用以下搜索词查找学术论文:

  • 性别识别(有时称为性别识别):从言语中预测说话人的性别
  • 年龄识别:预测说话人的年龄
  • 说话人识别:从一组可能的说话人中预测出一次讲话中最可能的说话人
  • 说话人验证:接受或拒绝属于说话人的话语(想象一个“声纹”类型的授权系统)
  • 说话人日志化:获取包含多个文件的音频文件,并标记哪些语音片段属于哪个说话人
  • 情绪识别:从言语中预测说话人的情绪(一个非常新的研究领域)
据报道,CMU Sphinx可能是目前领先的开源语音识别器,它不支持说话人识别();我怀疑它是否具有上述任何其他功能

一些学术研究人员在网上发布他们的代码,和/或可能愿意与您共享。搜索Google Scholar可以发现很多人都用Sphinx写过硕士或博士论文,所以这可能是一个很好的起点

最后,你可以尝试实现一个非常粗糙的性别识别算法,而不需要进入语音识别器本身,如果你知道一点信号处理的话。基本上,男性和女性的声音基本频率不同——根据维基百科(),男性的声音在85-180Hz之间,而女性的声音在165Hz-255Hz之间。您可以使用类似于
sox
的方法来确定话语的频谱(使用称为快速傅立叶变换的方法),并根据一些汇总统计数据(如平均频率)将语音分类为“男性”或“女性”(请参阅)。要使这项工作稳定可靠(即使用许多扬声器、麦克风或录音环境),您可以做很多事情。我不确定我是否能预测需要多少时间和精力才能达到70%的准确率,因为这取决于你任务的性质;我的感觉是90%以上肯定很难


祝你好运

使用CMU Sphinx 4提取音调和功率等低级信息可能有点困难(尽管旧版本可能有此功能)。我建议你用普拉特。您可以编写脚本来提取说话人语音中的音调层和每个共振峰。老实说,Praat脚本语言非常可怕,但它可以快速完成许多事情,否则需要很长时间。许多Praat脚本也发布在网上。请参阅。

了解您的语音/非语音分类和日记问题(确定发言者数量和发言时间):有一个开源工具包可以做到这一点(自动,因此输出中当然会有错误)。看看这篇文章:


我觉得性别很难确定。男性和女性的范围有很多重叠。年龄也会有同样的问题。谢谢@Scott-M。你是对的,声音范围可以重叠,但即使区分对70%的病例有效,这对我也有好处。下面的项目是专门针对说话人识别的,但没有成功编译。。。