2

次のエラーが発生します。

システムプロパティ「mbrola.base」は未定義です。MBROLAボイスは使用しません。
import javax.speech.*;
import javax.speech.synthesis.*;
import java.util.Locale;

public class HelloWorld
 {

public static void main(String args[]) 
{

try 
{
// Create a synthesizer for English

Synthesizer synth = Central.createSynthesizer(
new SynthesizerModeDesc(Locale.ENGLISH));

// Get it ready to speak

synth.allocate();

synth.resume();

// Speak the “Hello world” string

synth.speakPlainText("Hello", null);

// Wait till speaking is done

synth.waitEngineState(Synthesizer.QUEUE_EMPTY);

// Clean up

synth.deallocate();

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

}

}
4

6 に答える 6

4

これでまだ苦労している人のために、Eclipseを使用せずにWindowsでプレーンなメモ帳で動作させる方法を説明します。

  1. http://tcts.fpms.ac.be/synthesis/mbrola.htmlにアクセス し、バイナリボイスのダウンロードでPC/WindowsとPC/DOSの2つのパッケージをダウンロードしました。

  2. すべてを解凍し、PC/WindowsバイナリをPC/DOS実行可能ファイルmbrola.exeと同じディレクトリに配置します。mbrola.exeは16ビットであるため私には機能しなかったことに注意してください(図を参照してください!)が、私はこのリンクを見つけました:

    http://sourceforge.net/projects/freetts/forums/forum/137669/topic/1219083
    これには2つのバイナリを含むzipファイルがありました。1つは2004年のもので、64ビットWindowsで動作するように見えました。

  3. 次に、上記のmbrola Webサイトのセクション1で音声をダウンロードしました。女性の音声が必要だったので、us1を取得して、フォルダ全体を
    上記のPC/WindowsバイナリおよびPC/DOS実行可能ファイルと同じディレクトリに配置しました。

  4. コードで次のように指定しました:System.setProperty( "mbrola.base"、 "C:\ devsrc \ main \ Head-Rev \ src \ java \ freetts-1.2 \ mbrola"); voice = vm.getVoice( "mbrola_us1");

そして、私は私の女性の声を得ました。コンパイルフラグやランタイムフラグは必要ありませんでした。

これが誰かを助けることを願っています。

于 2012-12-01T23:29:22.090 に答える
2

私のため :

  1. Mbrola ツールをダウンロードしました

  2. Mbrola Base フォルダをダウンロードしました

  3. Mbrola サイトの MBROLA Voices セクションの取得から必要な音声をダウンロードしました

  4. 手順 3 のファイルを、手順 2 で取得した解凍済みディレクトリに解凍します。

  5. 以下を使用してプロパティ「mbrola.base」を設定します。 System.setProperty("mbrola.base", "E:\\xxx\\xxx\\mbrxxx");

于 2014-02-05T13:02:38.507 に答える
0

コードには、システムにある MBROLA アプリが必要です。そのため、MBROLA がここにあることをアプリケーションに伝える必要があります。

  1. コマンド ラインまたは Eclipse 起動構成から:-Dmbrola.base=/location/to/mbrolaまたは
  2. System.setProperty("mbrola.base", Morbola.class.getName())mbrola JARをクラスパスに入れます。

この同様の質問を参照してください

(いずれかのソリューションを使用できます)

于 2010-10-20T09:05:35.517 に答える
0

mbrola.base を設定するために Windows システムで動作します。 - Windows OS で環境変数「MBROLA_HOME」を設定します。

公開クラス FreeTTSVoice {

private static String path = System.getenv("MBROLA_HOME");
//  System.out.println(path);  

public FreeTTSVoice(){
    System.setProperty("mbrola.base", path);
    listAllVoices();
}

public static void listAllVoices() {
    System.out.println("All voices available:");        
    VoiceManager voiceManager = VoiceManager.getInstance();
    Voice[] voices = voiceManager.getVoices();
    for (int i = 0; i < voices.length; i++) {
        System.out.println("    " + voices[i].getName()
                           + " (" + voices[i].getDomain() + " domain)");
    }

}

...

于 2015-01-25T08:06:10.383 に答える
0

ubuntu を使用しています Windows を使用している場合は、手順 1 と 2 のみが必要です。

mbrolaというフォルダーを作成しました1.オペレーティングシステムlinux用にダウンロードしたmbrola-baseをそこに置きます2.ダウンロードしたus1、us2、us3の抽出フォルダーをこのフォルダーに置きます3.コマンドラインでubuntuにmbrolaをインストールします。sudo apt-get istall mbrola

After installation use this commad to check where your files has located
dpkg -L mbrola
  1. /usr/bin/mbrola ファイルを上記の mbrola フォルダーにコピーしました
  2. 上記プログラム System.setProperty("mbrola.base", "/home/ngs/INCUBATOR/egg-8/libries/MBROLA/mbrola"); へのパスでプログラムを更新します。

これで動作するはずです

于 2016-10-31T10:51:28.863 に答える
0

ダウンロードする代わりに mbrola の Maven リポジトリを使用したため、Java プロジェクトでこのファイルをオーバーライドする必要がありました: com.sun.speech.freetts -> internal_voices.txt とそこに追加:

# Uncomment to allow MBROLA voices:
de.dfki.lt.freetts.en.us.MbrolaVoiceDirectory
于 2015-06-11T05:33:24.607 に答える