Transcribir audio localmente con Whisper en Windows

Guía práctica: instalación limpia, sin conflictos de CUDA y con comando corto para uso diario.


Objetivo

Tener un comando rápido para transcribir audio/video localmente:

wts archivo.webm

Con:

  • Whisper large‑v3
  • Funciona en GPU (si existe) o CPU
  • Configuración estable en Windows

1. Requisitos

GPU opcional

Cualquier NVIDIA compatible con CUDA acelera el proceso.
Si no tienes GPU, funciona igual en CPU (más lento).

Mantener instalado

  • Driver NVIDIA actualizado (solo si usarás GPU)

No es necesario instalar CUDA Toolkit ni herramientas de desarrollo.

Instalar FFmpeg (recomendado)

Whisper necesita FFmpeg para poder leer audio y video (mp4, mkv, webm, mov, etc.).
En Windows moderno se instala directamente con:

winget install Gyan.FFmpeg
ffmpeg -version

Si muestra la versión, ya puedes transcribir videos sin convertirlos previamente.


2. Instalar pipx

python -m pip install --user pipx
python -m pipx ensurepath

Cerrar la terminal y abrir otra.


3. Instalar Whisper (ctranslate2)

pipx install whisper-ctranslate2

Soporte GPU (opcional)

Instalar librerías CUDA dentro del entorno (no en el sistema):

pipx inject whisper-ctranslate2 nvidia-cublas-cu12 nvidia-cuda-runtime-cu12 nvidia-cudnn-cu12

4. Primera ejecución (descarga modelo)

GPU:

whisper-ctranslate2 archivo.mp4 --device cuda --model large-v3 --compute_type int8_float16 --beam_size 2 --language es

CPU:

whisper-ctranslate2 archivo.mp4 --device cpu --model large-v3 --compute_type int8 --beam_size 2 --language es

La primera vez descargará el modelo automáticamente.


5. Crear comando corto (alias permanente)

Abrir perfil PowerShell:

notepad $PROFILE

Agregar al final:

function wts {
    whisper-ctranslate2 --device cuda --model large-v3 --compute_type int8_float16 --beam_size 2 --language es $args 
}

Si no tienes GPU, usa esta versión:

function wts {
    whisper-ctranslate2 --device cpu --model large-v3 --compute_type int8 --beam_size 2 --language es $args 
}

Recargar perfil:

. $PROFILE

Uso:

wts video.mkv


«Si PowerShell te da error al intentar cargar el comando wts, ejecuta este comando una sola vez como Administrador:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Puedes pasarle –language en para inglés como parámetro o bien dejarlo por defecto editando con notepad $PROFILE, todo depende que uses con más frecuencia.


6. Explicación de parámetros

compute_type int8_float16 (GPU)

Reduce memoria GPU manteniendo calidad casi idéntica.

compute_type int8 (CPU)

Reduce RAM y acelera CPU.

beam_size 2

Acelera mucho la transcripción con pérdida mínima de precisión.

large-v3

Mejor calidad disponible en Whisper.


7. Verificar uso de GPU (opcional)

Mientras transcribe:

nvidia-smi

Debe aparecer el proceso usando memoria y GPU.


Resultado final

Sistema limpio:

  • Sin CUDA Toolkit
  • Sin conflictos de librerías
  • Funciona tanto en GPU como CPU

Listo para transcribir audio/video localmente de forma privada y rápida.


Notas

Puedes ajustar el equilibrio entre velocidad y precisión cambiando el modelo:

ModeloUso recomendadoVelocidadCalidad
tinypruebas rápidasmuy altabaja
basesubtítulos rápidosaltamedia-baja
smalluso ligeromedia-altamedia
mediumuso generalmediabuena
large-v3máxima precisiónmenorexcelente

Regla práctica:

  • PC lento → usar small o medium
  • GPU de 4 GB → medium o large-v3 con int8_float16
  • Audios largos → bajar modelo antes que aumentar beam_size

Ejemplo:
wts video.mp4 –model medium