voice counting 0 to 9 and some words without a shield.

Well after all the blinking effects.
I wondered would it be possible to let a Arduino speak ?

I know the Duemilove has limited in memory for this, so i would first try only numbers 0 to 9 and some keywords.

Down sampling my wav i can get to a 92kb file.. still to much
Doubling the speed (should be played at 50% speed) gets it down half 46kb (still to much)
Its a pcm mono unsigned 8000mhz 5.5 seconds fragment.
if i would only use the numbers its about 18kb .. but i like to use to extra key words.

One of the main problems to me
Is there a short routine to do frequency output ?
What would be i highest sound frequency ?
If i switch from frequency how fast can I switch (i suppose slower then the previous question) ?

thinking of letting a computer algorythm compress it to a simple ( frequency, duration )
and let a computer find some kind of best fit for it. (not sure yet how to)
it would be some kind of longterm project, just for fun to improve my programming skill

i've seen some sample from a guy who made a voicesynthesizer without a shield.
to be honestly i couldnt understand what was spoken, if sounds attempts surely result in something like that
then just advice me, that it is not do able.

You probably won't get understandable output with just the basic hardware. The Arduino is capable of putting out frequencies much higher than humans can detect but only square waves. The human voice is a very complex mixture of different frequencies and to put that out you'll have to have an analog output. The cheapest for you to achieve what you want is to buy an MP3 shield with the SD card socket included.

Before PCs had real analog speakers, some people got quite creative about using the tone generator to produce voices and so on. If you do a search for 20-30 year old PC sound output, you might get something that you could adapt for Arduino, with enough effort.

What's the objection to using a shield?