Генератор мелодии для гитары

Содержание
  1. Music Generator
  2. Introduction
  3. User Interface
  4. Illustrative Workflow
  5. Music Generation
  6. Score Representation
  7. Utilities
  8. Development Guide
  9. Build
  10. Launch
  11. OpenAI запустила онлайн-генератор музыки с помощью ИИ. Он создаёт композиции в 15 разных стилях и на 10 инструментах Статьи редакции
  12. Автокомпозитор мелодий Muzz
  13. Примеры получающейся музыки (MIDI-файлы)
  14. Как «сочинить» музыку программно
  15. Что же это такое?
  16. Входные параметры алгоритма
  17. Порядок генерации
  18. Выбор барабанного ритма
  19. Выбор набора аккордов по окрасу
  20. Повторы
  21. Выбор инструментов
  22. Выбор стиля аккомпанемента
  23. Генерация мелодии
  24. Темп мелодии и транспонирование
  25. Окно Muzz после окончания генерации
  26. Управление композитором
  27. Куда девать все эти MIDI-песни?
  28. Хочу послушать/погенерировать мелодии
  29. Перспективы
  30. Читают сейчас
  31. Редакторский дайджест
  32. Похожие публикации
  33. Гениальный алгоритм создания лабиринтов в игре Entombed, который до сих пор не могут разгадать
  34. Алгоритм создания многостраничных веб-форм в MyTaskHelper
  35. Музыка, Mathematica и вычислительная вселенная: автоматическое создание музыки на основе клеточных автоматов
  36. Курсы
  37. Минуточку внимания
  38. Комментарии 60

Music Generator

Introduction

The app is targeted at both web and desktop.

  • Provide basic score input (melody/harmony/texture) and operations on MIDI file.
  • Incorporate structural information into music composition, generating good melody and harmony.

User Interface

  • Viewer (support pdf, image or rendered from score input).
  • Editors for melody, harmony, texture, score settings and schema
  • Buttons (generate, parse, play, etc)
  • Top Menu: File, Edit, View, Examples (json/midi/pdf)
  • Bottom Menu: Keyboard, Console, Tutorial, Instrument List

Illustrative Workflow

  • Using default score is summertime, just click parse , then the score will be parsed and rendered and you can play melody, harmony or all the MIDI tracks generated from that score.
  • In Example menu, click load sample json to load one excerpt from Chopin’s butterfly etude . Then play the MIDI or generate new melody based on the associated schema.
  • In Example menu, click load sample midi to load Bach’s two-part invention No.1, then analyze it (in Edit menu), set seed s1 (in Edit menu). Then you can generate music based on the rhythmic patterns in the MIDI.
Читайте также:  Вахтанг кикабидзе под гитару

Music Generation

The generation procedure includes four phases:

  1. low-level structural optimization (within one block) the current evaluation is based on harmony (chord abstraction), simplicity (material reuse), associability (piecewise similarity, auditory streaming).
  2. high-level structural enforcement (upon defined blocks) include crafted repetitions, transpositions, inversions, etc;
  3. between-block modification make coherent transitions, cadences, etc, also adjust notes not fit the harmony due to block operations;
  4. ornamentation add grace notes, trills or other small variations to enhance musicality without affecting the structure

Score Representation

The score input is based on the scale (e.g., major/pentatonic/blues scales, etc) The score parser is generated from lex file by jison. And can be extended to support more MIDI event like tempo changes. The score renderer uses vexflow as underlying library.

Utilities

  • MIDI: open MIDI file, quantize, analyze, render as score, save as wav/mp3
  • keyboard: a, s, d, f, j, k, l, ; correponds to C, D, E, F, G, A, B as the white keys, and the black keys are w, e, u, i, o which have similar positions as on the piano keyboard.

Development Guide

Build

  • Run grunt web to generate index.html and js/gen-build.js for the website.
  • Run grunt app to generate app.html , and the generated js file is in coffee/ .

Launch

Run npm start to launch the app or setup a http server.

Try the examples in the menu Example . Click Parse, Render, Play MIDI one by one. Edit the melody or harmony, or generate from the schema. Then parse again.

Источник

OpenAI запустила онлайн-генератор музыки с помощью ИИ. Он создаёт композиции в 15 разных стилях и на 10 инструментах Статьи редакции

Например, можно послушать песню Леди Гаги в стиле Бетховена.

Читайте также:  Гаммы для гитары с табулатурами

Организация OpenAI, работающая над созданием ИИ, не уступающего людям, запустила онлайн-генератор музыки MuseNet на основе нейросетей. В отличие от существующих алгоритмов, он может создавать музыку в 15 стилях, от Бетховена до кантри и Beatles, и использовать до 40 музыкальных инструментов.

MuseNet работает за счёт нейросети, натренированной на данных из MIDI-файлов, собранных с разных онлайн-источников в разных стилях. По словам исследователей из OpenAI, алгоритм понимает полный контекст мелодии, а не только сочетание нот в коротких отрезках. Это позволяет ему лучше «предсказывать», как сыграть мелодию.

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

Пока что MuseNet поддерживает 15 стилей, 12 вариантов начала и 7 инструментов, включая барабаны и гитару. Генератор работает не со всеми браузерами, например, он не поддерживает Safari на iOS и macOS. По данным TechCrunch, генератор будет работать на сайте OpenAI до середины мая, а потом его исходный код частично сделают открытым для всех.

Музыка Bon Jovi в стиле Шопена.

OpenAI — не первая компания, экспериментирующая с музыкой и искусственным интеллектом. До этого 21 марта Google представила дудл в честь дня рождения Баха, который генерировал музыку композитора с помощью нейросетей.

Комментарий удален по просьбе пользователя

Mubert есть ещё.

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Кожаным ублюдкам и так и так пизда

Ну про разъебку чемпионов мира это с натяжкой было сказано конечно, это же шоуматч был. Но в целом бот микрит будь здоров.

Ага, а еще играли очень ограниченным пулом героев, без иллюзий и каких-то других мелких фишек вроде

Комментарий удален по просьбе пользователя

Ага, вот только это работает и в обратную сторону — представь себе действия ИИ против 10 иллюзий лансера? Или даже против банальной руны иллюзий? Кого он будет фокусить? Как он будет перемещаться по карте?

Это тебе не жать полторы кнопки в идеальный тайминг или пушить впятером каждую пятую минуту. У людей банально связаны руки против пуша из-за малого пула героев.

Не утверждаю, что в этом случае у OpenAI винрейт был сильно другим, но результат стал бы более впечатляющим. Потому что прогресса между текущим билдом и прошлогодним очень мало.

Комментарий удален по просьбе пользователя

Сейчас бы что-то писать про разъеб людей, где людям ограничили пул героев из 117 до 17. Гениально, просто гениально. Боту с опытом в 45000лет игры в доту на 17 героях(и все ещё проигрывающему) потребуется так много времени научится играть в доту, что доту уже люди забросят

Источник

Автокомпозитор мелодий 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 лет профессионального музыкального образования изучил только азы, а ведь я учился непосредственно на теоретико-композиторском отделении, даже не на исполнительском, где эти знания дают очень поверхностно). В результате программисты сразу пытаются имитировать музыку современного уровня, минуя базовые знания. В итоге музыки-то и не получается — только набор звуков без характера, динамики и экспрессии. А именно эти факторы делают музыку музыкой.

Источник

Оцените статью