SDK para React
useScribe: transcrição de fala para texto em tempo real no React
Para ter uma visão geral do Scribe e dos recursos dele, consulte a visão geral do Speech to Text . Para ver guias de uso passo a passo, consulte streaming no lado do cliente.
Instalação
Use a skill de speech-to-text da ElevenLabs para transcrever áudio com seu assistente de programação com IA:
@elevenlabs/react reexporta tudo de @elevenlabs/client, então você não precisa instalar
os dois pacotes.
Uso
Aqui está um exemplo mínimo funcional que se conecta ao Scribe e exibe a transcrição em tempo real:
Como obter um token
O Scribe exige um token de uso único para autenticação. Crie um endpoint de API no seu servidor:
Sua chave de API da ElevenLabs é confidencial. Nunca a exponha ao cliente. Sempre gere o token no servidor.
Opções do hook
Configure o hook com opções e callbacks padrão:
Opções de conexão
Opções de VAD
Estas opções controlam quando as transcrições são confirmadas automaticamente ao usar a estratégia de confirmação VAD.
Opções de áudio
O objeto microphone aceita:
Opções de comportamento
Callbacks
Todos os callbacks de eventos são opcionais e podem ser fornecidos como opções do hook:
- onConnect - manipulador chamado quando a conexão WebSocket é estabelecida.
- onDisconnect - manipulador chamado quando a conexão WebSocket é fechada.
- onSessionStarted - manipulador chamado quando a sessão do Scribe começa.
- onPartialTranscript - manipulador chamado com resultados de transcrição provisórios. Recebe
{ text: string }. - onCommittedTranscript - manipulador chamado com resultados de transcrição finalizados. Recebe
{ text: string }. - onCommittedTranscriptWithTimestamps - manipulador chamado com resultados de transcrição finalizados, incluindo a temporização por palavra. Recebe
{ text: string; words?: { start: number; end: number }[] }. - onError - manipulador de erros genérico para todos os erros. Recebe
Error | Event. - onAuthError - manipulador chamado em erros de autenticação. Recebe
{ error: string }.
Callbacks de erro
O callback genérico onError é acionado para todos os erros. Callbacks específicos de erro também estão disponíveis para um tratamento mais detalhado. Todos os callbacks específicos de erro recebem { error: string }.
Modo microfone
Transmita áudio diretamente do microfone do usuário:
Modo de áudio manual (transcrição de arquivos)
Transcreva arquivos de áudio pré-gravados:
Valores retornados
Estado
- status - status atual da conexão:
"disconnected","connecting","connected","transcribing"ou"error". - isConnected - booleano que indica se está conectado.
- isTranscribing - booleano que indica se está transcrevendo ativamente.
- partialTranscript - string da transcrição parcial atual (provisória).
- committedTranscripts - array de objetos
TranscriptSegment(veja abaixo). - error - mensagem de erro atual ou
null.
Cada segmento de transcrição confirmado tem a seguinte estrutura:
Métodos
connect(options?)
Conecte-se ao Scribe. As opções fornecidas aqui substituem os padrões do hook:
disconnect()
Desconecte e libere os recursos:
sendAudio(audioBase64, options?)
Envie dados de áudio (somente no modo manual):
O campo previousText só pode ser enviado no primeiro bloco de áudio de uma sessão. Enviá-lo em
blocos subsequentes resulta em erro.
commit()
Confirme manualmente a transcrição atual:
clearTranscripts()
Limpe todas as transcrições do estado:
getConnection()
Obtenha a instância de conexão subjacente:
Estratégias de confirmação
Controle quando as transcrições são confirmadas:
Para mais detalhes, consulte Transcrições e estratégias de confirmação.
Exemplo completo
Aqui está um exemplo completo de um componente React que usa o hook useScribe com uma estratégia de confirmação baseada em VAD: