Real Speaker (not Piezo)

Thanks for your advice. I was hoping to avoid that because I don't have good access to electronics stores here, but if that's what it takes I'll do it.

Shouldn't the volume only be a function of the current going through the speaker, though? It seems like it should be really easy to max out this current with a 9V battery separate from the Arduino. I guess I don't understand how an amplifier would work better.