Hmm, yes it is no simple solution, but the ms employee experiment linked by @
Talguy describes a good solution approach.
1. Determine which system is master
2. Slaves sync time to master using sntp
3. Music is selected on master and slaves are notified of the music file, slaves start loading the file
4. master starts playback and notifies slaves of exact time the music started playing
5. slaves start playing by seeking ahead into the song current time + measured startup delay - master start time (startup delay is measured by each player as to adapt to different machine speeds, this is the time from calling play this until music plays).
6. Master sends regular (1 second? Needs testing) updates to slaves with current position
7. Slaves determine difference between current position and master position and speed up or slow down playback if the difference is small, skip if the difference is large (reduces audible artifacts).
Probably needs additional checks against fluctuating up/down and checks to determine message lag from master to slave.
Can the kodi player specify playback speeds in small enough steps?
Would like to work on this, but not enough time and haven't worked on kodi base at all yet.