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

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 direktsänd transkribering. Kombinationen av snabbhet och kvalitet möjliggör användningsområden som inte var möjliga tidigare.

Vi kunde till exempel bygga den här språköversättaren 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 den 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 transkriberingen behöver ske direkt.

För en app för direktsänd språköversättning ä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

Hur du anropar det här API:t avgör hur du behöver initiera det. 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 på klientsidan behöver du därför initiera med en token för engångsbruk.

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

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

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 token för engångsbruk från backend. Den här tokenen 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 att bekräfta segment

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

De partiella transkripten är "direkttranskript". 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 det behöver du definiera en strategi för att bekräfta segment.

Det finns två alternativ för strategier för att bekräfta segment. Det första är manuellt, vilket ger dig full kontroll över när transkripten bekräftas. Bäst är att göra det under pauser eller vid andra logiska tillfällen, som vid ett turbyte i samtalet.

Det andra alternativet är att låta Scribe v2 Realtime själv avgöra lämpliga segment med hjälp av Voice Activity Detection (VAD). Metoden identifierar automatiskt tal- och tystnadssegment. När en gräns för tystnad nås bekräftar transkriberingsmotorn automatiskt transkriptsegmentet.

Varför behöver du ens en strategi för att bekräfta segment?

Medan du pratar transkriberar Scribe v2 Realtime varje ord. Så om du säger "Jag skriker ..." kan det uppfattas som "Jag skriver ...". Men när hela segmentets sammanhang ä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 kan komma åt transkripten med 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 med segment som har bekräftats medan anslutningen till Scribe v2 Realtime varit aktiv.

Ö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 direktsänd språköversättning.

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!

Liknande artiklar

Skapa med AI-ljud av högsta kvalitet