Music visualization on Tiles with Volux

I’ve been working on music visualization with LIFX products for quite some time now as part of my greater project Volux.

Here’s a demo I recorded around 3 weeks ago:

Also, here’s a demo of a less matured version from 9 months ago (4 non-tile devices simultaneously):

Audio data is all captured and processed in real-time from desktop audio or a microphone, along with the generation and delivery of network messages.

Two of my largest bottlenecks have been

  • Incredible difficulties on-boarding devices with the Android app
    • I really wish there was a way to do this from Linux and with high reliability, even just an API.
    • I genuinely need to dedicate an afternoon to get one or two devices on-boarded
      • Yes, I am attempting this on a 2.4GHz network.
  • Visual stuttering at higher Hz
    • I’ve tried writing a simple demo with a rather high rate of 120Hz utilizing both a Node JS library (node-lifx-lan) and a Python library (lifxlan), however neither has been fully capable without infrequent short stutters. Lifxlan tends to handle this throughput considerably better with LIFX Tiles than node-lifx-lan, however the inverse is true for my LIFX Color Mini bulbs. Before someone mentions it, yes, I am aware the maximum recommended rate is 20 requests per second.

Apologies for the poor camera quality by the way, I use a PlayStation Eye as a webcam and it’s resolution and vibrancy is rather limited.

Open to any questions or feedback you may have, this is a passion project of mine :slight_smile:

Please do note however, I’ve been very busy with work as of late, so my responses may be delayed.

I put this in it’s own thread, I hope you don’t mind :slight_smile:

Took me a while to find Volux for some reason (seems I didn’t try very hard when I tried to find it before). It looks very cool.

What you’ve done with your tiles in that video looks amazing.

I’m confused how you’d get 120Hz. Photons animations are a frame every 0.075 seconds. The tiles do weird things at a frame every 0.008 seconds.

Incredible difficulties on-boarding devices with the Android app

That should be working a lot better :frowning: Having the ability to do that from your computer won’t change the reliability due to how it works (and unfortunately it’s not something we can make part of the public API). Making it more reliable depends on where it’s failing (my guess is it’s getting to the “waiting for device to be on the network” screen?)

I’d love to have a go at making a Photons tile animation from it. Photons tile animations are event based, and there is a mechanism to throw events at the animation, so we could do that. I do this in the tile arranger where I give events from the make_user_events hook and then get those events in the process_event hook.

And for the other lights in the visualisation, my rewrite of the Photons tile animations makes it possible to add non-tiles to the animation, but I’ve yet to actually give it that ability.

Unfortunately I won’t have time to put aside to help with that till probably the start of next year, but definitely poke me then to help out at that point; and if you have a go yourself in the meantime I’ll happily answer questions. For now, I’m still recovering from severe burnout (understatement) and I have a couple non opensource things I wanna play with after that.

Absolutely love what you’ve made here :slight_smile:

1 Like