Audio Visualization Techniqueon Roblox

Hey everyone!

I’m creating a stage lighting kit. I want it to have the ability to react to music.
Here is a quick demo of what I have so far, the following uses Sound.PlaybackLoudness.

My question is, is there other ways to do this, like detecting a certain HZs level, for like bass such as 100hz and bellow?
I’d also like to detect stuff like a kick, or a snare in drums, the HZ detection would do that.

This would really help a lot.
Thank you!

6 Likes

We probably need a feature request for that. I haven’t seen any audio visualizer that is hertz-based.

Would be awesome if this was a feature, that I can create various visualizers mixed with my own tracks. :thinking:

5 Likes

Currently it is impossible from what I know of. The only way to make any sort of sound visualizer is to use a sound’s PlaybackLoudness. It would be great if in the future we were able to read a sound’s frequencies.

1 Like

I think I’ve found a “Hacky” way. Currently, I’m designing my own plugin that allows you to “Animate” light fixtures to time positions in sounds.

For people who can’t seem to read the above sentence. My solution was revealed. I’m basically going to be making Roblox’s Animation plugin, but for lights and sounds instead.

2 Likes

Care to share what your “hacky” way of doing this is? It sort of comes off as spam to say that you found a solution but won’t share the details or thought process behhind it. I think all of us in this thread would appreciate attempting the solution you may have found.

4 Likes

I believe Hertz visualization is currently impossible in Roblox (which it shouldn’t! - - someone needs to make a feature request for this). Could you tell us about your “hacky” method? Definitely curious since as far as I’m aware it isn’t possible to visualize sound by Hertz.

The only accurate way to visualize audio I see right now is to use your own audio and base it off each time frame, but that’d be pretty unreliable, prone to mistakes and locked to audios you already have the data on.

1 Like

The message states my hacky way. I’m making a user interface to allow people to Program, the light movement at time positions in the sound. Not sure how that was spam as it clearly stated it in the message.

That’s actually exactly what the plan is here. I’m planning on making an interface similar to Roblox’s animation creator, instead of for lights and audio.

I’d recommend, for now, an AV library outside of roblox which would allow you to read the information you want after parsing songs through.

If node.js is your chosen language, then I’d reccomend aurora.js

I think that this would make an excellent feature request though :slightly_smiling_face:

4 Likes

I didn’t understand because it wasn’t clear. I thought you had a specific implementation you were working within the plugin itself, hence my request to share.

I don’t quite think this is a hack because you aren’t using any features to brute force this to work, instead relying on users to create their own visualisation patterns. Sounds more like a utility and alternate method to achieving the intended use case as opposed to a direct fix to the problem you posted.

1 Like

You’d need to get that data from a third party piece of software and then import it to use in-conjunction with the audio.

Alternatively you could create a few ‘events’ that triggers a certain response from the lighting kit, and then just go through the audio and choose timestamps for each event. Maybe add a random element to each ‘event’ so they don’t get repetitive.

But yea in short there is no way to detect the HZ through roblox currently.

1 Like

One way I could think of is separating the sound file into several different ones based on the frequency range, then go off of the PlaybackLoudness of each one. Syncing them up may be a challenge, though.

1 Like

I would agree with you if audio uploading was a free service. It’s not. This kind of solution is costly and not scalable for the potentially thousands of songs this system will be playing.

You’re still left with the same PlaybackLoudness in either case, just across different files.

2 Likes