React SDK
useScribe: realtime spraak-naar-teksttranscriptie in React
Voor een overzicht van Scribe en de mogelijkheden ervan, zie het overzicht van Speech to Text . Zie streaming aan clientzijde voor stapsgewijze handleidingen.
Installatie
Gebruik de ElevenLabs Speech to Text-skill om audio te transcriberen met je AI-codingassistent:
@elevenlabs/react exporteert alles opnieuw vanuit @elevenlabs/client, dus je hoeft niet
beide pakketten te installeren.
Gebruik
Hier is een minimaal werkend voorbeeld dat verbinding maakt met Scribe en realtime transcriptie weergeeft:
Een token ophalen
Scribe vereist een token voor eenmalig gebruik voor authenticatie. Maak een API-endpoint op je server:
Je ElevenLabs API-sleutel is gevoelig. Stel deze nooit bloot aan de client. Genereer het token altijd op de server.
Hookopties
Configureer de hook met standaardopties en callbacks:
Verbindingsopties
VAD-opties
Deze opties bepalen wanneer transcripten automatisch worden vastgelegd bij gebruik van de VAD-commitstrategie.
Audio-opties
Het object microphone accepteert:
Gedragsopties
Callbacks
Alle eventcallbacks zijn optioneel en kunnen als hookopties worden opgegeven:
- onConnect - handler die wordt aangeroepen wanneer de WebSocket-verbinding tot stand is gebracht.
- onDisconnect - handler die wordt aangeroepen wanneer de WebSocket-verbinding wordt gesloten.
- onSessionStarted - handler die wordt aangeroepen wanneer de Scribe-sessie start.
- onPartialTranscript - handler die wordt aangeroepen met tussentijdse transcriptieresultaten. Ontvangt
{ text: string }. - onCommittedTranscript - handler die wordt aangeroepen met definitieve transcriptieresultaten. Ontvangt
{ text: string }. - onCommittedTranscriptWithTimestamps - handler die wordt aangeroepen met definitieve transcriptieresultaten inclusief timing op woordniveau. Ontvangt
{ text: string; words?: { start: number; end: number }[] }. - onError - algemene errorhandler voor alle fouten. Ontvangt
Error | Event. - onAuthError - handler die wordt aangeroepen bij authenticatiefouten. Ontvangt
{ error: string }.
Errorcallbacks
De algemene callback onError wordt geactiveerd voor alle fouten. Er zijn ook specifieke errorcallbacks beschikbaar voor gedetailleerde afhandeling. Alle specifieke errorcallbacks ontvangen { error: string }.
Microfoonmodus
Stream audio rechtstreeks vanaf de microfoon van de gebruiker:
Handmatige audiomodus (bestandstranscriptie)
Transcribeer vooraf opgenomen audiobestanden:
Retourwaarden
Status
- status - huidige verbindingsstatus:
"disconnected","connecting","connected","transcribing"of"error". - isConnected - boolean die aangeeft of er verbinding is.
- isTranscribing - boolean die aangeeft of er actief wordt getranscribeerd.
- partialTranscript - huidige gedeeltelijke (tussentijdse) transcripttekenreeks.
- committedTranscripts - array met
TranscriptSegment-objecten (zie hieronder). - error - huidige foutmelding, of
null.
Elk vastgelegd transcriptsegment heeft de volgende structuur:
Methoden
connect(options?)
Maak verbinding met Scribe. Opties die je hier opgeeft, overschrijven de standaardinstellingen van de hook:
disconnect()
Verbreek de verbinding en ruim resources op:
sendAudio(audioBase64, options?)
Verstuur audiogegevens (alleen handmatige modus):
Het veld previousText kan alleen in het eerste audiochunk van een sessie worden verstuurd. Als je het in
volgende chunks verstuurt, ontstaat er een fout.
commit()
Leg de huidige transcriptie handmatig vast:
clearTranscripts()
Wis alle transcripten uit de status:
getConnection()
Haal de onderliggende verbindingsinstantie op:
Commitstrategieën
Bepaal wanneer transcripties worden vastgelegd:
Zie Transcripten en commitstrategieën voor meer informatie.
Volledig voorbeeld
Hier is een volledig voorbeeld van een React-component die de hook useScribe gebruikt met een op VAD gebaseerde commitstrategie: