The rhvoice integration uses RHVoice Text-to-Speech (TTS) engine to read a text with natural sounding voices.
Run rhvoice-rest Docker container (choose your CPU architecture):
aarch64: docker run -d -p 8080:8080 ghcr.io/aculeasis/rhvoice-rest:arm64v8
armv7l: docker run -d -p 8080:8080 ghcr.io/aculeasis/rhvoice-rest:arm32v7
x86_64: docker run -d -p 8080:8080 ghcr.io/aculeasis/rhvoice-rest:amd64
Or use RHVoice add-on. Only aarch64 and x64 are supported.
Install the integration to Home Assistant: use HACS or copy the contents of custom_components/rhvoice/ to <your config dir>/custom_components/rhvoice/.
Configure in the Home Assistant configuration.yaml (See the Configuration and Configuration Options sections below)
Restart Home Assistant.
To enable text-to-speech with RHVoice, add at a minimum the following lines to your Home Assistant's configuration.yaml file:
tts:
- platform: rhvoice
host: <server hostname, domain name or IP address>
port: 8080Full configuration example:
tts:
- platform: rhvoice
host: <server hostname or IP address>
port: 8080
format: 'mp3'
pitch: 50
rate: 50
voice: 'anna'
volume: 50host: (string) (Required)
This is the hostname, domain name or IP address that the rhvoice-rest container can be reached at. If you use domain name that is reachable on the Internet for Home Assistant, enter that here.
Use localhost for RHVoice add-on.
port: (string) (Optional)
This is the port that the rhvoice-rest container can be reached at.
Default value: 8080
ssl: (boolean) (Optional)
Use HTTPS instead of HTTP to connect.
Default value: false
verify_ssl: (boolean) (Optional)
Enable or disable SSL certificate verification. Set to false if you have a self-signed SSL certificate and haven't installed the CA certificate to enable verification.
Default value: true
format: (string) (Optional)
This is the file format used for the TTS files created.
Default value: mp3
Allowed values: wav|mp3|opus|flac
pitch: (string) (Optional)
This adjust the sound frequency of the TTS voice, lower or higher.
Default value: 50
Allowed values: 0 to 100
rate: (string) (Optional)
This adjust the talking speed of the TTS voice, slower or faster.
Default value: 50
Allowed values: 0 to 100
voice: (string) (Optional)
This is the voice that is used to create the TTS files. Voices are connected with a language. For best results select a voice for the text language you will use.
Default value: anna (russian)
Allowed values:
| Language | Voices |
|---|---|
| Albanian | hana |
| American English | alan, bdl, clb, evgeniy-eng, lyubov, slt |
| Czech | zdenek |
| Esperanto | spomenka |
| Georgian | natia |
| Kyrgyz | azamat, nazgul |
| Macedonian | kiko, suze |
| Polish | alicja, cezary, magda, michal, natan |
| Brazilian Portuguese | letícia-f123 |
| Russian | aleksandr, aleksandr-hq, anna, arina, artemiy, elena, evgeniy-rus, irina, mikhail, pavel, tatiana, timofey, umka, victoria, vitaliy, vitaliy-ng, vsevolod, yuriy |
| Slovak | ondro |
| Tatar | talgat |
| Ukrainian | anatol, marianna, natalia, volodymyr |
| Uzbek | sevinch |
volume: (string) (Optional)
This adjusts the volume of the voice in TTS files created, softer or louder.
Default value: 50
Allowed values: 0 to 100
service: tts.rhvoice_say
data:
entity_id: media_player.main
message: The cake is a lie
options:
format: mp3
pitch: 32
rate: 64
voice: slt
volume: 16You can buy me a coffee via Bitcoin donation: bc1qd6khey9xkss6vgd6fqpqdyq4lehtepajkcf256