Skip to content

Tempo and Follow Project Tempo

Miao has one visible project BPM in the top bar. Audio regions can individually follow that BPM when Follow project tempo is enabled.

The Mental Model

ConceptWhat it means
Project BPMThe visible top-bar tempo at beat 0. It drives the grid, chord blocks, MIDI editing, metronome, synced effects, and tempo-following audio.
MIDI tempo mapTempo and time-signature events imported from MIDI files. They can update or preserve imported MIDI timing depending on import policy. Manual tempo-map editing is not exposed yet.
Source BPMThe original tempo of one audio region's source file. Miao needs this to know how much to stretch when the project BPM changes.
Follow project tempoA per-audio-region switch that makes the selected region keep beat length instead of fixed source-file seconds.
Stretch modeThe processing strategy used when a region follows project tempo.

Tempo is not per track. Audio tempo following is per region. MIDI clips follow the project/grid timing unless imported with a policy that preserves the original file timing.

Project BPM

Use the top-bar BPM field to set the project tempo. It affects:

  • Timeline bar/beat grid.
  • Chord block positions and durations.
  • MIDI editor grid and quantize timing.
  • Metronome and count-in.
  • Tempo-synced effects such as Delay, Tremolo, Auto-pan, Auto-filter, Chorus, Flanger, and Phaser.
  • Audio regions with Follow project tempo enabled.

Changing BPM does not automatically time-stretch every audio file. Only regions with Follow project tempo enabled react to the change.

MIDI Import Policies

When importing a Standard MIDI File, choose the tempo policy before import:

PolicyUse it whenResult
Keep project tempoYou want the MIDI to fit the current project grid.Imported notes are placed against the current project BPM.
Use file tempoThe MIDI file's tempo map should define the project timing.The file tempo and time-signature map update the project before placing clips.
Original timingThe MIDI was performed at another tempo and should sound close to the file's original timing.Clip timing is converted so playback stays close under the current project tempo.

Imported MIDI tempo, time-signature, key-signature, controller, program, pitch-bend, pressure, and text metadata are preserved for MIDI export where applicable.

Audio Source BPM

Source BPM is the tempo of the source audio before Miao stretches it. Detection can fill this automatically for regular loops, but you should correct it when:

  • The loop has pickup notes or silence before the first downbeat.
  • The source has swing or loose timing.
  • The detected value is double-time or half-time.
  • The imported material is not a regular loop.

Example: a loop recorded at 100 BPM with project BPM set to 125 should have Source BPM set to 100 and Follow project tempo enabled.

Follow Project Tempo

Select an audio region and use the Selection inspector:

  1. Set Source BPM to the source tempo.
  2. Enable Follow project tempo.
  3. Choose a Stretch mode.
  4. Press Play and verify timing by ear.

The setting is stored on the audio region. Two regions using the same source file can have different Follow project tempo settings, stretch modes, offsets, fades, clip gain, and loop lengths.

Stretch Modes

ModeBest forTradeoff
DefaultMixed loops, full songs, first-pass imports.Balanced behavior, but not always best for drums or exposed vocals.
BeatsDrums, percussion, rhythmic loops, transient-heavy material.Keeps attacks clearer, but sustained tones can sound choppy at extremes.
TonesVocals, bass notes, pads, strings, sustained tonal material.Smoother sustain, but hard transients can smear.
TapeResampled speed changes where pitch should move with tempo.Musical for turntable/tape effects, but pitch changes by design.

Extreme tempo changes can create artifacts in any real-time browser stretch engine. Smaller changes usually sound more natural than large changes.

Realtime and Export

Realtime playback and server-side export use the same project timing choices:

  • Tempo-following regions stretch from the original referenced source audio.
  • Synced effects use the project tempo.
  • The full exported mix includes Track Effects, routing, Master Effects, and Master track-head mute/volume/balance.
  • Per-track stems stay source-track based and do not include final Master output controls.

If export sounds different from playback, first check that the project is saved, unlocked, and that all source audio files are available to the server.

Non-Destructive Source Handling

Follow Project Tempo does not overwrite imported or recorded files. Miao stores:

  • The original source audio.
  • Region start, duration, loop, fade, clip gain, and source offset.
  • Source BPM.
  • Follow project tempo state.
  • Stretch mode.

Turning Follow project tempo off returns the region to normal source-file timing.

Common Mistakes

SymptomLikely causeFix
BPM change does not affect an audio region.Follow project tempo is off for that region.Select the region and enable it.
Region follows tempo but is too fast or too slow.Source BPM is wrong, often half-time or double-time.Try half or double the detected value.
Drums smear or lose punch.Stretch mode is not suited to transients.Try Beats.
Vocal or pad has clicks or chopped sustain.Beat-focused stretching is cutting sustained material.Try Tones or a smaller tempo change.
Pitch changes when BPM changes.Tape mode is selected.Use Default, Beats, or Tones if pitch should stay stable.
Imported MIDI feels off-grid.MIDI import policy did not match the file.Reimport with Use file tempo or Original timing, depending on intent.

Browser DAW user manual