检测歌曲中人声从哪里开始的最佳方法是什么?我只需要人声的开始时间。不需要极高的精度。速度更重要。
非常感谢任何有关论文或算法的线索(如果存在)。同时寻找关于哪种框架/语言最适合此的建议。
检测歌曲中人声从哪里开始的最佳方法是什么?我只需要人声的开始时间。不需要极高的精度。速度更重要。
非常感谢任何有关论文或算法的线索(如果存在)。同时寻找关于哪种框架/语言最适合此的建议。
*剧透:答案不在下面*
因为我打算做类似的事情,所以我自己对这个主题做了一些研究,发现有一些精确的数字技术可以做到这一点。
我将列出参考资料,让您作为读者来决定这是否是正确的方法。这一切都与人声音频特征提取有关,并在音频数据中找到人声特征。
您可以从这里开始,但它确实不会导致任何地方,但可能有助于了解您的兴趣:)
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# 用于与此相关的东西,起初我使用自己的 fft 算法,然后转移到使用英特尔数学库的 ILNumerics 库,后来用 fftw 替换了所有这些。
http://ilnumerics.net/(嗯,一次免费)
http://software.intel.com/en-us/articles/intel-mkl/ 英特尔数学内核
http://www.fftw.org/(一个简单的网页,但性能很残酷)
编辑:新的fft引擎
由于我正在将我的一些代码移植到 android,因此我与一个做了一些被认为不可能的事情的人获得了很好的工作经验 - FFT 库甚至比 FFTW 更快:FFTS。我对他的魔力的理解是有限的,但他将 codelet 用于各种处理器架构,并且优于所有的库。
检查信号功率对流行音乐没有帮助。这是因为当代流行音乐是高度压缩的。这意味着在制作过程的多个阶段都应用了音频电平压缩器,以使歌曲看起来更响亮。有关更多信息,请参阅术语“响度战争”。例如参考 Caty Perry 的歌曲“firework”。整首歌的音量几乎是恒定的。