IPB

Welcome Guest ( Log In | Register )

8 Pages V  « < 3 4 5 6 7 > »   
Reply to this topicStart new topic
foo_bpm, Automatic song BPM analysis
MedO
post Mar 28 2010, 09:02
Post #101





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



fraganator isn't working on these components any more, at least for a while. See this post for details:

http://www.hydrogenaudio.org/forums/index....mp;#entry694581
Go to the top of the page
+Quote Post
fraganator
post Mar 28 2010, 13:38
Post #102





Group: Developer
Posts: 155
Joined: 22-March 06
Member No.: 28717



I hope to return to foo_bpm in a month or so, but for now I'm on a break as per doctor's orders smile.gif
Go to the top of the page
+Quote Post
Stuart60611
post Mar 29 2010, 16:22
Post #103





Group: Members
Posts: 384
Joined: 12-June 05
Member No.: 22685



Now to make this component real useful, what we need is a crossfading plugin for foobar that uses the BPM data to determine how to most smoothly crossfade between tracks. This combination would be great.
Go to the top of the page
+Quote Post
odyssey
post Mar 29 2010, 19:16
Post #104





Group: Members
Posts: 2296
Joined: 18-May 03
From: Denmark
Member No.: 6695



QUOTE (Stuart60611 @ Mar 29 2010, 16:22) *
Now to make this component real useful, what we need is a crossfading plugin for foobar that uses the BPM data to determine how to most smoothly crossfade between tracks. This combination would be great.

YESSSSS!!!!!!!!!!!!!!! That would be so cool. I know iTunes has it.

Well... and a key-detector and a good implementation of moodbar or something similar smile.gif Maybe even something Moodagent-like.

And finally a rule-based playlist generator that can put tracks in proper order to ensure key/bpm/mood to be consistent all way through.


--------------------
Can't wait for a HD-AAC encoder :P
Go to the top of the page
+Quote Post
q-stankovic
post Mar 29 2010, 19:30
Post #105





Group: Members
Posts: 1741
Joined: 28-May 06
From: Düsseldorf
Member No.: 31251



Well, i would like to see such a crossfader that could persuade me that a origin human accomplishment like mixing could be replaced by a automatical procedure - but i am sure that won't happen. I can imagine that synchronicity between the ending of a track and the beginning of another could be achieved. But wouldn't it then be just a boring gimmick? For mixing rock songs the usual crossfader is good enough and mixing electronic music with a bpm-determined crossfader will surely make us to laugh.


--------------------
german support forum: www.foobar-users.de / user: qwert73
Go to the top of the page
+Quote Post
odyssey
post Mar 29 2010, 20:11
Post #106





Group: Members
Posts: 2296
Joined: 18-May 03
From: Denmark
Member No.: 6695



QUOTE (q-stankovic @ Mar 29 2010, 19:30) *
Well, i would like to see such a crossfader that could persuade me that a origin human accomplishment like mixing could be replaced by a automatical procedure - but i am sure that won't happen. I can imagine that synchronicity between the ending of a track and the beginning of another could be achieved. But wouldn't it then be just a boring gimmick? For mixing rock songs the usual crossfader is good enough and mixing electronic music with a bpm-determined crossfader will surely make us to laugh.

It will never be nearly as good as a human mixer, but for casual electronic music listening it could be pretty cool in addition to a generic crossfader. However, with radio edits, rock, pop or other unmixable content, a bpm-aware crossfader could still come in handy, to ensure that the first beat of the mixing track wits with the last beat of the fading track. Sometimes, when using Continuator, a new track laps in too quickly.

Also my proposal for a way to make automatic playlists could simply be a helper for DJ's to find good mixable songs for their manual sets.


--------------------
Can't wait for a HD-AAC encoder :P
Go to the top of the page
+Quote Post
blargblarg
post Mar 29 2010, 22:59
Post #107





Group: Banned
Posts: 40
Joined: 29-December 09
Member No.: 76445



QUOTE (fraganator @ Mar 28 2010, 14:38) *
I hope to return to foo_bpm in a month or so, but for now I'm on a break as per doctor's orders smile.gif

When u do, first thing should be fixing this crash... if the flac file is corrupt it crashes foobar. wink.gif
Go to the top of the page
+Quote Post
Stuart60611
post Mar 30 2010, 16:29
Post #108





Group: Members
Posts: 384
Joined: 12-June 05
Member No.: 22685



