SDK React
useScribe: trascrizione vocale in tempo reale in React
Per una panoramica di Scribe e delle sue funzionalità, consulta la panoramica di Speech to Text . Per guide pratiche passo passo, consulta lo streaming lato client.
Installazione
Usa la skill Speech to Text di ElevenLabs per trascrivere l’audio dal tuo assistente di coding IA:
@elevenlabs/react riesporta tutto da @elevenlabs/client, quindi non devi installare
entrambi i pacchetti.
Utilizzo
Ecco un esempio minimo funzionante che si connette a Scribe e mostra la trascrizione in tempo reale:
Ottenere un token
Scribe richiede un token monouso per l’autenticazione. Crea un endpoint API sul tuo server:
La tua chiave API di ElevenLabs è sensibile. Non esporla mai al client. Genera sempre il token sul server.
Opzioni dell’hook
Configura l’hook con opzioni e callback predefiniti:
Opzioni di connessione
Opzioni VAD
Queste opzioni controllano quando le trascrizioni vengono confermate automaticamente usando la strategia di conferma VAD.
Opzioni audio
L’oggetto microphone accetta:
Opzioni di comportamento
Callback
Tutte le callback degli eventi sono facoltative e possono essere fornite come opzioni dell’hook:
- onConnect - handler chiamato quando viene stabilita la connessione WebSocket.
- onDisconnect - handler chiamato quando viene chiusa la connessione WebSocket.
- onSessionStarted - handler chiamato quando inizia la sessione Scribe.
- onPartialTranscript - handler chiamato con risultati di trascrizione provvisori. Riceve
{ text: string }. - onCommittedTranscript - handler chiamato con risultati di trascrizione finalizzati. Riceve
{ text: string }. - onCommittedTranscriptWithTimestamps - handler chiamato con risultati di trascrizione finalizzati, inclusa la temporizzazione a livello di parola. Riceve
{ text: string; words?: { start: number; end: number }[] }. - onError - handler di errore generico per tutti gli errori. Riceve
Error | Event. - onAuthError - handler chiamato in caso di errori di autenticazione. Riceve
{ error: string }.
Callback degli errori
La callback generica onError viene attivata per tutti gli errori. Sono disponibili anche callback di errore specifiche per una gestione più dettagliata. Tutte le callback di errore specifiche ricevono { error: string }.
Modalità microfono
Trasmetti l’audio direttamente dal microfono dell’utente:
Modalità audio manuale (trascrizione di file)
Trascrivi file audio preregistrati:
Valori restituiti
Stato
- status - stato attuale della connessione:
"disconnected","connecting","connected","transcribing"o"error". - isConnected - valore booleano che indica se la connessione è attiva.
- isTranscribing - valore booleano che indica se la trascrizione è attiva.
- partialTranscript - stringa della trascrizione parziale (provvisoria) corrente.
- committedTranscripts - array di oggetti
TranscriptSegment(vedi sotto). - error - messaggio di errore corrente oppure
null.
Ogni segmento di trascrizione confermato ha la seguente struttura:
Metodi
connect(options?)
Connettiti a Scribe. Le opzioni fornite qui sovrascrivono i valori predefiniti dell’hook:
disconnect()
Disconnettiti e libera le risorse:
sendAudio(audioBase64, options?)
Invia dati audio (solo modalità manuale):
Il campo previousText può essere inviato solo nel primo chunk audio di una sessione. Se lo invii nei
chunk successivi, si verifica un errore.
commit()
Conferma manualmente la trascrizione corrente:
clearTranscripts()
Cancella tutte le trascrizioni dallo stato:
getConnection()
Ottieni l’istanza della connessione sottostante:
Strategie di conferma
Controlla quando vengono confermate le trascrizioni:
Per maggiori dettagli, consulta Trascrizioni e strategie di conferma.
Esempio completo
Ecco un esempio completo di un componente React che usa l’hook useScribe con una strategia di conferma basata su VAD: