- Fl Studio Рандомайзер
- Pattern (шаблон) [ править ]
- Levels (уровни) [ править ]
- Разбирай сложные ноты «с листа» после прохождения курса «Сольфеджио.Онлайн»
- Мы подготовили для Вас следующие режимы
- Онлайн курсы
- Сольфеджио.Онлайн — авторские музыкальные курсы
- Кто преподает в «Сольфеджио.Онлайн»?
- Как проходит обучение?
- Можно ли учиться самостоятельно?
- Random
- Автокомпозитор мелодий Muzz
- Примеры получающейся музыки (MIDI-файлы)
- Как «сочинить» музыку программно
- Что же это такое?
- Входные параметры алгоритма
- Порядок генерации
- Выбор барабанного ритма
- Выбор набора аккордов по окрасу
- Повторы
- Выбор инструментов
- Выбор стиля аккомпанемента
- Генерация мелодии
- Темп мелодии и транспонирование
- Окно Muzz после окончания генерации
- Управление композитором
- Куда девать все эти MIDI-песни?
- Хочу послушать/погенерировать мелодии
- Перспективы
- Читают сейчас
- Редакторский дайджест
- Похожие публикации
- Гениальный алгоритм создания лабиринтов в игре Entombed, который до сих пор не могут разгадать
- Алгоритм создания многостраничных веб-форм в MyTaskHelper
- Музыка, Mathematica и вычислительная вселенная: автоматическое создание музыки на основе клеточных автоматов
- Курсы
- Минуточку внимания
- Комментарии 60
Fl Studio Рандомайзер
Данная статья является частью цикла статей «Fl Studio»
Рандомайзер создаёт случайные ноты в пошаговом секвенсоре или пианоролле (зависит от выбранного окна). Ноты могут быть основаны на схеме аккорда, и инструмент позволяет рандомизировать панорамирование, велосити и высоту тона.
1. Некоторые опции (например Length, Variation, Stack и т.д.) доступны только в окне пианоролла. 2. Ноты, создаваемые рандомайзером имеют длину текущей привязки. Параметры Length и Variation не будут работать, если привязка установлена в значение (none).
Pattern (шаблон) [ править ]
В этом разделе можно настроить параметры, используемые для генерации случайных нот (отключите раздел, если вы не хотите добавлять случайные ноты).
- Octave (октава) — устанавливает основную октаву, используемую при создании нот.
- Range (диапазон) — диапазон октав, в пределах которого создаются случайные ноты.
- Key (клавиша) — устанавливает основной тон для нот.
- Scale (гамма) — здесь можно выбрать тип аккорда, который будет использоваться в качестве основы для создания нот.
- Length (длительность) — устанавливает длительность ноты используемую для создания нот (эта опция доступна только в пианоролле). Параметр Length не имеет никакого эффекта, если привязка пианоролла установлена в (none).
- Variation (вариация) — устанавливает вариацию длительности ноты для генерируемых нот (эта опция доступна только в пианоролле). Поверните влево, чтобы сделать ноты равными или короче установленной длины. Поверните вправо, чтобы сделать ноты равными или длиннее установленной длины (среднее положение отключает изменение длины). Параметр Variation не имеет никакого эффекта, если привязка пианоролла установлена в (none).
- Population (заселение) — определяет количество нот, которые будут созданы. Чем больше повернуто вправо, тем больше нот будет создано.
- Stack (стек) — устанавливает нотную полифонию используемую для генерации последовательности (эта опция доступна только для пианоролла).
- Random portamento (случайные портаменто) — если опция включена, ноты будет иметь случайные значения для переключателя портаменто (включено или нет) в Дополнительных настройках инструмента MISC.
- Glue same notes (слияние одинаковых нот) — если опция включена, то две или более последовательных нот с одинаковой высотой тона будут объединены в одну более длинную ноту.
- Seed (зерно) — нажмите по стрелкам назад и вперёд, чтобы создать случайную комбинацию нот, основанную на настройках установленных выше (во всех выбранных инструментах пошагового секвенсора или в выделенной части временной шкалы пианоролла). Вы можете использовать эту функцию, позволяющую создавать различные комбинаций (посевы), пока вы не будете удовлетворены результатом. Чтобы услышать созданную комбинацию, нажмите кнопку воспроизведения в транспортной панели, прежде чем закрыть окно рандомайзера (или же вы также можете запустить рандомайзер, а затем нажать клавишу пробела , чтобы начать и остановить воспроизведение).
Levels (уровни) [ править ]
Настройте параметры, которые будут использоваться для рандомизации уровней (панорамирования, велосити и т. д.) всех выделенных нот/инструментов (отключите раздел, если вы не хотите добавлять случайные изменения уровней нот).
- Levels (уровни) — эти ручки позволяют выбирать свойства ноты, которое вы хотите рандомизировать, и количество рандомизации (это относится только уровням ноты, а не событиям автоматизации!). Каждая ручка имеет диапазон от -100% до 100%. Значение — 0% оставляет оригинальные значения.
- Reset before processing (сброс перед обработкой) — перед рандомизацией сбрасывает уровни нот к значениям по умолчанию.
- Bipolar (биполярно) — включите, чтобы рандомизировать «биполярно», т.е. уровни будут рандомизированы как выше так и ниже, чем исходные значения (в отличие от их перемещения только выше, или только ниже в зависимости от значений ручек).
- Seed (зерно) — нажмите по стрелкам назад и вперёд, чтобы создать случайную комбинацию свойств нот, основанную на настройках установленных выше (во всех выбранных инструментах пошагового секвенсора или в выделенной части временной шкалы пианоролла). Вы можете использовать эту функцию, позволяющую создавать различные комбинаций, пока вы не будете удовлетворены результатом. Чтобы услышать созданную комбинацию, нажмите кнопку воспроизведения в транспортной панели, прежде чем закрыть окно рандомайзера (или же вы также можете запустить рандомайзер, а затем нажать клавишу пробела , чтобы начать и остановить воспроизведение).
Источник
Разбирай сложные ноты «с листа» после прохождения курса «Сольфеджио.Онлайн»
Мы подготовили для Вас следующие режимы
Музыкальный диктант
Попытайтесь отгадать прозвучавшую мелодию
Угадай ноту
Угадайте прозвучавшую ноту, нажав ее на клавиатуре виртуального синтезатора
Мажор / минор
Отгадайте прозвучавшее трезвучее: мажор или минор
Интервалы
Угадайте, какой из выбранных интервалов прозвучал
Онлайн курсы
Курс по эстрадному вокалу
Научим красиво исполнять ваши любимые песни.
Курс для детей от 5-10 лет «Жить вместе с музыкой»
Первые шаги в музыке в игровой обстановке.
Курс по сольфеджио. Начальный уровень
Сольфеджио – это предмет, который поможет вам расширить границы образования.
Курс вокала для начинающих
Хотите петь качественным вокально поставленным голосом?
Курс по развитию музыкального слуха
Прокачай себя на личных занятиях с обладателем абсолютного музыкального слуха.
Курс по элементарной теории музыки (ЭТМ)
Для всех, кто хочет правильно сочинять музыку, играть и петь.
Курс по сольфеджио. Высший уровень
Сольфеджио – это предмет, в котором можно совершенствоваться до бесконечности!
Курс по сольфеджио. Средний уровень
Курс предназначен для тех, кто знаком с нотной грамотой.
Сольфеджио.Онлайн — авторские музыкальные курсы
Это сайт создан для тех, кто хочет научиться красиво петь, улучшить свой музыкальный слух, подтянуть знания по сольфеджио вместе с нашими лучшими преподавателями.
Мы считаем, что начать изучать музыку никогда не поздно. В любом возрасте можно научиться красиво петь, читать ноты, аккомпанировать себе на музыкальном инструменте. Благодаря «Сольфеджио.Онлайн», вы сможете сделать это гораздо быстрее, в удобное для Вас время, где бы вы не находились. Мы работаем с учениками любого уровня: от начинающих с азов, до студентов музыкальных колледжей. Программы обучения адаптируются под каждого ученика.
Кто преподает в «Сольфеджио.Онлайн»?
Самые лучшие и самые талантливые студенты лучших российских музыкальных ВУЗов, лауреаты конкурсов разработали свои курсы изучения сольфеджио, постановки голоса и развития музыкального слуха.
Как проходит обучение?
Все занятия проходят в индивидуальной форме лично между учеником и его преподавателем. Мы не продаем массовые видеокурсы и не предлагаем вам учиться по ним самостоятельно, сдавая домашние задания. Уроки проходят в Skype или в Zoom. Вы получаете максимум внимания от своего куратора. Благодаря этому, обучение идёт гораздо быстрее, чем в обычной музыкальной школе.
Можно ли учиться самостоятельно?
На нашем сайте Вы можете совершенствовать свои музыкальный навыки самостоятельно. Для этих целей создано множество полезных тренажеров, которые помогут вам усовершенствовать ваш музыкальный слух, как мелодический (восприятие мелодии), так и гармонический (восприятие аккордов).
Источник
Random
Генератор случайных нот
Название устройства намекает нам на то, что оно рандомизирует, т.е. придаёт случайную высоту поступающим в него миди-нотам. Степень разброса этой случайности регулируется с помощью ручек, которые вы видите на скриншоте.
Первый регулятор эффекта — это Chance. Он определяет вероятность того, что входящая нота будет транспонирована. При 0 % эффект не будет иметь никакого воздействия на поступающую информацию, т.к. «шансы» на то, что ноты будут рандомизироваться, равны нулю. И, наоборот: при 100 % будет транспонироваться каждая нота. При 50 % приблизительно каждая вторая нота подвергнется воздействию эффекта.
Если какая-либо нота была выбрана эффектом Random для транспонирования, её смещение будет определяться правилами, установленными тремя следующими регуляторами.
Эти три параметра образуют своего рода формулу, которая определяет характер смещения.
Параметр Choices (выбор) устанавливает точное число случайных значений, которые могут возникнуть при транспонировании. Если его значение равно 3, то будут созданы случайные числа со значениями 1, 2 и 3.
Затем эти числа умножаются на величину, выставленную на следующем регуляторе — Scale (масштаб). Конечное число, получившееся во время всех эти операций, представляет собой полутоны, на которые будет смещена наша исходная миди-нота. Так, если ручка Scale повёрнута на двойку, конечные случайные величины транспонирования окажутся равными 2, 4 и 6 полутонам (если в Choise были 1,2 и 3).
Последние переменные в нашей формуле — это кнопки Sign (знак):
В режиме Add конечное случайное значение будет прибавлено к миди-ноте, вследствие чего она будет сдвинута вверх по высоте.
Кнопка Sub будет вычитать случайную величину из данной ноты.
При нажатой кнопке Bi устройство будет в случайном порядке выбирать между прибавлением и вычитанием случайной величины.
Световые индикаторы на панели плагина (возле регулятора «Chance») показывают, когда нота транспонируется вверх, а когда вниз.
Давайте теперь поупражняемся, чтобы удостовериться, что мы поняли до конца всю математику этого плагина (понять её сразу редко кто может, математики от Бога в нашей стране практически перевелись…).
1. Ручка Choices установлена на 1, Chance — на 50 % — это означает, что величина транспонирования, равная единице, будет создаваться примерно половину всего времени. Если Scale стоит на 12, в режиме Add, входящие ноты будут смещаться вверх на одну октаву половину всего времени:
2. Если ручка Choices установлена на 4, а значение Chance равно 100 %, для каждой миди-ноты будет создаваться величина смещения, равная от 1 до 4. Выставим регулятор Scale на 3, а знак оставим как есть (то есть Add). Теперь будет транспонироваться каждая нота (т. к. шансы — 100 %) на одну из следующих величин полутонов: 3, 6, 9 или 12 (1[Choices] * 3[Scale] = 3; 2 * 3 = 6; 3 * 3 = 9; 4 * 3 = 12).
3. Если значение параметра Choices равно 2, а ручка Scale повёрнута на 12, то в режиме Sub получим транспонирование нот на одну или две октавы вниз (1 * 12 = 12 и 2 * 12 = 24 полутона).
Регуляторы Random и Alternate
Над кнопками Sign есть дополнительный переключатель, с помощью которого можно перейти из режима Random в режим Alternate. В последнем случае эффект будет проходить через все возможные значения транспонирования по порядку. Так, во втором примере, рассмотренном выше, смещения нот будут осуществляться по кругу строго в порядке 3, 6, 9 и 12 полутонов.
Источник
Автокомпозитор мелодий Muzz
Как сочинить музыку? Где ее готовую взять чтобы, например, озвучить видео на ютубе (и чтобы там не появилась метка о нарушении авторских прав)? Как написать эту самую музыку самому когда никаких мотивов не лезет в голову? Откуда взять идеи о новой мелодии, хотя бы об ее отрывках?
Я поклоняюсь великому непредвзятому рандому. Он то никогда не будет сочинять мелодии на основе уже услышанных на прошлой неделе, не будет, исходя из своих вкусов, выделять одни стили музыки и давить другие, у него нет эмоций и настроения. Он просто берет и делает музыку всех стилей, всех направлений, всех размеров (в пределах возможностей, заложенных в алгоритм).
И мой рассказ будет посвящен алгоритму, работающему на основе такого рандома, и соответствующему фрагменту софта, проигрывающему свежесочиненные мелодии прямо в колонки или сохраняющему в MID-файлы.
Он был назван Muzz.
Изначально была идея создать генератор мелодий для графического редактора PaintCAD 4Windows. По задумке, он должен был быть одной из дополнительных возможностей, позволяющей генерировать и играть в колонки/наушники что нибудь расслабляющее для комфортного рисования в редакторе. Но в результате нескольких попыток создания мелодий обособленных стилей — алгоритм Muzz был приведен в универсальный вид, генерирующий совершенно случайную (в пределах своих возможностей) музыку различных стилей.
Примеры получающейся музыки (MIDI-файлы)
Как «сочинить» музыку программно
Итак, если сгенерировать случайную последовательность нот, то с некоторой вероятностью она будет одной из мелодий уже придуманных, или даже тех, которые придумают через год, два, пять, десять лет.
Аналогично, кстати, и с картинками — если сгенерировать картинку из случайных пикселей, то с копеечной вероятностью вы получите еще не нарисованную картину или кадр из неснятого фильма с изображением еще не родившегося актера. Но даже в самой простой по цветности черно-белой картинке один пиксель это 1 бит, и придется сгенерировать порядочное количество пикселей, например, для картинки 100х100 — это 10000 пикселей или 2^10000 вариантов картинки. Из этого ясно, что вероятность получения красивой картинки весьма и весьма мала.
А в музыке все немного проще — каждая нота это число в пределах нескольких октав. Например, в MIDI — каждая нота это число от 0 до 127.
Сгенерировав случайную последовательность нот одинаковой длительности — получим музыкальный мусор. Чтобы получить что-то более красивое — надо задуматься: «а что же такое — музыка?».
Что же это такое?
В алгоритме Muzz я задумался и поделил музыку на три части:
Барабанный ритм — будем сочинять попсу, рок, что нибудь с четким ритмом. Иногда ритм может быть не включен в конечный результат.
Аккомпанемент — каждый такт играется определенный стиль аккомпанемента, в соответствии с текущим аккордом. Для этого сначала алгоритмом создается очередь аккордов. Играется аккомпанемент определенным инструментом.
Мелодия — в один момент времени активна одна нота, ноты могут иметь разные длительности. Также могут быть паузы различных длительностей. Ноты соответствуют текущему аккорду аккомпанемента. Инструмент может быть как тот же, что и в аккомпанементе, так и другой.
Входные параметры алгоритма
Чтобы получить что нибудь подальше от «какофонии» и поближе к «шедевру» — нужно задать определенные начальные условия. И формировать музыку в соответствии с ними.
Следующие параметры (начальные условия) были выбраны, как задаваемые пользователем и поступающие на вход алгоритма:
1) Окрас: грустная, нормальная, веселая.
2) Размер: от 2/8 до 8/8. Например, 3/8 это вальс, 6/8 (т.е. 3/4) — тоже вальс, но длинный, а 2/8, 4/8 или 8/8 — обычная попса, рок и т.п.
3) Набор инструментов: в MIDI существует 16 наборов инструментов (по 8 в каждом, например, клавишные или медные духовые). При создании музыки можно взять инструменты для мелодии и аккомпанемента из одного набора (как будто скрипач и бас-скрипач играют, или два пианиста). Но можно взять и из разных.
4) Наличие или отсутствие барабанов
5) Наличие вступления
6) Количество куплетов (от Минимального до Максимального значения, выбирается алгоритмом случайно между мин и макс)
7) Наличие припевов
8) Наличие заключения.
Вот так они выбираются и редактируются в окошке:
Порядок генерации
Вот это служебное окно с «удобным» интерфейсом не показывается никому кроме тех, кто запустит PaintCAD 4Windows с ключом -muzz в командной строке. Предполагается, что пользователь просто запускает на проигрывание композитор Muzz и слушает музыку, не видя никаких его интерфейсов (см. раздел Управление композитором в конце статьи). Но алгоритм генерации использует как раз все эти флажки, поля, движки и прочие компоненты в своей работе:
Посередине этого окошка три поля: «Исходник», «Подготовленные» и «Мелодия».
Скрипт №1 записывается в поле «Исходник». В нем лежат и аккорды, и служебные команды («переключить ритм барабанов», «сменить инструмент», «сменить образец ритмики мелодии» и т.д.).
Затем очищенный от служебных команд он поступает в список «Подготовленные» — это получается Скрипт №2. Там лежит чистая последовательность аккордов. Один аккорд на один такт музыки.
Кроме того, при записывании в поле «Подготовленные» чистых аккордов — генерируется сама мелодия и закладывается в поле «Мелодия» по «N=размер» нот на такт как скрипт №3. Если размер создаваемой мелодии 8/8 — то на один аккорд будет создано 8 нот, если 3/8 — то на один аккорд будет 3 ноты.
Выбор барабанного ритма
Алгоритм генерации должен по входным параметрам выбрать Барабанные ритмы для вступления, куплетов, припевов, заключения. Были заложены несколько ритмов под размер, кратный двойке. Алгоритм просто выбирает один из них, стараясь делать вступления и куплеты по силе ритма меньше/равными припевам. Возможные стили показаны в фрейме «Стиль барабанов» (команда SDS): Рок 1, Рок 2, Спокойный ритм, Энергичный ритм.
Также есть галка «Выход» с полем с цифрой A — это пятый стиль, который подмешивается к любому из четырех вышеупомянутых, делая акцент в виде удара тарелок в конце такта (A=0) или даже в виде удара тарелок и нескольких ударов барабана (A=1). Конкретный стиль «выхода» (A=0 или 1) выбирается рандомно при генерации каждой следующей мелодии.
А еще номер «патча» — если там поставить 16, то snare-барабаны будут мощные (из power-набора). В зависимости от громкости и агрессивности инструментов аккомпанемента и мелодии — иногда алгоритм выбирает мощные барабаны.
При размере мелодии 8/8 ритм проигрывается целиком, остальные размеры рвут ритм, начиная в следующем такте его с первой ноты. При этом ритмы достаточно легко приспосабливаются «для вальса» или для экзотических размеров 5/8 или 7/8, и на слух все вроде бы отлично.
Выбор набора аккордов по окрасу
Т.к. есть три окраса мелодий «Грустные», «Нормальные», «Веселые», то для каждого из них заложен свой набор аккордов, из которых алгоритм выбирает и складывает последовательности аккордов.
Am, E, Dm — опорные, используются как для мелодии, так и для вступительного и заключительного аккорда куплетов/припевов/вступлений/заключений
E7, F, G, C, A7, A#7, B7 — обычные, используются вместе с опорными для генерации промежуточных аккордов в куплетах/припевах/вступлениях/заключениях
E6, Dm6 — очень грустные аккорды, используются редко, но метко.
К ним вдобавок поставляется таблица связей. Она сделана для исключения несозвучной постановки аккордов в песне. Таблица связей для грустных аккордов рекомендует:
после A7 — брать следующим аккордом Dm,
после A#7, B7, E6 и Dm6 — брать следующим аккордом E.
Алгоритм выполняет эти рекомендации для любого окраса мелодии лишь в 50% случаев, чтобы осталась «отдушина» в оставшихся 50% случаев сгенерировать что нибудь необычное и неординарное.
Смесь из мажорных и минорных аккордов в прикуску с септами.
Am, E, Dm, G, C, F — опорные и они же основные.
A7, D7, E7, C7, G7, F7, A#7, B7 — редкоиспользующиеся.
Таблица связей:
после A7 — брать следующим аккордом Dm,
после D7 — брать следующим аккордом E,
после E7 — брать следующим аккордом Am,
после A#7, B7 — брать следующим аккордом E.
Мажоры как они есть.
C,F,G — опорные
C7, F7, G7 — основные
D — редкоиспользующийся
Таблица связей:
рекомендации отсутствуют
Повторы
Чтобы создавать одинаковые куплеты и припевы на протяжении всей песни — была введена скрипт-команда Lx, позволяющая скопировать в данное место аккорд номер x и соответствующие ему ноты мелодии. Например, если есть 4 аккорда, то их легко повторить так:
1 Am
2 G
3 C
4 E
5 L1 (сюда встанет Am)
6 L2 (сюда встанет G)
7 L3 (сюда встанет C)
8 L4 (сюда встанет Am)
При генерации аккордов — каждый новый аккорд может быть взят вместе с мелодией из другого аккорда, причем в любой последовательности, например:
1 Am
2 G
3 C
4 E
5 L3 (сюда встанет С)
6 Dm
7 L1 (сюда встанет Am)
8 L5 (сюда встанет C, до этого скопированный в пятую строку)
Таким образом, формируется по одному образцу вступления, куплета и припева. Второе вступление/куплет/припев ссылаются на первый образец и при генерации «скрипта №2» они превращаются из Lx в нормальные аккорды (и мелодия перетаскивается из первого образца копированием).
Выбор инструментов
Для аккомпанемента и мелодии нужно выбрать инструменты. В MIDI, на мой взгляд, бывают тихие инструменты, громкие инструменты и кривые инструменты. Была составлена на слух таблица, где 0 — тихий, 1 — громкий, 2 — кривой инструмент. Слушались чистые звуки из базы GM.dls, поставляемой с виндоусом. Может быть на других базах «кривые» звуки не такие и кривые, но мы рассчитываем на массового потребителя, слушающего миди с этой стандартной базой.
Алгоритм старается выбирать для припевов инструменты громче чем для куплетов. Также он старается избегать кривых инструментов (хотя не на 100%, чтобы иногда создать мелодию с необычным звучанием).
Последние два фрагмента таблицы по 8 инструментов — это ударные (Percussive) и звуковые эффекты (Sound effects, свистки, аплодисменты, крики, стрельба и т.п.), они вообще не используются для аккомпанемента и мелодий. Но на всякий случай в таблицу были добавлены тоже.
Инструменты выбираются отдельной для вступления, куплетов, припевов с увеличенной вероятностью быть одинаковыми для всех этих частей нашей мелодии. Выбранные значения выставляются служебными командами SAN (SetAccompNumber) и SMN (SetMelodyNumber) в скрипте №1 в начале каждой части мелодии (например, «Am:SMN30:SAN40»).
Выбор стиля аккомпанемента
На данный момент в Muzz есть 6 стилей аккомпанемента, и алгоритм выбирает их случайно для вступления, куплетов и припевов с увеличенной вероятностью не менять их между вступлением, куплетами, припевами. Лежат эти стили во фрейме «Стиль аккордов (SAS)».
С помощью этих стилей может сгенерироваться как гитарная песня «постой, паровоз, не стучите колеса» (если повезет, и в качестве инструмента будет выбрана акустическая гитара, а барабаны будут пропущены), так и более жесткие ритмические мелодии или наоборот расслабляющие тропические ритмы.
Генерация мелодии
Как было упомянуто выше, при добавлении чистого аккорда в скрипт №2 «Подготовленные» — параллельно с ним записываются N нот или пауз в скрипт №3 «Мелодия», где N — музыкальный размер от 2 (это 2/8) до 8 (это 8/8).
В нижней части окна есть много флажков, рандомно выставляемых при генерации каждой новой мелодии.
Ноты могут выбираться рандомно из гаммы текущего аккорда аккомпанемента, могут при включении флажка «Оставить 1,3,5,7 ноты из гаммы» — выбираться только эти четыре ноты (первая, третья, пятая, седьмая) из гаммы, также можно начинать все такты с основной первой ноты аккорда (флажок «Начинать все такты с акк.ноты»).
Также для частей мелодии (вступления, куплетов, припевов) выбирается случайная расстановка нот или расстановка по образцу длиной 8 цифр вида «00100101». Где 1 — там надо вставить ноту, где 0 там пропуск. Таким образом, иногда алгоритм делает мелодии вступления, куплеты и припевы с определенной ритмикой. Отвечает за это флажок «По образцу (P):» и поле рядом с ним, а в скрипте №1 — служебная команда «Pxxxxxxxx» (или просто «P», если нужно отключить мелодию по образцу). Сам образец в ходе генерации создается случайным способом, поэтому ритмика может быть какой угодно.
Если образец не задан, то выбор «вставить ноту или паузу» делается алгоритмом с учетом движка «Наполнение, % (SFC)», расположенного в нижней части окна. Наполнение также задается рандомно для каждой новой мелодии (от 20 до 40%).
Темп мелодии и транспонирование
Чтобы мелодии не звучали однообразно на одних и тех же частотах — рандомный фактор влияет на темп (время одного тика, игры одной ноты), задаваемый в поле «Пауза, мс (ST)» в миллисекундах, а также на транспонирование всей мелодии вместе с аккомпанементом на указанное в поле «+полутоны» количество полутонов (оно выбирается рандомно от 0 до 5, чтоб звуки не убегали далеко вверх).
Окно Muzz после окончания генерации
Вот оно — сгенерирован первый скрипт, а на его основе — скрипт №2 (аккорды) и №3 (мелодия):
Управление композитором
Интерфейс управления является простым подразделом меню «Экстра» в паинткаде.
Горизонтальное меню в паинткаде по умолчанию скрыто (чтоб не мешалось) — нажмите «ноль» на клавиатуре чтобы показать его (или мышкой кнопку «меню» в левом верхнем углу окна под значком кисти).
Чтобы запустить сочинение и проигрывание — жмем в меню «Играть» или Ctrl+P. Во время проигрывания на статус-панели главного окна паинткада отображается выбранный окрас песни, текущий такт и количество тактов:
Чтобы остановить проигрывание — жмем тот же пункт (или то же сочетание клавиш). Следующий запуск проигрывания — уже новая сгенерированная мелодия.
Если играющая мелодия вам понравилась и вы хотите оставить ее себе на память — во время проигрывания выберите «Сохранить проигрываемую мелодию в MID» (или просто нажмите Alt+P). На время сохранения проигрывание будет приостановлено и продолжено только после сохранения (на том же месте, где была остановка).
Если хотите указать, какие мелодии генерировать и проигрывать, их окрас, размер и прочие параметры — выбираем в меню пункт «Настройки» или жмем «Ctrl+Shift+P». Настройки сохраняются после выхода из паинткада и будут подгружены при следующем запуске паинткада.
Если прослушивание мелодий в паинткаде вас не устраивает, нет времени — можно быстро сгенерировать от 1 до 100 мелодий и сохранить их в MID-файлы в выбранную папку, а потом уже в ручном режиме кликать файлы, слушать, удалять непонравившиеся. В этом вам поможет пункт «MIDI-бластер» (или сочетание клавиш Shift+P):
Куда девать все эти MIDI-песни?
Из MIDI-песен можно с помощью любого музредактора (например, FruityLoops с плагином LSD) сгенерировать MP3 файлы, а уже потом использовать их хоть для озвучки роликов на youtube, хоть в собственных играх в качестве музыкального сопровождения.
Также можно их использовать как основу для создания своих собственных сочинений — все полученные MIDI файлы могут быть открыты любым MIDI-редактором, например, Cakewalk Sonar. Внутри MID-файла каждая партия «барабаны», «мелодия», «аккомпанемент» лежит в отдельном треке. Смена инструментов в пределах трека задается событиями («эвентами», см.event list), поэтому при желании можно вырезать из полученной музыки любой фрагмент, снести эвенты задания инструмента и утащить этот фрагмент в свою песню.
Хочу послушать/погенерировать мелодии
1) Скачайте последнюю версию бесплатного графического редактора PaintCAD 4Windows 1.2.2 по ссылке blackstrip.ru/pcw.rar (10 Мегабайт). Распакуйте в пустую папку.
2) Запустите paintcad.exe
3) Жмите Ctrl+P для запуска/остановки композитора Muzz до тех пор, пока он не выдаст вам нормальную мелодию. Или другие упомянутые выше сочетания клавиш. Или нажмите «0», а затем в меню выберите «Экстра»-«Генератор музыки Muzz» и там соответствующий пункт.
Перспективы
Сейчас в качестве барабанных ритмов используются простых ритмы по 8 тиков на такт. Поэтому есть идеи пустить параллельное тактирование по 32 тика на такт. И использовать рандомно-сгенерированные последовательности ритмов, где есть четкий стержень (например, 1 удар каждые 8 тиков), а остальное намазывается поверх случайным образом. Тогда должны получиться хип-хоп ритмы и другие необычные ритмы с плавающими акцентами.
И таблицы связей между аккордами, показанные выше, неидеальны. Хорошо бы иметь для каждого предыдущего аккорда набор вероятностей по постановке следующего. Тогда можно просканировать творчество (вручную прослушать и посчитать где сколько и каких аккордов, собрать из них набор аккордов, посмотреть с чего начинается и чем заканчивается каждый куплет, припев и проигрыш и т.д.) какой либо музыкальной группы, и вывести общую формулу что «после Am у них идет Dm в 40% случаев, а G в 10% случаев» и так для всех аккордов из набора. Получится туча аккордов с вероятностными связями между собой, свойственная творчеству именно этой музыкальной группы.
И тогда, наверное, можно будет выбирать «мне бы создать пару песен Арии, пару песен Агаты кристи и одну от Prodigy».
Читают сейчас
Редакторский дайджест
Присылаем лучшие статьи раз в месяц
Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.
Похожие публикации
Гениальный алгоритм создания лабиринтов в игре Entombed, который до сих пор не могут разгадать
Алгоритм создания многостраничных веб-форм в MyTaskHelper
Музыка, Mathematica и вычислительная вселенная: автоматическое создание музыки на основе клеточных автоматов
Курсы
AdBlock похитил этот баннер, но баннеры не зубы — отрастут
Минуточку внимания
Комментарии 60
По дефолту картинки, activex, ява и другие скрипты выключены (кнопки справа — красные). Поэтому такой вид. Это удобно если у вас медленный интернет или если вы любите бесплатный тариф Yota с ограничением скорости и хотите через него иногда сидеть в инете, читать форумы и т.д.
Интерфейс браузера заточен одновременно под тачскрин, клавиатуру и мышь (как и окна паинткада).
Если у вас тачскрин: то боковые кнопки для вас, а слева есть третья снизу кнопка-стрелка — это виртуальная клавиатура. Прокручивать страницу можно «шариком» справа вверху, скорость регулируется.
Если у вас клавиатура:
— нажатие F10 перенесет фокус в адресную строку
— двойное нажатие F10 выделит весь текст в ней (чтоб стереть и ввести новый адрес).
— кнопки Вверх-Вниз будут крутить страницу вверх и вниз.
— удерживание Alt покажет на каждой боковой кнопке ее клавиатурную клавишу.
— удерживание Ctrl, Shift, Ctrl+Shift, Alt при нажатии Вверх-Вниз будет менять масштаб, прокручивать страницу горизонтально, прокручивать страницу вертикально с увеличенной скоростью и пр.
— нажатие Ctrl+M позволит управлять курсором мыши, чтобы выбрать одну из ссылок или кликнуть куда либо (Пробел — левая кнопка мыши, Z — правая кнопка мыши).
Если у вас мышь: то пользуйтесь браузером как обычным браузером
Подробнее о мини-браузере Бро и об управлении им можно прочитать в системе помощи паинткада в разделе «Экстра»
Экстра — это один из пунктов в Главном Меню. Он содержит дополнительные утилиты, не относящиеся напрямую к редактированию графики. Если вам вдруг надоело рисовать — вы можете заняться другими делами с помощью пунктов этого меню.
Т.е. на вопрос «зачем это все нужно в графическом редакторе» ответ «незачем» получается) Проблема в том, что паинткад не чистый графический редактор, поэтому мы с вами говорим о разных вещах.
Есть один такой замечательный профессор в Калифорнии — David Cope. Ему удалось написать программу, которая, получая на входе набор произведений одного композитора, выдает бесконечное число произведений в его стиле. Результаты работы даже профессиональные музыканты не могли отличить от оригинала. Профессора атаковали критики, крича, что в музыке должна быть душа, а он все уничтожает. Но ведь даже сгенерированная в стиле Шопена музыка тоже вызывает эмоции — так где же она, душа? Вопрос до сих пор открыт.
Советую почитать вот это интервью с ним — там он рассказывает историю создания программы, как ее восприняли окружающие и какая участь ее в итоге постигла.
Ваша ссылка на интервью неточна, вот так лучше
Вот ещё старое видео с Дэвидом
И последнее что он сделал
Вспомнилась отечественная контора Ntonyx, которые еще в 90-х сделали плагин Style Enhancer для Cakewalk, умевший «оживлять» музыку, делать миди-треки похожими по звучанию на реального исполнителя.
Потом эта компания выпустила мощный миди-редактор, который мог по-настоящему генерировать песни в паре сотен жанров и поджанров, от джаза до нью-эйджа, причем всё это с имитацией реального исполнения, типа гитарных подтяжек, вибрато на флейте и акцентов духового оркестра. С хорошими звуковыми банками звучало действительно как живой ансамбль. Это был шедевр.
Но чем дальше они развивались, тем меньший их ждал успех. Почему, хотел бы я знать? Почему многие умные и полезные проекты уходят в небытие, а невнятная посредственность захватывает рынок?
Отличная тема! Не хотите ли добавить обучающиеся алгоритмы, обратную связь слушателей, и запустить 24/7 вещание «живого» автобарабанера+басера например, для начала?
Здорово было бы разработать расширяемый формат описания разных аспектов музыки — от темпа, «настроения», до особенностей звукоизвлечения отдельных инструментов. Был бы рад пообщаться лично на эту тему.
Алгоритмику гармонизации придумали до вас — не изобретайте велосипедов, покурите «Бригадный учебник» — широко известный в музыкальных кругах учебник гармонии. Музыкальную гармонию, в принципе, можно организовать как математический процесс.
За идею зачёт, реализация… ну не тягается пока машина с человеком. Вот запилят ИИ, тогда заживём! 🙂
Для начала нужно откопать обе её части (веб и генетика). На днях займусь — всё найду.
Скоро, кстати, начну новый интересный проект. Ко мне едет Emotiv Epoc Research Edition SDK. 🙂
Тогда можно просканировать творчество (вручную прослушать и посчитать где сколько и каких аккордов, собрать из них набор аккордов, посмотреть с чего начинается и чем заканчивается каждый куплет, припев и проигрыш и т.д.) какой либо музыкальной группы, и вывести общую формулу что «после Am у них идет Dm в 40% случаев, а G в 10% случаев» и так для всех аккордов из набора. Получится туча аккордов с вероятностными связями между собой, свойственная творчеству именно этой музыкальной группы.
В сети видел похожий онлайн генератор, возможно вам будет интересно
Я лично знаю этого человека, что демонстрировал генератор музыки на «Неделе наук», мы с ним на одном факультете учимся.
Я показал ему этот тред, он захотел откомментировать — но у него read-only аккаунт, поэтому он попросил меня выложить его комментарий. Вот он:
Привет коллеге по музыкально-генераторному цеху! Довольно интересно было прочитать этот пост. Я в этом году как раз защитил магистерскую диссертацию на тему генерации музыки в реальном времени, с возможностью влияния на процесс генерации.
Только в моем случае процесс генерации несколько иной и идет такт за тактом: сперва генерируется с использованием стандартных паттернов основная мелодия, потом она гармонизируется (тональность можно менять, разумеется) в соответствии с правилами гармонии и получается один такт с аккордами и мелодией. Затем поверх гармонии дописываются второстепенные голоса и аккомпанемент — которые дополняют мелодию. И в итоге этот такт проигрывается. Затем процесс повторяется, но новая мелодия уже может являться либо повтором предыдущей, либо модификацией ее — таким образом получается мотив, движение к устойчивым нотам в конце квадратов (в конце 4 и 8 тактов). Гармония также разрешается в доминанту и тонику в конце предложений.
Увы, возможности записать свежее демо программы нет, могу лишь продемонстрировать видео месячной давности (сейчас звучит еще приятнее).
Из функций также вывод в виде обычных нот в риалтайме, воспроизводится все с помощью звуковых банок в .sf2, есть возможности сохранения в MIDI и MP3.
Если кому-то интересно — могу постараться написать подробный пост про свою разработку.
ИМХО, беда всех музгенераторов в том, что их авторы — хорошие программисты, но непрофессиональные музыканты. А важно быть не просто музыкантом, а даже профессиональным композитором. Именно так.
Дело в том, что музыка — это очень близкая математике область. Вы даже не представляете, насколько. Конечно, современные композиции — это уже что-то из области настолько высшей математики, что со стороны кажется каким-то чудом. Но надо постигать эту науку (изучение принципов композиции) с азов. А эти самые азы оттачивались и «разрабатывались» людьми много веков.
Например, многим, наверное, известный по Gregorian или Enigma жанр музыки, называемый «Грегорианский хорал». Этот вид музыки имел множество весьма строгих правил, нарушать которые было нельзя. И эти правила довольно легко можно описать алгоритмически. В итоге у вас могут получиться довольно крутые композиции, которые мало чем будут отличаться от реальных грегорианских песнопений.
Следующая ступень — полифония. Она выросла из грегорианского стиля, поэтому здесь также масса строгих формул и правил, но уже более сложных (т.к. — многоголосие). Послушайте фуги Баха — это же чистой воды математика.
Дальше — больше. Появление классической музыки (Гайдн, Моцарт, Гендель, и т.д.). Музыка усложняется, и снова добавляются новые правила — теперь уже касающиеся гармонических последовательностей. Причём, к сегодняшнему дню всё разложено по полочкам: вот такие интервалы дают ощущение тревожности, вот такие модуляции используются для кульминационных моментов, и т.д. и т.п. Даже формы произведений и их эмоциональная структура также подчиняются правилам, отработанным на слушателях столетиями и работающим безотказно.
И так далее вплоть до современного времени. Наверное, сложность в том, что у программиста просто не хватит жизни, чтобы изучить все эти музыкальные «секреты» (я, например, за 12 лет профессионального музыкального образования изучил только азы, а ведь я учился непосредственно на теоретико-композиторском отделении, даже не на исполнительском, где эти знания дают очень поверхностно). В результате программисты сразу пытаются имитировать музыку современного уровня, минуя базовые знания. В итоге музыки-то и не получается — только набор звуков без характера, динамики и экспрессии. А именно эти факторы делают музыку музыкой.
Источник