Porque no funciona este codigo

Hola,
en la primera declaración de song creas un puntero a una cadena de 693+1 caracteres (bytes). Para copiar otro valor en esa cadena puedes usar

strcpy(song, "The Simpsons:d=4,o=5,b=160:c.6,e6,f#6,8a6,g.6,e6,c6,8a,8f#,8f#,8f#,2g,8p,8p,8f#,8f#,8f#,8g,a#.,8c6,8c6,8c6,c6");

teniendo cuidado de que lo que copias no sea mayor que la primera cadena.
Si sabes cuál es la longitud de la cadena más larga, puedes definir una variable global como
char song[700]; // suponiendo que esta sea la longitud máxima y luego copias lo que te interese en ella con strcpy()