Découvrez Eleven v4Découvrez Eleven v4, notre modèle le plus expressif à ce jour.

Aller au contenu

Fonctionnement de Scribe v2 Realtime

Rédigé par
Tadas Petra
Publié
Dernière mise à jour

ÉcouterÉcouter cet article

Scribe v2 Realtime est un modèle de Speech to Text extrêmement rapide, utilisable pour des transcriptions en direct. Sa combinaison de rapidité et de qualité ouvre la voie à des cas d'usage jusqu'alors impossibles.

Par exemple, nous avons pu concevoir ce traducteur de langues en temps réel avec Scribe v2 Realtime et l'API Chrome Translator.

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

Si vous souhaitez suivre le tutoriel pas à pas de cette démo, vous le trouverez ici. Ce guide présente le fonctionnement de Scribe v2 Realtime à un niveau général.

Le modèle

ElevenLabs propose deux modèles pour transcrire l'audio : Scribe v2 et 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 est un excellent choix pour les transcriptions pouvant être effectuées de manière asynchrone, tandis que Scribe v2 Realtime convient lorsque la transcription doit se faire en direct.

Pour une application de traduction de langues en direct, Scribe v2 Realtime est le choix évident.

L'API

Pour utiliser ce modèle, vous devez utiliser l'API Speech to Text. Deux étapes sont nécessaires pour démarrer :

  1. Initialiser une instance Scribe
  2. Se connecter à l'API

Vous devrez initialiser cette API différemment selon l'endroit depuis lequel vous l'appelez. Côté serveur, vous pouvez l'initialiser directement avec la clé API, puis utiliser cette instance pour vous connecter à Scribe v2 Realtime.

Toutefois, exposer une clé API côté client présente un risque de sécurité important. Si vous diffusez donc les données côté client, vous devrez l'initialiser avec un jeton à usage unique.

Ce jeton doit être généré côté serveur afin de protéger la clé API.

Comme nous développons une application React, nous utiliserons l'approche par jeton. Ce jeton est transmis lors de la phase de connexion, ce qui simplifie la création d'une instance Scribe.

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

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

Connexion à Scribe v2 Realtime

Après avoir effectué l'initialisation appropriée, vous pouvez vous connecter à Scribe v2 Realtime. Pour le projet React de traduction de langues, nous avons utilisé la diffusion côté client et avons donc eu besoin d'un jeton à usage unique provenant du backend. Ce jeton doit être généré et transmis à chaque connexion à l'API.

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

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


Stratégie de validation

Avec Scribe v2 Realtime, il existe deux types de transcriptions : partielles et validées.

Les transcriptions partielles sont les « transcriptions en direct ». Cette transcription s'effectue via WebSocket et vous est renvoyée à mesure que vous parlez. Si vous dites « Le chat est... », ces mots s'afficheront en temps réel.

L'autre type est la transcription validée. Les transcriptions fonctionnent par segments. Le moment et la façon dont vous choisissez de valider vos transcriptions déterminent leur segmentation. Vous devez donc définir une stratégie de validation.

Deux options s'offrent à vous pour la stratégie de validation. La première est manuelle et vous donne le contrôle total sur le moment où les transcriptions sont validées. Il est recommandé de le faire pendant les silences ou à d'autres moments logiques, par exemple lors d'un changement de locuteur.

L'autre option consiste à laisser Scribe v2 Realtime déterminer lui-même des segments de qualité grâce à la détection de l'activité vocale (VAD). Cette approche détecte automatiquement les segments de parole et de silence. Lorsqu'un seuil de silence est atteint, le moteur de transcription valide automatiquement le segment.

Pourquoi avez-vous besoin d'une stratégie de validation ?

Lorsque vous parlez, Scribe v2 Realtime transcrit chaque mot. Ainsi, si vous dites « Je crie... », cela peut être reconnu comme « J'écris... ». Mais lorsque le contexte complet du segment est disponible, par exemple « Je crie chaque fois que je vois une araignée dans la salle de bains », le résultat est plus précis.

Les transcriptions partielles peuvent donc être affichées en temps réel, tandis que les transcriptions validées offrent un historique plus précis de la conversation.

Afficher les transcriptions

Une fois connecté à Scribe v2 Realtime, la transcription est en cours. Vous pouvez accéder aux transcriptions à l'aide des propriétés partialTranscript et 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 correspond à la transcription en temps réel du segment en cours. committedTranscript correspond à l'historique de la conversation et consiste en une liste des segments validés pendant la connexion à Scribe v2 Realtime.

Traduire avec l'IA

C'est tout ce dont vous avez besoin pour obtenir des transcriptions en temps réel de vos conversations. Vous pouvez désormais enrichir cette application d'une interface utilisateur soignée ou ajouter des fonctionnalités comme la traduction de langues en direct.

Pour concevoir le traducteur de langues en temps réel de la démo, transmettez les transcriptions à l'API Chrome AI Translator et affichez le résultat en temps réel.

Commencez à développer

Merci de votre lecture ! Inscrivez-vous à ElevenLabs et commencez à développer vos applications !

Rédigé par

Tadas Petra est ingénieur en relations développeurs et aide les développeurs à utiliser la suite de produits ElevenLabs. Il est aussi le fondateur de Hungrimind, une plateforme d’apprentissage pour développeurs. Auparavant, il était Lead Developer Advocate chez Agora et formateur chez Zero To Mastery.

Articles similaires

Créez avec l'audio IA de la plus haute qualité