The Jerusalem PostEl Al unveils new bedding, Jo Malone kits in passenger service overhaulESPNHurts out for season after blood clots discovered in Eagles QB's lungsESPN DeportesNBA 2026-27: Rankings, predicciones sobre los 30 equiposInquirerDizon: 3 nabbed for stealing parts of Diokno Pumping StationPunchN3bn power line: Scrap dealers demand proof of cable theft from ZulumRTP DesportoChampions: Farioli quer começar a "escalar a montanha" frente ao PSVDaily MaverickTHE CONVERSATION: Why are we so obsessed with true crime? It’s not just morbid curiosityFootball ItaliaAllegri: ‘I question myself every day, Napoli players must be defended’Anime News NetworkSTEEL BALL RUN JoJo's Bizarre Adventure ‒ Episodes 1-4GIGAZINE規制が厳しい現代社会に「オトナ」なアニメ表現を届ける気概と工夫を男2人が密室でみっちり語り倒す『ダークサモナーとデキている』『彼女の友達』プロデューサートーク濃密レポート
The Daily Newsstand · Free, Always
Monday, October 19, 2026

Музыка и звуки для игры на RTX 5060 Ti: где хватило референса, а где понадобилось дообучение

Translate

Я делаю Dungeon Cult на Unreal Engine 5. Это игра, в которой строишь подземную базу, обустраиваешь комнаты и управляешь её обитателями. Одни копают породу, другие сражаются и колдуют. Им нужны короткие звуковые реакции, а самой игре — музыка, которую не захочется выключить через пять минут.

С музыкой для игры вышли две разные истории. Песню для вступительного ролика удалось получить по аудиореференсу и отдельно подготовленному тексту — без дообучения. А для фоновых треков нужного характера пришлось дообучить модель. Ниже разберу оба пути: где хватило готовой модели, а где примеры для обучения помогли больше, чем очередная правка запроса.

Сначала — вступительный ролик: он показывает атмосферу игры и песню, для которой хватило готовой модели. Послушайте и её концовку — с попытками продлить уже удачный трек пришлось возиться отдельно. Ниже покажу, что не подошло и на чём в итоге остановился.

Смотреть вступительный ролик Dungeon Cult со звуком — 50 секунд. Откроется видеоплеер Google Диска. (Оффтоп - ролик сделан в Unreal Engine 5.8 с помощью Opus, но про это, возможно, будет в другой статье)

Обе музыкальные задачи решал локально на RTX 5060 Ti с 16 ГБ памяти. На ней же подбирал короткие реакции существ. Дальше — модели, которые оставил в работе, параметры и время обучения, принятые и забракованные звуки. Платная подписка для этих результатов не понадобилась; несколько старых удачных эффектов ElevenLabs я просто сохранил.

Какие модели пробовал и кто остался в работе

В моей подборке два основных инструмента: Stable Audio 3 Medium для существ и эффектов, ACE-Step 1.5 для музыки. Это победители по результату моего проекта, а не универсальный рейтинг качества. Для полноты добавил в таблицу облачные пробы и модели, которые помогали разбирать звук при монтаже.

Модель или сервис

Где работала

Задача и результат

ACE-Step 1.5 + LoRA

Локально

Основной выбор для музыки. Фоновые треки, дообучение под нужный характер и продолжение удачных фрагментов. ACE-Step использовал и в работе над вокальным треком для ролика; это отдельный эксперимент, не та же DK1-LoRA.

Stable Audio 3 Medium

Локально

Основной выбор для реакций существ и эффектов. Заменил в том числе реакции рабочего существа на поднятие и боль, ранее сделанные в ElevenLabs. Пробовал также для музыки с референсом, но для дальнейшей работы с музыкой выбрал ACE-Step.

MOSS-SoundEffect v2.0

Локально

Пробовал реакции рабочего существа и голос монстра-мага. Результаты меня не устроили; следующие подборки делал в Stable Audio.

ElevenLabs Sound Effects

Облачный сервис

