1 """Support for the Pico TTS speech service."""
9 import voluptuous
as vol
13 PLATFORM_SCHEMA
as TTS_PLATFORM_SCHEMA,
17 _LOGGER = logging.getLogger(__name__)
19 SUPPORT_LANGUAGES = [
"en-US",
"en-GB",
"de-DE",
"es-ES",
"fr-FR",
"it-IT"]
21 DEFAULT_LANG =
"en-US"
23 PLATFORM_SCHEMA = TTS_PLATFORM_SCHEMA.extend(
24 {vol.Optional(CONF_LANG, default=DEFAULT_LANG): vol.In(SUPPORT_LANGUAGES)}
29 """Set up Pico speech component."""
30 if shutil.which(
"pico2wave")
is None:
31 _LOGGER.error(
"'pico2wave' was not found")
37 """The Pico TTS API provider."""
40 """Initialize Pico TTS provider."""
46 """Return the default language."""
47 return self.
_lang_lang
51 """Return list of supported languages."""
52 return SUPPORT_LANGUAGES
55 """Load TTS using pico2wave."""
56 with tempfile.NamedTemporaryFile(suffix=
".wav", delete=
False)
as tmpf:
59 cmd = [
"pico2wave",
"--wave", fname,
"-l", language,
"--", message]
63 with open(fname,
"rb")
as voice:
66 _LOGGER.error(
"Error trying to read %s", fname)
def default_language(self)
def supported_languages(self)
def get_tts_audio(self, message, language, options)
None open(self, **Any kwargs)
def get_engine(hass, config, discovery_info=None)