Get BETTER text-to-speech announcements in Home Assistant
How to level up your home automation announcements in Home Assistant using Chime TTS and ElevenLabs.

Introduction
One of the amazing things about creating home automations in Home Assistant is that you can have a custom message played across any connected speaker in your home.
For example, you could broadcast an announcement that someone is at the front door, that the washing machine is done, play a joke other people in your home, or just about anything else that you can imagine.



There are so many possibilities for using text-to-speech (TTS) announcements in Home Assistant automations.
But there are at least three problems with text-to-speech, or TTS, announcements. First, having the voice of someone not in your household just start speaking out of nowhere can be really jarring. I can vividly recall our son running for us and crying when a voice he didn’t recognize suddenly started telling him, “It’s time to take out the trash.” Second, if you try to add in your own custom sound effect prior to the voice speaking, you are left with an annoying delay. And third, most TTS voices sound stilted and not very natural.
I’m going to show you how to solve all of these issues and create home automation announcements in Home Assistant that play a seamless, audible chime prior to speaking, and that speak with more natural sounding voices.
Main Points
The Solution
This solution is made possible by two Home Assistant integrations: Chime TTS, and ElevenLabs. Chime TTS allows you to add custom sound effects, and ElevenLabs offers high-quality, natural sounding TTS voices. I’ll cover what each is, how they work, how to set them up, and how to use them in your Home Assistant automations.
Chime TTS Overview
Let’s start with Chime TTS. Chime TTS is a custom component for Home Assistant that combines TTS audio and sound effects into one seamless audio message for playback in a single action.
This means you can have a sound effect play before an announcement broadcasts over your smart speakers, without any lag and without surprising anyone in the home.
Any media currently playing will have its volume lowered during the announcement, and then resumed to normal volume once the announcement finishes. You can configure media player volume, TTS speed and pitch, delays, and more using the Chime TTS integration.
My family and I find it much less shocking and more pleasant when a sound effect plays first, before a voice suddenly starts talking to us out of thin air.

Chime TTS Installation
To setup Chime TTS in Home Assistant, you’ll need to add a custom component in HACS, and then install the integration, both of which are quick to do.
Visit the Chime TTS installation page, and click Open HACS Repository on My Home Assistant.
When prompted, click Add. Then, click Download. After the download completes, restart Home Assistant.
Once Home Assistant has restarted, go to Settings > Devices & services > add integration > search for Chime TTS > click OK to set it up > click Finish.






Chime TTS installation for Home Assistant
Chime TTS Configuration
From the integration, there are many configuration options. At a minimum, you will need at least one TTS Platform configured in Home Assistant, such as Amazon Polly, Google Translate Text-to-Speech, Home Assistant Cloud, or others.
If you’re not sure which TTS platform to get started with, I started out with Google Translate Text-to-Speech since it was free and easy to use. I’ve since started using ElevenLabs, which I’ll cover later in this video.
For anyone looking to play announcements from Amazon Echo devices using Alexa Media Player, the MP3 files must be publicly accessible from outside your local network. This means you’ll need to save audio files in the public facing www directory. You can learn more about using Chime TTS with Alexa here.
But I’ll show you how I’m saving custom sound effects in my Home Assistant. Within my config, I have a www folder, and within that I created a folder called custom_audio, where I save the sound effect that I want to play before an announcement begins.
The particular sound effect that I’m using is just one that I grabbed off the internet, but you can use any MP3 sound effect that you’d like.
I point to the path of this MP3 file from the Chime TTS configuration under, “Folder path for custom chime audio files.” You can also see the folder paths that I’m using for the other options if you’d like to replicate my same setup. Remember to click Submit after making any changes.




