Contents
  1. Spoken interaction and shared understanding
  2. Speech, text, and response boundaries
  3. Audio samples, frames, and media clocks
  4. Recognition as a revisable interpretation
  5. Speech synthesis and audible commitment
  6. Acoustic conditions and echo control
  7. Concurrent conversation state
  8. Turn completion and interruption intent
  9. Cancellation and playback reconciliation
  10. Conversational repair and user control
  11. Conversational latency boundaries
  12. Continuous playback and bounded queues
  13. Correlated evidence across audio and model events
  14. Speech and turn-behavior diagnostics
  15. Temporal failure and recovery tests
  16. Useful interaction under realistic conditions
  17. Check understanding
  18. Open questions
  19. Selected talks
  20. References
  21. Talk library
← All topics

Voice and Real-Time AI

Voice systems operate while people are still speaking, interpretations are changing, and earlier responses are playing. A usable conversation requires more than accurate words or fast generation: the system must preserve timing, yield appropriately, repair misunderstanding, and distinguish prepared output from sound already delivered.

Spoken interaction and shared understanding

Turn-taking coordinates who speaks and when. Grounding establishes shared understanding; repair corrects misunderstanding. These processes connect recognized words to an interpreted request and a response the person can use. The dialogue-systems foundation distinguishes accumulated meaning from individual utterances.

A directions assistant receives a request, encounters a hesitation, and starts answering. The person then corrects the destination. Assume route computation is available; the interaction performs no external action. The table separates what was said from what the system must establish. Its conversational consequences need no invented timing measurements.

ExchangeRequired interpretation
Person requests directions, then pauses while recalling the destination.A pause does not establish a completed request.
Assistant begins an answer based on Oakland.The answer follows the current interpretation, which may be wrong.
Person corrects the destination to Auckland.Replace the destination while retaining valid information, such as the origin.
Assistant acknowledges the correction and resumes appropriately.Successful repair combines corrected information with manageable repetition.

Speech, text, and response boundaries

Automatic speech recognition, or ASR, maps speech to text. Text to speech, or TTS, produces spoken audio from text. A cascade places a text response generator between them. Direct speech-to-speech processing instead accepts and produces audio through learned representations, changing the interfaces available for inspection and control.

BoundaryCascadeDirect audio
Intermediate textRecognized words and response text are explicit interfaces.Transcript availability and its relationship to model input require a separate contract.
Component reuseAn existing text agent can receive recognition output.Existing text capabilities may require a separate integration.
Audible informationPlain text can omit stress, rhythm, and vocal events.Audio access permits using these cues; successful interpretation still needs testing.

Two paths from input to output audio

Text conversion creates inspectable boundaries; direct audio changes where those boundaries occur.

The cascade exposes recognized and generated text. The direct path leaves internal representations unspecified. Both produce audio that still needs playback and interruption handling.
Read the diagram as text
  • Input audio.
  • Speech recognition.
  • Text response generation.
  • Speech synthesis.
  • Direct audio processing.
  • Output audio.
  • Input audioSpeech recognition: audio.
  • Speech recognitionText response generation: recognized text.
  • Text response generationSpeech synthesis: response text.
  • Speech synthesisOutput audio: synthesized audio.
  • Input audioDirect audio processing: audio.
  • Direct audio processingOutput audio: generated audio.

If ASR substitutes Oakland for Auckland, response selection can produce coherent directions for the wrong destination, and TTS can pronounce them perfectly. Inspecting the text boundary helps locate the substitution. More generally, representation loss determines what remains available downstream; output decoding determines how a model representation becomes usable media.

Half-duplex interaction alternates listening and speaking; full-duplex interaction allows both simultaneously. Speech-to-speech describes processing structure, not duplex behavior. A model can accept audio directly yet still wait for an endpoint before answering. Conversely, simultaneous audio streams do not establish reliable interruption, useful answers, or correct recovery.

Audio samples, frames, and media clocks

A waveform represents signal amplitude over time. Sampling measures it at discrete times; quantization assigns representable amplitude values. Sample rate counts measurements per second per channel, and channels carry separate signals. Pulse-code modulation, or PCM, stores quantized samples. A codec encodes and decodes audio, often using compression. The speech-feature foundation explains these units.

T=NfsT=\frac{N}{f_s} Here NN is the sample count per channel and fsf_s is samples per second. At 16 kHz, 400 samples cover 25 ms; advancing 160 samples moves 10 ms. Overlapping analysis frames describe local sound, not word or turn boundaries.

Preserve source time through transport

Repackaging and delayed arrival do not change the source interval.

One captured interval becomes samples, grouped audio, and packets. Packet order and source timestamps support reconstruction; arrival and playback remain separate observations.
Read the diagram as text
  • Captured interval.
  • Samples with format and rate.
  • Grouped audio frames.
  • Encoded packets.
  • Receiver ordering.
  • Playback observation.
  • Captured intervalSamples with format and rate: sample source signal.
  • Samples with format and rateGrouped audio frames: group source intervals.
  • Grouped audio framesEncoded packets: encode and packetize.
  • Encoded packetsReceiver ordering: sequence and source time.
  • Receiver orderingPlayback observation: schedule output.

Frame has several meanings. A sample frame contains one simultaneous sample from every channel. A processing frame groups samples for an algorithm; a codec frame groups encoded audio; a packet carries transport data. Their boundaries need not coincide. Preserving source intervals through these transformations is an application of temporal correspondence.

For a 16 kHz, two-channel, 16-bit PCM stream, one sample frame occupies 2×16/8=42\times16/8=4 bytes; one second represents 64,000 bytes. Under the WAVEFORMATEX contract, transfers must begin on block boundaries and contain complete blocks. These fields alone do not specify every detail of byte interpretation.

The selected Windows PCM packing uses signed 16-bit little-endian values, interleaved left then right. The bytes 00 80 FF 7F therefore encode one sample frame: left = −32768, right = 32767. Little-endian means the low byte comes first. PCM alone is insufficient: the same documentation defines 8-bit samples as unsigned.

Interpreting 48,000 unchanged mono samples at 24 kHz instead of 48 kHz changes duration from one second to two; at unit playback rate, frequencies halve. Resampling instead constructs samples on a new time grid: one second at 24 kHz contains 24,000 samples. Changing the declared rate is not conversion. The Web Audio specification distinguishes these operations.

In RTP, sequence numbers track packet order; timestamps identify source sampling instants using the payload clock. Arrival and playback occur later. Different streams can have different clock rates and offsets, so cross-stream timing needs an explicit mapping. A packet timestamp alone does not establish wall-clock time or device playback.

Recognition as a revisable interpretation

Recognition combines acoustic evidence with learned language regularities. Acoustic features summarize short signal intervals; decoding selects candidate output sequences. Spoken words do not arrive as neatly separated packets. Whisper, for example, maps log-Mel features—compressed measurements of energy across frequency bands—to text and task tokens; its transcription, translation, and timestamp outputs serve different purposes.

Connectionist Temporal Classification, or CTC, illustrates the alignment problem. It predicts labels and a blank symbol across acoustic steps. The path A, A, blank, B, B collapses to AB by merging consecutive repetitions and removing blanks. Multiple paths can represent the same output. CTC does not itself guarantee streaming, accurate word timestamps, or conversational completion.

One input, changing interpretations

Example

Finalization closes a result; it does not certify correctness.

1 / 3 · Partial

Preparation begins provisionally.

