Talking clock

Hi all,

Been stuck going nowhere on a project about two years now, which might be easy for someone who knows how- basically I just want to come up with a clock chip that plays an mp3 sound at the top of every hour.
I'd like to use to put recordings of people on them (themselves, or someone else in the fam) so they kick off hourly. It just would be a funny gag gift and a nice hand-me-down.

I made a couple clock boxes and put speakers in them and they're sitting collecting dust, I assumed once I figured it out I'd have to screw on a clock display so you can also see what time it is, and have it settable.
I don't care if the mp3s are re-recordable, it can be a one time thing- in fact probably better that way or they'd surely mess them up eventually and erase the voices.
Anyone have any ideas or help on how this could be done? I am very naive to Arduino, I don't have anywhere near the time or the need to take courses or read books on it, working full time and renovating buildings in my spare time.... just looking to do this one thing and I do have a Radio Shack across the street. I know how to make mp3s or wavs and have some basic electrical and wiring experience, just looking for the simplest and cheapest approach.
thanks!

The ones you have - are they microcontroller based?

I have just clock cases with speakers and speaker wiring in them, no electronics currently.
But I did buy a small Arduino before, and some other parts on recommendation from an electronics store online. I just could not figure out how to make it work unfortunately, and the seller more or less disappeared.

Although you wouldn't be able to record family members' voices, a quick and easy way of making a talking clock would be to use the "Talkie" library. It has a clock example with a female voice, (US accent).

void setup()
{
    voice.say((uint8_t*)spGOOD);
    voice.say((uint8_t*)spMORNING);
    voice.say((uint8_t*)spPAUSE1);
    voice.say((uint8_t*)spTHE);
    voice.say((uint8_t*)spTIME);
    voice.say((uint8_t*)spIS);
    voice.say((uint8_t*)spELEVEN);
    voice.say((uint8_t*)spTHIRTY);
    voice.say((uint8_t*)spA_M_);
    voice.say((uint8_t*)spPAUSE1);
}

'Talkie' library