使用kevin或mbrola时使用Freetts的例外情况

man*_*pt1 7 java text-to-speech jsapi

我正在尝试使用freetts运行程序.我能够编译程序但是我无法使用kevin或mbrola语音我最后得到了输出消息

系统属性"mbrola.base"未定义.不会使用MBROLA的声音.
LINE UNAVAILABLE:格式为pcm_signed 16000.0 Hz 16位1通道大端

import javax.speech.*;
import javax.speech.synthesis.*;
import java.util.*;

class freetts {

    public static void main(String[] args) {
        try{ 
            Calendar calendar = new GregorianCalendar();
            String sayTime = "It is " + calendar.get(Calendar.HOUR) + " " + calendar.get(Calendar.MINUTE) + " " + (calendar.get(Calendar.AM_PM)==0 ? "AM":"PM");
            Synthesizer synth = Central.createSynthesizer(null);
            synth.allocate();
            synth.resume();
            synth.speakPlainText(sayTime, null);
            synth.waitEngineState(Synthesizer.QUEUE_EMPTY);
            synth.deallocate();
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Joh*_*ane 2

似乎“要启用 FreeTTS 对 MBROLA 的支持,只需将 mbrola/mbrola.jar 复制到 lib/mbrola.jar 即可。然后,每当您运行任何 FreeTTS 应用程序时,请将“mbrola.base”目录指定为系统属性:

  java -Dmbrola.base=/home/jim/mbrola -jar bin/FreeTTSHelloWorld.jar mbrola_us1"
Run Code Online (Sandbox Code Playgroud)

我在以下位置找到了这个:

http://freetts.sourceforge.net/mbrola/README.html