Первые игровые звуки. Часть заменил локальными вариантами; оставил удачные удары кирки и пульсирующий звук центрального объекта базы — «сердца подземелья».

Suno

Облачный сервис

Отдельная музыкальная проба с аудиореференсом: два результата по 3:55 и 3:48. В игру их не подключал, заменой ACE-Step они не стали.

Whisper small через faster-whisper

Локально

Проверял распознанный текст и примерные границы вокальных фраз при работе над концовкой песни. Не создаёт голос и не оценивает, насколько удачно звучит переход.

Hybrid Demucs (HDEMUCS_HIGH_MUSDB_PLUS)

Локально

Разделял готовую песню на вокал, бас, ударные и остальное сопровождение в опытах с концовкой. Вспомогательный инструмент, не генератор новой музыки.

«Локально» здесь означает, что модель выполняет работу на моём ПК. Это не всегда синоним свободной лицензии: у Stable Audio — открытые веса под Community License, у MOSS-SoundEffect — Apache 2.0, у ACE-Step — MIT. Условия конкретной модели всё равно стоит проверить перед использованием в своём проекте.

Как должен звучать монстр, у которого нет рта?

Один из обитателей игры — крылатое существо без лица и рта. Дать ему обычный звериный рык было бы странно. Поэтому в Stable Audio пробовал три разных характера: сухой воздушный шорох, полый телесный резонанс и треск натянутых перепонок. Задача была не в том, чтобы получить три похожих дубля, а в том, чтобы выбрать, каким вообще будет голос этого существа.

Послушать три варианта атаки: A → B → C. Они идут подряд в одном файле. Для игры я выбрал B — второй. Это короткий звук одного действия, а не запись боя с музыкой: так проще услышать сам характер, не отвлекаясь на картинку. Примеры открываются на Google Диске.

Для другого персонажа, крупного человекоподобного бойца, нужен был низкий мужской бас. Первые 45 вариантов реакций не подошли целиком. Во второй подборке уточнил именно характер голоса, а не просто попросил «сделать лучше». Вот одна и та же ситуация — персонаж откликается, когда игрок его выбирает: вариант из отвергнутой подборки и вариант, который оставил. Оба сделаны в Stable Audio, но с разными описаниями; это не соревнование двух моделей.

После таких подборок я бы не начинал с заказа всех реакций сразу. Сначала три характера голоса, по две короткие реакции на каждый: например, спокойный отклик и боль. Так слышно и тембр, и то, как он ведёт себя при смене эмоции. Выбрать направление, а уже потом делать атаки, злость, смерть и прочее. И давать моделям конкретную задачу — короткий одиночный звук, без музыки и фонового шума, — чтобы не вырезать нужные полсекунды из целой сцены.

Генерация при этом довольно быстрая. Набор для крылатого существа — восемь событий по три варианта — занял около 94 секунд. На первый результат ушло примерно 64 секунды, на остальные 23 суммарно около 30. Но это время получения файлов, не готовой озвучки: послушать, забраковать и проверить выбранное в игре всё равно нужно. Сначала отдельно одно существо, затем несколько одновременно — приятная одиночная реакция может быстро надоесть, если повторяется хором.

Почему музыка всё время получалась слишком бодрой

Для строительства подземелья хотелось приглушённой, тревожной музыки в духе первого Dungeon Keeper — старой стратегии, где игрок управляет силами зла. А по описанию «мрачное подземелье» нередко получался бодрый эпический трейлер. Пробовал и готовые записи как звуковые примеры, но тут возникала другая крайность: результат слишком напоминал исходник.

В ACE-Step нашлась ещё одна причина непослушания. Перед генерацией встроенная языковая модель могла дополнять описание и музыкальные параметры. Я задавал один характер, а до генератора доходила уже её интерпретация. Для дальнейших опытов отключил эту помощь — thinking и автоматическое дополнение описания и метаданных — и явно задавал минорную тональность. Это не универсальное улучшение качества, а способ перестать одновременно менять и запрос, и результат.

Когда словами не удавалось достаточно точно передать нужную атмосферу, перешёл к LoRA. Если без терминов, это дообучение готовой модели на небольшой подборке примеров: не создаёшь музыкальную нейросеть с нуля, а учишь её лучше воспроизводить нужный характер звучания. Для эксперимента использовал шесть треков Dungeon Keeper.

Час обучения — и выбирать всё равно пришлось ушами

Целые композиции не помещались в память при обучении. Их нарезали на минутные фрагменты со сдвигом 45 секунд — получилось 32 примера. Такой набор уже удалось обработать на моей видеокарте. Сам запуск обучения занял 1 час 10 минут 6 секунд; подготовка, установка и прослушивание в это время не входят.

Что использовал

Значение

Видеокарта

RTX 5060 Ti, 16 ГБ

Музыкальная модель

ACE-Step 1.5 sft

Обучающие примеры

32 фрагмента по 60 секунд

Параметры LoRA для повторения

rank 64, alpha 128; learning rate 0,0001; batch 1, накопление градиентов 4; bf16

Время обучения

1:10:06, 2400 шагов

В отчёте обучения было 5 GiB выделенной памяти PyTorch. Это не всё потребление видеокарты, поэтому обещать по этой цифре работу на карте с 6 ГБ нельзя. Для сравнения, в отдельном запуске генератора эффектов свободная память всей моей карты снижалась примерно с 14,9 до 7,3 GiB. Разные задачи и разные измерения; обе я запускал на карте с 16 ГБ, а не проверял минимально возможное железо.

Главный сюрприз: финальная версия обучения оказалась не той, которую захотелось использовать. Процесс дошёл до 300 проходов по примерам, но выбрал сохранённую версию после 100-го. Поздние варианты на слух становились светлее или слишком напоминали исходники. При этом ошибка обучения уменьшалась — с 0,7476 до 0,6911. На графике всё улучшалось, а для моего подземелья — нет.

Поэтому промежуточные версии полезно сохранять и сравнивать на одной задаче, а не автоматически брать последнюю. И отдельно проверять, что дообученные веса вообще подключились: у меня загрузка LoRA споткнулась о точку в имени папки. Это та ошибка, после которой можно долго оценивать «дообученную» модель, фактически запуская базовую.

Обучение на саундтреке здесь — эксперимент с конкретным референсом, а не заявление о правах на чужую музыку. Исходные записи и веса LoRA в подборку к статье не выкладываю.

Как из удачной минуты получились три

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

Вместо этого выбрал минуту-основу. Её последние 30 секунд подавались модели как контекст, к которому она дописывала ещё 45 секунд. Три таких продолжения дали трек на 3:15. На каждом этапе выбирались варианты, а стыки сглаживались коротким наложением фрагментов. Само наложение убирает резкий переход, но не спасает, если продолжение музыкально ушло не туда.

Послушать получившийся фоновый трек, 3:15. Это один из принятых результатов, а не доказательство, что LoRA улучшит любую генерацию: строгого сравнения с тем же запросом без обучения я не проводил. Практически схема дала нужное — музыку, которую оставил для игры.

Удачную минуту после выбора больше не переделывал. Сохранил её отдельно вместе с запросом, настройками и версией LoRA; агент работал только над продолжениями. Это оказалось полезнее бесконечного «сделай весь трек ещё немного лучше», при котором теряется и та часть, которая уже нравилась. После того, как сделал первый успешный трек, остальные пошли достаточно быстро, сделал еще 8 композиций для игры.

Как референс превратился в песню со своим текстом

Для вступительного ролика нужна была уже не фоновая музыка, а песня с характером. За ориентир взял минутный музыкальный фрагмент из трейлера одного сериала: понравились плотный бас, сухие удары и низкий женский голос. Этот файл подавался в ACE-Step как аудиореференс, а словами уточнял нужное направление. Важно: здесь работала базовая ACE-Step 1.5 SFT, без LoRA на Dungeon Keeper. Для этой задачи дообучение не понадобилось.

Текст песни не возник из случайно спетых звуков. Его подготовили отдельно и передали в поле lyrics — с короткими строками и разметкой вступления, куплета и припева. Язык указал английский, генерацию вокала включил, автоматическое переписывание текста отключил. Например, в куплет заложили такие строки:

Black glass, red light
Footsteps out of sight
Cold hands, slow grin
Let the shadows in

То есть «чёрное стекло, красный свет; шаги вне поля зрения; холодные руки, медленная усмешка; впусти тени». Референс задавал музыкальный ориентир, описание — желаемый характер, а lyrics — слова, которые нужно спеть. Голос и сопровождение модель создавала вместе: отдельного диктора поверх инструментала не накладывал. В этой подборке сделал три направления по два дубля — шесть минутных вариантов с одним исходным референсом. Выбрал первый, «Тёмный голос».

Но наличие текста в настройках ещё не доказывает, что модель его спела. Поэтому перед статьёй повторно проверил финальные 50 секунд двумя локальными распознавателями, не подсказывая им слова песни. Оба восстановили связные строки, включая «Something listens in the wall» и «There’s something underneath». Есть расхождения: один услышал low grin вместо slow grin, оба не выделили to в count to three. Это подтверждает, что вокал не просто имитация английского, но не гарантирует идеальную дикцию: спорные места нужно слушать. Практический вывод — хранить рядом с треком заданную лирику и сверять её с результатом, а не принимать красивый тембр за точное исполнение.

Почему концовку песни в итоге не стал генерировать

Песня для ролика нашлась. Оставалось закончить её под сцену. Казалось, дописать несколько секунд проще, чем сделать весь трек. На практике это оказалось самой неприятной частью.

Подготовил две версии по 66,5 секунды. Первые 50 секунд исходной записи сохранялись без изменений, дальше шла новая концовка. Громкость выровнена, перегрузки нет, распознавание речи помогает проверить, где закончилась вокальная фраза. Но после прослушивания моя оценка была одна: «Очень похожа вроде музыка, но что-то не то».

Послушать отвергнутую концовку. Начните примерно с 40-й секунды: новая часть начинается после 50-й. Важно слушать именно переход, а не сгенерированный хвост отдельно. Сам по себе он может устраивать, а вместе с исходной песней восприниматься чужим.

В опытах пригодились и разделение записи на голос и инструменты через Demucs, и распознавание вокала через Whisper. Но ни один технический отчёт не мог ответить на вопрос, нравится ли мне переход. В выбранной версии сохранил удачные первые 50 секунд, привязал финальный визуальный акцент к существующему удару в музыке и сократил ролик под этот фрагмент. Вот выбранная 50-секундная версия.

Для следующего ролика порядок уже другой: сначала утвердить полную звуковую дорожку, потом доводить под неё монтаж. Пока музыка не принята целиком, красивое видео только маскирует проблемы и добавляет работу при следующей переделке.

Что можно забрать из этого опыта

Для коротких реакций существ и музыки, которую я оставил в проекте, локальных моделей хватило. Stable Audio закрыл подбор звуковых характеров, ACE-Step — музыкальную часть, включая дообучение. Платный сервис не оказался обязательной ступенькой к результату. Но «работает локально» не означает «всё получается с первой попытки»: главные затраты времени были на выбор, а не на ожидание генерации.

Я бы начинал с маленькой законченной задачи: двух реакций одного персонажа или минуты музыки для одной сцены. Сначала найти подходящий характер, затем расширять объём. Агенту поручить подготовку вариантов, сохранение настроек и технические проверки, а себе оставить выбор. В моём случае это дало больше, чем очередная пачка файлов, которые по отдельности вроде нормальные, но в игре не нужны.

Предыдущие статьи о Dungeon Cult: как ИИ-агенты помогли собрать конвейер 3D-персонажей и как выбирал нейросети и оживлял подземелье.

Открыт к нетворкингу и сотрудничеству. Буду рад обменяться опытом и обсудить совместные проекты — пишите в личку на Хабре.

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.