Raspberry Pi (~$35 USD)
Powered speaker ($5 at local charity shop -- $1K for audiophile, or anything in between)
Squeezebox/squeezelite software to play local music/internet streaming ($0)
HE squeezbox integration to play voice messages ($0) [Release - Updated 03/06/2019] Squeezebox Integration (Logitech Media Server)
The one part I haven't begun to look at is how to have HE override music that's currently playing (the rule would probably be something like: pause music, pause .25sec, play text announcement, pause .25sec resume music), with optional alert tones before the text, depending on the severity of the message (ie., water leak vs. lights left on).
Oh yeah, almost forgot...the squeezbox clients synchronize very well over wifi, and there's no required cloud (big brother) interaction -- you can play your local music collection, or stream stuff from Google, etc. if desired.