Xdiscography X Xlive X Xsolo acoustic X Xpolarized Xplay-lists X Xphotos X Xvideos X Xicons X

Xfilm X Xsign X Xcaptures Xclippings X Xposters X X downloads X Xsearch

X bpm calc 2.2 // for calculating and visualizing bpm and related values // help // change-log // open source: zip js

Welcome to the BPM Calc help file. A brief description is on the app page. Here is a breakdown of the details.

BPM field

Here you can enter any number (using 0 - 9). Automatically focused on page load, so no need to click it before typing.

Up and Down buttons

Many fields have Up and Down buttons. These decrease and increase the field's value by one whole number. Meaning if you have 120.5 and click Up, you get 121.5.


Shows this for four fourths signature (4/4). Formula: (60/BPM)*4. Works as input too.

BPS - Beats per second

It's the BPM divided by 60 seconds. BPS is always the same as HZ for quarter notes.

Sound button

Toggles the current frequency / note. Uses the new Web Audio API. Does not work in MIE. Warning: There's a bad click noise when toggling.

PBS - Beats per second

It's the BPM divided by 60 seconds. BPS is always the same as HZ for quarter notes.

Note and Cents

Corresponding tone in notes and cents. Sharps are in use, flats are not. These two fields are result only.


Here you can enter the number of bars in your song. Input only.


Total hits. BPM * Bars. Result only.


Total lenth in seconds, with decimals. BPM * 60. Result only.


Total length in human readable format. Calculated from rounded Seconds. Format: HH:MM:SS. Result only.

Half and Double buttons

These two divide and multiply the BPM by two. Clicking these when you have 120 BPM gives respectively 60 and 240.

Apply button

Applies the BPM. And only the BPM, not other fields. Since the application is automatic it is seldom used.

Reset button

Resets all fields and Timeline to blank. Not settings.

About button

Shows fancy About box.

Background button

Toggles yellow backgrounds in value fields.

Buttons button

Toggles BPM buttons grid.

Buttons module

The selector grid, aka. the less fancy name Buttons, gives very easy access to some round basic tempi. Here you can get away with not writing. Also it just looks very cool.

Timeline module

The timeline displays BPMs with a seconds ruler. Not all numbers can be displayed with crisp lines. This is to some degree an issue, but not a bug. Very high BPMs produce a perhaps somewhat beautiful pattern, but is not a phenomena of significance. This happens because there is a limit to how many lines can be correctly displayed within a given canvas. 6000 BPM (the width of the timeline) renders the canvas completely black. Even higher numbers have even less in a BPM setting to do, and will often stall your browser. There is no limit in the code for the BPM field, so you'll need to limit yourself. Delay times, if selected with radio button in Table, are displayed in blue. This module's limit is 6000 BPM.

Table module

This table shows corresponding delay time in milliseconds (MS), frequency in Hertz (HZ), corresponding BPM, and wavelength in centimeters (CM). Wavelength is calculated from speed of sound in air, 343 m/s at 20 degrees Celsius. Current range is 8/1 (octuple) note to 1/64 (sixtyfourth) note. This will be expanded slightly, but not beyond the extreme. Delay times, if selected with radio button, are displayed in Table as blue lines. 1/4 is default value.


Note types is normal, dotted and triplet values. MS is beat per millisecond, often called delay-time. HZ is frequency in Hertz. BPM is corresponding beats per minute. CM is wavelength in centimeter.

Normal button

Toggles normal notes rows in the table.

Dotted button

Toggles dotted notes rows in the table.

Triplets button

Toggles triplet notes rows in the table.

Arrays module

The values displayed in the Timeline. Beats in milliseconds (one minute) and Delay times in milliseconds (one minute). Click show to get current values. Not updated in real-time, as that would slow down the application extremely, and appear somewhat disturbing. The first beat always starts at 0 seconds (zero time before beat 1). This module's limit is 6000 BPM.


White fields are both input and result fields. Grey fields are result only. Many fields have a yellow background corresponding to their values, that can be toggled. Input is slightly limited where appropriate. Length is the actual values, so they will often be invisible or fill entire field. All fields except SPB, BPS and seconds are rounded to three decimals.


For decimal values use dot (not comma). Selected options are marked with blue border.

Source code

This application is open source. Feel free to use it. Don't claim you wrote it. Written in HTML5, CSS3 and JavaScript with the jQuery library. Available as ZIP file. The JS file can also be viewed directly in the browser. This application is tightly integrated with the site (, and as such is quite dependant on it. It will not work locally / stand alone without modification. As much as I'd like to offer this too, there's simply no easy, fast, bug-free-proof way of doing so. It will continue to work if you go offline.


Although lots of effort is put into making my products as flawless as possible, this tool is presented 'as is' with no guarantee of results being correct. Use it at your own risk.

X Document updated: 22-11-2019 14:34:04. X Page created in 0.00207 seconds. X

© F>U>Z>Z P<O<P / MC Peko. Some rights reserved. Online and unsigned since 1996. Produced at Focus Studios.
Hosted by Copyleft. Copyright, terms, privacy and disclaimer. X top