Crisp › How-to › Slow motion lowers the frame rate

Slowing a clip down lowers its frame rate — it doesn't add frames

Quick answer

Slowing a clip in Crisp's Speed lane rescales the timestamps and writes out exactly the frames it was handed. A 2-second 30fps clip holds 60 frames; at 0.5× the output is still 60 frames, now about 4 seconds long and tagged 15fps. At 0.25× those same 60 frames read 7.5fps. Nothing is invented, which is where the judder comes from. Adding frames is a different pass entirely.

Crisp · built in Grand Rapids · published 2026-07-04 · last updated 2026-09-15

What the Speed lane actually does to the file

Picking a slow-mo speed does not touch the pictures. Crisp rescales every frame's presentation timestamp so the same pictures are spread over a longer stretch of time, stretches the audio to match, and re-encodes. On every slow-mo setting tested, the frame count coming out equalled the frame count going in.

Here is the same 2-second, 1920×1080, 30fps test clip run through the Speed lane at four settings, with the output measured with ffprobe rather than predicted:

SpeedFrames in → outOutput durationOutput frame rate
0.75×60 → 602.67 s22.5 fps
0.5×60 → 603.97 s15 fps
0.25×60 → 607.90 s7.5 fps
0.1×60 → 6019.70 s3 fps

The rule underneath the table is one line of arithmetic: output frame rate = source frame rate × speed. That single relationship answers most of what people want to know before they commit to a render.

Why 0.5× usually looks fine and 0.25× usually doesn't

At half speed a 30fps clip lands on 15 unique frames per second. That is thin, but each frame still carries recognisable motion between it and the next one. At quarter speed the same footage lands on 7.5, and at Crisp's slowest setting — 0.1×, the engine's floor — on 3. There is no filling-in step, so each frame simply sits on screen four or ten times longer than the camera intended it to. What reads as "stuttery slow motion" is that held frame.

This is also why footage shot at a high rate slows so much better. A clip recorded at 120fps has four times the frames to spend, so 0.25× still delivers 30 unique frames per second — the same rate the 30fps clip had before anyone touched it. If you know in advance that a shot will be slowed, the cheapest fix is at the camera, not in the app.

The speed range Crisp accepts is 0.1× to 8×. The four cards in the app cover 0.25×, 0.5×, 2× and 4×; the numbers in between are reachable through the request box.

What happens to the audio: the pitch stays put

Stretching audio the naive way drops its pitch, which is what turns a slowed voice into a drone. Crisp does not do that. It stretches the track with a chain of ffmpeg atempo stages, a filter that changes tempo and leaves pitch alone. atempo only accepts a factor between 0.5 and 2.0 per stage, so anything outside that is decomposed — 0.25× becomes atempo=0.5,atempo=0.5, and the 0.1× floor becomes four stages whose product is 0.1.

Checked rather than assumed: a 440 Hz sine tone, two seconds long, run through the Speed lane at 0.25×. The output is eight seconds long and its dominant frequency is still 440 Hz. The same helper is reused by the timeline's per-clip speed property, so a slowed clip inside an edit keeps its pitch too.

Two smaller things the lane does while it is in there. Only the video and first audio stream are carried across — a subtitle or data track is dropped, because its timestamps were not retimed. And if you set trim points on the same job, the trim is applied to the input first and the retime second, which is the order the sentence "take this piece, then slow it down" implies. See trimming a video for that side of it.

The pass that does add frames is a different lane

Crisp can invent in-between frames. That is Smooth motion, in the Enhance lane, and it runs RIFE (model rife-v4.6) over the frames. The important part, and the part that surprises people: Smooth motion does not slow anything down. It produces 2× or 3× the frames and plays them at 2× or 3× the frame rate, so the clip's duration is unchanged and the original audio still lines up. A 30fps clip comes back as a 30fps-long, 60fps clip.

So smooth slow motion is two passes, in this order:

  1. Enhance, with Smooth motion on

    Pick 2× fps (30→60) or 3× fps. RIFE generates the in-between frames. Duration does not change. Background reading: what frame interpolation actually does.

  2. Then the Speed lane, on the result

    Slowing a 60fps file to 0.5× lands on 30fps — the rate you started with, but over twice the time, with every frame distinct instead of held.

