Public Member Functions | |
def | __del__ (self) |
def | __init__ (self, lang, config, validator, audio_ext='wav', phonetic_spelling=True, ssml_tags=None) |
def | begin_audio (self) |
def | clear_cache (self) |
def | end_audio (self) |
def | execute (self, sentence, ident=None) |
def | get_tts (self, sentence, wav_file) |
def | init (self, bus) |
def | load_phonemes (self, key) |
def | load_spellings (self) |
def | modify_tag (self, tag) |
def | save_phonemes (self, key, phonemes) |
def | validate_ssml (self, utterance) |
def | viseme (self, phonemes) |
Static Public Member Functions | |
def | remove_ssml (text) |
Public Attributes | |
audio_ext | |
bus | |
config | |
enclosure | |
filename | |
lang | |
phonetic_spelling | |
playback | |
queue | |
spellings | |
ssml_tags | |
tts_name | |
validator | |
voice | |
Private Member Functions | |
def | _preprocess_sentence (self, sentence) |
Static Private Attributes | |
__metaclass__ = ABCMeta | |
TTS abstract class to be implemented by all TTS engines. It aggregates the minimum required parameters and exposes ``execute(sentence)`` and ``validate_ssml(sentence)`` functions. Args: lang (str): config (dict): Configuration for this specific tts engine validator (TTSValidator): Used to verify proper installation phonetic_spelling (bool): Whether to spell certain words phonetically ssml_tags (list): Supported ssml properties. Ex. ['speak', 'prosody']
Definition at line 144 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.__init__ | ( | self, | |
lang, | |||
config, | |||
validator, | |||
audio_ext = 'wav' , |
|||
phonetic_spelling = True , |
|||
ssml_tags = None |
|||
) |
Definition at line 161 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.__del__ | ( | self | ) |
Definition at line 393 of file scripts/mycroft/tts/__init__.py.
|
private |
Default preprocessing is no preprocessing. This method can be overridden to create chunks suitable to the TTS engine in question. Arguments: sentence (str): sentence to preprocess Returns: list: list of sentence parts
Definition at line 279 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.begin_audio | ( | self | ) |
Helper function for child classes to call in execute()
Definition at line 197 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.clear_cache | ( | self | ) |
Remove all cached files.
Definition at line 342 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.end_audio | ( | self | ) |
Helper function for child classes to call in execute(). Sends the recognizer_loop:audio_output_end message, indicating that speaking is done for the moment. It also checks if cache directory needs cleaning to free up disk space.
Definition at line 202 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.execute | ( | self, | |
sentence, | |||
ident = None |
|||
) |
Convert sentence to speech, preprocessing out unsupported ssml The method caches results if possible using the hash of the sentence. Args: sentence: Sentence to be spoken ident: Id reference to current interaction
Definition at line 293 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.get_tts | ( | self, | |
sentence, | |||
wav_file | |||
) |
Abstract method that a tts implementation needs to implement. Should get data from tts. Args: sentence(str): Sentence to synthesize wav_file(str): output file Returns: tuple: (wav_file, phoneme)
Definition at line 230 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.init | ( | self, | |
bus | |||
) |
Performs intial setup of TTS object. Arguments: bus: Mycroft messagebus connection
Definition at line 219 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.load_phonemes | ( | self, | |
key | |||
) |
Load phonemes from cache file. Args: Key: Key identifying phoneme cache
Definition at line 374 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.load_spellings | ( | self | ) |
Load phonetic spellings of words as dictionary
Definition at line 182 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.modify_tag | ( | self, | |
tag | |||
) |
Override to modify each supported ssml tag
Definition at line 244 of file scripts/mycroft/tts/__init__.py.
|
static |
Definition at line 249 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.save_phonemes | ( | self, | |
key, | |||
phonemes | |||
) |
Cache phonemes Args: key: Hash key for the sentence phonemes: phoneme string to save
Definition at line 357 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.validate_ssml | ( | self, | |
utterance | |||
) |
Check if engine supports ssml, if not remove all tags Remove unsupported / invalid tags Args: utterance(str): Sentence to validate Returns: validated_sentence (str)
Definition at line 252 of file scripts/mycroft/tts/__init__.py.
def mycroft.tts.TTS.viseme | ( | self, | |
phonemes | |||
) |
Create visemes from phonemes. Needs to be implemented for all tts backend Args: phonemes(str): String with phoneme data
Definition at line 332 of file scripts/mycroft/tts/__init__.py.
|
staticprivate |
Definition at line 158 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.audio_ext |
Definition at line 168 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.bus |
Definition at line 163 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.config |
Definition at line 165 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.enclosure |
Definition at line 173 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.filename |
Definition at line 172 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.lang |
Definition at line 164 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.phonetic_spelling |
Definition at line 167 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.playback |
Definition at line 176 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.queue |
Definition at line 175 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.spellings |
Definition at line 179 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.ssml_tags |
Definition at line 169 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.tts_name |
Definition at line 180 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.validator |
Definition at line 166 of file scripts/mycroft/tts/__init__.py.
mycroft.tts.TTS.voice |
Definition at line 171 of file scripts/mycroft/tts/__init__.py.