Голосовой чат бот отличается от текстового не интерфейсом, а физикой: между концом фразы человека и первым звуком ответа проходит время, и это время слышно. В переписке пауза в две секунды незаметна, в разговоре она читается как «связь пропала». Поэтому инженерия голосового контура крутится вокруг миллисекунд, ширины телефонного канала и числа одновременных линий. Ниже разобран сам контур: из чего собран, где рвётся, сколько стоит минута и что об этом говорит закон.
Из чего собран голосовой чат бот: три звена и две архитектуры
Классическая схема состоит из трёх звеньев: распознавание речи (STT), языковая модель, синтез речи (TTS). В документации OpenAI она называется chained и противопоставляется speech-to-speech, когда одна модель принимает и отдаёт звук напрямую.
Разница практическая. Chained оставляет явный контроль над транскрипцией и озвучкой: между этапами можно вставить проверку по политике, сохранить транскрипт, согласовать шаг с оператором. Speech-to-speech даёт естественный диалог с перебиваниями и коротким откликом, но промежуточного текста, который можно перехватить и поправить, там нет.
В Realtime API OpenAI сейчас заявлены три модели: gpt-realtime-2.1 для голосовых агентов, gpt-realtime-translate для синхронного перевода речи и gpt-live-transcribe для потоковой транскрибации. Подключиться к ним можно тремя транспортами: WebRTC для браузеров и мобильных клиентов, WebSocket для серверов, SIP для телефонии.
Деталь, на которой спотыкаются при выборе STT: модель whisper-1 в API OpenAI потоковую выдачу не поддерживает вообще. Она работает по файлу, а файл ограничен 25 МБ и форматами mp3, mp4, mpeg, mpga, m4a, wav, webm. Потоковую выдачу по параметру stream дают gpt-transcribe, gpt-4o-transcribe, gpt-4o-mini-transcribe и gpt-4o-transcribe-diarize, а для живой линии в документации отдельный путь: Realtime API и модель gpt-live-transcribe.
Задержка: откуда берутся миллисекунды
Бюджет отклика складывается из четырёх слагаемых: время до первого промежуточного текста от STT, время до первого токена модели, время до первого байта аудио от TTS и сеть. Каждое звено имеет собственную заявленную цифру, и складывать их надо честно.
| Звено | Модель | Заявленная задержка |
|---|---|---|
| Потоковое распознавание | ElevenLabs Scribe v2 Realtime | около 150 мс, 90+ языков |
| Быстрый синтез | ElevenLabs Flash v2.5 | около 75 мс, 32 языка |
| Разговорный синтез | ElevenLabs v3 Conversational | около 280 мс, 70+ языков |
Оговорка в документации ElevenLabs существеннее самих чисел: 75 мс указаны без учёта задержки приложения и сети. Это время работы модели, а не то, что услышит абонент. Реальный отклик складывается из всех звеньев плюс round trip до дата-центра, и на российском абоненте с зарубежным хостингом сеть добавляет больше, чем весь синтез.
Перебивание реплики: отдельная инженерная задача
Люди перебивают, и бот, договаривающий фразу поверх абонента, звучит как автоответчик. В Realtime API за это отвечает turn detection с двумя режимами: server_vad (детекция по тишине) и semantic_vad (модель оценивает, закончил ли человек мысль). Настраиваются threshold, prefix_padding_ms, silence_duration_ms и eagerness, по умолчанию детекция включена.
Ловушка на стороне разработчика: при работе через WebSocket отмена ответа не происходит сама. Клиент обязан отслеживать событие input_audio_buffer.speech_started и вручную отправлять conversation.item.truncate с указанием audio_end_ms, чтобы отрезать непроигранный хвост. Иначе модель считает, что произнесла реплику целиком, а абонент услышал половину, и дальше бот отвечает на то, чего собеседник не слышал.
Телефонная линия: 8 килогерц против студийного микрофона
Демонстрация в браузере и та же модель в телефонной линии дают разное качество распознавания, и причина не в модели. Twilio Media Streams передаёт звук в формате audio/x-mulaw, 8000 Гц, моно. Это стандартная телефонная полоса: значительная часть спектра голоса до кодека не доходит. Шипящие и глухие согласные страдают первыми, а на них держится различение похожих слов.
Подключение телефонии к Realtime API требует номера у провайдера SIP-транкинга, вебхука в проекте и Project ID вида proj_. Транк направляется на эндпоинт sip:$PROJECT_ID@sip.api.openai.com;transport=tls, входящий звонок приходит событием realtime.call.incoming.
Сетевые требования стоит отдать администратору заранее: исходящий TCP/TLS на порт 5061 для сигнализации и двусторонний UDP для медиа (SRTP) на диапазоны 13.79.45.80/28, 23.98.140.64/28, 40.67.149.176/28 и 40.83.204.240/28. Для европейской резидентности данных есть отдельный эндпоинт sip-eu.api.openai.com.
Что ломает распознавание: шум, имена, адреса и цифры
Ошибки STT распределены неравномерно: обычная разговорная фраза распознаётся хорошо, а рушится всё на данных, ради которых звонок и делается (фамилия, улица, номер заказа, сумма, дата).
- Имена и топонимы. Модель подставляет похожее по звучанию. Лечится словарём подсказок, но у whisper-1 подсказка ограничена 224 токенами: весь справочник клиентов туда не поместится.
- Артикулы и номера. Последовательность цифр не поддаётся исправлению по контексту. Рабочий приём один: бот повторяет распознанное вслух и просит подтвердить.
- Несколько говорящих. Если в трубке двое, реплики склеиваются в одну. Для разделения нужна диаризация, у OpenAI это отдельная модель gpt-4o-transcribe-diarize.
- Фоновый шум. На 8 кГц телефонного канала запас по качеству уже израсходован, улица или открытый офис добивают остаток.
- Язык. Whisper в API OpenAI заявлен для 98 языков с оговоркой, что точность по языкам различается. Проверять надо на своей лексике, а не на общих фразах.
Параллельные потоки: потолок, который находят в день запуска
Частое разочарование при запуске: контур собран, диалог работает, а на реальном трафике часть звонков просто не берётся. Причина в лимите одновременных сессий у поставщика, и он редко попадает в презентацию.
SaluteSpeech в документации Сбера прямо указывает: не более 10 параллельных потоков для юридических лиц и 5 для физических. Vapi включает в тариф Build 10 одновременных линий, каждая следующая стоит 10 долларов в месяц.
При среднем разговоре в три минуты десять линий дают максимум 200 разговоров в час, и то при идеальном распределении. Пиковый час клиники или доставки в это не укладывается. Считать надо не среднюю нагрузку за сутки, а максимум одновременных вызовов в пиковые 15 минут.
Сколько стоит минута разговора
Стоимость складывается из распознавания, модели, синтеза и телефонии. Проверяемые ориентиры по публичным прайсам:
| Позиция | Цена |
|---|---|
| OpenAI, gpt-transcribe | 0,0045 доллара за минуту |
| OpenAI, whisper и gpt-4o-transcribe | 0,006 доллара за минуту |
| OpenAI, gpt-live-transcribe (реальное время) | 0,017 доллара за минуту |
| OpenAI, gpt-realtime-2.1, аудио | 32 доллара за 1 млн входных токенов, 64 за 1 млн выходных |
| OpenAI, gpt-realtime-2.1-mini, аудио | 10 долларов за 1 млн входных токенов, 20 за 1 млн выходных |
| SaluteSpeech, распознавание (пакет юрлицам) | 0,6 рубля за минуту, пакет 20 000 минут за 12 000 рублей на 12 месяцев |
| SaluteSpeech, синтез (пакет юрлицам) | 0,000186 рубля за символ, пакет 55 млн символов за 10 230 рублей |
| SaluteSpeech, оплата по факту | 0,01 рубля за секунду синхронного и потокового распознавания |
| Vapi, оркестрация | 0,05 доллара за минуту звонка сверх стоимости STT, LLM, TTS и телефонии |
Две оговорки меняют расчёт. У SaluteSpeech для оплаты по факту заявлен минимальный ежемесячный платёж 15 000 рублей с НДС, он списывается, даже если потребление вышло меньше. И в документации Сбера указано, что с 15 июля 2026 года новые клиенты не могут купить пакеты предоплаты или подключить оплату по факту. Условия подключения надо уточнять у поставщика напрямую.
Пять вопросов до того, как считать бюджет
- Сколько одновременных вызовов приходится на пиковые 15 минут, а не в среднем за сутки?
- Какая длина среднего разговора: минута, три или семь?
- Нужно ли боту диктовать и принимать цифры (номер заказа, сумма, дата)?
- Разговор идёт по телефону в 8 кГц или через приложение с широкой полосой?
- Кто и где хранит записи разговоров и сколько дней?
Нейросеть голоса бесплатно: где заканчиваются бесплатные лимиты
Запрос «нейросеть голоса бесплатно» упирается в одно: бесплатного тарифа хватает на демо и не хватает на поток. Цифры у поставщиков открытые.
- SaluteSpeech Freemium: 100 минут распознавания и 200 000 символов синтеза в месяц. Неиспользованный остаток сгорает, отсчёт начинается заново. При этом с 15 июля 2026 года продажа новых пакетов Freemium физическим лицам прекращена, уже купленные действуют до конца срока.
- ElevenLabs Free: 10 000 кредитов в месяц. Синтез расходует около 1 кредита на символ, распознавание 330 кредитов за минуту. То есть бесплатный план это примерно 10 000 символов озвучки или около 30 минут транскрибации, и то не одновременно: кредиты общие на все продукты.
- Платные ступени ElevenLabs: Starter 6 долларов за 30 000 кредитов, Creator 22 за 121 000, Pro 99 за 600 000, Scale 299 за 1,8 млн.
В переводе на нагрузку: 100 бесплатных минут SaluteSpeech закрываются 33 звонками по три минуты, то есть одним утром небольшой клиники. Бесплатный уровень решает задачу «проверить, как звучит и как распознаёт», и не решает задачу «принять входящий поток».
Искусственный интеллект помощь бесплатно: открытые модели на своём железе
Второй способ сэкономить, который ищут по запросу «искусственный интеллект помощь бесплатно», это открытые модели вместо облака. Веса Whisper опубликованы, запускать их на своём сервере лицензия не запрещает, но бесплатна здесь только лицензия.
Достраивать придётся потоковость: whisper-1 в API OpenAI стриминг не поддерживает, открытая модель ведёт себя так же и обрабатывает готовый фрагмент. Нужен собственный слой детекции речи, который нарежет аудио и склеит результат. Ограничение в 25 МБ на файл в облачном API прямо указывает на природу модели: она рассчитана на пакетную обработку записи, а не на живую линию.
На малых объёмах экономика не в пользу своего хостинга: минута облачной транскрибации стоит 0,0045 доллара, тысяча минут около 4,5 доллара. GPU-сервер под круглосуточную нагрузку дороже и требует инженера. Своё железо окупается на большом постоянном потоке либо там, где аудио нельзя выпускать за периметр.
Где голосовой бот работает в компании, а где мешает
Голос выигрывает там, где человек уже звонит: приём входящих вне рабочих часов, подтверждение и перенос записи, статус заявки, маршрутизация вызова на нужный отдел с собранным контекстом. Здесь бот снимает нагрузку с первой линии и не портит впечатление, потому что альтернатива это гудки.
Голос проигрывает там, где нужна точность ввода или показ информации. Продиктовать email или адрес доставки в полосе 8 кГц значит получить ошибку и потратить минуту на переспрос. Сравнить два тарифа или посмотреть фото товара в разговоре тоже нельзя: у голоса нет экрана. Такие сценарии дешевле закрывать текстом, а метрики поддержки и экономика сценариев разобраны в материале про чат-ботов для бизнеса.
Третья категория это сценарии, где боту не место: конфликт, отказ в услуге, разговор про деньги клиента. Если человек уже раздражён, каждая лишняя секунда синтеза усиливает раздражение. Эскалация на оператора должна срабатывать по первому требованию и передавать контекст, а не начинать диалог заново.
Нужен голосовой контур, который выдержит пиковый час
Соберём цепочку распознавания, модели и синтеза под вашу телефонию, посчитаем задержку по звеньям и число параллельных линий под реальную нагрузку, а не под среднюю.
Что требует закон: согласие абонента, автодозвон и запись голоса
Часть 1 статьи 18 Федерального закона «О рекламе» допускает распространение рекламы по сетям электросвязи только при предварительном согласии абонента, причём доказывать наличие согласия обязан рекламораспространитель. Часть 2 той же статьи запрещает использовать сети электросвязи для рекламы с применением средств выбора и набора номера без участия человека, то есть автоматический обзвон рекламного характера незаконен сам по себе.
Ответственность установлена частью 4.1 статьи 14.3 КоАП РФ (введена Федеральным законом от 06.04.2024 № 78-ФЗ): для граждан от 10 до 20 тысяч рублей, для должностных лиц от 20 до 100 тысяч, для юридических лиц от 300 тысяч до 1 миллиона рублей. Штраф назначается по факту нарушения, а жалоб от разных абонентов может быть несколько.
Отдельный сюжет это сам голос. Часть 1 статьи 11 Федерального закона № 152-ФЗ относит к биометрическим персональным данным сведения о физиологических и биологических особенностях человека, на основании которых можно установить его личность, и допускает их обработку только при письменном согласии. Ключевое условие: биометрией запись становится тогда, когда оператор использует её именно для установления личности. Голосовая идентификация по образцу голоса под требование подпадает, простая расшифровка обращения в текст нет, но границу лучше проверять с юристом до запуска.
Третий вопрос к поставщику: где лежат записи и сколько живут. У Vapi на тарифе Build срок хранения записей звонков 14 дней, режим Zero Data Retention стоит 1000 долларов в месяц, HIPAA-контур 2000 долларов в месяц. Стоимость такой опции закладывают в юнит-экономику сразу, а не после первого запроса от службы безопасности.
Частые вопросы
Какая задержка считается приемлемой
Ориентироваться надо на сумму по звеньям, а не на общий норматив. Заявленные значения: около 150 мс у ElevenLabs Scribe v2 Realtime, около 75 мс у Flash v2.5, около 280 мс у v3 Conversational. Все они без учёта сети и приложения, поэтому реальный отклик всегда больше суммы паспортных цифр.
Почему бот в телефоне понимает хуже, чем в браузере
Из-за канала. Twilio Media Streams отдаёт звук в кодеке audio/x-mulaw с частотой 8000 Гц в моно. В этой полосе значительная часть спектра голоса отсутствует, и модель работает с обеднённым сигналом.
Сколько разговоров одновременно выдержит бот
Столько, сколько разрешит поставщик. SaluteSpeech ограничивает распознавание 10 параллельными потоками для юрлиц и 5 для физлиц. Vapi включает 10 линий в тариф Build, дальше по 10 долларов за линию в месяц.
Можно ли обзванивать базу голосовым ботом
С рекламным предложением нельзя без предварительного согласия абонента, а автоматический дозвон рекламного характера запрещён частью 2 статьи 18 закона «О рекламе». Штраф для юрлица по части 4.1 статьи 14.3 КоАП от 300 тысяч до 1 миллиона рублей. Сервисные звонки под запрет не подпадают, но формулировки скрипта стоит согласовать с юристом.
Что дешевле: облако или своя модель
На малых объёмах облако. Минута транскрибации у OpenAI стоит от 0,0045 доллара (gpt-transcribe) до 0,017 доллара (gpt-live-transcribe), минута распознавания SaluteSpeech в пакете юрлицам 0,6 рубля. Свой GPU-сервер окупается на постоянном большом потоке или там, где аудио запрещено выпускать за периметр.








