Building Voice-Enabled AI Assistants with Real-Time Processing

bee · Tech · 2023 · source Agentic: yes · promotional bias: low · 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 voice assistants and personal AI memory systems

The speakers were exploring how to build voice-enabled assistants that can respond fast enough for conversation, capture personal context continuously, and use memory without becoming unusable, expensive, or privacy-invasive.

Constraints:

Architecture

The meetup describes a composite architecture for personal assistants: a real-time voice loop captures browser or telephony audio, streams it through a voicebot server, speech-to-text, an LLM, and text-to-speech, while wearable devices continuously capture conversations, segment them, summarize them, and make them searchable through memory and retrieval layers.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  browser-audio-client["browser audio client"] --> voicebot-server["voicebot server"]
  telephony-provider["telephony provider"] --> voicebot-server
  voicebot-server --> speech-to-text-service["speech-to-text service"]
  speech-to-text-service --> llm-endpoint["LLM endpoint"]
  llm-endpoint --> text-to-speech-service["text-to-speech service"]
  text-to-speech-service --> voicebot-server
  wearable-capture-device["wearable capture device"] --> conversation-processing-pipeline["conversation processing pipeline"]
  conversation-processing-pipeline --> speaker-verification["speaker verification"]
  conversation-processing-pipeline --> memory-store["memory store"]
  memory-store --> memory-retrieval-layer["memory retrieval layer"]
  memory-retrieval-layer --> llm-endpoint
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
browser audio client Captures microphone input after user interaction and sends audio into the real-time voice loop. voicebot server
telephony provider Alternative call ingress/egress path for phone-based voicebots. voicebot server
voicebot server Coordinates audio streaming, transcription, LLM calls, and synthesized responses. browser audio client, telephony provider, speech-to-text service, LLM endpoint, text-to-speech service
speech-to-text service Transcribes live audio with a latency/accuracy/cost tradeoff. voicebot server, LLM endpoint
LLM endpoint Generates the assistant response and may use memory context. speech-to-text service, text-to-speech service, memory retrieval layer
text-to-speech service Converts assistant output back into speech with humanlike quality under latency and cost constraints. LLM endpoint, voicebot server
wearable capture device Continuously records personal conversations and environment context. conversation processing pipeline
conversation processing pipeline Runs larger models, speaker verification, endpointing, summarization, and topic/link extraction after capture. wearable capture device, speaker verification, memory store, memory retrieval layer
speaker verification Distinguishes the wearer from other people in the room so memory can be attributed correctly. conversation processing pipeline
memory store Stores conversational, semantic, profile, and thread-level memories. conversation processing pipeline, memory retrieval layer
memory retrieval layer Searches past conversations and memory records for assistant personalization and recall. memory store, LLM endpoint

Data flow

Audio enters through a browser or telephony provider, the voicebot server forwards it to speech-to-text, the transcript is sent to an LLM, the response is synthesized through text-to-speech, and wearable capture pipelines later run larger models, speaker verification, conversation endpointing, summaries, links, and retrieval over stored conversations.

4 supporting quotes
“you have a browser and that's going to send audio obviously you need to uh interact with the browser to capture audio”transcript, stated
“you know you're doing browser to the voicebot server to get the audio and then the voice Pro server sending that off”transcript, stated
“you're essentially just swapping at the browser for this telephony uh service right so twio has about 100 millisecond latency”transcript, stated
“after the conversation is over you know we'll run it through a larger model um and then do the speaker verification”transcript, stated

Why this architecture

The architecture separates fast live-turn components from slower after-the-fact processing because voice UX needs sub-second response, while memory quality, speaker attribution, and conversation segmentation benefit from larger models and background processing.

3 supporting quotes
“some of the main considerations when you're building a real-time voice spot is performance accuracy and cost and being able to scale”transcript, stated
“person is no longer there on the other end um and you need to do that for speech to text the language model and the text of speech um and then on the accuracy right so you want to be able to understand what the person says you know regardless of their accent um and you want to be able to do”transcript, stated
“after the conversation is over you know we'll run it through a larger model um and then do the speaker verification”transcript, stated

