Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List of currently non-functioning voices #13

Open
chrisjp opened this issue Jul 6, 2023 · 17 comments
Open

List of currently non-functioning voices #13

chrisjp opened this issue Jul 6, 2023 · 17 comments
Labels
bug Something isn't working

Comments

@chrisjp
Copy link
Owner

chrisjp commented Jul 6, 2023

Last updated: 3rd October, 2023

A number of the APIs have voices available that we either don't know the IDs for (if closed source like TikTok for example) or we do know them but for some reason they don't work. This issue aims to keep track of them all and can be updated as and when they're resolved.

Included are the JSON entries that would be in voices.json if they were working, in case you want to try them out for yourself on your own locally hosted copy of this library.

TikTok

As a closed source app it's difficult to obtain the voice IDs. I previously relied on contributors to other GitHub repos to find these out. In the app there are a lot of named TTS voices that don't match their IDs, furthermore, there are many unique to certain countries/languages.

oscie57 and other contributors to oscie57/tiktok-voice#1 have been a reliable source of voice IDs so far. And thanks to the input of others there I've been able able to ascertain all of the English language voices that were missing.

Currently unknown English language voice IDs:
None!

It is now possible to obtain voice IDs from other countries (see replies), so these are currently in progress.

StreamElements

5 of the 'standard' engine Polly voices do not work. My guess is that these were intentionally removed by StreamElements from their API and replaced with better (in their opinion) alternatives from the Google Text-to-Speech ones they added.
Additionally, the Hebrew voice "Doron" (not a Polly voice) returns an error response despite being selectable by streamers in their dashboard - I would expect StreamElements to either fix or remove this one at some point as it's their only option for Hebrew speakers.

  • Arabic - Zeina
  • French - Léa
  • Portuguese BR - Camila
  • Spanish ES - Lucia
  • Spanish US - Lupe
{"vid": "Zeina", "name": "Zeina", "flag": "ARAB", "lang": "Arabic", "accent": "", "gender": "F"},
{"vid": "Lea", "name": "Léa", "flag": "FR", "lang": "French", "accent": "", "gender": "F"},
{"vid": "Camila", "name": "Camila", "flag": "BR", "lang": "Portuguese", "accent": "Brazilian", "gender": "F"},
{"vid": "Lucia", "name": "Lucia", "flag": "ES", "lang": "Spanish", "accent": "European", "gender": "F"},
{"vid": "Lupe", "name": "Lupe", "flag": "US", "lang": "Spanish", "accent": "American", "gender": "F"},

{"vid": "Doron", "name": "Doron", "flag": "IL", "lang": "Hebrew", "accent": "", "gender": "M"},

StreamElements

No known issues.

CereProc

No known issues.

IBM Watson

No known issues.

Acapela

No known issues.

Oddcast

No known issues.

Google Translate

No known issues, however the translate site will need to be checked every so often to see if any languages have had a voice added.

Microsoft Azure Speech (via Bing Translator)

A grand total of 142 of Microsoft's bank of voices do not work via the Bing Translator API endpoint we use to generate audio. While some of these are legitimately still in what they call a 'preview' phase, the majority don't appear to have any limitations. My guess is that Microsoft feel these ones aren't as suitable for reading user translations (unclear accent maybe?), though in any case it's odd that Bing specifically isn't able to access them given it's a first party product of theirs.
I don't hold much hope for many of these to ever work though those in preview (with a superscript ¹) may be worth checking from time to time.

