I currently have an app on my android phone called Macronos which lets you create macros for your Sonos system.
This app will let me choose a playlist(from google music or Amazon, ect) choose the Sonos speakers I want for this macro and set the volume per speaker.
I wrote a program for Mac that does Hue scenes (among other things). It is a lite http server that executes scripts when an ‘http get’ comes in. Hues can easily be controlled from a shell script calling cURL. My app also has a function to query and record the current state of your Hues and save it as a scene. The scene scripts are just text files and very quick and simple to edit if you want to change things.
Just about anything can send the request. I send them from SmartThings and Alexa, as well as iRule and Tasker. Even the web browser on my laptop. You could do something similar on Linux with Apache and PHP, probably on Windows as well.