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

Muh*_*jaz 10 java algorithm signals javasound

我正在开发一个项目,我必须使用java从音频.wav文件中提取人声.

音频.wav文件可能有3到4个声音,如狗,猫,音乐和人类.我将不得不识别人声,然后从音频.wav文件中提取该部分.

我正在使用FFT.javaComplex.java.

现在我编写了一个AudioFileReader类,它从硬盘驱动器中读取audio.wav文件,然后将其转换为bytes数组.然后使用上面提到的FFT.java和Complex.java来应用FFT.fft(bytesArray),它给出了复数数组作为回报;

现在的问题是如何从返回的复杂数组中提取人类声音字节模式...有谁知道我怎么能够实现这一点?


编辑:我们假设一个非常简单的audio.wav文件.例如,猫声然后沉默,人声然后沉默,狗声然后沉默等没有混合的声音.

And*_*son 1

这可以通过人工智能来实现(仅此而已)。您可能会研究用于语音识别的 API,但我怀疑它们支持背景噪声信号的能力。

例如

  • 那是一只猫,还是有人在说“喵”?
  • 那是音乐,还是有人在唱“do, re, mi..”?
  • 谁说“波莉想要饼干”,是人类还是鹦鹉?