Felona Voice v0.2.0 is now live — Sub-10ms neural voice routing with deterministic state machines.Star on GitHub
FelonaVoicev0.2.0
GitHubStart Building↗
Back to all articles
September 27, 2026
•
6 min read
•Mohit / Felona Voice Core Team

Why 500ms Latency Kills Voice AI: Inside Felona Voice's Sub-10ms Neural Routing Engine

Discover why traditional LLM latency breaks voice AI experiences and how Felona Voice uses JEV for sub-10ms, deterministic conversational routing in TypeScript.

#typescript#ai#voiceai#opensource

Imagine talking to a voice assistant, and after every sentence, there's a noticeable, awkward pause. That frustrating 500ms to 1200ms delay isn't just an inconvenience; it's a fundamental flaw that kills the natural flow of conversation, making voice AI feel clunky and unintelligent. This is the inherent challenge of relying solely on large language models (LLMs) for conversational turn-taking.

At the heart of this problem is the token generation loop. Each time a user speaks, the audio is transcribed, sent to an LLM, the LLM processes the prompt, generates a response (token by token), and then that response is converted back into audio. This entire cycle, while impressive for its intelligence, is a sequential bottleneck that introduces unacceptable latency for real-time voice interactions.

The LLM Latency Trap: Why Traditional Voice AI Stumbles

Traditional voice AI applications often follow a pattern:

  1. Speech-to-Text (STT): User speaks, audio is converted to text.
  2. LLM Inference: The text and conversation history are sent to an LLM.
  3. LLM Response Generation: The LLM deliberates, token-by-token, to formulate a reply or decide on an action. This is the primary source of latency, often ranging from 500ms to well over a second for complex prompts.
  4. Action/Response: Based on the LLM's output, an action is triggered, or a Text-to-Speech (TTS) engine generates an audio reply.

While LLMs excel at understanding nuance and generating creative text, their generative nature is a liability for real-time decision-making in voice. The milliseconds add up, creating a disjointed experience that feels more like a walkie-talkie conversation than a natural human interaction. Furthermore, relying on LLMs for routing can lead to unpredictable behavior and hallucinations, as their responses aren't always deterministic.

Enter Felona Voice: Sub-10ms Neural Routing with Joint Embedding Vectors (JEV)

This is where Felona Voice, an open-source, ultra-low-latency voice agent framework for TypeScript, dramatically changes the game. Felona Voice tackles the latency problem head-on by separating the routing (deciding what to do next) from the generative aspects of AI. Its core innovation lies in using Joint Embedding Vectors (JEV) with stateful conversational transition graphs, which we call VoiceGraph.

Instead of sending every utterance to an LLM for interpretation and decision-making, Felona Voice pre-computes semantic embeddings for all defined actions and fallback phrases. When a user speaks, the input utterance is also converted into an embedding. Felona Voice then performs a lightning-fast similarity matching against its pre-computed JEVs.

This JEV-powered routing allows Felona Voice to decide the next action in an astonishing sub-10ms (typically around 5ms). This is not just faster; it's an order of magnitude faster than traditional LLM-based routing, effectively eliminating token latency and the associated conversational pauses. Because the routing is based on semantic similarity to predefined actions, it also offers zero hallucinations for decision-making.

How JEV Transforms Voice UX:

Feature Traditional LLM-based Routing Felona Voice (JEV-powered)
Decision Latency 500ms - 1200ms+ ~5ms (Sub-10ms)
Token Latency High (waiting for token generation) Zero (no tokens generated for routing)
Hallucinations Possible (LLM may misinterpret/invent) Zero (deterministic similarity match)
Determinism Low (LLM can vary responses) High (predictable routing)
Resource Usage High (constant LLM inference) Low (pre-computed embeddings, fast match)
Conversational Flow Disjointed, unnatural pauses Instant, natural, seamless

Developer Experience: Fluent and Powerful

Felona Voice is built with developers in mind, offering a fluent builder API in TypeScript that makes defining complex conversational flows intuitive. You define your agent's persona, its actions, and its fallback behaviors, and Felona Voice handles the ultra-fast routing.

Let's look at a simple example:

import { createAgent } from "felona-voice";

// 1. Define your agent with a system prompt and actions
const conciergeAgent = createAgent("Concierge")
  .system("You are an intelligent voice concierge for a luxury hotel. Your goal is to assist guests with bookings and information.")
  .action(
    "book_table",
    "Book a restaurant reservation for a guest. Keywords: restaurant, table, reservation, dine.",
    async (ctx) => {
      // In a real app, you'd integrate with a booking system
      console.log(`Booking request received: ${ctx.input}`);
      return "Certainly, I can book a table for you. What time and how many people?";
    }
  )
  .action(
    "check_in",
    "Assist a guest with checking into the hotel. Keywords: check in, arrival, room key.",
    async (ctx) => {
      console.log(`Check-in request received: ${ctx.input}`);
      return "Welcome! Do you have a reservation number or a name?";
    }
  )
  .fallback("I'm sorry, I didn't quite catch that. Could you please rephrase or ask about booking a table or checking in?");

// 2. Interact with the agent
(async () => {
  console.log("User: Can I book a table for two tonight?");
  let reply = await conciergeAgent.interact("Can I book a table for two tonight?");
  console.log(`Agent: ${reply}`); // Agent: Certainly, I can book a table for you. What time and how many people?

  console.log("User: I'd like to check into my room.");
  reply = await conciergeAgent.interact("I'd like to check into my room.");
  console.log(`Agent: ${reply}`); // Agent: Welcome! Do you have a reservation number or a name?

  console.log("User: What's the weather like?");
  reply = await conciergeAgent.interact("What's the weather like?");
  console.log(`Agent: ${reply}`); // Agent: I'm sorry, I didn't quite catch that...
})();

Notice how each action is defined with a descriptive string that Felona Voice uses to generate the JEV. This string, combined with the system prompt, allows the agent to semantically understand the user's intent with incredible speed and accuracy.

Pluggable Audio Pipelines & Local Testing

Felona Voice isn't just about routing; it's a complete framework. It offers pluggable audio pipelines, allowing you to integrate seamlessly with various services like WebSockets, WebRTC, Deepgram, Whisper, ElevenLabs, and Cartesia. This flexibility ensures you can build voice agents tailored to your specific needs and infrastructure.

Crucially, for local testing and deterministic routing, zero external API keys are needed. You can rapidly prototype and test your conversational flows without incurring costs or relying on external services for the core routing logic. This makes development faster, more reliable, and more privacy-respecting.

The Future of Voice AI is Instant

The era of clunky, delayed voice interactions is coming to an end. Felona Voice represents a significant leap forward, offering a robust, open-source solution that prioritizes a natural, instant conversational experience. By leveraging Joint Embedding Vectors and VoiceGraph, it bypasses the inherent latency of LLM token generation for routing, delivering sub-10ms decision times that feel truly instantaneous.

For developers building the next generation of voice assistants, customer service bots, or interactive voice experiences, Felona Voice provides the foundational technology to create applications that are not just smart, but also genuinely pleasant and efficient to use.


Ready to build ultra-low-latency voice agents?

🌟 Star the repository on GitHub: github.com/mohitjoer/felona_voice 📦 Install via npm: npm install felona-voice 📖 Explore full documentation: felona-voice.mohitjoe.tech/docs

Open Source Voice AI Framework

Build with Felona Voice Today

Cut speech turnaround latency from 1,200ms to sub-10ms. Eliminate hallucinations with deterministic JEV state machines and native audio streaming adapters.

Star on GitHubRead Docs