In this guide, I’ll show you how to convert text-to-speech using Home Assistant. We all know that you can send a custom message using a Home Assistant automation. But, did you know that you can actually download the audio files after the TTS is broadcasted?
This simple, free method will show you how to do that. Once you have the audio files, you could use them with Powerpoint presentations, voiceovers, voicemail answering systems, dubbed speech for video editing, and probably a lot of other things I’m not aware of.
Let’s get started!
Common Use Cases
For my use case, I am the system administrator at our company and manage our phone system. Every so often, we change up the automated voice prompts when you call into our main line.
Normally we pay for a professional recording. However, sometimes we test out new phrases, update verbiage, or create new entirely new phone IVR menus. Professional recordings often take 1-2 business days to get the recording back (as an actual human has to record it). Plus, it’s upwards of $100 per recording.
Luckily, it’s pretty simple to do with Home Assistant, and completely free, so I figured I share how to do that here.
Protip: You can simply enter the phrase into google translate to hear what you’re recording will sound like. But, you can’t download recordings from Google translate, so I was forced to look into alternative methods.
Step 1: Add Google Translate Text-To-Speech
The first step is to add the following lines to your configuration.yaml file. More info is included on the integrations page.
tts: - platform: google_translate
After added, save your configuration file and restart Home Assistant.
Step 2: Developer Tools
Next, open Developer Tools from your sidebar. Click the Services tab.
Under Service, type “TTS”. Then choose Text-to-Speech (TTS): Say an TTS message with google_translate
Choose an entity (like a smart speaker, smart TV, Chromecast/Roku/Alexas,etc ) and add a message.
If you don’t want it to actually broadcast a message, you can have it announce to a dead speaker entity (or simply unplug a speaker) and cast it to that. The audio file will still generate.
Step 3: Locate Audio File
Next, open File Editor or Visual Studio Code, whichever one you typically use.
Click the folder in the top-left corner and scroll down until you located the TTS folder. If you don’t have a TTS folder, you can create it.
Inside that folder, you’ll see timestamped files of every broadcasted message since you added the integration. It annoyingly doesn’t sort them by date, so you’ll just have to carefully look for today’s date.
Once you find the date, click the 3 dots next to the recording and Download. Once downloaded, just double-click to open with whatever default media player your computer is using.
Hopefully you found this guide useful! It’s a simple way to create voiceover audio files that, in my opinion, sound pretty professional and could be used for a lot of applications outside of just Home Assistant.
If the recording is a little too slow for your liking, you can download Audacity for free and simply speed it up.
If you have any other creative use cases, let me know in the comments below!
My Favorite Home Assistant Devices
Below are some of the Home Assistant-compatible devices I personally use in my home. I highly recommend each of them.
- Zwave/Zigbee hub: Nortek GoControl HUSBZB-1
- Smart Plugs: Sonoff S31 Lite Zigbee
- Motion Sensors: Hue Indoor Motion
- Outdoor Camera: Amcrest IP5M Turret
- Robot Vacuum: Roborock S7
The full list of all Home Assistant compatible & recommended devices I use can be found on my Equipment List page.