QUOTE (odyssey @ Mar 29 2010, 14:11) *
It will never be nearly as good as a human mixer, but for casual electronic music listening it could be pretty cool in addition to a generic crossfader. However, with radio edits, rock, pop or other unmixable content, a bpm-aware crossfader could still come in handy, to ensure that the first beat of the mixing track wits with the last beat of the fading track. Sometimes, when using Continuator, a new track laps in too quickly.

Also my proposal for a way to make automatic playlists could simply be a helper for DJ's to find good mixable songs for their manual sets.



Speaking of continuator, I noticed that the newest version is 0.6.1. Is that compatiable with fooobar 1.0? Also, where can you download this version. I can only find very old 4.0 versions. Thanks.
Go to the top of the page
+Quote Post
Mark7
post Apr 18 2010, 15:57
Post #109





Group: Members
Posts: 190
Joined: 1-June 03
Member No.: 6945



I've never used a bpm meter before but i installed this one just for fun. And it is fun smile.gif. Here are my findings while playing with it:

- the manual tap works on button release. I think it would be better it works right away on button press.
- maybe create an option for seperate automatical tags and manual tags
- it gets confused by almost all Katie Melua songs (some are too slow and all are lacking good reference beats, i guess)
Go to the top of the page
+Quote Post
fraganator
post Apr 20 2010, 13:54
Post #110





Group: Developer
Posts: 155
Joined: 22-March 06
Member No.: 28717



To celebrate my almost complete recovery, I'm back in the programming saddle and have released version 0.2.4.1. It fixes a few bugs, and adds a context menu for halving/doubling BPMs. Hopefully some more exciting features will be added in the coming weeks!

QUOTE (Mark7)
- the manual tap works on button release. I think it would be better it works right away on button press.

Great suggestion, I wouldn't have picked up on it otherwise.
Go to the top of the page
+Quote Post
Jack Schmaltz
post Apr 20 2010, 14:25
Post #111





Group: Members
Posts: 216
Joined: 7-November 08
From: H:N:L, UK
Member No.: 61899



thanks for the update fraganator, glad to hear your on the right side of well again now biggrin.gif


--------------------
http://www.discogs.com/user/jackschmaltz
Go to the top of the page
+Quote Post
dtronvig
post Apr 25 2010, 23:30
Post #112





Group: Members
Posts: 44
Joined: 15-October 05
Member No.: 25112



Hey fraganator,

First off, this is brilliant software, and it almost always agrees with the tempo I hear on a track. Sometimes, of course, it'll report a BPM twice what I think is the BPM for dancing purposes, but for a lot of tracks the tempo is subject to interpretation anyway. What you hear as 200 BPM I may hear as 100 BPM. Kinda depends how you want to dance to it. If you're looking at disco or house, say, there isn't much ambiguity about the tempo in the boob-boom-boom rhythm line. When you get into more complex rhythms, you can have rhythmic stuff going on at, say, 100 BPM and within that at 200 BPM, and as a dancer you could focus on either one or the other, or mix it up. If you're always dancing within a range of 80-120 BPM it's an easy call, and you've provided for that.

I'm DJ'ing for blues dancing, which is a very inclusive scene, musically and dancewise. We play music with tempos ranging from about 50 to 200 BPM, though of course you're doing much different stuff at 200 than at 50. With that kind of range, reasonable people might sometimes differ on whether the dominant rhythm for some track is at 100 or 200. I'll sometimes resort to assigning a BPM of "100+" to a song that feels to me mostly like 100 BPM, but that's busy enough that you could find a 200 BPM tempo in it, if that's where you want to go. Or correspondingly "200-". When things are ambiguous, I generally listen for a recognizable backbeat and figure that it counts as the second of two beats. There can still be sort of secondary backbeats between those beats, but at least it's a start.

Now, it isn't a whole lot of trouble for us to decide if our notion of the tempo is half, same or twice the BPM reported by foo_bpm, and it's great that you include the option to easily adjust BPM's accordingly. But if you really want foo_bpm to guess right more often, I'd suggest trying to distinguish backbeats from downbeats, to come up with the BPM that'll mostly match what people hear as the tempo.

