Old 14th December 2007, 16:29   #1
geiss
Nullsoft Visualization Developer
 
Join Date: May 2001
Posts: 147
New preset beat detection

Hey guys,

I wrote some per-frame code that does some pretty good, cross-spectrum beat detection. It is also good about not going spastic when the music gets quiet. It pretty much does the right thing, except when the music is really complex with tons of beats, and then it does an OK job (...picking out the ones you'd expect to be "the" beats).

Check it out and see if you like... (please pardon the crappy preset name, I'll name it properly for the next distro.)
Attached Files
File Type: milk __geiss - new beat detect test.milk (8.8 KB, 1053 views)
geiss is offline   Reply With Quote
Old 14th December 2007, 17:45   #2
Zylot
Major Dude
 
Zylot's Avatar
 
Join Date: Jul 2001
Location: Pa, US(of)A
Posts: 803
O_O Geiss posting presets, I think my heart skipped a beat.. but I'm sure the new code detected it!

I'll check this out when I get home.

-------------
What do you wish for?
--Instrumentality
Zylot is offline   Reply With Quote
Old 14th December 2007, 23:02   #3
redi jedi
Will code for food
 
Join Date: Mar 2005
Location: orlando
Posts: 521
Check this out:
I took your beat detection and put it in my normal beat detection testing preset and added my phase and beat rate algorithm. With my beat detection running next to it(had to drop some variables to get in under the limit btw) its yours on top and mine on the bottom. the left square is your is_beat, and the right one is my phase calculation for it, same for mine under it.

the really cool part you ask?
on some of the major beats(with trance || house) they line up perfectly!! I didn't change your beat calculation at all, just added my phase too it(it operates independently) and my algorithm is quite different than yours, so its kinda surprising that they line up so well.

and from your preset:
Quote:
// this is a great way to respond to beats:
// once you get one, let it decay at a constant rate!!
thats funny cause thats kinda the basis of my phase variable, except that I change the rate it decays on every beat based on how long before/after the beat I reached zero so when theres constant beats it goes from one to 0 and as soon as it hits 0 another beat happens(note:its not used in beat calculation)

anyway just thought it was cool that our algorithms line up sometimes.
Attached Files
File Type: milk redi jedi + geiss-beat detection.milk (12.4 KB, 640 views)

Blah!
redi jedi is offline   Reply With Quote
Old 16th December 2007, 02:08   #4
kostyap
Junior Member
 
kostyap's Avatar
 
Join Date: Mar 2006
Location: Toronto, Canada
Posts: 47
I tried the thing on Leonard Cohen (his composition have very clear and distinct rhythm which I assume would be easy to catch). The one on top (I guess that'd be the one from Geiss) seems more reflective of what it should be. However it was funny watching those top and bottom squares together. They kinda complement each other and make for a nice play. I'd suggest incorporating them both and have them drive different elements of the scene in concert. As for decay, well if one ever looks at graph spectrum displays the way they often implemented it becomes quite obvious
kostyap is offline   Reply With Quote
Old 19th December 2007, 17:51   #5
redi jedi
Will code for food
 
Join Date: Mar 2005
Location: orlando
Posts: 521
well mine an Geiss's work quite differently. his seems to be attempting to detect pulses while mine trys to get a constant 1-2-3-4,1-2-3-4, so there operating on totally different principals.

code:
They kinda complement each other and make for a nice play. I'd suggest incorporating them both and have them drive different elements of the scene in concert


thats what I though, but I think they need some more testing first.. I know mine does, as I often have to tweek it for diffrent music types.

Blah!
redi jedi is offline   Reply With Quote
Old 6th January 2008, 04:05   #6
bdrv
Senior Member
 
Join Date: Apr 2007
Posts: 183
wicked if I have some handles I can actually add and replace any lines of one kind or variable through all the 3000 milkdrop files...but it represents all of 50k calories of brainpower to even figure out what your code means and I burst some veins in my forehead and popped a couple of haemorrhoids just trying to read through this thread. there is a lot of potential for having much improved beat code this should be fun!
bdrv is offline   Reply With Quote
Old 12th August 2008, 22:58   #7
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
while going through my old folders i rediscovered the beat detection comparison file.

meanwhile i tried my own code an i came up with a very short version. but see the difference yourself - the beat detection code is to find in the shape3 per-frame code.

they are again quite different - i didn't care about a cycle at all, but it turned out it finds off-beats very well and reacts strongly on concise beats (but then if it gets the tact it loses sensitivity and gets ready for a break)
it's made for IDM and Minimal

on the top there is my beat-detection
and on the bottom it's redi-jedi's one

now these three complement really cool.
power to the fireworks fraction!
Attached Files
File Type: milk redi jedi + flexi - beat detection.milk (13.0 KB, 385 views)
Flexi is offline   Reply With Quote
Old 13th August 2008, 15:44   #8
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
dumdadum
Attached Files
File Type: milk flexi + geiss - antagonizing beat detection codes.milk (8.3 KB, 419 views)

Last edited by Flexi; 13th August 2008 at 16:14.
Flexi is offline   Reply With Quote
Old 3rd May 2009, 10:05   #9
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 860
Another one bites the dust

Beat detection

http://www.youtube.com/watch?v=cJOZp2ZftCw
Nitorami is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Visualizations > MilkDrop > MilkDrop Presets

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump