2

最近我找到了一种用 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.");
        }
    }
}

但是当我尝试运行这个类时,我不知道基本声音有什么名字。有人知道我必须给这个类什么字符串才能让它工作吗?

4

1 回答 1

3

您可以通过调用获取可用语音列表

marytts.modules.synthesis.Voice.getAvailableVoices()

这是源代码以获取更多信息。

于 2015-10-25T05:19:29.480 回答