{"vid": "en-AU-AnnetteNeural", "name": "Annette", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "F"},
{"vid": "en-AU-CarlyNeural", "name": "Carly", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "F"},
{"vid": "en-AU-DarrenNeural", "name": "Darren", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "M"},
{"vid": "en-AU-DuncanNeural", "name": "Duncan", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "M"},
{"vid": "en-AU-ElsieNeural", "name": "Elsie", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "F"},
{"vid": "en-AU-FreyaNeural", "name": "Freya", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "F"},
{"vid": "en-AU-JoanneNeural", "name": "Joanne", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "F"},
{"vid": "en-AU-KenNeural", "name": "Ken", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "M"},
{"vid": "en-AU-KimNeural", "name": "Kim", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "F"},
{"vid": "en-AU-NeilNeural", "name": "Neil", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "M"},
{"vid": "en-AU-TimNeural", "name": "Tim", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "M"},
{"vid": "en-AU-TinaNeural", "name": "Tina", "flag": "AU", "lang": "English", "accent": "Australia", "gender": "F"},
{"vid": "en-GB-AbbiNeural", "name": "Abbi", "flag": "GB", "lang": "English", "accent": "United Kingdom", "gender": "F"},
{"vid": "en-GB-AlfieNeural", "name": "Alfie", "flag": "GB", "lang": "English", "accent": "United Kingdom", "gender": "M"},
{"vid": "en-GB-BellaNeural", "name": "Bella", "flag": "GB", "lang": "English", "accent": "United Kingdom", "gender": "F"},
{"vid": "en-GB-ElliotNeural", "name": "Elliot", "flag": "GB", "lang": "English", "accent": "United Kingdom", "gender": "M"},
{"vid": "en-GB-EthanNeural", "name": "Ethan", "flag": "GB", "lang": "English", "accent": "United Kingdom", "gender": "M"},
{"vid": "en-GB-HollieNeural", "name": "Hollie", "flag": "GB", "lang": "English", "accent": "United Kingdom", "gender": "F"},
{"vid": "en-GB-NoahNeural", "name": "Noah", "flag": "GB", "lang": "English", "accent": "United Kingdom", "gender": "M"},
{"vid": "en-GB-OliverNeural", "name": "Oliver", "flag": "GB", "lang": "English", "accent": "United Kingdom", "gender": "M"},
{"vid": "en-GB-OliviaNeural", "name": "Olivia", "flag": "GB", "lang": "English", "accent": "United Kingdom", "gender": "F"},
{"vid": "en-US-AIGenerateNeural", "name": "AI Generate", "flag": "US", "lang": "English", "accent": "American", "gender": "F"},
{"vid": "en-US-AIGenerateNeural", "name": "AI Generate", "flag": "US", "lang": "English", "accent": "American", "gender": "M"},
{"vid": "en-US-DavisNeural", "name": "Davis", "flag": "US", "lang": "English", "accent": "American", "gender": "M"},
{"vid": "en-US-JaneNeural", "name": "Jane", "flag": "US", "lang": "English", "accent": "American", "gender": "F"},
{"vid": "en-US-JasonNeural", "name": "Jason", "flag": "US", "lang": "English", "accent": "American", "gender": "M"},
{"vid": "en-US-JennyMultilingualNeural", "name": "Jenny Multilingual", "flag": "US", "lang": "English", "accent": "American", "gender": "F"},
{"vid": "en-US-NancyNeural", "name": "Nancy", "flag": "US", "lang": "English", "accent": "American", "gender": "F"},
{"vid": "en-US-SaraNeural", "name": "Sara", "flag": "US", "lang": "English", "accent": "American", "gender": "F"},
{"vid": "en-US-TonyNeural", "name": "Tony", "flag": "US", "lang": "English", "accent": "American", "gender": "M"},
{"vid": "ca-ES-AlbaNeural", "name": "Alba", "flag": "ES-CT", "lang": "Catalan", "accent": "", "gender": "F"},
{"vid": "de-DE-BerndNeural", "name": "Bernd", "flag": "DE", "lang": "German", "accent": "", "gender": "M"},
{"vid": "de-DE-ChristophNeural", "name": "Christoph", "flag": "DE", "lang": "German", "accent": "", "gender": "M"},
{"vid": "de-DE-ElkeNeural", "name": "Elke", "flag": "DE", "lang": "German", "accent": "", "gender": "F"},
{"vid": "de-DE-GiselaNeural", "name": "Gisela", "flag": "DE", "lang": "German", "accent": "", "gender": "F"},
{"vid": "de-DE-KasperNeural", "name": "Kasper", "flag": "DE", "lang": "German", "accent": "", "gender": "M"},
{"vid": "de-DE-KlarissaNeural", "name": "Klarissa", "flag": "DE", "lang": "German", "accent": "", "gender": "F"},
{"vid": "de-DE-KlausNeural", "name": "Klaus", "flag": "DE", "lang": "German", "accent": "", "gender": "M"},
{"vid": "de-DE-LouisaNeural", "name": "Louisa", "flag": "DE", "lang": "German", "accent": "", "gender": "F"},
{"vid": "de-DE-MajaNeural", "name": "Maja", "flag": "DE", "lang": "German", "accent": "", "gender": "F"},
{"vid": "de-DE-RalfNeural", "name": "Ralf", "flag": "DE", "lang": "German", "accent": "", "gender": "M"},
{"vid": "de-DE-TanjaNeural", "name": "Tanja", "flag": "DE", "lang": "German", "accent": "", "gender": "F"},
{"vid": "es-ES-AbrilNeural", "name": "Abril", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "F"},
{"vid": "es-ES-ArnauNeural", "name": "Arnau", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "M"},
{"vid": "es-ES-DarioNeural", "name": "Dario", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "M"},
{"vid": "es-ES-EliasNeural", "name": "Elias", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "M"},
{"vid": "es-ES-EstrellaNeural", "name": "Estrella", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "F"},
{"vid": "es-ES-IreneNeural", "name": "Irene", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "F"},
{"vid": "es-ES-LaiaNeural", "name": "Laia", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "F"},
{"vid": "es-ES-LiaNeural", "name": "Lia", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "F"},
{"vid": "es-ES-NilNeural", "name": "Nil", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "M"},
{"vid": "es-ES-SaulNeural", "name": "Saul", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "M"},
{"vid": "es-ES-TeoNeural", "name": "Teo", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "M"},
{"vid": "es-ES-TrianaNeural", "name": "Triana", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "F"},
{"vid": "es-ES-VeraNeural", "name": "Vera", "flag": "ES", "lang": "Spanish", "accent": "Spain", "gender": "F"},
{"vid": "es-MX-BeatrizNeural", "name": "Beatriz", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "F"},
{"vid": "es-MX-CandelaNeural", "name": "Candela", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "F"},
{"vid": "es-MX-CarlotaNeural", "name": "Carlota", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "F"},
{"vid": "es-MX-CecilioNeural", "name": "Cecilio", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "M"},
{"vid": "es-MX-GerardoNeural", "name": "Gerardo", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "M"},
{"vid": "es-MX-LarissaNeural", "name": "Larissa", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "F"},
{"vid": "es-MX-LibertoNeural", "name": "Liberto", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "M"},
{"vid": "es-MX-LucianoNeural", "name": "Luciano", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "M"},
{"vid": "es-MX-MarinaNeural", "name": "Marina", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "F"},
{"vid": "es-MX-NuriaNeural", "name": "Nuria", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "F"},
{"vid": "es-MX-PelayoNeural", "name": "Pelayo", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "M"},
{"vid": "es-MX-RenataNeural", "name": "Renata", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "F"},
{"vid": "es-MX-YagoNeural", "name": "Yago", "flag": "MX", "lang": "Spanish", "accent": "Mexico", "gender": "M"},
{"vid": "eu-ES-AinhoaNeural", "name": "Ainhoa", "flag": "ES-PV", "lang": "Basque", "accent": "", "gender": "F"},
{"vid": "eu-ES-AnderNeural", "name": "Ander", "flag": "ES-PV", "lang": "Basque", "accent": "", "gender": "M"},
{"vid": "fr-FR-AlainNeural", "name": "Alain", "flag": "FR", "lang": "French", "accent": "", "gender": "M"},
{"vid": "fr-FR-BrigitteNeural", "name": "Brigitte", "flag": "FR", "lang": "French", "accent": "", "gender": "F"},
{"vid": "fr-FR-CelesteNeural", "name": "Celeste", "flag": "FR", "lang": "French", "accent": "", "gender": "F"},
{"vid": "fr-FR-ClaudeNeural", "name": "Claude", "flag": "FR", "lang": "French", "accent": "", "gender": "M"},
{"vid": "fr-FR-CoralieNeural", "name": "Coralie", "flag": "FR", "lang": "French", "accent": "", "gender": "F"},
{"vid": "fr-FR-JacquelineNeural", "name": "Jacqueline", "flag": "FR", "lang": "French", "accent": "", "gender": "F"},
{"vid": "fr-FR-JeromeNeural", "name": "Jerome", "flag": "FR", "lang": "French", "accent": "", "gender": "M"},
{"vid": "fr-FR-JosephineNeural", "name": "Josephine", "flag": "FR", "lang": "French", "accent": "", "gender": "F"},
{"vid": "fr-FR-MauriceNeural", "name": "Maurice", "flag": "FR", "lang": "French", "accent": "", "gender": "M"},
{"vid": "fr-FR-YvesNeural", "name": "Yves", "flag": "FR", "lang": "French", "accent": "", "gender": "M"},
{"vid": "fr-FR-YvetteNeural", "name": "Yvette", "flag": "FR", "lang": "French", "accent": "", "gender": "F"},
{"vid": "hy-AM-AnahitNeural", "name": "Anahit", "flag": "AM", "lang": "Armenian", "accent": "", "gender": "F"},
{"vid": "hy-AM-HaykNeural", "name": "Hayk", "flag": "AM", "lang": "Armenian", "accent": "", "gender": "M"},
{"vid": "it-IT-BenignoNeural", "name": "Benigno", "flag": "IT", "lang": "Italian", "accent": "", "gender": "M"},
{"vid": "it-IT-CalimeroNeural", "name": "Calimero", "flag": "IT", "lang": "Italian", "accent": "", "gender": "M"},
{"vid": "it-IT-CataldoNeural", "name": "Cataldo", "flag": "IT", "lang": "Italian", "accent": "", "gender": "M"},
{"vid": "it-IT-FabiolaNeural", "name": "Fabiola", "flag": "IT", "lang": "Italian", "accent": "", "gender": "F"},
{"vid": "it-IT-FiammaNeural", "name": "Fiamma", "flag": "IT", "lang": "Italian", "accent": "", "gender": "F"},
{"vid": "it-IT-GianniNeural", "name": "Gianni", "flag": "IT", "lang": "Italian", "accent": "", "gender": "M"},
{"vid": "it-IT-ImeldaNeural", "name": "Imelda", "flag": "IT", "lang": "Italian", "accent": "", "gender": "F"},
{"vid": "it-IT-IrmaNeural", "name": "Irma", "flag": "IT", "lang": "Italian", "accent": "", "gender": "F"},
{"vid": "it-IT-LisandroNeural", "name": "Lisandro", "flag": "IT", "lang": "Italian", "accent": "", "gender": "M"},
{"vid": "it-IT-PalmiraNeural", "name": "Palmira", "flag": "IT", "lang": "Italian", "accent": "", "gender": "F"},
{"vid": "it-IT-PierinaNeural", "name": "Pierina", "flag": "IT", "lang": "Italian", "accent": "", "gender": "F"},
{"vid": "it-IT-RinaldoNeural", "name": "Rinaldo", "flag": "IT", "lang": "Italian", "accent": "", "gender": "M"},
{"vid": "ja-JP-AoiNeural", "name": "Aoi", "flag": "JP", "lang": "Japanese", "accent": "", "gender": "F"},
{"vid": "ja-JP-DaichiNeural", "name": "Daichi", "flag": "JP", "lang": "Japanese", "accent": "", "gender": "M"},
{"vid": "ja-JP-MayuNeural", "name": "Mayu", "flag": "JP", "lang": "Japanese", "accent": "", "gender": "F"},
{"vid": "ja-JP-NaokiNeural", "name": "Naoki", "flag": "JP", "lang": "Japanese", "accent": "", "gender": "M"},
{"vid": "ja-JP-ShioriNeural", "name": "Shiori", "flag": "JP", "lang": "Japanese", "accent": "", "gender": "F"},
{"vid": "ko-KR-BongJinNeural", "name": "Bong Jin", "flag": "KR", "lang": "Korean", "accent": "", "gender": "M"},
{"vid": "ko-KR-GookMinNeural", "name": "Gook Min", "flag": "KR", "lang": "Korean", "accent": "", "gender": "M"},
{"vid": "ko-KR-JiMinNeural", "name": "Ji Min", "flag": "KR", "lang": "Korean", "accent": "", "gender": "F"},
{"vid": "ko-KR-SeoHyeonNeural", "name": "Seo Hyeon", "flag": "KR", "lang": "Korean", "accent": "", "gender": "F"},
{"vid": "ko-KR-SoonBokNeural", "name": "Soon Bok", "flag": "KR", "lang": "Korean", "accent": "", "gender": "F"},
{"vid": "ko-KR-YuJinNeural", "name": "Yu Jin", "flag": "KR", "lang": "Korean", "accent": "", "gender": "F"},
{"vid": "pl-PL-AgnieszkaNeural", "name": "Agnieszka", "flag": "PL", "lang": "Polish", "accent": "", "gender": "F"},
{"vid": "pt-BR-BrendaNeural", "name": "Brenda", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "F"},
{"vid": "pt-BR-DonatoNeural", "name": "Donato", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "M"},
{"vid": "pt-BR-ElzaNeural", "name": "Elza", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "F"},
{"vid": "pt-BR-FabioNeural", "name": "Fabio", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "M"},
{"vid": "pt-BR-GiovannaNeural", "name": "Giovanna", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "F"},
{"vid": "pt-BR-HumbertoNeural", "name": "Humberto", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "M"},
{"vid": "pt-BR-JulioNeural", "name": "Julio", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "M"},
{"vid": "pt-BR-LeilaNeural", "name": "Leila", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "F"},
{"vid": "pt-BR-LeticiaNeural", "name": "Leticia", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "F"},
{"vid": "pt-BR-ManuelaNeural", "name": "Manuela", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "F"},
{"vid": "pt-BR-NicolauNeural", "name": "Nicolau", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "M"},
{"vid": "pt-BR-ValerioNeural", "name": "Valerio", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "M"},
{"vid": "pt-BR-YaraNeural", "name": "Yara", "flag": "BR", "lang": "Portuguese", "accent": "Brazil", "gender": "F"},
{"vid": "wuu-CN-XiaotongNeural", "name": "Xiaotong", "flag": "CN", "lang": "Chinese", "accent": "Wu, Simplified", "gender": "F"},
{"vid": "wuu-CN-YunzheNeural", "name": "Yunzhe", "flag": "CN", "lang": "Chinese", "accent": "Wu, Simplified", "gender": "M"},
{"vid": "yue-CN-XiaoMinNeural", "name": "Xiao Min", "flag": "CN", "lang": "Chinese", "accent": "Cantonese, Simplified", "gender": "F"},
{"vid": "yue-CN-YunSongNeural", "name": "Yun Song", "flag": "CN", "lang": "Chinese", "accent": "Cantonese, Simplified", "gender": "M"},
{"vid": "zh-CN-XiaochenNeural", "name": "Xiaochen", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "F"},
{"vid": "zh-CN-XiaohanNeural", "name": "Xiaohan", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "F"},
{"vid": "zh-CN-XiaomengNeural", "name": "Xiaomeng", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "F"},
{"vid": "zh-CN-XiaomoNeural", "name": "Xiaomo", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "F"},
{"vid": "zh-CN-XiaoqiuNeural", "name": "Xiaoqiu", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "F"},
{"vid": "zh-CN-XiaoruiNeural", "name": "Xiaorui", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "F"},
{"vid": "zh-CN-XiaoshuangNeural", "name": "Xiaoshuang", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "F"},
{"vid": "zh-CN-XiaoxuanNeural", "name": "Xiaoxuan", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "F"},
{"vid": "zh-CN-XiaoyanNeural", "name": "Xiaoyan", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "F"},
{"vid": "zh-CN-XiaoyouNeural", "name": "Xiaoyou", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "F"},
{"vid": "zh-CN-XiaozhenNeural", "name": "Xiaozhen", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "F"},
{"vid": "zh-CN-YunfengNeural", "name": "Yunfeng", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "M"},
{"vid": "zh-CN-YunhaoNeural", "name": "Yunhao", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "M"},
{"vid": "zh-CN-YunyeNeural", "name": "Yunye", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "M"},
{"vid": "zh-CN-YunzeNeural", "name": "Yunze", "flag": "CN", "lang": "Chinese", "accent": "Mandarin, Simplified", "gender": "M"},
{"vid": "zh-CN-henan-YundengNeural", "name": "Yundeng", "flag": "CN", "lang": "Chinese", "accent": "Zhongyuan Mandarin Henan", "gender": "M"},
{"vid": "zh-CN-shandong-YunxiangNeural", "name": "Yunxiang", "flag": "CN", "lang": "Chinese", "accent": "Jilu Mandarin, Simplified", "gender": "M"},
{"vid": "zh-CN-sichuan-YunxiNeural", "name": "Yunxi", "flag": "CN", "lang": "Chinese", "accent": "Southwestern Mandarin, Simplified", "gender": "M"},

