1-configurar Vosk para que utilice todos los recursos de mi pc
Para configurar Vosk y que utilice todos los recursos de tu PC con la máxima prioridad, sigue estos pasos (cubriendo ajustes de software, sistema operativo y configuración de Vosk):
1. Configuración de Vosk (Python)
A. Usar el modelo más optimizado
Descarga el modelo Vosk más grande y preciso (pero aún rápido) para tu idioma (ej.
vosk-model-es-0.42para español):wget https://alphacephei.com/vosk/models/vosk-model-es-0.42.zip unzip vosk-model-es-0.42.zip
B. Ajustar parámetros de reconocimiento
En tu script de Python, activa opciones de rendimiento:
from vosk import Model, KaldiRecognizer
import pyaudio
# Carga el modelo con threads adicionales (usa todos los núcleos del CPU)
model = Model("ruta/al/modelo", log_level=0) # log_level=0 silencia logs innecesarios
# Configura el reconocedor para audio en tiempo real
recognizer = KaldiRecognizer(model, 16000)
recognizer.SetMaxAlternatives(1) # Reduce carga al pedir solo 1 alternativa
recognizer.SetWords(True) # Opcional: solo si necesitas palabras individuales
# Captura audio con PyAudio
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True, frames_per_buffer=4096) # Buffer pequeño para baja latencia
print("Escuchando... (Presiona Ctrl+C para detener)")
while True:
data = stream.read(4096, exception_on_overflow=False)
if recognizer.AcceptWaveform(data):
print(recognizer.Result()) # Resultado final
# else:
# print(recognizer.PartialResult()) # Resultados parciales (opcional, aumenta carga)C. Optimizaciones clave:
Threads de CPU: Vosk usa múltiples hilos por defecto, pero puedes forzar más con variables de entorno antes de ejecutar el script:
export VOSK_THREADS=8 # Usa 8 hilos (ajusta según tu CPU) python tu_script.pyModelo ligero: Si la prioridad es velocidad, prueba
vosk-model-small-es-0.42.
2. Prioridad en el Sistema Operativo
Windows:
Abre el Administrador de tareas (
Ctrl + Shift + Esc).Ve a la pestaña Detalles.
Haz clic derecho en tu script de Python (
python.exeopythonw.exe).Selecciona Establecer prioridad → Alta o Tiempo real (¡cuidado! "Tiempo real" puede inestabilizar el sistema).
Linux/macOS:
Ejecuta el script con nice y taskset para prioridad y afinidad de CPU:
sudo nice -n -20 taskset -c 0-7 python tu_script.py # Usa todos los núcleos (0-7) con máxima prioridadnice -n -20: Asigna la prioridad más alta (requieresudo).taskset -c 0-7: Fija el proceso a los núcleos 0-7 (ajusta según tu CPU).
3. Ajustes de Hardware
A. CPU:
Desactiva el estado de bajo consumo (BIOS/UEFI → "High Performance Mode").
En Windows, selecciona Plan de energía: Alto rendimiento (Panel de control → Hardware y sonido → Opciones de energía).
B. Audio:
Usa un buffer pequeño (ej.
frames_per_buffer=2048en PyAudio) para reducir latencia.Evita dispositivos USB con drivers lentos (mejor usa audio integrado o interfaces profesionales).
4. Alternativa: Vosk con GPU (Si tienes Nvidia)
Vosk soporta aceleración por GPU con CUDA (solo en versiones compiladas manualmente). Sigue estos pasos:
Instala CUDA Toolkit y cuDNN.
Recompila Vosk desde código fuente con soporte CUDA:
git clone https://github.com/alphacep/vosk-api cd vosk-api/src make -j $(nproc) CUDA=1Usa el modelo como antes, pero notarás menor carga en la CPU.
Resultados Esperados
| Configuración | Latencia | Precisión | Uso de CPU |
|---|---|---|---|
| Vosk + Prioridad Alta + Threads | 0.5-1 seg | Alta | 100% (todos los núcleos) |
| Vosk + GPU (CUDA) | 0.2-0.5 seg | Máxima | Descarga CPU |
Conclusión
Máximo rendimiento: Combina prioridad en el SO, threads de CPU y un modelo optimizado.
Para streaming en OBS: Usa el plugin OBS-Vosk o integra el script Python con un filtro de audio en OBS (via VB-Cable).
Si necesitas ayuda con algún paso específico (ej: compilar Vosk con CUDA), dime y te guío.
Comentarios
Publicar un comentario