Ciao phate, lo ho scritto di getto e senza riguardarlo... e' possibile che vi siano casi particolari (e anche generali! :lol: ) in cui fallisca... trovare gli errori un un programma, per quanto semplice esso sia, e' una cosa rognosa e io non programmo da 20+ anni.

Pero' sull'unisono non dovrebbe fallire: tutte le frequenza in gioco sono multipli interi di x e l'if sulla 4. non si avvera mai.

Sull'intervallo di ottava l'algorirmo restituisce "nota"... che forse e' sbagliato e forse no. Per inciso: l'algoritmo restituisce "nota" anche se tu gli dai in pasto questo "accordo": C1+C2+G2+C3+E3+G3 etc. Il punto e': siamo sicuri che questo sia un accordo? se trovo il tempo (e la voglia) faccio un po' di esempi al piano e posto i sample.