VoiceForge

One voice always results in a timeout error.

{"vid": "Layo", "name": "Layo", "flag": "NG", "lang": "English", "accent": "Nigerian", "gender": "F"},

ReadSpeaker

Removed. Demo website is now paywalled and voice synthesis can no longer be accessed for free.

iSpeech

Removed. Demo website has been non-functional since late 2022. The API is still functioning, though, but obviously requires a valid API key. As such this has effectively paywalled the service.
Now available again (as of 3rd October, 2023) by using their actual API this time.

The "Greek Female" voice is no longer listed in the documentation but is still working.
The "Taiwan Chinese Female" voice works with the demo key but errors with some API keys, reporting it as an "Invalid voice". It is unknown why this happens.

@chrisjp
Copy link
Owner Author

chrisjp commented Jul 14, 2023

All English language TikTok voices are now found. Other languages currently in progress.

Today I was able to figure out the request for fetching voices list JSON for each language in TikTok (with thanks to several people in the linked issue in the OP).

Bad news it requires an access_key which as far as I can tell is generated inside the app somewhere, so use of HTTP Toolkit and a modified TikTok .apk is required to obtain this.

Here's some quick and dirty documentation for it based on my testing...

API endpoint

GET https://api31-normal-useast2a.tiktokv.com/effect/api/v3/effects

