Editing Foobar2000:Components/BPM Analyser (foo bpm)

Jump to: navigation, search

Warning: You are not logged in.

Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
{{Foobar Component Infobox
+
{{fb2k}}[[Category:Foobar2000 3rd-Party Components|Automatic BPM Analyser]]
| name                = BPM Analyser
+
=Description=
| module_name          = foo_bpm
+
 
| developer            = Michael Balzer<br/>Holger Stenger (foosion)
+
A component for calculating the BPMs (beats per minute) of any tracks in foobar2000.
| repository          = [https://github.com/stengerh/foo_bpm GitHub]
+
 
| released            =  
+
=Installation=
| released_ref        =  
+
 
| stable_release      = 0.2.4.6
+
# Unzip foo_bpm.dll to the foobar2000 components directory
| stable_release_date  = 2014-06-24
+
# Unzip libfftw.dll to the foobar2000 directory
| preview_release      =
+
 
| preview_release_date =
+
=Usage=
| foobar2000_minimum  = 1.1
+
| foobar2000_maximum  =
+
| foobar2000_ui_module =
+
| use                  = BPM; Tagging
+
| license              =
+
}}
+
The '''BPM Analyser''' component can be used for calculating the BPM (beats per minute) of any tracks in foobar2000.
+
  
==Usage==
 
 
The component can be used to automatically or manually detect a song's BPM.
 
The component can be used to automatically or manually detect a song's BPM.
  
Line 24: Line 16:
 
# Highlight one or more files in your playlist. Right-click on them and select "BPM Analysis -> Automatically analyse BPMs". '''Note:''' Songs already containing a BPM tag will not be scanned.
 
# Highlight one or more files in your playlist. Right-click on them and select "BPM Analysis -> Automatically analyse BPMs". '''Note:''' Songs already containing a BPM tag will not be scanned.
 
# After the analysis has completed, a results dialog will be displayed.  
 
# After the analysis has completed, a results dialog will be displayed.  
# If a BPM result is obviously double or half of its true BPM, select it in the list of results, then click the Double BPM or Halve BPM buttons. Multiple results can be selected using {{key press|Ctrl}}+click.
+
# If a BPM result is obviously double or half of its true BPM, select it in the list of results, then click the Double BPM or Halve BPM buttons. Multiple results can be selected using ctrl+click.
# Click the {{button|Update files}} button when done.
+
# Click the Update File Tags button when done.
 +
 
  
 
To manually calculate the BPM:
 
To manually calculate the BPM:
Line 31: Line 24:
 
# A small window will be displayed with a large Tap Here button.
 
# A small window will be displayed with a large Tap Here button.
 
# Begin playback of a song.
 
# Begin playback of a song.
# Click on the {{button|Tap Here}} button or hit the {{key press|spacebar}} to the beat of the music. The current calculated BPM will be displayed.
+
# Click on the Tap Here button or hit the spacebar to the beat of the music. The current calculated BPM will be displayed.
 
# Continue tapping until the BPM is fairly stable.
 
# Continue tapping until the BPM is fairly stable.
# Click the {{button|Update files}} button to save the BPM to the currently ''playing'' file.
+
# Click the Update Tag button to save the BPM to the currently ''playing'' file.
 +
 
 +
=Algorithms=
  
==Algorithms==
 
 
The BPM analysis algorithm is based loosely on the work presented in the paper [http://perso.telecom-paristech.fr/~grichard/Publications/ismir04b.pdf Tempo and Beat Estimation of Musical Signals].
 
The BPM analysis algorithm is based loosely on the work presented in the paper [http://perso.telecom-paristech.fr/~grichard/Publications/ismir04b.pdf Tempo and Beat Estimation of Musical Signals].
  
Line 48: Line 42:
 
The open source [http://www.fftw.org/ FFTW library] is used for calculating the FFT.
 
The open source [http://www.fftw.org/ FFTW library] is used for calculating the FFT.
  
==Limitations==
+
=Limitations=
 +
 
 
* The calculated BPMs are not always accurate, especially for songs without obvious beats or large changes in tempo. You can compare the accuracy of the calculated BPM with the included manual BPM tapping function.
 
* The calculated BPMs are not always accurate, especially for songs without obvious beats or large changes in tempo. You can compare the accuracy of the calculated BPM with the included manual BPM tapping function.
 
* In a number of cases a song's BPM may be calculated as double or half of its 'true' BPM.
 
* In a number of cases a song's BPM may be calculated as double or half of its 'true' BPM.
Line 55: Line 50:
 
* Tapping the spacebar on the manual tapping window when the large Tap Here button loses focus will stop working. The button must be clicked again to regain focus so the spacebar will work.
 
* Tapping the spacebar on the manual tapping window when the large Tap Here button loses focus will stop working. The button must be clicked again to regain focus so the spacebar will work.
  
==Future work==
+
=Future Work=
 +
 
 
* Improve the current BPM algorithm (wrong BPMs, double/halved BPMs, overall speed)
 
* Improve the current BPM algorithm (wrong BPMs, double/halved BPMs, overall speed)
 
* Implement other BPM algorithms
 
* Implement other BPM algorithms
Line 61: Line 57:
 
* Specialise the algorithm parameters for different genres, then automatically scan using those parameters based on the GENRE tag.
 
* Specialise the algorithm parameters for different genres, then automatically scan using those parameters based on the GENRE tag.
  
==External links==
+
=Link=
* {{foobar2000|http://www.foobar2000.org/components/view/foo_bpm|BPM Analyser}}
+
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=77143 Homepage]
* {{ha|https://hydrogenaud.io/index.php/topic,77142.0.html}}
+
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=77142 Discussion Thread]
* {{ha|https://hydrogenaud.io/index.php/topic,77143.0.html}}
+
 
+
[[Category:Foobar2000 3rd-Party Components|Automatic BPM Analyser]]
+

Please note that all contributions to Hydrogenaudio Knowledgebase are considered to be released under the GNU Free Documentation License 1.2 (see Hydrogenaudio Knowledgebase:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)