JavaScript SDK
Scribe: Echtzeit-Spracherkennung in JavaScript
Einen Überblick über Scribe und seine Funktionen finden Sie in der Speech-to-Text- Übersicht. Schritt-für-Schritt-Anleitungen finden Sie unter Clientseitiges Streaming.
Installation
Verwenden Sie den ElevenLabs-Speech-to-Text-Skill, um Audio mit Ihrem KI-Coding-Assistenten zu transkribieren:
Diese Bibliothek kann in jedem JavaScript-basierten Projekt verwendet werden. Wenn Sie React verwenden, nutzen Sie den
useScribe-Hook, der integrierte
Statusverwaltung und Lifecycle-Handling bietet.
Verwendung
Hier ist ein minimales funktionierendes Beispiel, das eine Verbindung zu Scribe herstellt und Transkriptionsergebnisse protokolliert:
Token abrufen
Scribe benötigt zur Authentifizierung ein Einmal-Token. Erstellen Sie einen API-Endpunkt auf Ihrem Server:
Ihr ElevenLabs API-Key ist vertraulich. Geben Sie ihn niemals an den Client weiter. Generieren Sie das Token immer auf dem Server.
Verbindungsoptionen
Scribe.connect() akzeptiert entweder Mikrofonoptionen oder manuelle Audiooptionen. Beide verwenden gemeinsame Basisoptionen.
Basisoptionen
Mikrofonoptionen
Übergeben Sie ein microphone-Objekt, um Audio direkt vom Mikrofon des Nutzers zu streamen. Die Verbindung verarbeitet getUserMedia und die Audiokodierung automatisch.
Manuelle Audiooptionen
Übergeben Sie audioFormat und sampleRate, um Audiodaten manuell über connection.send() zu senden.
AudioFormat-Enum
Mikrofonmodus
Streamen Sie Audio direkt vom Mikrofon des Nutzers:
Manueller Audiomodus (Dateitranskription)
Transkribieren Sie vorab aufgezeichnete Audiodateien, indem Sie die Audiodaten manuell senden:
RealtimeConnection
Scribe.connect() gibt eine RealtimeConnection-Instanz mit den folgenden Methoden zurück.
on(event, listener)
Registriert einen Event-Listener. Verfügbare Event-Typen finden Sie unter Events.
off(event, listener)
Entfernt einen zuvor registrierten Event-Listener.
send(data)
Sendet Audiodaten an Scribe (nur im manuellen Audiomodus).
Das Feld previousText kann nur im ersten Audio-Chunk einer Sitzung gesendet werden. Das Senden in
nachfolgenden Chunks führt zu einem Fehler.
commit()
Übernimmt die aktuelle Transkription manuell. Nur erforderlich bei Verwendung von CommitStrategy.MANUAL.
close()
Schließt die WebSocket-Verbindung und bereinigt Ressourcen (Mikrofonstream, Audiokontext).
Events
Registrieren Sie Event-Listener mit connection.on(event, listener). Alle Events sind als Konstanten im Enum RealtimeEvents verfügbar.
Transkriptions-Events
Der Typ WordsItem enthält Zeitinformationen auf Wortebene:
Verbindungs-Events
Fehler-Events
Alle Fehler-Events empfangen { error: string }.
Commit-Strategien
Steuern Sie, wann Transkriptionen übernommen werden:
Weitere Details finden Sie unter Transkripte und Commit-Strategien.
Vollständiges Beispiel
Hier ist ein vollständiges Beispiel, das Mikrofonaudio mit einer VAD-basierten Commit-Strategie transkribiert: