I’ve installed the edge TTS custom component (using HACS) and thought I’d setup different services with the ‘languages’ (voices) to make using different voices easier.
What I’ve found though is that calling the different say services will always use the last language (voice). If I pass the language as a parameter to the TTS service, then it works as expected.
My config looks like:
- platform: edge_tts
service_name: edge_natasha_say
language: en-AU-NatashaNeural
volume: 100.0
- platform: edge_tts
service_name: edge_eloise_say
language: fr-FR-EloiseNeural
volume: 100.0
- platform: edge_tts
service_name: edge_jorge_say
language: es-MX-JorgeNeural
volume: 100.0
- platform: edge_tts
service_name: edge_alonso_say
language: es-US-AlonsoNeural
volume: 100.0
So if I try this:
service: tts.edge_natasha_say
data:
entity_id: media_player.playroom_speaker
message: "Four score and seven years ago our fathers brought forth, upon this continent, a new nation, conceived in liberty, and dedicated to the proposition that all men are created equal."
it sounds like alonso
but if I instead use this, I’ll get what I was expecting:
service: tts.edge_aria_say
data:
entity_id: media_player.playroom_speaker
message: "Four score and seven years ago our fathers brought forth, upon this continent, a new nation, conceived in liberty, and dedicated to the proposition that all men are created equal."
language: en-AU-NatashaNeural
Is this an issue with the custom component, my setup (hopefully), or the core TTS?