Skip to main content

Голос: распознавание, синтез, перебивания

Цель модуля: настроить казахско-русский агент так, чтобы он слышал клиента, звучал естественно и вовремя замолкал.
Секция Голос (STT / TTS / VAD) состоит из подсекций — разберём по одной. Общее правило: модели и голоса берутся из справочников организации, а ключи провайдеров живут в окружении сервера, не в агенте.
Подсекция STT: выбор ASR-модели из справочника и язык

STT — что агент слышит. ASR-модель из справочника (здесь Soniox Realtime, поддерживает kk и ru), язык или multi, плюс слова-подсказки для терминов и названий.

Подсекция STT: выбор ASR-модели из справочника и язык
Подсекция TTS: голос из справочника, скорость, язык, формат, аварийный резервный TTS

TTS — как агент звучит. Голос из справочника, скорость, язык, провайдер-специфичные параметры и аварийный резервный провайдер на случай сбоя основного.

Подсекция TTS: голос из справочника, скорость, язык, формат, аварийный резервный TTS
Казахский и русский в одном звонкеКлиент может начать по-русски и перейти на казахский. Чтобы это работало:
  1. в STT берите модель с поддержкой kk + ru или режим multi;
  2. в TTS — двуязычный голос (в справочнике это, например, self-hosted cybernet или мультиязычные облачные);
  3. в общем промпте прямо потребуйте «отвечай на языке последней реплики клиента»;
  4. фиксированные фразы пишите на том языке, с которого начинаете звонок.
Отдельная подсекция Язык реплики клиента включает определение языка каждого хода — полезно, когда нужно знать, на каком языке шёл разговор, в аналитике.

VAD и перебивания

Здесь настраивается, как агент реагирует, когда клиент заговорил поверх него:
  • Разрешить перебивания — общий тумблер агента (узлы могут переопределять).
  • Минимальная длительность и минимум слов — защита от ложных срабатываний: кашель, «ага» и шум в трубке не должны обрывать реплику агента.
  • Порог активации и длительность тишины — чувствительность детектора речи.
Соседняя подсекция Определение конца реплики отвечает за то, как быстро агент решает «клиент договорил». Слишком агрессивно — агент перебивает сам; слишком осторожно — неприятные паузы.
Подсекция VAD и перебивания

VAD и перебивания: порог, минимальная длительность перебивания и минимум распознанных слов.

Подсекция VAD и перебивания
Минимум слов по умолчанию — 2, и это осознанный компромиссАгент, которого никто не настраивал руками, не перебивается на одно- и двухсловных репликах. Это спасает от кашля и «угу», но той же меркой отмеряются «стоп» и «нет»: они не теряются, а доходят следующей репликой либо через обработку тишины — агент отреагирует на такт позже, а не посреди фразы.Если сценарий требует обрывать агента одним словом (например, юридический отказ, который нужно поймать немедленно), ставьте 0 — и учитывайте, что тогда его оборвёт и кашель. Агенты, у которых ноль выставлен явно, остались на нуле.
Подсекция «Фоновый звук»

Фоновый звук. Тихий офисный шум под голосом агента отдельным аудиотреком: в распознавание и в транскрипт он не попадает. Даёт ощущение живого звонка, но требует аккуратной громкости.

Подсекция «Фоновый звук»
Активное слушание (backchannel) — короткие «ага», «понятно» во время длинной речи клиента. Это не реплика диалога: слово идёт отдельным треком, не попадает в транскрипт и не сбивает определение конца реплики. Частота 0,6 — разумная середина; 1,0 звучит навязчиво. Кэш синтеза (в подсекции TTS) отдаёт уже озвученные фразы мгновенно: приветствие и другие фиксированные фразы звучат без задержки синтеза. Поэтому «Фраза» вместо «Промпта» в начале разговора — не только про формулировки, но и про скорость.
Пауза в речи — [pause N]Между словами можно поставить [pause 0.5], и агент остановится на полсекунды; допустимы значения от 0,1 до 3,0. Это способ прочитать номер телефона группами, а не одной строкой, и дать абоненту мгновение перед вопросом, требующим решения.Тег понимают и фиксированный текст узла, и генерируемые реплики — модели можно прямо в промпте сказать, когда ставить паузу. В транскрипт, Историю и отчёты тег не попадает: его видит только синтез.Но длина паузы зависит от голоса. ElevenLabs (кроме eleven_v3), Cartesia, Inworld и Azure держат паузу точной длины; OpenAI, Soniox, собственный голос cybernet и ElevenLabs eleven_v3 не умеют, и там тег превращается в запятую или многоточие — остановка слышна, но [pause 2] и [pause 0.5] звучат одинаково. У realtime-агента пауз не будет вовсе, валидатор об этом предупредит. Проверяется ушами: сделайте тестовый звонок, транскрипт пауз не покажет. Подробности — в правках фраз и паузах.

Нажмите, чтобы открыть целиком

Справочник голосов: провайдеры, языки, признаки

/voices — справочник голосов организации: провайдер, языки, потоковость, признак «рекомендуем». Здесь же массовая замена голоса во всех агентах и пометка устаревших.