Можно, конечно, заморочиться и писать своё, но если существует отдельный трек с мелодией, можно обойтись имеющимися инструментами.
Скачайте
Reaper, установите сам рипер и прилагаемые к нему эффекты. Можно portable.
Создайте пустой проект, киньте в него файл с мелодией. Добавьте на дорожку эффект Rea Tune (поставляется вместе с рипером). В интерфейсе эффекта поставьте галочку "Send MIDI events when pitch changes".
Создайте вторую дорожку, пошлите на неё Midi с первой, включите запись на второй дорожке.
Нота будет определяться с некоторой погрешностью, но это можно исправить вручную.
Можно обойтись и без записи Midi, просто смотреть на выводимые ноты на экране.
Если мелодия полифоническая, придется повозиться подольше.
Можно использовать эквалайзер с визуализацией. Нота определяется самой громкой частотой в сигнале. Rea EQ показывает сигнал и в нем можно подобрать соответствия между частотами и нотами. Если правильно помню, бесплатный пакет плагинов Melda Production включает эквалайзер, который сам подписывает на пиках частот номера нот.