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.
I derived the code for this plugin from VAMAudioAnalyzer by @hazmhox (now retired and redirecting to this plugin) 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.
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.
Since v1.3 (var 5), bands can now also be turned on/off via a UI toggle and/or other plugins.
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.
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), feet/hand target angles of the woman so she taps in the rhythm of the music, and an animation pattern on the dildo to make it jump. 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). The red button is for testing the plugin on an atom that generates sound. The checkboxes at the spectrometer columns can turn bands on and off.
I derived the code for this plugin from VAMAudioAnalyzer by @hazmhox (now retired and redirecting to this plugin) 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.
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.
Since v1.3 (var 5), bands can now also be turned on/off via a UI toggle and/or other plugins.
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)
!! This slider is only available on direct AudioSources (e.g., AudioSource, Speaker, Person), but not when using the AudioListener !!
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), feet/hand target angles of the woman so she taps in the rhythm of the music, and an animation pattern on the dildo to make it jump. 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). The red button is for testing the plugin on an atom that generates sound. The checkboxes at the spectrometer columns can turn bands on and off.