Application and Driver method
Map textToSpeech(String text, String voice = null)
Returns:
uri: local path to generated mp3
duration: mp3 duration in integer seconds
Returns null if an invalid voice is requested
Parameters:
Type | Parameter | Description |
---|---|---|
String | text | text string to be synthizized, may include inline SSML |
String | voice | AWS poly voice id, defaults to current system setting, currently "Matthew" |
Helper methods:
Map getTTSVoices()
Returns:
name: voiceId
gender: Male | Female
language: languageName
Examples:
//tts
def tts = textToSpeech("What's up guys?") //default voice
def tts = textToSpeech("What's up guys?","Salli") //Salli, Female, English (US)
//SSML
def text = "<amazon:effect name='whispered'>What's going on guys?</amazon:effect><break time='1s'/>guys?"
//sorted voice list suitable for enum input options
def getVoices(){
def voices = getTTSVoices()
voices.sort{ a, b ->
a.language <=> b.language ?: a.gender <=> b.gender ?: a.gender <=> b.gender
}
def list = voices.collect{ ["${it.name}": "${it.language}:${it.gender}:${it.name}"] }
return list
}