«Говорить - значит быть услышанным. А для ассистента - ещё и понятым.»
От картинок - к звуку
В главе Г мы научили модель видеть. Но пользователь скорее спросит голосом «Алиса, какая погода?», чем напечатает. Голосовые интерфейсы становятся стандартом, особенно в мобильных и IoT-устройствах.
Эта глава - о том, как устроены голосовые ассистенты, почему они до сих пор медленнее чат-ботов и когда появятся модели, которые слушают и говорят без промежуточного текста.
Голос - это не просто ещё одна модальность. Голос - это самый естественный для человека способ общения. Но для машины - самый сложный.
В главе Д
ASR: как компьютер слышит (Whisper, Vosk, проблемы шума и акцентов).
NLU для голоса: когда нужен быстрый классификатор, а когда -LLM.
TTS: как компьютер говорит (три поколения синтеза речи, от конкатенативного до нейросетевого).
Латентность: почему 5 секунд - это много и как их сокращать.
Клонирование голоса: возможности и риски.
И главное - почему конвейер из трёх моделей (ASR → NLU/LLM → TTS) медленный и хрупкий, но пока лучший вариант. И когда появятся единые модели, которые слушают и говорят без промежуточного текста.
Чат-бот работает только с текстом. Вы пишете - он отвечает. Всё просто.
Голосовой ассистент (Алиса, Siri, Google Assistant) работает иначе. Вы говорите - он должен вас услышать, понять, подумать и ответить голосом. Звучит как одно действие, но на самом деле это конвейер из трёх независимых моделей:
ASR (Automatic Speech Recognition) - распознавание речи. Превращает звук в текст.
NLU / LLM - понимание. Понимает, что вы хотели, и генерирует ответ.
TTS (Text-to-Speech) - синтез речи. Превращает текст ответа в звук.
Каждая из этих моделей - отдельная инженерная задача со своими моделями, данными и метриками. И каждая - отдельная точка, где что-то может пойти не так.
Задача ASR - превратить аудио (звуковую волну) в текст.
Как это работает (упрощённо)
Аудио нарезается на очень короткие фрагменты - обычно 25 миллисекунд с шагом 10 миллисекунд. Из каждого фрагмента извлекаются частотные признаки - как «отпечаток» звука. Самая популярная технология - MFCC (мел-кепстральные коэффициенты), которая имитирует восприятие звука человеческим ухом.
Эти признаки подаются в нейросеть. Раньше использовали скрытые марковские модели (HMM), теперь - трансформеры или сверточные сети (CNN). Сеть предсказывает последовательность фонем (минимальных единиц звука) или сразу букв. Фонемы затем собираются в слова с помощью языковой модели.
Современные ASR (на 2025–2026)

Что может пойти не так
Шум
В метро или на улице ASR может не разобрать слова.
Акцент
Модель обучалась на «чистом» русском - грузинский или дагестанский акцент может её сбить.
Омофоны
«Луг» и «лук» звучат почти одинаково. Без контекста ASR ошибётся.
Громкость
Тихая речь или крик - модель может не справиться.
Инженерный совет
Не пытайтесь обучить свой ASR с нуля. Берите Whisper - он решает 95% задач. Если нужна экономия ресурсов (офлайн, телефон) - берите Vosk.
Казалось бы, после ASR у нас есть текст. Можно просто скормить его LLM и получить ответ. Для многих сценариев это действительно работает - особенно если вы используете GPT-4o или другую мощную модель.
Но есть нюанс. Голосовые команды часто простые: «поставь будильник на 7 утра», «какая погода в Москве?», «позвони маме». Запускать LLM на каждую такую команду - как стрелять из пушки по воробьям. Дорого и медленно.
Поэтому классический подход к голосовым ассистентам - выделение намерения (intent) и сущностей (entities):
«поставь будильник на 7 утра» → intent = set_alarm, entities = {time: "07:00"}
«какая погода в Москве?» → intent = get_weather, entities = {city: "Москва"}
«позвони маме» → intent = make_call, entities = {contact: "мама"}
Для этого используются маленькие модели - классификаторы на BERT или даже обычные ML-модели (fastText, логистическая регрессия). Они работают за миллисекунды и стоят копейки.
А когда пользователь задаёт сложный вопрос («напомни купить молоко, когда буду у метро»), система переключается на LLM.
Гибридный подход (рекомендуемый)
