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",
"documentation": "https://www.home-assistant.io/integrations/microsoft",
"requirements": [
"pycsspeechtts==1.0.2"
"pycsspeechtts==1.0.3"
],
"dependencies": [],
"codeowners": []

View File

@ -14,6 +14,7 @@ CONF_RATE = "rate"
CONF_VOLUME = "volume"
CONF_PITCH = "pitch"
CONF_CONTOUR = "contour"
CONF_REGION = "region"
_LOGGER = logging.getLogger(__name__)
@ -72,6 +73,7 @@ DEFAULT_RATE = 0
DEFAULT_VOLUME = 0
DEFAULT_PITCH = "default"
DEFAULT_CONTOUR = ""
DEFAULT_REGION = "eastus"
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_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_PITCH],
config[CONF_CONTOUR],
config[CONF_REGION],
)
class MicrosoftProvider(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."""
self._apikey = apikey
self._lang = lang
@ -119,6 +125,7 @@ class MicrosoftProvider(Provider):
self._volume = f"{volume}%"
self._pitch = pitch
self._contour = contour
self._region = region
self.name = "Microsoft"
@property
@ -138,7 +145,7 @@ class MicrosoftProvider(Provider):
from pycsspeechtts import pycsspeechtts
try:
trans = pycsspeechtts.TTSTranslator(self._apikey)
trans = pycsspeechtts.TTSTranslator(self._apikey, self._region)
data = trans.speak(
language=language,
gender=self._gender,

View File

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