Archive: AVS Setting to Detect Bass Drums better?


15th November 2005 04:20 UTC

AVS Setting to Detect Bass Drums better?
Hey all,
I now it's kind of a random topic but I'm quite curious. I'm just starting to play around with my own custom AVS creations and I listen to a lot of metal and rock. I just don't know what to mess around with the get a good trigger for detecting the bass drum parts in songs... any ideas/suggestions? it would be greatly appreciated, thanks


15th November 2005 05:08 UTC

Simply enough, you can't. The beat detection in AVS is really quite shoddy. In addition, there's no real way to tell when the bass drum is kicked, unless you can calculate the exact frequency of it and translate that into the getspec() function. Of course, this would only apply to one particular song, or even one particular note, as the speed of the kick can alter the frequency of the drum.

There are ways around this, advanced beat detection is being written all the time in presets, but your best is to settle for a sort of average. If you're looking for some examples, check out Pak-9's latest pack. El-Vis' FTL presets, found in Hypnotized, feature some excellent experimental beat detection as well.


15th November 2005 06:16 UTC

AVS has two different built-in beat detection methods. I've found that "Advanced" tends to work better for most pieces than "Standard" (which sucks). Check the AVS settings, and if you're using the "Standard" method, try the "Advanced" one. It might be better.


15th November 2005 06:18 UTC

is there a tutorial out there that would help me create my own AVS using images that animation to beats? (so like a little drawing that jumps up everytime a certain beat is detected) =D thanks!


15th November 2005 07:08 UTC

the texer 2 render does just that.. you just have to know how to code it properly..


15th November 2005 17:55 UTC

the best AVS example I've found so far for beat detection is "Justin - New poop (for WA5)". I just don't know how to translate the dynamic movement into say, a light effect.


15th November 2005 19:26 UTC

Hah. I remember that one. It's an amazing effect it creates, using just the raw waveform data in a movement. The illusion of a beat detection is just created by the waveform of the typical beat, though; there's no actual detection taking place there.


15th November 2005 23:24 UTC

sounds simple... how do I convert that into a spawn for some kind of action? :) thanks


23rd March 2009 12:45 UTC

An idea i've used previously (in Propellerheds Reason, when making my own VST plugins, and when doing beat detection in Flash) is quite simple and usually quite effective, although it does rely on a bass drum being present in the song.

If you can get values from some sort of spectrum of the audio (e.g. GETSPEC) then you take all of the values from around 60Hz up to 150Hz and total them up. This is a decent working range for the bass drum in almost all types of music. Once you have the total, you compare that total to the total of the previous frame. If the total value for the bass drum range in the current frame is significantly higher than in the previous frame (say more than 2 or 4 times as loud, although tweeking of this value is a good idea) then you use this as a beat detection with an IF statement or something similar.

I've used this method to replace recorded drums in Reason with sampled drums, to activate particluar parts of audio-based animations in Flash and to modify parameters in VST plugins for Music Production software.

It all really depends on what kind of info you can get from something like the GETSPEC function/variable in AVS. If you can pull the exact Hz values from GETSPEC then it should work ok but i don't know enough about AVS yet and don't know how to pull the right values out of GETSPEC for the 60-150 Hz range. Someone with more knowledge than me should be able to help.

NM


23rd March 2009 13:01 UTC

actually, the spectrum in avs (realized with getspec) seems *very* messed up. i'm not sure if avs gets the spec from winamp or if it's calculated within avs.
however, when i sent a sine tone to AVS the spectrum was lighting up in places over the whole gamut o_0 where it actually should only be one hard spike.

even if it was correct you would have to do some testing for the range, since internally it ranges from 0 to 1. so no frequencies involved.

(and in general, please don't revive 4 year old threads!)