Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_bpm (Read 159863 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_bpm

Reply #50
Changing the BPM precision changes the result for me (in big ways).
Try unchecking "Interpolate Flux" in the preferences and see if that makes a difference.

Let me do a more complete test then:
Code: [Select]
                    | Precision=1 | Precision=0.1 | Precision=0.01  |        |
      Title        | IF=0 | IF=1 |  IF=0 |  IF=1 |  IF=0  |  IF=1  | Manual |
--------------------|------|------|-------|-------|--------|--------|--------|
The Robot Band Tune |  151 |  151 | 150.6 | 150.3 | 150.57 | 150.33 |  151  |
Pipe Wrench Dubstep |  194 |  194 | 172.8 | 172.7 | 172.58 | 172.70 |  130  |
Game In The Brain  |  160 |  159 | 119.5 | 119.6 | 119.69 | 119.56 |  120  |
Defusing The Bomb  |  189 |  126 |  95.0 | 189.3 | 188.95 |  94.89 |    95  |
By The Wall        |  175 |  175 | 175.5 | 175.2 | 175.49 | 158.66 |  120  |
------------------------------------------------------------------------------

The selected precision seems to have the same or a bigger impact on detection than the Interpolate Flux setting, which is not what I'd expect.

foo_bpm

Reply #51
... finally one of my christmas wishes came true....

thank you very much!

it works great for me after tweaking a bit the parameters.
make sure to set "Seconds Per Sample" on minimum 20 if you have slower tracks... under 80bpm.

again, thanks alot!

EDIT:
a small button which doubles or halved the automatically analysed values would be handsome.

foo_bpm

Reply #52
Just when I needed a BPM analyzer someone had just created it! 

Great plugin! Thank you for your work.

To get automatic BPM analyzing to work 100% is of course impossible, depending on what kind of music one analyzes etc. But the manual tap is there, and I'll probably just use that.

Request: a possibility to configure which key to use for manual tapping. The spacebar on my keyboard is rather "sloppy" and a bit difficult to tap with some degree of precision...

/SB

foo_bpm

Reply #53
Request: a possibility to configure which key to use for manual tapping. The spacebar on my keyboard is rather "sloppy" and a bit difficult to tap with some degree of precision...
Or maybe simply use any key without other function there? Avoids the need of extra configuration and "just works" for everybody.
Full-quoting makes you scroll past the same junk over and over.

foo_bpm

Reply #54
foo_bpm 0.2.2 has been uploaded.

I've changed the selection of the final BPM from the BPM candidate list to be the mode value rather than the median. This should help in cases where the candidate list looks something like:
80.3
85.2
85.2
85.4
107.0
150.4
153.8
163.0
170.8
If the median value of the above were used, the result would be 107.0. Looking at the values though, it's more likely the BPM is around 85 which is what the mode value is. A selector for either the mode or median (or mean, though it's not recommended) has been added to the preferences.

There is also an option to output some extra debug info to the console so you can see the candidate BPMs for each song. This may help in tweaking parameters, etc.


As an aside I'm back at work this week after the Christmas break, so updates may take a little longer to get done. I'll get started on some of the bugs/requests raised thus far. Please be patient!

foo_bpm

Reply #55
I did some testing with the new version and got very good results with the following parameters:

Precision: Nearest 1
Seconds per Sample: 8
Samples per Song: 50
FFT Window: Hamming
FFT Size: 128
Candidate Result: Mode

I figured it's useful to have a lot of samples if you're using the mode value, and using a small FFT value seems to improve the detection accuracy for my small test set a lot. I'm taking a shot in the dark here and guess that the detection is less influenced by small spectral differences either present in the original material or introduced by lossy encoders that way since the spectral resolution is lower.

This is only optimised for a very small set of tracks though, so it might be worse than the standard settings in general. Will continue testing

foo_bpm

Reply #56
Awesome work  Thanks for taking the time to play around and test different settings.

Great idea increasing time resolution and decreasing spectral resolution, it makes good sense to me. I just tried those values on a small playlist and they worked well. If further tests provide good results, I'll make those settings the defaults for future releases.


foo_bpm

Reply #58
This song: Dragonforce - Through The Fire and Flames (http://www.youtube.com/watch?v=rc9_U-RBSuk) gets 99.7 (very fast song as far as i can say)

Yeah, it's fast - 200BPM to be exact, and foo_bpm has a max of 195, hence it will detect it as 100.

This song: Dragonforce - Trail Of Broken Hearts (http://www.youtube.com/watch?v=Gk77wRGnwZM) is a ballad and gets 144.4 

Same problem. It's 72.2 BPM and the lower limit for foo_bpm is 75, so it will assume the nearest possible - 144.4.

Try to adjust the min/max values and you might get accurate results. Note that it MIGHT make other tracks wrong, since you expand the range the BPM can be in.

Edit: I couldn't make foo_bpm detech the ballad as 72.2 BPM. You might be able to tweak it otherwise to get correct results, but it might be easier to manually correct it by douling or dividing it accordingly.
Can't wait for a HD-AAC encoder :P

foo_bpm

Reply #59
Thanks for your advice.    I will see what changes when the settings are edited.

foo_bpm

Reply #60
Has anybody been able to install this component under virtualizations such as VMWARE or WINE? I am running foobar under VMWARE FUSION without any problem, but after installing foo_bpm I get "Failed to load DLL: foo_bpm.dll" message.

P.S.: excuse my poor English.

foo_bpm

Reply #61
You probably didn't put libfftw.dll in your application folder. If you put it in the components folder move it up to the application folder.

foo_bpm

Reply #62
You probably didn't put libfftw.dll in your application folder. If you put it in the components folder move it up to the application folder.


No, that cannot be the problem. I had put it in my application folder. In fact, I have successfully installed this component in other computer running Windows XP.



foo_bpm

Reply #65
Awesome plugin! Nice work.

One thing though, can you make the confirmation dialog screen optional, i.e. allow users to set it to just go ahead and update without showing the confirmation screen (like replay-gain  )

foo_bpm

Reply #66
Version 0.2.3 has been released. It was built using the new 1.0 SDK, so requires foobar2000 1.0 to run.

foo_bpm

Reply #67
Version 0.2.4 is out. It contains only a minor bug fix to the about info in the components section of the preferences.

foo_bpm

Reply #68
Trying to find the correct settings to make it accurate with no luck at all.

I ve tried every possible combination off settings, and its always off for at least 0.1BPM, usually +0.1BPM.

foo_bpm

Reply #69
Thank you for this awesome plugin!  It's a great help in organizing playlists.

foo_bpm

Reply #70
Thanks for the feedback  I'm glad people are benefiting from this component.

Trying to find the correct settings to make it accurate with no luck at all.

I ve tried every possible combination off settings, and its always off for at least 0.1BPM, usually +0.1BPM.

Try these settings:
[attachment=5654:foo_bpm_...ferences.png]

If they don't give you the desired accuracy, it's probably a result of the algorithm itself. When I find time to implement some of the other algorithms mentioned in the first post, it'll be interesting to see how they compare to one another in terms of correctness and accuracy.

foo_bpm

Reply #71
Thanks for this settings
It really works (as well as setting BPM Precision to "Nearest 1", at least for me).
Although there are still some double/halve results (tried it with music i made by myself, so i know the "real" BPMs very well ).

I haven't got that luck with the default values.
You should make your suggested settings to the default .

foo_bpm

Reply #72
Thanks for your plugin, well done AFAICS! As I became a "dancer" now in old age (I'm 37! OK, finished a first year of exercises now) it's very useful to sort my Foxtrott|Tango|Rhumba|Samba etc. stuff by speed.
BTW, you should preserve the directory structure in the zip file. I.e. the libfftw on top level and foo_bpm.dll in \components in order to make things clearer for newbies.
Can you also make your component write to file after every track? This way we can already use the tag while the component is still calculating the rest of the queue.
Another minor suggestion: The context menu entry should be "Automatically analyse BPMs" without the "...". "..." imo usually indicate, some kind of windows with user interaction will follow, but this is not the case here...

foo_bpm

Reply #73
I agree with Squeller, it would be nice if the component could write tags while while scanning, or alternatively offer to write tags when clicking abort. There are a couple of times when I have to quit Foboar, and it would be really nice to get a "scan stopped, discard scanned BPM information? Y/N" box of some sort.

foo_bpm

Reply #74
Another minor suggestion: The context menu entry should be "Automatically analyse BPMs" without the "...". "..." imo usually indicate, some kind of windows with user interaction will follow, but this is not the case here...

Another point: the presence of "Manually tap BPM for current track" in context menu indicates that something will happen with selected track. I think it will be good idea either to add "BPM Tapper" (or something else) to main menu->view or to keep it in context menu but let selected track start playing.