feat: expand language and accent lists to full coverage

Language: ~170 world languages with type-to-filter dropdown
Accent: 50+ regional varieties grouped by area

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-05 20:04:12 +02:00
parent c1558efad9
commit d2cb5c4249
2 changed files with 120 additions and 15 deletions
+73 -4
View File
@@ -63,11 +63,80 @@ class OmniVoiceGenerate:
"tooltip": "Transcription of ref_audio. Connect a Whisper (or other STT) node for best results.",
}),
"language": (
["auto", "English", "Chinese", "Japanese", "Korean", "French",
"Spanish", "German", "Portuguese", "Russian", "Arabic", "Hindi"],
[
"auto",
# A
"Abkhazian", "Afar", "Afrikaans", "Akan", "Albanian", "Amharic",
"Arabic", "Aragonese", "Armenian", "Assamese", "Avaric", "Avestan",
"Aymara", "Azerbaijani",
# B
"Bambara", "Bashkir", "Basque", "Belarusian", "Bengali", "Bihari",
"Bislama", "Bosnian", "Breton", "Bulgarian", "Burmese",
# C
"Catalan", "Chamorro", "Chechen", "Chichewa", "Chinese (Mandarin)",
"Chinese (Cantonese)", "Chuvash", "Cornish", "Corsican", "Cree",
"Croatian", "Czech",
# D
"Danish", "Divehi", "Dutch", "Dzongkha",
# E
"English", "Esperanto", "Estonian", "Ewe",
# F
"Faroese", "Fijian", "Finnish", "French", "Fula",
# G
"Galician", "Georgian", "German", "Greek", "Guaraní", "Gujarati",
# H
"Haitian Creole", "Hausa", "Hebrew", "Herero", "Hindi", "Hiri Motu",
"Hungarian",
# I
"Interlingua", "Indonesian", "Igbo", "Inuktitut", "Irish",
"Italian",
# J
"Japanese", "Javanese",
# K
"Kannada", "Kanuri", "Kashmiri", "Kazakh", "Khmer", "Kikuyu",
"Kinyarwanda", "Komi", "Kongo", "Korean", "Kurdish", "Kyrgyz",
# L
"Lao", "Latin", "Latvian", "Limburgish", "Lingala", "Lithuanian",
"Luganda", "Luxembourgish",
# M
"Macedonian", "Malagasy", "Malay", "Malayalam", "Maltese", "Manx",
"Maori", "Marathi", "Marshallese", "Mongolian",
# N
"Nauruan", "Navajo", "Nepali", "Northern Sami", "Norwegian",
"Norwegian Bokmål", "Norwegian Nynorsk",
# O
"Occitan", "Ojibwe", "Odia", "Oromo", "Ossetian",
# P
"Pali", "Pashto", "Persian", "Polish", "Portuguese",
"Punjabi",
# Q
"Quechua",
# R
"Romanian", "Romansh", "Russian",
# S
"Samoan", "Sango", "Sanskrit", "Serbian", "Shona", "Sindhi",
"Sinhala", "Slovak", "Slovenian", "Somali", "Southern Sotho",
"Spanish", "Sundanese", "Swahili", "Swati", "Swedish",
# T
"Tagalog", "Tahitian", "Tajik", "Tamil", "Tatar", "Telugu",
"Thai", "Tibetan", "Tigrinya", "Tonga", "Tsonga", "Tswana",
"Turkish", "Turkmen", "Twi",
# U
"Ukrainian", "Urdu", "Uyghur", "Uzbek",
# V
"Vietnamese", "Volapük",
# W
"Walloon", "Welsh", "Western Frisian", "Wolof",
# X
"Xhosa",
# Y
"Yiddish", "Yoruba",
# Z
"Zhuang", "Zulu",
],
{
"default": "auto",
"tooltip": "Language of the text to synthesize. 'auto' lets the model detect it.",
"tooltip": "Language of the text. Type to filter. OmniVoice supports 600+ languages — use 'auto' when unsure.",
},
),
"instruct": ("STRING", {
@@ -124,7 +193,7 @@ class OmniVoiceGenerate:
if seed != 0:
torch.manual_seed(seed)
kwargs = {"text": text, "speed": speed, "num_step": num_step, "guidance_scale": guidance_scale}
if language != "auto":
if language and language != "auto":
kwargs["language"] = language
if mode == "voice_cloning" and ref_audio is None: