IPB

Welcome Guest ( Log In | Register )

8 Pages V  « < 4 5 6 7 8 >  
Reply to this topicStart new topic
foo_bpm, Automatic song BPM analysis
radianter
post Dec 4 2011, 22:46
Post #126





Group: Members
Posts: 1
Joined: 4-December 11
Member No.: 95589



GREAT WORK! I registed this ID for support you!

suggest:
It will be better if the BPMs can be normolized between 60~180.(I prefer if the min and max value can be set by user)

Question:
1.Is this component still in development?
2.the default tag name is "BPM", it's wonderful that can be modified by user. I noticed that BPM tags written by iTunes is "TEMPO" and the value is "XXXXX BPM". Which format is most standard?

This post has been edited by radianter: Dec 4 2011, 23:10
Go to the top of the page
+Quote Post
Twiggeh
post Mar 11 2012, 19:29
Post #127





Group: Members
Posts: 1
Joined: 11-March 12
Member No.: 97713



So, im using this plugin to add a BPM-tag to my musicfiles : http://wiki.hydrogenaudio.org/index.php?ti...lyser_(foo_bpm)
And i have a BPM-column to show the BPM in my playlist (to the left in the image) - http://s17.postimage.org/r0dfgqu1p/ololol.png

Tho, right now i have to rightclick and select scan for all my files - which is just an OUTRAGE!
I need this to be automated, so how can i tell fb2k to automatically run the file through the BPM-plugin when it gets added to the playlist? (the process should preferably happen in the background, i dont want to be aware of the process).
Go to the top of the page
+Quote Post
c_j_bolt
post May 17 2012, 18:02
Post #128





Group: Members
Posts: 5
Joined: 17-May 12
Member No.: 99928



Can I ask a question of anyone who has successfully compiled the source for this project?

I have set myself up with the current release of the foobar SDK, an install of WTL80 and the source code for foo_bpm version 0.2.4.1.

I can compile the SDK projects just fine, but I'm finding that foo_bpm gives errors in the ATL_Helper includes - specifically surrounding an ATL macro MSG_WM_THEMECHANGED defined in atlcrack.h

I'm new to component development and ATL, but am experienced in SW development. Is this problem because there is some disparity between the 'version' of ATL required for the current SDK ATL Helpers and the foo_bpm source?

Anyone? I'm tearing my hair out on this...

EDIT: FIXED - needed to define for _WINNT to the correct version - my bad...

This post has been edited by c_j_bolt: May 17 2012, 18:34
Go to the top of the page
+Quote Post
c_j_bolt
post May 17 2012, 22:07
Post #129





Group: Members
Posts: 5
Joined: 17-May 12
Member No.: 99928



Ok, I just cannot get foo_bpm to link as a DLL from the source code. Has anyone else managed to do this?
Go to the top of the page
+Quote Post
Grand Dizzy
post Nov 27 2012, 15:01
Post #130





Group: Members
Posts: 118
Joined: 3-November 03
Member No.: 9637



Hi there,

I really love this plugin. I just have two problems. First, I have tried to set up a button to activate this plugin (the button is assigned based on the context menu command), but when I press the button nothing happens!

