VocalStack Logo

Documentation

Obtener datos de transcripción

Obtenga datos de transcripciones pendientes o completadas

Sesiones de transcripción

Monitoree y administre el estado de transcripción con sesiones

Traducir una transcripción

Traducir texto transcrito a otro idioma

Transcribir audio desde URL

Transcribir el discurso de audio pregrabado en una URL a texto plano

Tokens de autenticación del lado del cliente

Crear un token de autenticación temporal para solicitudes del lado del cliente

Solicitud y respuesta de transcripción

Opciones de solicitud y respuestas comunes para todas las operaciones de transcripción

Transcribir y presentar una sesión políglota

Crear una sesión que se pueda utilizar para transmitir una transcripción en vivo a través de un enlace público compartible

Transcribir desde un micrófono o LiveStream

Buscar en la documentación
Transcribe el discurso en vivo desde un micrófono o transmisión en vivo. Integrar con Polyglot para crear un enlace público compartible para la transcripción que los usuarios puedan leer en cualquier idioma.
Para transcribir desde un micrófono debemos enviar continuamente paquetes de flujo de datos de audio a la API de 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 } });
Obtener los datos de la secuencia de audio difiere según el entorno en el que se desee ejecutar la operación de transcripción. Aquí hay un par de ejemplos de cómo podrías hacer esto:
En NextJS deberías instalar un paquete que pueda obtener datos de audio de tu dispositivo, que luego puedes reenviar a la API de VocalStack. Aquí hay un ejemplo:
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();
En el navegador web, puede que desee usar el. MediaRecorder API como se puede ver en el siguiente ejemplo (también puede ser una buena idea usar un paquete como recordrtc que mejora la compatibilidad del navegador)
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);
Tenga en cuenta que para acceder a la API de VocalStack en clientes web, necesitará usar un token de autorización:
Tokens de autenticación del lado del cliente
Crear un token de autenticación temporal para solicitudes del lado del cliente. Implemente solicitudes de API de forma segura en navegadores web sin exponer sus claves de API.
VocalStack API se puede utilizar para transcribir cualquier URL de HLS LiveStream, incluyendo fuentes como Youtube Live, Facebook Live y Twitch. Tenga en cuenta que la URL de la transmisión debe ser un. .m3u8 extensión de archivo que representa un archivo de lista de reproducción HLS (HTTP Live Streaming) válido.
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 });
Integrar las transcripciones en vivo con Polyglot es tan simple como añadir un polyglot_id opción a la solicitud de transcripción, como se muestra en los ejemplos anteriores.
Polyglot crea un enlace público compartible asociado con sus transcripciones (el enlace puede estar protegido con contraseña):
  • Los usuarios pueden leer su transcripción en tiempo real mediante el enlace.
  • Los usuarios pueden elegir el idioma en el que leer la transcripción en tiempo real.
  • Los usuarios pueden leer su transcripción en un momento posterior, y todas las demás transcripciones integradas con su sesión de Polyglot en particular.
Puedes usar la API de VocalStack e implementar tu propia interfaz de usuario con etiqueta blanca en lugar de usar la que proporciona VocalStack. Nos encantaría saber de ello si lo hace, ¡para que podamos aprender cómo hacer nuestro producto mejor!
Aprende más sobre cómo funciona Polyglot en. Encuentra más información en vocalstack.com/polyglot.
Transcribir y presentar una sesión políglota
Crear una sesión que se pueda utilizar para transmitir una transcripción en vivo a través de un enlace público compartible. Los usuarios pueden leer las transcripciones en vivo en su idioma preferido, e incluso las transcripciones pasadas cuando su sesión está inactiva.
Obtener datos de transcripción
Obtenga datos de transcripciones pendientes o completadas. Esto incluye la línea de tiempo de transcripción, palabras clave, resumen y segmentos de párrafo.
Tokens de autenticación del lado del cliente
Crear un token de autenticación temporal para solicitudes del lado del cliente. Implemente solicitudes de API de forma segura en navegadores web sin exponer sus claves de API.
Scroll Up