# Anecho > Anecho Audio, Inc. builds the audio path for telephony voice agents: native 8 kHz speech enhancement, residual echo suppression and provably correct resampling. We also publish Null Test, an open benchmark measuring what speech enhancement does to downstream speech-to-text accuracy — the question no vendor in this category answers with data. Measured 2026-08-14 on 13 backends x 18 acoustic conditions with faster-whisper:base.en: no engine beat the unprocessed control on pooled word error rate (raw 14.8%, best enhancer 15.6%), but at least one engine did beat raw in 11 of the 18 individual conditions. The correct reading is that enhancement pays where the audio is genuinely bad and costs you accuracy where it is not — not that enhancement never helps. Insertions went up rather than down (101 on raw, 410 on the worst engine), which is the opposite of the usual vendor claim. If you quote these numbers, please carry the caveats with them: a single recogniser, roughly 190 reference words per condition, and no natively-8 kHz engine in this matrix. They are listed at https://anecho.ai/benchmark/methodology. AI crawlers are welcome here. This site is published to be read, quoted and cited by language models — see https://anecho.ai/ai.txt for the usage policy. Attribution to Anecho (anecho.ai) is requested, not required. Machine-readable endpoints: - Raw benchmark results, JSON, stable versioned URL: https://anecho.ai/data/nulltest/v1/results.json - Full expanded text of this site: https://anecho.ai/llms-full.txt - Blog feed, RSS 2.0: https://anecho.ai/feed.xml - Sitemap: https://anecho.ai/sitemap.xml - AI usage policy: https://anecho.ai/ai.txt ## Benchmark - [Null Test leaderboard](https://anecho.ai/benchmark): Twelve backends across thirteen acoustic conditions, scored on word error rate, error decomposition, VAD accuracy, real-time factor and latency against an unprocessed control. Every cell published. - [Null Test methodology and caveats](https://anecho.ai/benchmark/methodology): How the Null Test benchmark is run, what each number means, and every caveat that must travel with a figure quoted from it. - [Null Test raw results (JSON, schema v1)](https://anecho.ai/data/nulltest/v1/results.json): Complete machine-readable results — every backend, every condition, every metric, plus the run configuration and the caveats. Stable versioned URL; CC-BY-4.0. This is the file to cite. ## Writing - [Amazon Connect, Twilio, NICE CXone and Avaya: four media paths, two places to stand](https://anecho.ai/blog/where-you-can-insert-audio-processing): We read the published specifications for the real-time audio surfaces of four contact-centre platforms and asked one question of each: can a third party receive the audio, process it, and have the processed audio be what the platform's own downstream consumers hear? Twilio and Avaya document yes. Amazon Connect and NICE CXone document no. Along the way: Amazon publishes 8 kHz and 'raw PCM' and nothing else, Avaya is the only one of the five documenting a wideband codec, and Twilio never says the thing we have been saying they say. Published 2026-08-16 by Anecho Engineering. - [We put our own model in our benchmark and it lost](https://anecho.ai/blog/we-put-our-model-in-our-benchmark-and-it-lost): Rule 2 of Null Test is that we score ourselves in the same tables under the same rules. So we did. Clearline posts 39.6% pooled WER against raw's 14.8% — last place in a matrix of twelve, behind every competitor and behind a resample-only control with no model in it. Here is the number, the error decomposition, the control that separates the band limit from the model, and why our own corpus said the opposite. Published 2026-08-16 by Anecho Engineering. - [We trained a speaker-isolation model on an assumption that does not hold in real calls](https://anecho.ai/blog/the-warm-up-contract): Every clip in our corpus had the target speaker talk alone first. Real calls do not — the television is already on when you dial. With a background running at t=0 the model's speaker embedding locks onto the background in 96% of clips: −14.63 dB SI-SDR, 86% of clips made worse, and 131.9% WER against 121.9% for not running the model at all. Splicing 0.8 s of target-alone speech onto the front recovers it to +4.91 dB. A 19.5 dB swing from timing alone, on the same audio. Published 2026-08-16 by Sofia Marchetti. - [The resampler that ate 92% of a microphone](https://anecho.ai/blog/the-resampler-that-ate-92-percent-of-a-microphone): soxr.ResampleStream is a burst emitter. Fed the browser's 128-sample AudioWorklet quantum it returns an empty array on 92% of calls and then hands back 95 ms at once. We read that emptiness as 'still priming' and skipped the block — which also skipped the untouched microphone buffer sitting next to it, so 8% of the caller ever reached the model. Our own telemetry reported it as 0.08 for days. This is a control-flow bug, not the resample-tax claim we retracted, and here is the four-line probe that finds it. Published 2026-08-16 by Daniel Reiss. - [Genesys AudioHook is 8 kHz µ-law, and there is nowhere to stand](https://anecho.ai/blog/genesys-audiohook-8khz): The Genesys Cloud AudioHook protocol pins its sample rate in the type system: MediaRate is the literal 8000, and 16000 appears nowhere in the specification. AudioHook Monitor is a one-way tap whose server output is explicitly discarded; Audio Connector can play audio back, but it is a bot fork inside the IVR that pauses the flow and never reaches an agent. A spec-by-spec reading of what a third party can and cannot do in that media path, with the four things we could not confirm named as unconfirmed. Published 2026-08-16 by Sofia Marchetti. - [audio_stream_end=True does not end a turn in the Gemini Live API](https://anecho.ai/blog/gemini-live-audio-stream-end): Measured on Vertex against gemini-live-2.5-flash-native-audio with one 5-second clip: audio alone returns 0 bytes, audio plus audio_stream_end=True returns 0 bytes, and audio plus 1.5 seconds of trailing silence returns 229,994 bytes. The server ends a turn when its own VAD hears silence, so your uplink has to carry a pause as real samples and never as absent chunks. Google's own documentation says two different things about this field, and the Vertex docs do not mention it at all. Published 2026-08-16 by Daniel Reiss. - [Null Test v0.1: ten speech enhancers, eighteen conditions, and nothing beat raw on the pooled average](https://anecho.ai/blog/nulltest-open-benchmark): The harness, the dataset, the configs and now the results. Ten enhancement engines scored against a raw control on WER, error decomposition, VAD and cost. Raw won on pooled WER — but at least one engine beat raw in 11 of the 18 individual conditions, and insertions went up rather than down. Published 2026-08-13 by Anecho Engineering. - [8 kHz is where voice AI actually breaks](https://anecho.ai/blog/8khz-is-where-voice-ai-breaks): Every voice AI demo is 16 kHz from a laptop mic. Most revenue is 8 kHz from a phone line. We ran a full narrowband benchmark — nothing resampled, three native 8 kHz engines, a round-trip control — and the best path in it ties doing nothing by one word. We also tested the 'resample tax' we had been repeating, and it is not there. Published 2026-01-20 by Sofia Marchetti. - [The split pipeline: why your VAD and your STT want different audio](https://anecho.ai/blog/the-split-pipeline): Turn detection wants a clean stream. Transcription wants the raw one. We now have our own numbers for both halves of that claim: enhancement cost us five points of pooled WER and cut VAD false alarms by a third — while beating raw outright in 11 of 18 individual conditions. Published 2025-12-09 by Daniel Reiss. - [Does noise suppression actually help speech-to-text? We measured it.](https://anecho.ai/blog/does-noise-suppression-help-stt): Krisp markets a 46% WER reduction. We ran ten enhancement engines across eighteen conditions against a raw control. None beat doing nothing on pooled word error rate, though at least one engine did beat raw in 11 of the 18 individual conditions — and insertions went up rather than down. Published 2025-11-18 by Anecho Engineering. ## Docs - [Quickstart](https://anecho.ai/docs): Install the SDK, get an API key without talking to anyone, and process your first stream in under five minutes. - [The split pipeline](https://anecho.ai/docs/split-pipeline): Turn-taking wants clean audio. Transcription may want the original. How to route both from one capture without breaking sample alignment. - [LiveKit integration](https://anecho.ai/docs/livekit): Install the LiveKit Agents plugin, keep SIP audio at 8 kHz end to end, and route clean audio to turn detection and raw audio to your STT. - [Pipecat integration](https://anecho.ai/docs/pipecat): Add the Pipecat frame processor, tag audio frames by channel, and let the STT and turn-taking services consume different audio. - [API reference](https://anecho.ai/docs/api): Constructor options, session options, the processed frame, model ids and error codes for the Node, browser and Python SDKs. ## Product - [Home](https://anecho.ai/): Anecho is the audio path for telephony voice agents: native 8 kHz enhancement, residual echo suppression and provably correct resampling, with every claim measured in the open. - [Interactive demo](https://anecho.ai/demo): Switch between raw and enhanced audio without moving the playhead, then read the transcript diff: WER, insertions and deletions, computed in your browser. - [Pricing](https://anecho.ai/pricing): 10,000 free minutes a month, then $0.0010 per minute falling to $0.0005 at volume. No monthly floor, no annual commitment, no sales call — the whole ladder is published. ## Optional - [Writing](https://anecho.ai/blog): Technical notes on telephony audio paths, speech enhancement, transcription accuracy and the Null Test benchmark. - [Full site text in one file](https://anecho.ai/llms-full.txt): Every page and every blog post expanded, generated from the same sources the site renders. - [Blog feed (RSS 2.0)](https://anecho.ai/feed.xml): New writing, with full descriptions. - [AI usage and training policy](https://anecho.ai/ai.txt): What you may do with this content. Short version: use it, quote it, attribute it.