My second problem is not going to be a big surprise: simply that it doesn’t work for many tracks. Sometimes when I increase the sample size to 15 seconds, or increase the number of samples to 15, it will then work. But many times it doesn’t work even when I increase both fields to 20. Often the tempo will be bafflingly way off (and I'm not just talking about half or double).

Does this plugin detect rhythms at different frequencies? If not, I would suggest that it should. It should scan different frequency ranges for rhythms and compare all of these with each other, rather than just detecting one bpm per sample.

I would also like to suggest that 75 is a bit high for the default minimum BMP. Loads and loads of songs are in the 60BPM range.

One other little suggestion: if you're manually tapping and you miss a beat, this affects the overall BMP for a while. I think the plugin should recognise that if a tap occurs more than 150% later than the currently established interval then this is likely a missed beat and analysis should resume when the next tap is pressed.

Oh, one final thing: this is probably way too advanced for the scope of this plugin, but when you "correct" the plugin and manually set a value by tapping or otherwise, might it somehow be possible for the plugin to then analyse the track, knowing the true bmp, in order to "learn" how to detect BMPs better? Sorry, this is getting a bit too ambitious, probably. Just a thought, anyway! smile.gif

This post has been edited by Grand Dizzy: Nov 27 2012, 15:03
Go to the top of the page
+Quote Post
Grand Dizzy
post Nov 27 2012, 17:50
Post #131





Group: Members
Posts: 118
Joined: 3-November 03
Member No.: 9637



One more thing to add to my above post…

I would love to select whole albums and let this plugin work out the BPMs for every track… but I’d be worried that this information might not be accurate. Let’s face it, many of the songs would have the wrong BPM.

One solution (perhaps) is this… when the plugin finds the BPM of a track, is it possible for it to also return a value for how “certain” it is of the BPM? So 95% means it is almost certain the BPM is correct, whereas 20% means the plugin struggled to find a clear BPM and it may be wrong. If this value is (optionally) written to another tag, then the user could review these afterwards and may decide to check over the ones with low scores. Or, the option could be to simply add a tag “BPMuncertain = 1” when this certainty is below a specified percentage. Or, optionally, it simply does not write BPM tag data for any results when the certainty is below a specified percentage?

Just a few ideas. Thanks for the plugin! smile.gif

This post has been edited by Grand Dizzy: Nov 27 2012, 17:50
Go to the top of the page
+Quote Post
MedO
post Nov 27 2012, 19:59
Post #132





Group: Members
Posts: 341
Joined: 24-August 05
Member No.: 24095



QUOTE (Grand Dizzy @ Nov 27 2012, 18:50) *
One more thing to add to my above post…

I would love to select whole albums and let this plugin work out the BPMs for every track… but I’d be worried that this information might not be accurate. Let’s face it, many of the songs would have the wrong BPM.

One solution (perhaps) is this… when the plugin finds the BPM of a track, is it possible for it to also return a value for how “certain” it is of the BPM? So 95% means it is almost certain the BPM is correct, whereas 20% means the plugin struggled to find a clear BPM and it may be wrong. If this value is (optionally) written to another tag, then the user could review these afterwards and may decide to check over the ones with low scores. Or, the option could be to simply add a tag “BPMuncertain = 1” when this certainty is below a specified percentage. Or, optionally, it simply does not write BPM tag data for any results when the certainty is below a specified percentage?

Just a few ideas. Thanks for the plugin! smile.gif


Wouldn't that be like... Metametadata? tongue.gif
Go to the top of the page
+Quote Post
gaikokujinkyofus...
post Dec 17 2012, 19:06
Post #133





Group: Members
Posts: 13
Joined: 12-April 10
Member No.: 79806



Hi, At the risk of seeming a bit clueless i wanted to ask about foo_BPM's compatibility with foobar v1.1.13 or v1.1.18. I tried installing it, then tried just putting it in the component director etc and every time when i start up foobar it gives me this:

Failed to load DLL: foo_bpm.dll
Reason: This component is missing a required dependency, or was made for different version of foobar2000.

soooo, i see people are still posting in 2012 so still using it (perhaps on older versions of foobar? hopefully not); is this a known issue? (with a known fix?).

Any thoughts on this would really be appreciated as I love foobar (and there don't appear to be any other options for analyzing the bpm for OGG or FLAC).

Cheers,

-Gaiko
Go to the top of the page
+Quote Post
raysar
post Feb 4 2013, 11:55
Post #134





Group: Members
Posts: 1
Joined: 4-February 13
Member No.: 106400



Thank you to the developper smile.gif
Go to the top of the page
+Quote Post
EpicForever
post Feb 4 2013, 21:18
Post #135





Group: Members
Posts: 708
Joined: 14-September 11
From: Szczecin, PL
Member No.: 93712



QUOTE (gaikokujinkyofusho @ Dec 17 2012, 19:06) *
Hi, At the risk of seeming a bit clueless i wanted to ask about foo_BPM's compatibility with foobar v1.1.13 or v1.1.18. I tried installing it, then tried just putting it in the component director etc and every time when i start up foobar it gives me this:

Failed to load DLL: foo_bpm.dll
Reason: This component is missing a required dependency, or was made for different version of foobar2000.

soooo, i see people are still posting in 2012 so still using it (perhaps on older versions of foobar? hopefully not); is this a known issue? (with a known fix?).

Any thoughts on this would really be appreciated as I love foobar (and there don't appear to be any other options for analyzing the bpm for OGG or FLAC).

Cheers,

-Gaiko


You need this file: "libfftw.dll" inside your foobar2000 directory. Not inside "components" folder but inside main program directory - alongside with foobar2000.exe, uninstall.exe and few other DLLs. This file should be bundled in zip file with foo_bpm.dll.
Go to the top of the page
+Quote Post
tigerchen
post Jun 13 2013, 09:22
Post #136





Group: Members
Posts: 4
Joined: 12-June 13
Member No.: 108624



Hello,
great tool, but please let file modification timestamp unchanged?
what i mean is.
1. save then "file modified timestamp". Info MSDN
2. change and save the tag "bpm" in the audio file.
3. restore the saved "file modified timestamp".Info MSDN
Thanks in advance
Go to the top of the page
+Quote Post
marc2003
post Jun 13 2013, 09:53
Post #137





Group: Members
Posts: 4466
Joined: 27-January 05
From: England
Member No.: 19379



the component most likely uses the foobar core to tag files. and i'm almost certain that will never do what you're asking.

QUOTE (Frank Bicking @ Jan 31 2008, 20:58) *
Leaving the file modification date untouched when updating a file does not make any sense. Doing so would violate Windows conventions. It is intended to keep track of the last time a file has been changed, and nothing else.


you may cite other programs that do it but the likely response will be to go and use those instead. tongue.gif
Go to the top of the page
+Quote Post
EpicForever
post Sep 1 2013, 15:31
Post #138





Group: Members
Posts: 708
Joined: 14-September 11
From: Szczecin, PL
Member No.: 93712



Is there a light of hope that this plugin will be still developed? It crashes way to often and it doesn't benefit from multithreading... it is so slow nowadays...
Especially crashes occur when for example FLAC stream is corrupted even if audio MD5 is OK.

This post has been edited by EpicForever: Sep 1 2013, 15:43
Go to the top of the page
+Quote Post
marc2003
post Sep 1 2013, 15:37
Post #139





Group: Members
Posts: 4466
Joined: 27-January 05
From: England
Member No.: 19379



from the developer's profile page...

QUOTE
Last Seen: 18th May 2012 - 01:52


Go to the top of the page
+Quote Post
EpicForever
post Sep 1 2013, 15:50
Post #140





Group: Members
Posts: 708
Joined: 14-September 11
From: Szczecin, PL
Member No.: 93712



Well, he has left the sources, maybe someone else with programming skills would be able to help... Ah, again I can only ask question "why I am not a programmer but sound engineer instead" - more work, better salary, possibility to handle own computer problems using own plugins/apps... Eh...
Go to the top of the page
+Quote Post
mudlord
post Feb 10 2014, 23:20
Post #141





Group: Developer (Donating)
Posts: 811
Joined: 1-December 07
Member No.: 49165



QUOTE
Is there a light of hope that this plugin will be still developed? It crashes way to often and it doesn't benefit from multithreading... it is so slow nowadays...
Especially crashes occur when for example FLAC stream is corrupted even if audio MD5 is OK.


Elaborate.
Go to the top of the page
+Quote Post
foosion
post Feb 11 2014, 04:06
Post #142





Group: FB2K Moderator (Donating)
Posts: 4432
Joined: 24-February 03
Member No.: 5153



The crashes probably come from the complete lack of exception handling in the worker thread. I couldn't sleep so I gave this a little overhaul. You can get foo_bpm 0.2.4.2 on GitHub.

It shouldn't crash anymore for those damaged FLAK files. There should be an error message in the console instead.


--------------------
http://foosion.foobar2000.org/ - my components for foobar2000
Go to the top of the page
+Quote Post
tedgo
post Feb 11 2014, 09:24
Post #143





Group: Members
Posts: 1089
Joined: 16-April 04
From: Bavaria, Germany
Member No.: 13548



Thanks for this update smile.gif
Are you planning to offer it on the official components page at foobar2000.org so it could be easily updated through Preferences/Components in foobar2000?
(I ask because i maintain the component links at the german foobar-users forum and possible further updates can be more easily found at the components page wink.gif)

This post has been edited by tedgo: Feb 11 2014, 09:28
Go to the top of the page
+Quote Post
EpicForever
post Feb 11 2014, 18:34
Post #144





Group: Members
Posts: 708
Joined: 14-September 11
From: Szczecin, PL
Member No.: 93712



Thanks foosion a lot !!
And thanks mudlord for bumping biggrin.gif

In addition: I tried old trick with running 2 separate BPM analysis for 2 diffferent ranges of files. Result is as it was in most cases in the past... Crash.

This post has been edited by EpicForever: Feb 11 2014, 19:30
Go to the top of the page
+Quote Post
foosion
post Feb 11 2014, 20:30
Post #145





Group: FB2K Moderator (Donating)
Posts: 4432
Joined: 24-February 03
Member No.: 5153



I cannot reproduce that, EpicForever. Which settings do you use? Does it happen only with specific file formats?


--------------------
http://foosion.foobar2000.org/ - my components for foobar2000
Go to the top of the page
+Quote Post
lvqcl
post Feb 11 2014, 20:43
Post #146





Group: Developer
Posts: 3382
Joined: 2-December 07
Member No.: 49183



AFAIK fftw_plan_r2r_1d() and fftw_destroy_plan() are not guaranteed to be thread-safe.
Go to the top of the page
+Quote Post
EpicForever
post Feb 11 2014, 21:01
Post #147





Group: Members
Posts: 708
Joined: 14-September 11
From: Szczecin, PL
Member No.: 93712



I use foo_bpm for various MP3 (mostly webshops encoded 320kbps) and FLAC files (my own CD-DA rips, WEB WAV -> FLAC transcodes). It happens to all of them. Most noticeable crashes occured for example on some slightly corrupted FLAC streams (where stream itself was corrupted, but audio was OK accordingly to MD5).

My settings:


Most probably taken from forum and tweaked a bit.

This post has been edited by EpicForever: Feb 11 2014, 21:01
Go to the top of the page
+Quote Post
mudlord
post Feb 11 2014, 21:53
Post #148





Group: Developer (Donating)
Posts: 811
Joined: 1-December 07
Member No.: 49165



QUOTE (lvqcl @ Feb 11 2014, 13:43) *
AFAIK fftw_plan_r2r_1d() and fftw_destroy_plan() are not guaranteed to be thread-safe.


In that case, change to something that is, like KISSFFT or ooura.
I was working on my own beat detection plugin as a replacement to this, seems thats no longer needed.
I suppose I could implement fraganator's BPM algorithm, too.

This post has been edited by mudlord: Feb 11 2014, 21:54
Go to the top of the page
+Quote Post
foosion
post Feb 11 2014, 22:24
Post #149





Group: FB2K Moderator (Donating)
Posts: 4432
Joined: 24-February 03
Member No.: 5153



QUOTE (mudlord @ Feb 11 2014, 21:53) *
In that case, change to something that is, like KISSFFT or ooura.
I was already considering this, given that FFTW is licensed under the GPL.

QUOTE (mudlord @ Feb 11 2014, 21:53) *
I was working on my own beat detection plugin as a replacement to this, seems thats no longer needed.
I'll only do technical maintenance on foo_bpm. I am not interested in tweaking the algorithm. So feel free to fork my foo_bpm repo on Github. I could also give you push rights.


--------------------
http://foosion.foobar2000.org/ - my components for foobar2000
Go to the top of the page
+Quote Post
mudlord
post Feb 11 2014, 22:27
Post #150





Group: Developer (Donating)
Posts: 811
Joined: 1-December 07
Member No.: 49165



In my own component, I have two different algorithms, one from SoundTouch, another from another source. Since fraganator's algorithm is under the WTFPL, I suppose I can implement that, too.

My component is 100% multithreaded, so it computes files just like how the official ReplayGain component does threading. (each song has its own worker thread)
Go to the top of the page
+Quote Post

8 Pages V  « < 4 5 6 7 8 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 18th September 2014 - 13:16