Audio autorizado, finalidad definida, FFmpeg y espacio de trabajo protegido.
Transcripción local con Whisper: instalar, procesar reuniones y proteger los datos
Aprende a convertir audio en texto dentro de tu propia infraestructura: instalación, elección de modelo, marcas temporales, separación de hablantes, revisión, automatización, seguridad y dimensionamiento de GPU.
Qué necesitas antes y cómo sabrás que has terminado
Ejecuta la guía sobre un entorno de prueba. No avances a producción hasta obtener la salida verificable y documentar la reversión.
Transcribir en local, revisar marcas de tiempo y diseñar retención y control de acceso.
Continúa con la etapa relacionada y conserva comandos, versiones, métricas y responsables.
Abrir el siguiente paso →Qué hace Whisper y qué no resuelve por sí solo
Whisper convierte voz en texto dentro de tu propio equipo: entra la grabación de la reunión, sale el texto — y el audio jamás viaja a internet. Ejemplo real: una reunión de una hora se transcribe en minutos y, a continuación, el modelo de lenguaje la convierte en un acta con acuerdos y tareas asignadas.
Whisper es una familia de modelos de reconocimiento automático del habla. Recibe audio y produce texto, puede detectar idioma y traducir determinados flujos al inglés. La ejecución puede hacerse localmente después de descargar pesos y dependencias.
El modelo no identifica con certeza jurídica quién habla, no garantiza nombres propios ni convierte automáticamente una conversación en un acta aprobada. Ruido, solapamiento, acentos, micrófono, vocabulario y compresión afectan al resultado. Una canalización profesional conserva el audio o los segmentos necesarios para revisar las partes dudosas.
Preparar Python, FFmpeg y un entorno aislado
La implementación oficial utiliza Python y necesita FFmpeg para leer formatos de audio. Crea un entorno virtual por proyecto. Instala primero PyTorch con la variante adecuada para tu sistema y acelerador, y después Whisper. Las instrucciones de PyTorch cambian según plataforma; no copies un comando CUDA de otro equipo sin comprobarlo.
python -m venv .venv # Linux o macOS source .venv/bin/activate # Windows PowerShell .venv\Scripts\Activate.ps1 python -m pip install --upgrade pip pip install -U openai-whisper
Instala FFmpeg mediante el gestor de paquetes de tu sistema y comprueba ambos componentes:
ffmpeg -version python -c "import whisper; print(whisper.available_models())"
- Confirma el dispositivo. Verifica que PyTorch detecta CUDA cuando utilizas una GPU NVIDIA.
- Descarga un modelo contenido. La primera ejecución guarda los pesos en la caché local.
- Prueba un audio corto. Utiliza voz clara conocida y compara con una transcripción manual.
- Registra versiones. Python, PyTorch, Whisper, controlador y modelo forman parte del resultado.
- Bloquea red si se exige aislamiento. Después de descargar dependencias y pesos, prueba en una red sin salida.
No ejecutes archivos de audio no confiables con privilegios elevados. El flujo incluye decodificadores y dependencias. Utiliza un usuario limitado, actualizaciones y aislamiento para cargas externas.
Transcribir un archivo y conservar marcas temporales
La línea de comandos permite obtener varios formatos. Para una primera prueba en castellano, indica idioma cuando lo conoces y solicita una salida que conserve segmentos.
whisper reunion.m4a \ --model small \ --language Spanish \ --task transcribe \ --output_format all \ --output_dir salida
La orden descarga el modelo si no existe, procesa el audio y crea archivos de texto y subtítulos. La etiqueta del modelo es un ejemplo de punto de partida; compara tamaños con tu audio, idioma y hardware.
Comprobaciones después de la primera ejecución
- El idioma detectado o indicado es correcto
- La duración de los segmentos cubre todo el audio útil
- Nombres, cifras y referencias se comparan con el audio
- Los silencios no generan texto inventado
- Las marcas temporales permiten volver al fragmento
- El proceso utiliza la GPU prevista
- El tiempo y la memoria quedan registrados
Uso desde Python
import whisper
model = whisper.load_model("small")
result = model.transcribe(
"reunion.m4a",
language="es",
task="transcribe",
verbose=False,
)
for segment in result["segments"]:
print(segment["start"], segment["end"], segment["text"])
Valida rutas, tamaño y tipo de archivo antes de procesar. En un servicio, no aceptes una ruta proporcionada directamente por el usuario; utiliza identificadores internos y una carpeta aislada.
Elegir tamaño por idioma, precisión, velocidad y volumen
La familia ofrece varios tamaños con un compromiso entre memoria, velocidad y exactitud. Los modelos pequeños permiten iterar y procesar en CPU con más facilidad; los mayores suelen mejorar en audio difícil a cambio de recursos. La variante turbo prioriza inferencia, pero debe compararse con la opción de mayor calidad sobre tu muestra.
| Necesidad | Punto de partida | Prueba decisiva |
|---|---|---|
| Notas personales con audio claro | Modelo pequeño | Nombres y tiempo total |
| Reuniones en castellano | Small o medium como comparación | WER, cifras y turnos |
| Audio con ruido o vocabulario técnico | Comparar medium, large y turbo | Errores críticos por hora |
| Grandes lotes | Modelo que cumple con mejor factor de tiempo real | Throughput sostenido y cola |
| Varios idiomas | Variante multilingüe | Prueba separada por idioma y acento |
No elijas únicamente por WER promedio. Clasifica errores: nombres de clientes, referencias, cantidades, negaciones, términos técnicos y cambios de hablante. Un modelo más rápido que altera una cifra puede ser inaceptable.
Mejorar la entrada antes de aumentar el modelo
La calidad del micrófono y la separación entre voz y ruido pueden aportar más que cambiar de modelo. Conserva el original y crea una copia normalizada para el proceso.
- Convierte a un formato estable. PCM mono y una frecuencia apropiada eliminan variaciones del contenedor.
- Normaliza sin saturar. Eleva voz baja con cuidado y evita recortar picos.
- Detecta silencio. Divide grabaciones largas en segmentos con contexto suficiente.
- Evita cortes dentro de una palabra. Añade un pequeño solapamiento y combina resultados por tiempo.
- Identifica canales. Si cada participante está en un canal, transcribelos por separado antes de mezclarlos.
- Conserva metadatos. Fuente, duración, idioma, consentimiento y responsable.
ffmpeg -i reunion.m4a \ -ac 1 -ar 16000 \ -c:a pcm_s16le \ reunion-normalizada.wav
La normalización no repara una señal ausente. Para reuniones importantes, mejora la captación: micrófonos cercanos, menos reverberación y canales separados.
Combinar transcripción y diarización sin afirmar identidades no verificadas
Whisper produce texto y segmentos; la diarización suele requerir un componente adicional. El resultado habitual es «Hablante A», «Hablante B» y turnos temporales. Asociar esos turnos a nombres requiere una fuente fiable o revisión humana.
Audio → VAD → diarización → segmentos por hablante
→ Whisper → texto con tiempo → alineación → revisión
| Fallo | Causa | Tratamiento |
|---|---|---|
| Un hablante aparece como dos | Ruido, distancia o cambio de canal | Fusionar tras revisión y conservar tiempo |
| Dos personas aparecen juntas | Voces similares o solapadas | Revisar audio y utilizar canales cuando existan |
| Texto asignado al turno incorrecto | Desalineación temporal | Alinear segmentos y no ocultar incertidumbre |
| Nombre incorrecto | Inferencia a partir de la conversación | No asignar identidad sin confirmación |
De la transcripción al acta
Genera decisiones, tareas y preguntas como una segunda fase. Cada elemento debe enlazar a uno o más segmentos. El revisor confirma responsable, compromiso y cualquier cifra. La IA local puede redactar; no convierte automáticamente la conversación en un acuerdo formal.
Procesar una carpeta o cola sin perder archivos ni duplicar trabajos
- Recibe el archivo en una carpeta de entrada sin ejecución.
- Calcula hash y crea un identificador idempotente.
- Valida formato, duración, tamaño y antivirus cuando corresponde.
- Normaliza el audio y guarda la copia temporal.
- Encola la transcripción con modelo e idioma.
- Guarda texto, segmentos, métricas y estado.
- Ejecuta resumen o extracción en una segunda cola.
- Notifica al revisor y aplica retención a audio y temporales.
Separa trabajos interactivos de lotes largos. Limita número de audios simultáneos y memoria. Un proceso que falla debe reanudarse desde un estado conocido, no comenzar indefinidamente desde cero.
| Métrica | Utilidad |
|---|---|
| Factor de tiempo real | Capacidad de procesamiento por hora |
| WER y errores críticos | Calidad frente a referencia |
| Pico de VRAM | Número de trabajadores posibles |
| Tiempo de cola | Experiencia del usuario |
| Fallos por formato | Calidad de la entrada |
| Correcciones humanas | Valor real del sistema |
Definir consentimiento, acceso, retención y finalidad antes de grabar
El audio puede contener datos personales, información confidencial y voces de terceros. Ejecutarlo en local reduce transferencias, pero no elimina obligaciones. Informa de la grabación, limita usuarios, cifra almacenamiento cuando corresponda y define cuándo se borran audio, transcripción, resumen y copias.
- Finalidad y base revisadas
- Información a participantes antes de grabar
- Acceso por reunión, proyecto o grupo
- Audio original separado de la salida de trabajo
- Revisión de nombres, cifras y decisiones
- Retención independiente para audio y texto
- Procedimiento de corrección y borrado
- Sin entrenamiento posterior con reuniones salvo análisis específico
No utilices la diarización para identificar personas por voz sin un análisis específico. Separar turnos y reconocer una identidad son finalidades y riesgos diferentes.
Amplía los controles en IA local y RGPD.
Dimensionar por horas de audio, modelo y plazo de entrega
Los modelos de voz caben en GPUs más pequeñas que muchos LLM, por lo que DGX Spark no es el punto de partida automático. Una GPU NVIDIA discreta suele ofrecer el mejor rendimiento cuando el modelo cabe. Spark aporta valor cuando comparte infraestructura con modelos grandes, RAG o varias cargas que necesitan memoria amplia.
Equipo existente
CPU o GPU disponible permite validar calidad y flujo antes de comprar.
GPU NVIDIA
Prioriza throughput, varios trabajadores y finalización dentro del plazo.
DGX Spark o escala superior
Tiene sentido si, además de transcribir, mantienes LLM grandes, RAG y agentes en el mismo sistema.
Entrega para dimensionar: horas de audio al día, pico, idiomas, modelo aprobado, factor de tiempo real objetivo, diarización, resumen, retención y número de trabajos simultáneos.
Integrar la transcripción en un flujo completo
Trabajo diario
Convierte segmentos revisados en actas, tareas o borradores sin perder el enlace al audio.
Integrar en la oficina →Privacidad y retención
Define consentimiento, finalidad, acceso, borrado y tratamiento de voces antes de ampliar el servicio.
Revisar RGPD →Capacidad de proceso
Relaciona horas de audio, plazo, modelo y cola con la GPU o memoria que necesita el sistema.
Dimensionar la plataforma →Empieza con diez audios representativos
Compara dos tamaños de Whisper, mide errores críticos y tiempo, y diseña revisión y retención. El hardware se elige después de conocer el volumen y la calidad requerida.
Consultar compra y disponibilidadMide esta carga y elige el equipo con datos
Ejecuta una prueba representativa, registra memoria y tiempo, y utiliza el recomendador para comparar una GPU rápida con una plataforma de memoria coherente.
- 01
Define la carga
Concreta tarea, familia de modelo, contexto, lote y usuarios simultáneos.
Aclarar el caso de uso → - 02
Dimensiona memoria
Compara VRAM, memoria coherente, velocidad y margen de crecimiento.
Usar el recomendador de hardware → - 03
Compra en la tienda
Abre la ficha comercial para consultar configuración, precio cerrado, disponibilidad y condiciones vigentes.
Contacto y disponibilidad →
RTX PRO 6000 · 96 GB
Prioriza una GPU profesional para inferencia, imagen, vídeo o serving cuando el modelo y el contexto caben en sus 96 GB de VRAM.
Ver ficha profesional →NVIDIA DGX Spark · 128 GB
Considera memoria unificada para desarrollo CUDA y cargas que superan la VRAM de una GPU, aceptando que capacidad no equivale siempre a más velocidad.
Ver ficha y comprar →Recomendador de hardware
Responde cinco preguntas y compara el equipo actual, una GPU NVIDIA, la RTX PRO 6000 y sistemas GB10 como DGX Spark, ASUS Ascent GX10 o Lenovo ThinkStation PGX.
Comparar opciones →aisupercomputers.es aporta guías y herramientas de decisión. La compra, el precio cerrado en la ficha y el soporte comercial desde España se gestionan en las tiendas del grupo Ietres.
Respuestas directas
¿Whisper puede funcionar completamente en local?
Sí. Después de instalar dependencias y descargar los pesos, la transcripción puede ejecutarse en el equipo. Debes bloquear o revisar otros componentes del flujo si necesitas aislamiento completo.
¿Necesito una GPU NVIDIA?
No es obligatoria, pero CUDA acelera de forma importante los modelos. Para poco volumen puedes probar en CPU; para lotes y plazos cortos conviene una GPU compatible.
¿Cuál es el mejor tamaño de modelo?
Depende de idioma, ruido, vocabulario, memoria y plazo. Compara al menos dos tamaños con audios reales y mide errores críticos, no solo una impresión general.
¿Whisper separa hablantes?
La implementación base transcribe y segmenta. La diarización suele añadirse con otro componente y debe revisarse; «Hablante A» no identifica por sí mismo a una persona.
¿Puedo generar actas automáticamente?
Puedes preparar un borrador con decisiones y tareas enlazadas a segmentos, pero una persona debe revisar nombres, cifras, responsables y compromisos antes de publicarlo.
¿DGX Spark es necesario para transcribir?
No. Una GPU discreta suele ser más adecuada si el modelo cabe. Spark tiene sentido cuando la estación también debe alojar LLM grandes, RAG, agentes u otras cargas con mayor memoria.