hamza2923 commited on
Commit
96e98f6
·
verified ·
1 Parent(s): c5eb336

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +380 -73
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
- # English (US)
20
- "Jenny (Female, US)": "en-US-JennyNeural",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  "Guy (Male, US)": "en-US-GuyNeural",
22
- "Aria (Female, US)": "en-US-AriaNeural",
23
- "Davis (Male, US)": "en-US-DavisNeural",
24
- "Jane (Female, US)": "en-US-JaneNeural",
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
- "William (Male, AU)": "en-AU-WilliamNeural",
40
-
41
- # English (India)
 
 
 
42
  "Neerja (Female, IN)": "en-IN-NeerjaNeural",
43
- "Prabhat (Male, IN)": "en-IN-PrabhatNeural",
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
- "Camila (Female, MX)": "es-MX-CamilaNeural",
 
 
 
 
 
 
 
 
 
 
51
  "Jorge (Male, MX)": "es-MX-JorgeNeural",
52
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  # French
54
- "Denise (Female, FR)": "fr-FR-DeniseNeural",
 
 
 
 
55
  "Henri (Male, FR)": "fr-FR-HenriNeural",
 
 
56
  "Sylvie (Female, CA)": "fr-CA-SylvieNeural",
57
- "Antoine (Male, CA)": "fr-CA-AntoineNeural",
58
-
59
- # German
60
- "Katja (Female, DE)": "de-DE-KatjaNeural",
61
- "Conrad (Male, DE)": "de-DE-ConradNeural",
62
- "Amala (Female, CH)": "de-CH-AmalaNeural",
63
- "Jan (Male, CH)": "de-CH-JanNeural",
64
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  # Italian
66
- "Elsa (Female, IT)": "it-IT-ElsaNeural",
67
  "Diego (Male, IT)": "it-IT-DiegoNeural",
68
-
69
- # Portuguese
70
- "Francisca (Female, PT)": "pt-PT-FranciscaNeural",
71
- "Duarte (Male, PT)": "pt-PT-DuarteNeural",
72
- "Yara (Female, BR)": "pt-BR-YaraNeural",
73
- "Antonio (Male, BR)": "pt-BR-AntonioNeural",
74
-
 
75
  # Japanese
76
- "Nanami (Female, JP)": "ja-JP-NanamiNeural",
77
  "Keita (Male, JP)": "ja-JP-KeitaNeural",
78
-
79
- # Chinese
80
- "Xiaoxiao (Female, CN)": "zh-CN-XiaoxiaoNeural",
81
- "Yunyang (Male, CN)": "zh-CN-YunyangNeural",
82
- "HsiaoChen (Female, TW)": "zh-TW-HsiaoChenNeural",
83
- "YunJhe (Male, TW)": "zh-TW-YunJheNeural",
84
-
 
 
 
 
 
 
 
 
 
85
  # Korean
86
- "SunHi (Female, KR)": "ko-KR-SunHiNeural",
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
- # Arabic
94
- "Salma (Female, EG)": "ar-EG-SalmaNeural",
95
- "Shakir (Male, EG)": "ar-EG-ShakirNeural",
96
- "Hamed (Male, SA)": "ar-SA-HamedNeural",
97
-
98
- # Hindi
99
- "Swara (Female, IN)": "hi-IN-SwaraNeural",
100
- "Madhur (Male, IN)": "hi-IN-MadhurNeural",
101
-
102
- # Others
103
- "Brigitte (Female, BE)": "fr-BE-BrigitteNeural",
104
- "Gerard (Male, BE)": "fr-BE-GerardNeural",
105
- "Finn (Male, NL)": "nl-NL-FinnNeural",
106
- "Maarten (Male, NL)": "nl-NL-MaartenNeural",
107
- "Sofie (Female, NL)": "nl-NL-SofieNeural",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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],