Что вы говорите, действительно, представляет собой графический инструмент для разметки музыкальных нот. Я думаю, что самый простой способ показать различия - это наложение проигранных заметок (и остатков) над «правильными» символами оценки. Там, где это сложно, это показать разницу в объемах, независимо от того, играют ли ноты (или должны быть воспроизведены) стаккато, маркато, тенуто и т. Д. Например, примечание с точкой над ним предназначено для воспроизведения стаккато, но ваше MIDI-представление четверть примечания могут быть интерпретированы как восемь нот, за которыми следует восемь отдыха и т. д.
Вы также должны будете получить quantize результаты живой игры, что означает, что вам придется разрешить некоторую свободу действий для человека быть немного до или после удара, не обозначая иначе. Если вы этого не сделаете, единственная «правильная» интерпретация нот будет очень механической (и не приятной для уха).
Что касается рисования обозначений и размещения их на правильных строках или пространствах на посохах, это не сложно, если вы понимаете, как рисовать графику. Есть musical fonts доступны, которые позволяют использовать буквенно-цифровые символы представляют нотные тела, стебли, остатки и т.д. Вы также должны понимать ключевые подписи, accidentals, когда некоторые ноты enharmonic и т.д.
Это не маленький вы предлагаете, и там уже много программного обеспечения, которое делает много того, что вы пытаетесь сделать. Возможно, некоторые существуют, что делает именно то, что вы хотите сделать, поэтому исследуйте его перед началом кодирования. :) Посмотрите на различные work that has already been done и посмотрите, есть ли что-нибудь, что вы можете использовать, или которое уберет вас от вашего проекта.
Я сделал my own клавиатурный проигрыватель/рекордер для реализации MIDI QuickTime несколько лет назад и должен был решить ряд проблем, с которыми вы сталкиваетесь. Я сделал это для удовольствия, и это было было весело (и образовательный для меня), но он никогда не сможет конкурировать с коммерческим программным обеспечением в жанре. И хотя людям это нравилось, у меня действительно не было времени, чтобы поддерживать его и добавлять функции, которые хотели люди, поэтому в итоге мне пришлось отказаться от него. Это действительно большая работа.
Возможно, вы захотите связаться с Конрадом Альбрехтом об этом: http://stackoverflow.com/users/287812/conrad-albrecht –
Почему я? :) На самом деле я знаю подобное приложение PianoCheater, Stephen Hazel, который модерирует группу mididev Google. –