Vi presenterar Eleven v4Vi presenterar Eleven v4, vår snabbaste och mest uttrycksfulla röstmodell

Hoppa till innehållet

Webinar-sammanfattning: Ge din textchattbot en röst som låter mänsklig

Publicerad
Senast uppdaterad

LyssnaLyssna på den här artikeln

Chattagenter har blivit en självklar del av företagens mjukvarustack. De flesta företag har en eller håller på att bygga en. Färre har kommit fram till vad som händer när en användare hellre vill prata.

Röst förändrar interaktionen på sätt som är viktiga även bortom bekvämlighet. Användare uttrycker frustration, brådska och förvirring genom tonfall på sätt som text helt tar bort. En kund som skriver ”min beställning har inte kommit” och en kund som säger det med hörbar oro skickar olika signaler – och agenten som bara kan läsa transkriptionen arbetar bara med halva informationen.

Frågan som de flesta team nu ställer är inte om de ska lägga till röst, utan hur de gör det utan att bygga om allt som redan fungerar.

I Live Workshop: Ge din textchattbot en röst som låter mänsklig, gick Paul Asjes (Developer Experience), Bhargavi Bhatt (Customer Experience) och Fergal Burnett (Product Marketing, ElevenAPI) igenom de tekniska aspekterna av att lägga till röst i en befintlig agent och hur en fungerande integration faktiskt ser ut.

Varför det är svårare än det verkar att bygga med röst

En av de största utmaningarna är turordning. Människor vet när någon har pratat klart tack vare intonation, rytm och sammanhang. Voice activity detection (standardmetoden) upptäcker däremot bara tystnad.

Resultatet blir ofta ett system som behandlar varje paus som en inbjudan att prata: ett system som avbryter, bryter in mitt i en tanke och tolkar naturliga tveksamheter som avslutade meningar.

Det fungerar tekniskt, men samtalet fungerar inte.

Sammanhang är den andra halvan av problemet. Att skicka samtalshistoriken till en LLM vid varje tur är nödvändigt, men inte tillräckligt. Samma ord kan ha olika betydelse beroende på hur de sägs – ”jag mår bra” sagt med lättnad och ”jag mår bra” sagt med frustration har samma transkription, men innebär olika interaktioner. Ett röstsystem som ignorerar den dimensionen kommer alltid att låta lite fel, oavsett hur starka de enskilda modellerna är.

Det tillkommer också tekniskt underhåll. Team som ansvarar för sin egen röstorkestrering måste löpande underhålla logik för turordning, hantering av avbrott och latensprofilering. Det är inte något man bygger en gång.

Så lägger du till röst i en befintlig agent

Det smidigaste sättet är en arkitektur med dubbla WebSocket-anslutningar. 

  1. En anslutning går mellan klienten och ElevenLabs API, och en annan mellan din server och ElevenLabs API
  2. Användaren pratar i sin mikrofon, ljudet skickas till ElevenLabs API där det transkriberas och skickas till din server
  3. Din server skickar hela samtalshistoriken den får från ElevenLabs API  till LLM:en, och det strömmande svaret skickas tillbaka för ljudsyntes
  4. Detta kan börja innan LLM:en har genererat klart – vilket håller latensen till första byten låg 

Den viktigaste integrationspunkten är metoden onTranscript , som körs i slutet av varje tur och skickar hela samtalshistoriken till LLM:en. 

En contextualUpdate när sessionen startar för över det som hände i textdelen av samtalet innan användaren bytte till röst – vilket gör att en och samma agent kan fungera i båda formaten utan att förlora sammanhanget.

speech-engine

Några saker att tänka på när du bygger:

  1. Valet av LLM spelar större roll för röst än för chatt. Modeller för djupare resonemang skapar pauser som uppfattas som onaturliga tveksamheter i ljud, även om svarskvaliteten är högre. För röst i realtid ger snabbare modeller nästan alltid bättre upplevd kvalitet.
  2. Välj WebRTC framför WebSockets för ljud. WebRTC har inbyggd ekodämpning och brusreducering, vilket är särskilt viktigt på mobila enheter eller i bullriga miljöer. Använder du WebSockets för ljudöverföring måste du hantera det själv.
  3. Be inte användare välja språk. Det stör samtalsflödet. Ett bättre mönster är att identifiera språket under de första sekunderna av tal och låsa det – och det möjliggör smidiga språkbyten utan att användaren behöver göra något.
  4. Håll din modell för turordning separat från din LLM. Att låta LLM:en avgöra när en användare har pratat klart ökar latensen och kostnaden vid varje tur. En särskild modell för turordning hanterar detta snabbare och mer träffsäkert, och den bör behandlas som en egen komponent i arkitekturen.

Hur mycket infrastruktur du ska äga

Rätt svar beror på vad som redan finns. Om du har en fungerande chattagent är det oftast snabbast och minst riskfyllt att lägga till ett röstlager ovanpå den, samtidigt som du behåller din LLM, orkestrering och affärslogik. 

Du bygger inte om något. Du lägger till ett ljudgränssnitt till något som redan fungerar.

Om behoven omfattar telefoni, hantering av driftsättningskanaler, inbyggd testning och analys är det rimligt att låta en plattform för röst­agenter hantera mer av stacken. De två metoderna utesluter inte varandra – team kan börja med ett enkelt röstlager och lägga till plattformsfunktioner i takt med att användningsområdet mognar.

Demo: Lägg till röst i en befintlig chattbot

Den här demon följer en användare som är mitt i ett samtal med en textbaserad chattbot för reseplanering och ber om rekommendationer för områden och mat inför en resa till Japan.

Det här gick vi igenom:

  • Chattboten utökades med ett röstlager utan några ändringar av den underliggande agenten.
  • Användaren bytte från att skriva till att prata mitt i samtalet – agenten behöll hela sammanhanget i båda formaten.
  • Användaren pratade nederländska och agenten upptäckte språkbytet automatiskt
  • När agenten avbröts och ombads byta tillbaka till engelska mitt i en mening gjorde den det – och avslutade svaret med en lätt nederländsk accent, utan uppmaning.
  • Under hela samtalet gjorde avbrottsdetekteringen det möjligt för användaren att naturligt prata över agenten utan att agenten avslutade sin tur.

Varför det är viktigt: 

Demon visade inte en specialbyggd röstagent. Den visade en textagent som redan fungerade, med ett röstlager ovanpå. Hanteringen av sammanhang, språkidentifieringen och beteendet vid avbrott kom alla från röstlagret – den underliggande textagenten var oförändrad. 

Se hela sessionen

Se hela webbinariet här.

Lägg till röst i din befintliga agent i stor skala

Behöver du något annat? Besök vår kundtjänst

ElevenLabs workshop on human-like chatbot voices, hosted by Paul Asjes, Bhargavi Bhatt, and Fergal Burnett.

Liknande artiklar

Skapa med AI-ljud av högsta kvalitet