U1 persists while additional audio changes Oakland to Auckland. The old draft becomes obsolete. Finalization records the second hypothesis without proving it correct.
Read the diagram as text
  • Input U1.
  • Audio prefix A.
  • Longer audio prefix B.
  • Hypothesis v1: Oakland.
  • Hypothesis v2: Auckland.
  • Oakland response draft.
  • Draft obsolete.
  • v2 finalized.
  • Input U1Audio prefix A: contains.
  • Input U1Longer audio prefix B: contains.
  • Audio prefix AHypothesis v1: Oakland: interpreted as.
  • Longer audio prefix BHypothesis v2: Auckland: interpreted as.
  • Hypothesis v1: OaklandOakland response draft: conditions.
  • Oakland response draftDraft obsolete: revision invalidates.
  • Hypothesis v2: Aucklandv2 finalized: segment closes.
  1. Partial. Preparation begins provisionally. Active: Input U1, Audio prefix A, Hypothesis v1: Oakland, Oakland response draft. New: Input U1, Audio prefix A, Hypothesis v1: Oakland, Oakland response draft.
  2. Revised. More audio changes the destination; history remains visible. Active: Input U1, Audio prefix A, Hypothesis v1: Oakland, Oakland response draft, Longer audio prefix B, Hypothesis v2: Auckland, Draft obsolete. New: Longer audio prefix B, Hypothesis v2: Auckland, Draft obsolete.
  3. Finalized. The final-result state is added separately. Active: Input U1, Audio prefix A, Hypothesis v1: Oakland, Oakland response draft, Longer audio prefix B, Hypothesis v2: Auckland, Draft obsolete, v2 finalized. New: v2 finalized.

A partial hypothesis is a provisional transcription. A stable prefix is text retained through later hypotheses; estimated stability predicts that persistence, not correctness. Waiting for stronger stability adds lag. Recognition can therefore support early response preparation, but a draft based on an unsettled destination must remain replaceable.

A final segment closes a recognizer's result. It need not close the person's thought. Amazon Transcribe separately exposes segment finalization and fixed items under stabilization. A service-guaranteed fixed item and an estimated stable prefix have different contracts; neither means the words are correct.

Contextual biasing favors vocabulary relevant to the conversation. It can narrow candidate destinations or specialized names, but expected words can also bias interpretation incorrectly. Short answers deserve particular attention because they contain little redundancy. One clinical implementation rescores single-word replies using conversation context; its examples include confusions between a number and a similar-sounding word.

Test names, numbers, accents, code-switching—changing languages within an exchange—and missing or delayed transcripts. Timestamp and confidence availability are model-specific. When a confidence score exists, validate what it predicts: word correctness, whole-utterance correctness, or correct task information. Probability calibration explains why fluent wording or high likelihood is insufficient.

Speech synthesis and audible commitment

Text normalization chooses spoken forms for written expressions such as numbers and dates. A conventional TTS system predicts an acoustic representation, then a vocoder converts that representation into waveform samples. Choosing the response's meaning is a separate operation.

Pronunciation maps selected words to speech sounds. A room number might be verbalized digit by digit; that choice precedes pronunciation. A lexicon stores pronunciations, while letter-to-sound rules can handle unfamiliar words. Festival's lexicon interface demonstrates this distinction without requiring every modern synthesizer to expose explicit phonemes.

From wording to playable sound

An acoustic representation still needs waveform decoding and playback.

This conventional functional decomposition separates verbalization, pronunciation, acoustic prediction, decoding, and delivery. Modern models can combine stages; codec-based generation uses a different representation path.
Read the diagram as text
  • Written response.
  • Spoken word forms.
  • Pronunciation and prosody.
  • Acoustic representation.
  • Vocoder.
  • Playable waveform.
  • Playback.
  • Written responseSpoken word forms: normalize.
  • Spoken word formsPronunciation and prosody: assign sound and delivery.
  • Pronunciation and prosodyAcoustic representation: predict acoustics.
  • Acoustic representationVocoder: condition decoding.
  • VocoderPlayable waveform: produce samples.
  • Playable waveformPlayback: render output.

Prosody comprises pitch, rhythm, stress, pauses, and speaking rate. Context can change pronunciation, as with present- and past-tense read, and delivery can change conveyed meaning. SSML defines pronunciation and prosody controls, but their interaction with a processor's automatic choices is implementation-dependent. Supported controls still require listening tests.

Codec-based generation predicts compact audio codes that a decoder turns into a waveform. The codes are representations, not playable sound. VALL-E illustrates this alternative and reports omitted or duplicated words, reinforcing the need to assess content fidelity separately from naturalness. A boundary error can also send delivery instructions to TTS as dialogue, causing them to be spoken aloud.

Incremental synthesis starts with a bounded text prefix. Smaller chunks permit earlier output but withhold context that may change pronunciation or phrasing; waiting for a phrase provides more context at the cost of delay. Lookahead experiments with Tacotron 2 found differences from full-context synthesis even with several following words. They do not establish a universal minimum lookahead.

Output stateWhat it establishes
Prepared textIntended wording exists; no speech delivery follows from that fact.
Synthesized or transmitted audioAudio exists or has been sent; it may still await playback.
Queued audioFuture output can still be discarded.
Played audioThe sound cannot be silently retracted; a content correction must be communicated.

Acoustic conditions and echo control

The microphone captures a mixture. Reverberation consists of delayed room reflections; greater microphone distance can reduce direct speech relative to reflected sound. Background noise and competing speakers introduce other interference. A headset evaluation therefore does not establish room-microphone performance: a reported meeting-transcription comparison found substantial degradation when the recording channel changed.

The REVERB report constructs room effects with measured impulse responses: recordings of how a room transforms sound. Its simulated distance comparisons hold signal-to-noise ratio, or SNR, at 20 dB. Across-room comparisons change more than reverberation time. These conditions support separating experimental factors, not a universal recognition penalty per metre.

Echo cancellation needs two inputs

The playback reference helps distinguish echo from new human speech.

One acoustic pass is shown. Playback reaches the microphone through the room and reaches the canceller digitally as a reference. Human speech remains desired input.
Read the diagram as text
  • Playback reference.
  • Loudspeaker and room.
  • Local human speech.
  • Background sound.
  • Microphone mixture.
  • Echo canceller.
  • Echo-reduced input.
  • Playback referenceLoudspeaker and room: digital playback.
  • Playback referenceEcho canceller: digital reference.
  • Loudspeaker and roomMicrophone mixture: acoustic echo.
  • Local human speechMicrophone mixture: acoustic speech.
  • Background soundMicrophone mixture: acoustic interference.
  • Microphone mixtureEcho canceller: digital capture.
  • Echo cancellerEcho-reduced input: subtract estimated echo.

Acoustic echo cancellation, or AEC, estimates and subtracts loudspeaker audio recaptured by the microphone. It needs the playback reference and its timing relative to capture. Speex's explanation describes an adaptive filter that learns this acoustic path; generated text cannot substitute for the actual reference signal.

Double-talk occurs when local speech and playback echo coexist in capture. Local speech can corrupt echo-filter adaptation. Freezing adaptation means retaining the existing filter, not muting the person or stopping subtraction. Otherwise, an echo-control strategy could suppress exactly the correction the assistant needs to receive.

OperationTarget and limitation
Echo cancellationUses capture and a timed playback reference. Missing reference information can leave the assistant's voice in its own input.
Noise suppressionTargets background noise. A historical WebRTC contract explicitly trades stronger suppression for greater speech distortion.
Automatic gain controlAdjusts capture level. Limiting and clipping-responsive gain reduction constrain overload; amplification cannot restore already-clipped samples.

Clipping is amplitude saturation: the capture path cannot represent larger peaks faithfully. A linear echo filter cannot remove arbitrary nonlinear distortion. Test the complete device path, including speakers; universal headphone use is not a dependable deployment assumption.

Concurrent conversation state

Listening, generation, and playback need independent state. Old response R1 may still be playing while new input U2 is captured. Generation may finish before playback finishes. A full-duplex model can process overlapping streams, but the application still needs identities and delivery records to interpret events correctly.

RecordPurpose
Input item and hypothesis versionAssociate partial and completed text with its input, even when different items complete out of order.
Response and audio-context identityAssociate generated chunks with the response that may accept them.
Chunk order and playback observationTrack pending output separately from supported delivery progress.
Transcript, interpreted destination, execution stateStore exchanges, their current meaning, and processing progress as distinct facts.

A displayed history may be a copy rather than the model's authoritative context. In the OpenAI workshop implementation, edits required events sent to the session. Changing a screen alone did not change subsequent model input. Streaming delivery and cancellation explains the underlying generation-versus-delivery distinction.

Context precision also depends on placement and capabilities. Pipecat documents its assistant context aggregator after transport output, where it receives text associated with speech progress. Word-level interruption updates require suitable service timing. Neither placement nor timestamps establish that a person attended to or understood the sound.

Turn completion and interruption intent

Voice activity detection, or VAD, estimates whether an interval contains speech. Endpointing closes an input segment. Turn completion decides whether the person is yielding. VAD controls can separate segmentation, response creation, and interruption behavior.

PolicyEvidence and tradeoff
Silence timeoutSimple and responsive with short waits, but a pause during recall can trigger a premature answer.
Semantic or acoustic completionUses wording or delivery cues. A user-only recognizer can lack the preceding assistant question.
Push-to-talkPress and release explicitly bound input. It requires an available, usable control and changes the interaction.

Completion and yielding are separate

Example

Starting an answer and interrupting one require different evidence.

This application policy shows one decision pass. Uncertain interruption intent pauses output for interpretation; explicit stop bypasses classification. Input remains available.
Read the diagram as text
  • Pause in user input.
  • Completion policy.
  • Continue capture.
  • Create response.
  • Input during playback.
  • Interruption policy.
  • Continue playback.
  • Stop or pause playback.
  • Pause in user inputCompletion policy: evaluate completion.
  • Completion policyContinue capture: unfinished or uncertain.
  • Completion policyCreate response: yield accepted.
  • Input during playbackInterruption policy: automatic detection.
  • Input during playbackStop or pause playback: explicit stop.
  • Interruption policyContinue playback: acknowledgment or unrelated.
  • Interruption policyStop or pause playback: redirect or uncertain.

A pause after a completed destination and an equally long pause while recalling one have different conversational meanings. Syntax, meaning, and prosody provide imperfect clues. Voice Activity Projection predicts future activity for both participants, distinguishing patterns associated with holding a turn, shifting it, or acknowledging the speaker. It predicts interaction structure rather than treating silence as proof.

Barge-in is speech during the assistant's answer, usually intended to interrupt or redirect. A backchannel is a brief acknowledgment that may let the answer continue. A short yeah can serve either role. Duration thresholds cannot reliably distinguish them; echo, unrelated speech, and another person's conversation add separate reasons for caution.

Explicit stop controls should bypass automatic intent classification. LiveKit's turn handling separates direct interruption, adaptive detection, and false-interruption recovery. Resuming after detected speech produces no transcript is a heuristic, not proof that nothing meaningful occurred.

Cancellation and playback reconciliation

Interruption must stop local playback, discard pending speech, request synthesis and generation cancellation, and prevent obsolete output from returning. Pipecat documents cancellation and queue cleanup across these stages. Those local operations do not acknowledge remote-provider termination. Preserve the new input while cleaning up the old response.

Response identity makes late-result rejection explicit. The following application sketch assumes callbacks and nonblocking local operations run serially on one event loop. Queued chunks retain their response IDs. A threaded implementation needs equivalent synchronization, and remote cancellation needs separate completion tracking.

Cancellation preserves known delivery

Example

A returned mark after clearing cannot certify complete playback.

1 / 4 · Playing

C1 completed; C2 remains pending.

C1 completed normally. C2 was pending during clear, so partial playback remains uncertain. R1 stays cancelled when a late callback arrives; U2 survives.
Read the diagram as text
  • Response R1.
  • Chunk C1.
  • Chunk C2.
  • Correction U2.
  • C1 normally acknowledged.
  • C2 pending before clear.
  • R1 cancelled.
  • C2 discarded; partial playout unknown.
  • Response R1Chunk C1: owns.
  • Response R1Chunk C2: owns.
  • Chunk C1C1 normally acknowledged: normal completion.
  • Chunk C2C2 pending before clear: prior state.
  • Correction U2R1 cancelled: interrupts R1.
  • Response R1R1 cancelled: new state.
  • Chunk C2C2 discarded; partial playout unknown: clear outcome.
  1. Playing. C1 completed; C2 remains pending. Active: Response R1, Chunk C1, Chunk C2, C1 normally acknowledged, C2 pending before clear. New: Response R1, Chunk C1, Chunk C2, C1 normally acknowledged, C2 pending before clear.
  2. Interrupted. U2 triggers cancellation. Active: Response R1, Chunk C1, Chunk C2, C1 normally acknowledged, C2 pending before clear, Correction U2, R1 cancelled. New: Correction U2, R1 cancelled.
  3. Cleared. C2's returned mark remains ambiguous. Active: Response R1, Chunk C1, Chunk C2, C1 normally acknowledged, C2 pending before clear, Correction U2, R1 cancelled, C2 discarded; partial playout unknown. New: C2 discarded; partial playout unknown.
  4. Late callback. Reject R1 output; retain all established state. Active: Response R1, Chunk C1, Chunk C2, C1 normally acknowledged, C2 pending before clear, Correction U2, R1 cancelled, C2 discarded; partial playout unknown. New: None.
Illustrative pseudocode Python-like pseudocode
def on_audio(chunk):
    if chunk.response_id != state.active_response:
        return
    output.enqueue_nowait(chunk)


def interrupt():
    old = state.active_response
    state.active_response = None
    player.stop_now()
    output.discard_response(old)
    request_remote_clear(old)
    request_generation_cancel(old)
    record_playback_boundary(old)
    # Input capture and its queue remain intact.

Playback ownership depends on transport. OpenAI Realtime conversations assigns WebSocket clients playback stopping and duration accounting, followed by item truncation. WebRTC and SIP use server-managed buffering and automatic truncation. The documented truncation boundary does not provide a precisely shortened transcript.

Twilio playback marks return after normal playback and after a clear discards buffered audio. Preserve mark order and clear history. A mark outstanding during clear cannot certify complete playback; the associated chunk may have played partially. Keep normally completed earlier marks distinct from this uncertainty.

Repair authoritative context using supported playback progress, not the complete generated answer. If precise alignment is unavailable, retain uncertainty about the suffix. Playback evidence concerns output, not attention or comprehension. This extends inference cancellation to a medium whose already-played content cannot be withdrawn.

Conversational repair and user control

Clarification requests missing or ambiguous information; confirmation checks an interpretation. Explicit confirmation asks the person to verify a destination. Implicit confirmation incorporates it into the next response while leaving room for correction. Once Auckland is unambiguous, replace the destination and retain the origin rather than restarting the conversation.

