VocalStack Logo

Documentation

Dohvaćanje podataka o transkripciji

Dohvaćanje podataka iz čekanja ili dovršenih transkripcija

Seanse transkripcije

Nadziranje i upravljanje stanjem transkripcije sa seansama

Prevedite transkripciju

Prevodio je s hrvatskog na druge jezike

Prepisivati audio s URL- a

Pretvara govor iz unaprijed snimljenog zvuka u URL u obični tekst

Tokeni za provjeru autentičnosti na klijentskoj strani

Napravi privremeni token za provjeru autentičnosti za zahtjeve s klijentske strane

Zahtjev za transkripciju i odgovor

Zajedničke mogućnosti zahtjeva i odgovora za sve operacije transkripcije

Transkripcija i prezentacija poliglotske sesije

Izradite sesiju koja se može koristiti za emitiranje transkripcije uživo putem javne poveznice za dijeljenje

Transkripcija s mikrofona ili prijenosa uživo

Pregledaj dokumentaciju
Prepisivati govor uživo iz mikrofona ili live stream. Integrirajte se s Polyglotom kako biste stvorili javnu poveznicu za dijeljenje transkripcije koju korisnici mogu čitati na bilo kojem jeziku.
Da bismo prepisali iz mikrofona, moramo kontinuirano slati audio podatkovne pakete u VocalStack API.
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 } });
Dobivanje podataka o audio streamu će se razlikovati ovisno o okruženju u kojem želite izvršiti operaciju transkripcije. Evo nekoliko primjera kako biste to mogli učiniti:
U NextJS-u trebate instalirati paket koji može preuzeti audio podatke s vašeg uređaja, koje možete zatim proslijediti na VocalStack API. Evo primjera:
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();
U web pregledniku možete koristiti. MediaRecorderName API kao što se može vidjeti u sljedećem primjeru. (Može biti dobra ideja koristiti paket kao što je ) recordrtc which improves browser compatibility)
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);
Imajte na umu da za pristup VocalStack API na web klijentima morate koristiti autentifikacijsku oznaku:
Tokeni za provjeru autentičnosti na klijentskoj strani
Napravi privremeni token za provjeru autentičnosti za zahtjeve s klijentske strane. Sigurno implementirajte API zahtjeve u web preglednicima bez izlaganja API ključeva.
VocalStack API može se koristiti za transkripciju bilo kojeg HLS LiveStream URL-a, uključujući izvore kao što su Youtube Live, Facebook Live i Twitch. Imajte na umu da URL stream mora biti. .m3u8 datotečna ekstenzija koja predstavlja valjanu datoteku popisa za reprodukciju HLS (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 });
Integriranje live transkripcija s Polyglotom je jednostavno kao dodavanje. Poliglot_id opcija na zahtjev za transkripciju, kao što je prikazano u gornjim primjerima.
Polyglot stvara javni link koji se može dijeliti povezan s vašim transkripcijama (link može biti zaštićen lozinkom):
  • Korisnici mogu čitati vašu transkripciju u stvarnom vremenu pomoću poveznice.
  • Korisnici mogu odabrati jezik na kojem će čitati transkripciju u stvarnom vremenu.
  • Korisnici mogu kasnije pročitati vašu transkripciju, a sve ostale transkripcije integrirane su s vašom određenom Polyglot sesijom.
Možete koristiti VocalStack API i implementirati vlastito bijelo označeno korisničko sučelje umjesto korištenja onoga koje pruža VocalStack. Voljeli bismo čuti o tome ako to učinite, tako da možemo naučiti kako učiniti naš proizvod bolji!
Saznajte više o tome kako Polyglot radi na. Popis jezika vocalstack.com/polyglot.
Transkripcija i prezentacija poliglotske sesije
Izradite sesiju koja se može koristiti za emitiranje transkripcije uživo putem javne poveznice za dijeljenje. Korisnici mogu čitati transkripcije uživo na željenom jeziku, pa čak i prošlim transkripcijama kada je vaša sesija neaktivna.
Dohvaćanje podataka o transkripciji
Dohvaćanje podataka iz čekanja ili dovršenih transkripcija. To uključuje vremensku crtu transkripcije, ključne riječi, sažetak i segmente odlomka.
Tokeni za provjeru autentičnosti na klijentskoj strani
Napravi privremeni token za provjeru autentičnosti za zahtjeve s klijentske strane. Sigurno implementirajte API zahtjeve u web preglednicima bez izlaganja API ključeva.
Scroll Up