1 package com.neuronrobotics.bowlerstudio;
3 import java.io.IOException;
4 import java.util.Collection;
6 import java.util.logging.Level;
7 import java.util.logging.Logger;
8 import java.util.stream.Collectors;
9 import java.util.stream.StreamSupport;
11 import javax.sound.sampled.AudioInputStream;
13 import marytts.LocalMaryInterface;
14 import marytts.MaryInterface;
15 import marytts.exceptions.MaryConfigurationException;
16 import marytts.exceptions.SynthesisException;
17 import marytts.modules.synthesis.Voice;
18 import marytts.signalproc.effects.AudioEffect;
19 import marytts.signalproc.effects.AudioEffects;
35 marytts =
new LocalMaryInterface();
37 }
catch (MaryConfigurationException ex) {
38 Logger.getLogger(getClass().getName()).log(Level.SEVERE,
null, ex);
64 try (AudioInputStream audio =
marytts.generateAudio(text)) {
71 tts.setDaemon(daemon);
78 }
catch (SynthesisException ex) {
79 Logger.getLogger(getClass().getName()).log(Level.WARNING,
"Error saying phrase.", ex);
80 }
catch (IOException ex) {
81 Logger.getLogger(getClass().getName()).log(Level.WARNING,
"IO Exception", ex);
82 }
catch (InterruptedException ex) {
83 Logger.getLogger(getClass().getName()).log(Level.WARNING,
"Interrupted ", ex);
84 System.out.println(
"Speaking clean exit");
109 return Voice.getAvailableVoices();
125 return StreamSupport.stream(AudioEffects.getEffects().spliterator(),
false).collect(Collectors.toList());
void setAudio(AudioInputStream audio)
void setSpeakProgress(ISpeakingProgress speakProgress)
void setGain(float fGain)
Collection< Voice > getAvailableVoices()
MaryInterface getMarytts()
List< AudioEffect > getAudioEffects()
int speak(String text, float gainValue, boolean daemon, boolean join, ISpeakingProgress progress)
void setVoice(String voice)