Comments 61
Пример в студию!
«об очень простом способе» :)
Нереально понравилось… Спасибо.
Просто здорово! Вот из-за таких статей я люблю хабр!
UFO just landed and posted this here
UFO just landed and posted this here
Теперь всё это в веб-оболочку надо. Чтоб юзали взрослые и дети.
UFO just landed and posted this here
Насколько я понимаю весь алгоритм вертится вокруг цепей Маркова. В свое время с помощью них писал генератор текстов. Там ещё был такой момент — для англоязычных текстов для удобоваримого результата словарь надо было строить по 2 предыдущим словам, для русскоязычного — по трем.
UFO just landed and posted this here
UFO just landed and posted this here
Когда-то давно пытался написать что-то подобное, правда все было гораздо проще — выбираем тонику, а от нее в минорной гамме начинаем строить рандомную мелодию. Правила просты — 3 вида ритма 1\2, 1\4 и 1\8. Переходы +- 2, 3, 5 полутонов + повторять и пытаться заполнить до 2 или 4-х тактов, проиграть пару раз.
На выходе получался абсолютный и немного управляемый рандом (если уж пошли в плюс — так, пару раз прибавить в тоне к примеру до такта или половины, а после обратно. В итоге после получаса такой вот генерациии можно было найти пару прикольно и довольно приятно звучащих моментов. Но с музыкальной точки зрения считаю что они не несли в себе ничего — что-то подобное у меня получалось когда я сам сидел и под метроном пытался импровизировать в ля-миноре по часу или полтора, находя «правильные» и красивые фразы.
А вообще считаю что врядли можно заменить полноценного композитора, уж слишком безграничная эта область. Если и получиться что-то подобное, то на выходе будем получать обыкновенный «корм», который и так есть в 90% в любом стиле. Пытаться найти новое звучание — тоже не вариант, оно каждый день находится сотней школьников, которые считают что за год игры на инструменте они всему научились и теперь могут творить.
Тут же главное правильно подать это все ;)
На выходе получался абсолютный и немного управляемый рандом (если уж пошли в плюс — так, пару раз прибавить в тоне к примеру до такта или половины, а после обратно. В итоге после получаса такой вот генерациии можно было найти пару прикольно и довольно приятно звучащих моментов. Но с музыкальной точки зрения считаю что они не несли в себе ничего — что-то подобное у меня получалось когда я сам сидел и под метроном пытался импровизировать в ля-миноре по часу или полтора, находя «правильные» и красивые фразы.
А вообще считаю что врядли можно заменить полноценного композитора, уж слишком безграничная эта область. Если и получиться что-то подобное, то на выходе будем получать обыкновенный «корм», который и так есть в 90% в любом стиле. Пытаться найти новое звучание — тоже не вариант, оно каждый день находится сотней школьников, которые считают что за год игры на инструменте они всему научились и теперь могут творить.
Тут же главное правильно подать это все ;)
Только что закончил писать пост о грамматиках (8
Совпадение.
Но, на самом деле, как-то полученные файлы не слишком-то отличаются от оригинала )8
Совпадение.
Но, на самом деле, как-то полученные файлы не слишком-то отличаются от оригинала )8
Не качает по ссылкам. Сделайте зеркала.
Why MIDI? Есть же MOD (и не только он), который обеспечивает всё то же, и ещё больше, а качество музыки зависит только от качества сэмплов. Но вообще-то интересно, спасибо :)
наверное потому, что MIDI — это в первую очередь протокол (повсеместно поддерживаемый), а MOD — antique формат =)
Не согласен про антиквариат. Музыка в Unreal Tournament хранится в одной из разновидностей MOD. Да и открытый он и простой.
см. «ложные друзья переводчика» =)
MIDI тоже открытый.
и вообще, для манипуляций лучше — текстовый формат Vortex Tracker'а ^_^'
MIDI тоже открытый.
и вообще, для манипуляций лучше — текстовый формат Vortex Tracker'а ^_^'
все предельно просто: midi это всемирный стандарт записи и передачи нот в цифре. его поддерживает подавляющее большинство устройств (будь то realtek за 1$ с програмным синтезом в вашей материнке или синтезатор за 5k$, эмулирующий поведение аналогового) и софта (начиная от винампа, заканчивая всеми цифровыми DAW), он универсален. смысла переходить на что либо другое или использовать для некоторых целей другой формат нет, и вряд ли появится.
UFO just landed and posted this here
Я со своим аватаром не могу не отметиться в этом посте. =)
А что за мультик на пикче?)
UFO just landed and posted this here
Вот на вольфраме правильно результать назвали — композиция.
Ибо то, что генерируется алгоритмом никак не может быть музыкой…
Ибо то, что генерируется алгоритмом никак не может быть музыкой…
Сгенерировал партию на piano, и подумал, что наверняка у Aphex Twin'а есть что-то подобное)
Примерно подобрал. В composition controls выставляем:
generator
rule type: 62
height: 25
instrumentation
Grand Piano — Chords 1
Grand Piano — Chords 2
Synth Bass — Bass 1
Synth Bass — Bass 2
Electric Piano 2 — Polyphonic
перкуссия Metronome или Hip-Hop
time controls
208 bpm
2 notes per beat
Еще можно надо поиграться с pitch mapping.
P.S.: пока игрался, чуть с ума не сошёл от этой какофонии)
generator
rule type: 62
height: 25
instrumentation
Grand Piano — Chords 1
Grand Piano — Chords 2
Synth Bass — Bass 1
Synth Bass — Bass 2
Electric Piano 2 — Polyphonic
перкуссия Metronome или Hip-Hop
time controls
208 bpm
2 notes per beat
Еще можно надо поиграться с pitch mapping.
P.S.: пока игрался, чуть с ума не сошёл от этой какофонии)
Спасибо, интересно.
У меня коллега на работе, в качестве кандидатской писал нечто подобное. Только у него строилась матрица вероятностей нот. У него нет аккаунта на Хабре, но он сейчас посмотрел Ваш код и проект и сказал, что плюсом у Вас является анализ в дереве предыдущих нот, тогда как у него — следующая нота строится лишь в зависимости от текущей, но, зато, у него учитывается вероятности ноты появления ноты в оригинальном произведении (не просто рандомом берётся). Если вдруг заинтересуетесь, могу скинуть его аську.
У меня коллега на работе, в качестве кандидатской писал нечто подобное. Только у него строилась матрица вероятностей нот. У него нет аккаунта на Хабре, но он сейчас посмотрел Ваш код и проект и сказал, что плюсом у Вас является анализ в дереве предыдущих нот, тогда как у него — следующая нота строится лишь в зависимости от текущей, но, зато, у него учитывается вероятности ноты появления ноты в оригинальном произведении (не просто рандомом берётся). Если вдруг заинтересуетесь, могу скинуть его аську.
Очень интересная и ГРАМОТНАЯ статья. Мне интересно, это так для себя или…
не скачивает нифига. выложите в другое (нормальное, более распространненное место)
Интересная идея. Я экспериментировал так с текстами — из Властелина Колец отличные сказки получаются ;)
Только файлы с примерами не скачиваются — если можно, выложите куда-нибудь еще.
Только файлы с примерами не скачиваются — если можно, выложите куда-нибудь еще.
Спасибо огромное за то, что узнал про формат MusicXML. Уже давно ношу в голове несколько идей (правда о генерации гармонии, а не мелодии), но все мои попытки разобраться в формате MIDI не увенчались успехом (хотя сам формат хорош). А тут старый добрый XML. Супер!
Примеры не качаются.
добавил зеркала, буду рад если посоветуете, какими хранилищами пользуетесь вы, а то мне как-то не приходилось раньше.
Мне интересно, может ли эта техника использоваться для метаморфа малварей?..
а теперь то же самое с s3m/xm/it и игрописатели всего мира вам поставят памятник.
с одного говнохостинга на другой переложили… у вас подборка самых отстойных файлопомоек?
есть ещё вот такой метод для генерации текста:
qmax.habrahabr.ru/blog/50630/
в своё время мы пробовали применить его для музыки,
но с фиксированной глубиной дерева (длинной левой части), и midi файлы ковырять не умели, поэтому «обучали» генерилку, вводя партитуры руками,
соотвественно, в правилах были только ноты мелодии, и их было весьма немного.
а в результате получалась, вообще говоря, лажа,
но очень похожая на твою :)
было бы интересно совместить эти два метода,
например, используя вероятностный в качестве «рандомом или каким-то другим методом»
qmax.habrahabr.ru/blog/50630/
в своё время мы пробовали применить его для музыки,
но с фиксированной глубиной дерева (длинной левой части), и midi файлы ковырять не умели, поэтому «обучали» генерилку, вводя партитуры руками,
соотвественно, в правилах были только ноты мелодии, и их было весьма немного.
а в результате получалась, вообще говоря, лажа,
но очень похожая на твою :)
было бы интересно совместить эти два метода,
например, используя вероятностный в качестве «рандомом или каким-то другим методом»
Просто красота :)
Среди друзей-диджеев ходит прибаутка о том, как Tiesto пишет свои шедевры. Он просто открывает любой аудио редактор и нажимает File → Create new track и сохраняет в MP3, так вот о каком способе шла речь :)
Среди друзей-диджеев ходит прибаутка о том, как Tiesto пишет свои шедевры. Он просто открывает любой аудио редактор и нажимает File → Create new track и сохраняет в MP3, так вот о каком способе шла речь :)
это один из лучших постов хабра
Впечатлён, но как полученный xml конвертировать в midi? В mp3 понятно не получится, но из midi в mp3 понятно как.
Sign up to leave a comment.
Генерация музыки на основе заданного стиля