Så fungerar Scribe v2 Realtime

Författare
Tadas Petra

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

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.

Live transcription on the left and committed transcripts on the right in a list

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.

Modellen

ElevenLabs erbjuder två modeller för att transkribera ljud: Scribe v2 och Scribe v2 Realtime.

Optimized For
Scribe v2
Accuracy
Scribe v2 Realtime
Ultra low latency
Use Case
Scribe v2
Batch transcription, subtitling, and captioning at scale.
Scribe v2 Realtime
Voice agents, meeting notetakers, and other live applications.

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.

API:et

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:

  1. Initiera en Scribe-instans
  2. Anslut till API:et

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.

1import { useScribe } from "@elevenlabs/react";
2
3function MyComponent() {
4 const scribe = useScribe({
5 modelId: "scribe_v2_realtime",
6 });
7
8 //...
9}

Anslut till Scribe v2 Realtime

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.

1const 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};


Commit-strategi

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.

Varför behöver du ens en commit-strategi?

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.

Visa transkriptioner

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.

Översätt med AI

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.

Börja bygga

Tack för att du läste! Skapa ett konto hos ElevenLabs och börja bygga dina applikationer!

Utforska artiklar av ElevenLabs-teamet

ElevenLabs

Skapa ljud och röster som imponerar med de bästa AI-verktygen

Kom igång gratis

Har du redan ett konto? Logga in