Тема нереально сложная, если глубже копнуть. Сам я программист и сталкивался с распознаванием звука гитары. На эту тему есть обширные исследования, многотомные научные труды. И алгоритм распознавания простой гаммы в реальном времени выглядит весьма монструозно, причём чем быстрее темп — тем ниже точность. И алгоритм, хорошо работающий на акустике, будет лажать на электрухе и наоборот.
Короче, есть люди, которые в это вложились нехило так, и есть программы, ими сделанные, которые кое-как работают. На коленке такого не сделаешь.