Decibri can clean up microphone audio inside the engine, before it reaches your code, with no extra library and no external service. The Audio Capture Engine (ACE) is the built-in chain that does it. Every stage is off by default, so a plain Microphone(...) captures exactly as it would without ACE, and you turn on only the stages you want.
Keyless and local. No API key, no account, no network call. The chain runs on-device, and the bundled denoise model ships inside the decibri package on PyPI and npm. Nothing is downloaded at runtime.
Off by default, zero-cost when off. Nothing in the chain runs until you ask for it. With every stage left at its default, the capture path is unchanged: a plain Microphone(...) is byte-identical to capture without ACE. You pay only for the stages you enable.
One surface across the bindings. The same conditioning options, with the same names and ranges, are available from Python, Node.js, and Rust. The browser build is the exception: ACE is native, so it is not available there.
ACE sits between capture and your code. Decibri opens the microphone, normalizes the signal to mono at your target sample rate, then runs the conditioning chain before handing you each chunk. Voice activity detection reads the signal before the chain, so turning on enhancement does not change what counts as speech; only the audio you receive is conditioned. From there the conditioned audio flows out to whatever consumes it: a speech-to-text provider, a recording, or your own pipeline. See Integrations for connecting that audio to external models.