SituationRepair
Destination remains ambiguous.Ask for the city and country, targeting the unresolved distinction.
Correction is clear; earlier route advice was interrupted.Acknowledge Auckland and establish whether to restart the route or resume from a known point.
Repeated recognition attempts fail.Offer typed destination entry or push-to-talk if the person can use it.

An apology alone does not update the destination or establish what instructions were delivered. Repeated global confirmation can also increase effort. Repair succeeds when the misunderstanding is resolved and the conversation continues with an appropriate amount of repetition, not merely when the assistant produces a reassuring acknowledgment.

Microphone capture, processing, and playback indicators should reflect separate operations. Mute governs input; stop governs output; interrupted work needs its own status. Actual progress and control explains these interface obligations. Text and push-to-talk alternatives should remain usable through changing accessibility states, without assuming either mode suits everyone.

Conversational latency boundaries

The response gap runs from actual end of user speech to the first response audio played. It includes capture, transport, processing, and playback effects. Model time to first token measures an intermediate boundary. Serving measurement conventions likewise require explicit start and end events.

The accompanying example timeline uses these boundaries.
EventExample timeInterpretation
User finishes1,000 msStart of the audible response-gap measurement.
Completion decision1,200 msThe application permits response generation.
First response text1,300 msSynthesis can start while generation continues.
First playable audio1,400 msA chunk exists; device output has not started.
First audio played1,500 msResponse gap is 500 ms.

Overlap determines the response gap

Example timings

Recognition and synthesis need not wait for preceding streams to finish.

Interaction02,400 msDuration 2,400 ms
User speech and capture01,000 msDuration 1,000 msWithin Interaction
Streaming recognition1001,200 msDuration 1,100 msWithin Interaction
Completion decision1,0001,200 msDuration 200 msWithin Interaction
Response generation1,2001,700 msDuration 500 msWithin Interaction
Synthesis and transport1,3002,200 msDuration 900 msWithin Interaction
Response playback1,5002,400 msDuration 900 msWithin Interaction
The user finishes at 1,000 ms and playback starts at 1,500 ms: a 500 ms gap. Playback overlaps continuing synthesis. Parentage denotes containment; do not sum overlapping spans as elapsed time.
Read the diagram as text
  • Interaction. 0 to 2,400 ms; duration 2,400 ms.
  • User speech and capture. 0 to 1,000 ms; duration 1,000 ms. Parent: Interaction.
  • Streaming recognition. 100 to 1,200 ms; duration 1,100 ms. Parent: Interaction.
  • Completion decision. 1,000 to 1,200 ms; duration 200 ms. Parent: Interaction.
  • Response generation. 1,200 to 1,700 ms; duration 500 ms. Parent: Interaction.
  • Synthesis and transport. 1,300 to 2,200 ms; duration 900 ms. Parent: Interaction.
  • Response playback. 1,500 to 2,400 ms; duration 900 ms. Parent: Interaction.

First useful content is a separate application boundary: an acknowledgment may precede directions. A brief task announcement can communicate waiting while backend work proceeds, but it does not shorten that work. Likewise, streaming recognition moves work before turn completion, and early playback overlaps synthesis; neither makes total computation disappear.

Mouth-to-ear delay follows captured speech through transmission to rendered sound; a conversational response gap additionally concerns producing an answer. Interruption-stop delay needs a declared initiating event—such as explicit stop activation—and an observed cessation boundary. Report within-answer stalls and latency distributions under representative load, alongside nonresponse rates rather than silently excluding unanswered turns.

Continuous playback and bounded queues

Jitter is variation in arrival timing. A jitter buffer holds audio before playout to absorb that variation. Larger buffers can reduce underruns—periods with no playable audio—but increase delay. The buffer plot isolates this tradeoff with identical arrivals and different playback starts; requested buffering and achieved delay can differ.

RTF=TcomputeTaudio\mathrm{RTF}=\frac{T_{\mathrm{compute}}}{T_{\mathrm{audio}}} Real-time factor uses computation time divided by represented audio duration. Producing two seconds of audio in one second gives RTF = 0.5. RTFX uses the reciprocal convention only for matching workloads and accounting intervals. Aggregate concurrent throughput does not establish one stream's playback continuity.

Startup buffering trades delay for continuity

Example

Identical arrivals can produce a stall or uninterrupted playback.

Immediate start

Playback begins at 0; arrivals stay fixed.

Scroll sideways if the figure extends beyond the screen.

00.511.5200.2750.550.8251.1Elapsed time (seconds)Playable buffer (seconds)Buffered audioPlayback startStall
  • 1. Buffered audio
  • 2. Playback start
Read coordinates and regions as data

X: 02 seconds; Y: 01.1 seconds, increasing up. Axes scaled independently; screen angles and distances are not comparable.

Buffered audio (polyline)

(0, 0.4); (0.4, 0); (0.6, 0); (0.6, 0.8); (1, 0.4); (1, 0.8); (1.8, 0); (2, 0)

Playback start (polyline)

(0, 0); (0, 1)

Stall: (0.5, 0.09)

Start after 0.3 seconds

Only playback onset changes.

Scroll sideways if the figure extends beyond the screen.

00.511.5200.2750.550.8251.1Elapsed time (seconds)Playable buffer (seconds)Buffered audioPlayback startWaiting
  • 1. Buffered audio
  • 2. Playback start
Read coordinates and regions as data

X: 02 seconds; Y: 01.1 seconds, increasing up. Axes scaled independently; screen angles and distances are not comparable.

Buffered audio (polyline)

(0, 0.4); (0.3, 0.4); (0.6, 0.1); (0.6, 0.9); (1, 0.5); (1, 0.9); (1.9, 0); (2, 0)

Playback start (polyline)

(0.3, 0); (0.3, 1)

Waiting: (0.15, 0.48)

Arrivals add 0.4 seconds at time 0, 0.8 at 0.6, and 0.4 at 1.0. Active playback consumes one buffered second per elapsed second. Immediate start stalls for 0.2 seconds; starting at 0.3 avoids the stall but delays onset.

A playout deadline is the time audio is needed for output. NetEq discards packets that arrive too late and can conceal missing samples by generating substitute output. Concealment does not recover the original sound. Its adaptive delay and acceleration or slowing of playback also account for arrival variation and clock drift.

Pacing releases audio according to playback needs. Backpressure makes a producer wait when downstream capacity is exhausted. With ten queued chunks of 20 ms each, pending duration is bounded at 200 ms. Variable-duration chunks need explicit duration or byte accounting. A count limit alone does not bound their time or memory.

An awaited enqueue blocks for capacity only if the queue implements that bound. asyncio.Queue defaults to unbounded capacity; the inspected Pipecat FrameQueue inherits that default. Its interruption reset provides cleanup, not continuous backpressure. Bounds elsewhere may still exist, and upstream provider buffers require separate accounting.

Media transport evaluates data against playback deadlines. An ordered byte stream provides ordered delivery, leaving the application to decide whether delayed audio remains useful. Buffer growth can preserve every chunk while making speech increasingly stale. Chunk size and synthesis lookahead therefore interact with both continuity and the amount of unwanted output awaiting cancellation.

Correlated evidence across audio and model events

A trace connects execution records; spans describe timed operations and events mark instants. Observability separates temporal overlap from execution parentage. For voice, correlate input intervals, transcript versions, response identities, output chunks, and playback observations. Audio and tool-context inspection can then distinguish misrecognition from an incorrect downstream decision.

