>when you compile and run this you will notice that the time for the eighth
>note is way off.  Any ideas as to why this is?
  Measurement error.
  When you start a timing sequence, Next_Time is not the current time,
but rather the time the last "delay until Next_Time" ended.  Since
then you've done various IO etc.  In each section, change the initial pair:
       Time_Start         := Ada.Real_Time.Clock;
       Next_Time       := Next_Time + Delta_xxx_Note;
to
       Time_Start         := Ada.Real_Time.Clock;
       Next_Time       := Time_Start + Delta_xxx_Note;
and the times come out nicely similar.