Доброго времени всем пользователям Suno и тем, кто интересуется технологиями ИИ в музыке. Как и ранее не претендую на полноту освещения вопроса, но надеюсь, что информация будет полезной.
Под аранжировкой обычно понимают создание инструментального трека (минусовки, backing track) на основе мелодии или мелодии + гармонии, с определенным стилем, темпом, формой/структурой. Suno генерирует песни (и инструментал) целиком с задаваемыми (относительно) стилем и формой. Показалось интересным протестировать систему на возможность создания нужной аранжировки. Особенно после своих экспериментов с Audio Input (см. статью), когда эта функция Suno стала очевидной. Да и читатели обращались с подобным вопросом. Так я затеял серию экспериментов, результаты которых представил в пяти тестах. (Все звуковые примеры и детали у меня на сайте).
За последние пару месяцев я сделал более 80 DS (dataset, исходников), как с вокалом, так и инструментальных. Причем, чаще это была не просто отрезка фрагмента до 60 сек. из готового трека, а его препарация или сборка фрагмента c нужным содержанием (вокал, аккорды, Hi-Hat Loop и т.п.).
Тест #1 / от спетой мелодии, текста... ("По-Гру-Гла-Но ...") *.
Отталкиваясь от удачного опыта с генерацией аранжировок в разных стилях на пьесу Воробей (acapella), я решил провести более детальный эксперимент: на входе спетая мелодия + текст (Lyrics) и задание Style. Классно же, спеть свою мелодию, скормить Suno и получить готовую песню в нужном стиле?
Написал простую мелодию, сочинил шуточный текст, включающий Bridge, Verse и Chorus и пропел все это на простую гармонию. Сначала в темпе 90 bpm - тогда пришлось сделать 2 разных DS: Bridge+Verse и Bridge+Chorus, иначе нельзя было уложиться в ограничение в 60 сек. Затем - в темпе 102 bpm: Bridge+Chorus, здесь Bridge уже не пропевался.
* Все детали этого теста - DS, ноты, результат генерации (21) в разных стилях с тональностями и темпом приведены на сайте.
Для этой песни сделал 10 DS, результаты для 8 приведены. Все DS, естественно, включали мелодию (голос) и Hi-Hat по 1/4, в некоторых была полностью проведена гармония (аккорд фортепиано на каждый такт или на слабые доли), в некоторых ОДИН аккорд вначале. Где-то добавлены бас и DrumLoop, где-то голос был смягчен (легкий завал ВЧ + Reverb). Все эти вариации с целью понять, как надежнее передать Suno мелодию, гармонию.
Что в итоге? Вполне рабочий вариант, если нужна готовая песня, а не минусовка. Конечно, инструментальный трек можно получить разделением (vocalremover), но качество его будет не очень хорошим. Основные моменты:
1.1 Разбивать одну песню на 2 DS нежелательно - различия в генерациях/моделях (из-за определение тональности, гармонизации) при одном и том же Style могут быть существенными, что сильно усложнит или сделает невозможной правильную сборку песни.
1.2 При простой гармонии и тексте, среднем темпе Suno в целом воспринимает и отрабатывает все основные параметры, внося в них изменения, видимо, согласно заданному Style и выбранной модели. В большинстве генераций, аранжировка делается правильно (в музыкальном смысле ), примерно так, как это мог бы сделать человек.
1.3 Достаточно интересны регенерации вокала: есть расширение диапазона, изменения мелодии и по ступеням, и по ритмике/длительностям/штрихам, опевания/мелизмы в соответствии со стилем, также разные "подачи". Где-то и на октаву выше исходника. В целом мне результат нравится - Suno поет моим голосом лучше, правильнее (в вокальном смысле), чем я сам.
1.4 Стоит обратить внимание на генерации, где Suno гармония не передавалась, а задавалась лишь самой мелодией (v9.n).
1.5 Интересным представляется v9.1, где и стиль не задавался. Скорее всего, здесь Suno делает выбор исключительно из ритмической организации и содержания текста.
Тест #2 / от спетой мелодии, текста... ("Красота в глазах ...") **
Тест, по сути, аналогичный #1, но с испытанием кроме мужского и женского DS. Опять сочинил мелодию, скажем там, слегка сконструированную. Написал текст, чтобы не издеваться над чужим. Подобрал гармонию (а-ля джазовую, хотя настоящие джазисты, сделали бы это лучше.) В общем, мелодия и гармония сложнее, чем в Тесте #1 - как это отработает Suno?
Для этой песни сделал 6 DS, для 3-х приведены результаты (16 генераций). Также, как и в Тесте #1 DS отличались по содержанию - к голосу были добавлены (или не) аккорды, бас и пр.
В целом выводы такие же как по Тесту #1, но есть особенности:
2.1 Как можно было догадаться, гармония в данном случае была Suno отработана хуже, но все-таки все оставалось соответствующим заданному стилю.
2.2 Женский DS не во всех генерациях был отработан, где-то явно тембр не сохранился и был "морфирован" (v5.7), а где-то сменился и гендер (v5.2, v5.3, v5.6, v5.8). Связано это, скорее всего, с заданным Style и выбранной Suno моделью.
Важный момент по Тестам #1 и #2: повторяя подобный эксперимент, загрузите вначале ваш DS с вокалом и не задавайте Style. Suno выберет что-то, что посчитает подходящим, исходя из анализа текста - размер/ритмика, смысл, образы. Обратится к своей базе и решит: "На русском? Нет, батенька, все-таки шансон ... , да". (Шучу...) Скорее всего, при задании стиля, похожего на тот, который выбрал(о) Suno, будет меньше внесено изменений в мелодию, а также будет меньше сбоев в форме - несоответствий фраз в тексте фразам в музыке и т.п.
** Все детали этого теста - DS, ноты, результат генерации (16) в разных стилях с тональностями и темпом приведены на сайте.
Тест #3 / от реальной песни и текста...
Цель этого теста - проверить, сможет ли Suno воссоздать тембр, манеру певца и стиль исходной песни, при генерации новой. А также, можно ли сменить язык, скажем, будет ли Кети Топурия (A'Studio) петь на французском, а Шакира (Shakira) - на русском... "Дорогая, слова я сочинил, но ты определись, кто споёт на твой день рождения - А.Малинин, Мумий Тролль или С.Михайлов?"... В общем, может ли Suno сгенерить песню с голосом известного исполнителя? Да! Но, давайте по-порядку.
Suno не пропускает в Audio Input известные композиции - подгрузив подобный фрагмент, вы увидите сообщение "Uploaded audio matches existing work of art"... Я сделал около 20 разных DS из реальных песен, как мужских, так и женских - три из своих прошлых проектов, часть - из хитов известных исполнителей, как наших, так и зарубежных. Соответственно, сгенерил новые песни (см. примеры). Для известных, привел (исключительно в ознакомительных целях!) нарезку из коротких фраз, где голос, манера, стиль исходной композиции узнаваемы. Для своих - полные треки.
Да, в режиме Audio Input система может генерить, синтезировать голоса известных артистов и тут два важных момента - технический, как преодолеть ограничение и юридический - можно ли вообще это делать. Мои соображения об этом ниже.
В целом Тест #3 показал, что генерация новой песни из существующей - вполне рабочий вариант создания аранжировки, точнее готовой песни. Вы сохраняете и стиль песни, и (в большинстве случаев) голос, манеру исполнителя. Причем, работает и смена языка. Во всех генерациях, которые представлены, я оставлял поле Style пустым (т.е. no style), полагая, что все необходимое для генерации есть в DS. Единственное, что я попробовал для отхода от исходника, это заставить мужчину петь женским голосом и наоборот - т.е. использовал команды [Female vocals] и [Male vocals], но гендер практически нигде не менялся.
Тест #4 / backing track от гармонии...
Этот тест - попытка проверить, пожалуй, самый распространенный подход к созданию аранжировки в инструментах и приложениях типа Auto-Arranger: выбираем стиль, вводим аккорды, управляем формой (Verse, Chorus, Fill/Break).
Я собрал 5 DS, результаты применения 2-х представлены в примерах. Везде была простая гармония Am,Am,G,Am, Am,Am,G,E7, самая употребимая тональность (A минор) и средний темп - 102 bpm. Пробовал 8 и 16 тактов, аккорды - фортепиано (т.е. затухающий) и Synth (тянущийся Sinus), конечно Hi-Hat по 1/4, играл уровнями и панорамированием отдельных компонентов...
Хотелось для Verse и Chorus получить аккомпанемент без сольных партий. Intro, Bridge, Outro/Ending можно было бы дописать потом. Поэтому пробовал в Style и Lyrics прописывать разные команды, типа: [sololess BGM], [backing track, no any solo, sololess track]. Также пробовал DS с одним аккордом вначале (Am), а секвенцию задавать в Lyrics:
[Verse 1, 8 bars] // вар 1.
[Am chord, 1 bar]
[Am chord, 1 bar]
[G chord, 1 bar]
[Am chord, 1 bar]
[Am chord, 1 bar]
[Am chord, 1 bar]
[G chord, 1 bar]
[E7 chord, 1 bar] или
[Verse 1, 16 bars] // вар 2
|Am|Am|G|Am|Am|Am|G|E7|
|Am|Am|G|Am|Am|Am|G|E7|
Ни 1-й, ни 2-й способ не привели к отработке гармонии, а во 2-м появился мужской вокал в стиле Scat.
Конечно, что-то из генераций можно было бы использовать, как части для аранжировки - тональность и темп сохраняются. Гармония - не строго. Система как бы развивает ее, согласно заданного стиля. Плюс, точнее минус - почти везде есть сольные вставки... Может кто-то и умеет управлять генерацией для решения подобной задачи, я примеров не видел. Правда, я не могу сказать, что просмотрел все - Suno слишком объемная вещь.
Тест #5 / инструментальные вставки от исходника...
Тут все просто и правильно - Suno легко дописывает DS с указанным в Style сольным инструментом, сохраняя темп, тональность, стилистку. Это позволяет сгенерить вполне убедительные инструментальные части для создаваемой песни - Intro, Bridge, Outro/Ending - см. примеры. В качестве DS я использовал фрагмент своей композиции, скажем так, в джазовом стиле. Попробовал сгенерить соло с акустическими инструментами (Saxophone, Trumpet, Violin, Flute, Guitar и др.), которые не так просты в имитации, если аранжировка делается в компьютере без привлечения живых исполнителей.
Хотя и не все команды в этом тесте были исполнены (v5,v6 - [no bass, no drums], v6 - [String quartet]), в целом мне он представляется успешным - если система "генерит джаз", то уж точно справится с более простыми стилями и гармониями.
К слову, Suno может обыгрывать, развивать и вашу мелодию, если она присутствует в DS - вы играете простое соло, пусть Distortion Guitar, а на выходе получаете импровизацию на вашу тему (может и виртуозную).
Важное о ГОЛОСЕ и его синтезе в Suno
Это мои догадки, которым я нахожу подтверждение в последнее время в процессе тестирования... Сколько слов, секунд речи вам нужно услышать, чтобы распознать человека? Два слова, пару секунд?
Голос условно можно разделить на 3 компонента:
ТЕМБР - "окраска", определяемая в первую очередь строением/акустикой голосового аппарата - трахея, гортань, связки/складки, резонаторы (пазухи носа, глотка, рот) - т.е. физической конструкцией, геометрией и свойствами материалов. Впрочем, сам человек может влиять на геометрию и, в итоге, говорить "в нос", визгливо или глухо.
ИНТОНАЦИЯ - особенности звуковысотного движения, формируемые связками: взятие тона ("подъезды"), удержание тона (стабильно/нестабильно, случайные девиации или отработанное вибрато), отпускание тона - т.е. характерная для речи и пения "кривая тона" (Pitch Curve).
АРТИКУЛЯЦИЯ - особенности формирование речи (действия языка, нёба, челюсти, губ).
Первые синтетические голоса (TTS) требовали, кажется, 25 часов речи диктора, для тренировки алгоритма, в RVC - 10-20 мин, а сейчас Suno обрабатывает 1 минуту музыки с вокалом за 30 сек. и этого достаточно, чтобы затем ре-синтезировать голос - и тембр, и манеру.
Возникает вопрос, как выполняется синтез речи без полного набора фонем, ведь абсолютно точно их нет в 60-секундном фрагменте песни? Об этом я задумался еще в первых экспериментах, когда заставлял Suno петь своим голосом - тогда из спетого 1-го куплета волшебным образом синтезировался 2-й и 3-й.
Скорее всего, тут как раз работает приведенное выше условное разделение голоса на 3 компонента. Я думаю, 60 сек. вполне достаточно, чтобы снять тембр, т.е. физические характеристики голосового аппарата. Интонацию в песни в любом случае надо формировать независимо, как и артикуляцию, отвечающую в первую очередь за язык.
Если эта догадка верна, то понятно, как в сгенерированном вокале появляются отсутствующие в исходнике, но характерные для заданного стиля интонации - опевания, мелизмы, вибрато, также подача - крик или шепот. И как с исходным тембром синтезируется вокал на другом языке. Складываются 3 компонента, в которых 1-й (тембр) остается неизменным, а 2-й и 3-й (интонация и артикуляция) - меняются.
Этот подход должен обладать очень большой гибкостью, однако, по идее, он не будет регенерировать такие особенности в речи, как картавость, шепелявость, неверное произношение отдельных звуков - т.е. все, что сильно отличается от среднестатистической модели конкретного языка. Мне кажется, Suno исправит такие дефекты также, как в этих тестах подправил(о) мое пение.
Также, как и с RVC, тембр и манера определяют узнаваемость (в cтатье я приводил аналогию: тембр = одежда, манера = походка). Если и тембр яркий, и манера заметная, то мы будем слышать исполнителя в генерации. Если голос и манера, по большому счету обыкновенные, и исполнителя мы узнаём, скорее, по песне, то в генерации он будет не так уж узнаваем.
Сборка DS
DS для задания темпа и гармонии. Здесь задача передать Suno темп, тональность, гармонию, при этом минимизировать присутствие исходника в генерации.
Выбираю темп, целое число тактов в пределах 60 сек. Причем, заканчиваю DS на тактовой черте - мне показалось это важным, особенно после многих генераций с ускорением на 5-10 и более % - иногда Suno сам(о) ставит таким результатам метку Bug. Прописываю Hi-Hat по 1/4, иногда легкую DrumLoop в соответствующем стиле. Аккорды и бас - обычно фортепиано, в начале такта или плотнее, если аккорды меняются чаще. Hi-Hat и Piano - самые безобидные звуки, которые легко вписываются практически в любой стиль. Пробовал аккорды записывать с Synth с чистой, синусоидальной волной, полагая, что так Suno было бы легче распознавать, но ... особой разницы с Piano не заметил. Можно прописать и фактуру/ритмический рисунок аккордами, если вас не будет смущать их присутствие в генерации.
Пробовал разные уровни и панорамирование (+- 20%) компонентов в DS. Suno читает Hi-Hat и при -18...-24 dB от нормализованного уровня. Аккорды при таком ослаблении отрабатываются хуже, но строгую статистику тут привести затруднительно, т.к. каждая новая генерация - это новая модель.
Да, как отмечал ранее, для задания тональности можно в начале прописать всего лишь одну ноту. Но не тонику (в A minor это Ля), а доминанту (Ми). Правда, надежнее, все-таки задавать аккорд.
DS из реальной песни. Не утверждаю, что мой способ единственно правильный, но мне он кажется логичным.
Я делал DS из очень разных источников, включая записи начала прошлого века и джаза, где темп нестабилен, да и качество фонограмм невысокое. В таком случае я сначала выравнивал все по сетке и приводил к среднему темпу.
В некоторых случаях разделял вокал и инструментал, менял баланс и снова смешивал. Достаточно часто делал корректировку общего спектра, иногда компрессию, если перепады уровня в частях были большими.
Просматривал всю композицию и выбирал наиболее важные и отличающиеся по звучанию части. Как правило это Verse, Chorus, Bridge. Задача - включить в DS максимум из данной композиции, т.е. и спокойные, и энергичные части - как кульминацию, так и "яму" (разрежение, breakdown). Иногда это вступление или, наоборот, окончание.
Когда эти важные части определены, я вырезал из них куски по тактам и компоновал вместе так, чтобы не превысить ограничение в 60 сек. При этом было важно не сломать логику в гармонии. Если в исходной композиции была смена тональности, то какой-то кусок транспонировал. Естественно, делал небольшие cross-fade'ы на стыках.
В общем, надо было 3-4 минуты впихнуть в 60 сек - сделать короткую версию, в которой есть все характерное из исходной песни. На образцах современной популярной музыки все эти манипуляции делать намного проще.
В зависимости от качества DS, а также задания в Style, Suno может подмешивать похожую модель. (Несколько раз я получал генерацию без присутствия использованного DS из-за его низкого качества - например, из зальника The Beatles / Hey Jude - Suno просто применял(о) похожий стиль).
Подобные добавления иногда удачные, порой - не очень. Разные ударные неплохо уживаются, а вот некоторые сольные инструменты приобретают "двойственной" характер - меняется регистр, тембр, интонирование. И мы слышим Rhodes Piano с повадками Distortion Guitar, или пассаж Nylon Guitar, переходящий в верхнем регистре в клавесин. Мне это чем-то напоминает опцию смешивание стилей в ИИ алгоритмах генерации изображений - "столько-то % от Reference Image".
Ограничение Audio Input для известных композиций. Я полагаю, что первые алгоритмы идентификации музыки работали на сравнении лишь амплитудного профиля. Сейчас Suno анализирует мелодию и текст вокала, а также мелодии Intro, Bridge и др. частей, возможно что-то еще. Я заметил, что есть некоторое количество слов, которое является критичным. Т.е. длительность критичного фрагмента может зависеть от темпа песни и длительностей в вокальной партии. По этой причине вам не удастся "скормить" Suno заметную часть куплета или припева. Выход, как часто у хирурга, один - резать. При этом, как уже отмечал, желательно не сломать гармонию. На самом деле, в Audio Input Suno можно вставить все что угодно, но чем сильнее мы ломаем исходную композицию, тем меньше на нее будут похожи генерации.
Некоторые DS, созданные из реальных песен с хорошим звуком и сведением, дают гарантированно хороший результат - я сделал несколько песен на их основе. И теперь мне иногда проще взять такой DS, чем экспериментировать с заданием в Style, т.к. я точно знаю, что получу.
Опять Copyright!
Так вот, можно (точнее, законно) ли создавать песни с голосами известных исполнителей? Не знаю, есть ли у юристов законы, регулирующих эту новую область авторского права (кстати, 16.09.24 в ГД внесен "законопроект об охране голоса как объекта личных неимущественных прав"). Скорее всего, для использования чужого голоса нужно согласие его обладателя или правопреемника... Но, история показывает, что если что-то представляет ценность, то это или покупают, или крадут...
У людей нет единого мнения относительно подобных технологий - "хорошо" это или "плохо". Скорее, большинство склоняется к "плохо", имея в виду мошенничество и злоупотребления.
Мой старинный приятель Рик Пол (Rick Paul, CA), хотя и поучаствовал с моей подачи своим материалом в моих экспериментах, достаточно консервативен и в глубине души, похоже, против всех этих новаций. Но недавно прислал заметку (... и комментарий, что, наверное, это хорошо.): "Популярный американский кантри-певец Рэнди Трэвис (Randy Travis, 65-лет), продавший более 25 млн. копий, обладатель 7 премий "Грэмми", почти потерял речь в 2013 после инсульта, недавно воспользовался ИИ, чтобы выпустить новый за 10 лет трек".
Артист А.Михайлов, категорически против "оживления" ушедших артистов с помощью ИИ в новых фильмах, о съемках которых заявлял К.Эрнст (1-й канал ТВ). Вообще-то ученые могут синтезировать (или уже) голос Тутанхамона или другого исторического лица. Могут смоделировать (или уже) походку, мимику А.Македонского или Наполеона. Это как, хорошо или плохо?
У меня нет однозначного ответа. Правда, я бы с интересом слушал "новый" альбом Дж.Бенсона (G.Benson) и смотрел "новый" фильм с Ю.Никулиным... А почему нет однозначного мнения - потому, что неизвестно, кто и как будет использовать образы/модели этих артистов, насколько бережно, тактично отнесутся продюсеры к их творчеству и памяти о них.
... Да, можно было бы посоветовать поэтам новый "путь к звездам". Теперь им не надо сильно тратиться, чтобы записать песню для "звезды" - берется существующий хит, генерируется в Suno точно в такой же манере и с голосом "звезды" и отправляется ей(ему)... Правда, ... кто их знает, могут и в суд подать на автора своей новой песни :-)
Чтобы в этой сфере достичь какого-то порядка, мне кажется надо решать два вопроса: а) регистрация артистами прав на свои образы; б) исключение анонимности в сети. Понятно, что ничего абсолютного нет, но все-таки.
Детские голоса в Suno
Эта задача оказалось самой трудной. Мне кажется, в генерации голоса в Suno изначально заложена идентификация на мужской и женский (хотя есть и подкласс - Vocaloid, Chiptune, Miku Voice).
Я собрал, наверное, до 30 DS, пытаясь заставить Suno спеть детским голосом (см. Примеры). Сделал 4 DS на основе речи (панграммы), но не один из них не работал. Сработало лишь несколько DS (3-4), собранных из реальных песен, и один из детского пения acapella (девочка 12 лет). Общий % удачных генераций вряд ли более 4-5%. Да, DS из детских хоров (советских времен) тоже не работали.
Причем, DS из реальных песен (которые работали) были не очень чистыми. Вполне возможно, что Suno не идентифицирует голос по М/Ж, если фонограмма грязная. В итоге генерирует из того, что есть - т.е. в данном случае с детским голосом.
Выводы
Да, Suno можно использовать как аранжировщик. Для бюджетных студий и самодеятельных авторов - точно. Для профессионалов - это скорее инструмент генерации и проверки идей.
Если вы захотите сделать аранжировку (минусовку) в Suno, то без монтажа/редакции в DAW вам это вряд ли удастся***. Хотите петь сами, чтобы все было честно, тогда схема такая:
-
Спели (лучше под метроном) куплет и припев, укладываясь в 60 сек.
-
Загрузили в Audio Input, задали Style, вбили текст в Lyrics.
-
Сгенерировали несколько версий.
-
Смонтировали (возможно без Intro, Bridge, Ending) из них песню (без мастеринга).
-
Отрезали кусочек (до 60 сек), после которого вам нужно сыграть инструментальную часть (Bridge, Ending).
-
Снова занялись монтажом уже целой песни - добавили инструментальные части (без мастеринга).
-
Разделили вокал и инструментал.
-
Спели под минус или плюс.
-
Собрали свой вокал с инструменталом и отмастерили.
*** Suno в режиме загрузки части песни в Audio Input довольно часто путает структуру - например, дважды повторяет 2-й или 3-й куплет, меняет/смешивает слова Verse и Chorus и т.д. Чтобы Suno не зажевывал первый куплет, я почти всегда в Lyrics перед 1-м куплетом вставлял:
[Instrumental solo]
[Bridge]
Мммммм мммммм
Хотя и это не всегда помогало.
P.S.
-
Пора обновлять теорию слуха? Известно 2-3, Гельмгольц и др.
... В улитке ~20 тыс. волокон, они, покрывая 16Гц- 20кГц, резонируют на своих частотах и передают сигналы в
Как человек слышит отдельный голос, объект, музыкальный инструмент в общем звуковом потоке? К примеру, скрипку? Нам не удастся собрать коллекцию всех штрихов во всех регистрах. А если и соберем, то скрипку, по техническим параметрам образцов, вряд ли сможет идентифицировать что-то иное, кроме алгоритма ИИ.
Мне кажется, что распознавание звуковых объектов ТОЧНО ТАКОЕ ЖЕ, как и зрительных образов. (Ученые утверждают, что качество картинки, которое передает сетчатка неважное, хуже современных камер в смартфонах. Картинку ДОРИСОВЫВАЕТ
Если так, то
В общем, мне кажется, что благодаря развитию ИИ алгоритмов пришло время разработки новой теории слуха. Юрий Исаков, мой старинный приятель, однокурсник (НГТУ/НЭТИ), член AES, говорит, что что-то подобное уже начинается.
Автор: AlexHanguery