Inside Native Speech-to-Speech Architectures

10 min read Module 6 of 9 Topic 16 of 25

What you'll learn

  • Explain how native speech-to-speech models process audio as tokens without an intermediate text transcript
  • Compare cascaded pipelines (STT -> LLM -> TTS) against native speech-to-speech on latency and expressiveness
  • Identify what a native model gains in prosody and emotional nuance versus a cascaded pipeline
  • Describe the tradeoffs in control, observability, and tool-calling that come with adopting a native model
Building this at your company? For enterprise and company teams taking this to production: book a 30-minute session with our AI engineers for architecture guidance, code review, and a rollout plan for your use case.
Book a Team Session

Every lesson before this one assumed a cascaded architecture: a dedicated STT model converts speech to text, a text-based LLM reasons and generates a response, and a dedicated TTS model converts that response back to speech, three specialized models wired together in series. That’s still the dominant production pattern, and for good reason, but it’s not the only one. This lesson opens the module on native speech-to-speech models, a genuinely different architecture where a single model consumes audio and produces audio, with no separate transcription step in between, and understanding how that changes the game is essential before you build against one in the next two lessons.

What “native” actually means

In a cascaded pipeline, audio in and audio out are handled by three independently trained models that never see each other’s internal representations, only the flattened text that passes between them. A native speech-to-speech model, by contrast, is trained to process audio as tokens directly, similar in spirit to how a text LLM processes word or subword tokens, and to generate audio tokens directly as output, without ever materializing an intermediate plain-text transcript as part of its core generation path. Models like OpenAI’s gpt-realtime and Google’s gemini-2.5-flash-native-audio-preview-09-2025 are built this way: audio goes in, the model reasons about it, and audio comes out, all inside a single forward pass through one model rather than three round trips through three.

flowchart TB
    subgraph CASCADE["Cascaded pipeline"]
        A1["User audio"] --> STT1["STT model\ntext transcript"]
        STT1 --> LLM1["LLM\ntext response"]
        LLM1 --> TTS1["TTS model\naudio output"]
    end

    subgraph NATIVE["Native speech-to-speech"]
        A2["User audio tokens"] --> M["Single model\naudio tokens in -> audio tokens out"]
        M --> OUT["Audio output"]
    end

    style A1 fill:#EEF0F7,stroke:#6366F1,color:#0F172A
    style STT1 fill:#f0fdf9,stroke:#0D9488,color:#0F172A
    style LLM1 fill:#f0fdf9,stroke:#0D9488,color:#0F172A
    style TTS1 fill:#f0fdf9,stroke:#0D9488,color:#0F172A
    style A2 fill:#EEF0F7,stroke:#6366F1,color:#0F172A
    style M fill:#f0fdf9,stroke:#0D9488,color:#0F172A
    style OUT fill:#fff7ed,stroke:#f59e0b,color:#0F172A

What this buys you: latency and expressiveness

Two benefits fall directly out of collapsing three models into one. First, latency: a cascaded pipeline pays a serial hand-off cost at every boundary, STT has to finish (or at least produce a usable partial) before the LLM can meaningfully begin, and the LLM has to produce text before TTS can start synthesizing it, even with the streaming and chunking techniques from Module 4 smoothing that over. A single native model removes two of those hand-offs entirely, generating audio output as a direct continuation of processing audio input, which is a meaningfully different latency profile, not just an incremental improvement.

Second, and arguably more important for how the assistant actually feels to talk to: expressiveness. A cascaded pipeline’s LLM stage only ever sees flattened text, “that’s not what I meant,” with no signal about whether that was said flatly, sarcastically, or with real frustration, because STT’s entire job is to discard everything except the words. A native model conditions directly on the acoustic signal, so pacing, hesitation, pitch, and emphasis remain available information the model can use both to understand intent and to shape the prosody of its own response, producing audio that can pick up on and mirror emotional tone in a way a cascaded pipeline structurally cannot, no matter how good its individual TTS engine is.

