ForHosting KIT · Audio & Voice

Audio tempo change calculator

Changing a clip from one tempo to another affects more than its beat grid: when pitch-preserving time stretch is not being considered separately, the playback length changes by the inverse of the BPM ratio.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

This calculator takes the original BPM, target BPM, and known clip duration, then returns the signed tempo-change percentage, the duration multiplier, and the resulting length. It gives editors, producers, DJs, and developers a quick, reproducible answer without requiring audio upload or analysis.

Enter the tempos and the known clip length

Start with the BPM at which the source clip currently plays, then enter the BPM you want it to match. The original and target values must both be greater than zero because a zero or negative beat rate has no meaningful tempo ratio. Add the clip's current duration in seconds, including decimals when precision matters. For example, a region lasting 92.5 seconds can be entered directly without rounding it to a whole second. The calculator does not inspect an audio file, detect beats, or guess tempo; it uses the numbers you supply. That makes it useful after tempo detection, while preparing an edit, or inside an automated workflow where BPM metadata is already available. The duration can be zero for a boundary-case calculation, but it cannot be negative. Use the duration of the exact region being changed rather than the full project length if only one loop, stem, cue, or scene will adopt the new tempo. Accurate source values produce an accurate projected length.

Understand the percentage and multiplier

The tempo-change percentage compares the target BPM with the original BPM. It is calculated as the target-to-original ratio minus one, multiplied by one hundred. A positive result means the audio is being sped up; a negative result means it is being slowed down; zero means the tempos match. Duration moves in the opposite direction, so its multiplier is original BPM divided by target BPM. Raising a clip from 120 BPM to 150 BPM is a 25 percent tempo increase, while its duration multiplier becomes 0.8. The faster version therefore occupies 80 percent of the original running time. Moving from 120 BPM to 90 BPM gives a negative tempo change and a multiplier greater than one, indicating a longer result. The returned multiplier is deliberately explicit because it can be applied to other time measurements, such as marker positions or edit decision points, when those positions must follow the same uniform tempo transformation.

Apply the result in an audio workflow

Use the resulting duration as a planning value for timeline space, loop alignment, cue placement, export estimates, or synchronization with video. The calculation assumes one uniform change across the entire clip and an exact relationship between playback rate and duration. It does not predict artifacts, transient quality, pitch behavior, elastic-audio settings, or the choices made by a particular digital audio workstation. A pitch-preserving algorithm can still target the same duration, but its sound quality depends on material and software rather than this arithmetic. If a clip contains tempo automation or several sections with different source BPM values, calculate each constant-tempo section separately and add their resulting durations. Keep enough decimal precision when passing results into another system; display rounding can otherwise accumulate across many clips. For automated calls, the base price is $0.002 per request. The browser calculation uses the same deterministic formula and requires no audio upload, which is helpful when the source material should remain local.

Fit a loop to a session tempo

Calculate how much a loop must speed up or slow down and how long it will occupy after matching the session BPM.

Plan music edits against picture

Estimate the changed music cue length before placing edit points or revising a video timeline.

Scale markers in an audio tool

Use the duration multiplier to transform cue, region, or marker times consistently in an automated workflow.

How is tempo-change percentage calculated?

Divide target BPM by original BPM, subtract one, and multiply by 100. Positive values indicate an increase and negative values indicate a decrease.

Why is the duration multiplier the inverse BPM ratio?

A faster beat rate takes less time to play the same beat count, so duration scales by original BPM divided by target BPM.

Does this calculator preserve pitch?

It calculates tempo and duration only. Pitch behavior depends on whether your playback or time-stretch tool preserves pitch.

Can I use decimal BPM and duration values?

Yes. Finite decimal numbers are accepted for both BPM values and for the clip duration in seconds.

What happens if a BPM is zero or negative?

The request returns an invalid-input error because tempo ratios require positive original and target BPM values.

What does an API request cost?

Each API request costs $0.002. You can also perform the deterministic calculation in the browser.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/audio/tempo-change-percent

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/audio/tempo-change-percent \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"original_bpm":120,"target_bpm":150,"duration_seconds":240}'
{
  "original_bpm": 120,
  "target_bpm": 150,
  "duration_seconds": 240
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "audio.tempo_change_percent",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_mb200
max_minutes180
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →