JavaScript SDK
Scribe: tal-till-text-transkribering i realtid i JavaScript
För en översikt över Scribe och dess funktioner, se översikten över Speech to Text . För stegvisa användarguider, se streaming på klientsidan .
Installation
Använd ElevenLabs speech-to-text skill för att transkribera ljud från din AI-kodassistent:
Det här biblioteket kan användas i alla JavaScript-baserade projekt. Om du använder React kan du överväga
useScribe hook, som erbjuder
inbyggd tillståndshantering och hantering av livscykeln.
Användning
Här är ett minimalt fungerande exempel som ansluter till Scribe och loggar transkriberingsresultat:
Hämta en token
Scribe kräver en engångstoken för autentisering. Skapa en API-slutpunkt på din server:
Din ElevenLabs API-nyckel är känslig. Exponera den aldrig för klienten. Generera alltid token på servern.
Anslutningsalternativ
Scribe.connect() accepterar antingen mikrofonalternativ eller manuella ljudalternativ. Båda delar en gemensam uppsättning grundalternativ.
Grundalternativ
Mikrofonalternativ
Skicka ett microphone-objekt för att strömma ljud direkt från användarens mikrofon. Anslutningen hanterar getUserMedia och ljudkodning automatiskt.
Manuella ljudalternativ
Skicka audioFormat och sampleRate för att skicka ljuddata manuellt via connection.send().
AudioFormat-enum
Mikrofonläge
Strömma ljud direkt från användarens mikrofon:
Manuellt ljudläge (filtranskribering)
Transkribera förinspelade ljudfiler genom att skicka ljuddata manuellt:
RealtimeConnection
Scribe.connect() returnerar en RealtimeConnection-instans med följande metoder.
on(event, listener)
Registrera en händelselyssnare. Se Händelser för tillgängliga händelsetyper.
off(event, listener)
Ta bort en tidigare registrerad händelselyssnare.
send(data)
Skicka ljuddata till Scribe (endast manuellt ljudläge).
Fältet previousText kan endast skickas i en sessions första ljudchunk. Om det skickas i
efterföljande chunkar uppstår ett fel.
commit()
Verkställ den aktuella transkriberingen manuellt. Behövs endast när du använder CommitStrategy.MANUAL.
close()
Stäng WebSocket-anslutningen och frigör resurser (mikrofonström, ljudkontext).
Händelser
Registrera händelselyssnare med connection.on(event, listener). Alla händelser finns tillgängliga som konstanter i RealtimeEvents-enumen.
Transkriberingshändelser
Typen WordsItem innehåller tidsinformation på ordnivå:
Anslutningshändelser
Felhändelser
Alla felhändelser tar emot { error: string }.
Verkställandestrategier
Styr när transkriberingar verkställs:
Mer information finns i Transkript och verkställandestrategier.
Komplett exempel
Här är ett komplett exempel som transkriberar mikrofonljud med VAD-baserad verkställandestrategi: