A custom Home Assistant integration to play an audio file before and/or after text-to-speech (TTS) messages

nimroddolev nimroddolev Last update: Jan 06, 2024

Chime TTS

hacs_badge version Community Forum

Chime TTS is a custom Home Assistant integration that eliminates the audio lag between playing a chime/notification sound effect before a TTS audio notification.

If you find Chime TTS useful, consider showing your support: Buy Me A Coffee


What is Chime TTS?

The Problem:

Latency is introduced between the notification chime and the TTS audio

Home Assistant's Text-To-Speech (TTS) audio messages are a great way to provide real-time updates, but by the time you hear a message playing you've missed the start of the message! šŸ™ˆ

Adding a notification chime before the TTS makes sense, but in practice this introduces a delay between the two caused by the networking latency of cloud TTS platforms, audio processing, and a delay before playback begins on speakers.

The Solution:

Chime TTS removes the latency between the notification chime and the TTS audio

Chime TTS solves this issue by stitching these audio files together as a single file locally on your Home Assistant device, and played to your speakers in a single event, eliminating any lag.


Features

Chime TTS offers various features that enhance TTS audio playback experience:

  • No lag or timing issues: Precise timing between audio files without cloud TTS delays.
  • Customizable audio cues: Play preset or custom audio before and after TTS messages.
  • Flexible TTS platform selection: Supports various TTS platform integrations.
  • Easy service invocation: Use the 'chime_tts.say' and 'chime_tts.say_url' services in automations and scripts.
  • Set media player notification volume: Restore volume after playback.
  • Configurable TTS playback speed: Set the TTS audio speed anywhere from 100-200%.
  • Multiple TTS Platforms in the same message: Generate TTS from multiple TTS platforms within the same audio announcement
  • Configurable delay: Set custom delays between audio and TTS.
  • Configurable overlay: Set custom overlay durations for audio and TTS.
  • Caching: Cache audio for faster playback.
  • Speaker Groups: Group speakers for simultaneous playback.

Quick Start

Follow these easy steps to get started with Chime TTS:

  1. Installation - Quickly install Chime TTS via HACS or manually.
  2. Add the Integration - Add Chime TTS to your Home Assistant instance.

How Do I Use It?

Chime TTS adds three new services to your Home Assistant instance: chime_tts.say, chime_tts.say_url and chime_tts.clear_cache. Discover how you can use these services and the features they offer:


Configuration

You can customise the following elements for the chime_tts.say and chime_tts.say_url services through the configuration page, located at:

Settings --> Devices & services --> Chime TTS --> CONFIGURE

configuration

Config Option Description Default Value
Timeout Set the maximum number of seconds before the service call is terminated (useful if you have long TTS messages and don't want the service end prematurely) 60
Media Folder Media Folder - Media folder for storing temporary files. local
Downloaded Chimes Folder Chime MP3 Folder - Path to the local folder where downloaded chime mp3 files are saved. /media/sounds/temp/chime_tts/
Temporary MP3 Folder Temporary MP3 Folder - Path to the local folder where the generated mp3 files are saved. /media/sounds/temp/chime_tts/
Public MP3 Folder Public MP3 Folder - Path to the publicly accessible folder used to store MP3 files generated by chime_tts.say_url service. /www/chime_tts/
Custom Chimes Add the full file paths to your own custom chime audio files. Once added, you can select your custom chimes form the drop-down list UI in the chime_tts.say and chime_tts.say_url services. None

Support and Discussion

For questions, suggestions, and community discussion about Chime TTS, visit our Community Forum.


Subscribe to our newsletter