VocalStack Logo

Documentation

Obtenir des données de transcription

Obtenez des données à partir de transcriptions en attente ou terminées

Sessions de transcription

Surveiller et gérer l'état de la transcription avec des sessions

Traduire une transcription

Traduire le texte transcrit dans une autre langue

Transcription audio à partir d'URL

Transcrire la parole d'un audio préenregistré dans une URL en texte brut

Jetons d'authentification côté client

Créer un jeton d'authentification temporaire pour les requêtes côté client

Demande de transcription et réponse

Options et réponses de requête communes pour toutes les opérations de transcription

Transcrire et présenter une session polyglotte

Créer une session pouvant être utilisée pour diffuser une transcription en direct via un lien public partageable

Transcrire à partir d'un microphone ou d'un LiveStream

Parcourir la documentation
Transcrire le discours en direct à partir d'un microphone ou d'un flux en direct. Intégrez Polyglot pour créer un lien public partageable pour la transcription que les utilisateurs peuvent lire dans n'importe quelle langue.
Pour transcrire à partir d'un microphone, nous devons envoyer continuellement des paquets de flux de données audio à l'API VocalStack.
JavaScript
import { LiveTranscription } from '@vocalstack/js-sdk'; const sdk = new LiveTranscription({ apiKey: 'YOUR-API-KEY' }); const stream = await sdk.connect({ // Optional: Integrate this stream with a Polyglot session polyglot_id: 'YOUR-POLYGLOT-SESSION-ID', // Optional: language of the speech spoken // (this can be used to improve the transcription accuracy) language: 'en', // Optional: Translate the transcription to these languages translations: ['de'], // Optional: Stop the stream after this many seconds of inactivity timeout_period_s: 60, // Optional: Hard stop the stream after this many seconds max_duration_s: 300, }); // Start the stream stream.start(); // Get audio data from a microphone and send it to the stream // stream.sendBuffer(buffer); // *** This is a placeholder for the actual implementation *** // Manually stop the stream (in this example, after 60 seconds) // If max_duration_s is set, stopping the stream is optional setTimeout(() => stream.stop(), 60000); // Listen for stream transcription data stream.onData((response) => { const { status, data } = response; console.log(status); // 'waiting', 'processing', 'done', 'stopping' or 'error' if (data) { console.log(data.timeline); // an object with the transcription timeline } if (status === 'done') { console.log(data.summary); // a summary of the transcription console.log(data.keywords); // an array of keywords console.log(data.paragraphs); // the entire transcription in paragraph form } });
L'obtention des données de flux audio diffère en fonction de l'environnement dans lequel vous souhaitez exécuter l'opération de transcription. Voici quelques exemples de la façon dont vous pouvez le faire:
Dans NextJS, vous devez installer un package qui peut récupérer des données audio de votre appareil, que vous pouvez ensuite transférer vers l'API VocalStack. Voici un exemple:
JavaScript
const mic = require('mic'); // Create a new instance of the microphone utility const micInstance = mic(); // Get the audio input stream const micStream = micInstance.getAudioStream(); // Capture the audio data from the microphone micStream.on('data', (data) => { stream.sendBuffer(data); // send the buffer data to the VocalStack API }); // Start capturing audio from the microphone micInstance.start();
Sur le navigateur web, vous pouvez utiliser le. MediaRecorder (Il peut aussi être une bonne idée d'utiliser un paquet comme.py, qui peut être installé sur un serveur de base de données.) recordrtc qui améliore la compatibilité du navigateur)
JavaScript
// Request access to the microphone const mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true }); // Create a MediaRecorder instance to capture audio data const mediaRecorder = new MediaRecorder(mediaStream); // Event handler to process audio data packets mediaRecorder.ondataavailable = async (event) => { const blob = event.data; // this is the audio packet (Blob) const buffer = await blob.arrayBuffer(); // convert the Blob to a Buffer stream.sendBuffer(buffer); // send the buffer data to the VocalStack API }; // Start capturing audio, and send it to the stream every second mediaRecorder.start(1000);
Notez que pour accéder à l'API VocalStack sur les clients web, vous devrez utiliser un jeton d'authentification:
Jetons d'authentification côté client
Créer un jeton d'authentification temporaire pour les requêtes côté client. Implémentez en toute sécurité les requêtes API dans les navigateurs Web sans exposer vos clés API.
L'API VocalStack peut être utilisée pour transcrire n'importe quelle URL HLS LiveStream, y compris les sources telles que Youtube Live, Facebook Live et Twitch. Veuillez noter que l'URL du flux doit être un. .m3u8 extension de fichier qui représente un fichier de playlist HLS (HTTP Live Streaming) valide.
JavaScript
import { LiveTranscription } from '@vocalstack/js-sdk'; const sdk = new LiveTranscription({ apiKey: 'YOUR-API-KEY' }); const stream = await sdk.connect({ // must be a valid HLS streaming protocol livestream_url: 'http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/nonuk/sbr_low/ak/bbc_world_service.m3u8', // The rest of these options are the same as for microphone live transcriptons }); stream.start(); stream.onData((response) => { // The response object is the same as the one // returned by microphone transcriptions });
Intégrer des transcriptions en direct avec Polyglot est aussi simple que d'ajouter un polyglot_id option à la demande de transcription, comme démontré dans les exemples ci-dessus.
Polyglot crée un lien public partageable associé à vos transcriptions (le lien peut être protégé par mot de passe):
  • Les utilisateurs peuvent lire votre transcription en temps réel en utilisant le lien.
  • Les utilisateurs peuvent choisir la langue dans laquelle lire la transcription en temps réel.
  • Les utilisateurs peuvent lire votre transcription plus tard, et toutes les autres transcriptions intégrées à votre session Polyglot particulière.
Vous êtes invités à utiliser l'API VocalStack et à implémenter votre propre interface utilisateur sous marque blanche au lieu d'utiliser celle fournie par VocalStack. Nous aimerions en entendre parler si vous le faites, afin que nous puissions apprendre comment améliorer notre produit!
En savoir plus sur le fonctionnement de Polyglot à Voir sur vocalstack.com/polyglot.
Transcrire et présenter une session polyglotte
Créer une session pouvant être utilisée pour diffuser une transcription en direct via un lien public partageable. Les utilisateurs peuvent lire les transcriptions en direct dans leur langue préférée, et même les transcriptions passées lorsque votre session est inactive.
Obtenir des données de transcription
Obtenez des données à partir de transcriptions en attente ou terminées. Cela inclut la chronologie de la transcription, les mots clés, le résumé et les segments de paragraphe.
Jetons d'authentification côté client
Créer un jeton d'authentification temporaire pour les requêtes côté client. Implémentez en toute sécurité les requêtes API dans les navigateurs Web sans exposer vos clés API.
Scroll Up