Two constraints worth knowing before you start

Smooth motion lives inside the upscale lane, and the smallest scale that lane offers is 2×. There is no "interpolate without enlarging" setting, so the intermediate file comes back both smoother and considerably bigger. Separately, the Max quality preset refuses Smooth motion outright and says so rather than quietly skipping it — use a standard preset for this.

Interpolation also runs after the upscale inside that pass, not before: the frames RIFE reads are the enlarged ones.

Asking for it in words

The request box reads a multiplier or a percentage and hands the number straight to the lane. Verified against the parser:

What you typeWhat Crisp plans
slow it down0.5×
slow it down a bit0.75×
slow it way down0.25×
slow it down 3x0.333×
slow it to 10%0.1×, with a note that this is as slow as Crisp goes
slow the middle downRefused — see below

Two refusals are worth calling out, because both are the app being honest rather than failing. Asking to slow part of a clip is declined with an instruction: Crisp changes a whole clip at a time, so split the clip where the change should start and apply the speed to that piece. And asking for both things in one sentence — "slow it down and smooth the motion" — plans only the slow-down. One job runs one lane. Run Smooth motion first as its own job, then the Speed lane on what comes out.

Inside a multi-clip edit

On the timeline, speed is a per-clip property rather than a separate render. Set a clip to 0.25×, 0.5×, 1.5×, 2× or 4× and it is baked in at export, reversibly — you can change your mind without re-rendering a new source file. The per-clip range the exporter validates is the same 0.1×–8× the standalone lane uses, and it runs the same pitch-preserving audio chain. Muting a clip disables its volume control, since a muted segment skips the audio branch entirely; if you want the slowed clip silent under music, muting it is the clean route.

One thing to check before any of this: if your source is variable-frame-rate, the "source frame rate" in the arithmetic above is an average rather than a fact. Variable frame rate and why it breaks edits covers what to do about it. If you only want a plain speed change with none of this detail, changing video speed is the shorter page.

Try it on your own clip

Free to try on your Mac, and nothing is uploaded — the render runs on your machine. Free video exports carry a small "Made with Crisp" mark; a one-time $129 · or 4 × $32.25 removes it and unlocks Max quality and batch.

Download Crisp for Mac

Apple Silicon · macOS 26+ · Notarized

Questions people ask about this

Does slowing a video down duplicate frames or create new ones?

Neither, in the Speed lane. Crisp rescales the presentation timestamps and writes out the frames it was given. A 2-second 30fps clip has 60 frames; at 0.5× the output still has 60 frames over about 4 seconds, so the file reads 15fps. At 0.25×, the same 60 frames read 7.5fps.

Why does quarter-speed slow motion judder?

Output frame rate is source rate times speed. A 30fps source at 0.25× plays 7.5 unique frames a second, and at the 0.1× floor, 3. Nothing was generated to fill the gap, so each frame is held four to ten times longer than it was shot to be.

Does the audio drop in pitch?

No. The track is stretched with atempo stages, which change tempo and leave pitch alone. Measured on a 440 Hz tone at 0.25×: eight seconds long, still 440 Hz.

How do I get smooth slow motion rather than juddery slow motion?

Two passes in order — Enhance with Smooth motion (RIFE adds the in-between frames at the same duration), then the Speed lane on that output. A single job will not do both.

Does the audio drop in pitch when a clip is slowed down?

No. Crisp stretches the audio with a chain of ffmpeg atempo stages, which changes tempo and leaves pitch alone. Measured on a 440 Hz test tone slowed to 0.25×: the output tone is still 440 Hz over four times the length. The same helper runs behind per-clip speed on the timeline.

How do I get smooth slow motion instead of juddery slow motion?

Run two passes, in order. First Enhance with Smooth motion, which uses RIFE (rife-v4.6) to add in-between frames and raises the frame rate over the same duration. Then run the Speed lane on that result. One job never does both — the request box plans only the slow-down if you ask for both in one sentence.

Related