VocalStack Logo

Documentation

Атрымаць дадзеныя перапіскі

Атрымаць дадзеныя з чаканых або завершаных перапісаў

Сеансы перапіскі

Назіранне і кіраванне станам транскрыпцыі з дапамогай сеансаў

Пераклад

Перакладаць транскрыпцыю тэксту на іншую мову

Перапісаць гук з URL

Праграма перакладае гук з запісанага аўдыё ў URL у звычайны тэкст

Кліентскія аўтэнтыфікацыйныя токены

Стварыць часовы аўтэнтыфікацыйны токен для запытаў з боку кліента

Запыт і адказ на перапіску

Агульныя параметры запыту і адказу для ўсіх аперацый перапісвання

Транслітарацыя і прэзентацыя сеансу Polyglot

Стварыць сеанс, які можна выкарыстоўваць для трансляцыі транскрыпцыі ў рэжыме рэальнага часу праз публічную спасылку

Транскрыпцыя з мікрафона або LiveStream

Прагляд дакументацыі
Праграма дазваляе перакладаць гук з мікрафона або з аўдыё- і відэа-потокаў. Інтэграцыя з Polyglot для стварэння публічнай спасылкі для транскрыпцыі, якую карыстальнікі могуць чытаць на любой мове.
Для перапісвання з мікрафона трэба пастаянна адпраўляць пакеты аўдыё-даных у 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 } });
Атрыманне дадзеных аўдыё- патоку будзе адрознівацца ў залежнасці ад асяроддзя, у якім вы хочаце выканаць аперацыю транскрыпцыі. Вось некалькі прыкладаў таго, як гэта можна зрабіць:
У NextJS вы павінны ўсталяваць пакет, які можа атрымаць аўдыё дадзеныя з вашага прылады, якія вы можаце перанакіраваць у VocalStack API. Вось прыклад:
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();
У браўзэры вы можаце выкарыстоўваць Запісальнік медыяфайлаўName API, як можна бачыць на наступным прыкладзе. (Таксама можа быць добрай ідэяй выкарыстоўваць пакет, такі як 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);
Заўвага: для доступу да API VocalStack на вэб- кліентах вам спатрэбіцца аўтэнтыфікацыйны токен:
Кліентскія аўтэнтыфікацыйныя токены
Стварыць часовы аўтэнтыфікацыйны токен для запытаў з боку кліента. Бездакорная рэалізацыя запытаў API у браўзарах без выяўлення вашых ключоў API.
VocalStack API можа быць выкарыстана для транскрыпцыі любога HLS LiveStream URL, уключаючы крыніцы, такія як YouTube Live, Facebook Live і Twitch. Адрас URL патоку павінен быць. . m3u8 пашырэнне файла, якое прадстаўляе правільны файл спісу прайгравання 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 });
Інтэграцыя рэальных транскрыпцый з Polyglot простая, як даданне Паліглот option to the transcription request, as demonstrated in the examples above.
Polyglot стварае публічную спасылку, звязаную з вашымі перакладамі (спасылка можа быць абаронена паролем):
  • Вы можаце прачытаць ваш пераклад у рэальным часе, выкарыстоўваючы спасылку.
  • Усе карыстальнікі могуць выбраць мову, на якой яны хочуць чытаць транскрыпцыю ў рэальным часе.
  • Карыстальнікі могуць прачытаць ваш пераклад пазней, а ўсе іншыя пераклады будуць інтэграваныя з вашым сеансам Polyglot.
Вы можаце выкарыстоўваць VocalStack API і рэалізаваць свой уласны белы інтэрфейс, а не выкарыстоўваць той, які прадастаўляецца VocalStack. Мы б хацелі пачуць пра гэта, калі вы гэта зробіце, каб мы маглі даведацца, як зрабіць наш прадукт лепш!
Даведайцеся больш пра тое, як працуе Polyglot на Палітры.
Транслітарацыя і прэзентацыя сеансу Polyglot
Стварыць сеанс, які можна выкарыстоўваць для трансляцыі транскрыпцыі ў рэжыме рэальнага часу праз публічную спасылку. Карыстальнікі могуць чытаць транскрыпцыі ў рэжыме рэальнага часу на іх выбранай мове, і нават мінулыя транскрыпцыі, калі ваш сеанс неактыўна.
Атрымаць дадзеныя перапіскі
Атрымаць дадзеныя з чаканых або завершаных перапісаў. Уключае ў сябе хроналогію транскрыпцыі, ключавыя словы, падрабязнасці і сегменты параграфаў.
Кліентскія аўтэнтыфікацыйныя токены
Стварыць часовы аўтэнтыфікацыйны токен для запытаў з боку кліента. Бездакорная рэалізацыя запытаў API у браўзарах без выяўлення вашых ключоў API.
Scroll Up