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:
+73
-4
@@ -63,11 +63,80 @@ class OmniVoiceGenerate:
|
|||||||
"tooltip": "Transcription of ref_audio. Connect a Whisper (or other STT) node for best results.",
|
"tooltip": "Transcription of ref_audio. Connect a Whisper (or other STT) node for best results.",
|
||||||
}),
|
}),
|
||||||
"language": (
|
"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",
|
"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", {
|
"instruct": ("STRING", {
|
||||||
@@ -124,7 +193,7 @@ class OmniVoiceGenerate:
|
|||||||
if seed != 0:
|
if seed != 0:
|
||||||
torch.manual_seed(seed)
|
torch.manual_seed(seed)
|
||||||
kwargs = {"text": text, "speed": speed, "num_step": num_step, "guidance_scale": guidance_scale}
|
kwargs = {"text": text, "speed": speed, "num_step": num_step, "guidance_scale": guidance_scale}
|
||||||
if language != "auto":
|
if language and language != "auto":
|
||||||
kwargs["language"] = language
|
kwargs["language"] = language
|
||||||
|
|
||||||
if mode == "voice_cloning" and ref_audio is None:
|
if mode == "voice_cloning" and ref_audio is None:
|
||||||
|
|||||||
+44
-8
@@ -2,23 +2,59 @@ class OmniVoiceVoiceDesign:
|
|||||||
"""Compose a voice design instruct string from structured dropdowns."""
|
"""Compose a voice design instruct string from structured dropdowns."""
|
||||||
|
|
||||||
GENDERS = ["none", "male", "female"]
|
GENDERS = ["none", "male", "female"]
|
||||||
|
|
||||||
AGES = ["none", "child", "teenager", "young adult", "middle-aged", "elderly"]
|
AGES = ["none", "child", "teenager", "young adult", "middle-aged", "elderly"]
|
||||||
PITCHES = ["none", "very low pitch", "low pitch", "moderate pitch", "high pitch", "very high pitch", "whisper"]
|
|
||||||
|
PITCHES = [
|
||||||
|
"none",
|
||||||
|
"very low pitch", "low pitch", "moderate pitch",
|
||||||
|
"high pitch", "very high pitch", "whisper",
|
||||||
|
]
|
||||||
|
|
||||||
ACCENTS = [
|
ACCENTS = [
|
||||||
"none",
|
"none",
|
||||||
"american accent", "british accent", "australian accent", "canadian accent",
|
# English varieties
|
||||||
"indian accent", "chinese accent", "japanese accent", "korean accent",
|
"american accent", "american southern accent", "american new york accent",
|
||||||
"portuguese accent", "russian accent",
|
"american midwest accent", "american texas accent",
|
||||||
|
"british accent", "british rp accent", "british cockney accent",
|
||||||
|
"scottish accent", "welsh accent", "irish accent",
|
||||||
|
"australian accent", "new zealand accent",
|
||||||
|
"canadian accent", "south african accent",
|
||||||
|
# South / Southeast Asia
|
||||||
|
"indian accent", "pakistani accent", "bangladeshi accent",
|
||||||
|
"sri lankan accent", "singaporean accent", "malaysian accent",
|
||||||
|
"filipino accent", "vietnamese accent", "thai accent",
|
||||||
|
"indonesian accent",
|
||||||
|
# East Asia
|
||||||
|
"chinese accent", "japanese accent", "korean accent",
|
||||||
|
# Europe
|
||||||
|
"french accent", "german accent", "italian accent",
|
||||||
|
"spanish accent", "portuguese accent", "dutch accent",
|
||||||
|
"swedish accent", "norwegian accent", "danish accent",
|
||||||
|
"finnish accent", "polish accent", "czech accent",
|
||||||
|
"hungarian accent", "romanian accent", "greek accent",
|
||||||
|
"turkish accent",
|
||||||
|
# Eastern Europe / Central Asia
|
||||||
|
"russian accent", "ukrainian accent", "arabic accent",
|
||||||
|
"persian accent", "kazakh accent",
|
||||||
|
# Africa / Americas
|
||||||
|
"nigerian accent", "ghanaian accent", "kenyan accent",
|
||||||
|
"mexican accent", "brazilian accent", "caribbean accent",
|
||||||
|
"argentinian accent",
|
||||||
]
|
]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(cls):
|
def INPUT_TYPES(cls):
|
||||||
return {
|
return {
|
||||||
"required": {
|
"required": {
|
||||||
"gender": (cls.GENDERS, {"default": "female"}),
|
"gender": (cls.GENDERS, {"default": "female",
|
||||||
"age": (cls.AGES, {"default": "none"}),
|
"tooltip": "Voice gender."}),
|
||||||
"pitch": (cls.PITCHES, {"default": "none"}),
|
"age": (cls.AGES, {"default": "none",
|
||||||
"accent": (cls.ACCENTS, {"default": "none"}),
|
"tooltip": "Approximate age of the speaker."}),
|
||||||
|
"pitch": (cls.PITCHES, {"default": "none",
|
||||||
|
"tooltip": "Pitch / register of the voice."}),
|
||||||
|
"accent": (cls.ACCENTS, {"default": "none",
|
||||||
|
"tooltip": "Regional or language accent. Type to filter the list."}),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user