0

我正在尝试在 CentOS 机器上使用 mbrola 二进制文件。我尝试了下面页面上列出的许多二进制文件,但没有一个有效。 http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html

我收到以下错误 -

Processing Utterance: com.sun.speech.freetts.ProcessException: Cannot start mbrola program:

我相信这很可能是 CentOS 不兼容的二进制文件。您能否告诉我是否有可用于 CentOS 的二进制文件?

代码 -

public static void createAudioFile(String text, String fileName) {
        AudioPlayer audioPlayer = null;

        //System.setProperty("freetts.voices", "com.sun.speech.freetts.en.us.cmu_time_awb.AlanVoiceDirectory");
        System.setProperty("mbrola.base", Constants.mbrolaDiskPath);
        Voice voice;
        VoiceManager vm =  VoiceManager.getInstance();
        voice = vm.getVoice("mbrola_us1");
        voice.allocate();

        try{
            String directoryPath = audioDir+fileName;
            audioPlayer = new SingleFileAudioPlayer(directoryPath,Type.WAVE);
            voice.setAudioPlayer(audioPlayer);
            voice.speak(text);
            voice.deallocate();
            audioPlayer.close();

        }
        catch(Exception e){
            e.printStackTrace();
        }

    }
4

1 回答 1

0

我从以下位置找到了 CentO 的 Mbrola 二进制文件 - http://rpm.pbone.net/index.php3/stat/4/idpl/30430620/dir/centos_7/com/mbrola-301h-7.1.x86_64.rpm.html#内容

要遵循的步骤 - 1. 下载以下 rpm ftp.gwdg.de mbrola-301h-7.1.x86_64.rpm

  1. 运行 > rpm -ivh mbrola-301h-7.1.x86_64.rpm。这会将 mbrola 二进制文件安装到 /usr/bin 中。

  2. 将 /usr/bin/mbrola 复制到您的首选位置并将 mbrola.base 设置为 -System.setProperty("mbrola.base", Constants.mbrolaDiskPath);

完毕。

于 2016-03-27T05:23:00.263 回答