Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Visual Basic: Общие вопросы > Компьютер сочиняет музыку |
Автор: TheTrik 28.01.16, 11:46 |
https://www.youtube.com/watch?v=AB0FaDtHeRE Скрытый текст [URL=https://www.youtube.com/watch?v=s_aPUuhPKxc] Скрытый текст Всем привет. Как-то давно я делал виртуального композитора для создания 8-бит музыки, но в итоге забросил это дело. Я даже писал об этом и выкладывал демки (вот и вот). На днях я немного доработал его + добавил свои синтезаторы (вот и вот) в него + банки пресетов к ним. Кстати там же можете добавлять новые пресеты и сохранять их. Конечно музыкой это назвать нельзя (из-за кривого алгоритма, который я разработал давно, когда еще и музыку толком сам не умел делать и программировать не умел), но поиграться можно. Для создания нового трека нужно придумать имя трека и ввести его в поле Name, если поле ничего не содержит оно заполнится произвольным числом. На основе имени создается трек (вычисляется хэш и это значение используется в качестве зерна псевдослучайного генератора), т.е. имя будет однозначно идентифицировать трек. Поле Tempo задает темп. Правой кнопкой мыши по треку - открывает окно синтезатора трека, можно менять параметры тем самым изменяя звучание. Левой кнопкой по паттерну - просмотреть паттерн. Никаких поверок нет, так что не нужно туда вводить неправильные значения иначе программа "рухнет". Также программа может зависнуть (опять-таки из-за кривого алгоритма) при создании трека. Некоторые интересные треки которые я нашел: Скачать Группа в ВК. Удачи! |
Автор: B.V. 29.01.16, 12:32 |
Ой, напомнило мне мою старую и примерно такую же "полезную" (разве что на поиграться) программку http://bbs.vbstreets.ru/viewtopic.php?f=15&t=29911 Если сильно постараться, тоже на выходе иногда получается музыка. Скрытый текст |
Автор: Linnalor 31.03.16, 08:48 |
Fl Studio попробуйте |
Автор: TheTrik 31.03.16, 10:15 |
Спасибо! А то я не мог догадаться что использовать, пришлось писать целую программу для этого. Вот я опростоволосился... |
Автор: VisualProg 31.03.16, 12:37 |
Если сделаете экспорт дорожек в миди (хоть каждую дорожку в отдельный файл, хоть все дорожки в 1 файл) - будет очень полезная штука)) Сейчас ищу нечто подобное, а миди можно будет дополнительно обработать в студии (ну, и частично скорректировать партии) |
Автор: TheTrik 31.03.16, 12:40 |
Цитата В новой версии я делаю что все вычисляется на основе имени, также как и в текущей версии, но алгоритм хеширования будет другой дабы уменьшить коллизии. В данный момент работаю над генератором слов (не хочется чтобы использовался абсолютно случайный незапоминающийся набор символов) который использует алгоритм похожий на Цепь Маркова. Также планирую экспорты в MIDI и MP3, может быть добавлю редактирование паттернов уже в самом проигрывателе (сейчас их можно только просматривать) и сохранение треков уже во внутренний формат для "доведения до ума" генерированных треков. Кстати будут расширния в виде DLL, как и сами "композиторы" так и синтезаторы. Может быть даже и VST добавлю если будет такая возможность. Пока все заморозил из-за основной работы. |
Автор: B.V. 31.03.16, 13:06 |
Ей, к слову, в свое время и вдохновился на написание того, что по ссылочке выше. Цитата VisualProg @ Если сделаете экспорт дорожек в миди (хоть каждую дорожку в отдельный файл, хоть все дорожки в 1 файл) - будет очень полезная штука)) Это кому, мне или Трику? |
Автор: TheTrik 31.03.16, 13:13 |
B.V. вся фишка моей программы в том, что она сама сочиняет музыку и выбирает синтезаторы. У тебя это просто секвенсор коих миллион. Может быть я не разобрался как он сочиняет музыку? |
Автор: VisualProg 31.03.16, 13:20 |
Цитата Это кому, мне или Трику? Трику)) Про что твоя программа я так и не понял... по крайней мере, если она не преобразует физические параметры звука другими физическими параметрами другой аудио дорожки (например, нелинейно изменить поведения тембра бочки величиной частоты звука аудиофайла записи выстрела из пулемёта) - то это не столь интересная тема)) Цитата Может быть даже и VST добавлю Вот тут не соглашусь, если извращаться, то делать это в удобном инструменте, поэтому пропустить миди в том же CuBase с куда лучшим результатом, да ещё сделать это быстрее - лучше. ИМХО. Кстати, прикольная музыка, из того что мне понравилось: "vpcoder" (сумма равна сумме найденной композиции Трюка "43964") темп 111bpm, "angry bass" темп 152bpm - да этож балалайка на фоне!) Этот композитор меня радует))), "lib 32" темп 130bpm - тоже солирует балалайка с банжо в восточном стиле, эх, заставить бы его партию по пентатонике переиграть, получилось бы не плохо)) "deathcore" темп 125bpm - как ни странно, но звучит как black , "lib16" темп 150bpm - на сильную долю достаточно круто звучит, правда остальное сумбурно как то... "return song 16" темп 135bpm - что то весёлое и на сильную долю с педалькой от хайхета, звучит серьёзно "56403" темп: 135bpm - очень позитивная тема) "89136" темп: 110bpm - умеренная тема, + композитор грамотно построил структуру музыки вообще не ожидал что он так грамотно всё разложит |
Автор: B.V. 31.03.16, 13:21 |
Он не сочиняет музыку, музыку сочиняет пользователь. А общего между моим и твоим проектом только то, что на выходе получается музыка. |
Автор: TheTrik 22.04.16, 17:32 |
Новая версия 1.1Скачать. Создана группа в ВК. |
Автор: VisualProg 13.05.16, 11:57 |
Не смог найти ничего о спецификации "TCSTDBANK", что это за формат? Хотелось поковырять пресеты, может инструментов добавить получилось бы)) Нашёл другие темы, вышел на Ваш редактор (TestSynths.exe), и понял что всё в разы проще... я ожидал свой пресет на конкретную ноту (яля VST), а тут общий алгоритм... Ещё было бы совсем круто посмотреть исходники, но, тут на Ваше усмотрение, я так понимаю, софт закрытый? |
Автор: TheTrik 13.05.16, 12:40 |
Цитата VisualProg @ Не смог найти ничего о спецификации "TCSTDBANK", что это за формат? Хотелось поковырять пресеты, может инструментов добавить получилось бы)) Это внутренний формат контейнера банков, там все просто. TCSTDBANK\0 - это сигнатура (Trick Composer Standard Bank), после идет Long - версия контейнера, после идет размер самого банка (Long), после идут непосредственно данные банка специфичные для синтезатора. После данных планировалось хранить информацию о банке, но пока это зарезервировано. Цитата VisualProg @ Нашёл другие темы, вышел на Ваш редактор (TestSynths.exe), и понял что всё в разы проще... я ожидал свой пресет на конкретную ноту (яля VST), а тут общий алгоритм... Там 2 синта: ударные и аддитивный. Можешь создать по одному банку для каждого типа, он будет выбираться. Вообще алгоритм такой: загружаются все пресеты и выбирается случайный. Цитата VisualProg @ Ещё было бы совсем круто посмотреть исходники, но, тут на Ваше усмотрение, я так понимаю, софт закрытый? Исходники будут, только начиная с версии 2, поскольку этот проект довольно-таки старый и я его начинал писать когда еще не совсем хорошо умел кодить, потом забросил. В 2016 году я опять решил закончить его. Исходники находятся в довольно-таки плачевном состоянии поэтому я решил не выкладывать их, а переписываю их заново по мере возможностей. Мне просто стыдно выкладывать плохой код. |
Автор: VisualProg 13.05.16, 19:56 |
Цитата Исходники находятся в довольно-таки плачевном состоянии поэтому я решил не выкладывать их Хорошо, подожду Цитата Там 2 синта: ударные и аддитивный. Можешь создать по одному банку для каждого типа, он будет выбираться. Вообще алгоритм такой: загружаются все пресеты и выбирается случайный. Пробовал поковырять, но не смог найти прослушивание при редактировании, без него сложно представить как программа меня поняла |
Автор: TheTrik 13.05.16, 20:11 |
Цитата VisualProg @ Пробовал поковырять, но не смог найти прослушивание при редактировании, без него сложно представить как программа меня поняла Так клавиши на клавиатуре. Z - первая октава, Q - вторая, I - третья. Ноты расположены как обычно. |
Автор: VisualProg 13.05.16, 22:06 |
Цитата Z - первая октава, Q - вторая, I - третья. Ноты расположены как обычно. Я имел ввиду барабаны, миди-панель понятна (но не полностью, те же диезы и бемоли не нашёл - разве что транспонирование тона использовать...). Барабаны мышкой забивать научился, а вот прослушать - никак не могу |
Автор: TheTrik 13.05.16, 22:17 |
Они идут от первой октавы. C - KICK - Z C# - SNARE - S D - Open hi hat - X D# - Closed hi hat - D E - TOM1 - C F - TOM2 - V F# - TOM3 - G |
Автор: TheTrik 10.02.17, 12:06 |
https://www.youtube.com/watch?v=s_aPUuhPKxc Новая версия 1.3 Скачать. preview.png (, : 3487) |
Автор: TheTrik 03.05.17, 14:17 |
https://www.youtube.com/watch?v=AB0FaDtHeRE Новая версия 1.4 Скачать. scrn1.png (, : 3536) |
Автор: kuzduk 19.01.18, 09:42 |
прикольная прога! |
Автор: ... 21.10.20, 12:12 |
как успехи ? когда выйдет новая версия ? |
Автор: Betelgeuse 27.09.23, 06:33 |
ChatGPT нервно курит в сторонке |