2026In ProgressSolo backend engineer
audio-transcriber
Self-hosted audio transcription API. faster-whisper for speech, PANNs for sound events, Redis-backed job queue with SSE streaming for progress.
PythonFastAPIfaster-whisperPANNsRedisDockerSSE
Overview
A self-hosted audio transcription service. Uploads are queued in Redis and picked up by a worker that runs faster-whisper for speech plus PANNs for environmental sound event detection. The API streams progress updates back to the client via server-sent events rather than returning a single large blob at the end. Packaged for Docker Compose, CUDA-accelerated when available.
Highlights
- faster-whisper for speech transcription with CUDA acceleration when available.
- PANNs sound event detection so output includes non-speech sounds (applause, music, etc.).
- Redis job queue so long uploads do not block the HTTP layer.
- Server-sent events stream progress to the client instead of polling.
Challenges and approach
- Long transcription jobs over HTTP would time out behind proxies. Moving progress to SSE and keeping the final transcript in Redis for retrieval solved both ends of the problem.
- GPU warmups cost seconds per cold start. Keeping the worker resident and the model loaded between jobs amortized that cost across many requests.