0
 import com.sun.speech.freetts.*;
 import java.util.*; 

 public class Demofreetts
  {
   private String speaktext;
   public void doSpeak(String speak, String voice)
    {
     speaktext = speak;
     try
      {
       VoiceManager voiceManager = VoiceManager.getInstance();
       Voice voices = voiceManager.getVoice(voice);
       Voice sp = null;

       if(voices != null)
         sp = voices;

       else
         System.out.println("No Voice Available");



        sp.allocate();
        sp.speak(speaktext);
        sp.deallocate();



      }
     catch(Exception e)
      {
       e.printStackTrace();
      }
    }
   public static void main(String[]args)
   {
    Demofreetts obj = new Demofreetts();
    obj.doSpeak(args[0],"Kelvin16");
   }
  } 

上記のコードにより、次のエラーが発生します。

システム プロパティ「mbrola.base」は未定義です。MBROLAの声は使用しません
ボイスなし
java.lang.NullPointerException
        Demofreetts.doSpeak で (Demofreetts.java:24)
        Demofreetts.main(Demofreetts.java:39)
4

3 に答える 3

1

freetts1.2 API を使用して、Java でテキストを音声に変換できます。使い方はとても簡単です。このリンクは役に立ちます。サンプルプログラムあり

http://learnsharelive.blogspot.com/2011/01/convert-text-to-speech-java-freetts12.html

于 2011-01-28T11:48:28.243 に答える
0

ここに解決策があります

string voice パラメータを次のいずれかに変更します。

1.kevin16 (すべての文字は小文字で書く必要があります) 2.alan (これは、kevin16 音声に代わる次のオプションでもあります。しかし、メッセージ システム プロパティ "mbrola.base" は未定義です。MBROLA 音声を使用しません。まだ存在しますが、幸いなことに、mbrola voice のプロパティを設定することで、この問題を解決できます。

     System.setProperty (" mbrola.base" ,"here the pathof property");.

とにかくうまくいきますので、ぜひお試しください。

于 2017-10-05T12:25:14.920 に答える