Homeassitant的Text-to-Speech(TTS)服務

這篇要介紹一些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
media_player.jn_room 是 google mini nest 2

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

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

注意網址的部分,左邊是sl=zh-CN,右邊是tl=zh-TW
上方圖片顯示的清單是HA實際能用的Language

更改預設語言,之後就不需要每次執行服務都指定 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:

LangCodeVoiceGenderLanguage
Leila-ArabicLeila22kFemaleArabic
Mehdi-ArabicMehdi22kMaleArabic
Nizar-ArabicNizar22kMaleArabic
Salma-ArabicSalma22kFemaleArabic
Lisa-Australian-EnglishLisa22kFemaleAustralian English
Tyler-Australian-EnglishTyler22kMaleAustralian English
Jeroen-Belgian-DutchJeroen22kMaleBelgian Dutch
Sofie-Belgian-DutchSofie22kFemaleBelgian Dutch
Zoe-Belgian-DutchZoe22kFemaleBelgian Dutch
Alice-BE-Belgian-FrenchAlice-BE22kFemaleBelgian French
Anais-BE-Belgian-FrenchAnais-BE22kFemaleBelgian French
Antoine-BE-Belgian-FrenchAntoine-BE22kMaleBelgian French
Bruno-BE-Belgian-FrenchBruno-BE22kMaleBelgian French
Claire-BE-Belgian-FrenchClaire-BE22kFemaleBelgian French
Julie-BE-Belgian-FrenchJulie-BE22kFemaleBelgian French
Justine-Belgian-FrenchJustine22kFemaleBelgian French
Manon-BE-Belgian-FrenchManon-BE22kFemaleBelgian French
Margaux-BE-Belgian-FrenchMargaux-BE22kFemaleBelgian French
Marcia-BrazilianMarcia22kFemaleBrazilian
Graham-BritishGraham22kMaleBritish
Lucy-BritishLucy22kFemaleBritish
Peter-BritishPeter22kMaleBritish
QueenElizabeth-BritishQueenElizabeth22kFemaleBritish
Rachel-BritishRachel22kFemaleBritish
Louise-Canadian-FrenchLouise22kFemaleCanadian French
Laia-CatalanLaia22kFemaleCatalan
Eliska-CzechEliska22kFemaleCzech
Mette-DanishMette22kFemaleDanish
Rasmus-DanishRasmus22kMaleDanish
Daan-DutchDaan22kMaleDutch
Femke-DutchFemke22kFemaleDutch
Jasmijn-DutchJasmijn22kFemaleDutch
Max-DutchMax22kMaleDutch
Samuel-Finland-SwedishSamuel22kMaleFinland Swedish
Sanna-FinnishSanna22kFemaleFinnish
Alice-FrenchAlice22kFemaleFrench
Anais-FrenchAnais22kFemaleFrench
Antoine-FrenchAntoine22kMaleFrench
Bruno-FrenchBruno22kMaleFrench
Claire-FrenchClaire22kFemaleFrench
Julie-FrenchJulie22kFemaleFrench
Manon-FrenchManon22kFemaleFrench
Margaux-FrenchMargaux22kFemaleFrench
Andreas-GermanAndreas22kMaleGerman
Claudia-GermanClaudia22kFemaleGerman
Julia-GermanJulia22kFemaleGerman
Klaus-GermanKlaus22kMaleGerman
Sarah-GermanSarah22kFemaleGerman
Kal-Gothenburg-SwedishKal22kMaleGothenburg Swedish
Dimitris-GreekDimitris22kMaleGreek
he-IL-Asaf-Hebrewhe-IL-AsafMaleHebrew
Deepa-Indian-EnglishDeepa22kFemaleIndian English
Chiara-ItalianChiara22kFemaleItalian
Fabiana-ItalianFabiana22kFemaleItalian
Vittorio-ItalianVittorio22kMaleItalian
Sakura-JapaneseSakura22kFemaleJapanese
Minji-KoreanMinji22kFemaleKorean
Lulu-Mandarin-ChineseLulu22kFemaleMandarin Chinese
Bente-NorwegianBente22kFemaleNorwegian
Kari-NorwegianKari22kFemaleNorwegian
Olav-NorwegianOlav22kMaleNorwegian
Ania-PolishAnia22kFemalePolish
Monika-PolishMonika22kFemalePolish
Celia-PortugueseCelia22kFemalePortuguese
ro-RO-Andrei-Romanianro-RO-AndreiMaleRomanian
Alyona-RussianAlyona22kFemaleRussian
Mia-ScanianMia22kFemaleScanian
Antonio-SpanishAntonio22kMaleSpanish
Ines-SpanishInes22kFemaleSpanish
Maria-SpanishMaria22kFemaleSpanish
Elin-SwedishElin22kFemaleSwedish
Emil-SwedishEmil22kMaleSwedish
Emma-SwedishEmma22kFemaleSwedish
Erik-SwedishErik22kMaleSwedish
Ipek-TurkishIpek22kFemaleTurkish
Heather-US-EnglishHeather22kFemaleUS English
Karen-US-EnglishKaren22kFemaleUS English
Kenny-US-EnglishKenny22kMaleUS English
Laura-US-EnglishLaura22kFemaleUS English
Micah-US-EnglishMicah22kMaleUS English
Nelly-US-EnglishNelly22kFemaleUS English
Rod-US-EnglishRod22kMaleUS English
Ryan-US-EnglishRyan22kMaleUS English
Saul-US-EnglishSaul22kMaleUS English
Sharon-US-EnglishSharon22kFemaleUS English
Tracy-US-EnglishTracy22kFemaleUS English
Will-US-EnglishWill22kMaleUS English
Rodrigo-US-SpanishRodrigo22kMaleUS Spanish
Rosa-US-SpanishRosa22kFemaleUS Spanish
以上是 ReversoTTS 可用的語言表