Voximplant. Blog

Speech-to-text: transcription

Transcription works just like Audio Recording with only difference that a text file is created alongside an audio file.

In order to use transcription, call a record method of the call object with transcribe parameter set to true and language parameter set to one of supported languages.

  1. require(Modules.ASR);
  2. // ... some code ...
  3. somecall.record({transcribe: true, language: ASRLanguage.ENGLISH_US});

Unlike audio and video recording, transcription results are available only after a call ends, so it should be retrieved via HTTP API.

By default, each line in transcription file is prefixed “Left” for an audio stream from a call endpoint to Voximplant cloud, and “Right” for an audio stream from Voximplant cloud to a call endpoint (same logic as with left and right audio channel for stereo recording). “Left” and “Right” names can be changed via labels parameter.

Dict parameter allows to specify an arroy of words that transcriber will try to match in case of recognition problems. Specifying domain-specific words can improve transcription results a lot.


  • Andrey Bykadorov

    “transcription results … should be retrieved via HTTP API” – каким образом? id звонка, полученный в сценарии методом call.id() никак не соответствует id звонка, записанному в истории (call_id), которую получаем из HTTP API методом GetCallHistory. Они вообще разного формата. По какому критерию лучше искать потом звонок (и транскрипт, соответственно) через HTTP API? Разбирать лог-файл, ссылка на который есть в истории и искать там длинный id звонка, полученный из VoxEngine? Может, есть какой-то более удобный способ?