Building Production-Ready Conversational AI Voice Agents: Latency, Voice Quality, and Integration Challenges

deepgram · Tech · 2024 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.5 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Real-time conversational AI voice agents

Deepgram needed to explain and support production voice-agent systems where speech-to-text, endpoint detection, LLM response generation, chunking, and text-to-speech must work together under extremely tight latency and naturalness constraints.

Constraints:

Architecture

Deepgram frames conversational voice agents as a real-time pipeline: a customer speaks through a phone or similar interface, speech-to-text transcribes the audio, endpoint detection decides when the user is done speaking, an LLM generates a response, chunking logic streams the output into text-to-speech, and the resulting voice is delivered back to the caller. Production quality depends on optimizing the whole pipeline for latency, voice prosody, conversational prompting, filler words, pauses, and use-case-specific voice selection.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  caller[Caller] --> voice-channel[Voice channel]
  voice-channel --> speech-to-text-transcriber[Speech-to-text transcriber]
  speech-to-text-transcriber --> endpoint-detector[Endpoint detector]
  endpoint-detector --> llm-response-generator[LLM response generator]
  speech-to-text-transcriber --> llm-response-generator
  llm-response-generator --> conversational-prompt-layer[Conversational prompt layer]
  conversational-prompt-layer --> chunking-and-streaming-bridge[Chunking and streaming bridge]
  llm-response-generator --> chunking-and-streaming-bridge
  chunking-and-streaming-bridge --> text-to-speech-renderer[Text-to-speech renderer]
  voice-persona-configuration[Voice persona configuration] --> text-to-speech-renderer
  text-to-speech-renderer --> voice-channel
  llm-response-generator --> human-handoff[Human handoff]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Caller Customer or user speaking to the voice agent for support, appointments, sales, interviews, or other phone-like interactions. Voice channel
Voice channel Phone or audio interface that carries caller speech into the agent and returns generated speech. Caller, Speech-to-text transcriber, Text-to-speech renderer
Speech-to-text transcriber Deepgram transcription layer that converts spoken input into text and can supply endpointing signals. Voice channel, Endpoint detector, LLM response generator
Endpoint detector Audio-aware detector that decides whether a user has stopped speaking or is pausing to think. Speech-to-text transcriber, LLM response generator
LLM response generator Language model that processes the transcribed user request and generates the agent response text. Speech-to-text transcriber, Endpoint detector, Conversational prompt layer, Chunking and streaming bridge
Conversational prompt layer Prompt and output-formatting layer that asks the model to speak conversationally and include pauses or filler words where appropriate. LLM response generator, Chunking and streaming bridge
Chunking and streaming bridge Logic that groups LLM tokens, words, or sentences before passing them to text-to-speech, balancing latency against voice quality. LLM response generator, Text-to-speech renderer
Text-to-speech renderer Deepgram Aura or another voice model that converts generated text chunks into spoken audio. Chunking and streaming bridge, Voice channel, Voice persona configuration
Voice persona configuration Brand, reference voice, tone, emotion, accent, and demographic choices used to select or tune the conversational voice. Text-to-speech renderer
Human handoff Human support agent who can receive triaged information after the AI agent collects initial context. LLM response generator

Data flow

The caller speaks through the voice channel. Deepgram speech-to-text transcribes the audio and endpointing decides when the caller has finished. The LLM generates a response, conversational prompting adjusts the style for speech, chunking logic streams words or sentences into text-to-speech, and the rendered audio is returned to the caller. In support triage, the AI collects information before passing the caller to a human.

3 supporting quotes
“you have a customer that dials through let's say the phone and then it will have a transcription of the voice into text”transcript, stated
“maybe processed to sent to an llm and then um it will generate some responses that will then turn into speech that's delivered back to the customer”transcript, stated
“there may be a triage phase where um the user will first talk to an AI agent first to collect all the information before it's passed on to a human agent”transcript, stated

Why this architecture

Voice agents need a pipeline architecture because LLMs alone do not solve conversational timing, audio endpointing, voice quality, or speech naturalness. Each stage has to be tuned for the real-time user experience: when to listen, when to respond, how quickly to speak, how natural the voice sounds, and how written LLM output is transformed for audio.

4 supporting quotes
“when we have both text to speech and speech to text we can greatly improve the conversational experience as we move forward so what is a conversational AI voice agent um you can imagine that on the right there is an llm you have a customer that dials through”transcript, stated
“this is still a little bit far off if you include an llm as many of us have tried out with llm with a latency but this is where um humans will feel a difference and this is where we're aiming at so some other tips that I'll share in this um presentation”transcript, stated
“be more chopped up as well it also depends on the model the second is with quality and so LM outputs by default don't sound like a conversation and so I mentioned in the past on some things that I've seen users working on is um playing around with the prompt and output”transcript, stated
“think it's to do with an appropriate like let's say a user user is talking when it's and and it also isn't just an llm task it depends on the user's tone so let's say you're detecting if a human saying and then like thinking or like or like it's it's a little bit like it wants”transcript, stated

Models used: Deepgram speech-to-text · Deepgram Aura · LLMs · Text-to-speech models

Scale

Alternatives considered (roads not taken)

Treat endpoint detection as a text-only LLM classification task

Rejected because: The speaker says endpointing depends on tone and whether a pause means thinking or completion, so text alone is insufficient.

3 supporting quotes
“isn't that can't you just use like a prob isn't a probalistic task for an llm isn't that sufficient to figure that out like what is what makes that task difficult um so I think it's to do with an appropriate like let's say a user user is talking when it's”transcript, stated
“think it's to do with an appropriate like let's say a user user is talking when it's and and it also isn't just an llm task it depends on the user's tone so let's say you're detecting if a human saying and then like thinking or like or like it's it's a little bit like it wants”transcript, stated
“or like or like it's it's a little bit like it wants to continue it actually is less than it's not only a text problem yeah yeah yeah uh one more thing here how about slang is there a way to incorporate slang into this do you have like different”transcript, stated

Send LLM output to TTS word by word

Rejected because: Per-word streaming may reduce latency but can make output sound chopped up, so chunking must balance latency and quality.

“llms are autore regressive outputting word by word and so how should we think about um chunking these words and sentences together”transcript, stated
“if you're just sending out per word um there are cases that maybe um the output could be more chopped up as well it also depends on the model the second is with quality and so LM outputs by default don't sound like a conversation and so I mentioned in the”transcript, stated

Use a generic TTS voice regardless of use case

Rejected because: Voice models are optimized for different domains, and conversational agents need voices optimized for dialogue.

3 supporting quotes
“there are different types of voices out there with text of speech from different vendors some may be optimized for for example movie narration some may be optimized for reading reading a news article um some may be optimized for uh an ad in a video um for”transcript, stated
“some may be optimized for for example movie narration some may be optimized for reading reading a news article”transcript, stated
“we are looking into um voice qualities that can make a conversation sound like a conversation so it it sounds as if you're talking to a person who's themselves um talking about um your daily life questions typical conversations and so we care a lot about”transcript, stated

Use written-style LLM output directly as speech

Rejected because: LLM outputs do not naturally sound conversational, so prompts, pauses, filler words, and output formatting are needed.

3 supporting quotes
“be more chopped up as well it also depends on the model the second is with quality and so LM outputs by default don't sound like a conversation and so I mentioned in the past on some things that I've seen users working on is um playing around with the prompt and output”transcript, stated
“we've seen from our users um playing around with conversational AI agents is that they would ask the llm to speak in as if they are speaking a conversation um you can also add pauses so for example three dots like dot dot dot and you can see some vendors having breaths having”transcript, stated
“agents is that they would ask the llm to speak in as if they are speaking a conversation um you can also add pauses so for example three dots like dot dot dot and you can see some vendors having breaths having like pauses and all of that and you can also try figuring out um filler”transcript, stated

Pick slang only by changing words

Rejected because: The speaker notes slang must also fit accent and training data, not just vocabulary.

3 supporting quotes
“there other things you can do to just like change the actual like words that are used yes you can change the words that are used um you can but um I think the the the technology is still developing on okay based on an llm output how can you actually”transcript, stated
“there are prompts that you can do but um it also can start from for slangs like it has to it sounds real when it's in the accent together with a slang and so there's a lot that also from the data set side of things that you can work on as well awesome uh Michelle thank you”transcript, stated
“when it's in the accent together with a slang and so there's a lot that also from the data set side of things that you can work on as well awesome uh Michelle thank you very much drop us the link stay in the chat please uh and uh keep up the good work thanks for [Music] [Applause] [Music] coming”transcript, stated

Patterns

latency-optimization (production-operations)

Deepgram treats latency as a primary production constraint, targeting sub-300ms conversational interaction and under-250ms TTS for Aura.

“The Benchmark we we can look into um this is still a little bit far off if you include an llm”transcript, stated
“Aura you can check out this Aura preview announcement I can share the link with the team to share it out um that we're targeting low latency under 250 milliseconds um conversational voice and a comparable go cost as well so if you're interested in a preview feel free to email me um but yeah thank”transcript, stated