A delayed-stop investigation needs evidence from the boundary where sound continued. The following ledger describes a constructed incident with incomplete client coverage. It uses event relationships rather than invented cross-clock durations; the missing playback observation prevents a complete diagnosis.

Available recordStill unresolvedDiscriminating observation
Speech-start event linked to input U2.Whether detection itself was late.Map the event to U2's source-audio interval.
Interruption forwarded for response R1.Whether local output cleanup had completed.Record cleanup completion, not only request forwarding.
Generation cancellation requested.Whether additional R1 chunks were admitted.Record callback identity and queue-admission decisions.
Local queue cleared; client playout missing.Whether remote buffering continued the sound.Collect a bounded client playback observation or rendered-audio capture.

Preserve each timestamp's clock domain, mapping, and uncertainty. Packet source time, server processing time, and device output time are not interchangeable. An absent event may mean missing telemetry. Record evidence coverage explicitly before attributing a delay to the last visible component.

Collect recordings and transcripts for defined diagnostic purposes, with limited access and retention. They are separate data products with different downstream copies. Privacy and Data Governance explains minimization; deletion and withdrawal also need to reach retained derivatives rather than only the original recording.

Speech and turn-behavior diagnostics

WER=S+D+IN\mathrm{WER}=\frac{S+D+I}{N} Word error rate aligns recognized and reference words. SS counts substitutions, DD deletions, II insertions, and NN reference words. Multiply by 100 for a percentage. Insertions permit values above 100%; an empty reference makes this formula undefined.
With case ignored, this alignment has one substitution and one insertion.
Sequence1234
ReferencegotoAuckland
HypothesisgotoOaklandnow

Here WER is (1+0+1)/3(1+0+1)/3, about 66.7%. Report normalization, tokenization, reference segmentation, and scorer settings. They change the evaluated sequences. The destination substitution has a specific task consequence that WER alone does not express. General proxy-metric limits apply even when the arithmetic is correct.

Alignment search and error counting can differ. NIST SCTK's documented default search assigns different costs to substitutions versus insertions and deletions, while ordinary WER counts each resulting error once. Reference alternatives and time-mediated alignment can also change the result. Preserve the scorer version and options alongside the score.

Failure surfaceDiagnostic contractLimit
Critical informationCorrect destination or number among exchanges requiring that field.Good average transcription can hide the consequential substitution.
Incremental recognitionRevised prefixes and time until stable text, under a declared comparison rule.Persistence is not correctness.
Transcript coverageEmpty, truncated, or delayed results per eligible input item.WER on returned transcripts excludes missing results.
Turn behaviorPremature responses, false or missed interruptions, and post-interruption playback against labeled events.Response latency after interruption is not playback-stop latency.
Speaker attributionConfusion, missed speech, and false speech detections against annotated speaker timelines.Specify overlap scoring; one aggregate hides different failures.

Diarization identifies who spoke when. Joining its intervals to ASR words is not automatically reliable: timestamps can disagree, and overlapping speakers may produce only one recognized word. Assigning the nearest speaker cannot restore omitted speech.

Intelligibility concerns whether listeners understand the spoken content; naturalness concerns how the speech sounds. Mean opinion score, or MOS, averages subjective ratings under a specified question and scale. State listener population, equipment, room conditions, speech material, and uncertainty. P.800 treats quality, listening effort, and loudness as distinct judgments; pleasant sound can still contain wrong words.

Temporal failure and recovery tests

A temporal test supplies timed input and disturbances, then inspects retained input, output admission, rendered audio, and context. Final text alone misses playback races. The WebRTC media test framework demonstrates scheduled network changes, echo emulation, audio dumps, and playback diagnostics; response identity and conversation repair require additional application assertions.

These cases define proposed regression requirements, not previously executed results.
DisturbanceObserveRequired assertion
Long hesitation inside a requestInput intervals and response startPreserve continued speech; score premature response against the labeled turn.
Destination correction during playbackNew input and repaired contextRetain U2 and replace the destination without asserting full delivery of R1.
Speaker echo with local correctionRendered reference and microphone captureDo not lose local speech while suppressing recaptured playback.
Interruption just before synthesis completesCancellation state, queue and callbacksOutput cleanup must not clear the new input queue.
Late callback after cancellationResponse ID at queue admissionReject the cancelled response's chunk.
Delayed packet or playback stallBuffer occupancy and rendered audioReport underrun or concealment; do not label missing sound as original audio.
Out-of-order transcript completionsCommitted input identitiesAttach each result to its own item, not the most recent arrival.
Disconnection during outputLast supported playback boundaryLeave subsequent delivery unknown and require an explicit recovery state.

Include bounded non-speech inputs and inspect whether recognized words have acoustic support. A Whisper large-v3 study produced text from constructed non-speech recordings and found incomplete mitigation. Its prevalence depends on that dataset and configuration; it is not an expected failure rate for ordinary calls.

Recorded-event replay fixes selected callbacks; media replay exercises capture or transport processing; fresh model execution introduces new recognition and generation outcomes. Keep these evidence claims separate, as described in Observability. Agent-to-agent persona conversations expand dialogue coverage but do not establish realistic acoustics or human interruption behavior.

Useful interaction under realistic conditions

Use the same directions-and-correction task to compare appropriate automatic-conversation, push-to-talk, and text configurations. Keep required information and success criteria fixed. Measure correct destination, completed exchange, successful repair, repetition burden, interruption effectiveness, intelligibility, and subjective experience separately. Shorter dialogue is not automatically better when extra clarification prevents a wrong result.

Recruit intended users and vary the conditions they actually encounter: devices, rooms, connectivity, accents, languages, speaking rates, and relevant speech or hearing differences. Report disaggregated outcomes and untested coverage. Usability and accessibility evaluation concerns specified people completing work; one fluent demonstration cannot establish that scope.

Interactive evaluation matters because people adapt their pauses, repetitions, and interruptions to the system. A controlled human–human VoIP study found delay sensitivity depended on task interactivity; it does not supply a universal AI response threshold. Live evaluation complements controlled tests by exposing the behavior of the coupled person-and-system interaction.

Fixed-input Full-Duplex-Bench streams audio and records synchronized responses to assess pauses, backchannels, transitions, and interruptions. It offers reproducible temporal scenarios, but fixed inputs cannot adapt to unexpected replies. Treat it as complementary to interactive sessions, not a substitute for them.

Begin investigation with observable interactions and labels from people who understand the task. Convert consequential failures into regression cases and validate changes offline before reassessing live use. Natural conversation remains insufficient when the system cannot reliably convey correct information or expose what happened during a failure.

Open questions

  1. Turn policies still need evidence across speaking styles. Short acknowledgments and genuine redirects can share words and duration, making adaptive yielding difficult. Progress would reduce false interruptions without increasing missed stops or excessive waits across explicitly identified language and speaking-rate groups.

  2. Partial-playout reconciliation remains limited by acknowledgment and alignment granularity. A cleared chunk may have played in part, yet its exact words remain unknown. Progress would provide trustworthy output offsets and bounded alignment uncertainty while keeping emitted sound distinct from human comprehension.

  3. Adaptive synthesis lookahead must balance early speech with faithful pronunciation and phrasing. Future context can change delivery after an earlier chunk has already played. Progress would preserve critical names and numbers while reducing onset delay under a shared listening and content-fidelity protocol.

  4. Full-duplex evaluations need stronger links to sustained human use. Fixed-input tests and generated continuations cannot reveal all adaptations, accessibility barriers, or accumulated repair effort. Progress would compare the same tasks interactively across defined populations and report completion, corrections, and effort alongside temporal diagnostics.