Required parameters

  • access_key - 32 char alphanumeric string, looks like it might be an md5 hash. Seems to be generated in the app. No cookies generated by the website contain this value. You'll need HTTP Toolkit to find this.
  • app_version - self-explanatory. 30.1.2 is the value I'm using, matches the modified .apk
  • sdk_version - unsure which SDK this refers to, possibly something internal. 14.3.0 is a working value.
  • device_id - a 19-digit numeric [0-9] ID. You can fake this. 1234567890123456789 will work.
  • device_platform - Must be android. I didn't find any other working values.
  • device_type - model ID of your device. My emulator uses SM-G988N. You can probably put anything you want here.
  • channel - Presumably the store the app was acquired from. googleplay works here.
  • panel - Panel is what TikTok calls each of its effect categories or something. You need to put speaking-voice for this.

Optional parameters

region - 2-letter uppercase country code. Defaults to US if not set.
carrier_region - 2-letter uppercase country code. Defaults to US if not set. On your device this will be the country it's physically located in based on SIM card network you're connected to.

Full URL example

https://api31-normal-useast2a.tiktokv.com/effect/api/v3/effects?access_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&app_version=30.1.2&sdk_version=14.3.0&device_id=1234567890123456789&device_platform=android&device_type=SM-G988N&channel=googleplay&region=US&carrier_region=US&panel=speaking-voice
you'd need a valid access_key in that for this to work, but no special headers need to be set. You could open it in your browser if you wanted to.