tool-use-orchestration (architecture)

The voice agent composes multiple tools and services: speech-to-text, endpointing, LLM generation, chunking, text-to-speech, and optional human handoff.

3 supporting quotes
“when we have both text to speech and speech to text we can greatly improve the conversational experience”transcript, stated
“transcription of the voice into text um maybe processed to sent to an llm”transcript, stated
“it will generate some responses that will then turn into speech that's delivered back to the customer”transcript, stated

model-routing (model-operations)

Teams must choose text-to-speech voices by use case, such as narration, news, ads, or conversational dialogue, rather than treating all TTS models as interchangeable.

3 supporting quotes
“there are different types of voices out there with text of speech from different vendors”transcript, stated
“may be optimized for for example movie narration some may be optimized for reading reading a news article um some may be optimized for uh an ad in a video um for deep gram um we are looking into um voice qualities that can make a conversation sound like a conversation so it it sounds as if”transcript, stated
“voice qualities that can make a conversation sound like a conversation”transcript, stated

prompt-chaining (prompt-architecture)

Builders prompt the LLM to generate speech-like responses and then pass the formatted output through a chunking and TTS stage.

“locations so what we've seen from our users um playing around with conversational AI agents is that they would ask the llm to speak in as if they are speaking a conversation um you can also add pauses so for example three dots like dot dot dot and you can see some vendors having breaths”transcript, stated
“playing around with the prompt and output and pauses and everything so that um it sounds more natural”transcript, stated

human-in-the-loop-gate (workflow)

In customer support triage, the voice agent collects information first and then passes the conversation to a human agent.

“the user will first talk to an AI agent first to collect all the information before it's passed on to a human agent”transcript, stated

Tradeoffs

Balance chunk size against latency

Chose Chunking words and sentences before TTS over Sending every generated word immediately.

Rationale: Immediate per-word output can reduce latency but may degrade voice quality; chunking needs to match the data and model.

3 supporting quotes
“how should we think about um chunking these words and sentences together”transcript, stated
“yourself depending on your conversational data on some logic that you'd like to work on to chunk them together to optimize for the latency and also the quality of the voice because um if you're just sending out per word um there are cases that maybe um the output could be more chopped up as well it”transcript, stated
“if you're just sending out per word um there are cases that maybe um the output could be more chopped up”transcript, stated

Use conversational voice models

Chose Voice quality tuned for dialogue over Narration/news/ad-oriented TTS voices.

Rationale: Conversational agents need rhythm, pitch, intonation, pauses, and persona choices that make the voice feel like spoken interaction.

“in the research world we call this Pro which includes the naturalness in speech including Rhythm pitch intonation and pauses”transcript, stated
“we care a lot about this aspect of the voice quality as we design a product”transcript, stated

Preserve natural disfluencies

Chose Pauses, filler words, breaths, and conversational prompts over Clean written-style output.

Rationale: For voice, some elements that look messy in text can make the spoken result more natural.

“what makes human conversations natural is things like um uh I'm als also having a lot of arms right now and breaths like thinking time”transcript, stated
“conversational AI agents is that they would ask the llm to speak in as if they are speaking a conversation um you can also add pauses so for example three dots like dot dot dot and you can see some vendors having breaths having like pauses and all of that and you can also try figuring out um”transcript, stated

Use speech endpointing rather than only text reasoning

Chose Audio-aware endpoint detection over LLM-only probabilistic stop detection.

Rationale: Tone and spoken pause patterns determine whether a caller is done speaking, so audio features matter.

“difficult um so I think it's to do with an appropriate like let's say a user user is talking when it's and and it also isn't just an llm task it depends on the user's tone so let's say you're detecting if a human saying and then like thinking or like or like it's it's a little bit like it wants to”transcript, stated
“then like thinking or like or like it's it's a little bit like it wants to continue it actually is less than it's not only a text problem yeah yeah yeah uh one more thing here how about slang is there a way to incorporate slang into this do you have like different yeah like how do you how do you”transcript, stated

Gotchas (what bit them)

The LLM latency budget is too high for natural voice conversation unless the whole pipeline is optimized.

Root cause: Human two-way conversation becomes perceptibly slow around the 300ms mark, but voice agents include STT, LLM, chunking, TTS, and audio delivery.

Resolution: Optimize latency across the full pipeline and use low-latency TTS/streaming strategies.

“300 millisecond latency is um The Benchmark we we can look into”transcript, stated
“conversational um twers conversation a 30 millisecond 300 millisecond latency is um The Benchmark we we can look into um this is still a little bit far off if you include an llm as many of us have tried out with llm with a latency but this is where um humans will feel a difference and this is where”transcript, stated

