Commit Graph

163 Commits (301b230d2f294e04ab262aca09293fddbdc3fbad)

Author SHA1 Message Date
Kris Gesling 8a1b989935
Merge pull request #2594 from forslund/feature/plugin-system
Plugin system for stt, tts, audioservices and wake word engines
2020-10-19 15:41:35 +09:30
Kris Gesling 6e058e48b5
Merge pull request #2713 from domcross/feature/mozilla_tts
Feature/mozilla tts
2020-10-07 11:39:54 +09:30
domcross 10ded43c65 Mozilla TTS
Clean up imports
2020-10-06 11:44:54 +02:00
domcross 99f534c1ad Mozilla TTS
remove custom cache code
improve url handling
2020-10-05 19:51:00 +02:00
domcross 12ec5cb9b7 Mozilla TTS
Cache handling
2020-10-02 21:48:55 +02:00
domcross d0fb378c56 Mozilla TTS
fix imports and example config
2020-10-02 14:10:41 +02:00
domcross 65e30ba861 Mozilla TTS
fix codestyle
2020-10-01 21:03:52 +02:00
domcross 104c57a528 Mozilla TTS
fix missing import and codestyle
2020-10-01 20:35:08 +02:00
domcross 5be3b54b27 MozillaTTS
Implement TTS module that works with Mozilla-TTS server.

==== Environment Notes ====
Requires a Mozilla-TTS server running preferably in your local network.
2020-10-01 20:07:47 +02:00
Joshua J. A. Harwood 84a5fd8853 Issue-2700 - Allow for different Polly engines in config 2020-09-27 22:49:59 +00:00
Åke Forslund a54090eef2 Add plugin support for tts
Entrypoints registered under "mycroft.plugin.tts" will be detected and
able to run.
2020-09-23 07:46:13 +02:00
Åke Forslund 37e03589f3 Handle numeric duration stretch 2020-09-14 07:43:48 +02:00
Åke Forslund f40c9cc44f Make Global scope variables upper case 2020-09-12 18:18:38 +02:00
Åke Forslund 725b8a8d15 Fix update of duration stretch
Switch from global config to object config
2020-09-12 18:18:02 +02:00
Joan Montané 594c838a00 Add Festival TTS 2020-07-27 18:04:27 +02:00
Åke Forslund 86a978fadf Fix audio service startup without Internet
If started up without Network connection the audio service would crash
importing the google_tts module as it tried to fetch language list from
google.

This restructures it to be a just-in-time check. It also adds a cached
list of supported languages to use if an error occurs fetching language
codes.

A small fix allowing "en-US" to be matched to "en-us" instead of the
generic "en" is also included.
2020-05-27 21:28:26 +02:00
Åke 4ab9469ff7
Merge pull request #2585 from forslund/polly_tts
Add Polly tts
2020-05-15 08:22:25 +02:00
Åke Forslund 094c2c28d0 Test loading of phonetic spelling dictionary
This also normalizes the path slightly to make sure that the phonetic
spelling is loaded even if the lang code contains capitals.
2020-05-12 08:58:18 +02:00
Åke Forslund 1ee8ec0ff9 Generalize Espeak missing error 2020-05-11 16:14:24 +02:00
Åke Forslund 23c04bf9f0 Update ESpeak to modern TTS standard.
- Fixes wait_while_speaking
- Adds Caching support
2020-05-11 16:14:19 +02:00
Åke Forslund f19547860b Update polly access key config to match AWS better
key_id -> access_key_id
secret_key -> secret_access_key
2020-04-19 17:53:02 +02:00
jarbasal 751040d653 default voice 2020-04-19 17:25:56 +02:00
jarbasal 3707df87b3 update to newer TTS architecture 2020-04-19 17:25:38 +02:00
jarbasai 383ac5f69e Add Amazon polly tts 2020-04-19 17:24:56 +02:00
Åke Forslund d51fb126b8 Fix fallback to mimic
After catching exception to clear the isSpeaking flag the exception
shall be re-raised to allow the fallback TTS to trigger.
2020-04-17 20:43:13 +02:00
Luca Vercelli a9cfa513a3 Use lang validator to raise error 2020-04-15 08:58:40 +02:00
luca-vercelli 0718e397c5 Issues-2534 - language fallback fix
update the lang value if currently set language doesn't exist.
2020-04-15 08:57:49 +02:00
Kris Gesling 1b49774091 Generalize custom remote TTS url config 2020-03-26 20:27:39 +09:30
Kris Gesling bcd45dd0fd add learning-opt-out to request params
fix pep-8
2020-03-26 15:41:09 +09:30
Kris Gesling 15ad6c7249 Add configurable API url to Watson TTS
The new IBM Watson TTS service now provides a unique url for your TTS
API resource. This adds a configuration option to override the default
url. As the url provided by IBM contains the api_path, we check for it 
and if found remove it, as the RemoteTTS.__request method appends it 
when making the call.
2020-03-26 13:39:00 +09:30
Åke Forslund b52722faf3 Add dummy TTS backend
The backend doesn't generate any audio playback, only consumes the
messages
2020-03-24 10:42:07 +01:00
Åke Forslund 27de6c72c4 Add empty tts output on execute exception
This will make sure that the isSpeaking flag is cleared correctly
2020-03-24 10:42:07 +01:00
Åke Forslund bdf7f02226 Remove specific metrics thread from TTS system 2020-02-26 07:25:45 +01:00
Åke Forslund b581766a00 Fallback to mimic for bad http status codes
Added a RemoteTTSException exception for non-timeout exceptions, Mimic2
will consider HTTP status code 200-299 as OK while other responses will
trigger raise RemoteTTSException.
2020-02-17 15:08:21 +01:00
Åke Forslund 8f6822278f Clean-up
tts.py:
- remove unused import
-remove unused variable
- init TTS thread enclosure member
mimic2_tts.py: Fix docstrings
mimic_tts: Fix docstrings and remove unused variables and imports
google_tts: Improve docstrings
2020-01-10 16:26:48 +01:00
Åke Forslund 93ff3d7651 Fix mimic2 text preprocessing 2020-01-10 16:26:48 +01:00
Åke Forslund 391b92ce56 Make Factory get Mimic TTS class from normal list
Removes duplicated code and makes method easier to test
2020-01-10 16:26:48 +01:00
Åke Forslund 72adf0465b Move code out of __init__.py 2020-01-10 15:27:07 +01:00
Ansgar Tuemmers c5b6987d0c Prepare for gTTS 2.1.0
Signature of gTTS.__init__ changes in 2.1.0 and breaks calls with
unnamed arguments like gTTS('some text', 'de')
2020-01-04 17:30:45 +01:00
Christian Clauss a1ff3fb355 Upgrade from pycodestyle to flake8 2019-11-19 23:07:52 +01:00
Åke Forslund c8328526b1 Fallback to Mimic if launch of TTS fails
Logs the exception and fallsback to Mimic as TTS backend if there is an
issue with the selected TTS backend or if the choice is invalid.
2019-10-28 14:20:01 +01:00
David Wagner ddad8d1569 Pass listen to end_audio() 2019-10-10 12:11:11 +00:00
David Wagner feac64b2b0 Add listen arg to other TTS classes 2019-10-10 12:09:50 +00:00
David Wagner d9523fd30f Pass listen to end_audio() 2019-10-10 11:54:58 +00:00
David Wagner e45f527af3 Default to False 2019-10-10 11:50:48 +00:00
Åke Forslund abf8a90f07 Add description of the playback thread loop 2019-10-04 15:14:56 +02:00
Åke Forslund 29db163a78 Move listen trigger to last chunk of sentence
If rendering a chunk of a sentence takes too long time, the audio queue
may run out and trigger the listening.

This moves the listening trigger to after the last chunk.
2019-10-04 15:09:45 +02:00
Kirill Kirilenko 58931310e9 Add Yandex TTS support 2019-09-30 20:13:04 +02:00
Andrew Kish 1d2cabd421 Fix missing param when setting up MaryTTS and how it validates a connection 2019-09-26 16:11:02 +02:00
David Wagner cf2791634d Fix bug where no utterance is spoken if cache wav is hit with no visemes cached 2019-09-11 18:44:31 +00:00