I'm not going to attempt to understand your algorithm for identifying beat patterns, but I think it may be fairly straightforward to distinguish backbeats from downbeats. When you hear a boom-chk-boom-chk rhythm in popular music, the downbeat "boom" is generally laid down by the kick drum and/or bass, while the backbeat "chk" will generally be a sharper sound from, say, a snare or small tom-tom. Or comparable electronic instruments. I've been messing around with some parametric filters, and in most of the music I've tried those on you can generally capture the downbeats using a bandpass filter centered around 50-60 Hz, or a low pass filter that's down about 10dB at 200 Hz. You can typically isolate backbeats with a bandpass filter centered at about 500 Hz, dropping out the deeper downbeats as well as any cymbal beats, which can be very regular but which don't necessarily correspond to either downbeats or backbeats. So if you really want to invest the effort, you could try applying those filters and look for alternating downbeats and backbeats. Then see if a revised version of foo_bpm reports the tempo you hear more often than the current one.

Thanks very much for this component, and have fun widdit,
Drew
Go to the top of the page
+Quote Post
fraganator
post Apr 26 2010, 02:15
Post #113





Group: Developer
Posts: 155
Joined: 22-March 06
Member No.: 28717



Hi Drew,

Thanks for the great post. I know exactly what you're talking about with dominant/backbeats in music. I've been listening and DJing with a lot of dubstep recently and the tempo is either 70 or 140 bpm depending on how busy things sound, but there's always a snare or clap on every second beat if you 'listen at' 70 bpm. Same goes for drum'n'bass which can either be 85 or 170 bpm depending on how you want to hear or dance to it.

I like you idea of filtering the input to try and capture the backbeat. Currently the algorithm tries to weight the sound similarly to how we perceive it, with higher frequencies receiving a higher weight (up to the frequency that is half of the FFT window size). A second or alternative filter like you've suggested could be added in there. I'll have a look into it smile.gif
Go to the top of the page
+Quote Post
Stuart60611
post Apr 28 2010, 20:50
Post #114





Group: Members
Posts: 384
Joined: 12-June 05
Member No.: 22685



This is a great component, but I am trying to understand its utility with foobar. Without a crossfading plugin that uses the BPM data to crossfade between tracks, what value is there to assigning a BPM tag to a track. I guess you can attempt to play songs consecutively which have similar BPM tags in an attempt to make smooth transitions between songs. Otherwise, I do not understand the value of this tag. Am I missing something?

This post has been edited by Stuart60611: Apr 28 2010, 20:51
Go to the top of the page
+Quote Post
tai
post Sep 25 2010, 01:27
Post #115





Group: Members
Posts: 5
Joined: 28-June 09
Member No.: 71054



I think I found another bug--this forum seems really quiet though so i don't know if there are any further updates on this.

I set my foobar to detect the BPMs of two albums, and as the process was running I went through and cleaned up all of the tags. When the BPM analysis finished, I wrote the BPM data to the tags, but it also reset all my tags to what they were when I started cleaning the files! and now I have to go through and clean up all the tags again.
Go to the top of the page
+Quote Post
Marschant
post Nov 4 2010, 12:51
Post #116





Group: Members
Posts: 1
Joined: 2-November 10
Member No.: 85141



QUOTE (q-stankovic @ Mar 29 2010, 19:30) *
Also my proposal for a way to make automatic playlists could simply be a helper for DJ's to find good mixable songs for their manual sets.


This !!! I'm holy about tagging genre as well as new field subgenre, helps me string together potential sets using autoplaylists, random pools and playlist tree mod based on genre/subgenre/rating then dropping the tweaked playlist into traktor, in about 25% of the cases the bpm is detected correctly however I have to redetect within traktor (to 3 decimals!) to get the beat grids lined up for my 4/4 deep house sets.

It's starting to pay-off, foobar is the shit!
Go to the top of the page
+Quote Post
q-stankovic
post Nov 4 2010, 21:21
Post #117





Group: Members
Posts: 1741
Joined: 28-May 06
From: Düsseldorf
Member No.: 31251



marschant, it was odyssey who wrote that! smile.gif


--------------------
german support forum: www.foobar-users.de / user: qwert73
Go to the top of the page
+Quote Post
jmccrohan
post Jan 6 2011, 23:27
Post #118





Group: Members
Posts: 20
Joined: 11-August 07
Member No.: 46121



Thanks for a great plugin.

Would it be possible to rewrite it to scan multiple items at one, similar to ReplayGain?

This would take advantage of multicore processors.
Go to the top of the page
+Quote Post
Mad Ad
post Feb 2 2011, 15:55
Post #119





Group: Members
Posts: 1
Joined: 2-February 11
Member No.: 87861



Impressive plugin, seems to work fine except for one thing, I cant read the BPM tag it makes in Windows 7. I can see it in the player, but not in windows.

