[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():
|
if "-" in lang_code and lang_code not in language_map.values():
|
||||||
lang_code = lang_code.split("-")[0]
|
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):
|
if os.path.exists(model_path):
|
||||||
return model_path
|
return model_path
|
||||||
|
|
||||||
|
@ -97,8 +115,10 @@ def download_model(language="es"):
|
||||||
try:
|
try:
|
||||||
# Importar wget solo cuando se necesita
|
# Importar wget solo cuando se necesita
|
||||||
import wget
|
import wget
|
||||||
url = f"https://alphacephei.com/vosk/models/vosk-model-small-{lang_code}.zip"
|
url = model_urls[lang_code]
|
||||||
zip_path = os.path.expanduser(f"~/.vosk/models/vosk-model-small-{lang_code}.zip")
|
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
|
# Descargar el modelo
|
||||||
wget.download(url, zip_path)
|
wget.download(url, zip_path)
|
||||||
|
@ -112,7 +132,7 @@ def download_model(language="es"):
|
||||||
# Eliminar el zip
|
# Eliminar el zip
|
||||||
os.remove(zip_path)
|
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
|
return model_path
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"{Colors.RED}Error al descargar el modelo: {e}{Colors.END}")
|
print(f"{Colors.RED}Error al descargar el modelo: {e}{Colors.END}")
|
||||||
|
|
Loading…
Reference in a new issue