在“音频分析”领域是否有先前的开源工作来检测人声(比如尽管有一些背景噪音),确定说话者的性别,可能确定没有。演讲者的数量、演讲者的年龄以及演讲者的情绪?
我的预感是,像 CMU Sphinx 这样的语音识别软件可能是一个不错的起点,但如果有更好的东西,那就太好了。
最佳答案
我是一名从事语音识别研究的研究生。这些都是开放的研究问题,不幸的是,我不知道可以开箱即用的开源软件包。
如果您在实现信号处理或机器学习算法方面有一定的背景,您可以尝试使用以下一些搜索词查找学术论文:
根据 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%+ 肯定会很难。祝你好运!
关于speech-recognition - 音频分析以检测人声、性别、年龄和情绪——之前做过任何开源工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5062032/