Instalación y uso de Whisper.cpp en Windows con MSVC

¿Qué es Whisper y Whisper.cpp?

Whisper es un modelo de inteligencia artificial desarrollado por OpenAI para la transcripción de voz a texto. Está entrenado en una gran cantidad de datos multilingües y de múltiples tareas, permitiendo la conversión precisa del habla en texto en varios idiomas.

Whisper.cpp es una implementación optimizada de Whisper en C++, diseñada para ejecutarse de manera eficiente en hardware de CPU sin depender de GPUs o servidores en la nube. Esto permite su uso en dispositivos locales, optimizando la transcripción de audio sin requerir grandes recursos computacionales.

En este artículo, aprenderemos cómo instalar y compilar Whisper.cpp en Windows utilizando Visual Studio 2022, FFmpeg y Git para la transcripción de audio a texto de forma local.


Requisitos previos

Antes de comenzar, es recomendable instalar Chocolatey, un gestor de paquetes para Windows que facilitará la instalación de las herramientas necesarias. No es obligatorio, pero ayudará a agilizar el proceso.

Para instalar Chocolatey, abre PowerShell como Administrador y ejecuta:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Una vez instalado, cierra y vuelve a abrir PowerShell o la terminal de Visual Studio.

1. Instalar Git

Para clonar el repositorio de Whisper, necesitas Git. Puedes instalarlo desde su página oficial o con Chocolatey:

choco install git

2. Instalar Visual Studio 2022

Descarga e instala Visual Studio 2022 con los siguientes componentes:

  • Desarrollo de escritorio con C++
  • C++ CMake tools for Windows
  • Compilador y herramientas de C++ (MSVC)

También puedes instalarlo con Chocolatey:

choco install visualstudio2022community

3. Instalar FFmpeg

Para la conversión de archivos de audio, instalaremos FFmpeg. Descárgalo desde ffmpeg.org o usa Chocolatey:

choco install ffmpeg

4. Instalar CMake (Opcional si se usa Visual Studio directamente)

Si prefieres trabajar con CMake, instálalo desde cmake.org o usa:

choco install cmake

Compilar Whisper.cpp en Windows

1. Abrir la terminal de Visual Studio

Presiona Win + S, escribe Developer Command Prompt for VS y ábrelo.

2. Crear y preparar el directorio de trabajo

Ejecuta los siguientes comandos:

cd C:\
md whisper_src
cd whisper_src

3. Clonar y compilar Whisper.cpp

git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
cmake -S . -B build -G "Visual Studio 17 2022"
cmake --build build --config Release

4. Verificar la instalación

cd build\bin\Release
whisper-cli.exe --help

Si ves la lista de opciones de whisper-cli.exe, la instalación se realizó con éxito.


Descargar modelos de Whisper

Whisper usa modelos preentrenados para transcribir audio. Existen dos tipos principales:

  • Modelos sin .en: Admiten múltiples idiomas.
  • Modelos con .en: Optimizados solo para inglés, más rápidos y precisos en este idioma.

Modelos disponibles y características

ModeloPrecisiónVelocidadTamañoDescripción
ggml-tiny.binBajaMuy rápida75 MBSoporta múltiples idiomas, útil para tareas rápidas.
ggml-tiny.en.binBajaMuy rápida75 MBSolo inglés, más rápido y preciso.
ggml-base.binMediaRápida142 MBMayor precisión, soporta múltiples idiomas.
ggml-base.en.binMediaRápida142 MBSolo inglés, más eficiente en este idioma.
ggml-small.binAltaMedia466 MBMejor precisión, adecuado para la mayoría de tareas en varios idiomas.
ggml-small.en.binAltaMedia466 MBSolo inglés, más rápido.
ggml-medium.binMuy AltaLenta1.5 GBMayor precisión, pero requiere más recursos.
ggml-medium.en.binMuy AltaLenta1.5 GBSolo inglés, mejor rendimiento en este idioma.
ggml-large.binMáximaMuy Lenta3 GBModelo más preciso, soporta múltiples idiomas, pero es muy demandante en hardware.

Modelos cuantizados

Los modelos cuantizados (q5_1, q6_k, etc.) son versiones optimizadas para reducir el tamaño y mejorar la eficiencia en CPUs sin perder mucha precisión. Ejemplo:

curl -LO https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base-q5_1.bin?download=true

🔹 Cuanto más grande es un modelo, más preciso, pero también más lento y consume más recursos.


Conclusión

Hemos instalado y compilado Whisper.cpp en Windows, descargado un modelo preentrenado y aprendido a convertir archivos de audio para su transcripción. Ahora puedes transcribir audio sin conexión de manera eficiente.