Follow the curated reading path through the speakers and demonstrations behind this entry.

Explore more talks

The rest of the library, beyond the curated path. Cited talks support this entry; reviewed transcripts were processed in full. Metadata candidates have not been reviewed as sources or verified as topic members.

112 matching talks

TalkSpeakerEventYear
Anoop Kotha, Toki SherbakovAI Engineer World's Fair 20252025
Ronan McGovernAI Engineer World's Fair 20252025
Kwindla Hultman KramerAI Engineer World's Fair 20242024
Adam TerlsonAI Engineer Summit 20252025
Vinoth GovindarajanAI Engineer World's Fair 20262026
Vivek MuppallaAI Engineer World's Fair 20262026
Kyle KranenAI Engineer World's Fair 20252025
Giving a Voice to AI Agents

Cited in this entry

Scott StephensonAI Engineer World's Fair 20242024
Arjun Desai, Rohit TalluriAI Engineer World's Fair 20252025
Cormac BrickAI Engineer World's Fair 20262026
Joe ReeveAI Engineer Europe 20262026
Dominik KundelAI Engineer World's Fair 20252025
Travis Bartley, Myungjong Kim, Byungjoong, JaehanAI Engineer World's Fair 20252025
Nishant GuptaAI Engineer World's Fair 20262026
Thor Schaeff, Philipp SchmidAI Engineer Europe 20262026
Thor Schaeff, PaulAI Engineer World's Fair 20252025
Damien MurphyAI Engineer World's Fair 20242024
Rishabh BhargavaAI Engineer Europe 20262026
Brooke HopkinsAI Engineer World's Fair 20252025
Romain HuetAI Engineer World's Fair 20242024
Thor SchaeffAI Engineer Europe 20262026
Mark Backman, AleixAI Engineer World's Fair 20252025
Luke HarriesAI Engineer Europe 20262026
Philip KielyAI Engineer World's Fair 20252025
Kwindla Hultman KramerAI Engineer World's Fair 20252025
Chad Bailey, Brian JohnsonAI Engineer World's Fair 20252025
Neil Dwyer, Jack DwyerAI Engineer World's Fair 20252025
Peter BarAI Engineer World's Fair 20252025
Gregory BrussAI Engineer World's Fair 20252025
Eddie SiegelAI Engineer Summit 20252025
Sidney PrimasAI Engineer World's Fair 20262026
Nik CaryotakisAI Engineer Summit 20252025
Dippu Kumar SinghAI Engineer Europe 20262026
Suman DebnathAI Engineer World's Fair 20252025
Joel Allou, Ornella BahidikaAI Engineer World's Fair 20262026
Allen PikeAI Engineer World's Fair 20262026
Logan KilpatrickAI Engineer World's Fair 20252025
Armanas PovilionisAI Engineer World's Fair 20262026
Philipp SchmidAI Engineer World's Fair 20252025
Nathan WanAI Engineer World's Fair 20252025
Patrick LöberAI Engineer Europe 20262026
Richmond AlakeAI Engineer World's Fair 20252025
Filip KozeraAI Engineer World's Fair 20252025
Rita KozlovAI Engineer World's Fair 20252025
Tom RedmanAI Engineer World's Fair 20242024
Cedric VidalAI Engineer World's Fair 20252025
Building Reactive AI Apps

Metadata candidate

Matt WelshAI Engineer Summit 20232023
Jamie Neuwirth, Zack WittenAI Engineer World's Fair 20242024
Ben HolmesAI Engineer World's Fair 20252025
Rachna SrivastavaAI Engineer World's Fair 20252025
Jedrick Kosinski, ComfyAnonymousAI Engineer World's Fair 20252025
Louis-François Bouchard, Omar Solano, Samridhi VaidAI Engineer World's Fair 20262026
Convex Launch

Metadata candidate

Jamie TurnerAI Engineer World's Fair 20242024
Develop at Idea Velocity

Metadata candidate

Jeffrey Lee-ChanAI Engineer World's Fair 20262026
Ornella Bahidika, Joel AllouAI Engineer World's Fair 20262026
Dat Ngo, Aman KhanAI Engineer World's Fair 20252025
Aparna Dhinkaran, Aparna DhinakaranAI Engineer Summit 20252025
Evaling Video Slop

Metadata candidate

Maor BrilAI Engineer World's Fair 20262026
Sumaiya ShrabonyAI Engineer World's Fair 20262026
Craig WattrusAI Engineer World's Fair 20252025
Chaitanya AsawaAI Engineer World's Fair 20262026
Fuzzing in the GenAI Era

Metadata candidate

Leonard TangAI Engineer World's Fair 20252025
Cassidy HardinAI Engineer Europe 20262026
Dave BurnisonAI Engineer World's Fair 20242024
Victoria MelnikovaAI Engineer World's Fair 20262026
Zhou YuAI Engineer Summit 20252025
Jared HansonAI Engineer World's Fair 20252025
Ian WebsterAI Engineer World's Fair 20242024
Xiaofeng WangAI Engineer Summit 20252025
Guillaume VernadeAI Engineer Europe 20262026
Adam BehrensAI Engineer World's Fair 20252025
Cornelia DavisAI Engineer World's Fair 20262026
Kwindla Kramer, Shrestha Basu MallickAI Engineer World's Fair 20252025
Rami AlhamadAI Engineer World's Fair 20252025
Ahmed MenshawyAI Engineer World's Fair 20242024
Simon WillisonAI Engineer Summit 20232023
Phil NashAI Engineer Europe 20262026
Benjamin SteinAI Engineer World's Fair 20242024
Randall HuntAI Engineer World's Fair 20252025
Steve KorshakovAI Engineer World's Fair 20262026
RAG for VPs of AI

Metadata candidate

Jerry LiuAI Engineer World's Fair 20242024
Andres MarafiotiAI Engineer Europe 20262026
Boris StarkovAI Engineer Europe 20262026
Adrien GrondinAI Engineer Europe 20262026
See, Hear, Speak, Draw

Metadata candidate

Logan Kilpatrick, Simón FishmanAI Engineer Summit 20232023
Mike ChambersAI Engineer World's Fair 20252025
Jared JoselowitzAI Engineer World's Fair 20262026
Sarah GuoAI Engineer World's Fair 20252025
Karan GoelAI Engineer World's Fair 20242024
Isadora Martin-DyeAI Engineer World's Fair 20262026
Lars GrammelAI Engineer Summit 20232023
Rob CheungAI Engineer World's Fair 20242024
Brendan O'DonoghueAI Engineer Europe 20262026
Barr YaronAI Engineer World's Fair 20262026
Zack Reneau-WedeenAI Engineer Summit 20252025
Dani Grant, Chelcie TaylorAI Engineer World's Fair 20252025
Maximillian PirasAI Engineer World's Fair 20252025
Jeremy Silva, Chris HernandezAI Engineer World's Fair 20252025
The End of Apps

Metadata candidate

KitzeAI Engineer Europe 20262026
Stefania DrugaAI Engineer World's Fair 20242024
Kwindla Kramer, Kwindla Hultman KramerAI Engineer World's Fair 20262026
Diego Rodriguez, Eugene, Jonas Bauer, Shijia Liao, David Vorick, Alex AtallahAI Engineer World's Fair 20252025
Ted JohnsonAI Engineer World's Fair 20262026
Amir HaghighatAI Engineer World's Fair 20252025
Thinking Deeper in Gemini

