检测歌曲中人声开始的最佳方法是什么?我只需要人声的开始时间。无需极高的精度。速度更重要。
非常感谢任何论文或算法的线索(如果存在的话)。还要寻找关于哪种框架/语言最适合此的建议。
答案 0 :(得分:7)
* SPOILER:答案不是*
由于我打算做类似的事情,我自己做了一些关于这个问题的研究,发现有一些确切的数字技术可以做到。
我将列出参考文献,并让读者决定这是否是正确的方法。这一切都与声音音频特征提取有关,并在音频数据中找到声音特征。
你可以从这里开始,但它确实没有引导任何地方,但是看看你有什么用途可能很有用:)
http://en.wikipedia.org/wiki/Voice_activity_detection
然后,一些关于说话人识别的文章:
在这里,您需要了解有关mel frequency cepstral coefficients
(MFCC)特征提取的入门知识。
http://www.speaker-recognition.org/navAlg.html
然后,例如,这个:
http://www.iccce.co.in/Papers/ICCCECE358.pdf
我知道他们都没有直接解决你的问题,但至少你能掌握你将要处理的怪物的大小。
编辑:框架
我使用c#作相关的东西,起初我使用roll-my-own fft算法,然后转移到使用Intel数学库的ILNumerics库,后来用fftw替换了所有这些。
http://ilnumerics.net/(嗯,它一次是免费的)
http://software.intel.com/en-us/articles/intel-mkl/英特尔数学核心
http://www.fftw.org/(一个简单的网页,但是BRUTAL表现)
编辑:新的fft引擎
由于我将一些代码移植到了android上,我有一个很棒的工作经验,一个人做了一些不可思议的事情--FFT库甚至比FFTW更快:FFTS。我对他的魔力的理解是有限的,但是他将codelet用于各种处理器架构,并且优于每个库。
答案 1 :(得分:0)
检查信号功率对流行音乐没有帮助。这是因为当代流行音乐受到高度压缩。这意味着音频级压缩器应用于制作过程的多个阶段,以使歌曲显得更响亮。有关详细信息,请参阅“响度战争”一词。例如,请参阅Caty Perry的歌曲“firework”。整首歌的音量水平几乎不变。