Découvrez Eleven v4Découvrez Eleven v4, notre modèle le plus expressif à ce jour. Avec 3× plus de crédits inclus avec Creator+ jusqu’au 12 octobre

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 Speech to Text extrêmement rapide, utilisable pour des transcriptions en direct. Cette combinaison de vitesse et de qualité ouvre des cas d'usage jusqu'alors impossibles.

Par exemple, nous avons créé ce traducteur linguistique 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

Pour accéder au tutoriel pas à pas de cette démo, consultez-le ici. Ce guide présente le fonctionnement et les principes clés de Scribe v2 Realtime.

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 idéal pour les transcriptions pouvant être traitées de manière asynchrone, tandis que Scribe v2 Realtime convient lorsque la transcription doit se faire en direct.

Pour une application de traduction linguistique en direct, Scribe v2 Realtime est le choix naturel.

L'API

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

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

L'initialisation de cette API dépend de l'environnement 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.

Cependant, exposer une clé API côté client représente un risque de sécurité important. Si vous diffusez l'audio côté client, vous devrez donc 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 créons une application React, nous utiliserons l'approche par jeton. Celui-ci 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

Une fois l'initialisation terminée, vous pouvez vous connecter à Scribe v2 Realtime. Pour le projet de traduction linguistique React, nous avons diffusé l'audio 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 ». Elles sont générées via WebSocket et vous sont renvoyées au fur et à mesure que vous parlez. Ainsi, si vous dites « Le chat est ... », ces mots s'afficheront en temps réel.

L'autre type est la transcription validée. Les transcriptions sont traitées par segments. Le moment et la manière dont vous choisissez de valider vos transcriptions déterminent leur segmentation. Vous devez donc définir une stratégie de validation.

Deux stratégies de validation sont possibles. La première est manuelle et vous laisse le contrôle total du moment où les transcriptions sont validées. Il est recommandé de le faire lors des silences ou à d'autres moments logiques, par exemple lors d'un changement de locuteur.

L'autre option consiste à laisser Scribe v2 Realtime identifier lui-même des segments pertinents grâce à la détection d'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 ?

Pendant que vous parlez, Scribe v2 Realtime transcrit chaque mot. Ainsi, si vous dites « Je crie... », cela peut être reconnu comme « J'écris... ». En revanche, avec le contexte complet du segment « Je crie chaque fois que je vois une araignée dans la salle de bain », 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 une version plus précise de l'historique de la conversation.

Afficher les transcriptions

Une fois connecté à Scribe v2 Realtime, la transcription démarre. Vous pouvez accéder aux transcriptions via les 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 : 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 maintenant améliorer l'interface de cette application ou ajouter d'autres fonctionnalités, comme la traduction linguistique en direct.

Pour créer le traducteur linguistique 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 à créer

Merci de votre lecture ! Inscrivez-vous à ElevenLabs et commencez à créer vos applications !

Articles similaires

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