Pour la musique, je te suggère de trouver un bibliothèque qui gère ça.
La bibliothèque SDL (faite pour faire des jeux) permet de faire du son:
http://www.libsdl.org
Sinon, tu peux en chercher une autre sur sourceforge:
http://sourceforge.net/
Pour la couleur dans la console, ça dépend de l'OS. Je sais que pour des OS de style UNIX, comme linux, il suffit de mettre des caractères spéciaux pour obtenir de la couleur (avec le caractère d'echappement suivi d'un codage)
http://www.recital.com/index.htm?/articles/ym/termdefs/article.htm&mainFrame
J'ai trouvé des exemple ici:
http://docs.sun.com/app/docs/doc/819-3196/6n5ed4gvo?a=view
C'est je Java mais en C, ça donne:
printf( "\n\n\n\e[37;40m Color List \e[m\n\n" );
printf( "\e[30m Color 30 black\e[m\n" );
printf( "\e[31m Color 31 red\e[m\n" );
printf( "\e[32m Color 32 green\e[m\n" );
printf( "\e[33m Color 33 yellow\e[m\n" );
printf( "\e[34m Color 34 blue\e[m\n" );
printf( "\e[35m Color 35 purple\e[m\n" );
printf( "\e[36m Color 36 cyan\e[m\n" );
printf( "\e[37m Color 37 white\e[m\n\n" );
printf( "\e[40m Backlight 40 black \e[m\n" );
printf( "\e[41m Backlight 41 red \e[m\n" );
printf( "\e[34;42m Backlight 42 green \e[m\n" );
printf( "\e[43m Backlight 43 yellow\e[m\n" );
printf( "\e[37;44m Backlight 44 blue \e[m\n" );
printf( "\e[45m Backlight 45 purple\e[m\n" );
printf( "\e[30;46m Backlight 46 cyan \e[m\n" );
printf( "\e[30;47m Backlight 47 white \e[m\n\n" );
Bon sous console DOS, je ne sais pas si c'est possible, ni comment ça fonctionne.