Codinome: ORFEU (O Guardião da Harmonia Sonora)
O ACC Audio Guard é uma solução em Go para cancelamento de ruído 100% offline, projetada para ambientes críticos de Drive-Thru. O objetivo é substituir dependências de nuvem por um motor local com baixa latência.
- Esqueleto da aplicação CLI com ciclo de vida e shutdown gracioso.
- Pipeline de processamento em tempo real (ticker por frame) com fonte sintética para validação.
- Métricas de latência por execução (frames, média, máximo e total de processamento).
- Wrapper RNNoise preparado via CGO com build tag
rnnoise. - Integração de captura de microfone físico (backend real de áudio).
- Validação de latência fim-a-fim com áudio real (
< 20ms).
- Entrada (
cmd/orfeu): bootstrap e sinais do sistema. - App (
internal/app): valida configuração e orquestra runtime. - Pipeline (
internal/audio): loop real-time por frame + estatísticas. - RNNoise (
internal/rnnoise): contrato + implementação CGO opcional. - Dispositivos (
internal/device): stub para descoberta de hardware. - Logging (
internal/logx): logs com módulo ehostname.
Este projeto já inclui:
flake.nixparanix developshell.nixparanix-shell
Ambos expõem os comandos: go, gofmt, go test, pkg-config, wails, toolchain CGO e libs (rnnoise, portaudio).
# Flakes
nix develop
# Sem flakes
nix-shell# Rodar em modo padrão (dry-run com fonte sintética)
go run ./cmd/orfeu --duration-sec=10
# Rodar testes
go test ./...
# Verificar RNNoise no shell
pkg-config --modversion rnnoise
# Build com RNNoise real (requer librnnoise no ambiente)
go run -tags rnnoise ./cmd/orfeu --dry-run=false --duration-sec=10
# Build GUI (fase futura)
wails build -platform windows/amd64acc_audio_guard/
cmd/orfeu/main.go
internal/app/app.go
internal/audio/pipeline.go
internal/audio/pipeline_test.go
internal/audio/source.go
internal/config/config.go
internal/config/config_test.go
internal/device/device.go
internal/logx/logx.go
internal/rnnoise/types.go
internal/rnnoise/engine_stub.go
internal/rnnoise/engine_cgo.go
flake.nix
shell.nix
- Integrar captura/injeção real com PortAudio ou Miniaudio.
- Rodar benchmark com microfone físico + VB-CABLE.
- Fechar relatório de latência de ponta a ponta com meta
< 20ms.
- Modo headless para execução contínua sem CLI interativa.
- Execução como serviço do sistema (Windows Service).
- API local de controle e status (localhost/IPC) para integração com outros módulos.
- GUI Wails para configuração de dispositivos e diagnóstico.
- Health checks e telemetria local para suporte operacional.
- Empacotamento e instalação silenciosa para rollout em escala.
Projeto integrante do ecossistema Sistemas - Marcelo