Tempo Map Builder
Draw how the tempo moves across the piece — accelerando, ritardando, sudden tempo jumps — then play it back and hear the metronome follow your curve.
Mouse
- Click an empty spot on the graph to create a tempo node at that bar and BPM — keep the button held to drag it straight away.
- Drag a node to change its bar (horizontal) and its BPM (vertical). The readouts update live while you drag.
- Click a node, or a row in the node list, to select it for precise editing.
Touch
- Tap empty graph space to add a node; press and drag a node to move it. Node grab zones are much larger than the drawn dot, so you do not have to be accurate.
- Page scrolling is suppressed over the graph so drags never turn into scrolls.
Keyboard
- Space start / stop playback (works anywhere in the widget except inside a text or slider field). During the Follow the curve challenge Space is your tap instead.
- Tab steps onto each node in turn. With a node focused:
- ↑ / ↓ nudge its BPM by 1 (hold Shift for 5).
- ← / → move it one bar earlier / later.
- J cycles the segment leaving that node through Ramp → Ease in → Ease out → S-curve → Jump.
- Delete or Backspace removes the node (the bar 1 node is pinned and cannot be removed).
- Arrow keys are never hijacked while a number field or slider has focus.
Segment shapes
- Every node carries the shape of the segment leaving it. Whatever the shape, the tempo is read beat by beat: the beat starting at position p lasts 60 / B(p) seconds, and those durations are added up. That is why a curve is not the same as its average tempo.
- Ramp (straight slope) — linear. B = B0 + (B1 − B0) × u, where u goes 0 → 1 across the segment. The plain accelerando or ritardando.
- Ease in (flat, then falling away) — B0 + (B1 − B0) × u². The tempo barely moves at first and does most of its travelling at the end. This is the honest shape of a real closing ritardando: hold the tempo, then broaden hard into the last bar.
- Ease out (steep, then levelling) — B0 + (B1 − B0) × u(2 − u). Most of the change happens immediately, then it settles. Use it for a sudden lift that then cruises, or for a cedendo that gives way at once.
- S-curve (smoothstep) — B0 + (B1 − B0) × u²(3 − 2u). Gentle at both ends, quickest in the middle. The most natural-sounding tempo change of the four; a conductor's default gesture.
- Jump (dashed, flat then vertical) — the tempo holds steady, then switches instantly at the next node. Your sudden Meno mosso or Doppio movimento.
- After the last node the tempo is held flat to the end of the piece (dotted grey tail). The node at bar 1 is pinned: its BPM is editable, its bar is not.
Presets
- Rit. into final chord — 16 bars at 96, dead steady until bar 13, then an ease-in ritardando down to 52 for the last chord.
- Accelerando build — 24 bars. Four bars in tempo, then a long ease-in climb from 88 to 152 that keeps gathering; the kind of build that sits under a rising string line.
- Rubato phrase — 8 bars. Push forward off the downbeat (ease out to 90), pull back through the middle with an S-curve to 66, then give the time back and settle at 72. Time stolen, time repaid.
- Train accelerando — 32 bars of 2/4. A locomotive from 42 to 176: ease-in from standstill, a straight ramp once it has traction, then ease-out as it reaches line speed.
- Film cue with hits — 20 bars plus three pinned hit points, so you can see the hit-point report working straight away.
Hit points
- Pin a bar to a target time — bar 9 must land at 15.0 s — and the widget reports where that bar actually lands under the current curve and by how much you are out. Markers appear on the graph, green when you are inside 0.10 s.
- Fit map on a hit-point row scales every node's BPM by exactly the ratio it needs. Because every beat lasts 60 / BPM, scaling all tempos by k divides the whole map's duration by k — so the fit is exact apart from rounding BPMs to whole numbers. It moves the shape of the curve not at all, only its height.
- Fitting one hit point moves all the others, exactly as it does in a real session. Fit the latest one first, then adjust individual nodes to rescue the earlier ones.
Follow the curve (challenge)
- Press Follow the curve. You get a one-bar count-in on a woodier click, then the map plays and you tap every beat on the big pad (or with Space).
- Guide sets the difficulty: Every beat clicks all the way through; Downbeats only gives you bar 1 and nothing else; Silent gives you the count-in and then leaves you alone to carry the accelerando or ritardando by feel.
- Each tap is marked on the graph, hugging the tempo curve: a tick above the line means you were early (rushing), below means late (dragging). Longer tick, bigger miss.
- Scoring removes your average offset first, so a consistent 40 ms lag does not cost you — what is graded is whether you tracked the change. Missed beats score zero, so tap all the way to the end.
- The report tells you your average offset, your steadiness, your worst moment, and which gesture you rushed or dragged: “you rushed the ritardando in bars 13–16”. Editing is locked while the challenge runs so the target cannot move under you.
Readouts
- Map length is the true integrated duration, not bars × average tempo. Tempo range is the lowest and highest BPM the curve actually reaches.
- Every node row shows how long its segment lasts in seconds, and the selected-node hint gives the same figure for the segment you are editing. Drag a node and all of it updates live.
Tips
- Hear the difference between the shapes: load Rit. into final chord, play it, then set the bar-13 segment to Ramp and play it again. Same endpoints, same bars, different length and a very different gesture.
- A classic ritardando is only the last 2–4 bars: put a node where the slowing starts and another at the final bar, set Ease in, and drop the BPM by roughly a third.
- To audition one gesture in isolation, drop Total bars down so playback covers just that stretch — the map length readout tells you exactly how long it takes.
Selected node
Preset tempo maps
Each preset replaces the whole map — metre, bar count, nodes and hit points.
Follow the curve
Ticks above the tempo line mean you were early, below means late. Your average offset is removed before scoring, so what is graded is how well you tracked the change.
Hit points
Fit map scales every node's BPM by the exact ratio needed, so the curve keeps its shape and only changes height. Fitting one hit point moves the others.
Metre & sound
Accented click on beat 1 of every bar. Audio starts on your first tap or click, as browsers require.
Tempo nodes
Each row shows where the tempo is set and how it travels to the next node. Ramp glides; Jump holds then switches instantly.
Draw a tempo map for a piece of music with this widget. Drag nodes along the line to shape speed-ups and slow-downs as well as sudden changes of tempo. In real-time you can hear a metronome follow the curve you create. There are options for using both the mouse and computer keyboard shortcuts to control the widget. It provides you with very precise control over each beat.
On this graph, which is the big one in the middle, the vertical axis represent beats per minute, and the horizontal axis represents bars. To add a tempo node simply click anywhere on the blank graph area and a new node will appear at that Bar and BPM. Alternatively just hold the mouse down and start moving it directly. When you move a node up or down it alters the tempo. Move it side-to-side to alter the bar it is in. All of the information update in real-time as you move the nodes around. This includes the tempo range, elapsed time, and current position.
How to Use the Tempo Map Widget
Select a node by clicking it on the graph, or by choosing its row from the node list at the bottom of the window. The Selected node panel will display the Bar and BPM fields where you can enter specific numbers. The first node is pegged to bar one. It does not move, but it can still have a different start tempo. To delete a node (other than the first), use the Delete node button.
The tempo moves from node to node each time according to the decision of that node. There are five options for the shape of the section. Ramp will produce a straight-line change. Ease in will maintain the tempo initially but suddenly drop at the close of the phrase. It is great for ritardandos at the end of a phrase. Ease out does the opposite, starting fast but settling into a hold. It is useful if you wish to lift suddenly before cruising through. S-curve starts gently, ends gently and is where it changes most. Think of it as a natural conducting gesture. Finally, Jump simply keeps the tempo consistent up until the following node and then jumps immediately for abrupt tempo changes.
To use it right away, just click on one of the preset buttons. They each load a full map with preconfigured nodes, hit points, and meters. For instance, the Rit into final chord preset gradually changes the tempo and then eases into a slowdown. The Accelerando build illustrates a prolonged rise to gather speed. The Film cue with hits preset displays the function of hit points and pinned target times. It replaces the whole map. You can play around without having to start from scratch.
Click Play map to hear the metronome follow your curve. The position readout shows the current bar and beat. The elapsed timer tracks how long the playback has been running. Click Stop to stop playback anytime. The metronome accents the first beat of every bar. This helps you orient yourself within the phrase. Use the master volume slider to control the loudness of the clicks.
The widget is fully keyboard controllable. To play and pause press Space. To step forward (back) through all of the nodes in the graph, hit Tab. When a node is selected you will be able to adjust the BPM by one beat per minute with up and down arrows. Hold Shift to adjust the tempo by five beats per minute. To shift the node back/forward one bar use the left/right arrow key. To change the segment shape leaving this node, hit J to cycle through the choices. To delete the current node hit either Delete or Backspace. Finally, during the challenge mode the space bar acts as a tap input.
You can pin individual bars at precise target times with Hit points in seconds. A visual cue or record match is why. Type a bar number into the Hit point panel and a target time. Click Pin hit point. The widget will calculate exactly where that bar falls based off your existing curve. It tells you how far off it was. If you’re within ten hundredths of a second, the marker turns green. Keep your curve shape identical and adjust height to fit the timing requirement. To do this, just click Fit map on a hit point row. That scales all nodes’ BPM by exact ratio required.
There is a Follow the curve option that allows you to get used to feeling in and out the changes in tempo. Hit the button to begin the exercise. Press the big pad, or tap it, on each beat. You may select a guide to assist. Each click occurs on each beat. Only downbeats click on the first beat of the bar. Silent just gives you a count-in and then leaves you to keep time as best you can. The graph uses ticks to mark your timing errors. A tick above the line shows an early hit. A tick below shows a late hit. The score will deduct your average offset before marking you. That means it scores how well you kept up with the changes instead of whether you was rushing or dragging consistently.
Load a preset and play it. Alter the shape of one of its segments and listen. An S-curve sounds quite different than a linear ramp. That’s even when their start and end tempos is the same. Shorten the map length using the total bars field. Do this if you wish to audition one gesture in isolation. You’ll know exactly how long that takes using the map length readout. Fit the latest target first if working with hit points. Then adjust the individual nodes to save any that may have drifted back earlier. It reflects real-world recording-session workflow: You align the end of a phrase and then tweak the middle.
It is a highly useful tool for controlling musical time at a detailed level. It is a step away from the complexities of a complete digital audio workstation. A place where you can quickly sketch out some rough ideas, or fine-tune the timing in a piece more precisely. Try out the various easing functions and see which seems to fit naturaly with your music. If you forget what any of the controls do, open up the help panel and it will remind you. When you’re ready to hear what you’ve created, click Play map.