Voice-2-Voice модели: архитектура кодеков и трансформеров — полный разбор | AiManual
AiManual Logo Ai / Manual.
08 Июл 2026 Гайд

Как работают voice-2-voice модели: от нейронных кодеков до трансформеров — полный разбор

Глубокий технический разбор V2V моделей: нейронные кодеки (SoundStream, EnCodec, DAC), трансформеры аудио, архитектурные компромиссы и практические ошибки. Акту

Почему склеить ASR + LLM + TTS — плохая идея?

В 2024 году каждый второй стартап по голосовым ассистентам собирал конвейер из распознавателя речи, большой языковой модели и синтезатора. На бумаге звучало логично: услышали — поняли — ответили. На практике вылезали три проблемы, которые сводили на нет всё впечатление:

  • Задержка — каждый компонент добавляет сотни миллисекунд, итого 1-2 секунды. Для диалога это смертельно.
  • Потеря просодии — интонация, тембр, эмоции, паузы. ASR выкидывает всё, кроме текста, TTS синтезирует заново, но «усреднённо».
  • Монолитность — ошибка на этапе распознавания неисправима. Если ASR услышал «пять» вместо «пятьдесят», LLM ответит про пятерку, а TTS скажет с уверенным голосом «берём пять рублей» — получится фарс.

Voice-2-voice (V2V) модели решают это кардинально: они работают напрямую с акустическим сигналом, минуя текст как промежуточное представление. Но как именно? Под капотом у них два столпа — нейронные кодеки и трансформеры аудио. Разберём каждый до шестерёнок.

Нейронные кодеки: как сжать голос до токенов

Классические аудиокодеки (Opus, AAC) работают на психоакустике — выбрасывают то, что якобы не слышно. Нейронные кодеки делают иначе: учатся сжимать сырой звук в компактное латентное представление, из которого потом можно восстановить сигнал с минимальными потерями. Более того, это представление можно подавать на вход нейросети — получается дискретный «язык» звука.

Ключевая идея — Residual Vector Quantization (RVQ). Звуковой фрагмент (обычно 10-20 мс) кодируется энкодером в непрерывный вектор. Затем он проходит несколько уровней квантования: каждый следующий уровень кодирует ошибку предыдущего. На выходе — стопка из N токенов (обычно 4-16) на каждый временной шаг. Эти токены можно потом декодировать обратно в waveform.

Три главных кодека, на которых построены современные V2V модели (данные на июль 2026):

КодекБитрейт (кбит/с)Уровни RVQОсобенность
SoundStream (Google, 2021)3-128-16Первый end-to-end нейрокодек, адаптивный битрейт
EnCodec (Meta, 2022)1.5-244-32Спектральная потеря + adversarial training, основа AudioLM
DAC (Descript, 2023-2024)8-164-12Устранение тональных артефактов, открытый вес, популярен в open-source
SpeechTokenizer (2025)4-84-8Разделение семантики и акустики на разных уровнях RVQ

Выбор кодека — компромисс. Чем меньше битрейт, тем ниже качество ресинтеза, но тем проще трансформеру обрабатывать последовательность. Ошибки кодека (например, «металлический» призвук у EnCodec на низких битрейтах) убивают естественность голоса. Поэтому современные V2V модели (как в Voxtral-TTS) часто используют DAC или SpeechTokenizer, а не оригинальный EnCodec.

Трансформеры аудио: как обработать последовательность кодековых токенов

После кодирования мы получаем не одну последовательность, а N параллельных потоков токенов (по числу уровней RVQ). Задача трансформера — предсказать следующую «стопку» токенов по предыдущим. Это похоже на языковое моделирование, но в многомерном пространстве.

💡 Важно: Трансформер работает не с сырым аудио, а с токенами. Как и в классических LLM, мы используем кросс-энтропию, но на каждый уровень RVQ — своя голова. Иногда уровни предсказываются последовательно (авторегрессивно), иногда — параллельно с помощью декодеров.

Три основных подхода к архитектуре:

  1. Одноуровневая авторегрессия (AudioLM, Bark). Трансформер генерирует сначала «семантические» токены (первый уровень RVQ), затем на их основе — «акустические» (остальные уровни). Это даёт хороший контроль просодии, но медленно — генерация идёт токен за токеном.
  2. Многоуровневая поточная генерация (VoiceBox, CosyVoice). Трансформер предсказывает все уровни RVQ одновременно, используя маскирование и зашумление. Это быстрее, но хуже улавливает глобальные интонационные паттерны.
  3. Диффузионные трансформеры (NaturalSpeech 3, 2025-2026). Генерация начинается с шума и постепенно денойзится, управляемая контекстом (спикер, эмоция, текст). Показывают лучшее качество, но требуют больше итераций.

Последние тренды (середина 2026): гибридные модели, где семантический уровень генерируется авторегрессивно (как в LLM), а акустические — неавторегрессивно или через диффузию. Это сочетает лучшую контролируемость с производительностью. Для реальных диалоговых систем с субсекундной задержкой такой подход становится стандартом.

Разделение семантики и акустики: главный архитектурный трюк

Одно из самых изящных решений — заставить разные уровни кодека нести разную информацию. SpeechTokenizer от Microsoft (обновлённая версия 2026) делает это принудительно: первый уровень RVQ кодирует только фонемы и ритм (семантика), второй — тембр, третий — шумы и артефакты. Это позволяет независимо менять содержание речи, не трогая голос.

Голосовые эмбеддинги Qwen3, например, работают в непрерывном пространстве размерности 1024, но их можно свести к дискретным токенам через проецирование. Однако дискретные токены дают преимущество — можно применять все техники LLM: KV cache, speculative decoding, beam search.

На практике разделение семантики и акустики решает проблему «путаницы»: если V2V модель хочет изменить только эмоцию, но сохранить смысл, она меняет акустический уровень, а семантический оставляет неизменным. Без разделения любая замена токена может сломать и смысл, и голос.

Пошаговый план: как построить V2V систему (без кода, но с пониманием)

1 Выбор кодека

Если важна обратная совместимость с уже обученными моделями — берите DAC (веса открыты, биоинспирированные потери). Если нужна максимальная степень сжатия — EnCodec с 8 уровнями. Для академических экспериментов — SpeechTokenizer.

2 Выбор архитектуры трансформера

Для диалогов (низкая задержка) — одноуровневый декодер с 4-8 уровнями RVQ, предсказываемыми параллельно через неавторегрессивную голову (например, MaskGIT стиль). Для креативных задач (озвучка, аудиокниги) — авторегрессия на семантическом уровне + диффузия на акустических.

3 Обучение

Нужны парные данные: входное аудио и выходное аудио (например, speech-to-speech конверсия или TTS с голосом). Для V2V без текстовой транскрипции — применяйте самоконтролируемое обучение (маскирование части токенов). Размер датасета — от 5 тысяч часов. Обратите внимание: если вы планируете работать с конверсией голоса с сохранением интонации, датасет должен содержать много спикеров.

4 Инференс

Кодируете входной аудиопоток чанками (40-80 мс), трансформер генерирует кодековые токены ответа, декодер восстанавливает waveform. Чтобы добиться потоковости — используйте конвейеризацию: пока трансформер считает, следующий чанк кодируется. ExecuTorch позволяет запускать такие модели на мобильных устройствах и встраиваемых системах с минимальной задержкой.

Нюансы и ошибки, которые сломают ваш продакшн

⚠️
Ошибка 1: Игнорирование тональных артефактов кодека. EnCodec на низком битрейте даёт звонкие «пики» на сибилянтах. Если не дообучить декодер на реальных данных, пользователи услышат «металлическую» речь. Лечение: добавляйте в потери кодека adversarial discriminator на частотах 4-8 кГц.
⚠️
Ошибка 2: Переобучение на одном спикере. Если датасет состоит из голоса одного диктора, модель научится генерировать только его тембр, даже если вы меняете эмбеддинг. Используйте speaker augmentation: смешивайте случайные голоса, применяйте Pitch-shift и Formant-shift.
⚠️
Ошибка 3: Ставить трансформер большой (как LLM на 7B параметров) для обработки 10-секундной фразы — бессмысленно. Окно контекста всего 10-20 шагов кодековых токенов (1 секунда). Модель 300М с тщательным трюном часто даёт лучшее качество, чем гигант. Сравнение open-source TTS моделей подтверждает: для V2V размер модели имеет значение только при генерации длинных аудио (>30 секунд).

Будущее V2V: прогноз на 2026-2027

Текст как промежуточное представление умирает. Уже сейчас модели вроде Moshi 2.0 и LlamaVoice 2026 работают напрямую с акустическими токенами, обходясь без фонем. Это означает, что задержка упадёт до 50-100 мс, а эмоциональная выразительность станет нативным свойством, а не прикрученным «параметром». Единственное препятствие — вычислительные ресурсы: потоковый инференс требует GPU с памятью хотя бы 8 ГБ, но с ростом открытых моделей и оптимизаций (вроде ExecuTorch) это станет доступно даже на Raspberry Pi.

Мой совет: если вы строите голосового ассистента — не копируйте пайплайн «ASR → LLM → TTS». Потратьте время на освоение кодековых токенов и гибридных трансформеров. Через год это будет стандартом, а вы будете в числе тех, кто не догоняет, а ведёт.

Подписаться на канал