-
UGEX Crew
DryWetMIDI / .NET библиотека для работы с MIDI файлами
DryWetMIDI – .NET библиотека для работы с MIDI файлами, позволяющая:
- Читать, писать и создавать файлы в формате Standard MIDI Files (SMF), а также RMID файлы, где SMF упакован в блок RIFF. Процесс чтения и записи можно точно настроить, что позволяет, например, прочитать испорченные файлы и восстановить их, или же написать валидатор MIDI файлов.
- Реализовать пользовательские блоки данных (chunks) и мета события (meta events), которые могут быть записаны в MIDI файлы или же прочитаны из них.
- Управлять содержимым MIDI файлов посредством низкоуровневых сущностей (например, событий) или же высокоуровневых (например, нот).
- Создавать музыкальные композиции (Pattern).
- Выполнять сложные задачи, например, квантизацию, разделение нот или конвертацию MIDI файла в CSV (Tools).
Для быстрого погружения в работу с библиотекой можно прочитать следующие статьи:
GitHub проекта: https://github.com/melanchall/drywetmidi
Wiki: https://github.com/melanchall/drywetmidi/wiki
-
Administrator
Поздравляю, Макс! Помню, как ты начинал делать её в 2013 и писал здесь об этом. Так же немного приложил руку к проекту, помогав тестировать библиотеку на практике. Это первый и пока единственный серьёзный программный проект, связанный с музыкой и нашим форумом.
-
UGEX Crew
Да, спасибо за предоставленное оборудование для тестов нового большого пласта функциональности библиотеки – работы с MIDI устройствами. Надеюсь, скоро будет релиз с этими новшествами :)
-
Administrator
А как на практике, интересуются люди продуктом?
-
UGEX Crew
Да, создают issue в GitHub, пишут по почте иногда. Сегодня вот подогнали: Total length of MIDI file
-
Administrator
Неплохо было бы для пользователей форума вкратце описать несколько практических применений твоей библиотеке
-
UGEX Crew
Могу рассказать о проектах тех, кто ко мне обращался.
Было несколько обращений по поводу использования в играх на Unity. Язык программирования в проектах на Unity – C#, поэтому DryWetMIDI идеально вписывается туда. Есть и ещё .NET библиотеки, но ни в одной нет высокоуровневых средств для работы с MIDI файлами: ноты, паузы, времена и длины в разных форматах и т.д. Один из проектов была игра наподобие Guitar Hero, пользователю нужно было синхронизировать по времени MIDI файлы и аудио.
Один человек делал автоматический генератор мелодий в стиле поп, из моей библиотеки он заюзал функционал касаемо теории музыки: гаммы, ноты и т.д. Он, кстати, активно предлагал новые вещи и помогал понимать потребности пользователей.
Кроме того, в библиотеке есть средства для быстрого программного создания мелодий, см. класс Pattern и PatternBuilder. То есть процедурная генерация музыки, опять же для игр, например.
Метки этой темы
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума
Социальные закладки