getmusicbee.com

Support => Questions => Topic started by: cynflux on January 06, 2018, 02:50:32 AM

Title: checking BPM tags against BPM database
Post by: cynflux on January 06, 2018, 02:50:32 AM
Hello,
Is there a function that allows to check BPM of tracks in MB against internet BPM databases?
I am using the Foobar 2000 Automatic BPM Analyser which has been correct most of the time.
Are there any other recommended BPM tools available?
Thanks in advance.
Title: Re: checking BPM tags against BPM database
Post by: phred on January 06, 2018, 01:37:09 PM
There are two that I know of and use. But I question the accuracy of both. While they are both pretty close in calculating the BPM for individual tracks, there are times where a track with a fast tempo shows a BPM that's lower than what I think it should be (in comparison with other fast tempo tracks.) I'm almost to the point now where I'm not going to bother with BPM tagging any longer.

BPM Analyzer and BPM Counter are the two that I've been using. You'll need to search the web to find them.
Title: Re: checking BPM tags against BPM database
Post by: frankz on January 06, 2018, 02:54:10 PM
If I understand correctly, you're not looking to analyze your files, your looking to check your BPM against a database that's on the Web.

You can probably accomplish this using a custom web link:

Edit-> Preferences -> Internet -> Custom Web Links.

I use these to look up info at AllMusic.com and Lyrics at MusixMatch.

I think they only work against the currently playing track, though.
Title: Re: checking BPM tags against BPM database
Post by: cynflux on January 06, 2018, 10:37:46 PM
Thanks for the info and links.
Is there a way to automate looking up tracks at the custom web links?
What I mean is that it pulls Artist-Title-Album info from the tags and creates parameters for the search query.
Thanks again in advance.

Title: Re: checking BPM tags against BPM database
Post by: frankz on January 06, 2018, 10:47:30 PM
Absolutely - that's how it works.  You would figure out how the site structures its URL in the search you want and then structure your custom web link the same way.

For example  BPM Database does it this way.

https://www.bpmdatabase.com/music/search/?artist=beatles&title=come+together

so you would do

https://www.bpmdatabase.com/music/search/?artist=<Artist>&title=<Title>

if you wanted to get fancy, you could replace spaces with a + using a formula, but I tested this in the Custom Web Links tool in the format above and it works fine.

Obviously, adjust for the needs of the particular site you're using.
Title: Re: checking BPM tags against BPM database
Post by: cynflux on January 07, 2018, 03:37:40 AM
This is awesome. Thank you again!
Title: Re: checking BPM tags against BPM database
Post by: wealstarr on January 07, 2018, 12:27:50 PM
There are two that I know of and use. But I question the accuracy of both. While they are both pretty close in calculating the BPM for individual tracks, there are times where a track with a fast tempo shows a BPM that's lower than what I think it should be (in comparison with other fast tempo tracks.) I'm almost to the point now where I'm not going to bother with BPM tagging any longer.

BPM Analyzer and BPM Counter are the two that I've been using. You'll need to search the web to find them.

tunexplorer is a small utility that does it with high accuracy and write the BPM values to the tags or export in .csv format. Batch processing also available.

https://www.abyssmedia.com/tunexplorer/ (https://www.abyssmedia.com/tunexplorer/)
Title: Re: checking BPM tags against BPM database
Post by: cynflux on January 07, 2018, 08:46:01 PM
Thank you for the tunexplorer suggestion.
I will have to make do with BPM Counter though at this time.
Christmas has wiped out my disposable income.
A pity that neither tunexplorer or BPM counter are portable.

Title: Re: checking BPM tags against BPM database
Post by: Freddy Barker on January 07, 2018, 08:54:09 PM
Christmas has wiped out my disposable income.
A pity that neither tunexplorer or BPM counter are portable.

I have used the free version of J River Media Jukebox in the past, to analyse and tag BPM...
Regards: Fred  ;)
Title: Re: checking BPM tags against BPM database
Post by: phred on January 07, 2018, 09:28:34 PM
I will have to make do with BPM Counter though at this time.
I have found both to be similar in returning the BPM, but don't know how truly accurate the are. I like BPM Analyzer because you can leave it open on your desktop and simply drag files from within MB to the open window and it analyzes and writes the tag. You can also drag multiple albums from MB to it. With BPM Counter you have to open it and then you have to use it's file 'explorer' to drill down to the album/track. So if your albums are in different folders, you'll have to do it multiple times. It will also write the BPM tag. IMO, BPM Analyzer is the better of the two.
Title: Re: checking BPM tags against BPM database
Post by: cynflux on January 07, 2018, 11:23:38 PM
I also found this BPM tool..

https://getsongbpm.com/tools/audio

It seems to get the same results as Foobar 2000's Automatic BPM Analyser.
BPM Analyzer definitely has the better interface/functionality, despite not being portable.

Title: Re: checking BPM tags against BPM database
Post by: phred on January 08, 2018, 12:57:23 AM
I also found this BPM tool..
https://getsongbpm.com/tools/audio
But it doesn't write the tag.
Title: Re: checking BPM tags against BPM database
Post by: cynflux on January 09, 2018, 04:16:53 AM
That is true, but it helps with verifying the BPM value.

http://songkeybpm.com

Thank you all for your helpful replies.

Using the web browser plug-in and custom weblinks, I've got a great set of tools available via right-click.
If I were to change the default browser settings, could I have the link open in a browser of my own choosing?




Title: Re: checking BPM tags against BPM database
Post by: stewlewis on January 09, 2018, 02:04:51 PM
You could try analysing your files with Serato.
Free to use offline of a DJ controller I believe.

https://serato.com/dj

Title: Re: checking BPM tags against BPM database
Post by: getsongbpm on January 18, 2018, 09:55:45 PM
I also found this BPM tool..

https://getsongbpm.com/tools/audio

thanks for mentioning us. I'm a musicbee user myself so I decided to create an account.
Tagging MP3 files is not complicated (it would only cost more resources), we can add the option if it helps. I prefer to use a software for this kind of job, but for those who want something portable it could do the trick.

Just a quick word about detection accuracy: it is not so easy, it depends on a lot of things so we need many filters. Usually our BPM tools are pretty accurate, the biggest issue being that the BPM found can from time to time be 2 times faster the the real tempo (the opposite is rarely true).

Let us know what you think.
Title: Re: checking BPM tags against BPM database
Post by: cynflux on February 06, 2018, 02:04:02 AM
GetSongBpm Chrome plug-in

https://chrome.google.com/webstore/detail/getsongbpm/hemmanlpmajekkgikeeapfjecckedafj
Title: Re: checking BPM tags against BPM database
Post by: tangotonyb on February 07, 2018, 12:57:56 PM
Why do you assume the internet dbs are accurate?

In my experience they use the same algorithms that other programs use, and there is no mechanism to "correct" them, so if Traktor tells me 80bpm, I go online - also 80bpm. My ear with a metronome app tells me 115 bpm.
Title: Re: checking BPM tags against BPM database
Post by: getsongbpm on December 10, 2019, 01:57:53 PM
It's right, you should not assume that BPM databases are accurate. In fact, it's impossible to be 100% accurate, no matter how hard you try (not to mention songs with tempo changes, or those without a steady tempo, etc.).

But it's wrong to say all services rely on the exact same algorithm. BPM detection is done by detecting relevant beats, that's the only thing such services have in common. Such tools can be made in JS, C#, Python, etc. The logic behind them is the same, but the way it is done isn't.

For example, we use Artificial Intelligence to work our magic. Basically this is done by training a neural network, feeding it with as many different songs as possible (needless to say you need to prepare such datasets first, which is time consuming). In short the more the NN trains, the more accurate becomes our algorithm. And it has nothing to do with the one Traktor uses (even if some bpm-finding services use the same open-source scripts).
For this reason we update the script behind our tools each time it trained. In the end results you get today won't necessarily be the same next year.

Of course, we can't update the whole db (that's just for new entries), but we encourage users to report bad tempos (it's a built-in feature since the beginning). We also perform manual checks (songs are then tagged as "verified"), but we don't do this a lot, we are just 2 working on gsbpm, and we prefer to focus on developing the site.

Hope this helps. Any help is greatly appreciated btw, feel free to can contact us if you're interested in verifying tempos (or even creating a MusicBee plugin thanks to our public API).

cheers
Title: Re: checking BPM tags against BPM database
Post by: xbliss on February 20, 2020, 04:15:41 AM
It's right, you should not assume that BPM databases are accurate. In fact, it's impossible to be 100% accurate, no matter how hard you try (not to mention songs with tempo changes, or those without a steady tempo, etc.).

But it's wrong to say all services rely on the exact same algorithm. BPM detection is done by detecting relevant beats, that's the only thing such services have in common. Such tools can be made in JS, C#, Python, etc. The logic behind them is the same, but the way it is done isn't.

For example, we use Artificial Intelligence to work our magic. Basically this is done by training a neural network, feeding it with as many different songs as possible (needless to say you need to prepare such datasets first, which is time consuming). In short the more the NN trains, the more accurate becomes our algorithm. And it has nothing to do with the one Traktor uses (even if some bpm-finding services use the same open-source scripts).
For this reason we update the script behind our tools each time it trained. In the end results you get today won't necessarily be the same next year.

Of course, we can't update the whole db (that's just for new entries), but we encourage users to report bad tempos (it's a built-in feature since the beginning). We also perform manual checks (songs are then tagged as "verified"), but we don't do this a lot, we are just 2 working on gsbpm, and we prefer to focus on developing the site.

Hope this helps. Any help is greatly appreciated btw, feel free to can contact us if you're interested in verifying tempos (or even creating a MusicBee plugin thanks to our public API).

cheers


Interesting insights.

Would be open to hear how more people are doing this..
Title: Re: checking BPM tags against BPM database
Post by: skalpel86 on May 02, 2020, 08:53:23 PM
Bonjour juste une petite contribution, car jai cherché dans le forum mais je n'ai pas trouvé
Vun utilitaire qui analyse et Tag automatiquement les BPM de chaque chanson à la volée,
MixMeister BPM Analizer.exe en plus il est gratuit.
ICI (https://www.clubic.com/telecharger-fiche60664-mixmeister-bpm-analyzer.html)

(https://zupimages.net/up/20/18/m2gl.png)
Title: Re: checking BPM tags against BPM database
Post by: phred on May 02, 2020, 09:14:43 PM
Hello just a small contribution, because I looked in the forum but I did not find
A utility that automatically analyzes and tags the BPM of each song on the fly,
MixMeister BPM Analizer.exe is also free.
ICI (https://www.clubic.com/telecharger-fiche60664-mixmeister-bpm-analyzer.html)

(https://zupimages.net/up/20/18/m2gl.png)
And not only no more accurate than most of the other BPM analyzers, but often gives widely different results on the same track.