Spaces:
Running
Running
Tu Nombre commited on
Commit ·
b62c1de
1
Parent(s): 2a5d662
rotacion aleatoria de voces
Browse files- cliente_template.py +23 -5
cliente_template.py
CHANGED
|
@@ -21,10 +21,22 @@ except:
|
|
| 21 |
|
| 22 |
# Mapeo de voces edge-tts
|
| 23 |
VOCES = {
|
| 24 |
-
"es": {
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
}
|
| 29 |
CLIENT_EMAIL = "EMAIL_PLACEHOLDER"
|
| 30 |
HF_REPO = "REPO_PLACEHOLDER"
|
|
@@ -96,7 +108,13 @@ async def pipeline():
|
|
| 96 |
if voz_ia_on:
|
| 97 |
idioma_v = CONFIG.get("idioma", "es")
|
| 98 |
genero_v = CONFIG.get("voz_genero", "masculina")
|
| 99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 100 |
vel = CONFIG.get("velocidad_voz", 1.0)
|
| 101 |
rate_str = f"+{int((vel-1)*100)}%" if vel >= 1 else f"-{int((1-vel)*100)}%"
|
| 102 |
await edge_tts.Communicate(guion, voz_seleccionada, rate=rate_str).save("voz.mp3")
|
|
|
|
| 21 |
|
| 22 |
# Mapeo de voces edge-tts
|
| 23 |
VOCES = {
|
| 24 |
+
"es": {
|
| 25 |
+
"masculina": ["es-ES-AlvaroNeural", "es-MX-JorgeNeural", "es-AR-TomasNeural", "es-CO-GonzaloNeural"],
|
| 26 |
+
"femenina": ["es-ES-ElviraNeural", "es-MX-DaliaNeural", "es-AR-ElenaNeural", "es-CO-SalomeNeural"]
|
| 27 |
+
},
|
| 28 |
+
"en": {
|
| 29 |
+
"masculina": ["en-US-GuyNeural", "en-US-DavisNeural", "en-GB-RyanNeural", "en-AU-WilliamNeural"],
|
| 30 |
+
"femenina": ["en-US-JennyNeural", "en-US-AriaNeural", "en-GB-SoniaNeural", "en-AU-NatashaNeural"]
|
| 31 |
+
},
|
| 32 |
+
"pt": {
|
| 33 |
+
"masculina": ["pt-BR-AntonioNeural", "pt-BR-FabioNeural"],
|
| 34 |
+
"femenina": ["pt-BR-FranciscaNeural", "pt-BR-BrendaNeural"]
|
| 35 |
+
},
|
| 36 |
+
"fr": {
|
| 37 |
+
"masculina": ["fr-FR-HenriNeural", "fr-FR-JeromeNeural"],
|
| 38 |
+
"femenina": ["fr-FR-DeniseNeural", "fr-FR-EloiseNeural"]
|
| 39 |
+
}
|
| 40 |
}
|
| 41 |
CLIENT_EMAIL = "EMAIL_PLACEHOLDER"
|
| 42 |
HF_REPO = "REPO_PLACEHOLDER"
|
|
|
|
| 108 |
if voz_ia_on:
|
| 109 |
idioma_v = CONFIG.get("idioma", "es")
|
| 110 |
genero_v = CONFIG.get("voz_genero", "masculina")
|
| 111 |
+
import random as _rnd
|
| 112 |
+
voces_disponibles = VOCES.get(idioma_v, VOCES["es"]).get(genero_v, ["es-ES-AlvaroNeural"])
|
| 113 |
+
if isinstance(voces_disponibles, str):
|
| 114 |
+
voz_seleccionada = voces_disponibles
|
| 115 |
+
else:
|
| 116 |
+
voz_seleccionada = _rnd.choice(voces_disponibles)
|
| 117 |
+
log(f"Voz elegida: {voz_seleccionada}")
|
| 118 |
vel = CONFIG.get("velocidad_voz", 1.0)
|
| 119 |
rate_str = f"+{int((vel-1)*100)}%" if vel >= 1 else f"-{int((1-vel)*100)}%"
|
| 120 |
await edge_tts.Communicate(guion, voz_seleccionada, rate=rate_str).save("voz.mp3")
|