@chrisjp
Copy link
Owner Author

chrisjp commented Jul 14, 2023

Existing languages voices have now been updated for TikTok.

France, Germany, Spain, and South Korea regions are only returning the default English voices using the above method. I don't know what happened to the original voice IDs they have but they do still work. I am assuming they are no longer available in the app, considering even some of the original English aren't any more.

@thetoonsofjosh
Copy link

Acapela

has two interesting voices for the Northern Sámi language, the only ones for this language I know of. Neither of them work in their demo.

{"vid": "biera_hmm_22k", "name": "Biera", "flag": "", "lang": "Northern Sámi", "accent": "", "gender": "F"},
{"vid": "elle_hmm_22k", "name": "Elle", "flag": "", "lang": "Northern Sámi", "accent": "", "gender": "F"},

I know this is 4 days ago but about those Northern Sámi Acapela voices, They seem to work now (I tested out the voices in their demo), Not to mention they also removed the background noise.

@chrisjp
Copy link
Owner Author

chrisjp commented Jul 19, 2023

Thanks for the heads up. They must have fixed them in the last week or so, also nice that they've removed the background noise from all voices.
I've pushed these changes to the website.

@PeeFiftee
Copy link

You think you can try to add the Cepstral and VocieForge voices?

@chrisjp
Copy link
Owner Author

