I agree with @koan
Using a centralized message bus (Websockets, MQTT, HTTP2) and a protocol like Hermes/Hermod allows for a more modular approach.
Rhasspy could be more easily splitted into isolated modules (wake word, asr, nlu, dialogue, tts, etc.) that do not have to be in the same process. It would probably help with code maintenance.
Everyone could use his/her own implementation of some part of the system. For example, I want to use the wake word, audio server and ASR but I want to do my own NLU, no problem. I just have to handle the part of the Hermes protocol required for this myself.
It will be easier to add new modules/components (Led control for Respeaker or Matrix, Intent Handlers for HA, Jeedomor OpenHAB, Sensors, etc.) without having to change or implement additional stuffs in a single bloated system (microservices anyone?).
Also, using a centralized message bus will surely help for a Base/Satellite configuration.
As you may have guessed, I would really like Rhasspy to fully embrace the Hermes protocol
What do you guys think?