Waarom voelt een spraakassistent voor thuis traag aan, zelfs wanneer de LLM snel reageert?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Een spraakassistent voor thuis kan traag aanvoelen omdat spraakopname, eindpuntdetectie, tools, synthese en afspelen de LLM omringen met opeenvolgende vertragingen.

Een lokaal model kan zijn eerste token in 120 ms produceren, terwijl de keukenspeaker pas twee seconden na het einde van een commando antwoordt. De gebruiker ervaart de volledige beurt, niet één benchmark. Stiltedetectie vóór de prompt en audiobuffering na het antwoord kunnen elk zwaarder wegen dan snelle inferentie van het taalmodel.

De LLM beheert slechts één segment van de spraakbeurt

Een gesproken beurt doorloopt microfoonbuffering, stemactiviteitsdetectie, eindpuntdetectie, ASR, promptopbouw, modelgeneratie, uitvoering van tools, TTS en audio-uitvoer. De meeste stappen wachten op de vorige. Een lage tijd tot het eerste token bewijst daarom alleen dat de taalfase snel is nadat de tekst is aangekomen.

Een analyse van de latentie in de spraakstack splitst het traject op in meerdere latentiestappen en laat zien waarom het optimaliseren van één component geen snel gesprek garandeert. Seriële overhead stapelt zich op, zelfs wanneer elke afzonderlijke fase op zichzelf beperkt lijkt.

Eindpuntdetectie is vaak de verborgen kostenpost aan de voorkant. De assistent moet bepalen of een pauze betekent dat de spreker klaar is of nadenkt. Een conservatieve time-out voorkomt onderbrekingen, maar voegt stilte toe vóór de afronding van ASR, waardoor het systeem aarzelend aanvoelt, ook al start de LLM direct daarna.

Streaming verplaatst de ervaren snelheid zonder al het werk te verwijderen

Gedeeltelijke transcripties kunnen de promptvoorbereiding starten en gestreamde tokens kunnen TTS voeden voordat het antwoord compleet is. Deze overlappingen verkorten het kritieke pad. Toch bepalen chunkgroottes, veiligheidscontroles, toolbevestiging en de hoeveelheid stabiele tekst die nodig is vóór synthese nog steeds wanneer hoorbare uitvoer begint.

Onderzoek naar spraakagenten met lage latentie combineert gestreamde ASR, gekwantiseerde taalmodellen en realtime synthese, omdat end-to-end-responsiviteit afhangt van de coördinatie van alle drie en niet alleen van de modelsnelheid.

Het eerste geluid is ook belangrijker dan de uiteindelijke audioduur. Een systeem dat op 500 ms begint met een natuurlijk antwoord kan sneller aanvoelen dan een systeem dat het volledige antwoord stilzwijgend in 900 ms voltooit. Streaming verandert de timing van feedback, maar laat een trage toolaanroep niet verdwijnen.

Waar de pijplijnverklaring niet meer opgaat

Pijplijnvertraging verklaart niet alles wanneer de assistent bewust wacht op bevestiging, opdrachten aan snelheidsbeperkingen onderwerpt of een gesprekspauze toepast. Netwerkjitter, energiebesparing van de speaker, opnieuw verbinding maken met Bluetooth en het ontwaken van het audioapparaat kunnen buiten de AI-stack optreden. Een snelle trace op de server kan nog steeds eindigen bij een trage speaker in de kamer.

Richtlijnen voor conversatielatentie benadrukken dat mensen korte beurtwisselingspauzes verwachten, waardoor de ervaren responstijd een eigenschap op productniveau is en geen statistiek van één model. De ervaren vertraging kan toenemen, zelfs wanneer de totale rekentijd gelijk blijft, als feedback wordt achtergehouden.

Dit mechanisme faalt wanneer tijdstempels op de server laten zien dat het afspelen van audio tijdig begint, maar gebruikers nog steeds vertraging melden. Dan kunnen akoestische afstand, apparaatsynchronisatie of interfacefeedback de oorzaak zijn. Het verklaart ook geen traag eerste commando gevolgd door snelle commando's, wat sterker wijst op koude starts of overgangen tussen energiestanden.

Meet de volledige spraakbeurt, niet alleen de LLM

Log één monotone tijdstempel bij het begin van de microfooninvoer, het gedetecteerde eindpunt, de definitieve transcriptie, het verzenden van de prompt, het eerste LLM-token, de voltooiing van de tool, het eerste TTS-fragment, de afspeelwachtrij en de hoorbare uitvoer. Voer twintig korte commando's en vijf commando's met tools uit, zowel na koude als na warme starts.

Vergelijk die traces met koude starts van lokale AI, omdat het laden van modellen de eerste beurt kan vertekenen, terwijl eindpuntdetectie latere beurten domineert. Bewaar ruwe tijdmetingen in plaats van één gecombineerde waarde voor de “responstijd”.

Optimaliseer het grootste herhaalbare interval, niet het meest zichtbare model. Als eindpuntdetectie domineert, stem dan de beurtendetectie af; als tools domineren, haal dan alleen veilige gegevens vooraf op; als het eerste geluid op TTS achterloopt, controleer dan buffering en het ontwaken van de speaker. Houd bevestigingsvertragingen expliciet, want bewuste veiligheid is geen prestatieprobleem.

Tech & AI HUB

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.