Controlo de qualidade de áudio em direto
Controlo de qualidade de áudio em direto para uma equipa de operações de média · Construído de raiz, a solo, do design ao deploy
Atualizado
Antes
A equipa verificava o áudio dos comentários à mão, pelo que uma falha não detetada podia chegar aos espectadores.
Depois
1 hora
de leituras guardadas no local durante uma falha de rede e reenviadas uma só vez; loudness medido segundo a norma da EBU.
- 1Sistema:Local do evento
Envia o áudio dos comentários em vários canais.
- 2Sistema:Agente local
Mede cada canal segundo as normas de loudness da EBU.
- 3Sistema:Agente local
Guarda as leituras em disco e reenvia-as após uma queda de rede.
- 4Sistema:Serviço cloud
Dispara um alerta quando uma falha dura o suficiente.
- 5Pessoa:Operador
Vê alertas e incidentes na consola web.
Sempre garantido
- A cloud ignora leituras duplicadas, por isso um reenvio nunca conta duas vezes.
Problema
A equipa monitorizava o áudio dos comentários à mão. Uma falha não detetada arriscava queixas de espectadores, coimas regulatórias e danos de reputação.
Diagnóstico
Os alertas só ajudam se forem completos e discretos. As quedas de rede perderiam leituras, e detetores instáveis inundariam os operadores de falsos alarmes.
Opções que ponderei
A ligação à cloud cai. Como se evita perder leituras?
Escolhida
Guardar as leituras em disco no local e reenviá-las; a cloud ignora duplicados
Uma hora de leituras e um dia de eventos sobrevivem a uma falha, e um reenvio nunca conta duas vezes. Custo: mais peças em movimento na máquina local.
Rejeitada
Manter as leituras em memória e descartar as mais antigas quando enche
Perde dados durante a falha, precisamente quando importam.
Um detetor liga e desliga. Quando dispara o alerta?
Escolhida
Só depois de a falha durar um tempo mínimo, seguido de um período de espera
Um canal instável não consegue inundar os operadores.
Rejeitada
Alertar a cada oscilação
Um canal instável enterra os operadores em falsos alarmes.
Solução
Um agente no local mede cada canal e envia as leituras para um serviço na cloud. Os operadores têm uma consola web com projetos, limiares e alertas.
- Agente local
- Python
- EBU R128 loudness
- ONNX Runtime
- PyTorch
- SpeechBrain
- Windows build
- API na cloud
- FastAPI
- SQLAlchemy
- Alembic
- PDF reports
- Dados
- TimescaleDB
- PostgreSQL 17
- Consola do operador
- Next.js
- React
- TanStack Query
- WebSockets
- uPlot
- Zustand
- Qualidade e entrega
- Docker Compose
- GitHub Actions
- uv
- Ruff
- mypy
- pytest
- Playwright
- axe
Serviços relacionados
Números: Definições do buffer do agente