VocalStack Logo

Documentation

Obțineți date de transcriere

Obțineți date din transcrieri în așteptare sau finalizate

Sesiuni de transcriere

Monitorizați și gestionați starea transcrierii cu sesiuni

Traduceți o transcriere

Traduceți textul transcris într-o altă limbă

Transcrie audio de la URL

Transcrieți vorbirea din audio preînregistrat într-un URL în text simplu

Token-uri de autentificare pe partea clientului

Creează un token de autentificare temporar pentru solicitările de pe partea clientului

Cerere de transcriere și răspuns

Opțiuni de solicitare și răspunsuri comune pentru toate operațiunile de transcriere Utilizați opțiunile pentru a configura setările de transcriere

Transcrie și prezintă o sesiune poliglotă

Creați o sesiune care poate fi folosită pentru a difuza o transcriere în direct printr-un link public partajat

Transcrierea de la un microfon sau LiveStream

Răsfoiți documentația
Transcrieți vorbirea în direct de la un microfon sau de la un flux live. Integrați-vă cu Polyglot pentru a crea un link public pentru transcrierea pe care utilizatorii o pot citi în orice limbă.
Pentru a transcrie de la un microfon trebuie să trimitem în mod continuu pachete de date audio către API-ul 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 } });
Obținerea datelor fluxului audio va fi diferită în funcție de mediul în care doriți să executați operația de transcriere. Iată câteva exemple pentru modul în care puteți face acest lucru:
În NextJS ar trebui să instalați un pachet care poate prelua date audio de pe dispozitivul dvs., pe care le puteți redirecționa apoi către API-ul VocalStack. Iată un exemplu:
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();
În browserul web, puteţi utiliza comanda. MediaRecorder API, așa cum se poate vedea în exemplul următor (poate fi o idee bună să folosiți un pachet ca ) recordrtc care îmbunătățește compatibilitatea browserului)
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);
Rețineți că pentru accesul la API-ul VocalStack pe clienții web va trebui să utilizați un token de autentificare:
Token-uri de autentificare pe partea clientului
Creează un token de autentificare temporar pentru solicitările de pe partea clientului. Implementați în siguranță solicitările API în browserele web fără a expune cheile API.
VocalStack API poate fi folosit pentru a transcrie orice URL HLS LiveStream, inclusiv surse precum Youtube Live, Facebook Live și Twitch. Vă rugăm să rețineți că URL-ul fluxului trebuie să fie un. .m3u8 este o extensie de fișier care reprezintă un fișier de listă de redare HLS valid (HTTP Live Streaming).
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 });
Integrarea transcrierilor live cu Polyglot este la fel de simplă ca adăugarea unui. poliglot_id opțiune la cererea de transcriere, așa cum se demonstrează în exemplele de mai sus.
Polyglot creează un link public asociat cu transcrierile tale (link-ul poate fi protejat cu parolă):
  • Utilizatorii pot citi transcrierea în timp real, utilizând linkul.
  • Utilizatorii pot alege limba în care să citească transcrierea în timp real.
  • Utilizatorii pot citi transcrierea ta la un moment ulterior, și toate celelalte transcrieri integrate cu sesiunea ta Polyglot.
Sunteți bineveniți să utilizați API-ul VocalStack și să implementați propria interfață de utilizator cu etichetă albă în loc să utilizați cea furnizată de VocalStack. Ne-ar plăcea să aud despre asta, dacă o faci, ca să putem învăţa cum să ne îmbunătăţim produsul!
Aflați mai multe despre cum funcționează Polyglot la. Despre vocalstack.com/polyglot.
Transcrie și prezintă o sesiune poliglotă
Creați o sesiune care poate fi folosită pentru a difuza o transcriere în direct printr-un link public partajat. Utilizatorii pot citi transcrieri live în limba preferată și chiar transcrieri anterioare atunci când sesiunea dvs. este inactivă.
Obțineți date de transcriere
Obțineți date din transcrieri în așteptare sau finalizate. Aceasta include cronologia transcrierii, cuvintele cheie, rezumatul și segmentele paragrafelor.
Token-uri de autentificare pe partea clientului
Creează un token de autentificare temporar pentru solicitările de pe partea clientului. Implementați în siguranță solicitările API în browserele web fără a expune cheile API.
Scroll Up