This is a very simple project demonstrating microcontroller sound generating. It plays audio bit stream generated from MIDI files. MIDI files must be converted with special Perl program (MIDICSV).
Project is made of only three parts: piezo buzzer, power supply (3×15V AA batteries) and AVR Tamega16 microcontroller. MCU runs from internal 1MHz clock – so no external clock sources are needed. It can be easily built quickly on any breadboard. Code is written in AVR-GCC language and can be compiled with WinAVR tools. [via]
Entry level AVR sound player - [Link]