Chime TTS configuration for Home Assistant
ElevenLabs Overview
Now you could just stop there. Chime TTS will allow you to seamlessly play a custom sound effect prior to audio announcements over the media players in Home Assistant. I’ve been using it for ages, and it works great. But if you also would like your announcements to use more natural sounding voices, then you may want to use ElevenLabs as your text-to-speech platform in Home Assistant.
ElevenLabs is free to to get started with, allowing you to use 10,000 credits per month, which is equivalent to about 10 minutes of audio. If you’re just using this for periodic and brief home automation announcements like I am, the free tier should be sufficient, and that’s what I’m using.
With the free tier, you can generate speech 29+ languages using thousands of unique voices. You can create custom, synthetic voices and generate sound effects. Just know that the ElevenLabs integration does require an internet connection. If you’re not a fan of that, you can just use the approach I showed earlier for Chime TTS.
To understand how much more natural sounding the ElevenLabs voices are compared with Google Translate Text-to-Speech, watch on YouTube.

ElevenLabs Setup
Thankfully, there is a fully supported integration for ElevenLabs in Home Assistant. To set this up, you’ll need to first register for an ElevenLabs account. As mentioned, this is free to do. Once registered, go to My Account > API Keys > Create API Key. Give it a name, like Home Assistant. Copy the key to your clipboard.
In Home Assistant, go to Settings > Devices & services > add integration > search for ElevenLabs > paste the API Key that copied earlier > click Submit.
To set your preferred voice, open the ElevenLabs integration in Home Assistant, and click Configure. Choose any of the voices you’d like from the dropdown menu, and click Submit.







ElevenLabs setup for Home Assistant
Chime TTS + ElevenLabs
To tie it all together, you’ll want to tell Chime TTS to use ElevenLabs as your preferred text-to-speech platform, which is really easy to do.
Just open the Chime TTS integration in Home Assistant, click Configure, and choose tts.elevenlabs under Default TTS platform, and click Submit at the bottom. That’s it.
Now any of your home automations using a Chime TTS announcement will play the announcement using your preferred ElevenLabs voice, even on automations that you previously created using Chime TTS.

Home Automation Testing
To test that Chime TTS and ElevenLabs are working as expected, open Developer Tools and go to Actions. Search for Chime TTS: Say in the Actions dropdown, and select it.
Choose the media player that you want to play the announcement on, and input the custom audio file that you want to play. Then, enter a message that will be played over the media player. I also suggest enabling Announce, which reduces the sound of any media currently playing so that you can hear the announcement.
Depending on your type of media players, you may want to play with some of the other settings, such as join and un-join players, and cache. What I’ve shown is what works for me and the Sonos speakers in our home.
Once you have it configured as you’d like, click Perform Action, and you should hopefully hear the message play over the targeted media players.

Home Automation Example
I use announcements in many home automations, such as announcing when someone rings the doorbell, or the washing machine or dryer completed their cycles, when it’s time to pick-up the kids from school, or time to take out the trash, or even if someone left the refrigerator door open by mistake. This is a video with home automation ideas that use different types of notifications.
For demonstration purposes, I’ll show how I’m using this announcement to tell us when the washing machine is done. The core part of this automation checks the real-time energy consumption of our washing machine using a smart plug, and when the energy usage drops below a certain threshold, that means the washer completed its cycle and sends an alert to our phones. This is a video showing how I made my washing machine and dryer smart.
Right now, we’re interested in the announcement portion, which announces across the Sonos speakers on each floor of our home that the washing machine is done.


Using Chime TTS and ElevenLabs in a Home Assistant automation that announces when the washing machine is done
Final Thoughts
Adding an audio alert before an announcement plays may not sound like much, but it’s one of those big quality of life improvements for me and my family. And adding natural sounding voices made the announcements even better.
I use a lot of announcements in home automations, and while this doesn’t change their basic functionality, it does make them more enjoyable for everyone in the home.
And if everyone in the home is enjoying your home automations, I think you’re doing pretty well.
What do you think — is this something you want to use in your home automations?
Watch on YouTube
Featured Tech
Zooz ZSE44 Temperature Humidity XS Sensor:
Amazon: https://amzn.to/4cTFLN6
The Smartest House: https://go.michaelsleen.com/zooz-zse44-sensor
Sonos One (Gen 2): https://amzn.to/3QZo8mK