Skip to main content
GameDev.net gamedev.net
🔒 Locked

Beat Detection Algorithms

Started by Myopic Rhino Jun 7, 2003 at 11:23 PM 14 replies 6.7k views
Drakkor
Drakkor
So.. how about that email and homepage you mentioned? I thought it was a good article, even though it was a little too heavy on the math and theory for me but I would really be interested in that code you mentioned on your website.
Thanks
D
danaus
danaus
Very interesting article. Thanks.

When humans try and catch a songs beat they seem to listen for a while and then "pick it up." After that, human beat detection seems to be a have a heavy predictive element. It''s as if we use one part of the brain to "train" or learn the basic beat and then another part takes over that uses less "processing power" because it''s able to predict. Most songs have entirely predictable beats once they get going.

Could a simple predictive analysis assist your algorithms? The simplest method would be to take the average number of elapsed milliseconds between the last 8 or so beats. You would then know when to *expect* a beat. Could be computationally less expensive and work well for some forms of music.

Another approach, perhaps more suitable for game development would be to lay down a data track alongside the music track which actually marked when beat or rythym peaks occured. Not so much beat detection but could acheive the same aim, depending on your project.
Drakkor
Drakkor
found it... http://yov408.free.fr
D
Stoffel
Stoffel
Interesting article. Ages back I did a senior project on pitch detection (kludgy wav->midi converter) using DFTs, and I found that percussion majorly screwed it up. Basically, most beats are wide-spectrum signals, and very high-energy. For my program, which was the antithesis of a beat detector, it would cause false notes to be triggered across the entire staff. Therefore I don''t think your correlation approach would work well--beats aren''t constrained to a single frequency. In fact, since they''re impulses in time they''re almost guaranteed to be wide-spectrum in frequency domain. Your best bet would probably be to stick with time-domain detection.
ruinerlass
ruinerlass
Sorry, I posted that above but realised later I need to register. So I am registered now but I still do not see your email address. How do I get in touch with you?
Chrsitophe Dongieux
Chrsitophe Dongieux
Hello, I'm interested in getting the source codes, but your two email don't work anymore.
How can I contact you Frédéric ?
Thanks in advance.

Christophe.
Viktar Kachan
Viktar Kachan
Please share sample code here or mail it to me:
setec@tut.by

WBR
xisix
xisix
Hi please email me the source code at kiren_padayachee@yahoo.com . Very informative article!!!
BigBananaDev
BigBananaDev
Hi there!

Has anyone got any examples of code using the algorithms described in Beat Detection section???

I've coded "Simple Sound Energy algorithm #2" and have a problem, in that the instant sound energy is always calculated to be substancially lower than the average calculation - therefore a beat is never detected. I think this may be a mis-understanding when translating the equations into code.

Can anyone help clarify the equations a little?

Thanks in advance.

Paul.

Dusko
Dusko
anyone have any idea where the values used in the linear regression formula come from?
alexivanov91
alexivanov91
Congrats on the excellent article!
Can you please send me the code (alexivanov91@yahoo.com)
J05HYYY
J05HYYY
The article can now be found here:

[url="http://archive.gamedev.net/reference/programming/features/beatdetection/"]http://archive.gamed.../beatdetection/[/url]

Does anyone know what the variables "a" and "b" are in R10? They aren't described anywhere.I need to work out "wi".



Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.