визуализация оценки производительности фортепиано - PullRequest
3 голосов
/ 25 мая 2010

Мне нужно разработать оценщик производительности для игры на пианино. Основываясь на миди, сгенерированном из нот, мне нужно оценить миди реальной игры (миди-клавиатура). Я планирую оценить игру на основе высоты звука, продолжительности и громкости. Оценка, я полагаю, сравнение нот и ноты в миди.

Но я понятия не имею, как я могу визуализировать (то есть показать, где человек ошибся) этот процесс оценки. то есть может показывать как обозначение, так и выделение, какая нота пошла не так. Но как я могу показать все это в некоторой графической форме? Или, точнее, на нотах (самой музыке). У меня есть детали заметок (высота тона, длительность) и детали оценки (ключ и время подписи), хранящиеся в таблице, и я использую Java Но я не имею ни малейшего представления о том, как я могу представить все это в графической форме.

Любое понимание ценится с благодарностью. Заранее спасибо

1 Ответ

4 голосов
/ 25 мая 2010

То, о чем вы говорите, на самом деле, это графический инструмент сравнения музыкальной нотации. Я думаю, что самый простой способ показать разницу - это наложить сыгранные ноты (и отдохнуть) на «правильные» символы партитуры. Сложно показать разницу в громкости, воспроизводятся ли ноты (или их следует воспроизводить) staccato, marcato, tenuto и т. Д. Например, нота с точкой над ней предназначена для воспроизведения стаккато, но ваше MIDI-представление четвертная нота может быть интерпретирована как восьмая нота, за которой следуют восемь остальных и т. д.

Вам также нужно будет квантовать результаты живой игры, что означает, что вам придется немного уступать человеку до или после удара, не отмечая иначе. Если вы этого не сделаете, единственная «правильная» интерпретация нот будет очень механической (и не приятной для слуха).

Что касается рисования нотации и размещения ее на правильных линиях или пробелах на шестах, это не сложно, если вы понимаете, как рисовать графику. Доступны музыкальные шрифты , которые позволяют использовать буквенно-цифровые символы для представления тел примечаний, основ, остатков и т. Д. Вам также необходимо понимать ключевые подписи, случайные , когда определенные примечания энгармоник и т. Д.

Это не маленькое обязательство, которое вы предлагаете, и уже есть много программного обеспечения, которое выполняет большую часть того, что вы пытаетесь сделать. Может быть, есть такие, которые делают именно то, что вы хотите сделать, поэтому изучите это, прежде чем начинать кодировать. :) Посмотрите на различную работу, которая уже была проделана и посмотрите, есть ли что-то, что вы можете использовать или что могло бы оттолкнуть вас от вашего проекта.

Я сделал свой собственный клавиатурный проигрыватель / рекордер для реализации MIDI QuickTime несколько лет назад, и мне пришлось решить ряд проблем, с которыми вы сталкиваетесь. Я сделал это для удовольствия, и это было забавным (и образовательным для меня), но оно никогда не могло конкурировать с коммерческим программным обеспечением в жанре. И хотя людям это нравилось, у меня действительно не было времени его поддерживать и добавлять функции, которые были нужны людям, поэтому в итоге мне пришлось отказаться от этого. Это действительно много работы.

...