Polyphonic sounds from a microcontroller?
Well one easy trick is to use two pins with PWM, and tie them to the opposite sides of the speaker. Then modulate each pin at a different speed, and you can play two notes at once...basically the speaker is mixing them together for you. More than two notes and you will have to do it in software as mentioned.