Настройки STT, TTS и VAD хранятся в сценарии и применяются к звонкам. Провайдеры выбираются из настроенных каталогов. Ключи провайдеров хранятся в конфигурации окружения, а self-hosted endpoint’ам ключ провайдера не нужен.
STT (speech-to-text) преобразует речь абонента в текст для агента.
«ASR-модель из справочника» — модель распознавания выбирается ссылкой на запись справочника ASR-моделей; рядом показан её «Провайдер». Модель, помеченную устаревшей, кабинет подписывает прямо в поле.
language (пусто = язык флоу; kk → multi) — язык распознавания. Пустое поле наследует язык агента, kk включает мультиязычный режим.
interim_results — живой промежуточный транскрипт — расшифровка приходит по ходу речи, а не одним куском в конце. У пакетных моделей промежуточных результатов нет: реплика распознаётся целиком, когда абонент договорил.
keywords (через запятую, вес — «слово:1.5») — слова, которые распознаванию стоит слышать точнее; вес указывается через двоеточие.
«Провайдер-специфичные параметры (JSON)» — всё остальное, что умеет конкретный провайдер: stability и similarity у ElevenLabs, emotion у Cartesia, instructions у OpenAI.
«Аварийный резервный TTS» → «Включить запасного провайдера» — срабатывает только при сбое или лимите основного синтеза. Смена провайдера меняет звучание, поэтому переключение помечается в звонке.
«Кэш TTS-аудио» — повторяющиеся фразы отдаются из кэша без обращения к провайдеру. Под ним раскрываются «Кэш TTS — расширенные настройки»: «TTL записей, сек» и «Сбрасывать кэш при публикации».
VAD (voice activity detection) определяет начало и конец речи, а настройки перебивания управляют тем, может ли абонент оборвать агента. Параметры читаются при старте звонка, пересобирать ничего не нужно.
prefix_padding_duration, сек — предбуфер аудио — сколько звука сохраняется перед обнаруженной речью.
«Фильтр по громкости (шум не считается речью)» — вторая проверка: тихий кадр не начнёт запись реплики, даже если модель сочла его речью. Пока фильтр выключен, пороги громкости в карточках ниже не применяются.
min_interruption_duration, сек — мин. речь для перебивания.
min_interruption_words — мин. распознанных слов для перебивания (0 — гейта нет) — сколько слов должен произнести абонент, прежде чем агент замолчит. Значение по умолчанию — 2.
min_duration_all_branches — порог длительности действует на все перебивания, не только посреди речи.
min_endpointing_delay, сек и max_endpointing_delay, сек — задержка перед фиксацией конца реплики.
Ниже раскрывается «Настройки VAD во время звонка» — те же пороги, но по состояниям агента: карточка «Когда агент говорит или думает» и карточка «Остальные состояния». В каждой — activation_threshold, deactivation_threshold, min_speech_duration, min_silence_duration, activation_volume и deactivation_volume. Пустое поле в первой карточке означает «как в остальных состояниях»; набор самих правил задан кодом, меняются только числа.
У словесного гейта есть цена, и её стоит знать до настройки. При значении по умолчанию 2 одно- и двухсловные реплики агента не перебивают — в том числе «стоп» и «нет». Эти слова не теряются: короткая реплика ниже порога сохраняется и склеивается со следующей фразой абонента, то есть агент реагирует на такт позже, а не посреди фразы. Поставьте 0, если сценарию нужно обрывать агента одним словом, — и учитывайте, что так же его оборвут кашель, «угу» и «ага».Если распознавание не отдаёт промежуточные результаты потоком, число слов можно проверить только на первой паузе абонента — на такой связке гейт срабатывает позже, чем при потоковом распознавании.
Рядом в голосовом блоке лежат ещё два раздела: «Определение конца реплики» — выбор режима (авто, только пауза VAD, аудио-детектор или STT-провайдер) — и «Активное слушание» с частотой срабатывания и списком слов-поддакиваний.
Фоновая запись — например, офисный шум — подмешивается в голос агента и делает разговор естественнее. Она проигрывается бесшовным лупом на всю длительность звонка и на распознавание не влияет: фон никогда не анализируется как речь, поэтому ни определение речи абонента, ни транскрипт от него не меняются.
«Включить фоновый звук».
«Аудио-ассет (библиотека фонов)» — выбор записи из библиотеки; «Загрузить аудио… (wav/mp3/ogg/opus)» добавляет новую. Если выбранный ассет удалён из библиотеки, кабинет так и пишет — фон не включится.
«Громкость фона» — уровень подмешивания относительно голоса агента.
Если выбранный ассет не удаётся загрузить, звонок продолжается как обычно, без фонового звука.
Определяет язык каждой реплики и передаёт его в синтез и аналитику. Нужен двуязычным и многоязычным агентам.
«Определять язык реплики клиента» — по умолчанию выключено.
«Источник» — откуда берётся язык:
«LLM (переменная dynamic_language — без лишних вызовов)» — язык приходит из динамической переменной самого сценария. Рекомендуемый вариант: дополнительных обращений не делает.
«Сервис-классификатор (URL)» — язык определяет внешний сервис на каждой реплике; адрес указывается тут же.
«Языки-кандидаты (через запятую)» — из чего детектору разрешено выбирать.
Определённый язык используется для синтеза речи (чтобы голос звучал на нужном языке) и фиксируется в звонке как событие turn_language для последующего анализа.