VocalStack Logo

Documentation

Отримати дані перекладу

Отримати дані з очікуваних або завершених переписів

Сеанси перекладу

Нагляд і керування станом транскрипції за допомогою сеансів

Перекласти транскрипцію

Перекладати переписаний текст на інший мова

Переписати аудіо з URL

Переписування мовлення з попередньо записаного аудіо у URL у простий текст

Токени розпізнавання з боку клієнта

Створити тимчасовий токен розпізнавання для запитів з боку клієнта

Запит і відповідь на переклад

Спільні параметри запитів і відповідей для всіх операцій транскрипції

Переписувати і презентувати сеанс поліглота

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

Переписування з мікрофона або потоку

Перегляд документації
Переписувати живу промову з мікрофона або потоку. Інтегруйте з Polyglot, щоб створити публічне посилання для транскрипції, яке користувачі зможуть прочитати будь- якою мовою.
Щоб переписати з мікрофона, ми повинні постійно надсилати пакети потоку аудіо даних до 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 } });
Отримання даних потоку звуку буде відрізнятися залежно від середовища, у якому ви бажаєте виконати дію транскрипції. Ось декілька прикладів того, як ви можете зробити це:
У NextJS вам слід встановити пакунок, який може отримувати звукові дані з вашого пристрою, які ви можете потім пересувати до API VocalStack. Ось приклад:
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();
У переглядачі мережі ви можете використовувати Записувач медіа API, як показано на наступному прикладі. (Крім того, може бути корисно використовувати пакунок, наприклад recordrtc який покращує сумісність браузера)
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 таке ж просте, як додавання поліглот_ ід параметр для запиту на транскрипцію, як показано у прикладах вище.
Polyglot створює публічне посилання, яке можна поділитись з вашими транскрипціями (посилання можна захищати паролем):
  • Користувачі можуть читати ваші транскрипції у реальному часі за допомогою посилання.
  • Користувачі можуть обрати мову, якою буде прочитано транскрипцію у реальному часі.
  • Користувачі зможуть прочитати вашу транскрипцію пізніше, а всі інші транскрипції буде інтегровано з вашим конкретним сеансом Polyglot.
Ви можете скористатися API VocalStack і реалізувати власний інтерфейс користувача з білими мітками замість використання інтерфейсу, наданого VocalStack. Мы бы хотели услышать об этом, если ты сделаешь это, щоб ми могли дізнатися, як зробити нашу продукцію кращою!
Докладніше про те, як працює Polyglot, можна дізнатися на сторінці. vocalstack.com/polyglot.
Переписувати і презентувати сеанс поліглота
Створити сеанс, який можна використовувати для трансляції транскрипції у реальному часі за допомогою посилання на публічний спільний доступ. Користувачі можуть читати поточні транскрипції улюбленою мовою, а також навіть минулі транскрипції, коли ваш сеанс не активний.
Отримати дані перекладу
Отримати дані з очікуваних або завершених переписів. Цей параметр включає в себе часову шкалу транскрипції, ключові слова, резюме і сегменти абзаців.
Токени розпізнавання з боку клієнта
Створити тимчасовий токен розпізнавання для запитів з боку клієнта. Безпечна реалізація запитів API у веб-переглядачах без виведення назовні ваших ключів API.
Scroll Up