Skip to content

List key features/functions in the readme for Resonate Protocol specification? #2

@Hedda

Description

@Hedda

To avoid more than nessesary repeated questions why you choose to create this new protocol instead of rewriting existing protocols (like Snapcast) suggest add a listing of key features to the readme, highlighting standout functions, and perhaps also current status of implementations with links(?):

Basis of discussion are this thread discussing Resonate protocol verses Snapcast and the Resonate synchronized audio component for ESPHome:

That is, I believe many more will ask why create a new "open standard" when there already are many competing stdnards -> https://xkcd.com/927/

Like I for one have a follow-up question if you have looked at architecture/structure/API, etc. of the "Matter Casting" (a.k.a. MatterCast) protocol? ...now that protocol specification only only has a video architecture/implementation, but I still think that it relevant since the Matter standard has such a huge public audience and large companies looking at it as a reference:

Resonate key features and functions

  • Built from ground up to run on low-powered devices
    • Designed from scratch to run on constraint platforms with limited resources (e.g. embedded devices based on ESP32 microcontrollers)
  • Media controls
    • Media control command ordering and queing
  • Codec agnostic
    • Will be able to change audio codecs on-the-fly
    • Work with data encoded with different audio codecs
  • Multi-room audio with Time Synchronization:
    • Audio synchronizer employs a Kalman filter to model and compensate for internal clock drift between the client and server
      • Dynamically tracks and adjusts for each device's clock characteristics to maintain tight synchronization
        • In preliminary practical implementation testing this has shown to achieve a median audio synchronization error of approximately 50 microseconds between two ESP32-S3 devices connected over Wi-Fi.
  • WebSocket API for bidirectional communication channel over TCP
    • Based on WebSockets ensures it can travel across firewalls, reverse proxies and whatnot.
  • mDNS
    • mDNS automatic discovery of clients by resonate servers
      • mDNS advertisement for the Resonate server
    • mDNS automatic discovery of servers by resonate clients
  • Metadata and artwork support:
    • Supports sending text based metadata
      • Can also send text without audio playback (e.g., enable clients to display track metadata on screens)
    • Supports sending cover art images (i.e. album artworks)
  • Extensible Design:
    • Ready for future integrations, like example audio visualizations or song lyrics, and additional artist/song metadata

Resonate projects current status of implementations

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions