
HeartMuLa — это передовое семейство мультимодальных базовых моделей (Foundation Models) с открытым исходным кодом (лицензия Apache 2.0), предназначенное для высококачественного синтеза музыки и работы со звуком. В отличие от проприетарных облачных сервисов (таких как Suno или Udio), HeartMuLa предоставляет разработчикам полный контроль над процессом генерации и возможность локального запуска на собственном оборудовании. Модель работает на базе LLM-архитектуры и позволяет создавать полноценные композиции по текстовым промптам.
Официальный репозиторий: https://github.com/HeartMuLa/heartlib
Ключевые возможности
-
Мультиязычная генерация вокала: Поддерживается синтез речи и пения на нескольких языках, включая английский, китайский, японский, корейский и испанский.
-
Тонкий структурный контроль: Использование специальных тегов в текстах (например,
[Intro],[Verse],[Chorus],[Bridge]) позволяет точно управлять аранжировкой и развитием композиции. -
Управление музыкальными атрибутами: Модель отлично понимает комплексные описания. Вы можете задавать жанр (рок, джаз, R&B, метал), тембр (dark, bright, soft), эмоции и конкретные инструменты.
В текущей базовой версии HeartMuLa полноценная поддержка русского языка не заявлена.
-
Для вокала (тексты песен): Модель официально оптимизирована для работы только с пятью языками: английским, китайским, японским, корейским и испанским. Если передать ей текст на кириллице, результат «из коробки», скорее всего, будет нестабильным — от сильного акцента и искажения слов до полной фонетической бессмыслицы.
-
Для промптов (описание музыки): Задавать жанр, настроение, структуру и инструменты (теги) также нужно строго на английском языке. Встроенный модуль выравнивания (HeartCLAP) обучался на англоязычных датасетах, поэтому русские описания он просто не поймет.
Архитектура: как это работает под капотом
Система не является монолитной; это комплекс из нескольких специализированных нейросетей, объединенных в единый пайплайн обработки аудио:
-
HeartCodec (Нейрокодек): Основа системы — токенизатор музыки, работающий на экстремально низкой частоте (12.5 Гц). Он обеспечивает высочайшую точность реконструкции сигнала (high fidelity) при минимальном объеме данных. Это критически важно для того, чтобы языковая модель могла эффективно генерировать длинные аудиофрагменты в авторегрессионном режиме.
-
HeartCLAP: Модель выравнивания текста и звука (audio-text alignment). Она создает единое пространство эмбеддингов, благодаря которому текстовое описание "грустная мелодия на акустической гитаре" математически точно сопоставляется с нужными акустическими характеристиками.
-
HeartTranscriptor: Модуль на базе архитектуры Whisper, дообученный специально для транскрибации текстов песен и извлечения фонетических признаков из вокала.
-
Генератор HeartMuLa: Основная LLM-модель с трехуровневой архитектурой:
-
Глобальный backbone обрабатывает текстовые токены и аудиокодировки.
-
Локальный декодер отвечает за непосредственный синтез музыки на основе скрытых состояний.
-
Детокенизатор переводит сгенерированные токены обратно в непрерывную звуковую волну (waveform).
-
Для обучения использовалась стратегия мульти-энкодера: модель извлекает данные из предобученных сетей Whisper, WavLM и собственного MuEncoder, что позволяет анализировать звук одновременно на фонетическом, семантическом и акустическом уровнях.
Важное примечание: В целях соблюдения этики ИИ, согласно технической документации разработчиков, в сгенерированные треки встраивается невидимый цифровой водяной знак (watermark) для идентификации машинного происхождения аудио.
Руководство: Как правильно оформлять тексты и использовать теги
При работе с ИИ-моделями для генерации музыки текст (лирика) выполняет две функции: он говорит модели, что петь, а мета-теги в квадратных скобках [...] указывают, как это петь и как выстраивать структуру трека. Модель воспринимает теги как режиссерские указания.
1. Базовые структурные теги (Каркас песни)
Эти теги разбивают сплошной текст на логические музыкальные блоки. Их нужно писать с новой строки перед блоком текста.
-
[Intro]— Вступление. Задает настроение и темп до начала вокала. Под этим тегом обычно не пишут текст, либо добавляют короткие атмосферные фразы или вокализы (например, Ooh-ooh). -
[Verse](или[Verse 1],[Verse 2]) — Куплет. Здесь раскрывается история. Музыка в куплетах обычно более спокойная, а ритм — ровный. Использование нумерации помогает модели понять, что мелодия должна повторяться, но текст будет новым. -
[Pre-Chorus]— Предприпев. Переходная часть, где нарастает напряжение и плотность инструментов перед главной кульминацией. -
[Chorus]— Припев. Главная мысль и самая запоминающаяся мелодия. Здесь модель обычно выдает максимум эмоций, плотности звука и вокальной экспрессии. -
[Bridge]— Бридж (мост). Вставляется ближе к концу песни (обычно после второго припева). В этой части кардинально меняется мелодия, ритм или тональность, чтобы песня не казалась монотонной. -
[Outro]— Кода (завершение). Плавное затухание музыки (fade-out) или красивый финальный аккорд.
2. Инструментальные и стилистические теги
Вы можете управлять не только структурой, но и аранжировкой в конкретные моменты времени.
-
Соло и проигрыши: Используйте теги вроде
[Guitar Solo],[Piano Interlude],[Bass Drop]или[Drum Fill]между куплетами и припевами. Текст под ними писать не нужно. -
Вокальные указания: Если модель это поддерживает, можно задавать стиль исполнения перед строкой:
[Whisper],[Scream],[Spoken],[Choir]. -
Бэк-вокал и эхо: Чтобы добавить бэк-вокал или хоровые ответы, заключайте слова в круглые скобки. Например: Lead: Walking down this lonely road Backing: (lonely road)
3. Золотые правила написания самого текста
Даже с идеальными тегами ИИ может запутаться, если сам текст плохо структурирован.
-
Симметрия и ритмика: ИИ-модели опираются на количество слогов. Постарайтесь, чтобы строки в одном куплете имели примерно одинаковое количество слогов и четкий размер. Если одна строка состоит из 5 слов, а следующая из 15 — модель начнет "жевать" слова или сломает ритм.
-
Пунктуация — это дыхание: Запятые
,и точки.работают как паузы. Если вам нужно, чтобы вокалист взял дыхание или сделал паузу перед важным словом, поставьте запятую. Отсутствие знаков препинания заставит ИИ петь скороговоркой. -
Язык: Как мы обсуждали ранее, пишите тексты строго на английском языке (или другом официально поддерживаемом), чтобы избежать фонетического "мусора" и акцента.
-
Разделение: Обязательно оставляйте пустую строку (перенос) между разными блоками (между куплетом и припевом).
4. Идеальный шаблон (Пример)
Вот как должен выглядеть грамотно составленный промпт для генерации:
[Intro][Verse]You could, you could take me to a place that's new,A wave or a cloud, holding hands with only you.You could, you could tell me that you have it all,Everything I wanted, catching me before I fall.
[Chorus]Take me out for a ride,Along the docks or in the wood,You could make me sick inside,In just a single word you could.
[Chorus]The sky would think it's right,It loves the simple things,My heart against yours tight,If you love the simple things.No, let's not do what others doNo, let's not do what others doLa, lalala, lalalaIf you love the simple thingsLa, lalala, lalala, lalala la la la
[Verse]You could, you could take me out to eat somewhere,The finest of tables, honestly I do not care.You could, you could use your charms to make me yield,Step right up to me and make me drop my shield.
[Chorus]Take me out for a ride,Along the docks or in the wood,You could make me sick inside,In just a single word you could.
[Chorus]The sky would think it's right,It loves the simple things,My heart against yours tight,If you love the simple things.No, let's not do what others doNo, let's not do what others do
[Bridge]Take me my boy, let me take a little bite,Behind a deep feeling hides a man of great might.Make me fly my boy, tell me if we are alright,Behind a deep feeling hides a man of great might.
[Chorus]Take me out for a ride,Along the docks or in the wood,You could make me sick inside,In just a single word you could.
[Chorus] The sky would think it's right,It loves the simple things,My heart against yours tight,If you love the simple things.La, lalala, lalalaIf you love the simple thingsLa, lalala, lalalaLa la la la la la la
Руководство по тегам (Промпт-инжиниринг)
Это руководство основано на анализе научной статьи по HeartMuLa (разделы 3.2 и 6.2). Модель использует токенизатор естественного языка (Llama 3), а не фиксированный словарь. Для достижения стабильной генерации выбирайте теги из 8 основных категорий, которые использовались при обучении.
8 столпов обучения
Каждая категория имеет процент важности, отражающий «вероятность выбора» во время обучения.
-
Частота при обучении: Теги «семплировались» (выбирались) в процессе обучения. Жанр включался в 95% случаев, тогда как Инструмент — только в 25%.
-
Ожидания модели: Для корректной работы модель ожидает наличие тега жанра. Без него генерации не хватает четкого структурного якоря.
-
Влияние и стабильность: Более высокий процент означает большую стабильность. Тег с вероятностью 95% (Жанр) — это «сильный якорь», тогда как тег с 10% (Тема) — это «слабая подсказка», которая может быть проигнорирована, если она конфликтует с более сильными тегами.
-
Стратегия: Для максимального контроля активно опирайтесь на 4 топовые категории (Жанр, Тембр, Пол, Настроение). Используйте теги с низким процентом только как «приправу» после того, как задана основная структура.
Официальные категории
GENRE / ЖАНР (95% — ОБЯЗАТЕЛЬНО)
-
Примеры: Pop, Rock, Electronic, Hiphop, Jazz, Classical, Techno, Trance, Ambient.
TIMBRE / ТЕМБР (50% — Текстура звука)
-
Примеры: Soft, Warm, Husky, Bright, Dark, Distorted.
GENDER / ПОЛ ВОКАЛИСТА (37% — Характер вокала)
-
Примеры: Male, Female.
MOOD / НАСТРОЕНИЕ (32% — Эмоциональный вайб)
-
Примеры: Happy, Sad, Energetic, Joyful, Melancholic, Relaxing, Dark.
INSTRUMENT / ИНСТРУМЕНТ (25% — Доминирующие звуки)
-
Примеры: Piano, Synthesizer, Acoustic Guitar, Electric Guitar, Bass, Drums, Strings, Violin.
SCENE / СЦЕНА (20% — Контекст прослушивания)
-
Примеры: Dance, Workout, Dating, Study, Cinematic, Party.
REGION / РЕГИОН (12% — Культурное влияние)
-
Примеры: K-pop, Latin, Western.
TOPIC / ТЕМА (10% — Лирическая тема)
-
Примеры: Love, Summer, Heartbreak.
Для удобства все 8 категорий и возможные теги для них вынесены в отдельные опции выбора на сайте. Вы можете не указывать их и ввести свой набор тегов в строке Tags (otional).
Стратегия промптинга: «Меньше — значит больше»
Чтобы сохранить сильный якорь и избежать «интерференции вероятностей», не используйте конфликтующие теги.
-
Семантический конфликт: Запрос «Rock, Jazz» рассеивает внимание модели, что часто приводит к «грязи» или невыразительным, шаблонным аранжировкам.
-
Стабильность якоря: Один сильный якорь дает четкую карту действий. Несколько жанров создают конфликтующие карты, из-за чего ИИ теряет фокус.
-
Рекомендация: Выбирайте только один тег для каждой категории. Будьте точны, избегайте слишком широких понятий.
Рекомендуемый формат
Используйте список, разделенный запятыми.
Примеры:
-
Electronic, Techno, Synthesizer, Dark, High Energy, Club -
Pop, Piano, Female, Sad, Soft, Love, Acoustic