2

Java アプリケーションで MaryTTS 埋め込みを使用したいと考えています。jar ファイルをダウンロードして、クラスパスに配置しました。このテストを正常に実行できます。

    public static void main(String[] args) throws Exception {
        MaryInterface marytts = new LocalMaryInterface();
        Set<String> voices = marytts.getAvailableVoices();
        marytts.setVoice(voices.iterator().next());
        AudioInputStream audio = marytts.generateAudio("Hello world.");
        AudioPlayer player = new AudioPlayer(audio);
        player.start();
        player.join();
    }

問題は、使用可能な唯一の音声がであるということです。クラスパスにある唯一の jarcmu-slt-hsmmであるため、これは理にかなっています。voice-しかし、他のボイス用の他の jar ファイルがどこにも見つからないため、Mary GUI は他のボイスを問題なく使用できるため、何か間違ったことをしていると思い込んでしまいます。

MaryTTS 埋め込みを使用する場合、他の音声を使用するにはどうすればよいですか?

4

1 に答える 1

4

新しい音声 jar を検索または作成し、この音声 jar をライブラリに追加する必要があります。MaryTTS はコンポーネント インストーラーを使用してこれを行いますが、公式 Web サイトから手動で jar をダウンロードすることを好みます。

使用可能なすべてのボイスのリストは次のとおりです。それで、あなたが追加したいとしましょうvoice-dfki-spike-hsmm。で適切な名前を見つけるmarytts-components.xmlと、リンクは通常次のようになりますhttp://mary.dfki.de/download/5.1/voice-dfki-spike-hsmm-5.1.zip。これで、この音声を簡単に解凍して、maryTTS ソースの隣にあるプロジェクト ライブラリに配置できます。

デモ

Set<String> voices = maryTTS.getAvailableVoices();
for(String v : voices){
    System.out.println("Voice available: " + v);
}

結果:

Voice available: cmu-slt-hsmm
Voice available: voice-dfki-spike-hsmm

maryTTS GUI を使用している場合は、ハード ドライブにすでにすべての音声が保存されている可能性があります。この記事はそれらを見つけるのに役立つかもしれません: http://myrobotlab.org/content/marytts-multi-language-support

PS。TTS ボイス自体には個別のライセンスがあるので、 で確認することを忘れないでくださいmarytts-components.xml。通常はクリエイティブ コモンズですが、音声のライセンスによって商用利用できる場合とできない場合があります。

于 2016-03-18T03:07:59.213 に答える