Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

speech-to-text

Servidor autoalojado de transcripción de audio a texto que envuelve openai-whisper en Flask + uvicorn, con soporte CPU/GPU y múltiples modelos Whisper más backends opcionales (Parakeet, diarización).

Ficha actualizada 24 sept 2026, 19:12 · upstream 24 sept 2026, 18:47 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es speech-to-text

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

speech-to-text es un servidor HTTP autoalojado que convierte archivos de audio en texto usando el modelo openai-whisper. El proyecto está construido con Flask servido por uvicorn, soporta despliegue en CPU o GPU y mantiene una lista de modelos precargados para manejar concurrencia sin recargar el modelo entre solicitudes.

El servidor incluye tres tipos de modelos: Whisper (con variantes tiny, base, small, medium, turbo, large), Parakeet para 25 idiomas europeos con detección automática de idioma, y un backend de diarización NVIDIA Nemotron-3 que identifica quién habló cuándo. Los modelos se almacenan en caché en ./models del host para sobrevivir a reconstrucciones de contenedores.

La API expone endpoints /api/health para estado, /api/stt para transcripción básica, /api/diarize para identificar oradores y /api/transcript que combina ambos. Soporta autenticación Bearer, detección automática de idioma y especifica qué modelos están disponibles mediante GET /api/models.

CASOS DE USO
  • Transcripción de reuniones grabadas en audio a texto con identificación de oradores
  • Servidor propio para evitar APIs externas y costes por minuto en entornos empresariales
  • Procesamiento batch de archivos de audio almacenados localmente o en red
  • Integración con sistemas de automatización mediante API HTTP RESTful
  • Despliegue en infraestructura on-premise sin dependencia de servicios cloud
PUNTOS DESTACADOS
  • Soporte nativo para CPU y GPU (CUDA) con la misma base de código
  • Pool de instancias precargadas que permite transcripciones paralelas sin recargar modelos
  • Modelos Whisper optimizados con tamaños desde tiny (39M parámetros) hasta large (1550M)
  • Backends opcionales: Parakeet para detección automática de idioma y diarización NVIDIA
  • API RESTful documentada con endpoints claros para salud, transcripción y diarización
  • Modelos almacenados en caché en host para persistencia entre reconstrucciones de contenedores
PRECAUCIONES
  • La diarización no es overlap-aware: cuando dos personas hablan simultáneamente, ambos segmentos se marcan sin separación de voces
  • El modelo de detección de superposición NVIDIA requiere NeMo checkpoint incompatible con la build CUDA de este proyecto
  • Los identificadores de oradores son posiciones relativas por grabación, no identidades persistentes entre sesiones
  • La diarización solo funciona con GPUs NVIDIA (Nemotron-3-Diarization)
  • Parakeet y diarización requieren reconstrucción del contenedor con switches de build específicos
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA8 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Usar docker compose up --build para GPU o docker compose -f docker-compose-cpu.yml up --build para CPU. Generar CDI spec con sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml antes del despliegue en GPU. Configurar DIARIZE=true y PARAKEET=true en .env si se requieren backends opcionales, luego reconstruir con docker compose up -d --build.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
5099
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.