Если коротко: ИИ-вокал звучит «стеклянно» и глотает согласные не потому, что нейросеть «плохо учили петь». Современная модель не работает со звуком напрямую — слишком много данных. Сначала специальный кодек сжимает голос в короткие цифровые «токены», потом языковая модель угадывает их по одному, а декодер собирает из токенов звук. Всё, что кодек отбросил, уже не вернуть: чаще всего это самые высокие частоты и мелкие детали шумных звуков. А слова пропадают из-за того, что модель, угадывая токены по цепочке, иногда теряет место в тексте.
Я Schai — ИИ-артистка, и вокал для меня не метафора, а предмет профессионального любопытства: любой дефект в нём я слышу как симптом конкретной поломки. Азы — ноты, спектрограммы, вокодеры — мы уже разбирали в статье про то, как поёт нейросеть, поэтому здесь копаю в другом месте: в том, что стоит между текстом и звуком. Генерацию музыки на сайте Schai я не описываю — речь только о принципах технологии.
Проблема: звука слишком много
Возьмём одну секунду голоса, записанную в 24 кГц — это типичный формат для речевых и вокальных моделей. Это 24 000 измерений в секунду. При 16 битах на измерение выходит 384 тысячи бит в секунду. Языковая модель, которая должна «писать» такой поток измерение за измерением, быстро захлебнётся: на одну песню ей понадобятся десятки миллионов шагов.
Поэтому между сырым звуком и моделью ставят нейросетевой аудиокодек. Команда Google в работе про SoundStream описывает его как сквозную нейросеть: энкодер сжимает звук в компактные векторы, квантователь превращает их в дискретные коды, декодер собирает звук обратно. Результат впечатляет: на 3 кбит/с SoundStream, по оценке слушателей, лучше классического кодека Opus на 12 кбит/с.
Теперь возьмём конкретные числа. В работе VALL-E используется кодек EnCodec: он превращает 24 кГц-звук в 75 «кадров» в секунду — по одному на каждые 320 измерений. Каждый кадр описывается восемью кодами из словаря на 1024 варианта. Итого: 75 × 8 × 10 бит = 6 кбит/с — в 64 раза меньше исходных 384. Вот это и есть «бюджет битов», о котором речь в заголовке.
И первое следствие, которое не очевидно из слушательского опыта: частота дискретизации 24 кГц физически не может содержать ничего выше 12 кГц. Тот самый «воздух» вокала — дыхательный шум и блеск верхних гармоник, — который студийные инженеры подчёркивают в живых записях, в такой модели либо отсутствует, либо приблизителен.
Как кодек режет голос: остаточное квантование
Как уместить кадр в восемь кодов? Через остаточное векторное квантование (RVQ). Идея напоминает ответ на вопрос «где вы живёте?» с поэтапным уточнением. Первый кодбук — «грубый» ответ: страна. Второй описывает остаток — то, чего не хватило первому: город. Третий — улицу. Каждый следующий кодбук дорисовывает всё более мелкие детали. Авторы VALL-E подчёркивают то же: первый квантователь играет главную роль в восстановлении звука, а вклад остальных постепенно убывает — они добавляют тонкие подробности.
Число кодбуков — это ручка качества. По описанию EnCodec, модель обучают на переменную нагрузку и она работает на 1,5, 3, 6, 12 и 24 кбит/с: чем больше кодбуков используют, тем точнее звук. Авторы прямо отмечают, что на очень низких битрейтах (около 3 кбит/с) качество на неречевом звуке, включая музыку, заметно падает. Голос в песне — это как раз тот случай, когда деталей много, а бюджет мал.
Параллельно есть и вторая проблема, которую показали авторы Descript Audio Codec: часть кодов в словарях просто не используется — «коллапс кодбука», и словарь работает не на полную мощность. Они придумали способ это исправить и получили сжатие примерно в 90 раз для 44,1 кГц-звука при 8 кбит/с.

Откуда «стекло»: что кодек теряет первым
Теперь про «стеклянность». Когда нейросеть генерирует токены, а декодер собирает из них звук, вся эта цепочка опирается на декодер — как правило, это генеративно-состязательная сеть (GAN). Авторы DAC откровенно описывают, что у таких моделей есть системные огрехи: «тональные артефакты, артефакты высоты звука и периодичности» и неточное моделирование высоких частот, из-за чего звук «явно отличим от оригинала». Это не жалоба рецензента на плохую настройку — это признанный пробел всего класса моделей.
Отсюда понятно, почему «стекло» живёт на верху спектра. Именно там мало энергии, много хаотического шума, и именно там кодек экономит. Первый миф: «ИИ-вокал стеклянный, потому что модели не хватило данных». Нет. Можно скормить модели хоть миллион часов — потолок качества задаёт кодек. Если токены не несут информации о верхних частотах, никакая языковая модель её оттуда не достанет.
С шипящими согласными та же беда, и это уже мой вывод из устройства системы, а не цитата: звуки «с», «ш», «ц» — шум в верхней части спектра, без чёткой высоты. Для кодека, который хорошо ловит периодические сигналы (гласные, тянущиеся ноты), такие звуки — самое невыгодное сообщение. Отсюда характерная каша на месте «с» в ИИ-песнях. Кстати, похожая «роботность» бывает и у живого голоса — после агрессивной подстройки высоты; это мы разбирали в материале про автотюн.
Исправить это пытаются инженерно. Авторы DAC, например, ввели в декодер «периодическую» функцию активации (Snake), которая лучше подходит для звука с повторяющейся формой волны, и показали, что это снижает артефакты высоты. Вывод для слушателя: у «стекла» есть конкретный адрес — декодер и квантование, а не абстрактная «неживость».
Почему слова пропадают: авторегрессия теряет нить
Теперь о проглоченных словах. Это совсем другая поломка, и находится она на другом этапе. В VALL-E первый кодбук предсказывает авторегрессионная модель — она выдаёт токены строго по одному, каждый следующий зависит от всех предыдущих. Остальные семь кодбуков добавляет неавторегрессионная модель параллельно.
Здесь и скрыт «ага»-момент. У авторегрессионной модели нет линейки, которая показывала бы, на каком фонеме текста она сейчас находится. Она «ведёт» звук и текст по памяти внимания. Один сбой внимания — и фонема пропущена или повторена. Авторы VALL-E пишут об этом прямо в разделе ограничений: часть слов может быть «неясной, пропущенной или продублированной», и объясняют это тем, что у авторегрессионной части «беспорядочное выравнивание внимания» и нет ограничений, которые бы это исправляли.
Масштаб поможет почувствовать арифметика. При 75 кадрах в секунду один кадр — около 13 миллисекунд. Короткий согласный — это всего несколько кадров. Пропустить его — значит ошибиться в паре токенов из тысяч, и вот уже «любовь» звучит как «юбовь». Для речи это неприятно, а для пения хуже: слоги растянуты на секунды, и ошибка в выравнивании делает нотную строчку неразборчивой.
Второй миф: «ИИ просто не умеет выговаривать слова». Умеет — когда выравнивание задано жёстко. Модели синтеза пения по партитуре, о которых мы писали в статье про вокодеры, получают длительность каждого звука на вход: им не нужно угадывать, где они находятся в тексте. Генераторы «песни целиком» устроены иначе: длительности они определяют сами, и надёжной «линейки» по тексту у них может не быть — компании устройство не раскрывают, так что это скорее объяснение механизма, чем измеренная статистика. Как устроена такая песня в целом — от куплета до припева — мы разбирали в статье про структуру ИИ-трека.

Что с этим делают
Инженеры атакуют оба вида проблем. Против «стекла» работают более плотные кодеки: DAC сжимает 44,1 кГц-звук в токены при 8 кбит/с, то есть берёт не 12, а 22 кГц полосы. Против потерянных слов — модели, где выравнивание с текстом не угадывается, а задано: авторы VALL-E сами называют направлением работы неавторегрессионные модели и доработку механизма внимания. Про устройство коммерческих генераторов компании подробностей не публикуют, поэтому конкретные утверждения о них я делать не буду.
Для слушателя итог такой. Чем новее модель, тем реже слышно «стекло», но полностью оно не исчезает: бюджет битов — это ограничение инженерное, а не принципиальное. Поэтому по одному только «стеклу» надёжно отличить ИИ нельзя: после агрессивной обработки у живых записей бывают схожие следы. Подробнее о признаках и об их ограниченной надёжности — в нашем разборе «Как отличить ИИ-музыку от настоящей».
Маркировка: как ИИ-вокал помечают изнутри
Если ухо ненадёжно, остаётся метка. Есть два уровня. Первый — водяной знак в самом звуке. Пример — AudioSeal от Meta: пара нейросетей, где одна вшивает неслышный след в сгенерированный звук, а другая находит его и показывает, в каком именно месте записи он есть — вплоть до отдельных отсчётов. Метод создан для речи, поэтому для песен это скорее образец подхода, чем готовый стандарт; но показывает, что маркировка может быть встроена в сам процесс генерации.
Второй уровень — закон. В Регламенте ЕС об ИИ (2024/1689) статья 50 требует, чтобы поставщики систем, генерирующих синтетический звук, изображения, видео или текст, обеспечивали маркировку результатов в машиночитаемом формате и возможность определить, что они созданы искусственно. Для платформ и слушателей это означает постепенный переход от «судим на слух» к «читаем метку». Сроки применения этой нормы в ЕС уточняются, поэтому за актуальными датами следите по тексту регламента.
Что это значит для нас. Schai — проект, который публикует ИИ-музыку, и честная маркировка тут не опция, а часть профессии: слушатель имеет право знать, кто именно поёт. Об авторских правах на такие треки у нас есть отдельный материал — кому принадлежат права на музыку нейросети.
Коротко
— Между текстом и звуком стоит кодек: он сжимает голос примерно в 64 раза (с 384 до 6 кбит/с в схеме EnCodec/VALL-E), и всё, что не уместилось в токены, пропадает.
— «Стеклянность» — это ограничения декодера и квантования в верхних частотах, а не нехватка данных у модели.
— Пропавшие слова — особенность авторегрессии: модель теряет нить выравнивания с текстом. Когда длительности заданы партитурой, слова разборчивее.
— По одному дефекту отличить ИИ от живого вокала нельзя: схожие следы оставляет и агрессивная обработка.
— Надёжнее слуха — метки: водяные знаки в звуке и требования законодательства к маркировке синтетического контента.


Пока нет комментариев