Models used: GPT-3.5 Turbo · GPT-4 · Claude Haiku · speech-to-text models · text-to-speech models · larger post-processing models

Scale

Alternatives considered (roads not taken)

Pure open-source/off-the-shelf speech stack

Rejected because: The speaker argues it may be workable but often will not be fast enough for real-time conversation without managed or optimized services.

“probably the text speech stuff won't be fast enough or the transcription won't be fast enough um but you can actually do a lot of this with with manage Solutions as well I'll go into the into the unit economics towards the end um so yeah this is the basic”transcript, stated

Fully managed hosted APIs for every model stage

Rejected because: Managed APIs simplify implementation, but latency and cost can be worse than colocated or self-hosted deployments.

“if you go on to like a Zur and you use their service um you know you're paying more but you're getting you know much better latency”transcript, stated

Continuous video as the first capture modality

Rejected because: The session treats video as a future frontier because power and bandwidth make it harder than audio.

“continuous video capture remains the next major frontier and is significantly harder than audio due to power consumption and bandwidth constraints.”summary, stated

Unlimited append-only memory

Rejected because: Long-lived assistants need decay, invalidation, or consolidation because old facts lose relevance and duplicate memories accumulate.

“there absolutely needs to be some sort of memory Decay or some sort of like invalidating previous memories I think it come in a few forms so like with the generative agents kind of like paper um I think they tackled this by having some sort of recency uh”transcript, stated
“one of the issues that we haven't really tackled is in this journaling app if you notice in here there's um a bunch of that are really similar”transcript, stated

Patterns

latency-optimization (serving)

The voice loop is decomposed into STT, LLM, and TTS latency budgets, with deployment choices such as self-hosting or Azure colocation used to reduce turn latency.

“want everything um with a real-time voice spot like when you called it right you had subsec response time uh so being able to get that subsec response time is super important right so essentially if you go beyond say 1.5 2 seconds aot lot of people will actually say something again right they”transcript, stated
“you need to do that for speech to text the language model and the text of speech”transcript, stated

agent-memory (memory)

The assistants use conversational memory, semantic vector memory, knowledge-graph-like memory, profiles, and thread summaries to personalize future interactions.

3 supporting quotes
“conversational memory is a very simple but obvious form of memory”transcript, stated
“semantic memory is another kind of similar one um where it's it's a pretty simple idea you take all the memory bits you throw them into a vector store”transcript, stated
“an example of this would just be like a summary of a conversation you could then use this uh you could extract like follow-up items”transcript, stated

rag-retrieval (retrieval)

Wearable-captured conversations are made retrievable so users can query past context and jump back to source conversations.

“I can query against like the whole context of everything it knows about me”transcript, stated
“it's through retrieval on all my conversations this is a conversation I was last talking about and it will even site the source”transcript, stated

cost-aware-routing (operations)

The system design discusses swapping providers, model choices, and self-hosted GPU compute based on cost and latency.

“the cost of a lot of these llm things uh is a big challenge as well”transcript, stated
“speech providers out there um what we try to do is have low latency humanik at a really good price point and you can get extremely humanlike at about 40x price um but that's just something to to keep in mind all right demo time my two tabs open here okay so hopefully this audio will play good”transcript, stated

Tradeoffs

Use faster or colocated services for real-time voice.

Chose Higher-cost GPU/self-hosted or Azure-colocated deployments where necessary over Cheaper hosted endpoints for every component.

Rationale: Latency is visible to users in voice conversations, and cheaper hosted endpoints can have unacceptable delay or variance.

“you can get that 200 milliseconds down to about 50 milliseconds uh at the cost of extra GP compute”transcript, stated
“second fluctuations in their hosted endpoint uh if you go on to like a Zur and you use their service um you know you're paying more but you're getting you know much better latency so you know you could deploy all of this on a Zur and next to you know gbd4 and and that's going to give you uh you”transcript, stated

Separate live response from background memory processing.

Chose Fast real-time voice loop plus larger after-call processing over Running every enrichment step inside the live conversation path.

