I've been working the last few months on a homebrew version of Alexa for my home. I'm currently installing a Raspberry Pi 3 b+ with a respeaker in every room and intended to put in Pyle bluetooth speakers. Right now, a Pi runs hotword detection on all audio it receives from the respeaker and passes on appropriate audio, over ethernet, to my PC, which runs my smart home functionality as well as speech to text and text to speech services. The PC manages all the house operations. For whatever relevance it may hold, I'm planning on setting up a synology NAS to store and manage all my media.
Whatever solution I go with needs to be able to play audio through Pis individually or synchronized audio through a group of them, as delegated through the PC. I'd also like to be able to play multiple files at the same time (for example, have a music stream play at lower volume while the system plays a text to speech message). I also need whatever solution I go with to have some form of api to allow me to programmatically control what files are playing.
I'm wondering what type of solutions are available to me. I've been looking at using JACK, which has a lot of glowing reviews. Squeezebox seems to be the standard but it looks like support is being phased out. There's also Plex but I haven't looked into it that deeply. I've also seen people discussing using pulseaudio setups but haven't heard many reviews. Do any of these solutions lend themselves well to my application or are there any better options out there? I'm kind of trying to avoid spending a lot of time playing with something only to find it won't work.