chrisjp commented Oct 1, 2023

VoiceForge is a simple enough addition and I'll hopefully get this added later tonight. Cepstral looks a little more complex but will likely be added quite soon.

chrisjp added a commit that referenced this issue Oct 1, 2023
Added 26 functional voices.
Based on my testing, character limit seemed to be arbitrary, always somewhere between 540-550 characters in length. I've set the limit to 540.
One voice resulted in timeouts which has been added to issue #13
chrisjp added a commit that referenced this issue Oct 1, 2023
* adds VoiceForge voices

Added 26 functional voices.
Based on my testing, character limit seemed to be arbitrary, always somewhere between 540-550 characters in length. I've set the limit to 540.
One voice resulted in timeouts which has been added to issue #13

* Update footer.php
@chrisjp
Copy link
Owner Author

chrisjp commented Oct 2, 2023

@PeeFiftee both VoiceForge and Cepstral have been added.

Unfortunately, Cepstral is already rate-limiting requests from my server now due to the amount of users it gets so it's not working well. VoiceForge appears to be fine though.

@PeeFiftee
Copy link

I was gonna say. The Cepstral voices should have a VoiceForge version. Try those instead.

@PeeFiftee
Copy link

PeeFiftee commented Oct 3, 2023

Only the English ones though (and it seems like the new apis only got to the desktop versions, still waiting for the changes to make it to the mobile version)

