SDK JavaScript
Scribe: transcrição de voz em tempo real para texto em JavaScript
Para uma visão geral do Scribe e dos seus recursos, consulte a visão geral do Speech to Text . Para guias de uso passo a passo, consulte streaming do 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:
Esta biblioteca pode ser usada em qualquer projeto baseado em JavaScript. Se você usa React, considere o
hook useScribe, que oferece
gerenciamento de estado e controle do ciclo de vida integrados.
Uso
Veja um exemplo mínimo funcional que se conecta ao Scribe e registra os resultados da transcrição:
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 de conexão
Scribe.connect() aceita opções de microfone ou opções manuais de áudio. Ambas compartilham um conjunto comum de opções básicas.
Opções básicas
Opções de microfone
Passe um objeto microphone para transmitir áudio diretamente do microfone do usuário. A conexão gerencia getUserMedia e a codificação de áudio automaticamente.
Opções manuais de áudio
Passe audioFormat e sampleRate para enviar dados de áudio manualmente por meio de connection.send().
Enum AudioFormat
Modo de microfone
Transmita áudio diretamente do microfone do usuário:
Modo manual de áudio (transcrição de arquivo)
Transcreva arquivos de áudio pré-gravados enviando dados de áudio manualmente:
RealtimeConnection
Scribe.connect() retorna uma instância de RealtimeConnection com os seguintes métodos.
on(event, listener)
Registre um ouvinte de evento. Consulte Eventos para ver os tipos de evento disponíveis.
off(event, listener)
Remova um ouvinte de evento registrado anteriormente.
send(data)
Envie dados de áudio ao Scribe (somente no modo manual de áudio).
O campo previousText só pode ser enviado no primeiro trecho de áudio de uma sessão. Enviá-lo em
trechos posteriores causa um erro.
commit()
Confirme manualmente a transcrição atual. Necessário apenas ao usar CommitStrategy.MANUAL.
close()
Feche a conexão WebSocket e limpe os recursos (stream do microfone, contexto de áudio).
Eventos
Registre ouvintes de eventos usando connection.on(event, listener). Todos os eventos estão disponíveis como constantes no enum RealtimeEvents.
Eventos de transcrição
O tipo WordsItem contém informações de tempo por palavra:
Eventos de conexão
Eventos de erro
Todos os eventos de erro recebem { error: string }.
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
Veja um exemplo completo que transcreve áudio do microfone com uma estratégia de confirmação baseada em VAD: