upbeat track about data analytics at 3am, melancholic but hopeful 🎧
Вы пишете такой 👆 промпт в Suno и через ~60 секунд у вас готовая песня с вокалом, битом и почти студийным звучанием.
Мне вдруг стало интересно как это чудо работает под капотом. В результате это вылилось в этот пост.
В основе лежит следующий пайплайн:
Промпт → embedding → аудиотокены → генерация → декодирование в звук
Давайте разберем каждый из них
Шаг 1️⃣****: Промпт → embedding
Ваш текст кодируется в числовое представление (embedding), в котором уже зашиты все ассоциации. melancholic, hopeful, 3am, data analytics - всё это превращается в плотный вектор смыслов.
Чем точнее промпт - тем точнее этот вектор. Именно поэтому "lo-fi jazz, rainy night, muted trumpet" даёт лучший результат, чем просто "грустная музыка". Не можешь придумать хороший промпт? - не проблема! LLM дописывает за пользователя стихи и расширяет промпт. Если ты написал грустно, LLM превратит это в стилевые теги Slow Tempo, Minor Key, Emotional. Это называется Prompt Expansion. Шаг 2️⃣: Аудиотокены
Аудио нельзя скормить нейросети напрямую = слишком много данных. Одна секунда звука в CD-качестве - это 44 100 числовых значений.
Поэтому Suno использует нейронный аудиокодек, который сжимает звуковые волны в короткие дискретные токены.
Это работает как JPEG для звука: немного теряешь в деталях, зато получаешь компактную последовательность, с которой можно работать как с текстом.
Шаг 3️⃣: Генерация
Сердце системы.
Модель генерирует аудиотокены последовательно - почти как LLM генерирует текст.
Она не просто смешивает звуки, а буквально предсказывает каждый следующий "кусочек" аудио, основываясь на всем предыдущем опыте.
При этом она улавливает: ритм, гармонию, мелодические паттерны и структуру, похожую на куплеты и припевы
При этом структура не задаётся явно - она возникает из паттернов, на которых модель обучалась.
Например, если обучить модель на непривычных нам припевах, то мы и их и не узнаем в сгенерированной песне.
Шаг 4️⃣: Вокал и звук
ранних версия Suno (до v. 3.5) параллельно с инструментальной дорожкой отдельная модель генерировала вокал. Сейчас это монолитные модели. Вокал не генерируется отдельно от музыки - нейросеть создает всё "одним слепком".
Детали внутренней архитектуры вокального генератора публично не раскрывались, но можно предположить, что токены декодируются обратно в аудиоволны с учётом интонации, вибрато и тембра.
Модель выучила по скоррелированным зависимостям, что melancholic - это более медленное вибрато и лёгкая хрипловатость на краях фраз. А hopeful - это подъём интонации к концу строки и чуть больше воздуха в голосе.
Шаг 5️⃣: Декодирование
Финальный этап - аудиокодек превращает токены обратно в звуковую волную.
Это не мастеринг в классическом смысле с экранизацией, компрессией и пространственной обработкой звука. Это просто результат того, что модель обучена генерировать уже “сведённый” звук.
Нейронный аудиокодек не просто восстанавливает звук, а делает "апскейлинг", сразу создавая детализированную Hi-Fi волну с правильной панорамой и плотностью, как в студийном релизе.
1-2 минуты. Один промпт. Готовая песня Ну не чудо ли?
p.s. вот сcылка на сгенерированный трек по промпту из заголовка напишите в комментах, как она вам (только честно😅)