Cómo usar Whisper AI para conversar de Voz a Texto en tiempo real con Linux

Whisper AI es un modelo avanzado de reconocimiento automático de voz (ASR) desarrollado por OpenAI, capaz de transcribir audio a texto con gran precisión y soporte para múltiples idiomas. Aunque está diseñado principalmente para procesamiento por lotes, puede configurarse para funcionar en tiempo real en sistemas Linux.

En esta guía, veremos paso a paso cómo instalar, configurar y ejecutar Whisper AI para transcripción en vivo en Linux.

¿Qué es Whisper AI?

Whisper AI es un modelo de reconocimiento de voz de código abierto, entrenado con una enorme cantidad de datos de audio. Está basado en arquitecturas de aprendizaje profundo, lo que le permite:

  • Transcribir voz en múltiples idiomas.
  • Manejar acentos y ruido de fondo de forma eficiente.
  • Traducir el habla a inglés automáticamente.

Gracias a su alta precisión, se utiliza ampliamente en:

  • Servicios de transcripción en vivo (por ejemplo, accesibilidad).
  • Asistentes de voz y automatización.
  • Transcripción de archivos de audio grabados.

Por defecto, Whisper AI no está optimizado para tiempo real, pero con herramientas adicionales puede procesar audio en directo.

PROBAR WHISPER AI

Requisitos del sistema para Whisper AI

Antes de ejecutar Whisper AI en Linux, asegúrate de cumplir con los siguientes requisitos:

Requisitos de hardware

  • CPU: Procesador multinúcleo (Intel/AMD).
  • RAM: Mínimo 8 GB (recomendado 16 GB o más).
  • GPU: NVIDIA con CUDA (opcional, pero acelera mucho el proceso).
  • Almacenamiento: Al menos 10 GB libres.

Requisitos de software

  • Distribución Linux como Ubuntu, Debian, Arch, Fedora, etc.
  • Python 3.8 o superior.
  • Gestor de paquetes Pip.
  • FFmpeg para manejar audio y video.

Paso 1: Instalación de dependencias

Primero, actualiza los paquetes del sistema:

sudo apt update     [Ubuntu]
sudo dnf update -y  [Fedora]
sudo pacman -Syu    [Arch]

Luego instala Python y Pip:

sudo apt install python3 python3-pip python3-venv -y             [Ubuntu]
sudo dnf install python3 python3-pip python3-virtualenv -y       [Fedora]
sudo pacman -S python python-pip python-virtualenv               [Arch]

Instala también FFmpeg:

sudo apt install ffmpeg     [Ubuntu]
sudo dnf install ffmpeg     [Fedora]
sudo pacman -S ffmpeg       [Arch]

Paso 2: Instalación de Whisper AI en Linux

Crea un entorno virtual para evitar conflictos con otros paquetes:

python3 -m venv whisper_env
source whisper_env/bin/activate
pip install openai-whisper

Comprueba la instalación:

whisper --help

Si aparece el menú de ayuda, Whisper AI está listo para usarse.

Paso 3: Uso de Whisper AI en Linux

Cómo transcribir un archivo de audio

Para transcribir un archivo (audio.mp3):

whisper audio.mp3

El sistema generará automáticamente la transcripción en texto.

Cómo transcribir en tiempo real con Python

Ahora crearemos un script para capturar audio del micrófono y transcribirlo en vivo:

nano real_time_transcription.py

Copia y pega este código:

import sounddevice as sd
import numpy as np
import whisper
import queue
import threading

# Cargar el modelo Whisper
model = whisper.load_model("base")

# Parámetros de audio
SAMPLE_RATE = 16000
BUFFER_SIZE = 1024
audio_queue = queue.Queue()

def audio_callback(indata, frames, time, status):
    """Función callback para capturar audio."""
    if status:
        print(status)
    audio_queue.put(indata.copy())

def transcribe_audio():
    """Hilo para transcribir audio en tiempo real."""
    while True:
        audio_data = audio_queue.get()
        audio_data = np.concatenate(list(audio_queue.queue))
        audio_queue.queue.clear()

        # Transcripción
        result = model.transcribe(audio_data.flatten(), language="en")
        print(f"Transcripción: {result['text']}")

# Iniciar hilo de transcripción
transcription_thread = threading.Thread(target=transcribe_audio, daemon=True)
transcription_thread.start()

# Capturar audio del micrófono
with sd.InputStream(callback=audio_callback, channels=1, samplerate=SAMPLE_RATE, blocksize=BUFFER_SIZE):
    print("Escuchando... Pulsa Ctrl+C para detener.")
    try:
        while True:
            pass
    except KeyboardInterrupt:
        print("\nDeteniendo...")

Ejecuta el script:

python3 real_time_transcription.py

Habla claramente en el micrófono y verás la transcripción en tiempo real en la terminal.

Vistas: 0