加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用java从wav文件中提取人类的声音

发布时间:2020-12-15 00:21:02 所属栏目:Java 来源:网络整理
导读:我正在从事一个项目,我必须使用 java从音频.wav文件中提取人类的声音. 音频.wav文件可能有3到4个声音,如狗,猫,音乐和人类.我将必须识别人类的声音,然后从音频.wav文件中删除该部分. 我正在使用FFT.java和Complex.java. 现在我写了一个AudioFileReader类,它从
我正在从事一个项目,我必须使用 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的低比特率声码器进行解码,然后将原始信号的质量与编码/解码的信号进行比较.这些声码器被设计为以不能充分代表非言语声音为代价,以高质量高度压缩人类言语.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读