Fix microsoft tts (#28199)

* Update pycsspeechtts

From 1.0.2 to 1.0.3 as the old one is using an api that doesn't work

* Give a option to choose region

Api is now region dependent, so gave it a config
This commit is contained in:
gngj 2019-10-25 20:42:23 +03:00 committed by Paulus Schoutsen
parent 2c914e0c59
commit d28f7ab120
3 changed files with 11 additions and 4 deletions

View File

@ -3,7 +3,7 @@
"name": "Microsoft", "name": "Microsoft",
"documentation": "https://www.home-assistant.io/integrations/microsoft", "documentation": "https://www.home-assistant.io/integrations/microsoft",
"requirements": [ "requirements": [
"pycsspeechtts==1.0.2" "pycsspeechtts==1.0.3"
], ],
"dependencies": [], "dependencies": [],
"codeowners": [] "codeowners": []

View File

@ -14,6 +14,7 @@ CONF_RATE = "rate"
CONF_VOLUME = "volume" CONF_VOLUME = "volume"
CONF_PITCH = "pitch" CONF_PITCH = "pitch"
CONF_CONTOUR = "contour" CONF_CONTOUR = "contour"
CONF_REGION = "region"
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -72,6 +73,7 @@ DEFAULT_RATE = 0
DEFAULT_VOLUME = 0 DEFAULT_VOLUME = 0
DEFAULT_PITCH = "default" DEFAULT_PITCH = "default"
DEFAULT_CONTOUR = "" DEFAULT_CONTOUR = ""
DEFAULT_REGION = "eastus"
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
{ {
@ -87,6 +89,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
), ),
vol.Optional(CONF_PITCH, default=DEFAULT_PITCH): cv.string, vol.Optional(CONF_PITCH, default=DEFAULT_PITCH): cv.string,
vol.Optional(CONF_CONTOUR, default=DEFAULT_CONTOUR): cv.string, vol.Optional(CONF_CONTOUR, default=DEFAULT_CONTOUR): cv.string,
vol.Optional(CONF_REGION, default=DEFAULT_REGION): cv.string,
} }
) )
@ -102,13 +105,16 @@ def get_engine(hass, config):
config[CONF_VOLUME], config[CONF_VOLUME],
config[CONF_PITCH], config[CONF_PITCH],
config[CONF_CONTOUR], config[CONF_CONTOUR],
config[CONF_REGION],
) )
class MicrosoftProvider(Provider): class MicrosoftProvider(Provider):
"""The Microsoft speech API provider.""" """The Microsoft speech API provider."""
def __init__(self, apikey, lang, gender, ttype, rate, volume, pitch, contour): def __init__(
self, apikey, lang, gender, ttype, rate, volume, pitch, contour, region
):
"""Init Microsoft TTS service.""" """Init Microsoft TTS service."""
self._apikey = apikey self._apikey = apikey
self._lang = lang self._lang = lang
@ -119,6 +125,7 @@ class MicrosoftProvider(Provider):
self._volume = f"{volume}%" self._volume = f"{volume}%"
self._pitch = pitch self._pitch = pitch
self._contour = contour self._contour = contour
self._region = region
self.name = "Microsoft" self.name = "Microsoft"
@property @property
@ -138,7 +145,7 @@ class MicrosoftProvider(Provider):
from pycsspeechtts import pycsspeechtts from pycsspeechtts import pycsspeechtts
try: try:
trans = pycsspeechtts.TTSTranslator(self._apikey) trans = pycsspeechtts.TTSTranslator(self._apikey, self._region)
data = trans.speak( data = trans.speak(
language=language, language=language,
gender=self._gender, gender=self._gender,

View File

@ -1132,7 +1132,7 @@ pycomfoconnect==0.3
pycoolmasternet==0.0.4 pycoolmasternet==0.0.4
# homeassistant.components.microsoft # homeassistant.components.microsoft
pycsspeechtts==1.0.2 pycsspeechtts==1.0.3
# homeassistant.components.cups # homeassistant.components.cups
# pycups==1.9.73 # pycups==1.9.73