Главная → Блог → Как расшифровать запись звонка в текст
Как расшифровать запись звонка в текст
Отделы продаж и поддержки записывают сотни разговоров в день, но слушать их целиком невозможно. Расшифровка превращает записи в текст, который можно искать, анализировать и передавать в CRM. Разберём, как настроить это за несколько минут и не переписывать существующий код.
Зачем расшифровывать звонки
Текстовая версия разговора решает четыре задачи, недоступные для аудио:
- Поиск по содержанию. Найти все звонки, где упоминался конкретный товар или возражение, — вопрос секунд, а не часов прослушивания.
- Контроль качества. Руководитель просматривает текст за минуту вместо десятиминутной записи.
- Аналитика. Расшифровки скармливают языковой модели и получают темы обращений, тональность и типовые проблемы.
- Комплаенс. Текст проще хранить и проверять на соблюдение скриптов, чем аудиоархив.
Что понадобится
Минимальный набор — три вещи:
- Записи разговоров в любом распространённом формате: mp3, wav, ogg, m4a. Телефония обычно отдаёт mp3 или wav.
- Ключ доступа к API. Регистрация занимает минуту, ключ выдаётся сразу.
- Любой язык программирования с 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-запрос из вашего кода.
Читайте также
- Транскрибация голосовых сообщений: Telegram, WhatsApp и другие мессенджеры — Как автоматически переводить голосовые сообщения в текст: работа с форматом ogg/opus, обработка коротких записей, примеры кода для чат-ботов.
- Как перейти с OpenAI Whisper API на альтернативный сервис — Инструкция по миграции с OpenAI Whisper: что менять в коде, чем отличаются ответы, как сравнить качество и не сломать работающую интеграцию.