Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -16,95 +16,403 @@ async def generate_speech(text: str, voice: str) -> str:
|
|
16 |
|
17 |
# List of voices
|
18 |
VOICES: Dict[str, str] = {
|
19 |
-
#
|
20 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
"Guy (Male, US)": "en-US-GuyNeural",
|
22 |
-
"
|
23 |
-
"
|
24 |
-
"
|
25 |
-
"Jason (Male, US)": "en-US-JasonNeural",
|
26 |
-
"Nancy (Female, US)": "en-US-NancyNeural",
|
27 |
-
"Tony (Male, US)": "en-US-TonyNeural",
|
28 |
-
"Sara (Female, US)": "en-US-SaraNeural",
|
29 |
-
"Brandon (Male, US)": "en-US-BrandonNeural",
|
30 |
-
|
31 |
-
# English (UK)
|
32 |
-
"Libby (Female, UK)": "en-GB-LibbyNeural",
|
33 |
-
"Ryan (Male, UK)": "en-GB-RyanNeural",
|
34 |
-
"Sonia (Female, UK)": "en-GB-SoniaNeural",
|
35 |
-
"Thomas (Male, UK)": "en-GB-ThomasNeural",
|
36 |
-
|
37 |
-
# English (Australia)
|
38 |
"Natasha (Female, AU)": "en-AU-NatashaNeural",
|
39 |
-
"
|
40 |
-
|
41 |
-
|
|
|
|
|
|
|
42 |
"Neerja (Female, IN)": "en-IN-NeerjaNeural",
|
43 |
-
"
|
44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
# Spanish
|
46 |
-
"Elvira (Female, ES)": "es-ES-ElviraNeural",
|
47 |
-
"Alvaro (Male, ES)": "es-ES-AlvaroNeural",
|
48 |
-
"Ana (Female, AR)": "es-AR-AnaNeural",
|
49 |
"Tomas (Male, AR)": "es-AR-TomasNeural",
|
50 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
"Jorge (Male, MX)": "es-MX-JorgeNeural",
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
# French
|
54 |
-
"
|
|
|
|
|
|
|
|
|
55 |
"Henri (Male, FR)": "fr-FR-HenriNeural",
|
|
|
|
|
56 |
"Sylvie (Female, CA)": "fr-CA-SylvieNeural",
|
57 |
-
"
|
58 |
-
|
59 |
-
|
60 |
-
"
|
61 |
-
|
62 |
-
"
|
63 |
-
"
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
# Italian
|
66 |
-
"Elsa (Female, IT)": "it-IT-ElsaNeural",
|
67 |
"Diego (Male, IT)": "it-IT-DiegoNeural",
|
68 |
-
|
69 |
-
|
70 |
-
"
|
71 |
-
|
72 |
-
"
|
73 |
-
"
|
74 |
-
|
|
|
75 |
# Japanese
|
76 |
-
"Nanami (Female, JP)": "ja-JP-NanamiNeural",
|
77 |
"Keita (Male, JP)": "ja-JP-KeitaNeural",
|
78 |
-
|
79 |
-
#
|
80 |
-
"
|
81 |
-
"
|
82 |
-
|
83 |
-
"
|
84 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
# Korean
|
86 |
-
"
|
87 |
"InJoon (Male, KR)": "ko-KR-InJoonNeural",
|
88 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
# Russian
|
90 |
-
"Svetlana (Female, RU)": "ru-RU-SvetlanaNeural",
|
91 |
"Dmitry (Male, RU)": "ru-RU-DmitryNeural",
|
92 |
-
|
93 |
-
#
|
94 |
-
"
|
95 |
-
"
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
"
|
101 |
-
|
102 |
-
#
|
103 |
-
"
|
104 |
-
"
|
105 |
-
|
106 |
-
"
|
107 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
}
|
109 |
|
110 |
def text_to_speech(text: str, voice: str) -> str:
|
@@ -128,7 +436,6 @@ with gr.Blocks(title="Text-to-Speech", theme="soft") as demo:
|
|
128 |
)
|
129 |
generate_btn = gr.Button("Generate Speech", variant="primary")
|
130 |
audio_output = gr.Audio(label="Listen to Speech", autoplay=True)
|
131 |
-
|
132 |
generate_btn.click(
|
133 |
fn=text_to_speech,
|
134 |
inputs=[text_input, voice_dropdown],
|
|
|
16 |
|
17 |
# List of voices
|
18 |
VOICES: Dict[str, str] = {
|
19 |
+
# Afrikaans
|
20 |
+
"Willem (Male, ZA)": "af-ZA-WillemNeural",
|
21 |
+
"Adri (Female, ZA)": "af-ZA-AdriNeural",
|
22 |
+
# Amharic
|
23 |
+
"Ameha (Male, ET)": "am-ET-AmehaNeural",
|
24 |
+
"Mekdes (Female, ET)": "am-ET-MekdesNeural",
|
25 |
+
# Arabic
|
26 |
+
"Hamdan (Male, AE)": "ar-AE-HamdanNeural",
|
27 |
+
"Ali (Male, BH)": "ar-BH-AliNeural",
|
28 |
+
"Ismael (Male, DZ)": "ar-DZ-IsmaelNeural",
|
29 |
+
"Shakir (Male, EG)": "ar-EG-ShakirNeural",
|
30 |
+
"Bassel (Male, IQ)": "ar-IQ-BasselNeural",
|
31 |
+
"Taim (Male, JO)": "ar-JO-TaimNeural",
|
32 |
+
"Fahed (Male, KW)": "ar-KW-FahedNeural",
|
33 |
+
"Rami (Male, LB)": "ar-LB-RamiNeural",
|
34 |
+
"Omar (Male, LY)": "ar-LY-OmarNeural",
|
35 |
+
"Jamal (Male, MA)": "ar-MA-JamalNeural",
|
36 |
+
"Abdullah (Male, OM)": "ar-OM-AbdullahNeural",
|
37 |
+
"Moaz (Male, QA)": "ar-QA-MoazNeural",
|
38 |
+
"Hamed (Male, SA)": "ar-SA-HamedNeural",
|
39 |
+
"Laith (Male, SY)": "ar-SY-LaithNeural",
|
40 |
+
"Hedi (Male, TN)": "ar-TN-HediNeural",
|
41 |
+
"Saleh (Male, YE)": "ar-YE-SalehNeural",
|
42 |
+
"Fatima (Female, AE)": "ar-AE-FatimaNeural",
|
43 |
+
"Laila (Female, BH)": "ar-BH-LailaNeural",
|
44 |
+
"Amina (Female, DZ)": "ar-DZ-AminaNeural",
|
45 |
+
"Salma (Female, EG)": "ar-EG-SalmaNeural",
|
46 |
+
"Rana (Female, IQ)": "ar-IQ-RanaNeural",
|
47 |
+
"Sana (Female, JO)": "ar-JO-SanaNeural",
|
48 |
+
"Noura (Female, KW)": "ar-KW-NouraNeural",
|
49 |
+
"Layla (Female, LB)": "ar-LB-LaylaNeural",
|
50 |
+
"Iman (Female, LY)": "ar-LY-ImanNeural",
|
51 |
+
"Mouna (Female, MA)": "ar-MA-MounaNeural",
|
52 |
+
"Aysha (Female, OM)": "ar-OM-AyshaNeural",
|
53 |
+
"Amal (Female, QA)": "ar-QA-AmalNeural",
|
54 |
+
"Zariyah (Female, SA)": "ar-SA-ZariyahNeural",
|
55 |
+
"Amany (Female, SY)": "ar-SY-AmanyNeural",
|
56 |
+
"Reem (Female, TN)": "ar-TN-ReemNeural",
|
57 |
+
"Maryam (Female, YE)": "ar-YE-MaryamNeural",
|
58 |
+
# Azerbaijani
|
59 |
+
"Babek (Male, AZ)": "az-AZ-BabekNeural",
|
60 |
+
"Banu (Female, AZ)": "az-AZ-BanuNeural",
|
61 |
+
# Bulgarian
|
62 |
+
"Borislav (Male, BG)": "bg-BG-BorislavNeural",
|
63 |
+
"Kalina (Female, BG)": "bg-BG-KalinaNeural",
|
64 |
+
# Bengali
|
65 |
+
"Pradeep (Male, BD)": "bn-BD-PradeepNeural",
|
66 |
+
"Bashkar (Male, IN)": "bn-IN-BashkarNeural",
|
67 |
+
"Nabanita (Female, BD)": "bn-BD-NabanitaNeural",
|
68 |
+
"Tanishaa (Female, IN)": "bn-IN-TanishaaNeural",
|
69 |
+
# Bosnian
|
70 |
+
"Goran (Male, BA)": "bs-BA-GoranNeural",
|
71 |
+
"Vesna (Female, BA)": "bs-BA-VesnaNeural",
|
72 |
+
# Catalan
|
73 |
+
"Enric (Male, ES)": "ca-ES-EnricNeural",
|
74 |
+
"Joana (Female, ES)": "ca-ES-JoanaNeural",
|
75 |
+
# Czech
|
76 |
+
"Antonin (Male, CZ)": "cs-CZ-AntoninNeural",
|
77 |
+
"Vlasta (Female, CZ)": "cs-CZ-VlastaNeural",
|
78 |
+
# Welsh
|
79 |
+
"Aled (Male, GB)": "cy-GB-AledNeural",
|
80 |
+
"Nia (Female, GB)": "cy-GB-NiaNeural",
|
81 |
+
# Danish
|
82 |
+
"Jeppe (Male, DK)": "da-DK-JeppeNeural",
|
83 |
+
"Christel (Female, DK)": "da-DK-ChristelNeural",
|
84 |
+
# German
|
85 |
+
"Jonas (Male, AT)": "de-AT-JonasNeural",
|
86 |
+
"Jan (Male, CH)": "de-CH-JanNeural",
|
87 |
+
"Conrad (Male, DE)": "de-DE-ConradNeural",
|
88 |
+
"Florian (Male, DE)": "de-DE-FlorianMultilingualNeural",
|
89 |
+
"Killian (Male, DE)": "de-DE-KillianNeural",
|
90 |
+
"Ingrid (Female, AT)": "de-AT-IngridNeural",
|
91 |
+
"Leni (Female, CH)": "de-CH-LeniNeural",
|
92 |
+
"Amala (Female, DE)": "de-DE-AmalaNeural",
|
93 |
+
"Katja (Female, DE)": "de-DE-KatjaNeural",
|
94 |
+
"Seraphina (Female, DE)": "de-DE-SeraphinaMultilingualNeural",
|
95 |
+
# Modern Greek
|
96 |
+
"Nestoras (Male, GR)": "el-GR-NestorasNeural",
|
97 |
+
"Athina (Female, GR)": "el-GR-AthinaNeural",
|
98 |
+
# English
|
99 |
+
"William (Male, AU)": "en-AU-WilliamNeural",
|
100 |
+
"Liam (Male, CA)": "en-CA-LiamNeural",
|
101 |
+
"Ryan (Male, GB)": "en-GB-RyanNeural",
|
102 |
+
"Thomas (Male, GB)": "en-GB-ThomasNeural",
|
103 |
+
"Sam (Male, HK)": "en-HK-SamNeural",
|
104 |
+
"Connor (Male, IE)": "en-IE-ConnorNeural",
|
105 |
+
"Prabhat (Male, IN)": "en-IN-PrabhatNeural",
|
106 |
+
"Chilemba (Male, KE)": "en-KE-ChilembaNeural",
|
107 |
+
"Abeo (Male, NG)": "en-NG-AbeoNeural",
|
108 |
+
"Mitchell (Male, NZ)": "en-NZ-MitchellNeural",
|
109 |
+
"James (Male, PH)": "en-PH-JamesNeural",
|
110 |
+
"Wayne (Male, SG)": "en-SG-WayneNeural",
|
111 |
+
"Elimu (Male, TZ)": "en-TZ-ElimuNeural",
|
112 |
+
"Andrew (Male, US)": "en-US-AndrewNeural",
|
113 |
+
"Andrew Multilingual (Male, US)": "en-US-AndrewMultilingualNeural",
|
114 |
+
"Brian (Male, US)": "en-US-BrianNeural",
|
115 |
+
"Brian Multilingual (Male, US)": "en-US-BrianMultilingualNeural",
|
116 |
+
"Christopher (Male, US)": "en-US-ChristopherNeural",
|
117 |
+
"Eric (Male, US)": "en-US-EricNeural",
|
118 |
"Guy (Male, US)": "en-US-GuyNeural",
|
119 |
+
"Roger (Male, US)": "en-US-RogerNeural",
|
120 |
+
"Steffan (Male, US)": "en-US-SteffanNeural",
|
121 |
+
"Luke (Male, ZA)": "en-ZA-LukeNeural",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
"Natasha (Female, AU)": "en-AU-NatashaNeural",
|
123 |
+
"Clara (Female, CA)": "en-CA-ClaraNeural",
|
124 |
+
"Libby (Female, GB)": "en-GB-LibbyNeural",
|
125 |
+
"Maisie (Female, GB)": "en-GB-MaisieNeural",
|
126 |
+
"Sonia (Female, GB)": "en-GB-SoniaNeural",
|
127 |
+
"Yan (Female, HK)": "en-HK-YanNeural",
|
128 |
+
"Emily (Female, IE)": "en-IE-EmilyNeural",
|
129 |
"Neerja (Female, IN)": "en-IN-NeerjaNeural",
|
130 |
+
"Neerja Expressive (Female, IN)": "en-IN-NeerjaExpressiveNeural",
|
131 |
+
"Asilia (Female, KE)": "en-KE-AsiliaNeural",
|
132 |
+
"Ezinne (Female, NG)": "en-NG-EzinneNeural",
|
133 |
+
"Molly (Female, NZ)": "en-NZ-MollyNeural",
|
134 |
+
"Rosa (Female, PH)": "en-PH-RosaNeural",
|
135 |
+
"Luna (Female, SG)": "en-SG-LunaNeural",
|
136 |
+
"Imani (Female, TZ)": "en-TZ-ImaniNeural",
|
137 |
+
"Ana (Female, US)": "en-US-AnaNeural",
|
138 |
+
"Aria (Female, US)": "en-US-AriaNeural",
|
139 |
+
"Ava (Female, US)": "en-US-AvaNeural",
|
140 |
+
"Ava Multilingual (Female, US)": "en-US-AvaMultilingualNeural",
|
141 |
+
"Emma (Female, US)": "en-US-EmmaNeural",
|
142 |
+
"Emma Multilingual (Female, US)": "en-US-EmmaMultilingualNeural",
|
143 |
+
"Jenny (Female, US)": "en-US-JennyNeural",
|
144 |
+
"Michelle (Female, US)": "en-US-MichelleNeural",
|
145 |
+
"Leah (Female, ZA)": "en-ZA-LeahNeural",
|
146 |
# Spanish
|
|
|
|
|
|
|
147 |
"Tomas (Male, AR)": "es-AR-TomasNeural",
|
148 |
+
"Marcelo (Male, BO)": "es-BO-MarceloNeural",
|
149 |
+
"Lorenzo (Male, CL)": "es-CL-LorenzoNeural",
|
150 |
+
"Gonzalo (Male, CO)": "es-CO-GonzaloNeural",
|
151 |
+
"Juan (Male, CR)": "es-CR-JuanNeural",
|
152 |
+
"Manuel (Male, CU)": "es-CU-ManuelNeural",
|
153 |
+
"Emilio (Male, DO)": "es-DO-EmilioNeural",
|
154 |
+
"Luis (Male, EC)": "es-EC-LuisNeural",
|
155 |
+
"Alvaro (Male, ES)": "es-ES-AlvaroNeural",
|
156 |
+
"Javier (Male, GQ)": "es-GQ-JavierNeural",
|
157 |
+
"Andres (Male, GT)": "es-GT-AndresNeural",
|
158 |
+
"Carlos (Male, HN)": "es-HN-CarlosNeural",
|
159 |
"Jorge (Male, MX)": "es-MX-JorgeNeural",
|
160 |
+
"Federico (Male, NI)": "es-NI-FedericoNeural",
|
161 |
+
"Roberto (Male, PA)": "es-PA-RobertoNeural",
|
162 |
+
"Alex (Male, PE)": "es-PE-AlexNeural",
|
163 |
+
"Victor (Male, PR)": "es-PR-VictorNeural",
|
164 |
+
"Mario (Male, PY)": "es-PY-MarioNeural",
|
165 |
+
"Rodrigo (Male, SV)": "es-SV-RodrigoNeural",
|
166 |
+
"Alonso (Male, US)": "es-US-AlonsoNeural",
|
167 |
+
"Mateo (Male, UY)": "es-UY-MateoNeural",
|
168 |
+
"Sebastian (Male, VE)": "es-VE-SebastianNeural",
|
169 |
+
"Elena (Female, AR)": "es-AR-ElenaNeural",
|
170 |
+
"Sofia (Female, BO)": "es-BO-SofiaNeural",
|
171 |
+
"Catalina (Female, CL)": "es-CL-CatalinaNeural",
|
172 |
+
"Salome (Female, CO)": "es-CO-SalomeNeural",
|
173 |
+
"Maria (Female, CR)": "es-CR-MariaNeural",
|
174 |
+
"Belkys (Female, CU)": "es-CU-BelkysNeural",
|
175 |
+
"Ramona (Female, DO)": "es-DO-RamonaNeural",
|
176 |
+
"Andrea (Female, EC)": "es-EC-AndreaNeural",
|
177 |
+
"Elvira (Female, ES)": "es-ES-ElviraNeural",
|
178 |
+
"Ximena (Female, ES)": "es-ES-XimenaNeural",
|
179 |
+
"Teresa (Female, GQ)": "es-GQ-TeresaNeural",
|
180 |
+
"Marta (Female, GT)": "es-GT-MartaNeural",
|
181 |
+
"Karla (Female, HN)": "es-HN-KarlaNeural",
|
182 |
+
"Dalia (Female, MX)": "es-MX-DaliaNeural",
|
183 |
+
"Yolanda (Female, NI)": "es-NI-YolandaNeural",
|
184 |
+
"Margarita (Female, PA)": "es-PA-MargaritaNeural",
|
185 |
+
"Camila (Female, PE)": "es-PE-CamilaNeural",
|
186 |
+
"Karina (Female, PR)": "es-PR-KarinaNeural",
|
187 |
+
"Tania (Female, PY)": "es-PY-TaniaNeural",
|
188 |
+
"Lorena (Female, SV)": "es-SV-LorenaNeural",
|
189 |
+
"Paloma (Female, US)": "es-US-PalomaNeural",
|
190 |
+
"Valentina (Female, UY)": "es-UY-ValentinaNeural",
|
191 |
+
"Paola (Female, VE)": "es-VE-PaolaNeural",
|
192 |
+
# Estonian
|
193 |
+
"Kert (Male, EE)": "et-EE-KertNeural",
|
194 |
+
"Anu (Female, EE)": "et-EE-AnuNeural",
|
195 |
+
# Persian
|
196 |
+
"Farid (Male, IR)": "fa-IR-FaridNeural",
|
197 |
+
"Dilara (Female, IR)": "fa-IR-DilaraNeural",
|
198 |
+
# Finnish
|
199 |
+
"Harri (Male, FI)": "fi-FI-HarriNeural",
|
200 |
+
"Noora (Female, FI)": "fi-FI-NooraNeural",
|
201 |
+
# Filipino
|
202 |
+
"Angelo (Male, PH)": "fil-PH-AngeloNeural",
|
203 |
+
"Blessica (Female, PH)": "fil-PH-BlessicaNeural",
|
204 |
# French
|
205 |
+
"Gerard (Male, BE)": "fr-BE-GerardNeural",
|
206 |
+
"Antoine (Male, CA)": "fr-CA-AntoineNeural",
|
207 |
+
"Jean (Male, CA)": "fr-CA-JeanNeural",
|
208 |
+
"Thierry (Male, CA)": "fr-CA-ThierryNeural",
|
209 |
+
"Fabrice (Male, CH)": "fr-CH-FabriceNeural",
|
210 |
"Henri (Male, FR)": "fr-FR-HenriNeural",
|
211 |
+
"Remy (Male, FR)": "fr-FR-RemyMultilingualNeural",
|
212 |
+
"Charline (Female, BE)": "fr-BE-CharlineNeural",
|
213 |
"Sylvie (Female, CA)": "fr-CA-SylvieNeural",
|
214 |
+
"Ariane (Female, CH)": "fr-CH-ArianeNeural",
|
215 |
+
"Denise (Female, FR)": "fr-FR-DeniseNeural",
|
216 |
+
"Eloise (Female, FR)": "fr-FR-EloiseNeural",
|
217 |
+
"Vivienne (Female, FR)": "fr-FR-VivienneMultilingualNeural",
|
218 |
+
# Irish
|
219 |
+
"Colm (Male, IE)": "ga-IE-ColmNeural",
|
220 |
+
"Orla (Female, IE)": "ga-IE-OrlaNeural",
|
221 |
+
# Galician
|
222 |
+
"Roi (Male, ES)": "gl-ES-RoiNeural",
|
223 |
+
"Sabela (Female, ES)": "gl-ES-SabelaNeural",
|
224 |
+
# Gujarati
|
225 |
+
"Niranjan (Male, IN)": "gu-IN-NiranjanNeural",
|
226 |
+
"Dhwani (Female, IN)": "gu-IN-DhwaniNeural",
|
227 |
+
# Hebrew
|
228 |
+
"Avri (Male, IL)": "he-IL-AvriNeural",
|
229 |
+
"Hila (Female, IL)": "he-IL-HilaNeural",
|
230 |
+
# Hindi
|
231 |
+
"Madhur (Male, IN)": "hi-IN-MadhurNeural",
|
232 |
+
"Swara (Female, IN)": "hi-IN-SwaraNeural",
|
233 |
+
# Croatian
|
234 |
+
"Srecko (Male, HR)": "hr-HR-SreckoNeural",
|
235 |
+
"Gabrijela (Female, HR)": "hr-HR-GabrijelaNeural",
|
236 |
+
# Hungarian
|
237 |
+
"Tamas (Male, HU)": "hu-HU-TamasNeural",
|
238 |
+
"Noemi (Female, HU)": "hu-HU-NoemiNeural",
|
239 |
+
# Indonesian
|
240 |
+
"Ardi (Male, ID)": "id-ID-ArdiNeural",
|
241 |
+
"Gadis (Female, ID)": "id-ID-GadisNeural",
|
242 |
+
# Icelandic
|
243 |
+
"Gunnar (Male, IS)": "is-IS-GunnarNeural",
|
244 |
+
"Gudrun (Female, IS)": "is-IS-GudrunNeural",
|
245 |
# Italian
|
|
|
246 |
"Diego (Male, IT)": "it-IT-DiegoNeural",
|
247 |
+
"Giuseppe (Male, IT)": "it-IT-GiuseppeMult RichterNeural",
|
248 |
+
"Elsa (Female, IT)": "it-IT-ElsaNeural",
|
249 |
+
"Isabella (Female, IT)": "it-IT-IsabellaNeural",
|
250 |
+
# Inuktitut
|
251 |
+
"Taqqiq Cans (Male, CA)": "iu-Cans-CA-TaqqiqNeural",
|
252 |
+
"Taqqiq Latn (Male, CA)": "iu-Latn-CA-TaqqiqNeural",
|
253 |
+
"Siqiniq Cans (Female, CA)": "iu-Cans-CA-SiqiniqNeural",
|
254 |
+
"Siqiniq Latn (Female, CA)": "iu-Latn-CA-SiqiniqNeural",
|
255 |
# Japanese
|
|
|
256 |
"Keita (Male, JP)": "ja-JP-KeitaNeural",
|
257 |
+
"Nanami (Female, JP)": "ja-JP-NanamiNeural",
|
258 |
+
# Javanese
|
259 |
+
"Dimas (Male, ID)": "jv-ID-DimasNeural",
|
260 |
+
"Siti (Female, ID)": "jv-ID-SitiNeural",
|
261 |
+
# Georgian
|
262 |
+
"Giorgi (Male, GE)": "ka-GE-GiorgiNeural",
|
263 |
+
"Eka (Female, GE)": "ka-GE-EkaNeural",
|
264 |
+
# Kazakh
|
265 |
+
"Daulet (Male, KZ)": "kk-KZ-DauletNeural",
|
266 |
+
"Aigul (Female, KZ)": "kk-KZ-AigulNeural",
|
267 |
+
# Khmer
|
268 |
+
"Piseth (Male, KH)": "km-KH-PisethNeural",
|
269 |
+
"Sreymom (Female, KH)": "km-KH-SreymomNeural",
|
270 |
+
# Kannada
|
271 |
+
"Gagan (Male, IN)": "kn-IN-GaganNeural",
|
272 |
+
"Sapna (Female, IN)": "kn-IN-SapnaNeural",
|
273 |
# Korean
|
274 |
+
"Hyunsu (Male, KR)": "ko-KR-HyunsuMultilingualNeural",
|
275 |
"InJoon (Male, KR)": "ko-KR-InJoonNeural",
|
276 |
+
"SunHi (Female, KR)": "ko-KR-SunHiNeural",
|
277 |
+
# Lao
|
278 |
+
"Chanthavong (Male, LA)": "lo-LA-ChanthavongNeural",
|
279 |
+
"Keomany (Female, LA)": "lo-LA-KeomanyNeural",
|
280 |
+
# Lithuanian
|
281 |
+
"Leonas (Male, LT)": "lt-LT-LeonasNeural",
|
282 |
+
"Ona (Female, LT)": "lt-LT-OnaNeural",
|
283 |
+
# Latvian
|
284 |
+
"Nils (Male, LV)": "lv-LV-NilsNeural",
|
285 |
+
"Everita (Female, LV)": "lv-LV-EveritaNeural",
|
286 |
+
# Macedonian
|
287 |
+
"Aleksandar (Male, MK)": "mk-MK-AleksandarNeural",
|
288 |
+
"Marija (Female, MK)": "mk-MK-MarijaNeural",
|
289 |
+
# Malayalam
|
290 |
+
"Midhun (Male, IN)": "ml-IN-MidhunNeural",
|
291 |
+
"Sobhana (Female, IN)": "ml-IN-SobhanaNeural",
|
292 |
+
# Mongolian
|
293 |
+
"Bataa (Male, MN)": "mn-MN-BataaNeural",
|
294 |
+
"Yesui (Female, MN)": "mn-MN-YesuiNeural",
|
295 |
+
# Marathi
|
296 |
+
"Manohar (Male, IN)": "mr-IN-ManoharNeural",
|
297 |
+
"Aarohi (Female, IN)": "mr-IN-AarohiNeural",
|
298 |
+
# Malay
|
299 |
+
"Osman (Male, MY)": "ms-MY-OsmanNeural",
|
300 |
+
"Yasmin (Female, MY)": "ms-MY-YasminNeural",
|
301 |
+
# Maltese
|
302 |
+
"Joseph (Male, MT)": "mt-MT-JosephNeural",
|
303 |
+
"Grace (Female, MT)": "mt-MT-GraceNeural",
|
304 |
+
# Burmese
|
305 |
+
"Thiha (Male, MM)": "my-MM-ThihaNeural",
|
306 |
+
"Nilar (Female, MM)": "my-MM-NilarNeural",
|
307 |
+
# Norwegian Bokmål
|
308 |
+
"Finn (Male, NO)": "nb-NO-FinnNeural",
|
309 |
+
"Pernille (Female, NO)": "nb-NO-PernilleNeural",
|
310 |
+
# Nepali
|
311 |
+
"Sagar (Male, NP)": "ne-NP-SagarNeural",
|
312 |
+
"Hemkala (Female, NP)": "ne-NP-HemkalaNeural",
|
313 |
+
# Dutch
|
314 |
+
"Arnaud (Male, BE)": "nl-BE-ArnaudNeural",
|
315 |
+
"Maarten (Male, NL)": "nl-NL-MaartenNeural",
|
316 |
+
"Dena (Female, BE)": "nl-BE-DenaNeural",
|
317 |
+
"Colette (Female, NL)": "nl-NL-ColetteNeural",
|
318 |
+
"Fenna (Female, NL)": "nl-NL-FennaNeural",
|
319 |
+
# Polish
|
320 |
+
"Marek (Male, PL)": "pl-PL-MarekNeural",
|
321 |
+
"Zofia (Female, PL)": "pl-PL-ZofiaNeural",
|
322 |
+
# Pushto
|
323 |
+
"GulNawaz (Male, AF)": "ps-AF-GulNawazNeural",
|
324 |
+
"Latifa (Female, AF)": "ps-AF-LatifaNeural",
|
325 |
+
# Portuguese
|
326 |
+
"Antonio (Male, BR)": "pt-BR-AntonioNeural",
|
327 |
+
"Duarte (Male, PT)": "pt-PT-DuarteNeural",
|
328 |
+
"Francisca (Female, BR)": "pt-BR-FranciscaNeural",
|
329 |
+
"Thalita (Female, BR)": "pt-BR-ThalitaMultilingualNeural",
|
330 |
+
"Raquel (Female, PT)": "pt-PT-RaquelNeural",
|
331 |
+
# Romanian
|
332 |
+
"Emil (Male, RO)": "ro-RO-EmilNeural",
|
333 |
+
"Alina (Female, RO)": "ro-RO-AlinaNeural",
|
334 |
# Russian
|
|
|
335 |
"Dmitry (Male, RU)": "ru-RU-DmitryNeural",
|
336 |
+
"Svetlana (Female, RU)": "ru-RU-SvetlanaNeural",
|
337 |
+
# Sinhala
|
338 |
+
"Sameera (Male, LK)": "si-LK-SameeraNeural",
|
339 |
+
"Thilini (Female, LK)": "si-LK-ThiliniNeural",
|
340 |
+
# Slovak
|
341 |
+
"Lukas (Male, SK)": "sk-SK-LukasNeural",
|
342 |
+
"Viktoria (Female, SK)": "sk-SK-ViktoriaNeural",
|
343 |
+
# Slovenian
|
344 |
+
"Rok (Male, SI)": "sl-SI-RokNeural",
|
345 |
+
"Petra (Female, SI)": "sl-SI-PetraNeural",
|
346 |
+
# Somali
|
347 |
+
"Muuse (Male, SO)": "so-SO-MuuseNeural",
|
348 |
+
"Ubax (Female, SO)": "so-SO-UbaxNeural",
|
349 |
+
# Albanian
|
350 |
+
"Ilir (Male, AL)": "sq-AL-IlirNeural",
|
351 |
+
"Anila (Female, AL)": "sq-AL-AnilaNeural",
|
352 |
+
# Serbian
|
353 |
+
"Nicholas (Male, RS)": "sr-RS-NicholasNeural",
|
354 |
+
"Sophie (Female, RS)": "sr-RS-SophieNeural",
|
355 |
+
# Sundanese
|
356 |
+
"Jajang (Male, ID)": "su-ID-JajangNeural",
|
357 |
+
"Tuti (Female, ID)": "su-ID-TutiNeural",
|
358 |
+
# Swedish
|
359 |
+
"Mattias (Male, SE)": "sv-SE-MattiasNeural",
|
360 |
+
"Sofie (Female, SE)": "sv-SE-SofieNeural",
|
361 |
+
# Swahili
|
362 |
+
"Rafiki (Male, KE)": "sw-KE-RafikiNeural",
|
363 |
+
"Daudi (Male, TZ)": "sw-TZ-DaudiNeural",
|
364 |
+
"Zuri (Female, KE)": "sw-KE-ZuriNeural",
|
365 |
+
"Rehema (Female, TZ)": "sw-TZ-RehemaNeural",
|
366 |
+
# Tamil
|
367 |
+
"Valluvar (Male, IN)": "ta-IN-ValluvarNeural",
|
368 |
+
"Kumar (Male, LK)": "ta-LK-KumarNeural",
|
369 |
+
"Surya (Male, MY)": "ta-MY-SuryaNeural",
|
370 |
+
"Anbu (Male, SG)": "ta-SG-AnbuNeural",
|
371 |
+
"Pallavi (Female, IN)": "ta-IN-PallaviNeural",
|
372 |
+
"Saranya (Female, LK)": "ta-LK-SaranyaNeural",
|
373 |
+
"Kani (Female, MY)": "ta-MY-KaniNeural",
|
374 |
+
"Venba (Female, SG)": "ta-SG-VenbaNeural",
|
375 |
+
# Telugu
|
376 |
+
"Mohan (Male, IN)": "te-IN-MohanNeural",
|
377 |
+
"Shruti (Female, IN)": "te-IN-ShrutiNeural",
|
378 |
+
# Thai
|
379 |
+
"Niwat (Male, TH)": "th-TH-NiwatNeural",
|
380 |
+
"Premwadee (Female, TH)": "th-TH-PremwadeeNeural",
|
381 |
+
# Turkish
|
382 |
+
"Ahmet (Male, TR)": "tr-TR-AhmetNeural",
|
383 |
+
"Emel (Female, TR)": "tr-TR-EmelNeural",
|
384 |
+
# Ukrainian
|
385 |
+
"Ostap (Male, UA)": "uk-UA-OstapNeural",
|
386 |
+
"Polina (Female, UA)": "uk-UA-PolinaNeural",
|
387 |
+
# Urdu
|
388 |
+
"Salman (Male, IN)": "ur-IN-SalmanNeural",
|
389 |
+
"Asad (Male, PK)": "ur-PK-AsadNeural",
|
390 |
+
"Gul (Female, IN)": "ur-IN-GulNeural",
|
391 |
+
"Uzma (Female, PK)": "ur-PK-UzmaNeural",
|
392 |
+
# Uzbek
|
393 |
+
"Sardor (Male, UZ)": "uz-UZ-SardorNeural",
|
394 |
+
"Madina (Female, UZ)": "uz-UZ-MadinaNeural",
|
395 |
+
# Vietnamese
|
396 |
+
"NamMinh (Male, VN)": "vi-VN-NamMinhNeural",
|
397 |
+
"HoaiMy (Female, VN)": "vi-VN-HoaiMyNeural",
|
398 |
+
# Chinese
|
399 |
+
"Yunjian (Male, CN)": "zh-CN-YunjianNeural",
|
400 |
+
"Yunxi (Male, CN)": "zh-CN-YunxiNeural",
|
401 |
+
"Yunxia (Male, CN)": "zh-CN-YunxiaNeural",
|
402 |
+
"Yunyang (Male, CN)": "zh-CN-YunyangNeural",
|
403 |
+
"WanLung (Male, HK)": "zh-HK-WanLungNeural",
|
404 |
+
"YunJhe (Male, TW)": "zh-TW-YunJheNeural",
|
405 |
+
"Xiaoxiao (Female, CN)": "zh-CN-XiaoxiaoNeural",
|
406 |
+
"Xiaoyi (Female, CN)": "zh-CN-XiaoyiNeural",
|
407 |
+
"Xiaobei (Female, Liaoning, CN)": "zh-CN-liaoning-XiaobeiNeural",
|
408 |
+
"Xiaoni (Female, Shaanxi, CN)": "zh-CN-shaanxi-XiaoniNeural",
|
409 |
+
"HiuGaai (Female, HK)": "zh-HK-HiuGaaiNeural",
|
410 |
+
"HiuMaan (Female, HK)": "zh-HK-HiuMaanNeural",
|
411 |
+
"HsiaoChen (Female, TW)": "zh-TW-HsiaoChenNeural",
|
412 |
+
"HsiaoYu (Female, TW)": "zh-TW-HsiaoYuNeural",
|
413 |
+
# Zulu
|
414 |
+
"Themba (Male, ZA)": "zu-ZA-ThembaNeural",
|
415 |
+
"Thando (Female, ZA)": "zu-ZA-ThandoNeural",
|
416 |
}
|
417 |
|
418 |
def text_to_speech(text: str, voice: str) -> str:
|
|
|
436 |
)
|
437 |
generate_btn = gr.Button("Generate Speech", variant="primary")
|
438 |
audio_output = gr.Audio(label="Listen to Speech", autoplay=True)
|
|
|
439 |
generate_btn.click(
|
440 |
fn=text_to_speech,
|
441 |
inputs=[text_input, voice_dropdown],
|