這篇要介紹一些HA上面的TTS服務,如果搭配可以投放(Cast)的音箱,就能做到客製化的語音提醒。
內建:Google Translate Text-to-Speech
要如何使用?直接在 configuration.yaml 中加入下方官方範例的設定。HA伺服器重啟之後,就能在服務中找到一個 tts.google_say,就能輸入語言與投放的設定,按下執行服務就能將文字轉語音播放出來。
# Example configuration.yaml entry for Google Translate TTS service
tts:
- platform: google_translate
cache: true
cache_dir: /tmp/tts
time_memory: 300
language: 'zh-tw' # Default Language
base_url: http://<Your HA IP address>:8123
service_name: google_say

然後發現語音會以外國腔唸出來,這裡要轉成中文腔調,就需要做 Language 的設定。勾選並設定為「zh-CN」,就會是熟悉的Google小姐語音。

zh-CN這值是從 google翻譯 抓出來,繁體中文的語音是 zh-TW。


更改預設語言,之後就不需要每次執行服務都指定 Language 為 zh-tw。
# Example configuration.yaml entry for Google Translate TTS service
tts:
- platform: google_translate
cache: true
cache_dir: /tmp/tts
time_memory: 300
language: 'zh-tw' # Default Language
base_url: http://<Your HA IP address>:8123
service_name: google_say
HACS:ReversoTTS
從HACS安裝該整合,重啟之後,在 configuration.yaml 加入下方設定,就能使用其中文TTS。
tts:
- platform: reversotts
language: 'Lulu-Mandarin-Chinese' #有哪些語言可從官方連結看到清單
pitch: "100"
bitrate: "320k"
service_name: reversotts_say

由於 Language 已經在 configuration.yaml 中設定好了,在 服務 這裡就不需要再設定 Language 也能講中文。
The language to use. Supported languages are in this table , please use only the name from LangCode column:
LangCode | Voice | Gender | Language |
---|---|---|---|
Leila-Arabic | Leila22k | Female | Arabic |
Mehdi-Arabic | Mehdi22k | Male | Arabic |
Nizar-Arabic | Nizar22k | Male | Arabic |
Salma-Arabic | Salma22k | Female | Arabic |
Lisa-Australian-English | Lisa22k | Female | Australian English |
Tyler-Australian-English | Tyler22k | Male | Australian English |
Jeroen-Belgian-Dutch | Jeroen22k | Male | Belgian Dutch |
Sofie-Belgian-Dutch | Sofie22k | Female | Belgian Dutch |
Zoe-Belgian-Dutch | Zoe22k | Female | Belgian Dutch |
Alice-BE-Belgian-French | Alice-BE22k | Female | Belgian French |
Anais-BE-Belgian-French | Anais-BE22k | Female | Belgian French |
Antoine-BE-Belgian-French | Antoine-BE22k | Male | Belgian French |
Bruno-BE-Belgian-French | Bruno-BE22k | Male | Belgian French |
Claire-BE-Belgian-French | Claire-BE22k | Female | Belgian French |
Julie-BE-Belgian-French | Julie-BE22k | Female | Belgian French |
Justine-Belgian-French | Justine22k | Female | Belgian French |
Manon-BE-Belgian-French | Manon-BE22k | Female | Belgian French |
Margaux-BE-Belgian-French | Margaux-BE22k | Female | Belgian French |
Marcia-Brazilian | Marcia22k | Female | Brazilian |
Graham-British | Graham22k | Male | British |
Lucy-British | Lucy22k | Female | British |
Peter-British | Peter22k | Male | British |
QueenElizabeth-British | QueenElizabeth22k | Female | British |
Rachel-British | Rachel22k | Female | British |
Louise-Canadian-French | Louise22k | Female | Canadian French |
Laia-Catalan | Laia22k | Female | Catalan |
Eliska-Czech | Eliska22k | Female | Czech |
Mette-Danish | Mette22k | Female | Danish |
Rasmus-Danish | Rasmus22k | Male | Danish |
Daan-Dutch | Daan22k | Male | Dutch |
Femke-Dutch | Femke22k | Female | Dutch |
Jasmijn-Dutch | Jasmijn22k | Female | Dutch |
Max-Dutch | Max22k | Male | Dutch |
Samuel-Finland-Swedish | Samuel22k | Male | Finland Swedish |
Sanna-Finnish | Sanna22k | Female | Finnish |
Alice-French | Alice22k | Female | French |
Anais-French | Anais22k | Female | French |
Antoine-French | Antoine22k | Male | French |
Bruno-French | Bruno22k | Male | French |
Claire-French | Claire22k | Female | French |
Julie-French | Julie22k | Female | French |
Manon-French | Manon22k | Female | French |
Margaux-French | Margaux22k | Female | French |
Andreas-German | Andreas22k | Male | German |
Claudia-German | Claudia22k | Female | German |
Julia-German | Julia22k | Female | German |
Klaus-German | Klaus22k | Male | German |
Sarah-German | Sarah22k | Female | German |
Kal-Gothenburg-Swedish | Kal22k | Male | Gothenburg Swedish |
Dimitris-Greek | Dimitris22k | Male | Greek |
he-IL-Asaf-Hebrew | he-IL-Asaf | Male | Hebrew |
Deepa-Indian-English | Deepa22k | Female | Indian English |
Chiara-Italian | Chiara22k | Female | Italian |
Fabiana-Italian | Fabiana22k | Female | Italian |
Vittorio-Italian | Vittorio22k | Male | Italian |
Sakura-Japanese | Sakura22k | Female | Japanese |
Minji-Korean | Minji22k | Female | Korean |
Lulu-Mandarin-Chinese | Lulu22k | Female | Mandarin Chinese |
Bente-Norwegian | Bente22k | Female | Norwegian |
Kari-Norwegian | Kari22k | Female | Norwegian |
Olav-Norwegian | Olav22k | Male | Norwegian |
Ania-Polish | Ania22k | Female | Polish |
Monika-Polish | Monika22k | Female | Polish |
Celia-Portuguese | Celia22k | Female | Portuguese |
ro-RO-Andrei-Romanian | ro-RO-Andrei | Male | Romanian |
Alyona-Russian | Alyona22k | Female | Russian |
Mia-Scanian | Mia22k | Female | Scanian |
Antonio-Spanish | Antonio22k | Male | Spanish |
Ines-Spanish | Ines22k | Female | Spanish |
Maria-Spanish | Maria22k | Female | Spanish |
Elin-Swedish | Elin22k | Female | Swedish |
Emil-Swedish | Emil22k | Male | Swedish |
Emma-Swedish | Emma22k | Female | Swedish |
Erik-Swedish | Erik22k | Male | Swedish |
Ipek-Turkish | Ipek22k | Female | Turkish |
Heather-US-English | Heather22k | Female | US English |
Karen-US-English | Karen22k | Female | US English |
Kenny-US-English | Kenny22k | Male | US English |
Laura-US-English | Laura22k | Female | US English |
Micah-US-English | Micah22k | Male | US English |
Nelly-US-English | Nelly22k | Female | US English |
Rod-US-English | Rod22k | Male | US English |
Ryan-US-English | Ryan22k | Male | US English |
Saul-US-English | Saul22k | Male | US English |
Sharon-US-English | Sharon22k | Female | US English |
Tracy-US-English | Tracy22k | Female | US English |
Will-US-English | Will22k | Male | US English |
Rodrigo-US-Spanish | Rodrigo22k | Male | US Spanish |
Rosa-US-Spanish | Rosa22k | Female | US Spanish |