Aircoookie / WLED

Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
https://kno.wled.ge
MIT License
14.55k stars 3.11k forks source link

Open Sound Control (OSC) support #1611

Open dandantsui opened 3 years ago

dandantsui commented 3 years ago

Is your feature request related to a problem? Please describe. Trying to get this to talk with MaxMSP but I find myself having to stitch raw UDP signals over to send data to the WLED which is really cumbersome.

Describe the solution you'd like Implement some kind of OSC UDP support -- for example rgb_hex messages would be "/rgb_hex xxxxxx" or presets becomes "/presets xxx"

Describe alternatives you've considered HTTP/JSON requests but they are just as cumbersome when making such big changes.

Additional context It adds on top of UDP communications and opens up the ability for other programs based on music programming to take part.

DJBJ0 commented 2 years ago

+1 for this.

Could also make a simple controller using the many osc programs available over all the platforms such as touchosc, osc pilot, lemur, kiosc, open sound control, and also bridges between different protocols using a program like ola on raspberry pi

softhack007 commented 2 years ago

If i understand correctly, OSC defines a way to transport "stuff", without specification what this "stuff" is (meaning, semantics). For me this looks similar to what MQTT does.

To get started, we need to answer some question:

.

The OSC Homepage https://opensoundcontrol.stanford.edu/index.html has a paper that explains:

OSC is often referred to as a protocol, but it is only a protocol in the weakest sense in that it defines a message format -it does not define typical features of protocols such as processing semantics (e.g. command-response patterns), error handling or negotiation. It is more accurate to describe OSC as a content format. This means that OSC can be viewed and compared with other formats such as XML [21], WDDX [18] or JSON [4]. An application that uses OSC only guarantees compatibility with OSC parsers/formatters.

Inter-application protocols are of course possible using OSC as the underlying format, but the syntax and semantics of those interfaces are beyond the scope of the OSC specification.

theturtle32 commented 1 year ago

The simplest thing would be to just set up OSC mappings for activating presets first, and after that, add on mappings for adjusting the various parameters like speed etc.

It'd be super handy to be able to set up TouchOSC to be able to trigger scene changes and map sliders to speed, brightness, etc.

BananaNeil commented 1 year ago

I would also really love to see this happen.

x2concepts commented 1 year ago

Anyone made some progress on getting wled mapped in OSC?

8puslab commented 5 months ago

I'm trying! it's possible to do it but someone (not me I am a newbie with code) could write a Javascript code that could be used in conjunction with maxurl