Как стать автором
Обновить

Музыкальная машинная ярость: настоящий металл, созданный компьютером

Время на прочтение4 мин
Количество просмотров11K
Всего голосов 32: ↑32 и ↓0+32
Комментарии40

Комментарии 40

Получившийся результат ну очень сомнительного качества...

Так это ж миди, по сути ноты. Если сыграть это живьем, будет куда веселее

КДПВ вы выбрали что надо :) Baby metal это вам не волосатые мужики в коже :)

а как же LADYBABY от тех же японцев. ?

Похоже на мои первые треки :))), Но это только начало, лет через 10, будет VST плагин с парой десятков кнопочек для выбора жанра, настроения, темпа и продолжительности для генерации трека :)))

10 лет? А я думал, в каждой CASIO-самоиграйке уже есть паттерны для всякого рока, и звучат они гораздо достойнее. Выходи в переход и лабай на здоровье :)

По заголовку думал что будет про творчество Master Boot Record

ANSI.SYS божественный трек.

Металл генерировали ещё в 90-е безо всяких нейросетей, а весь генератор занимал десяток строчек на чистой сишке. Примерно вот так.
Без крутого вокала разве же это метал?)

Послушал треки. Я конечно очень извиняюсь, но результат где-то на уровне "Взрыв кабачка в коляске с поносом".

ЧСВ автора

заслуживает 10 баллов из 10 возможных.

Взрыв кабачка...

Не, то другое . Вот их последний шедевр (точнее половина треков)

Спасибо за перевод!

После транспонирования каждой песни на пару полушагов в любом направлении

Боюсь, что эта фраза звучит диковато для тех, кто знаком с музыкальной теорией.

Предлагаю посмотреть в оригинал:

After transposing each song a couple of half steps in either direction

Здесь https://en.wiktionary.org/wiki/half_step — это синоним к https://en.wiktionary.org/wiki/semitone, который означает полутон. Термина "полушаг" в русской музыкальной терминологии не существует.

Кроме того, транспонирование имеет всего два направления: вверх (увеличение частоты каждой ноты) и вниз (уменьшение частоты каждой ноты). Поэтому вместо выражения "в любом направлении" уместнее говорить "в каждом направлении".

Автор, конечно, не имел в виду, что он транспонировал каждое произведение на два полутона (т.е. на целый тон) вверх и на два полутона вниз, как может показаться из (исправленного с учётом сказанного) выражения "транспонирование на пару полутонов в каждом направлении". На самом деле он размножил каждый трек пятикратно:

  • Со смещением +2 полутона.

  • Со смещением +1 полутон.

  • Без смещения.

  • Со смещением -1 полутон.

  • Со смещением -2 полутона.

Именно таким образом из 3600 треков он получил 18000 треков.

Поэтому выделенный фрагмет лучше было бы перевести приблизительно так:

Я транспонировал каждый трек на полутон-два вверх и вниз, [получив таким образом…]

Спасибо за внимание.

Спасибо, исправлено.
мне вот не понятно, а что дает это смещение-транспонирование? мелодия та же остается
ну и чего только на 1-2 полутона, можно было на все 1-11 :) (а то и сразу октаву бахнуть, или даже октавами, в стиле Вайн Клайберна) :)

ну а что дают аугментации яркости для картинок? Сюжет-то тот же остается:)

про картинки — без понятия. Из личного опыта, при повышении яркости могут теряться детали. Те, чтобы неяркими, при повышении яркости сливаются с более яркими, которым уже некуда быть ярче, они уже белые
а с музыкой не так от слова вообще. Повышение на 1-2 тона вообще ничего не меняет с точки зрения сочинения и восприятия музыки.
Поэтому и вопрос, зачем скармливать ту же мелодию, но с разницей в тон-полутон?

Так в том-то и дело, что если "Повышение на 1-2 тона вообще ничего не меняет с точки зрения сочинения и восприятия музыки." то для модели такая аугментация нужна, чтобы она не оверфитилась на определенную тональность (если я правильно употребил этот термин) и могла генерировать одинаковые паттерны в разном диапазоне.

ну дык там изначально было более тысячи мелодий, то есть тональности были разные
но зачем тональности должны быть именно разными абсолютно разными?
не секрет, что тональности выбирается исходят из возможностей гитары (мы ж рок, а не ХТК) и возможностей вокалиста, таким образом, если загрузить овер 1000 рок-мелодий, мы и получим одну из самых часто-используемых тональностей. А еще мы получим скорее всего примерно характерную ритм-партию (бас и ударник) и всякое-всякое всякое, что по факту является «Шаблоном» рок-композиции. Типа соло перед последним куплетом и вообще разбивка на припевы и куплеты, интро и аутро.

