SDK de JavaScript
Scribe: transcripción de voz a texto en tiempo real con JavaScript
Para obtener una visión general de Scribe y sus funciones, consulta la visión general de Voz a Texto . Para ver guías de uso paso a paso, consulta streaming del lado del cliente.
Instalación
Usa la skill de voz a texto de ElevenLabs para transcribir audio desde tu asistente de programación con IA:
Esta biblioteca se puede usar en cualquier proyecto basado en JavaScript. Si usas React, considera el
hook useScribe, que proporciona
gestión de estado y control del ciclo de vida integrados.
Uso
Este es un ejemplo funcional mínimo que se conecta a Scribe y registra los resultados de la transcripción:
Obtener un token
Scribe requiere un token de un solo uso para la autenticación. Crea una ruta de API en tu servidor:
Tu clave de API de ElevenLabs es confidencial. No la expongas nunca al cliente. Genera siempre el token en el servidor.
Opciones de conexión
Scribe.connect() acepta opciones de micrófono u opciones de audio manual. Ambas comparten un conjunto común de opciones básicas.
Opciones básicas
Opciones de micrófono
Pasa un objeto microphone para transmitir audio directamente desde el micrófono del usuario. La conexión gestiona getUserMedia y la codificación de audio automáticamente.
Opciones de audio manual
Pasa audioFormat y sampleRate para enviar datos de audio manualmente mediante connection.send().
Enumeración AudioFormat
Modo de micrófono
Transmite audio directamente desde el micrófono del usuario:
Modo de audio manual (transcripción de archivos)
Transcribe archivos de audio pregrabados enviando los datos de audio manualmente:
RealtimeConnection
Scribe.connect() devuelve una instancia de RealtimeConnection con los siguientes métodos.
on(event, listener)
Registra un listener de eventos. Consulta Eventos para conocer los tipos de eventos disponibles.
off(event, listener)
Elimina un listener de eventos registrado anteriormente.
send(data)
Envía datos de audio a Scribe (solo en modo de audio manual).
El campo previousText solo se puede enviar en el primer fragmento de audio de una sesión. Enviarlo en
fragmentos posteriores provoca un error.
commit()
Confirma manualmente la transcripción actual. Solo es necesario al usar CommitStrategy.MANUAL.
close()
Cierra la conexión WebSocket y libera recursos (flujo del micrófono, contexto de audio).
Eventos
Registra listeners de eventos mediante connection.on(event, listener). Todos los eventos están disponibles como constantes en la enumeración RealtimeEvents.
Eventos de transcripción
El tipo WordsItem contiene información de tiempo por palabra:
Eventos de conexión
Eventos de error
Todos los eventos de error reciben { error: string }.
Estrategias de confirmación
Controla cuándo se confirman las transcripciones:
Para más información, consulta Transcripciones y estrategias de confirmación.
Ejemplo completo
Este es un ejemplo completo que transcribe audio del micrófono con una estrategia de confirmación basada en VAD: