[IMPROVED] Mejorar soporte de idiomas en claude_voice.py
- Añadida opción --list-languages para mostrar idiomas soportados - Ampliado mapeo de códigos de idioma para incluir más variantes regionales - Español (es) establecido como idioma predeterminado - Añadida función para mostrar idiomas soportados con sus nombres - Actualizado README con nueva información sobre idiomas 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
431473e0f1
commit
5fec8b3f31
2 changed files with 52 additions and 4 deletions
|
@ -165,8 +165,11 @@ pip install --user vosk pydub sounddevice wget
|
|||
# Modo interactivo básico (español por defecto)
|
||||
bin/claude_voice.py
|
||||
|
||||
# Especificar idioma (inglés)
|
||||
bin/claude_voice.py --language en-US
|
||||
# Ver idiomas soportados
|
||||
bin/claude_voice.py --list-languages
|
||||
|
||||
# Usar idioma específico (inglés)
|
||||
bin/claude_voice.py --language en-us
|
||||
|
||||
# Modo continuo (escucha hasta que digas "salir")
|
||||
bin/claude_voice.py --continuous
|
||||
|
|
|
@ -71,12 +71,24 @@ def download_model(language="es"):
|
|||
# Mapeo de códigos de idioma estándar a formato de Vosk
|
||||
language_map = {
|
||||
"es-ES": "es",
|
||||
"es-AR": "es",
|
||||
"es-MX": "es",
|
||||
"es-CO": "es",
|
||||
"es": "es",
|
||||
"en-US": "en-us",
|
||||
"en-GB": "en-us",
|
||||
"en": "en-us",
|
||||
"fr-FR": "fr",
|
||||
"fr": "fr",
|
||||
"de-DE": "de",
|
||||
"de": "de",
|
||||
"it-IT": "it",
|
||||
"it": "it",
|
||||
"pt-PT": "pt",
|
||||
"ru-RU": "ru"
|
||||
"pt-BR": "pt",
|
||||
"pt": "pt",
|
||||
"ru-RU": "ru",
|
||||
"ru": "ru"
|
||||
}
|
||||
|
||||
# Obtener código de idioma para Vosk
|
||||
|
@ -305,14 +317,42 @@ def list_audio_devices():
|
|||
|
||||
return True
|
||||
|
||||
def get_supported_languages():
|
||||
"""Devuelve una lista de idiomas soportados"""
|
||||
return {
|
||||
"es": "Español",
|
||||
"en-us": "Inglés (EEUU)",
|
||||
"fr": "Francés",
|
||||
"de": "Alemán",
|
||||
"it": "Italiano",
|
||||
"pt": "Portugués",
|
||||
"ru": "Ruso"
|
||||
}
|
||||
|
||||
def list_languages():
|
||||
"""Muestra una lista de idiomas soportados"""
|
||||
languages = get_supported_languages()
|
||||
|
||||
print(f"{Colors.BLUE}[Claude Voice]{Colors.END} {Colors.GREEN}Idiomas soportados:{Colors.END}")
|
||||
print(f"{Colors.CYAN}{'Código':<8} {'Idioma':<20}{Colors.END}")
|
||||
print("-" * 30)
|
||||
|
||||
for code, name in languages.items():
|
||||
print(f"{code:<8} {name:<20}")
|
||||
|
||||
# Mostrar información sobre los alias
|
||||
print(f"\n{Colors.YELLOW}Nota: Todos los códigos regionales (es-ES, es-AR, etc.) se mapean al idioma base (es).{Colors.END}")
|
||||
return True
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Claude Code Voice - Convierte voz a texto para Claude Code usando reconocimiento local')
|
||||
parser.add_argument('-l', '--language', default='es-ES', help='Idioma para reconocimiento (ej. es-ES, en-US)')
|
||||
parser.add_argument('-l', '--language', default='es', help='Idioma para reconocimiento (ej. es, en-us)')
|
||||
parser.add_argument('-c', '--continuous', action='store_true', help='Modo continuo - escucha constantemente hasta que digas "salir"')
|
||||
parser.add_argument('-t', '--text', help='Texto a enviar directamente (sin reconocimiento de voz)')
|
||||
parser.add_argument('-s', '--silent', action='store_true', help='Modo silencioso - no muestra mensajes extra')
|
||||
parser.add_argument('-d', '--device', type=int, help='ID del dispositivo de audio a utilizar')
|
||||
parser.add_argument('--list-devices', action='store_true', help='Listar dispositivos de audio disponibles')
|
||||
parser.add_argument('--list-languages', action='store_true', help='Listar idiomas soportados')
|
||||
parser.add_argument('--install-deps', action='store_true', help='Instalar dependencias')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
@ -356,6 +396,11 @@ def main():
|
|||
if args.list_devices:
|
||||
list_audio_devices()
|
||||
return
|
||||
|
||||
# Listar idiomas si se solicita
|
||||
if args.list_languages:
|
||||
list_languages()
|
||||
return
|
||||
|
||||
# Enviar texto directo si se proporciona
|
||||
if args.text:
|
||||
|
|
Loading…
Reference in a new issue