File size: 9,949 Bytes
d5e6e96 dd1800c d5e6e96 dd1800c d5e6e96 dd1800c d5e6e96 dd1800c d5e6e96 dd1800c d5e6e96 dd1800c 2289e83 d5e6e96 dd1800c d5e6e96 2289e83 d5e6e96 169c388 d5e6e96 1a8b0a2 d5e6e96 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | ---
license: other
license_name: aic-sdk-binary-license
license_link: https://huggingface.co/ai-coustics/speech-enhancement/blob/main/LICENSE
pipeline_tag: audio-to-audio
library_name: aic-sdk
tags:
- audio
- speech-enhancement
- speech-to-speech
- noise-reduction
- denoising
- dereverberation
- voice-isolation
- asr
- stt
- voice-ai
- voice-agents
- real-time
- ai-coustics
---
# 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](https://ai-coustics.com/) 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`](https://pypi.org/project/aic-sdk/) Python package (also available for Rust, C/C++, Node.js, and WebAssembly).
## Setup
1. Install the SDK:
```bash
pip install aic-sdk
```
2. [Create a free SDK key](https://developers.ai-coustics.com) on the ai-coustics playground β 30-day trial included, no credit card required.
## Usage
```python
# 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
```python
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):
```python
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](https://artifacts.ai-coustics.io/models/quail-vf-2-2-l-16khz/v7/quail_vf_2_2_l_16khz_horgwub0_v14.aicmodel) | `9645543da790` |
| `quail-vf-2.2-s-16khz` | [v7](https://artifacts.ai-coustics.io/models/quail-vf-2-2-s-16khz/v7/quail_vf_2_2_s_16khz_gf70x7zf_v14.aicmodel) | `59a57bae4bcf` |
| `quail-vf-2.1-l-16khz` | [v5](https://artifacts.ai-coustics.io/models/quail-vf-2-1-l-16khz/v5/quail_vf_2_1_l_16khz_8xope536_v11.aicmodel) | `e3f6cd3fda62` |
| `quail-vf-2.1-s-16khz` | [v5](https://artifacts.ai-coustics.io/models/quail-vf-2-1-s-16khz/v5/quail_vf_2_1_s_16khz_5i8jb8of_v12.aicmodel) | `7d0cc51114b7` |
| `quail-vf-2.0-l-16khz` | [v2](https://artifacts.ai-coustics.io/models/quail-vf-2-0-l-16khz/v2/quail_vf_2_0_l_16khz_d42jls1e_v18.aicmodel) | `c33a73442e25` |
| `quail-vf-1.1-l-16khz` | [v1](https://artifacts.ai-coustics.io/models/quail-vf-1-1-l-16khz/v1/quail_vf_1_1_l_16khz_d00ghjzn_v15.aicmodel) | `e0337ec3388f` |
| `quail-vf-l-16khz` | [v1](https://artifacts.ai-coustics.io/models/quail-vf-l-16khz/v1/quail_vf_l_16khz_jc5pk1aa_v17.aicmodel) | `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](https://artifacts.ai-coustics.io/models/quail-ms-l-16khz/v7/quail_ms_l_16khz_dtv5nvgu_v20.aicmodel) | `6c55eab06add` |
| `quail-ms-s-16khz` | 16 kHz | [v7](https://artifacts.ai-coustics.io/models/quail-ms-s-16khz/v7/quail_ms_s_16khz_ilmexgyt_v8.aicmodel) | `c468df3f0687` |
| `quail-ms-l-8khz` | 8 kHz | [v7](https://artifacts.ai-coustics.io/models/quail-ms-l-8khz/v7/quail_ms_l_8khz_mp51agn0_v13.aicmodel) | `9943a0e57123` |
| `quail-ms-s-8khz` | 8 kHz | [v7](https://artifacts.ai-coustics.io/models/quail-ms-s-8khz/v7/quail_ms_s_8khz_9q57ojki_v20.aicmodel) | `2f0c21c45972` |
| `quail-l-16khz` (legacy) | 16 kHz | [v6](https://artifacts.ai-coustics.io/models/quail-l-16khz/v6/quail_l_16khz_dtv5nvgu_v20.aicmodel) | `80d212880568` |
| `quail-s-16khz` (legacy) | 16 kHz | [v6](https://artifacts.ai-coustics.io/models/quail-s-16khz/v6/quail_s_16khz_ilmexgyt_v8.aicmodel) | `c41e369e7a33` |
| `quail-l-8khz` (legacy) | 8 kHz | [v6](https://artifacts.ai-coustics.io/models/quail-l-8khz/v6/quail_l_8khz_mp51agn0_v13.aicmodel) | `e9d0768cc276` |
| `quail-s-8khz` (legacy) | 8 kHz | [v6](https://artifacts.ai-coustics.io/models/quail-s-8khz/v6/quail_s_8khz_9q57ojki_v20.aicmodel) | `e666888f67c0` |
### Rook Multi Speaker (human listening)
| SDK model ID | Sample rate | Artifact | SHA-256 (prefix) |
|---|---|---|---|
| **`rook-ms-l-48khz`** β recommended | 48 kHz | [v7](https://artifacts.ai-coustics.io/models/rook-ms-l-48khz/v7/rook_ms_l_48khz_7n1r44ri_v23.aicmodel) | `e53fb6151ac5` |
| `rook-ms-s-48khz` | 48 kHz | [v7](https://artifacts.ai-coustics.io/models/rook-ms-s-48khz/v7/rook_ms_s_48khz_kg8kp9qm_v52.aicmodel) | `d08b1b773722` |
| `rook-l-48khz` | 48 kHz | [v6](https://artifacts.ai-coustics.io/models/rook-l-48khz/v6/rook_l_48khz_7n1r44ri_v23.aicmodel) | `be355b90be0e` |
| `rook-s-48khz` | 48 kHz | [v6](https://artifacts.ai-coustics.io/models/rook-s-48khz/v6/rook_s_48khz_kg8kp9qm_v52.aicmodel) | `8e2ac9750b10` |
| `rook-xs-48khz` | 48 kHz | [v1](https://artifacts.ai-coustics.io/models/rook-xs-48khz/v1/rook_xs_48khz_g4qwc6lv_v21.aicmodel) | `63bffca72730` |
| `rook-xxs-48khz` | 48 kHz | [v1](https://artifacts.ai-coustics.io/models/rook-xxs-48khz/v1/rook_xxs_48khz_wsur2zkw_v7.aicmodel) | `914b8deb45a4` |
| `rook-ms-l-16khz` | 16 kHz | [v7](https://artifacts.ai-coustics.io/models/rook-ms-l-16khz/v7/rook_ms_l_16khz_dtv5nvgu_v20.aicmodel) | `c85d729aca04` |
| `rook-ms-s-16khz` | 16 kHz | [v7](https://artifacts.ai-coustics.io/models/rook-ms-s-16khz/v7/rook_ms_s_16khz_ilmexgyt_v8.aicmodel) | `b3d4c49b6184` |
| `rook-l-16khz` | 16 kHz | [v6](https://artifacts.ai-coustics.io/models/rook-l-16khz/v6/rook_l_16khz_dtv5nvgu_v20.aicmodel) | `85bd01c975e9` |
| `rook-s-16khz` | 16 kHz | [v6](https://artifacts.ai-coustics.io/models/rook-s-16khz/v6/rook_s_16khz_ilmexgyt_v8.aicmodel) | `b6d129e32f79` |
| `rook-ms-l-8khz` | 8 kHz | [v7](https://artifacts.ai-coustics.io/models/rook-ms-l-8khz/v7/rook_ms_l_8khz_mp51agn0_v13.aicmodel) | `3b617e2d122e` |
| `rook-ms-s-8khz` | 8 kHz | [v7](https://artifacts.ai-coustics.io/models/rook-ms-s-8khz/v7/rook_ms_s_8khz_9q57ojki_v20.aicmodel) | `ca0734051114` |
| `rook-l-8khz` | 8 kHz | [v6](https://artifacts.ai-coustics.io/models/rook-l-8khz/v6/rook_l_8khz_mp51agn0_v13.aicmodel) | `07eca5332b03` |
| `rook-s-8khz` | 8 kHz | [v6](https://artifacts.ai-coustics.io/models/rook-s-8khz/v6/rook_s_8khz_9q57ojki_v20.aicmodel) | `0a1e0ff071ea` |
Full SHA-256 checksums for every artifact are listed next to each download at [artifacts.ai-coustics.io](https://artifacts.ai-coustics.io).
## Related ai-coustics models
- ποΈ **[Voice Activity Detection](https://huggingface.co/ai-coustics/voice-activity-detection)** β real-time, noise-robust turn-taking for voice agents
- π **[Audio Insight](https://huggingface.co/ai-coustics/audio-insight)** β predict and diagnose downstream failures in Voice AI stacks
## Resources
- π Documentation & model guide: [docs.ai-coustics.com](https://docs.ai-coustics.com)
- π§© Framework quickstarts: [LiveKit](https://docs.ai-coustics.com/models/get-started/livekit-quickstart), [Pipecat](https://github.com/pipecat-ai/pipecat/blob/main/examples/voice/voice-aicoustics.py)
- π¦ Python SDK: [pypi.org/project/aic-sdk](https://pypi.org/project/aic-sdk/)
- π Free SDK key: [developers.ai-coustics.com](https://developers.ai-coustics.com)
- π’ Enterprise licensing: [ai-coustics.com](https://ai-coustics.com/)
|