Библиотеки для работы с MIDI

  • Автор темы Автор темы maks991
  • Дата начала Дата начала

maks991

Member
18 Фев 2012
41
1
8
Здравствуйте!

Я пишу библиотеку, нацеленную на работу с MIDI-файлами. Работа с MIDI-файлами подразумевает их чтение, выполнение неких манипуляций с их данными (например, изменить velocity всех нот на определённом треке), сохранение. Примерами библиотек, позволяющих что-то делать с MIDI-файлами, могут служить BASSMIDI (http://www.un4seen.com), jdksmidi (https://github.com/jdkoftinoff/jdksmidi) и другие такого плана.

Очень хочется услышать рассказы людей, когда-либо использовавших различные библиотеки для программирования работы с MIDI. В первую очередь, интересует опыт работы с MIDI-файлами. Но полезны будут любые мнения. Хочется узнать, что вам не понравилось в той или иной библиотеке, что хотелось бы видеть в ней, чего не хватало, что пришлось писать самому и т.д.

Заранее спасибо.

(Не нашёл какого-либо раздела про программирование музыкальных продуктов, посему написал сюда)
 
Последнее редактирование:
[OFF] Что-то прям навеяло письмо журналу Здоровье - "Расскажите, пожалуйста, о половом сношении: Где, как, когда и с кем его можно производить? [/OFF]

Вы б действительно уточнили бы назначение библиотеки и что подвигло Вас на написание... Без контекста Ваш вопрос бессмыслен.
 
Последнее редактирование:
Я написал, что нацелена на работу с MIDI-файлами :) Но ок, уточнил первый пост. А что сподвигло, пока не особо важно. Вопрос заключается в том, что хочется узнать опыт других людей работы с подобными библиотеками.
 
Ну серьёзно, ребята, я вполне конкретно сформулировал вопрос и хочется ответов именно на него. Если вы никогда не писали программ с использованием обозначенных библиотек, то зачем вообще отвечать сюда? Если использовали, то поделитесь опытом, ожидается просто рассказ о вашем опыте "общения" с этими библиотеками :)
 
maks991, Вопрос то пояснили, но не ясно, а какие недостатки или проблемы функционала существующих библиотек Вы хотите ликвидировать своей работой? Или это просто идея - а создам-ка я мегакрутую библиотеку...

Вопрос не праздный - программирую изредка, но смысла переписывать то, что уже существует не особо вижу - нерациональный расход времени и сил... Поэтому и интересуюсь, чего Вас так остро не устраивает в существующих?
 
Gregory, То есть весь парсинг MIDI-файла делали сами?

Hron, Ну хорошо, расскажу. В тех библиотеках, что я видел, авторы ограничились самым базовым функционалом. То бишь считывают файл, как набор сообщений. Оно так-то верно всё. Но, на мой взгляд, слишком низкоуровнево. Например, есть такие вещи в MIDI, как registered parameters. Это группы сообщений Control Change. Так почему бы не дать юзеру возможность оперировать вот такими объектами, Registered Parameters? Можно же указанные группы свернуть в одно эдакое придуманное сообщение, будет удобнее. В общем, главный смысл в отсутствии семантики и удобства. Плюс хочется в этой же библиотеке иметь средства различного рода преобразований, типа существующих в современных секвенсорах. Бывают же задачи небольшие, для которых смысла ставить DAW мало. Зато можно взять, написать быстро (и чем быстрее, тем лучше) утилитку и пользоваться. Ну а может я брежу, не исключаю такого :))

Само собой, я не ставлю задачу написать свой секвенсор (хотя, кто сказал, что они идеальны?). Это же библиотека будет, её кто угодно сможет использовать для своих задач. Различные конвертеры, утилиты "для себя", для каких-то своих часто выполняемых задач. Может, кто-то и секвенсор захочет написать :) Хотя, я пока планирую её только для работы с MIDI-файлами. Может, расширю её потом и для других задач. А может и заброшу. В любом случае, полезный опыт, как в плане программирования, так и в плане познания MIDI :)
 
Gregory, Ну, вообще, парсинг - это лексический анализ по грамматике в теории трансляции, но сейчас парсингом называют вообще любой разбор каких-то данных в соответствии с форматом. Наверное, это неправильно, но, увы, я грешу этим :)