Vi presenterar Eleven v4Möt Eleven v4, vår mest uttrycksfulla modell hittills.

Hoppa till innehållet

Så fungerar Scribe v2 Realtime

Skriven av
Tadas Petra
Publicerad
Senast uppdaterad

LyssnaLyssna på den här artikeln

Scribe v2 Realtime är en extremt snabb Speech to Text-modell som kan användas för livertranskribering. Kombinationen av snabbhet och kvalitet möjliggör användningsområden som inte var möjliga tidigare.

Vi kunde till exempel bygga denna språköversättare i realtid med Scribe v2 Realtime och Chrome Translator API.

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

Om du vill ha steg-för-steg-guiden för den här demon hittar du den här. Den här guiden fokuserar på en övergripande förståelse av 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 är ett utmärkt val för transkribering som kan ske asynkront, medan Scribe v2 Realtime används när du behöver transkribering i realtid.

För en applikation för språköversättning i realtid är Scribe v2 Realtime det självklara valet.

API:t

För att använda den här modellen behöver du använda Speech to Text API. Du behöver utföra två steg för att komma igång:

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

Beroende på varifrån du anropar detta API behöver du initiera det på olika sätt. Om du anropar det på serversidan 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 innebär en stor säkerhetsrisk. Om du streamar från klientsidan behöver du därför initiera med en engångstoken.

Den här token måste genereras på serversidan för att skydda API-nyckeln.

Eftersom vi bygger en React-applikation använder vi token-metoden. Token skickas under anslutningsfasen, så att skapa en Scribe-instans blir enkelt.

import { useScribe } from "@elevenlabs/react";

function MyComponent() {
  const scribe = useScribe({
    modelId: "scribe_v2_realtime",
  });
  
  //...
}

Ansluta till Scribe v2 Realtime

När du har initierat korrekt kan du ansluta till Scribe v2 Realtime. I React-projektet för språköversättning använde vi streaming på klientsidan och behövde därför en engångstoken från backend. Denna token måste genereras och skickas varje gång vi ansluter till API:t.

const handleStart = async () => {
  const token = await fetchTokenFromServer();

  await scribe.connect({
    token,
    microphone: {
	  echoCancellation: true,
	  noiseSuppression: true,
    },
  });
};


Strategi för bekräftelse

När du arbetar med Scribe v2 Realtime finns det två typer av transkript: partiella och bekräftade.

De partiella transkripten är de ”live-transkript” som visas medan du talar. Transkriberingen sker via WebSocket och skickas tillbaka till dig medan du pratar. Så om du säger ”Katten är ...” ser du de orden streamas i realtid.

Den andra typen av transkript är ett bekräftat transkript. Transkriberingar fungerar i segment. När och hur du väljer att bekräfta dina transkriberingar avgör hur transkriptet delas upp i segment. För detta behöver du definiera en strategi för bekräftelse.

Det finns två alternativ för strategier för bekräftelse. Det första är manuellt, vilket ger dig full kontroll över när transkripten bekräftas. Bästa praxis är att göra det under tystnader eller vid andra naturliga tillfällen, till exempel vid turväxlingar.

Det andra alternativet är att låta Scribe v2 Realtime själv fastställa bra segment med hjälp av Voice Activity Detection (VAD). Metoden identifierar automatiskt segment med tal och tystnad. När en tröskel för tystnad uppnås bekräftar transkriberingsmotorn automatiskt transkriptsegmentet.

Varför behöver du ens en strategi för bekräftelse?

Medan du talar transkriberar Scribe v2 Realtime varje ord. Så om du säger ”Jag skriker ...” kan det uppfattas som ”Jag skriver ...”. Men när hela sammanhanget i segmentet är ”Jag skriker varje gång jag ser en spindel i badrummet” blir resultatet mer korrekt.

De partiella transkripten kan alltså visas i realtid, medan de bekräftade transkripten kan ge en mer korrekt transkribering av samtalshistoriken.

Visa transkriberingar

När du har anslutit till Scribe v2 Realtime pågår transkriberingen. Du kommer åt transkripten via egenskaperna partialTranscript och committedTranscripts.

<div>
  <button onClick={handleStart} disabled={scribe.isConnected}>
	Start Recording
  </button>
  <button onClick={scribe.disconnect} disabled={!scribe.isConnected}>
	Stop
  </button>

  {scribe.partialTranscript && <p>Live: {scribe.partialTranscript}</p>}

  <div>
	{scribe.committedTranscripts.map((t) => (
	  <p key={t.id}>{t.text}</p>
	))}
  </div>
</div>

partialTranscript är realtidstranskriptet för det aktuella segmentet som transkriberas. committedTranscript är samtalshistoriken och består av en lista över segment som har bekräftats medan du varit ansluten till Scribe v2 Realtime.

Översätt med AI

Det är allt du behöver göra för att få transkript av dina samtal i realtid. Nu kan du ge appen ett snyggt UI eller lägga till fler funktioner, som språköversättning i realtid.

För att skapa språköversättaren i realtid från demon skickar du transkripten till Chrome AI Translator API och visar resultatet i realtid.

Börja bygga

Tack för att du läste! Registrera dig hos ElevenLabs och börja bygga dina applikationer!

Skriven av

Tadas Petra är Developer Relations Engineer och hjälper utvecklare att bygga med ElevenLabs produkter. Han är också grundare av Hungrimind, en plattform för utvecklarutbildning. Tidigare var han Lead Developer Advocate på Agora och instruktör på Zero To Mastery.

Liknande artiklar

Skapa med AI-ljud av högsta kvalitet