Rationale: Speaker verification, summaries, links, and conversation segmentation are valuable but can happen after the latency-critical turn.

“after the conversation is over you know we'll run it through a larger model um and then do the speaker verification”transcript, stated
“like in the end result I will get a summary generated um some takeaways you know kind of summary the atmosphere”transcript, stated

Model memory as multiple specialized stores.

Chose Thread summaries, user profiles, semantic vector memory, and knowledge-graph-style memory over One undifferentiated transcript history.

Rationale: Different applications need different memory schemas, and one memory representation cannot serve every assistant equally well.

“the exact memory that their bot cared about was different based on their application”transcript, stated
“if they were building like a SQL bot that type of memory would be very different from the journaling app”transcript, stated

Gotchas (what bit them)

Users interpret slow voice responses as conversation failure.

Root cause: A conversational turn has a human latency budget, and the STT, LLM, and TTS chain can easily exceed it.

Resolution: Optimize each stage separately and consider self-hosting or colocated managed services where latency matters.

“if you go beyond say 1.5 2 seconds aot lot of people will actually say something again”transcript, stated
“if you go on to like a Zur and you use their service um you know you're paying more but you're getting you know much better latency”transcript, stated

Conversation endpointing is harder than utterance detection.

Root cause: A pause may be hesitation rather than the end of a semantic conversation, and whole-day capture cannot be stored as one block.

Resolution: Use voice activity, location, topics, and LLM-level signals to segment continuous capture into distinct conversations.

“even just utterance level endp pointing is complicated at hard like when am I stopping talking or am I going to keep talking”transcript, stated
“you don't want just one block of like dialogue for your whole day it's much more useful if you can segment it into distinct kind of semantic conversations”transcript, stated

Personal memory accumulates stale and duplicate facts.

Root cause: Long-running capture stores years of facts whose relevance changes, and naive retrieval can surface repetitive memories.

Resolution: Add recency/importance weighting, decay, invalidation, and potentially hierarchical summarization such as RAPTOR.

3 supporting quotes
“what does 10 years of memory look like and and a lot of the facts that we remember are are not relevant anymore”transcript, stated
“there absolutely needs to be some sort of memory Decay or some sort of like invalidating previous memories”transcript, stated
“you chunk everything into really small chunks um and then cluster them and then basically hierarchically summarize them”transcript, stated

Technical demos do not guarantee adoption.

Root cause: Wearable assistants impose form-factor, setup, and privacy burdens that can outweigh technical novelty.

Resolution: Treat form factor, cognitive burden, developer setup, and social acceptability as first-class product constraints.

“The "Make People Want It" Problem: Adam (creator of the largest open-source wearable project) noted that the biggest challenge isn't technical”summary, stated
“Developer experience matters enormously; projects with complex setup requirements (CUDA, cross-platform compatibility issues) saw disappointing uptake”summary, stated

Evaluation

The session evaluates voice systems mainly through latency, cost, accuracy, and qualitative demo behavior rather than a formal benchmark suite.

Metrics: sub-second response target · 1.5 to 2 second user patience threshold · speech-to-text latency · LLM latency · text-to-speech latency and quality · cost per minute or per five-minute call · memory retrieval usefulness

3 supporting quotes
“some of the main considerations when you're building a real-time voice spot is performance accuracy and cost and being able to scale”transcript, stated
“the cost of a lot of these llm things uh is a big challenge as well”transcript, stated
“this is a conversation I was last talking about and it will even site the source so I can just jump to the actual conversation”transcript, stated

Outcomes

The strongest scale facts are operating targets and cost estimates: sub-1.5-second turn latency, 200 ms down to 50 ms speech-to-text with more GPU compute, roughly 6.5 cents per five-minute call, and hundreds of hours of transcription credits.

3 supporting quotes
“The discussions cover critical production considerations including latency optimization (targeting under 1.5 seconds end-to-end), cost management”summary, stated
“that's like kind of the foundation layer is to like have something that does the continuous capture does the basic level of processing”transcript, stated
“I don't think anyone knows how to deal with memory and so I think all these different approaches are I think in a general way”transcript, stated