[FIXED] Actualizar URLs de modelos de voz en claude_voice.py
- Actualización de URLs de modelos de Vosk con versiones específicas - Añadidas URLs verificadas para todos los idiomas soportados - Implementación de fallback a inglés si el idioma solicitado no está disponible - Mejor manejo de errores y mensajes más informativos durante la descarga - Se muestra la URL específica que se está descargando 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
4b025f904e
commit
431473e0f1
1 changed files with 24 additions and 4 deletions
|
@ -84,7 +84,25 @@ def download_model(language="es"):
|
|||
if "-" in lang_code and lang_code not in language_map.values():
|
||||
lang_code = lang_code.split("-")[0]
|
||||
|
||||
model_path = os.path.expanduser(f"~/.vosk/models/vosk-model-small-{lang_code}")
|
||||
# Establecer URLs de modelos verificados
|
||||
model_urls = {
|
||||
"es": "https://alphacephei.com/vosk/models/vosk-model-small-es-0.42.zip",
|
||||
"en-us": "https://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip",
|
||||
"fr": "https://alphacephei.com/vosk/models/vosk-model-small-fr-0.22.zip",
|
||||
"de": "https://alphacephei.com/vosk/models/vosk-model-small-de-0.15.zip",
|
||||
"it": "https://alphacephei.com/vosk/models/vosk-model-small-it-0.22.zip",
|
||||
"pt": "https://alphacephei.com/vosk/models/vosk-model-small-pt-0.3.zip",
|
||||
"ru": "https://alphacephei.com/vosk/models/vosk-model-small-ru-0.22.zip"
|
||||
}
|
||||
|
||||
# Si no hay URL para este idioma, usar el inglés como fallback
|
||||
if lang_code not in model_urls:
|
||||
print(f"{Colors.YELLOW}No se encontró un modelo para el idioma '{lang_code}', usando el inglés como alternativa.{Colors.END}")
|
||||
lang_code = "en-us"
|
||||
|
||||
# Usar el directorio de modelos con versión específica
|
||||
model_name = os.path.basename(model_urls[lang_code]).replace(".zip", "")
|
||||
model_path = os.path.expanduser(f"~/.vosk/models/{model_name}")
|
||||
if os.path.exists(model_path):
|
||||
return model_path
|
||||
|
||||
|
@ -97,8 +115,10 @@ def download_model(language="es"):
|
|||
try:
|
||||
# Importar wget solo cuando se necesita
|
||||
import wget
|
||||
url = f"https://alphacephei.com/vosk/models/vosk-model-small-{lang_code}.zip"
|
||||
zip_path = os.path.expanduser(f"~/.vosk/models/vosk-model-small-{lang_code}.zip")
|
||||
url = model_urls[lang_code]
|
||||
zip_path = os.path.expanduser(f"~/.vosk/models/{os.path.basename(url)}")
|
||||
|
||||
print(f"{Colors.BLUE}[Claude Voice]{Colors.END} {Colors.YELLOW}Descargando desde: {url}{Colors.END}")
|
||||
|
||||
# Descargar el modelo
|
||||
wget.download(url, zip_path)
|
||||
|
@ -112,7 +132,7 @@ def download_model(language="es"):
|
|||
# Eliminar el zip
|
||||
os.remove(zip_path)
|
||||
|
||||
print(f"{Colors.BLUE}[Claude Voice]{Colors.END} {Colors.GREEN}Modelo descargado y extraído correctamente{Colors.END}")
|
||||
print(f"{Colors.BLUE}[Claude Voice]{Colors.END} {Colors.GREEN}Modelo descargado y extraído correctamente en {model_path}{Colors.END}")
|
||||
return model_path
|
||||
except Exception as e:
|
||||
print(f"{Colors.RED}Error al descargar el modelo: {e}{Colors.END}")
|
||||
|
|
Loading…
Reference in a new issue