Я разрабатываю систему в качестве помощи музыкантам, выполняющим транскрипцию. Цель состоит в том, чтобы выполнить автоматическую транскрипцию музыки (она не должна быть идеальной, так как пользователь будет исправлять глюки/ошибки позже) на монофонической записи одного инструмента. У кого-нибудь есть опыт в автоматической транскрипции музыки? Или цифровая обработка сигналов в целом? Помощь от кого-то очень ценится независимо от вашего фона.
До сих пор я исследовал использование Fast Fourier Transform для определения высоты тона, и ряд тестов как в MATLAB, так и в моих собственных тестовых программах Java показал, что он является быстрым и точным для моих нужд. Еще одним элементом задачи, который нужно будет решить, является отображение произведенных MIDI-данных в форме нотной музыки, но сейчас меня это не касается.
Вкратце, то, что я ищу, является хорошим методом обнаружения момента обнаружения заметки, т.е. положения в сигнале, где начинается новое примечание. Поскольку медленные onsets могут быть довольно трудно обнаружить должным образом, я изначально буду использовать систему с фортепианными записями. Это также частично связано с тем, что я играю на пианино и должен быть в лучшем положении для получения подходящих записей для тестирования. Как указано выше, ранние версии этой системы будут использоваться для простых монофонических записей, возможно, позже перейдя к более сложному входу в зависимости от прогресса, достигнутого в ближайшие недели.