Speech Enhancement β ai-coustics
Real-time, ASR-optimized speech enhancement models for machines.
Quail and Rook are production speech-to-speech models by ai-coustics that remove noise, reverb, and competing speakers from microphone audio in real time β 30 ms latency, no GPU needed, no ONNX dependency. They run on the contact side of Voice AI stacks to make downstream STT, VAD, turn-taking, and speech-to-speech models reliable: real-time audio intelligence that makes Voice AI work in production. Not just in the lab. Inference runs through the aic-sdk Python package (also available for Rust, C/C++, Node.js, and WebAssembly).
Setup
- Install the SDK:
pip install aic-sdk - Create a free SDK key on the ai-coustics playground β 30-day trial included, no credit card required.
Usage
# initialize the speech enhancement processor
import aic_sdk as aic
model = aic.Model.from_file(aic.Model.download("quail-vf-2.2-l-16khz", "./models"))
config = aic.ProcessorConfig.optimal(model)
processor = aic.Processor(model, "{aic-sdk-key}", config) # get a free SDK key: https://developers.ai-coustics.com/login
# enhance mono float32 audio, one block at a time β real-time safe
enhanced_block = processor.process(audio_block) # shape: (config.block_size,)
Complete example: enhance a WAV file
import wave
import numpy as np
import aic_sdk as aic
license_key = "YOUR_SDK_KEY" # get a free SDK key: https://developers.ai-coustics.com/login
model = aic.Model.from_file(aic.Model.download("quail-vf-2.2-l-16khz", "./models"))
with wave.open("input.wav", "rb") as wf:
assert wf.getnchannels() == 1, "mono input required"
sample_rate = wf.getframerate()
pcm = np.frombuffer(wf.readframes(wf.getnframes()), dtype=np.int16).astype(np.float32) / 32768.0
config = aic.ProcessorConfig.optimal(model, sample_rate=sample_rate)
processor = aic.Processor(model, license_key, config)
enhanced = np.concatenate([
processor.process(pcm[i : i + config.block_size])
for i in range(0, len(pcm) - config.block_size + 1, config.block_size)
])
with wave.open("enhanced.wav", "wb") as wf:
wf.setnchannels(1)
wf.setsampwidth(2)
wf.setframerate(sample_rate)
wf.writeframes((enhanced * 32767).astype(np.int16).tobytes())
Tune the enhancement strength at runtime (useful to optimize for a specific STT engine):
ctx = processor.get_context()
ctx.set_parameter(aic.ProcessorParameter.EnhancementLevel, 0.8) # 0.0β1.0
Which model should I use?
| Family | Use it for | Notes |
|---|---|---|
| Quail Voice Focus | Voice agents with one primary speaker | Voice isolation: suppresses competing voices and background speech, isolates the foreground speaker. Up to 43% fewer word errors across major STT providers. 16 kHz (usable in 8 kHz pipelines). v2.2 adds far-field single-speaker support. Not suited for multi-speaker scenarios. |
| Quail Multi Speaker | Speech-to-text primer in noisy, far-field, multi-speaker conditions | Denoiser optimized for STT accuracy; up to 30% word-error-rate reduction. 8 and 16 kHz. |
| Rook | Human-to-human listening: conferencing, telephony | Perceptual enhancement of noise, reverb, and distortion at up to 48 kHz. Not recommended for Voice AI use cases β use Quail there. |
Model variants
Weights are hosted on the ai-coustics artifact CDN. aic.Model.download() fetches the latest compatible artifact and verifies its checksum automatically; the direct links below are for manual download. L = best quality, S = smaller/faster.
Quail Voice Focus (16 kHz)
| SDK model ID | Artifact | SHA-256 (prefix) |
|---|---|---|
quail-vf-2.2-l-16khz β latest, recommended |
v7 | 9645543da790 |
quail-vf-2.2-s-16khz |
v7 | 59a57bae4bcf |
quail-vf-2.1-l-16khz |
v5 | e3f6cd3fda62 |
quail-vf-2.1-s-16khz |
v5 | 7d0cc51114b7 |
quail-vf-2.0-l-16khz |
v2 | c33a73442e25 |
quail-vf-1.1-l-16khz |
v1 | e0337ec3388f |
quail-vf-l-16khz |
v1 | 1509e36bd30c |
Quail Multi Speaker (speech-to-text primer)
| SDK model ID | Sample rate | Artifact | SHA-256 (prefix) |
|---|---|---|---|
quail-ms-l-16khz β recommended |
16 kHz | v7 | 6c55eab06add |
quail-ms-s-16khz |
16 kHz | v7 | c468df3f0687 |
quail-ms-l-8khz |
8 kHz | v7 | 9943a0e57123 |
quail-ms-s-8khz |
8 kHz | v7 | 2f0c21c45972 |
quail-l-16khz (legacy) |
16 kHz | v6 | 80d212880568 |
quail-s-16khz (legacy) |
16 kHz | v6 | c41e369e7a33 |
quail-l-8khz (legacy) |
8 kHz | v6 | e9d0768cc276 |
quail-s-8khz (legacy) |
8 kHz | v6 | e666888f67c0 |
Rook Multi Speaker (human listening)
| SDK model ID | Sample rate | Artifact | SHA-256 (prefix) |
|---|---|---|---|
rook-ms-l-48khz β recommended |
48 kHz | v7 | e53fb6151ac5 |
rook-ms-s-48khz |
48 kHz | v7 | d08b1b773722 |
rook-l-48khz |
48 kHz | v6 | be355b90be0e |
rook-s-48khz |
48 kHz | v6 | 8e2ac9750b10 |
rook-xs-48khz |
48 kHz | v1 | 63bffca72730 |
rook-xxs-48khz |
48 kHz | v1 | 914b8deb45a4 |
rook-ms-l-16khz |
16 kHz | v7 | c85d729aca04 |
rook-ms-s-16khz |
16 kHz | v7 | b3d4c49b6184 |
rook-l-16khz |
16 kHz | v6 | 85bd01c975e9 |
rook-s-16khz |
16 kHz | v6 | b6d129e32f79 |
rook-ms-l-8khz |
8 kHz | v7 | 3b617e2d122e |
rook-ms-s-8khz |
8 kHz | v7 | ca0734051114 |
rook-l-8khz |
8 kHz | v6 | 07eca5332b03 |
rook-s-8khz |
8 kHz | v6 | 0a1e0ff071ea |
Full SHA-256 checksums for every artifact are listed next to each download at artifacts.ai-coustics.io.
Related ai-coustics models
- ποΈ Voice Activity Detection β real-time, noise-robust turn-taking for voice agents
- π Audio Insight β predict and diagnose downstream failures in Voice AI stacks
Resources
- π Documentation & model guide: docs.ai-coustics.com
- π§© Framework quickstarts: LiveKit, Pipecat
- π¦ Python SDK: pypi.org/project/aic-sdk
- π Free SDK key: developers.ai-coustics.com
- π’ Enterprise licensing: ai-coustics.com