SDK JavaScript
Scribe : transcription parole-texte en temps réel avec JavaScript
Pour une présentation de Scribe et de ses capacités, consultez la présentation de Speech to Text . Pour des guides d’utilisation étape par étape, consultez le streaming côté client.
Installation
Utilisez la compétence Speech to Text d’ElevenLabs pour transcrire de l’audio depuis votre assistant de programmation IA :
Cette bibliothèque peut être utilisée dans tout projet basé sur JavaScript. Si vous utilisez React, envisagez le
hook useScribe, qui fournit une gestion intégrée
de l’état et du cycle de vie.
Utilisation
Voici un exemple minimal fonctionnel qui se connecte à Scribe et affiche les résultats de transcription :
Obtenir un jeton
Scribe nécessite un jeton à usage unique pour l’authentification. Créez un point de terminaison API sur votre serveur :
Votre clé API ElevenLabs est sensible. Ne l’exposez jamais au client. Générez toujours le jeton sur le serveur.
Options de connexion
Scribe.connect() accepte des options de microphone ou des options audio manuelles. Les deux partagent un ensemble commun d’options de base.
Options de base
Options de microphone
Transmettez un objet microphone pour diffuser l’audio directement depuis le microphone de l’utilisateur. La connexion gère automatiquement getUserMedia et l’encodage audio.
Options audio manuelles
Transmettez audioFormat et sampleRate pour envoyer manuellement des données audio via connection.send().
Énumération AudioFormat
Mode microphone
Diffusez l’audio directement depuis le microphone de l’utilisateur :
Mode audio manuel (transcription de fichier)
Transcrivez des fichiers audio préenregistrés en envoyant manuellement les données audio :
RealtimeConnection
Scribe.connect() renvoie une instance RealtimeConnection avec les méthodes suivantes.
on(event, listener)
Enregistrez un écouteur d’événements. Consultez Événements pour connaître les types d’événements disponibles.
off(event, listener)
Supprimez un écouteur d’événements précédemment enregistré.
send(data)
Envoyez des données audio à Scribe (mode audio manuel uniquement).
Le champ previousText ne peut être envoyé que dans le premier fragment audio d’une session. Son envoi dans
les fragments suivants génère une erreur.
commit()
Validez manuellement la transcription actuelle. Nécessaire uniquement avec CommitStrategy.MANUAL.
close()
Fermez la connexion WebSocket et libérez les ressources (flux du microphone, contexte audio).
Événements
Enregistrez des écouteurs d’événements à l’aide de connection.on(event, listener). Tous les événements sont disponibles sous forme de constantes dans l’énumération RealtimeEvents.
Événements de transcription
Le type WordsItem contient les informations de minutage au niveau des mots :
Événements de connexion
Événements d’erreur
Tous les événements d’erreur reçoivent { error: string }.
Stratégies de validation
Contrôlez le moment où les transcriptions sont validées :
Pour en savoir plus, consultez Transcriptions et stratégies de validation.
Exemple complet
Voici un exemple complet qui transcrit l’audio du microphone avec une stratégie de validation basée sur le VAD :