Not another voice bot. A real-time voice runtime you can depend on.
Everything streams end to end. The turn-taking layer, the guardrail layer, the compliance layer, the transfer layer and the agent-execution layer are built as one system.
A single turn moves through streaming speech, overlapping models, parallel checks and interruption handling — one continuous runtime rather than a chain of separate services.
Voice becomes callable infrastructure.
Audio in. Noise reduction, voice activity detection, then streaming speech-to-text into turn control — a gated token stream into streaming synthesis, and interruptible audio back out.
Caller audio and agent audio move at the same time, in both directions, on one connection.
Each frame is cleaned as it arrives, before anything downstream reads it.
Speech is separated from silence and line noise as the stream runs.
Transcription arrives while the caller is still speaking, not after the turn ends.
The runtime decides when a turn has ended, and whether an interruption is real.
Tokens stream out under the guardrail layer, which can stop a sentence before it is spoken.
Synthesis begins on the first complete sentence instead of the whole answer.
Playback can be aborted mid-sentence and resumed from what the caller actually heard.
Alebex Voice Engine — the stream, in order.
Two very different signals, one front end. There is no telephony build and no browser build to keep in step: the formats differ, the code path does not.
One pipeline serves both, with zero code forks.
Each one is substantial enough to carry its own piece. Each one exists because the layer it sits in is owned rather than bought.
Full-context transcription at linear cost: re-decoding’s coherence at chunking’s price, any turn length.
| Approach | How it is arranged | What each step sees | What each step costs |
|---|---|---|---|
| Re-decoding | Decode the whole turn again at every step | The whole turn so far | Grows with the turn |
| Chunking | Decode each chunk on its own | The current chunk only | Flat, and the context is gone |
| Alebex | Carry the context, pay the chunk price | The whole turn so far | Flat, any turn length |
How three approaches trade context against cost across one turn. Arrangement, not to scale. The blocks show whether the work grows with the turn, not how long it takes.
Latent-space check plus NLU confirmation riding the synthesis window, verdict in under 50 ms.
| Architecture | Order of work | What it costs |
|---|---|---|
| The common alternative | Generate: first model writes the answer. Then Judge: second LLM reads it and rules — and it hallucinates too. Then Speak: synthesis starts only once the judge returns. | Serial, costs tokens, and the judge hallucinates too |
| Alebex | Streaming synthesis: audio starts on the first sentence. Alongside it, a latent-space check on every sentence against off-policy regions of latent space, then NLU confirmation that confirms hits and suppresses false positives. | Quality rides alongside the stream — never in series with it |
Arrangement, not to scale. The only time on this diagram is the verdict. Pass — it speaks. Fail — the in-flight audio is aborted and regenerated, and the caller never hears it.
A learned classifier on raw audio (WavLM-based) that separates real interruptions from backchannels and line noise in milliseconds.
| Classified as | Example | What the agent does |
|---|---|---|
| Backchannel | “uh-huh” | Keep speaking |
| Line noise | — | Keep speaking |
| Real interruption | — | Stop, and resume from what the caller actually heard |
Word-level playback tracking: of the words the model generated, some reached the caller and some did not. The agent resumes from what the caller actually heard, not what the model generated or the script assumed.
An LLM decoder that consumes audio and text together and writes the intent label: open vocabulary, dynamic per deployment, capturing the hesitation and tone a transcript flattens.
| Input | What it carries | Hesitation and tone | Output |
|---|---|---|---|
| Audio | Historical context | Kept | Formatted output (JSON) |
| Text | Instruction | Flattened |
What “open vocabulary” rules out: a set of labels decided in advance, with every turn forced into one of them. The decoder writes the label, dynamic per deployment. No example label is shown — the label is written per deployment, so any label printed here would be an invented one.
Natural turn-taking gap in conversation
Single LLM — waits for the full generation before speaking
SLM + LLM — first word at 500 ms, full answer by 1,500 ms
Voice feels live only under about a second of silence. Most systems wait for the whole answer before they open their mouth. We listen, predict, acknowledge and respond in overlapping loops — the first word lands while the rest is still being written.
Roughly 500 ms perceived with our dual-model response system, currently in development.
REST, WebSocket and a CLI. The same runtime behind all three.
Quality usually costs latency: the usual quality mechanisms all sit in series with the response. This one does not.
Drop in your website. Alebex reads it, learns what you do, and calls you in under 30 seconds — fully trained, zero setup.