| name | noise-reduction-integration |
| description | Add or modify microphone noise-reduction providers in assistant-api with denoiser factory wiring, packet safety, and option/UI compatibility. |
Noise Reduction Integration Skill
Mission
Integrate denoisers that reduce background noise while preserving speech intelligibility, timing stability, and packet ordering.
Inputs expected from user
- Provider/runtime type: native library, SDK, or cloud API.
- Input audio assumptions: sample rate, channels, encoding.
- Target tradeoff: stronger suppression vs speech naturalness.
If missing:
- Assume mono LINEAR16 internal audio path.
- Preserve existing frame/chunk cadence and low-latency defaults.
Hard boundaries
In scope:
api/assistant-api/internal/denoiser/internal/<provider>/...
api/assistant-api/internal/denoiser/denoiser.go
api/assistant-api/internal/type/packet.go only if packet compatibility requires it
- provider option wiring for
microphone.denoising.provider in API/UI config paths
Out of scope:
- STT/TTS model internals
- EOS/VAD algorithms
- telephony transport adapters unless required by codec compatibility
Packet contract
Input:
Required behavior:
- emit denoised audio without changing packet ordering
- preserve timestamps/chunk cadence expected by downstream STT/VAD/EOS
- avoid generating duplicate or empty audio packets
Optional diagnostics:
- conversation/debug events with denoiser provider and processing stats
Implementation workflow
- Pick nearest baseline (
rn_noise, krisp).
- Implement provider package under
internal/<provider>/.
- Register provider in denoiser factory switch.
- Handle init/close lifecycle and fallback behavior safely.
- Wire provider option/config in API and UI provider config where needed.
- Add provider tests for default selection, invalid provider fallback, and chunk integrity.
Validation commands
go test ./api/assistant-api/internal/denoiser/...
go test -run TestGetDenoiser ./api/assistant-api/internal/denoiser/...
cd ui && yarn test providers
./skills/noise-reduction-integration/scripts/validate.sh --check-diff --provider <provider>
References
references/checklist.md
references/noise-reduction-checklist.md
examples/sample.md