int b=493.883;
You don't have a clue what an int is, do you?
delay(noteDuration*0.30);
Can't be bothered to read the documentation, either, I see.
int hollyjolly []={e,g,c,c,b,b,a,e,e,g,a,a,g,g,b3,b,b,b,a,g,g,g,e,g,g,f,g,e,e,g,c,c,b,b,a,f,e,g,a,a,g,g,b3,b,b,b,a,g,g,g,e,g,g,f,e,mc};
How many notes is that? 56 as I count them, althoughaddingspacesandtheoccasionalcarriagereturnwouldhelp.
for(int thisNote=0; thisNote<100; thisNote++){
So, why does this loop attempt to read beyond the end of the arrays?