Endpoint detection is subtler than end-of-sentence detection.

Root cause: A user may pause to think, trail off, or continue a thought; text alone misses tone and spoken intent.

Resolution: Use speech-aware endpointing in the transcription pipeline instead of treating it as only an LLM text task.

3 supporting quotes
“how do we know when the human stops talking because that's also a very nuanced question”transcript, stated
“it can depend on for example the tone of the person the context the the last sentence”transcript, stated
“like endp pointing um this is what we would typically call when we are figuring out how to solve this problem so deep gram speech to text also offers an endp pointing and you can use that as part of your transcription to know whether um the person is uh stops talking the third thing that is”transcript, stated

Per-word streaming can make generated speech sound chopped up.

Root cause: LLMs emit tokens autoregressively, but TTS quality depends on receiving enough text context for natural prosody.

Resolution: Tune chunking logic based on conversational data and the specific model combination.

3 supporting quotes
“that I mentioned just now with the last few slides some of the tips are um with latency is that as we all know llms are autore regressive outputting word by word and so how should we think about um chunking these words and sentences together and send this to an llm some vendors may offer real time”transcript, stated
“you can also figure out yourself depending on your conversational data on some logic that you'd like to work on to chunk them together”transcript, stated
“the output could be more chopped up as well it also depends on the model”transcript, stated

Written LLM output sounds unnatural when spoken.

Root cause: Default model text is not optimized for prosody, pauses, filler words, or spoken rhythm.

Resolution: Prompt for conversational speech and use pauses, filler words, breaths, and voice-specific formatting where the TTS system supports it.

3 supporting quotes
“um the output could be more chopped up as well it also depends on the model the second is with quality and so LM outputs by default don't sound like a conversation and so I mentioned in the past on some things that I've seen users working on is um playing around with the prompt and output and”transcript, stated
“filler wordss so a little bit um different from let's say a text of speech reading from a news article”transcript, stated
“speaking a conversation um you can also add pauses so for example three dots like dot dot dot and you can see some vendors having breaths having like pauses and all of that and you can also try figuring out um filler Woods as well so this is also another aspect um and then so working with”transcript, stated

A voice optimized for the wrong medium can harm conversational quality.

Root cause: TTS vendors optimize models for narration, news, ads, or conversation, and those use cases need different prosody.

Resolution: Select voice models and persona characteristics for the target conversation, audience, accent, tone, and brand.

“some may be optimized for for example movie narration some may be optimized for reading reading a news article”transcript, stated
“what are the voice branding guidelines you're looking into what are some reference voices”transcript, stated

Evaluation

The talk frames evaluation around real-time user experience rather than offline model accuracy alone: latency against a 300ms conversational benchmark, endpoint-detection correctness, TTS voice quality/prosody, chunking quality, and whether spoken LLM output feels natural in representative voice-agent use cases.

Metrics: End-to-end latency · TTS latency · Endpoint detection correctness · Voice naturalness · Prosody · Rhythm · Pitch · Intonation · Pause placement · Chunking quality · Conversation handoff quality

3 supporting quotes
“bit slow and the research results show that ideally in a conversational um twers conversation a 30 millisecond 300 millisecond latency is um The Benchmark we we can look into um this is still a little bit far off if you include an llm as many of us have tried out with llm with a latency but”transcript, stated
“deep gram speech to text also offers an endp pointing and you can use that as part of your transcription to know whether um the person is uh stops talking the third thing that is important in a conversational AI experience is voice quality and in the research world we call this Pro which”transcript, stated
“voice quality and in the research world we call this Pro which includes the naturalness in speech including Rhythm pitch intonation and pauses”transcript, stated

Outcomes

The source reports clients such as Spotify and NASA as transcribed, several years of speech-to-text leadership, appointment/support/sales/interview use cases, a 300ms conversational latency benchmark, and an Aura target under 250ms, but does not publish independent benchmark tables.

3 supporting quotes
“to speech product Aura deep gram has been a leader in the transcriptions uh um space in the last few years and we are launching a new product with text to speech um so these are some of the clients that deep gram is working with including Spotify nza T Etc and the reason why we're building text of”transcript, stated
“when we have both text to speech and speech to text we can greatly improve the conversational experience”transcript, stated
“Aura you can check out this Aura preview announcement I can share the link with the team to share it out um that we're targeting low latency under 250 milliseconds um conversational voice and a comparable go cost as well so if you're interested in a preview feel free to email me um but yeah thank”transcript, stated