3.5k примеров - маленький датасет для обучения. Видимо, другого способа расширить выборку, не зааффектив при этом мелодичности, кроме как подвигать тональности, автор не придумал. Что бы Вы могли предложить?

расширять датасет вестимо
движение по полутонам ведь не добавляет «новых мелодий»

расширять датасет вестимо

Безусловно, это (почти) всегда лучший вариант.

движение по полутонам ведь не добавляет «новых мелодий»

Аугментации нужны не для того, чтобы добавлять "новые паттерны", а, скорее напротив, чтобы нивелировать влияние не значимых признаков. Вы пишете, что "Повышение на 1-2 тона вообще ничего не меняет с точки зрения сочинения и восприятия музыки." - т.е. тональность как раз относится к не значимым признакам.

ниже предложили, если бы надо было убрать незначимый признак «Тональность», то надо было просто все композиции привести в одну тональность. а уж потом миди двигать можно куда угодно

Приведу весьма утрированный пример, объясняющий, на мой взгляд, почему аугментировать лучше, чем приводить в одну тональность. Повторюсь, пример утрированный, и может показаться неубедительным, но я попытаюсь.
Предположим, у нас есть датасет, в котором всего две мелодии. В одной из мелодий встречается паттерн, состоящий из трех нот, скажем, XYZ. В другой мелодии нет ни одного фрагмента, где бы за нотой X следовала бы нота Y. В таком случае, модель выучит, что после нот XY должна следовать нота Z, и никак иначе.
Далее, предположим, что во второй мелодии есть паттерн X'Y'W', где ноты X' и Y' отличаются от нот X и Y на одинаковое число полутонов, а W' никак не коррелирует с Z. Если мы аугментируем выборку, транспонировав вторую мелодию на соответствующее число полутонов, то получим паттерн XYW, который тоже благозвучен, как и XYZ, и теперь модель способна выучить распределение для XYZ и XYW, а также для X'Y'W' и X'Y'Z'.

Это если предположить, что нейросеть оперирует только единичными нотами но не сдвигами между ними. А иначе бы она знала, что dXY-dYZ ничем не хуже dXY-dXW.

В принципе, резонное замечание. Я в архитектуру сети не вникал, но если она оперирует эмбеддингами нот, то ни о каких dXdY речи идти не может.

Ну если она просто комбинирует готовые рифы, то и нейросеть не нужна. Человек воспринимает комбинации нот именно как комбинацию интервалов. Это и позволяет нам транспонировать меодии как угодно. Соответственно, синтезатор музыки для человеков должен оперировать интервалами.
> после нот XY должна следовать нота Z, и никак иначе.
да, все верно, если мелодий всего 2. Предположим. что у нас северная корея и есть 2 официальных мелодии. Все именно так. Именно так и надо

>есть паттерн X'Y'W', где ноты X' и Y' отличаются от нот X и Y на одинаковое число полутонов
Ту походу какая-то опечатка, «X' и Y' отличаются от нот X и Y» или речь об икс и игрек в разных мелодиях? тогда это не х и не игрек, а какие-то другие ноты. Вы добавили апостроф, чтобы проще было запутаться :)

Благозвучие паттернов XYW и XYZ и X'Y'W' и XYW никак не зависит от тональности. Терция она везде терция, например. И тритон везде звучит как тритон. Вместо иксов и игреков, проще использовать реальные названия нот.

Но повторю мысль, для рока нет резона упарываться под именно рандомные тональности, как раз наборот, тональность, ритм басухи и ударных, соло в нужных местах, специфические аккорды — все это паттерны этого стиля.
Апостроф у него означает траспонирование.
есть же православный диез/бемоль :)
Так они на один полутон.
ну да, а диез-бемоль не на полутон?
Диез-бемоль — на полутон, а его апостроф — на произвольное значение.
чтобы она не оверфитилась на определенную тональность
Может, надо наоборот было всё транспонировать в одну тональность чтобы тональность перестала быть криетрием? Ну а потом тональность готового шедевра можно двигать как угодно.

Ответил в треде выше.

MIDI - прошлый век, сейчас нейронные сети генерируют звук напрямую. Чего стоит OpenAI Jukebox с его забавно-зловещей песней в стиле Фрэнка Синатры, известной как It's hot tub time, и рядом других :)

Миди реально прошлый век.

Я уже успел сделать 300 треков Rage Against The Machine, издать из них 90 штук.

Сгенерить еще контента на два новых альбома Викенда, Бруно Марса и 21 пайлотс.

На площадках ищите артиста - Ai Kittens.

https://mfnl.app/r/4zzelv

Зарегистрируйтесь на Хабре, чтобы оставить комментарий