2

我有一些音频文件在不同的声音(只有说话的话没有音乐或噪音)。 我的目标改变了这一切对于音频一个标准的语音“人”的声音,例如音频文件的语音转换器

例如:

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

Java能做到吗?

+1

所以你想要一个男人的声音在早上叫醒你.. – 2013-05-14 08:19:26

+1

我正在使用这个文件来教英语,孩子们听的声音,他们在他后面重复。所以我不想使用多个声音,因为这会混淆他们。 – 2013-05-14 09:25:10

+1

这是可爱! – 2013-05-14 09:44:07

回答

1

您可能有两个步骤解决此问题:

  1. 您需要一个Java 语音识别工具。我推荐使用Sphinx。我已经使用过它,它可以工作(不完美,但它工作得很好)。看看这个hello worlddemo
  2. 您需要一个文本到语音工具。我强烈建议FreeTTS。默认情况下,只有3个男性声音可用,但很容易导入女性声音。这link将引导你完成这个过程。我可以看到,有一个女声avaliable有:

还的FreeTTS接口与MBROLA合成,并且可以使用MBROLA 声音。有三种可用美国英语MBROLA声音:

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

+0

谢谢,只是为了确定,你的意思是我必须将语音转换为文本,然后将文本转换为语音?“好主意” 是唯一的方法吗?我可以直接做语音转换吗? – 2013-05-14 10:04:37

+0

是的,这个想法是一个双重转换,从语音到文本,然后是文本到语音。我知道这有点令人沮丧,但我并不认为有Java语音转换工具。与文本到语音或语音到文本程序相比,拥有这样的软件并不实际。正因为如此,你可能不得不用它们来实现你想要的; ) – 2013-05-14 10:09:29

+0

谢谢你的帮助:)。 如果你擅长这个,你可以给我一个这个想法的演示代码吗?! 还是很难实现? 再次感谢你:) – 2013-05-14 17:47:16

0

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

不过,转换的结果并不是很自然。转换后的声音听起来不像人类,它包含噪音,语调并不总是自然的,等等。我诚恳地建议你考虑使用人类的声音进行教学。