I worked on this for a few days now and moved quite a lot of obstacles out of the way. The main problems I solved (mostly by digging through this forum): audio/stream (mplayer) output from the headphone jack with just one clicking noise at the beginning, espeak text-to-speech with mbrola voices (w/ one click at the end), email fetching, filtering, twitter grabbing, and hour announcement on the hour.
Now I want to bring it all together and would welcome pointers in the right direction. My idea is to listen to a webstream (with mpd, I guess) and have events that may interrupt the playback: subjects of incoming mail get read (fetchmail/maildrop), tweets are read every half hour/randomly (twidge). There might be other events/triggers for which I haven't found or decided on a protocol yet (HTTP POST perhaps).
What setup do you recommend where I can have audio events (espeak output) interrupt audio playback . Also, I might want to turn the stream playback on or off (a physical switch?) and keep the other stuff running. How can remote processes communicate with the PI in real-time, IRC, webserver, IMAP idle? What are your suggestions?
In sum: I am hoping for suggestions for interruptable audio playback and a way for real-time communication.
Any pointers are appreciated. Thanks.