What it costs you: control and observability

The same collapse that buys latency and expressiveness takes away something cascaded architectures give you almost for free: a legible, independently inspectable intermediate representation. In a cascaded pipeline, the text transcript between STT and LLM is a first-class artifact you can log, audit, redact, or even edit before it reaches generation, which matters enormously for compliance-sensitive domains like healthcare or financial services where “what exactly did the system believe the user said” needs to be a queryable fact, not an inference. Native models don’t expose an equivalent artifact as part of their core path, since there’s no separate transcription stage to intercept.

The same applies to swappability: a cascaded pipeline lets you upgrade just the STT model when a better one ships, or switch just the TTS engine when you need different voice characteristics, without touching the other two stages, because they’re genuinely independent components. A native model is one model; improving its transcription accuracy or its voice quality means waiting for the vendor’s next checkpoint, not swapping a component yourself.

An open-weight option: Moshi

gpt-realtime and Gemini Live are both closed, hosted models. Kyutai Labs’ Moshi, released as open weights in 2024 alongside its underlying Mimi neural audio codec, is a genuine native speech-to-speech model you can run yourself: a roughly 7B-parameter model trained to listen and speak in full duplex, processing two audio streams simultaneously rather than waiting for a turn boundary, and small enough to run inference on a single consumer-grade GPU. It won’t match gpt-realtime or Gemini Live on general reasoning depth or tool-calling sophistication, both are trained at frontier scale with far more parameters behind the reasoning, but it’s a real option when self-hosting, data residency, or per-minute cost independence matter more than best-in-class conversational intelligence, and it’s the clearest evidence that the native speech-to-speech architecture in this lesson isn’t limited to a handful of closed vendors.

Tool-calling and control flow

Both architectures support tool-calling, letting the model invoke functions like looking up an order or checking a calendar mid-conversation, but the mechanics differ. Cascaded pipelines route tool calls through the same text-based LLM interface every other lesson in this course has used, meaning existing tool-calling code, prompt patterns, and debugging habits transfer directly. Native speech-to-speech models like gpt-realtime support tool-calling within the realtime session itself, but because the underlying reasoning happens over audio tokens rather than an inspectable text stream, tracing exactly why the model chose to call a given tool at a given moment is less transparent than in a cascaded architecture, where you can point at the literal text the LLM saw and generated. Neither gap is disqualifying, but both are real, and they’re exactly the tradeoffs the next two lessons will walk through hands-on as we build against gpt-realtime and Gemini Live directly.

Knowledge Check

3 questions to test your understanding

1 A team that has spent five modules building a cascaded STT -> LLM -> TTS pipeline is evaluating whether to migrate to gpt-realtime. What's the most accurate way to characterize the tradeoff they're making?

2 A cascaded pipeline transcribes 'that's... that's not what I meant' with STT, and the LLM sees only the flat text, losing the hesitation and frustration in the speaker's voice. How does a native speech-to-speech model handle this differently?

3 A team building a regulated financial services voice assistant needs to log the exact text the assistant 'believed' the user said, for compliance audits, and needs to easily swap in a specialized domain-tuned STT model. Which architecture better fits this requirement?

Discussion

Questions and notes from learners on this topic

Loading discussion…

Go further with expert guidance

Ready to build production AI?
Talk to our R&D team.

These courses give you the foundation. Our embedded AI teams take you from prototype to production in 30–90 days, with your team, your codebase, your goals. Book a free strategy call to see how we can accelerate your AI initiative.

30 minutes · No obligation · Expert AI engineers, not sales reps

AI Architecture Review

Audit your current stack and identify high-impact improvements

Project Review

Get expert feedback on your AI implementation and codebase

Team Mentoring

Upskill your engineers with hands-on AI coaching sessions

AI Strategy

Define your AI roadmap, prioritization, and implementation plan