Ingresar:     


Forum: General Discussion

Tópico: BPM counter.

Este tópico es antiguo y puede contener información incorrecta para la nueva versión.

I was wondering if anyone knew of a BPM counter that can be used to determine the beat of sound being sent to the output of the selected soundcard on your computer?

A free one if possible but illl pay for one if necessary. I search for a while there and couldn't find any free ones.

Was wondering the best cheapest one if no free ones available?

This is for when i am searching for songs to download off the internet and i am curious as to what the BPM is?
 

Mensajes Sat 10 Jul 10 @ 11:44 pm
Am i correct in assuming you are specifically after software to determine the bpm of audio which is streamed / auditioned online ?

It may be featured as a plugin on a media player but i'm unaware of any specific software & accuracy.

If you find something specific you can retrieve the demo from your temporary internet files cache & reload it into vdj but it obviously depends on the format.

If your browsing & previewing audio it may be easier to manually find bpms


I use Analog x taptempo for acapellas & unsequenced retro music but it may be suitable for you.

It's a free manual bpm counting utility.... you manually press the space bar on your keyboard on the beats in the bar for a decent duration.

The longer the duration the more accurate the results.

As a rough guide the minimum duration would be 15 seconds multiplied by 4 but i prefer to count for 60 secs for accuracy.

its useful because you are traiinng your mind to gauge bpms & it becomes intuitive after a while because most genres of music are tempo specific.

Theres also Mixmeister BPM Analyzer which scans all the files on your pc & creates a txt file but i wasnt impressed with the results & i dont think thats what you desire.

Another option would be to use an external mixer with bpm counter or check dj accessories as real time bpm ( stopwatch ) counters used to be very common before it was a standard feature in products.

 

tygaelement wrote :
I use Analog x taptempo for acapellas & unsequenced retro music but it may be suitable for you.

It's a free manual bpm counting utility.... you manually press the space bar on your keyboard on the beats in the bar for a decent duration.

The longer the duration the more accurate the results.

As a rough guide the minimum duration would be 15 seconds multiplied by 4 but i prefer to count for 60 secs for accuracy.

Another option would be to use an external mixer with bpm counter.


Thats what iam looking, i should have mentioned previously in my first post.

I want something like whats on the Pioneer DJM 600. That keyboard thing takes too long. I want something that gives a bpm after 3 or 4 seconds like the DJM 600 or any other mixer that does it.

Something quick and gives a concise reading.

 

Forgive me for being technical but you said " That keyboard thing takes too long " so i need to put things in context.


Manual bpm counting follows the same principles as auto bpm counting in real time. The issue is not speed of results displayed but accuracy of measurement.

A 3- 4 second measurement / display would be inaccurate in real time..... you just dont notice it updating as frequently.

software has the advantage of using sampling algorithms which calculate deviations , tolerance & averages but they still may need adjusting.


so i reiterate ....


The longer the duration measured the more accurate the results...Beats per minute not beats per half minute , quarter minute ,bar.

It may not matter depending on your task ..but you should be aware of it .


120 bpm is a frequently used tempo but for remixing or film score duties the values may need to be more accurate for sequencers to simplify work.

I regularly work with tempo values & increments like 137.343 bpm so treat bpm counters as a reference & make adjustments to suit your task.


I think a javascript bpm detector in a browser would be ideal for you ... I doubt they exist on a pc but they may be available on a mac.

I would be intrigued to know how they sample the data stream but it would still take longer than 3 - 4 secs for accuracy.
 

Now for the maths....... i'll avoid the music theory to simplify things


common modern music has 4 beats per bar ....1. 2. 3 .4....1. 2. 3 .4....1. 2. 3 .4....1. 2. 3 .4......

we now need to use a constant of 240....

240 is calculated by multiplying 4 beats per bar with 60 secs ( 1 minute )


so 4 x 60 = 240




Bpm = bars multiplied by 240 divided by seconds

(bars x 240) / SECONDS





Bar =bpm multiplied by seconds divided by 240






Time = bars multiplied by 240 divided by bpm

(bars x 240) / bpm





so 9 bars of a 120bpm song with a four four beat is 18 seconds...

9 multiplied by 240 divided by 120


(9 x 240) /120= 18



quote.... "I want something that gives a bpm after 3 or 4 seconds like the DJM 600 or any other mixer that does it"



4 seconds x 120 bpm divided by 240 = 2 bars of music




Thats why real time manual or auto bpm detection should be a minimum of 15 secs on average......


Tygaelement

 

Why not just count out the beat for 15seconds then x's that number by 4 and BOOM there you go! Your BPM and you did all in your head, no machine needed. Thats how I learned.

Huey
 

I've used a free program which monitors the line-in on your soundcard and gives a bpm reading with a few seconds delay; I mainly listen to music around 136bpm and think 3-4 seconds is enough time for software to give an accurate bpm reading (8-12 bars would be better); software algorithms should not use averages over long periods of time such as the spacebar method unless you want inaccurate results, e.g. if you switched from a 174bpm track to an 80bpm track. Unfortunately I can't find the name of the software I used, it may have been a winamp plugin.

@tygaelement you will never find a piece of javascript that will give you an automatic bpm reading by monitoring sounds. JavaScript has zero concept of audio or even images. JavaScript is also cross platform between pc, mac and linux.

update: found a software which will give you bpm but not sure if it will work with modern versions of windows
http://www.pyramidedata.dk/autobpm.html
 

@ Andrew87

"@tygaelement you will never find a piece of javascript that will give you an automatic bpm reading by monitoring sounds. JavaScript has zero concept of audio or even images. JavaScript is also cross platform between pc, mac and linux"

java is simply a language but apple seem more keen to exploit it in apps.

Are you familiar with beatdetecktor courtesy of LGPL licensing or HTML5 Audio API ?


http://www.cubicproductions.com/index.php?option=com_content&view=article&id=67&Itemid=82

The source code is on SourceForge.

it's still work in progress & Audio API also has serious potential ... There are also similar apps for linux but i dont think this is what lee is requesting.



tygaelement
 

I'm not sure if you're now confusing Java and JavaScript, they are not the same thing. Apple have the worst support for Java on all three major operating systems seeing as they don't allow Sun to provide the platform; but this fits Apple's philosophy, to stay a generation behind.

In terms of JavaScript I do know that HTML5 has opened up huge possibilities (one guy even made a OCR application using a neural network to break a certain download sites captcha system), but (and this is a big but), access to the soundcard will never be supported, it would not be secure. A scripting language which runs in a web browser will not have access to the system screen or audio - it's unsecure. Imagine if a website could take a screenshot of your entire screen and scrape the image for personal details (the same applies to audio) - it will never be supported. Access may be available to any media provider from the same host but that doesn't help with this problem.
 

@andrew87...... I stand corrected..

i'm a diy coder not a professional programmer concerning apple & i consistently refer to Java / JavaScript as the same when they differ....Im also guilty of overlooking security ,privacy issues when coding.


your familiar with shaun friedles ocr captcaha work.. do you know of something similar to midomi but for bpm detection?

This thread has inspired me to consider developing some next generation applications.


 

There's only two ways to capture audio in a browser: Flash or Java (Apple oppose both of them on their mobile platforms as they wish to remain anti competitive). There are still limitations with these methods, i.e. you must have the users consent / get them to accept the certificate for your signed application. The Flash method would only allow access to the microphone, Java may allow capturing the entire WaveOut but I'm not certain.

The BeatDetecktor application you linked to should work but it is written in Objective C and not Free Open Source Software. It's the algorithm which is licensed under the LGPL rather than the program; if you check SourceForge the author has submitted a JavaScript and C++ implementation. It is only the C++ implementation that would be useful. (Edit: the C++ code is GPL meaning your program would also have to be GPL).

So there's really only one feasible solution, a standalone application which runs at the user level and not in a browser which has multiple layers of necessary security. I provided a link to an older application which does that above but I don't know how well it compares to alternatives.
 



(Los tópicos y foros antiguos son automáticamente cerrados)