#TTS speed (pauses between sentences)
1 messages · Page 1 of 1 (latest)
Ahh yes. That would be important. I am using piper.
The slowing down of notifications and replies from voice assistant.
You're using the add-on for it?
Yes.
Then I'll leave that for somebody who uses that and can answer it 😄
I use commas, dots and new line symbols. But I guess you need something bigger than usual?
That is pretty much what I am doing. I have not tried newline symbols. What are they? Here is a reply for the temperature querry.
"The temperature is 13.5 degrees, in the shed, 19.3 degrees, , inside, and, 8.4 degrees, outside."
\n is new line symbol. But actually I don't use so much commas 🙂 just regular amount. Probably, your TTS is broken somehow?
I just changed the voice and it is a bit better paced. (To northern english male medium from southern english female low)
You can use SSML syntax:
https://cloud.google.com/text-to-speech/docs/ssml (for Speech on Android devices)
https://docs.aws.amazon.com/de_de/polly/latest/dg/supportedtags.html (for Speech on Amazon devices)
There are several tags that can be used generally on all devices.
That is a brilliant resource. Thank you. This is perfect. Now to find two seconds to write some yaml.
I changed my text in the intent_script.yaml and Home Assistant froze. I went in to safe mode and edited the code to something vanilla and it booted fine. It's a worry that such a simple change can disrupt the house without warning.
Are you trying to pace answers of voice assistants (the short answers like “turned off the switch”)
Or are you trying to pace your own notification that you generate yourself via tts.speak or any other action ?
Neither of the SSML options above seem to work with intent scripts.
SSML works when used like this (and output device supports SSML):
action: notify.alexa_media_echo_dot
metadata: {}
data:
message: |-
<speak>
<audio src="soundbank://soundlibrary/sports/crowds/crowds_09"/>
<amazon:emotion name='excited' intensity='medium'>
Five seconds till lift off!
<say-as interpret-as='digits'>54321</say-as>.
Lift off!
</amazon:emotion>
</speak>
data:
type: tts
I was just using the intents sent to piper and then through to the esp32. I am using custom_senstences and intent_script.yaml. As per https://www.home-assistant.io/integrations/intent_script/
Example (yes it needs some conditions for absent data incorporated):
HOForecast:
speech:
text: "The BOM forecast for Eaglemont,,
Today,,,,
{{states.sensor.eaglemont_extended_text_0.state}},,
Minimum temperature {{states.sensor.eaglemont_temp_min_0.state}}°,,
Maximum temperature {{states.sensor.eaglemont_temp_max_0.state}}°,,
Rain chance {{states.sensor.eaglemont_rain_chance_0.state}}% of {{states.sensor.eaglemont_rain_amount_range_0.state}}millimetres,,
UV index {{states.sensor.eaglemont_uv_category_0.state}},,
Fire danger {{states.sensor.eaglemont_fire_danger_0.state}},,,,
Tomorrow,,,,
{{states.sensor.eaglemont_extended_text_1.state}},,
Minimum temperature {{states.sensor.eaglemont_temp_min_1.state}}°,,
Maximum temperature {{states.sensor.eaglemont_temp_max_1.state}}°,,
Rain chance {{states.sensor.eaglemont_rain_chance_1.state}}% of {{states.sensor.eaglemont_rain_amount_range_1.state}}millimetres,,
UV index {{states.sensor.eaglemont_uv_category_1.state}},,
Fire danger {{states.sensor.eaglemont_fire_danger_1.state}}"
Never tried SSML using intent script. Give it a try wrapping the text with SSML tags within <speak> container.