Ist there any public project to build a MIDI file player from an Arduino?

The Arduino IDE uses avr-gcc a special part of GCC mande to compile C code for AVR's, it also uses Avr-libc for all the C librarys and that libs where writen for avr in mind so they are very efficient, this is the very same compiler used in WinAvr that can be used inside the AvrStudio IDE to program your Arduino directly without all the Arduino libs and withtout all the magic, in AvrStudio you deal with the guts of the micro, so you know exactly what it will do and how it will do it.
The Arduino IDE in specific uses the avr-g++, that is the special compiler for the C++ code, this compiler is not as efficient as the C compiler, and in micro-controller using C++ is half a mistake because it produces bloated code, and because micro-controllers have very very little RAM memory and C++ loves to hog RAM to do simple things that C does in a much smarter way.

As I said, read my blog and you will see that you dont need anything more than the Arduino board, the Atmega 8, 168, and 328p are the same, they only differ in flash, ram and eeprom sizes, but the program for one will run in the other.