← unfrogettable.co.uk

Amphibeat

Running music that speeds up and slows down with your steps.

Coming soon

It's an Android app, and I've had it out for a walk and a run. It isn't ready for anyone else yet and there's no date for when it will be.

How it works

1

Your steps set the pace

The phone counts your steps, or a heart rate strap reports them, and works out your cadence in steps a minute. It's smoothed over roughly 20 seconds so the music doesn't chase every stride.

2

A ladder of tempos

Every song is prepared in advance at each whole BPM within about 6% of the speed it was made at, with the pitch left alone. Together they cover 150 to 180 BPM for running. The player takes the rung nearest your cadence and plays it a fraction faster or slower to hit it exactly.

3

Changes land on the beat

Going up or down a rung is a quick switch between two versions of the same music, made on a beat. Every few minutes it moves to a different song on a bar line, with a two-bar crossfade. The bass lines swap over halfway so two never play at once.

4

Match or nudge

Match keeps the tempo on your cadence, so at 168 steps a minute you hear 168 BPM. Nudge sits up to 3% above you and creeps up by at most 2 BPM a minute, to tempt you into a slightly quicker cadence. It won't go past 180 and you can switch it off.

A simulated interval run

180 175 170 165 160 155 150 0 2 min 4 min 6 min 8 min 10 min
Cadence (steps a minute)Music tempo (BPM)Song change
One of the test runs. The cadence is simulated and the tempo is what the engine actually played. It trails the runner by about half a minute because of the smoothing, and there's a quicker setting for intervals.

A short demo

Forty seconds from the run above. The cadence jumps from about 156 to about 177 and the tempo climbs after it a BPM at a time. Partway up, the first song runs out of range and hands over to another. The sound is exactly what the engine played in that test.

The music

The songs are instrumentals I generated with ElevenMusic, in styles from minimal and house to trance. A script checks each one for a steady beat and a clean loop, and lines them up with each other in key so they sit together when one fades into the next. Most needed no shifting at all. 157 songs have made it through so far, with 25 to 48 of them at each running tempo and a separate set of slower songs for walking.

Where it's at

Working

So far

  • The web test player and the Android app run the same engine and produce the same audio, to within one bit.
  • In the test runs no tempo switch moves the kick drum by 10 ms or more.
  • The time-stretching was redone after it distorted some melodic songs, and the new version passed a blind listening test.
  • On a Pixel it played for 21 minutes with the screen locked and no dropouts.
  • First real walk and run on 4 October 2026. The tempo stayed within 1 to 3 BPM of my cadence the whole way.