
Cascaded vs Fused Models: Comparing the architectures behind conversational agents
A breakdown of the five main voice agent architectures and the tradeoffs between reasoning, control, and naturalness.
Hur Scribe v2 Realtime möjliggör transkribering med låg fördröjning för liveöversättning och röstapplikationer
Scribe v2 Realtime är en extremt snabb Speech to Text-modell som kan användas för live-transkribering. Kombinationen av hastighet och kvalitet gör det möjligt att använda på sätt som inte var möjliga tidigare.
Till exempel kunde vi bygga den här realtidsöversättaren med Scribe v2 Realtime och Chrome Translator API.

Vill du ha steg-för-steg-guiden för den här demon, hittar du den här. Den här guiden fokuserar på att ge en översikt över Scribe v2 Realtime och hur det fungerar.
ElevenLabs erbjuder två modeller för att transkribera ljud: Scribe v2 och Scribe v2 Realtime.
Scribe v2 passar bra för transkribering som kan ske asynkront, medan Scribe v2 Realtime används när du behöver transkriberingen direkt.
För en liveöversättningsapp är Scribe v2 Realtime det självklara valet.
För att använda den här modellen behöver du använda Speech to Text API. Det är två steg du behöver göra för att komma igång:
Beroende på var du anropar API:et behöver du initiera det på olika sätt. Om du anropar det server-side kan du initiera direkt med API-nyckeln och sedan använda den instansen för att ansluta till Scribe v2 Realtime.
Men, att exponera en API-nyckel för klienten är en stor säkerhetsrisk. Så om du streamar från klientsidan behöver du initiera med en engångstoken.
Den här token måste genereras server-side för att skydda API-nyckeln.
Eftersom vi bygger en React-app använder vi token-metoden. Den här token skickas vid anslutningen, så att skapa en Scribe-instans blir enkelt.
| 1 | import { useScribe } from "@elevenlabs/react"; |
| 2 | |
| 3 | function MyComponent() { |
| 4 | const scribe = useScribe({ |
| 5 | modelId: "scribe_v2_realtime", |
| 6 | }); |
| 7 | |
| 8 | //... |
| 9 | } |
När du har initierat på rätt sätt kan du ansluta till Scribe v2 Realtime. För React-projektet med språköversättning använde vi streaming från klientsidan och behövde därför en engångstoken från backend. Den här token måste genereras och skickas varje gång vi ansluter till API:et.
| 1 | const handleStart = async () => { |
| 2 | const token = await fetchTokenFromServer(); |
| 3 | |
| 4 | await scribe.connect({ |
| 5 | token, |
| 6 | microphone: { |
| 7 | echoCancellation: true, |
| 8 | noiseSuppression: true, |
| 9 | }, |
| 10 | }); |
| 11 | }; |
När du jobbar med Scribe v2 Realtime finns det två typer av transkriptioner: partiella och committade.
De partiella transkriptionerna är "live-transkriptioner". Den här transkriberingen sker via websocket och skickas till dig medan du pratar. Så om du säger "Katten är ..." ser du de orden strömmas i realtid.
Den andra typen är committade transkriptioner. Transkriberingen delas upp i segment. När och hur du väljer att committa avgör hur din transkription delas upp. För det här behöver du välja en commit-strategi.
Det finns två alternativ för commit-strategi. Det första är manuellt, där du själv bestämmer när transkriptionerna ska committas. Det bästa är att göra det vid tystnad eller andra logiska punkter, till exempel vid turbyte.
Det andra alternativet är att låta Scribe v2 Realtime själv avgöra bra segment med hjälp av Voice Activity Detection (VAD). Då upptäcks tal och tystnad automatiskt. När en tystnadströskel nås committas segmentet automatiskt.
När du pratar transkriberar Scribe v2 Realtime varje ord. Om du säger "I scream..." kan det tolkas som "Ice cream...". Men när hela segmentet "I scream every time I see a spider in the bathroom" är klart blir resultatet mer korrekt.
Så de partiella transkriptionerna kan visas direkt, och de committade transkriptionerna blir en mer exakt återgivning av samtalet.
När du är ansluten till Scribe v2 Realtime sker transkriberingen. Du kan hämta transkriptionerna via partialTranscript och committedTranscripts.
| 1 | <div> |
| 2 | <button onClick={handleStart} disabled={scribe.isConnected}> |
| 3 | Start Recording |
| 4 | </button> |
| 5 | <button onClick={scribe.disconnect} disabled={!scribe.isConnected}> |
| 6 | Stop |
| 7 | </button> |
| 8 | |
| 9 | {scribe.partialTranscript && <p>Live: {scribe.partialTranscript}</p>} |
| 10 | |
| 11 | <div> |
| 12 | {scribe.committedTranscripts.map((t) => ( |
| 13 | <p key={t.id}>{t.text}</p> |
| 14 | ))} |
| 15 | </div> |
| 16 | </div> |
partialTranscript är realtids-transkriptionen av det aktuella segmentet som transkriberas. committedTranscript är samtalshistoriken och består av en lista med segment som committats medan du varit ansluten till Scribe v2 Realtime.
Det är allt du behöver göra för att få realtids-transkriptioner av dina samtal. Nu kan du ge appen ett snyggt gränssnitt eller lägga till fler funktioner, som liveöversättning.
För att skapa realtidsöversättaren från demon skickar du transkriptionerna tillChrome AI Translator API och visar resultatet direkt.
Tack för att du läste! Skapa ett konto hos ElevenLabs och börja bygga dina applikationer!

A breakdown of the five main voice agent architectures and the tradeoffs between reasoning, control, and naturalness.
.webp&w=3840&q=95)
Not every student in Germany grows up with access to academic role models. InteGREATer e.V. was founded to change that.