最近,我找到了一种用Java制作文本到语音的方法(MaryTTS:http://mary.dfki.de/index.html)
我发现以下代码可在Java中使用它:
public class MaryTTSRemote
{
private MaryInterface marytts;
private AudioPlayer ap;
public MaryTTSRemote(String voiceName)
{
try
{
marytts = new LocalMaryInterface();
marytts.setVoice(voiceName);
ap = new AudioPlayer();
}
catch (MaryConfigurationException ex)
{
ex.printStackTrace();
}
}
public void say(String input)
{
try
{
AudioInputStream audio = marytts.generateAudio(input);
ap.setAudio(audio);
ap.start();
}
catch (SynthesisException ex)
{
System.err.println("Error saying phrase.");
}
}
}
但是,当我尝试运行此类时,我不知道基本语音的名字是什么。有人知道我必须给该类什么字符串才能使其正常工作吗?
最佳答案
您可以通过拨打电话获取可用声音列表
marytts.modules.synthesis.Voice.getAvailableVoices()
这是source code以获得更多信息。