BeatIt

Plugins BeatIt

BeatIt is an audio analyzer that sends trigger messages to anywhere in the scene based on the intensity of certain frequencies in the music or audio (e.g., bass). This version of an audio analyzer uses automatic calibration and volume compensation to deliver always the same reponses regardless of the volume of the Audio Source used, and it allows for full configuration of up to 8 frequency bands to look at.

BeatIt v1 01.jpg


I derived the code for this plugin from VAMAudioAnalyzer by @hazmhox which I am using a lot, but always struggle with the low reponses from audio sources that are down to 0.1 or 0.2 volume so not to blast my eardrums and overpower the rest of the scene. I had to dig out quite a lot of my university knowledge to get back up to speed around FFT analysis and how to interpret the results from the Unity engine.
I also made the 8 frequency bands configurable, so you can analyze any frequency and bandwidth necessary for the specific music or sounds used.

Due to the limited UI real estate, the slider Band to Edit opens up each band one by one to change parameters. By default, the slider is on "None" and simply shows the spectrum response of the bands to get a feeling for the audio you are using.
The default settings for the frequency bands should deliver a similar result to VAMAudioAnalyzer's default bands.

BeatIt_HowTo1.jpg


By selecting a Band to Edit, the controls for that band open up and allow you to edit the band's (Center) Frequency and the Bandwidth. As an example, a Center Frequency of 500 and a Bandwidth of 250 will make that band return the overall energy of the frequencies between 250Hz (500Hz - 250Hz) and 750Hz (500Hz + 250Hz).
With the Band x Triggers, you define Transition Actions that control "stuff", e.g., foot movement, speaker scale, etc.

BeatIt_HowTo2.jpg


The sliders for the overall response (Rise Ratio, Fall Speed, Fall Acceleration) are also similar in function to VAMAudioAnalyzer, but should be framerate-independent (not that I can test that much with only one computer...). They change the attack and decay speed of the band responses.
  • Rise Ratio determines how quickly a bar rises (0: not at all, 1: immediately)
  • Fall Speed controls how fast a bar returns to zero (higher value: faster)
  • Fall Acceleration controls how much that fall speed is increasing (1.0001=not, higher value: faster)
  • Volume Compensation determines how much a change of the overall volume changes the responses (0: totally changes the responses, 1: volume change is compensated and responses should stay similar)
The best way to get a feeling for how everything works is to fiddle with the demo scene.
That scene has one analyzer on the "SpeakerL" atom (which also plays the music), one on the "Microphone" atom, which is listening to the scene audio overall (not your actual physical microphone), and one on the "Woman" atom.
The Microphone analyzer drives the little blue VU meter bars. The SpeakerL analyzer drives things like the light rotation, speaker scale (on the low frequencies - nice effect to make a bass "feel"even more oomph-ish), and feet/hand target angles of the woman so she taps in the rhythm of the music. The person analyzer drives her eye colour when she says something.
There are two buttons on the sofa for test music (🎜1, 🎜2), one for a 20Hz-20kHz sweep (🎜/, let's test those woofers), one for stop (■), and one to make her say a sentence (V).
Author
HAL9001
Downloads
58,306
Views
58,306
Packages
1
Total Size
0.13 MB
Version
v1.2 (var 4)
First release
Last update
Rating
5.00 star(s) 5 ratings

More resources from HAL9001

Latest updates

  1. v1.2 (var 4): A bit more detail + More test atoms

    Two minor changes Added a bit more detail to the output when no AudioSource is found. Added two...
  2. v1.1 (var 3): Works properly on Person atom, too

    After a prompt by @BlackMagic, I realised that the code for automatically searching the...
  3. Instructions added

    I added a few more lines of description of how to use the plugin.

Latest reviews

Perfect !!!
HAL9001
HAL9001
Thanks :-)
Upvote 0
In daily use... a must have if you like flashing lights synched to music.
HAL9001
HAL9001
Good to hear :-) Thanks
Upvote 0
at first i thought "oh an internal EQ? awesome!"
but then and since you already can handle this data, i thought it is now possible to create an automated real time visualizer? i am not sure how to use these triggers yet but i just wanted to say great job and thank you.
HAL9001
HAL9001
Oops, better late than never: thanks for the feedback :-)
Upvote 0
Works great. Being able to have a lower volume while retaining the frequency response is really nice.
HAL9001
HAL9001
Thank you - glad it works for you :-)
Upvote 0
Love it! This helps my people have better rhythm to some of the bass heavy tracks I add... Thanks for sharing!
HAL9001
HAL9001
Thanks. Glad it works :-)
Upvote 0
Back
Top Bottom