をエフェクトの適用は、以下のコードが使用され、その目的のためにtext to speech
を変換する(MaryTTS
[実際にはより多くのです])と呼ばれる:Javaの - 私はJavaでライブラリのセットを使用していますMaryTTS声に
public class TextToSpeech {
private AudioPlayer tts;
private MaryInterface marytts;
Map<Integer,String> numbersMap = new HashMap<>();
/**
* Constructor
*/
public TextToSpeech() {
try {
marytts = new LocalMaryInterface();
// Available voices
Voice.getAvailableVoices().stream().forEach(System.out::println);
marytts.setVoice("cmu-slt-hsmm");
} catch (MaryConfigurationException ex) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
}
numbersMap.put(1, "one");
numbersMap.put(2, "two");
numbersMap.put(3, "three");
numbersMap.put(4, "four");
numbersMap.put(5, "five");
numbersMap.put(6, "six");
numbersMap.put(7, "seven");
numbersMap.put(8, "eight");
numbersMap.put(9, "nine");
}
public void setVoice(String voice) {
marytts.setVoice(voice);
}
/**
* Transform number to speech
*
* @param number
*/
public void speak(int number) {
speak(numbersMap.get(number));
}
/**
* Transform text to speech
*
* @param text
*/
public void speak(String text) {
// Stop the previous player
if (tts != null)
tts.cancel();
try (AudioInputStream audio = marytts.generateAudio(text)) {
// Player is a thread(threads can only run one time) so it can be
// used has to be initiated every time
tts = new AudioPlayer();
tts.setAudio(audio);
tts.setDaemon(true);
tts.start();
} catch (SynthesisException ex) {
Logger.getLogger(getClass().getName()).log(Level.WARNING, "Error saying phrase.", ex);
} catch (IOException ex) {
Logger.getLogger(getClass().getName()).log(Level.WARNING, "IO Exception", ex);
}
}
}
問題:
私はドキュメントを検索していますが、それはいくつか種類が乱雑で、私は非常にそれに新しいです。
お役立ちリンク:
http://mary.dfki.de/javadoc/index.html
http://mary.dfki.de/download/index.html
https://github.com/marytts/marytts
私は私が使用した音声にエフェクトを適用する方法を知りたいです。
どういう意味ですか?
は、これは私が同様に探していたものだったこのライブデモンストレーションでhttp://mary.dfki.de:59125/
ありがとうございます!私はあなたのすべての例を試してみるつもりです...それから、何も間違っていれば答えとしてマークします:)。私はもっと何か質問したいと思います。ライブラリーなしでサンプルをどのように実行するのですか?私はそれを初めて使っています。つまり、Mavenなどを使ってインターネットから取り出すのですか?ファイル... – GOXR3PLUS
ライブラリの 'AudioPlayer'はちょっとバグがあるようですので、私は新しいバージョンを実装しました。興味がある場合は、https://github.com/goxr3plus/Java-Text-To-Speech-Tutorial/blob/master/src/model/AudioPlayer.javaで見つけてください。 – GOXR3PLUS
ええ、私はライブラリを持っています作成する。私のgithubプロジェクトを見ると、私の[POM file here](https://github.com/paul-nelson-baker/marytts-hello-world-demo/blob/master/pom.xml)が見えます。リポジトリと依存関係を書き留めます。 –