用于检测人声、性别、年龄和情感的音频分析——之前是不是做过任何开源工作?

Posted

技术标签:

【中文标题】用于检测人声、性别、年龄和情感的音频分析——之前是不是做过任何开源工作?【英文标题】:Audio analysis to detect human voice, gender, age and emotion -- any prior open-source work done?用于检测人声、性别、年龄和情感的音频分析——之前是否做过任何开源工作? 【发布时间】:2011-07-01 00:39:31 【问题描述】:

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

我的预感是,像 CMU Sphinx 这样的语音识别软件可能是一个不错的起点,但如果有更好的东西,那就太好了。

【问题讨论】:

我觉得性别很难确定。男性和女性的范围重叠很多。年龄也会有同样的问题。 感谢@Scott-M。你是对的,音域可以重叠,但即使区分适用于 70% 的情况,这对我也有好处。 下面这个项目是专门做说话人识别的mistral.univ-avignon.fr虽然编译没成功... 【参考方案1】:

我是一名从事语音识别研究的研究生。这些都是开放的研究问题,不幸的是,我不知道可以开箱即用的开源软件包。

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

性别识别(有时称为性别识别):从语音话语中预测说话者的性别 年龄识别:预测说话者的年龄 说话人识别:从一组可能的说话人中预测语音话语中最有可能的说话人 说话者验证:接受或拒绝属于说话者的话语(想象一下“声纹”类型的授权系统) 说话者分类:获取包含多个文件的音频文件并标记哪些语音片段属于哪个说话者 情绪识别:从语音中预测说话者的情绪(一个非常新的研究领域)。

根据http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4-faq.html#speaker_identification,CMU Sphinx 可能是目前领先的开源语音识别器,不支持说话者识别 (http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4-faq.html#speaker_identification);我怀疑它是否具有上述任何其他功能。

一些学术研究人员将他们的代码发布到网上,和/或可能愿意与您分享。搜索 Google Scholar 会发现很多人使用 Sphinx 撰写过硕士或博士论文,因此这可能是一个不错的起点。

最后,如果您对信号处理有所了解,您可以尝试实现一个非常粗略的性别识别算法,而无需进入语音识别器本身。基本上,男性和女性声音的基本频率不同 - 根据*** (http://en.wikipedia.org/wiki/Voice_frequency),男性声音在 85-180Hz 之间,而女性声音在 165Hz-255Hz 之间。您可以使用 sox 之类的东西来确定话语的频谱(使用称为快速傅立叶变换的东西),并根据平均频率等一些汇总统计数据将语音分类为“男性”或“女性”(参见 http://classicalconvert.com/tag/sox/ )。为了使这项工作更加稳健(即使用许多扬声器、麦克风或录音环境),您可以做很多事情。我不确定我是否可以预测要获得 70% 的准确率需要多少时间和精力,因为这取决于您的任务性质;我的感觉是 90%+ 肯定会非常困难。

祝你好运!

【讨论】:

【参考方案2】:

使用 CMU Sphinx 4 提取低级信息(例如音高和功率)可能有点困难(尽管旧版本可能具有此功能)。我建议你使用Praat。您可以编写脚本来提取演讲者声音中的音高等级和每个共振峰。老实说,Praat 脚本语言很可怕,但它可以快速完成许多原本需要很长时间的事情。许多 Praat 脚本也在网上发布。见http://www.fon.hum.uva.nl/praat/。

【讨论】:

【参考方案3】:

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

*** question on diarization

【讨论】:

以上是关于用于检测人声、性别、年龄和情感的音频分析——之前是不是做过任何开源工作?的主要内容,如果未能解决你的问题,请参考以下文章

使用 OpenCV 进行图像中的性别预测和年龄检测

如何检测特定对象 ID 的性别?

基于Tensorflow卷积神经网络(CNN)的人脸年龄和性别检测系统

基于Tensorflow卷积神经网络(CNN)的人脸年龄和性别检测系统

基于Tensorflow卷积神经网络(CNN)的人脸年龄和性别检测系统

文本分类和朴素贝叶斯,你真的理解了吗?