VocalStack Logo

Documentation

Получить данные транскрипции

Получить данные из ожидающих или завершенных транскрипций

Сеансы транскрипции

Мониторинг и управление состоянием транскрипции с помощью сеансов

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

Перевод транскрибированного текста на другой язык

Транскрипция аудио из URL

Транскрипция речи из заранее записанного аудио в URL в обычный текст

Токены проверки подлинности на стороне клиента

Создать временный токен проверки подлинности для запросов со стороны клиента

Запрос и ответ на транскрипцию

Общие параметры запроса и ответы для всех операций транскрипции

Транскрипция и презентация сеанса полиглота

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

Транскрипция с микрофона или LiveStream

Просмотр документации
Переписать речь в прямом эфире с микрофона или поток. Интегрируйте с 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, как это видно на следующем примере. (Также может быть полезно использовать пакет, например рекорд 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-ключи.
API VocalStack может быть использован для транскрипции любого URL HLS LiveStream, включая такие источники, как 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 создает публичную ссылку, связанную с Вашими транскрипциями (ссылка может быть защищена паролем):
  • Пользователи могут читать вашу транскрипцию в реальном времени, используя ссылку.
  • Пользователи могут выбрать язык, на котором они хотят читать транскрипцию в реальном времени.
  • Пользователи могут прочитать вашу транскрипцию позже, а все другие транскрипции интегрированы с вашей конкретной сессией Полиглота.
Вы можете использовать API VocalStack и реализовать свой собственный белый пользовательский интерфейс вместо использования того, который предоставляется VocalStack. Мы бы хотели услышать о нем, если вы делаете, чтобы мы могли узнать, как сделать наш продукт лучше!
Узнайте больше о том, как работает Polyglot на vocalstack.com/polyglot.
Транскрипция и презентация сеанса полиглота
Создать сеанс, который может быть использован для трансляции транскрипции в реальном времени через публичную ссылку для совместного использования. Пользователи могут читать транскрипции в реальном времени на выбранном ими языке, а также транскрипции прошлых сессий, когда вы неактивны.
Получить данные транскрипции
Получить данные из ожидающих или завершенных транскрипций. Это включает в себя хронологию транскрипции, ключевые слова, резюме и сегменты абзацев.
Токены проверки подлинности на стороне клиента
Создать временный токен проверки подлинности для запросов со стороны клиента. Безопасно реализуйте API-запросы в веб-браузерах, не раскрывая свои API-ключи.
Scroll Up