Metadata candidate

Jack RaeAI Engineer World's Fair 20252025
tldraw computer

Metadata candidate

Steve RuizAI Engineer World's Fair 20252025
Veo 3 for developers

Metadata candidate

Paige BaileyAI Engineer World's Fair 20252025
Harald KirschnerAI Engineer World's Fair 20252025
Todd FisherAI Engineer World's Fair 20262026
Why MLX

Metadata candidate

AI Engineer Europe 20262026
Zack ProserAI Engineer Europe 20262026
Sean DuBois, Kwindla Hultman Kramer, YaxinAI Engineer World's Fair 20252025

References

Coverage and source review
Processed transcripts
19 processed in full · 5 in the curated path
Automated source review
Passed
Metadata candidates
98 unreviewed; not verified topic membership
Corpus version
1bd8e407b26a07b33815594e1b2db5f41827119a2b3cb6fbf240f9fc571fc767

Automated review checks source support; it is not publication approval.

A synthesis of selected conference talks and technical references. Citations link to the source material; they do not imply that every talk on this subject is included.

  1. W3C WebRTC: receiver buffering and media transport

    Official WebRTC specification, RTCRtpReceiver track and jitterBufferTarget definitions. Source checked for transport and buffering semantics, not browser compatibility.

  2. Speech and Language Processing: chatbots and dialogue systems

    Sections 15.1–15.3.4; Figures 15.3 and 15.7–15.9. Workflow/history comparison and reference-resolution explanation are deductions from the examples.

  3. How to build the world's fastest voice bot

    Turn-taking requires both phrase endpointing and explicit interruption-state handling.

  4. Why ChatGPT Keeps Interrupting You

    Speech detection plus a silence timeout treats a pause as completion without establishing that the user has finished their turn.

  5. PARADISE: A Framework for Evaluating Spoken Dialogue Agents

    Sections 1–2.3; task representation, confirmation examples, and repair-sensitive evaluation.

  6. Building Effective Voice Agents

    Choose architecture according to latency and task correctness requirements: the speakers favor speech-to-speech for responsive interaction and retain chained processing as an option for accuracy-sensitive work.

  7. Building voice agents with OpenAI

    A speech-to-text → text agent → text-to-speech chain preserves existing text-agent capabilities and inspectable text boundaries, while native speech-to-speech removes conversion stages but makes specialized text capabilities harder to reuse.

  8. Beyond Transcription: Building Voice AI That Actually Understands Conversations

    Prosody and nonverbal vocal events may provide downstream models with meaning that plain text omits.

  9. Giving a Voice to AI Agents

    Independent stages can lose conversational context even when their individual speed and accuracy are strong.

  10. Neil Zeghidour - Voice AI: when is the "Her" moment?

    An integrated speech-to-speech model can reduce latency without supporting full-duplex conversation.

  11. Why ChatGPT Keeps Interrupting You

    Audio-in/audio-out models can still depend on explicit endpointing, so speech-to-speech alone does not remove premature turn decisions.

  12. Speech and Language Processing: phonetics and speech feature extraction

    Sections 15.4, especially sampling and spectrograms, and 15.5.1–15.5.4. Sample-count examples and the boundary distinction are deductions.

  13. WAVEFORMATEX structure (mmeapi.h)

    Member definitions for ordinary one- or two-channel WAVE_FORMAT_PCM. Numeric values are arithmetic deductions for a teaching example, not an executed device configuration.

  14. Why TTS Models Now Look Like LLMs — Samuel Humeau, Mistral

    Frame-level audio codecs turn waveform generation into a sequence-modeling problem while retaining acoustic information that a transcript discards.

  15. Devices and Data Types: PCM Waveform-Audio Data Format and PCM Data Packing

    PCM Waveform-Audio Data Format and PCM Data Packing; complements WAVEFORMATEX field definitions. Byte interpretation is a constructed deduction.

  16. Web Audio API 1.1: AudioBuffer, decoding and buffer playback

    Sections 1.1.2, 1.4 and 1.9.6. Numeric contrasts are constructed deductions assuming full-buffer playback, no looping, playbackRate=1 and detune=0.

  17. RFC 3550: RTP: A Transport Protocol for Real-Time Applications

    Section 5.1, sequence-number and timestamp definitions; source timing and cross-stream synchronization.

  18. Robust Speech Recognition via Large-Scale Weak Supervision

    Sections 2, 3.1–3.2, and 4.5, particularly long-form decoding heuristics and Table 7.

  19. Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks

    Original ICML 2006 paper, sections 2 and 3. Foundation for sequence alignment and decoding in recognition.

  20. Estimating Word-Stability During Incremental Speech Recognition

    Sections 1–3 and Figure 1; incremental recognition, stability definitions, and a published teaching fixture.

  21. Amazon Transcribe: streaming partial results and stabilization

    Streaming and partial results; Partial-result stabilization; Stable item example. Turn-completion distinction is an application inference from segment semantics.

  22. 200 Million Patient Interactions Later: What the Generic Voice Stack Misses

    The speaker reports that mishearing often masquerades as reasoning failure and describes conditioning recognition on conversation and domain context.

  23. 200 Million Patient Interactions Later: What the Generic Voice Stack Misses

    The described system specifically rescores single-word patient responses using conversation context.

  24. OpenAI Realtime transcription

    Handle transcript events; Add transcription context; Tune latency and accuracy; Handle confidence, timestamps, and speaker labels; Production checklist.

  25. On Calibration of Modern Neural Networks

    Sections 2–4, calibration definition, reliability diagrams, ECE, and held-out calibration. Recognition application is an inference.

  26. Speech and Language Processing: TTS and other speech tasks

    Sections 16.6–16.6.1 and 16.7, TTS preprocessing, vocoding, diarization, and speaker recognition.

  27. Festival Speech Synthesis System: Lexicons

    Sections 13.1, 13.3, and 13.4: lexical entries, lookup, and letter-to-sound rules.

  28. Speech Synthesis Markup Language (SSML) Version 1.1

    Section 1.2, steps 4–6; authoritative first-use vocabulary and context-sensitive synthesis.

  29. Neural Codec Language Models are Zero-Shot Text to Speech Synthesizers

    Original paper, sections 3 through 6. Explains codec representations, conditioning, and distinct quality dimensions without prescribing this historical architecture.

  30. Serving Voice AI at Scale — Arjun Desai (Cartesia) & Rohit Talluri (AWS)

    Check formatting at STT-to-LM and LM-to-TTS boundaries when an agent speaks text that was not intended as dialogue.

  31. What the Future Brings: Investigating the Impact of Lookahead for Incremental Neural TTS

    Sections 2.1–2.6, 3.1–3.2, and 4; prefix construction and MUSHRA results.

  32. How to talk to statues — Joe Reeve, ElevenLabs

    Appending an interruption after the complete generated assistant message can misrepresent what the listener actually heard.

  33. Why TTS Models Now Look Like LLMs — Samuel Humeau, Mistral

    Transcribe while the user speaks and play generated audio as soon as its first packets arrive.

  34. Pipecat: Interruptions

    What happens when the user interrupts; What ends up in the context; Speech-to-speech services.

  35. A summary of the REVERB challenge: state-of-the-art and remaining challenges in reverberant speech processing research

    Sections 2.1, 3.1 and 7. Within-room distance comparisons and across-room conditions distinguish experimental factors; room changes encompass more than reverberation time alone.

  36. Beyond Transcription: Building Voice AI That Actually Understands Conversations

    The speaker reports substantially worse recognition when evaluating the same model on a shared meeting microphone rather than participant headsets.

  37. Speex manual: echo cancellation

    Echo Cancellation, Troubleshooting, and Preprocessor options.

  38. A New Robust Frequency Domain Echo Canceller with Closed-Loop Learning Rate Adaptation

    Sections 1–2 and Figure 1; adaptive-filter model and double-talk motivation.

  39. WebRTC AudioProcessing interface

    AudioProcessing class overview; ProcessStream, ProcessReverseStream, and set_stream_delay_ms documentation.

  40. WebRTC NoiseSuppression interface at revision 159b417c98270f3c134c32d3d5fe763e2221ff8c

    NoiseSuppression class description and Level enumeration in the inspected historical revision.

  41. WebRTC AudioProcessing interface: noise suppression and gain controllers

    Config::NoiseSuppression, GainController1 and GainController2. Adds gain and clipping controls to the reused capture/render-interface note; share that source's article attribution budget.

  42. How to build the world's fastest voice bot

    General-purpose voice applications should plan for echo cancellation rather than relying on universal headphone use.

  43. Why ChatGPT Keeps Interrupting You

    The described full-duplex models continuously process incoming audio while generating an output stream, including silence when they should not speak.

  44. Pipecat TTSService source: interruption and audio contexts

    _handle_interruption, append_to_audio_context, _stop_audio_context_task, _create_audio_context_task, and _audio_context_task_handler.

  45. Pipecat: Context Management

    Context Aggregator Placement: User Context Aggregator and Assistant Context Aggregator.

  46. Building voice agents with OpenAI

    The Realtime API session holds authoritative conversation context; the client's displayed history is a copy, and history edits must become API events.

  47. OpenAI Realtime: Voice activity detection

    Overview, Server VAD, and Semantic VAD; one concrete implementation of detection, segmentation, and response-policy separation.

  48. Why ChatGPT Keeps Interrupting You

    Audio-aware detectors can use acoustic information, but endpointing built into user-only speech recognition may lack the agent's side of the conversation.

  49. How to talk to statues — Joe Reeve, ElevenLabs

    An explicit push-to-talk control can supplement unreliable audio-only interruption handling.

  50. Voice Activity Projection: Self-supervised Learning of Turn-taking Events

    Ekstedt and Skantze, 2022; sections 1–3, future-window representation and shift/hold/backchannel tasks.

  51. Why ChatGPT Keeps Interrupting You

    Detecting that the user has finished speaking and deciding whether user speech should interrupt the agent are separate problems; duration alone is a crude solution to the latter.

  52. LiveKit Agents: Turns overview

    Interruptions, Interruption mode, Adaptive interruption handling, and False interruptions.

  53. Pipecat BaseOutputTransport source: interruption ordering

    BaseOutputTransport.process_frame, _handle_frame, and media sender handle_interruptions.

  54. OpenAI Realtime conversations

    Interruption and Truncation; Push-to-talk. Adds transport ownership and alignment limitations to the supplied cancellation notes.

  55. Twilio Media Streams: marks and buffer clearing

    Mark message; Send a media message; Send a mark message; Send a clear message.

  56. Building voice agents with OpenAI

    Interruption handling must reconcile conversation context with what the user actually heard.

  57. How to build the world's fastest voice bot

    Measure the complete gap from the user finishing speech to the user hearing the bot, rather than treating model time to first token as the whole response time.

  58. Designing Voice Agents for Real Conversations

    Local turn detection offers control over deployment and customization while preserving the surrounding STT–LLM–TTS pipeline.

  59. NVIDIA Riva: TTS Performance

    Evaluation Process and Results; measurement boundaries and the distinction between RTF and RTFX.

  60. Building voice agents with OpenAI

    Overlap a brief spoken task announcement with tool execution, and turn longer operations into start-and-status tools.

  61. It Takes Two to Tango: Assessing the Impact of Delay on Conversational Interactivity on Perceived Speech Quality

    Sections 2.2–4.1; experimental design, interruption distinctions, and task-dependent delay sensitivity.

  62. Full-Duplex-Bench: A Benchmark to Evaluate Full-Duplex Spoken Dialogue Models on Turn-taking Capabilities

    Introduction and section III; reproducible temporal scenarios, vocabulary, and metric denominators.

  63. WebRTC NetEq

    InsertPacket, GetAudio, Statistics, and Tests and tools; deadline-driven playback and a documented replay mechanism.

  64. Python asyncio bounded queues

    Queue constructor, put, put_nowait and get. Audio-duration budgeting is an application inference.

  65. Pipecat FrameQueue capacity and interruption reset

    FrameQueue.__init__, _put, _get and reset; capacity follows the Python asyncio.Queue contract.

  66. Production Evals For Agentic AI Systems

    Treat agent traces as distributed tracing for autonomous workflows, recording execution structure rather than relying on ordinary logs alone.

  67. Building voice agents with OpenAI

    Inspect audio, tool inputs and outputs, and the delegated agent's received context together to reconstruct a voice interaction.

  68. WebRTC PeerConnection Level Framework

    Supported features and Exported metrics; transport and acoustic-path fault-testing capabilities.

  69. NIST Privacy Framework, Version 1.0

    Section 1.2; Appendix A: GV.PO-P1, CT.PO-P1–P3, CT.DM-P4–P8, CT.DP-P1–P4, CM.PO-P1, and CM.AW-P1/P5/P8.

  70. Speech and Language Processing: ASR evaluation

    Chapter introduction and section 16.6, including Text normalization before evaluation. Empty-reference limit follows from the formula.

  71. NIST SCTK: sclite alignment documentation

    Alignment of reference and hypothesis files; Dynamic Programming string alignment; Time-Mediated Alignment; Word-Weight-Mediated Alignment.

  72. Beyond Transcription: Building Voice AI That Actually Understands Conversations

    Separate speaker confusion, false speech detections, and missed speech before computing diarization error rate.

  73. Beyond Transcription: Building Voice AI That Actually Understands Conversations

    Independent ASR and diarization outputs can disagree about timing, speech presence, and the number of simultaneous speakers.

  74. ITU-T P.800: subjective determination of transmission quality

    Annex B, B.1.4 and B.4.1–B.4.7; Annexes D–E for DCR/CCR.

  75. Your Agent Didn’t Fail. Your Harness Did.

    Delivery alone is insufficient: a named system of record must persist the fact and support replay into future work.

  76. Investigation of Whisper ASR Hallucinations Induced by Non-Speech Audio

    Sections II-A–II-B, IV–VI; experiment 1 and mitigation limitations.

  77. Building Effective Voice Agents

    Run a voice agent against a second realtime client playing customer personas, then evaluate the resulting transcripts or audio.

  78. Moshi: a speech-text foundation model for real-time dialogue

    Sections 3.4, 4.1, 5.2, 5.5–5.7, and 7; Table 9.

  79. Building Effective Voice Agents

    Begin with observable interactions and expert labels, then iterate prompts and introduce rubric-based transcript evaluations.

  80. Production Evals For Agentic AI Systems

    Build a continuous evaluation loop that turns telemetry and human review into datasets used to validate updates offline.

  81. Neil Zeghidour - Voice AI: when is the "Her" moment?

    Full-duplex naturalness alone does not justify replacing a cascade; useful actions, observability, reliability, and personalization remain deployment requirements.

  82. Designing Voice Agents for Real Conversations

    Barge-in handling requires coordinated cancellation across the audio and generation pipeline, not just detecting incoming speech.