VocalStack Logo

Documentation

Obter os datos de transcrición

Obter datos de transcricións pendentes ou completadas

Sesións de transcripción

Vixiar e xestionar o estado da transcrición con sesións

Traducir unha transcrición

Traducir o texto transcrito a outro idioma

Transcreba o son desde un URL

Transcríbe a voz de audio pregrabado nun URL a texto simple

Tokens de autenticación do lado do cliente

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

Solicitude e resposta de transcrición

Opcións de petición e respostas comúns para todas as operacións de transcrición

Transcreba e presente unha sesión de Polyglot

Crear unha sesión que se poida usar para difundir unha transcrición en directo mediante unha ligazón pública compartible

Transcreba desde un micrófono ou LiveStream

Examinar a documentación
Transcreba o discurso en directo desde un micrófono ou unha transmisión en directo. Integrar con Polyglot para crear unha ligazón pública compartible para a transcrición que os usuarios poidan ler en calquera idioma.
Para transcribir desde un micrófono debemos enviar continuamente paquetes de datos de son á 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 } });
A obtención dos datos da transmisión de son difire segundo o ambiente no que queira executar a operación de transcrición. Aquí hai un par de exemplos de como pode facer isto:
En NextJS debería instalar un paquete que poida obter datos de son do seu dispositivo, que logo pode reenviar á API VocalStack. Aquí tedes un exemplo:
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();
No navegador web pode que queira empregar o MediaRecorder API como se pode ver no seguinte exemplo. (Tamén pode ser unha boa idea usar un paquete como recordrtc que mellora a compatibilidade do 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);
Lembre que para acceder á API de VocalStack nos clientes web terá que usar un token de autenticación:
Tokens de autenticación do lado do cliente
Crear un token de autenticación temporal para as solicitudes do lado do cliente. Implemente de forma segura as solicitudes da API nos navegadores web sen expor as súas chaves da API.
A API VocalStack pode ser usada para transcrever calquera URL HLS LiveStream, incluíndo fontes como Youtube Live, Facebook Live e Twitch. Lembre que o URL da transmisión debe ser un . m3u8 extensión de ficheiro que representa un ficheiro de lista de reprodució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 as transcricións en directo con Polyglot é tan sinxelo como engadir un poliglot_ id opción para a petición de transcrición, como se demostra nos exemplos de arriba.
Polyglot crea unha ligazón pública compartible asociada coas súas transcricións (a ligazón pode estar protexida por contrasinal):
  • Os usuarios poden ler a súa transcrición en tempo real mediante a ligazón.
  • Os usuarios poden escoller a lingua na que ler a transcrición en tempo real.
  • Os usuarios poden ler a súa transcrición máis tarde, e todas as outras transcricións integradas coa súa sesión particular de Polyglot.
Pode usar a API de VocalStack e implementar a súa propia interface de usuario con etiqueta branca no canto de usar a que proporciona VocalStack. Encantaríanos escoitalo., para que poidamos aprender a facer o noso produto mellor!
Aprenda máis sobre como funciona Polyglot en vocalstack.com/polyglot.
Transcreba e presente unha sesión de Polyglot
Crear unha sesión que se poida usar para difundir unha transcrición en directo mediante unha ligazón pública compartible. Os usuarios poden ler as transcricións en directo no idioma que prefiran, e mesmo as transcricións pasadas cando a sesión estea inactiva.
Obter os datos de transcrición
Obter datos de transcricións pendentes ou completadas. Isto inclúe a liña de tempo da transcrición, palabras chave, resumo e segmentos de parágrafo.
Tokens de autenticación do lado do cliente
Crear un token de autenticación temporal para as solicitudes do lado do cliente. Implemente de forma segura as solicitudes da API nos navegadores web sen expor as súas chaves da API.
Scroll Up