BPM
An Easy-to-Use Practice Metronome & Drum Loop App
Simple, Thought-Out Features
- Easy-to-change tempo with +1, -1, +5, -5 BPM buttons. Tap the big button to get an “analog” tempo spinner. Or enter a number with “#”.
- Tap five or ten steady quarter-notes to set the tempo for something you hear, using the TAP button.
- No unnecessary fiddling or messing around. Just quickly pick your tempo and pick your metronome or drum loop style.
- Use the same metronome on your iPhone, iPad, and Mac!
- Dark and light themes to match the device settings.
With Dozens of Built-in Drum Loops
Built-in Metronome meter settings (time signatures) and Percussion beats:
Metronome
- Tick
- Bass Pulse
- Twos
- Cut Time
- Threes
- Triplets
- Slow Shuffle
- Fast Shuffle
- Fours
- Gallop
- Fives
- Five/Eight
- Sixes
- Six/Eight
- Seven/Eight A
- Seven/Eight B
- Eights
- Twelve/Eight A
- Twelve/Eight B
- Twelve/Eight C
- Sixteenth Notes
- Thirty-Seconds
Beats
- Jazz Groove
- Jazz Triplets
- Slow Reggae
- Blues Hi-hats
- Blues Ride
- Funk Triplets
- Downbeat Pop
- Pop Eights
- 6/8 R&B Ballad
- Rock Groove
- Pop Rock
- Hard Rock
- Punk Polka
- Thrash Metal
- Metal Groove
- 5/8 Fusion
- 7/8 Fusion
- 4 on the Floor
- Pop Latin
- Smokin’ Swing
Privacy Policy
The BPM App and this website do not collect any of your data on the device or on the server, nor do they use any third-party tracking systems of any kind. You’re welcome.
Also check out Harmonious:
the exhaustive piano & guitar
chord & scale app
BPM Documentation
Reference for .ptab and .ptab-defs file format
Comments and Whitespace
- + (or plus sign), and everything to the right on that line is a comment, and is ignored
- blank lines (or whitespace only, or comments only) are skipped
Sections or Imports
- #include filename-no-ext-no-quotes, uses .ptab-defs for filename extension
. You can use the included standard-kit.ptab-defs which is a useful reference. When parsed, .ptab-defs files’ #patterns section is ignored.
- #defs ++ the following lines are definitions, like b=35 (velocity = 127, the max and default) or like b=35,90 (velocity = 90; quieter)
- #patterns ++ the following lines are patterns, 0= (newline) then tablature lines
Special Variable Names (#defs section)
- @title= ++ name of the beat or metronome entry
- @desc= ++ text string display a suggested tempo or tempo range
- @group= ++ set via outline.txt
- @bank=120 ++ (default, see Bank:Preset reference below)
- @preset=0 ++ (default)
- @shuffle=0 ++ (default, value between 0.0 and 2.0)
- @qcols=12 ++ (default, 24 allows finer granularity for @shuffle > 0)
- @denom=4 ++ (default; 8 makes the same tempo play twice as fast)
- @loop= (for which pattern numbers (>= 1), in which order, separated by commas)
- Note: pattern 0 is always count-in, which is optional. This pattern is played at the beginning and is not looped.
Notes on #patterns section
- Horizontal is time, vertical columns are simultaneous events.
- Pipe (|) and period (.) are ignored and treated as whitespace.
- Whitespace matters (space = 32 in Decimal ASCII) everywhere, especially at the end of a line. If this is annoying to you and your text editor makes this difficult, consider switching to the free Visual Studio Code and turn on hidden whitespace characters (View > Render Whitespace).
- By default, each column of one character is exactly 1/12 of a beat.
- This allows for both sixteenth notes and triplets or sextuplets.
- This can be changed to 24 or 6 or whatever with @qcols=24. (Columns per quarter-note.)
- Or use @denom to change what the tempo means (quarter notes? or eighth notes? or half notes? or whatever).
- @qcols and @denom are independent and do the same thing unless @shuffle > 0.
- If @shuffle 0, @qcols changes how shuffle is applied to the pulse.
- @denom simply scales the tempo up or down on an absolute time scale, so the tempo in beats per minute can mean what you want it to mean for that .ptab file, without changing the patterns.
Notes on #defs section
- General MIDI percussion key mappings are listed below.
- Other values < 35 or > 81 may produce other sounds.
- Other bank:preset combinations may produce different samples for a given MIDI key note number.
- But 35 to 81 should still map the to same instrument, with minor variations.
- For .ptab-defs files (like standard-kit) only #defs are copied when #included is used, not #patterns.
Default Standard Kit Character Mappings (See below for entire reference)
Below are some useful default mappings from letters of the alphabet to MIDI note numbers (and maybe velocity values, or volume).
- @bank=120
- @preset=0
- b=35 ++ bass kick
- B=36 ++ bass kick
- a=35,86 ++ bass kick, quieter
- A=36,86 ++ bass kick, quieter
- s=38 ++ snare
- S=40 ++ snare 2 (electric snare?)
- z=38,70 ++ snare, quieter
- w=38,50 ++ snare, quietest
- Z=40,70 ++ snare 2 (electric snare?)
- k=37 ++ rim shot (side stick)
- l=37,70 ++ rim shot (side stick) quieter
- c=49 ++ crash 1
- C=57 ++ Chinese crash
- d=55 ++ crash 2
- D=52 ++ splash
- h=42 ++ closed hi-hat
- H=44 ++ closed hi-hat two
- g=42,86 ++ closed hi-hat, quieter
- G=44,86 ++ closed hi-hat two, quieter
- i=42,76 ++ closed hi-hat, quieter still
- j=42,66 ++ closed hi-hat, quietest
- p=44 ++ pedal hi-hat
- o=46 ++ open hi-hat
- r=51 ++ ride
- R=59 ++ ride
- ++ toms going down in pitch
- V=50
- v=48
- U=47
- u=45
- T=43
- t=41
General MIDI Percussion Key Map Reference
- 35 Acoustic Bass Drum
- 36 Bass Drum 1
- 37 Side Stick
- 38 Acoustic Snare
- 39 Hand Clap
- 40 Electric Snare
- 41 Low Floor Tom
- 42 Closed Hi-Hat
- 43 High Floor Tom
- 44 Pedal Hi-Hat
- 45 Low Tom
- 46 Open Hi-Hat
- 47 Low-Mid Tom
- 48 High-Mid Tom
- 49 Crash Cymbal 1
- 50 High Tom
- 51 Ride Cymbal 1
- 52 Chinese Cymbal
- 53 Ride Bell
- 54 Tambourine
- 55 Splash Cymbal
- 56 Cowbell
- 57 Crash Cymbal 2
- 58 Vibraslap
- 59 Ride Cymbal 2
- 60 High Bongo
- 61 Low Bongo
- 62 Mute High Conga
- 63 Open High Conga
- 64 Low Conga
- 65 High Timbale
- 66 Low Timbale
- 67 High Agogo
- 68 Low Agogo
- 69 Cabasa
- 70 Maracas
- 71 Short Whistle
- 72 Long Whistle
- 73 Short Guiro
- 74 Long Guiro
- 75 Claves
- 76 High Wood Block
- 77 Low Wood Block
- 78 Mute Cuica
- 79 Open Cuica
- 80 Mute Triangle
- 81 Open Triangle
GeneralUser GS MuseScore v.1.442.sf2 Sound Font — Bank:Preset Reference
- 120:000 Standard Drums
- 120:001 Standard 2 Drums
- 120:008 Room Drums
- 120:016 Power Drums
- 120:024 Electronic Drums
- 120:025 808/909 Drums
- 120:026 Dance Drums
- 120:032 Jazz Drums
- 120:040 Brush Drums
- 120:048 Orchestral Percussion
- 120:056 Sound FX Kit
- 128:000 Standard + Orchestra
- 128:001 Standard 2
- 128:002 Standard 3
- 128:008 Room
- 128:016 Power
- 128:024 Electronic
- 128:025 808/909
- 128:026 Dance
- 128:032 Jazz
- 128:040 Brush
- 128:048 Orchestral
- 128:056 Sound FX