@PeeFiftee
Copy link

While you're at it. I'm sorry if it sounds like I'm annoying you, I'm trying not to. But can you try adding the Readloud(Ivona) and Microsoft SAPI4 (Sam, Robosoft, etc...) apis too?

@WaleedAnimate2020
Copy link
Contributor

WaleedAnimate2020 commented Oct 27, 2023

Can you add AT&T Natural voices for me?

Some of them from Oddcast and other from ReadTheWords

AT&T Natural from Oddcast

{"vid": "1-1-1", "name": "Crystal", "flag": "US", "lang": "English", "accent": "American", "gender": "F"},
{"vid": "2-1-1", "name": "Mike", "flag": "US", "lang": "English", "accent": "American", "gender": "M"},
{"vid": "3-1-1", "name": "Claire", "flag": "US", "lang": "English", "accent": "American", "gender": "F"},
{"vid": "4-1-1", "name": "Rich", "flag": "US", "lang": "English", "accent": "American", "gender": "M"},
{"vid": "6-1-1", "name": "Charles", "flag": "GB", "lang": "English", "accent": "American", "gender": "M"},
{"vid": "1-1-4", "name": "Juliette", "flag": "FR", "lang": "French", "accent": "", "gender": "F"},
{"vid": "2-1-4", "name": "Alain", "flag": "FR", "lang": "French", "accent": "", "gender": "M"},
{"vid": "3-1-4", "name": "Pierre", "flag": "CA", "lang": "French", "accent": "Canadian", "gender": "M"},
{"vid": "1-1-3", "name": "Klara", "flag": "DE", "lang": "German", "accent": "", "gender": "F"},
{"vid": "2-1-3", "name": "Reiner", "flag": "DE", "lang": "German", "accent": "", "gender": "M"},
{"vid": "1-1-2", "name": "Rosa", "flag": "MX", "lang": "Spanish", "accent": "Mexican", "gender": "F"},
{"vid": "2-1-2", "name": "Alberto", "flag": "MX", "lang": "Spanish", "accent": "Mexican", "gender": "M"},

