[FIXED] Mejorar manejo de dependencias en claude_voice.py

- Modificado el script para comprobar dependencias faltantes
- Actualización de las instrucciones de instalación de dependencias
- Separación clara entre instalación a nivel de sistema y entorno virtual
- Uso de --install-deps ahora muestra instrucciones detalladas por plataforma
- Actualización del README con comandos específicos para Ubuntu/Debian

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mauro Rosero P. 2025-03-30 16:04:16 -05:00
parent cf68c85869
commit 4b025f904e
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26
2 changed files with 35 additions and 12 deletions

View file

@ -155,9 +155,13 @@ El token se encripta usando SOPS y se almacena de forma segura en `$HOME/.cortan
MRDevs Tools incluye un script experimental para interactuar con Claude Code mediante comandos de voz: MRDevs Tools incluye un script experimental para interactuar con Claude Code mediante comandos de voz:
```bash ```bash
# Instalar dependencias necesarias # Ver instrucciones para instalar dependencias
bin/claude_voice.py --install-deps bin/claude_voice.py --install-deps
# Para sistemas Ubuntu/Debian
sudo apt install python3-pyaudio python3-pip
pip install --user vosk pydub sounddevice wget
# Modo interactivo básico (español por defecto) # Modo interactivo básico (español por defecto)
bin/claude_voice.py bin/claude_voice.py

View file

@ -5,9 +5,9 @@
# [Author] : Cortana Rosero One <cortana@rosero.one> # [Author] : Cortana Rosero One <cortana@rosero.one>
# [Generated] : Created by Claude Code (claude-3-7-sonnet-20250219) # [Generated] : Created by Claude Code (claude-3-7-sonnet-20250219)
# [Created] : 2025/03/30 16:45:00 # [Created] : 2025/03/30 16:45:00
# [Modified] : 2025/03/30 17:25:00 # [Modified] : 2025/03/30 17:45:00
# [Version] : 1.3.0 # [Version] : 1.3.0
# [Use Notes] : Instalar dependencias: pip install vosk sounddevice pydub # [Use Notes] : Instalar dependencias en Ubuntu/Debian: sudo apt install python3-pyaudio python3-pip && pip install --user vosk pydub sounddevice wget
import os import os
import sys import sys
@ -17,10 +17,6 @@ import argparse
import time import time
import queue import queue
import threading import threading
import sounddevice as sd
from vosk import Model, KaldiRecognizer
from pydub import AudioSegment
from pydub.playback import play
# Colores para la salida # Colores para la salida
class Colors: class Colors:
@ -304,14 +300,37 @@ def main():
# Instalar dependencias si se solicita # Instalar dependencias si se solicita
if args.install_deps: if args.install_deps:
try: try:
print(f"{Colors.BLUE}[Claude Voice]{Colors.END} {Colors.YELLOW}Instalando dependencias...{Colors.END}") print(f"{Colors.BLUE}[Claude Voice]{Colors.END} {Colors.YELLOW}Instrucciones para instalar dependencias...{Colors.END}")
import pip print("\nPara sistemas Ubuntu/Debian, ejecuta los siguientes comandos:")
pip.main(['install', 'vosk', 'sounddevice', 'pydub', 'wget']) print(f"{Colors.GREEN}sudo apt install python3-pyaudio python3-pip{Colors.END}")
print(f"{Colors.BLUE}[Claude Voice]{Colors.END} {Colors.GREEN}Dependencias instaladas correctamente{Colors.END}") print(f"{Colors.GREEN}pip install --user vosk pydub sounddevice wget{Colors.END}")
print("\nPara otros sistemas, consulta la documentación de Vosk:")
print(f"{Colors.GREEN}https://alphacephei.com/vosk/install{Colors.END}")
print("\nSi prefieres usar un entorno virtual (recomendado):")
print(f"{Colors.GREEN}sudo apt install python3-venv python3-pyaudio{Colors.END}")
print(f"{Colors.GREEN}python3 -m venv ~/venv-claude-voice{Colors.END}")
print(f"{Colors.GREEN}source ~/venv-claude-voice/bin/activate{Colors.END}")
print(f"{Colors.GREEN}pip install vosk pydub sounddevice wget{Colors.END}")
print(f"{Colors.GREEN}# Luego ejecuta: ~/venv-claude-voice/bin/python3 /home/mrosero/devs/bin/claude_voice.py{Colors.END}")
return return
except Exception as e: except Exception as e:
print(f"{Colors.RED}Error al instalar dependencias: {e}{Colors.END}") print(f"{Colors.RED}Error al mostrar instrucciones: {e}{Colors.END}")
sys.exit(1) sys.exit(1)
# Verificar si las dependencias están instaladas
try:
# Intentar importar las dependencias
import sounddevice as sd
from vosk import Model, KaldiRecognizer
from pydub import AudioSegment
from pydub.playback import play
except ImportError as e:
print(f"{Colors.RED}Error: Faltan dependencias. {e}{Colors.END}")
print(f"{Colors.YELLOW}Ejecuta '{sys.argv[0]} --install-deps' para ver instrucciones de instalación.{Colors.END}")
sys.exit(1)
# Listar dispositivos si se solicita # Listar dispositivos si se solicita
if args.list_devices: if args.list_devices: