From 59d0c4e677e5e35966e9d828b349b585df6e7f35 Mon Sep 17 00:00:00 2001 From: johanpalmqvist Date: Wed, 12 Apr 2017 07:56:28 +0200 Subject: [PATCH] Add MaryTTS platform (#2397) * Add MaryTTS platform * Update docs --- source/_components/tts.marytts.markdown | 48 +++++++++++++++++++++ source/images/supported_brands/marytts.png | Bin 0 -> 13480 bytes 2 files changed, 48 insertions(+) create mode 100644 source/_components/tts.marytts.markdown create mode 100644 source/images/supported_brands/marytts.png diff --git a/source/_components/tts.marytts.markdown b/source/_components/tts.marytts.markdown new file mode 100644 index 00000000000..42fff710e1a --- /dev/null +++ b/source/_components/tts.marytts.markdown @@ -0,0 +1,48 @@ +--- +layout: page +title: "MaryTTS" +description: "Instructions how to setup MaryTTS with Home Assistant." +date: 2017-04-08 16:49 +sidebar: true +comments: false +sharing: true +footer: true +logo: marytts.png +ha_category: Text-to-speech +ha_release: 0.43 +--- + +The `marytts` text-to-speech platform uses [MaryTTS](http://mary.dfki.de/) Text-to-Speech engine to read a text with natural sounding voices. + +To enable text-to-speech with MaryTTS, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +tts: + - platform: marytts + host: 'localhost' + port: 59125 +``` + +Configuration variables: + +- **host** (*Optional*): MaryTTS server hostname or IP address. Default is `localhost`. +- **port** (*Optional*): MaryTTS server port. Default is 59125. +- **codec** (*Optional*): Audio codec. Default is `wav`. Supported are `aiff`, `au`, `wav`. +- **voice** (*Optional*): Speaker voice. Default is `cmu-slt-hsmm`. +- **language** (*Optional*): Language to use. Default is `en-US`. Supports 'de', 'en-GB', 'en-US', 'fr', 'it', 'lb', 'ru', 'sv', 'te', 'tr'. + +See [documentation](http://mary.dfki.de/documentation/index.html) for details. + +A full configuration sample: + +```yaml +# Example configuration.yaml entry +tts: + - platform: marytts + host: 'localhost' + port: 59125 + codec: 'wav' + voice: 'cmu-slt-hsmm' + language: 'en-US' +``` diff --git a/source/images/supported_brands/marytts.png b/source/images/supported_brands/marytts.png new file mode 100644 index 0000000000000000000000000000000000000000..39f450d41d80ca0241dec66a98ba675d10fb31e6 GIT binary patch literal 13480 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 Vr_=y^#RvsOML|=(LDu5q{{gjK#;gDU literal 0 HcmV?d00001