and missing from Vocalware are

{"vid": "4-7-1", "name": "Jackson", "flag": "AU", "lang": "English", "accent": "Australian", "gender": "M"},
{"vid": "8-7-1", "name": "Warren", "flag": "US", "lang": "English", "accent": "American", "gender": "M"},

@Daniel49332
Copy link

Add Readloud (Ivona) voices if you can

@WaleedAnimate2020
Copy link
Contributor

and other AT&T Natural voices too

This website is what you need to find: https://www.readthewords.com/Try.aspx

Names and languages

Mel (US English)
Julia (US English)
Lauren (US English)
Ray (US English)
Audrey (UK English)
Charles (UK English)
Anjali (Indian English)

@GJJellyfish
Copy link

Cerence voices do not work, throwing up a 500

@chrisjp
Copy link
Owner Author

chrisjp commented Dec 11, 2023

Cerence: Yeah, looks like that might be an issue with their website as I'm getting the same error from different IP addresses too so they haven't blocked my server's IP. I don't even know how or where the URL for this originally came from, so unless they fix it or someone finds a new working URL we can access these will likely be removed in a future update.

For those requesting new voices, please open a new issue for services we don't have yet. This thread is intended for reporting voices already on the website which have since stopped working.

Also, for those asking about IVONA voices. Amazon bought IVONA years ago and (I believe) all the voices they had available are now part of Amazon Polly (which you can use from either the StreamElements or Streamlabs TTS). They should all have identical names so it seems redundant to add yet another API for these.

@chrisjp chrisjp added the bug Something isn't working label Dec 11, 2023
@WaleedAnimate2020
Copy link
Contributor

The emotive and children voices from acapela are not working for some reason

@Daniel49332
Copy link

Daniel49332 commented Jun 30, 2024

I think I found "new" Amazon Neural voices on Streamlabs API (some of them may work):

  • Hala (Gulf Arabic female) <- Can also speak English
  • Zayd (Gulf Arabic male) <- Can also speak English
  • Lisa (BE Dutch female)
  • Arlet (Catalan female)
  • Hiujin (Chinese female)
  • Sofie (Danish female)
  • Laura (NL Dutch female)
  • Olivia (AU English female)
  • Arthur (GB English male)
  • Kajal (Hindi female) <- Can also speak English
  • Niamh (IE English female)
  • Aria (NZ English female)
  • Ayanda (ZA English female)
  • Danielle (US English female)
  • Gregory (US English male)
  • Kevin (US English male)
  • Ruth (US English female)
  • Stephen (US English male)
  • Suvi (Finnish female)
  • Isabelle (BE French female)
  • Gabrielle (CA French female)
  • Liam (CA French male)
  • Rémi (FR French male)
  • Daniel (DE German male)
  • Hannah (AT German female)
  • Adriano (Italian male)
  • Kazuha (Japanese female)
  • Tomoko (Japanese female)
  • Ida (Norwegian female)
  • Ola (Polish female)
  • Thiago (BR Portuguese male)
  • Sergio (ES Spanish male)
  • Andrés (MX Spanish male)
  • Pedro (US Spanish male)
  • Elin (Swedish female)
  • Burcu (Turkish female)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants