3

我有一些不同声音的音频文件(只有口语,没有音乐或噪音)。例如,我的目标是将所有音频更改为一种标准的“男人”声音

例如:

  • 输入:音频文件以女人/男人的声音说“Hello World”。
  • 输出:音频文件说同样的,但在人的声音。

Java可以做到吗?

4

3 回答 3

1

您可能必须分两步解决此问题:

  1. 您需要一个 Java语音识别工具。我建议使用Sphinx 。我已经使用它并且它可以工作(不完美,但它工作得非常好)。看看这个演示hello world
  2. 您需要一个文本转语音工具。我强烈推荐FreeTTS。默认情况下,只有 3 个男声可用,但很容易导入女声。此链接将指导您完成此过程。我可以看到那里有一个女声:

FreeTTS 还与 MBROLA 合成器接口,可以使用 MBROLA 声音。提供三种美式英语 MBROLA 语音:

> 16kHz 女性 (mbrola1) 16kHz 男性 (mbrola2) 16kHz 男性 (mbrola3)

于 2013-05-14T09:50:09.540 回答
0

我认为这取决于你想做什么。

我认为您可以使用合成器来操纵声音。Java 确实有一个使用 Java MIDI 的合成器类。你可能想看看这个。

http://docs.oracle.com/javase/tutorial/sound/MIDI-synth.html

于 2013-05-14T08:15:29.243 回答
0

有执行语音转换的算法,但我怀疑它们是用 Java 实现的。一个好的语音转换脚本是http://festvox.org/ text-to-speech 合成系统的一部分。

尽管如此,转换的结果仍然不是很自然。转换后的声音听起来并不完全像人声,它包含噪音,语调并不总是自然等等。我真诚地建议您考虑使用人声进行教学。

于 2013-05-15T23:23:30.477 回答