Silero TTS Enhanced — Fast, local, and flexible Text-to-Speech for Home Assistant (HACS + Add-on)

Hey everyone! :waving_hand:
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.

:glowing_star: 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.

:hammer_and_wrench: How to Install

The project is divided into two parts (the engine and the interface):

  1. The Add-on (Engine): Go to Settings -> Add-ons -> Add-on Store. Add the Add-on repository, install it, and click Start.
    :backhand_index_pointing_right: Repository: GitHub - indevor/silero-tts-enhanced-addon: Local, fast, and high-quality Text-to-Speech engine for Home Assistant, based on Silero Models · GitHub

  2. The Integration (HACS): Open HACS, add a custom repository (Category: Integration), install, and restart Home Assistant.
    :backhand_index_pointing_right: Repository: GitHub - indevor/silero-tts-enhanced-hacs: Silero TTS Enhanced - A modern, UI-configurable Home Assistant integration for Silero TTS. · GitHub

:gear: 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!

:books: 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

:light_bulb: 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! :star:

1 Like