Natürlich kannst Du auch mit Deinem µC Töne erzeugen, nur hat das dann
mit Midi gar nichts mehr zu tun.
Am simpelsten ist die Erzeugung eines Rechtecksignales, dazu musst Du
nur zyklisch einen Portpin von 1 auf 0 und umgekehrt schalten. Der
Portpin wird dann über einen Kondensator mit dem Lautsprecher bzw. einem
Verstärker verbunden, und schon hast Du einen recht hässlichen und sehr
lauten Ton.
Die Frequenz ist die, mit der Du am Portpin wackelst.
Alternativ kannst Du auch zyklisch die Werte einer Sinustabelle auf
einen DAC ausgeben und den mit Lautsprecher/Verstärker verbinden (wieder
über einen Kondensator, um den Gleichspannungsanteil zu eliminieren).
Die Ausgaberoutine sollte in beiden Fällen in einem Timerinterrupt
ausgeführt werden, weil Du nur so eine Kontrolle über die erzeugte
Frequenz hast und Dein µC auch noch Zeit hat, andere Dinge zu tun.