Ive tried changing the tag it writes to Beats-per-minute as thats what it says in windows, but that didnt work and there isnt a tag simply called BPM to choose. Thing is, some of my tunes already have Beats-per-minute tags that do show up in the field in windows, but the only way I can make it appear there is by right clicking the mp3, going properties and manually putting it in.

Am I doing something wrong? Thanks a lot.
Go to the top of the page
+Quote Post
curiouser
post Mar 13 2011, 05:33
Post #120





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



First, thank you very much fraganator for filling this important niche with a very nice implementation! I noticed that tempo influences me a lot on certain gym equipment, so I installed it to build playlists with consistent tempos - not as glamorous as DJing, but personally very gratifying.

When tagging hundred songs, you're faced with a large BPM Analysis Results list to verify whether to double/halve before writing the tags to file. I wonder if this results window could be a little more flexible? My first impulse is to sort by BPM, so that I can visually skim the track names to find any outliers compared to their neighbors. This way I wouldn't have to read the BPM and track name of every row, only for tracks that stand out. Also, if it's easy to add window resizing/maximizing, that might be useful.

As it is, I'm updating the file tags as-is, then verifying them in the main GUI. I've added the BPM column into the main GUI and sorted by it. Along with a quick visual check (What is and I'm now playing from fastest to slowest, using the builtin crossfader DSP with a large (4+sec) overlap and checking songs one by one.

Again, thanks!
Go to the top of the page
+Quote Post
Twitch29
post May 30 2011, 03:56
Post #121





Group: Members
Posts: 1
Joined: 30-May 11
Member No.: 91082



Hi guys, I'm new to all thing foo and am currently clambering up that learning curve to get things set up as I want them. Loving it so far. Wish I had made the switch a long time ago!

Anyway, first off, let me thank fraganator for all his hard work. And secondly, give you all some results from a little playing around I've done.

I used the two Lily Allen albums to test. No reflection on my musical tastes, they were just the first thing I thought of that had varied BPM and some possible troublesome tracks. biggrin.gif FLAC files with f00_bpm, and ALAC with beaTunes.

CODE
Track                           Manual | beaTunes     | foo_bpm                          | foo_bpm
                                1      | 2      3     | 4     5      6      7      8     | 9
---------------------------------------|--------------|----------------------------------|--------
Smile                           95.6   | 95.3   95.3  | 190   190.3  95.1   95.4   95.5  | 95.5
Knock 'Em Out                   130.5  | 64     128   | 159   159.6  159.6  159.9  64    | 64
LDN                             100.5  | 50.1   100.1 | 100   99.6   99.6   100    100   | 100
Everything's Just Wonderful     157.7  | 79     79    | 79    78.7   78.7   78.9   79    | 79
Not Big                         102.6  | 51     102   | 102   101.7  101.7  101.9  101.9 | 101.9
Friday Night                    128.9  | 63.8   127.6 | 127   127.1  127.1  127.5  63.8  | 63.8
Shame for You                   74.3   | 74     74    | 147   147.5  73.8   147.9  74    | 74
Littlest Things                 82.7   | 82     82    | 82    81.7   81.7   81.9   82    | 82
Take What You Take              100.4  | 100    100   | 100   99.7   99.7   99.9   100   | 100
Friend of Mine                  82.6   | 164    82    | 163   81.7   81.7   81.9   82    | 82
Alfie                           120.3  | 120    120   | 120   119.5  119.5  119.9  120   | 120
                                       |              |                                  |
Everyone's At It                117.1  | 117    117   | 78    116.6  116.6  116.9  116.9 | 116.9
The Fear                        134.2  | 67     134   | 89    133.5  133.5  133.9  133.9 | 133.9
Not Fair                        121.7  | 121.5  121.5 | 121   121.1  121.1  121.4  121.4 | 121.5
22                              131.2  | 131    131   | 75    130.5  70.8   130.9  65.5  | 65.5
I Could Say                     124.8  | 124    124   | 124   123.6  123.6  123.9  62    | 62
Back To The Start               140.3  | 70     140   | 140   78.6   70.0   70.1   70    | 70
Never Gonna Happen              71.9   | 71.5   71.5  | 142   142.5  142.5  142.9  142.9 | 142.9
Fuck You                        130    | 130    130   | 129   129.5  129.5  129.9  65    | 65
Who'd Have Known                85.2   | 84     84    | 84    83.7   83.7   83.9   84    | 84
Chinese                         72.3   | 143    71.5  | 95    95.1   71.3   142.9  142.9 | 142.9
Him                             96.3   | 96     96    | 191   95.7   95.7   95.9   96    | 96
He Wasn't There                 70.8   | 70.7   70.7  | 76    76.1   75.9   141.3  141.6 | 141.3    
---------------------------------------|--------------|----------------------------------|--------



1. Manual Tap. I use the underlying tempo. What I consider to be the head nod, foot tap, shake that arse beat that people would use. This defo gives better results when used in smart playlists. As has already been pointed out, you often need to double up, or halve the suggested BPM.

2. beaTunes, Rayshoot, auto range, highest quality, don't use online resources. This is spot on apart from the need to double/halve some tracks.

3. beaTunes. As above but with a range of 70-140 bpm. Even better results. Only "Everything's Just Wonderful" needs changing, and that's down to personal preference.

4. foo_bpm with default setting, 6 tracks are way off.

5. As above but with precision set to 1 decimal place. This is better, only 4 are off.

6. As above, with a range of 70-160 bpm. Only 3 off now sad.gif

7. Next I doubled the seconds per sample and samples per song up too 20 each, and halved the FFT size to 1024. Only 1 wrong now, the troublesome "Knock 'Em Out"...

8. Fiddled around with lots and lots of small changes. Many of them fixed the problem track, but broke others. The above config, with Seconds per Sample up to 30, Min Sample Offset down to 10%, Max Sample Offset up to 90%, and Min BPM down to 60 finally gave a result I can live with.

And finally, I decided to check out performance with lossy files. beaTunes with AAC .75 VBR and LAME -V0 worked well. Identical results as test 2, so no point adding them to the chart.

9. foo_bpm, same config as test 8, AAC .75 VBR. Virtually identical results. I'll forgive one or two tenths of a beat in a couple of files smile.gif

10. As above, with LAME -V0 files. Same results as test 9, so won't bother adding them to the chart.


Conclusion: It's looking very promising but is a bit too much like hard work at the mo. Whatever beaTunes are doing works for me. Just wish I didn't have to transcode to ALAC and back.



This post has been edited by Twitch29: May 30 2011, 04:19
Go to the top of the page
+Quote Post
addawd
post Jun 22 2011, 07:52
Post #122





Group: Members
Posts: 6
Joined: 12-November 08
Member No.: 62262



anyone know a foo_run command that would scan the bpm of every track that is played, because it crashes if i try t oscan large batches
Go to the top of the page
+Quote Post
deucalion
post Aug 23 2011, 22:51
Post #123





Group: Members
Posts: 22
Joined: 30-May 06
From: Austria
Member No.: 31303



Twitch29, thank you very much for your insightful post!

The information you provide makes me wish Foobar2000 and/or foo_bpm could use both cores of my CPU... ;-)

