使用java从wav文件中提取人类的声音
我正在从事一个项目,我必须使用
java从音频.wav文件中提取人类的声音.
音频.wav文件可能有3到4个声音,如狗,猫,音乐和人类.我将必须识别人类的声音,然后从音频.wav文件中删除该部分. 我正在使用FFT.java和Complex.java. 现在我写了一个AudioFileReader类,它从硬盘驱动器读取audio.wav文件,然后将其转换为字节数组.然后使用上面提到的FFT.java和Complex.java应用FFT.fft(bytesArray),它给出了复数数组的返回值; 现在的问题是如何从返回的Complex数组中提取人类的声音字节模式…有没有人知道我可以如何实现这一点? 编辑:我们假设一个非常简单的audio.wav文件.例如,猫的声音然后沉默,人的声音然后沉默,狗的声音然后沉默等没有混合的声音. 解决方法
我认为处理这样??的问题的标准方法是将输入信号转换成倒谱或梅尔倒谱表示,然后使用特征空间的系数输入到分类器中.有很多研究论文基于这种基本方法讨论了解决这些问题的方法,例如:
http://www.ics.forth.gr/netlab/data/J17.pdf 您可能尝试的一个可能的捷径是将输入信号通过诸如AMBE的低比特率声码器进行解码,然后将原始信号的质量与编码/解码的信号进行比较.这些声码器被设计为以不能充分代表非言语声音为代价,以高质量高度压缩人类言语. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |