Presentamos Eleven v4Conoce Eleven v4, nuestro modelo más expresivo hasta la fecha. Con 3 veces más créditos incluidos en Creator+ hasta el 12 de octubre

Ir al contenido

Cómo funciona Scribe v2 Realtime

Escrito por
Tadas Petra
Publicado
Última actualización

EscucharEscucha este artículo

Scribe v2 Realtime es un modelo de Voz a Texto extremadamente rápido que puedes usar para transcripciones en directo. La combinación de velocidad y calidad permite casos de uso que antes no eran posibles.

Por ejemplo, pudimos crear este traductor de idiomas en tiempo real con Scribe v2 Realtime y la API Translator de Chrome.

Live transcription on the left and committed transcripts on the right in a list

Si quieres el tutorial paso a paso de esta demo, puedes encontrarlo aquí. Esta guía se centra en explicar a grandes rasgos Scribe v2 Realtime y cómo funciona.

El modelo

ElevenLabs ofrece dos modelos para transcribir audio: Scribe v2 y Scribe v2 Realtime.

Optimized For
Scribe v2
Accuracy
Scribe v2 Realtime
Ultra low latency
Use Case
Scribe v2
Batch transcription, subtitling, and captioning at scale.
Scribe v2 Realtime
Voice agents, meeting notetakers, and other live applications.

Scribe v2 es una gran opción para transcripciones asíncronas, mientras que Scribe v2 Realtime se usa cuando necesitas que la transcripción ocurra en directo.

Para una aplicación de traducción de idiomas en directo, Scribe v2 Realtime es la opción más evidente.

La API

Para usar este modelo, necesitas utilizar la API de Voz a Texto. Para empezar, debes seguir dos pasos:

  1. Inicializar una instancia de Scribe
  2. Conectarte a la API

Según desde dónde llames a esta API, tendrás que inicializarla de una forma u otra. Si la llamas desde el servidor, puedes inicializarla directamente con la clave de API y usar esa instancia para conectarte a Scribe v2 Realtime.

Sin embargo, exponer una clave de API en el cliente supone un gran riesgo de seguridad. Por eso, si transmites desde el cliente, tendrás que inicializarla con un token de un solo uso.

Este token debe generarse en el servidor para proteger la clave de API.

Como estamos creando una aplicación de React, usaremos el enfoque del token. Este token se envía durante la fase de conexión, así que crear una instancia de Scribe es muy sencillo.

import { useScribe } from "@elevenlabs/react";

function MyComponent() {
  const scribe = useScribe({
    modelId: "scribe_v2_realtime",
  });
  
  //...
}

Conectarse a Scribe v2 Realtime

Una vez que lo hayas inicializado correctamente, puedes conectarte a Scribe v2 Realtime. Para el proyecto de traducción de idiomas con React, usamos streaming desde el cliente y, por tanto, necesitábamos un token de un solo uso del backend. Este token debe generarse y enviarse cada vez que nos conectamos a la API.

const handleStart = async () => {
  const token = await fetchTokenFromServer();

  await scribe.connect({
    token,
    microphone: {
	  echoCancellation: true,
	  noiseSuppression: true,
    },
  });
};


Estrategia de confirmación

Al trabajar con Scribe v2 Realtime, hay dos tipos de transcripciones: parciales y confirmadas.

Las transcripciones parciales son las «transcripciones en directo». Esta transcripción se realiza mediante websocket y se te devuelve mientras hablas. Por ejemplo, si dices «El gato está...», verás esas palabras transmitidas en tiempo real.

El otro tipo es una transcripción confirmada. Las transcripciones funcionan por segmentos. Cuándo y cómo elijas confirmar tus transcripciones definirá cómo se segmenta la transcripción. Para ello, debes definir una estrategia de confirmación.

Hay dos opciones de estrategia de confirmación. La primera es manual y te da control total para decidir cuándo se confirman las transcripciones. La mejor práctica es hacerlo durante silencios u otros momentos lógicos, como un cambio de turno.

La otra opción es dejar que Scribe v2 Realtime determine por sí solo segmentos de calidad mediante la detección de actividad de voz (VAD). Este enfoque detecta automáticamente segmentos de voz y silencio. Cuando se alcanza un umbral de silencio, el motor de transcripción confirma el segmento automáticamente.

¿Por qué necesitas una estrategia de confirmación?

Mientras hablas, Scribe v2 Realtime transcribe cada palabra. Por tanto, si dices «I scream...», podría reconocerlo como «Ice cream...». Pero cuando tiene el contexto completo del segmento «I scream every time I see a spider in the bathroom», el resultado es más preciso.

Así, puedes mostrar las transcripciones parciales en tiempo real, mientras que las transcripciones confirmadas ofrecen una versión más precisa del historial de la conversación.

Mostrar transcripciones

Una vez conectado a Scribe v2 Realtime, la transcripción ya está en marcha. Puedes acceder a las transcripciones mediante las propiedades partialTranscript y committedTranscripts.

<div>
  <button onClick={handleStart} disabled={scribe.isConnected}>
	Start Recording
  </button>
  <button onClick={scribe.disconnect} disabled={!scribe.isConnected}>
	Stop
  </button>

  {scribe.partialTranscript && <p>Live: {scribe.partialTranscript}</p>}

  <div>
	{scribe.committedTranscripts.map((t) => (
	  <p key={t.id}>{t.text}</p>
	))}
  </div>
</div>

partialTranscript es la transcripción en tiempo real del segmento actual que se está transcribiendo. committedTranscript es el historial de la conversación: una lista de segmentos que se han confirmado mientras estabas conectado a Scribe v2 Realtime.

Traduce con IA

Eso es todo lo que necesitas para obtener transcripciones de tus conversaciones en tiempo real. Ahora puedes darle a esta app una interfaz atractiva o añadir más funciones, como la traducción de idiomas en directo.

Para crear el traductor de idiomas en tiempo real de la demo, envías las transcripciones a la API Chrome AI Translator y muestras el resultado en tiempo real.

Empieza a crear

¡Gracias por leernos! Regístrate en ElevenLabs y empieza a crear tus aplicaciones.

Artículos relacionados

Crea con el audio IA de la más alta calidad