QUOTE (Twitch29 @ May 30 2011, 03:56) *
Hi guys, I'm new to all thing foo and am currently clambering up that learning curve to get things set up as I want them. Loving it so far. Wish I had made the switch a long time ago!
[...]
Conclusion: It's looking very promising but is a bit too much like hard work at the mo. Whatever beaTunes are doing works for me. Just wish I didn't have to transcode to ALAC and back.

Go to the top of the page
+Quote Post
Neutron Pong
post Sep 2 2011, 15:13
Post #124





Group: Members
Posts: 2
Joined: 31-August 11
Member No.: 93400



Hey Twitch29 (and anyone else interested):
As of the latest version of beaTunes, they've added partial OGG and FLAC support. It's only partial because their miniplayer is a little dodgy, but the analysis tools (to include BPM analysis) work just fine. To wit: http://help.beatunes.com/discussions/quest...ac-support-mean
Go to the top of the page
+Quote Post
Foobarphile
post Oct 7 2011, 13:16
Post #125





Group: Members
Posts: 16
Joined: 7-October 11
Member No.: 94203



I did many tests. I got the best results with the following parameters :

Seconds per sample : 30
Samples per track : 6
Sample offset min : 33%
Sample offset max : 67%
BPM min : 75
BPM max : 180
FFT Window : gaussian
FFT size : 256

I compared the results with the EXACT bpm of multiple tracks. I used the graphic vizualisation of FL Studio and checked if peaks stayed on the grid.
Go to the top of the page
+Quote Post

8 Pages V  « < 3 4 5 6 7 > » 
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: 21st September 2014 - 20:21