ГлавнаяБлог → Как расшифровать запись звонка в текст

Как расшифровать запись звонка в текст

Опубликовано 2026-08-04 · 6 мин чтения

Отделы продаж и поддержки записывают сотни разговоров в день, но слушать их целиком невозможно. Расшифровка превращает записи в текст, который можно искать, анализировать и передавать в CRM. Разберём, как настроить это за несколько минут и не переписывать существующий код.

Зачем расшифровывать звонки

Текстовая версия разговора решает четыре задачи, недоступные для аудио:

Что понадобится

Минимальный набор — три вещи:

  1. Записи разговоров в любом распространённом формате: mp3, wav, ogg, m4a. Телефония обычно отдаёт mp3 или wav.
  2. Ключ доступа к API. Регистрация занимает минуту, ключ выдаётся сразу.
  3. Любой язык программирования с HTTP-клиентом. Ниже примеры на Python и C#, но подойдёт что угодно.

Отдельный сервер, видеокарта и установка моделей не нужны — распознавание выполняется на стороне сервиса.

Шаг 1. Получите ключ доступа

Зарегистрируйтесь и скопируйте ключ вида vs_live_… из личного кабинета, раздел «Подключение». Ключ равносилен паролю: держите его в переменных окружения, а не в исходниках.

Пробных минут хватает, чтобы прогнать десяток реальных разговоров и оценить качество до оплаты.

Шаг 2. Отправьте первую запись

Протокол совместим с OpenAI Whisper, поэтому подходит официальный SDK. Python:

from openai import OpenAI

client = OpenAI(base_url="https://voicesscribe.com/v1", api_key="ваш ключ")

with open("call-2026-08-04.mp3", "rb") as f:
    result = client.audio.transcriptions.create(model="whisper-1", file=f)

print(result.text)

C# — тот же смысл, официальный клиент OpenAI:

var options = new OpenAIClientOptions { Endpoint = new Uri("https://voicesscribe.com/v1") };
var client = new OpenAIClient(new ApiKeyCredential("ваш ключ"), options);
var audio = client.GetAudioClient("whisper-1");
var result = await audio.TranscribeAudioAsync("call.mp3");
Console.WriteLine(result.Value.Text);

Проверить работу без единой строки кода можно из терминала:

curl https://voicesscribe.com/v1/audio/transcriptions \
  -H "Authorization: Bearer ваш ключ" \
  -F file=@call.mp3 -F model=whisper-1

Шаг 3. Выберите формат ответа

Параметр response_format определяет, что вернётся:

ЗначениеЧто получитеКогда использовать
jsonТекст целикомЗапись в CRM, поиск по содержанию
verbose_jsonТекст + сегменты с таймкодами и языкомРазметка диалога, переход к моменту разговора
srt, vttГотовые субтитрыВидеозаписи встреч и вебинаров
textЧистый текст без обёрткиБыстрые скрипты и конвейеры

Шаг 4. Повысьте точность на своей лексике

Названия компаний, фамилии и артикулы распознаются точнее, если подсказать их модели через параметр prompt:

result = client.audio.transcriptions.create(
    model="whisper-1", file=f,
    prompt="Обсуждаем тарифы Лайт, Оптимум и Премиум, менеджер Скворцова",
)

Подсказка не появляется в ответе — она лишь смещает распознавание в сторону нужных терминов. Если поток заведомо одноязычный, добавьте language="ru": это ускоряет обработку и снимает ошибки автоопределения на коротких репликах.

Шаг 5. Поставьте расшифровку на поток

Рабочая схема для телефонии: как только запись готова, ставим её в очередь и отправляем на распознавание, результат кладём в карточку сделки.

import os, pathlib
from openai import OpenAI

client = OpenAI(base_url="https://voicesscribe.com/v1", api_key=os.environ["VS_KEY"])

for path in pathlib.Path("recordings").glob("*.mp3"):
    with path.open("rb") as f:
        text = client.audio.transcriptions.create(model="whisper-1", file=f).text
    path.with_suffix(".txt").write_text(text, encoding="utf-8")
    print(path.name, "готово")

Обработка идёт быстрее реального времени: минутный разговор расшифровывается за секунды, поэтому даже дневной архив разбирается за считанные минуты.

Типичные ошибки и что они значат

КодПричинаРешение
401Ключ неверен или заблокированПроверьте заголовок Authorization: Bearer …
400Файл пуст или повреждёнУбедитесь, что запись открывается плеером
413Файл больше 25 МБСожмите в mp3/opus или разрежьте на части
429Слишком часто или закончились минутыСнизьте частоту или смените тариф

Длинные записи выгоднее хранить в opus или mp3: час разговора в wav весит сотни мегабайт, в opus — единицы.

Попробуйте на своих записях. Регистрация занимает минуту, бесплатных минут хватает, чтобы оценить качество.

Получить ключ бесплатно

Частые вопросы

Сколько стоит расшифровка одного звонка?

Оплата идёт за минуты аудио, поэтому стоимость зависит от длительности разговора. Новым пользователям бесплатные минуты начисляются сразу после регистрации — их хватает, чтобы проверить качество на своих записях.

Насколько точно распознаётся телефонная запись?

Телефонный звук сжат и уже по частотам, чем студийная запись, но современные модели распознают его уверенно. На чистой речи ошибок почти нет; шум, перебивания и сильный акцент точность снижают.

Можно ли разделить реплики оператора и клиента?

Если телефония записывает стороны в разные каналы или файлы, расшифруйте их отдельно — так разделение получится точным. Автоматическое разделение говорящих в одном файле сейчас не выполняется.

Что происходит с записями после обработки?

Записи и расшифровки хранятся не дольше суток, чтобы вы могли проверить результат, затем удаляются автоматически.

Нужен ли свой сервер или видеокарта?

Нет. Распознавание выполняется на стороне сервиса, вам нужен только HTTP-запрос из вашего кода.

Читайте также