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
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.
- 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
- 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
- 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
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
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.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
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.