Hey everyone! ![]()
I’ve put together a combination of a Home Assistant Add-on and a HACS integration for the local Silero TTS engine. The goal of this project is to provide a modern, UI-friendly, and highly customizable Text-to-Speech experience specifically tailored for Home Assistant automations.
Key Features & Advantages
-
100% UI Configured: Say goodbye to YAML configs. The integration uses Config Flow and Options Flow (you can change settings without reinstalling). It also integrates natively with Assist (Home Assistant's Voice Assistant).
-
Instant Response (RAM Caching): Downloaded models are cached in RAM. Switching between languages or any of the 100+ available voices happens instantly (in milliseconds) with no generation delay. The first launch may take longer than expected - the model will be downloaded from the internet. Subsequent launches are instant.
-
On-the-fly Parameter Control: You don't need to create separate entities for different voices or rooms. You can dynamically change the model, speaker, language, and text preprocessing settings directly in your YAML automations.
-
Pronunciation Correction: Supports manual stress/accent marks (by placing a + sign before a vowel) to fix homograph pronunciation issues.
How to Install
The project is divided into two parts (the engine and the interface):
-
The Add-on (Engine): Go to Settings -> Add-ons -> Add-on Store. Add the Add-on repository, install it, and click Start.
Repository: GitHub - indevor/silero-tts-enhanced-addon: Local, fast, and high-quality Text-to-Speech engine for Home Assistant, based on Silero Models · GitHub -
The Integration (HACS): Open HACS, add a custom repository (Category: Integration), install, and restart Home Assistant.
Repository: GitHub - indevor/silero-tts-enhanced-hacs: Silero TTS Enhanced - A modern, UI-configurable Home Assistant integration for Silero TTS. · GitHub
How to Configure
After installing and restarting HA, go to Settings -> Devices & Services -> Add Integration . Search for Silero TTS Enhanced.
Enter your Home Assistant IP address with the Add-on port (e.g., http://192.168.1.100:8014), and select your preferred default language, model, and speaker. That's it!
Available Models & Voices
The integration supports all current models from the official Silero Models repository.
The dropdown menus include the most popular ones out of the box:
-
English and more other languale: v3_en (117 voices: en_0, en_1 ... en_117, random)
-
Other languages: Russian (v5_ru), German (v3_de), Spanish (v3_es), French (v3_fr), etc.
Pro tip: The "Model" and "Language" fields in the settings support custom input. If a new model like v5_en is released tomorrow, you don't need to wait for an integration update—just type the new name manually, and the add-on will download it automatically!
Voice samples [EN] v3: Silero English v3 audio samples
Automation Examples
Basic call (uses default settings):
codeYaml
service: tts.speak
target:
entity_id: tts.silero_tts_enhanced
data:
media_player_entity_id: media_player.living_room_speaker
message: "Hello, the smart home system is ready."
Overriding voice and model "on-the-fly":
codeYaml
service: tts.speak
target:
entity_id: tts.silero_tts_enhanced
data:
media_player_entity_id: media_player.living_room
message: "Hello world, the smart home is ready."
language: "en"
options:
model_id: "v3_en"
voice: "en_24" # Changes the voice just for this specific phrase
Feedback and suggestions are highly appreciated! Feel free to test it out and drop a star on GitHub if you find it useful! ![]()