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],
|