Two separate things can analyse audio: the input you are listening to, and a file you have selected. Both report a BPM estimate and a confidence - and it pays to understand what confidence means here before trusting a number.
Listening to input
Input capture never starts automatically. Start it explicitly from either:
- the footer button, labelled
Enable input, or - Settings → Audio input → Enable audio input, described as "Start capture from the selected device. Selecting a device alone does not enable capture."
Microphone permission is requested only in response to that start. Selecting a device, or merely opening Settings, does nothing. The Settings panel reinforces this: "Opening settings does not start capture."
Device and sensitivity
| Control | Range / options | Default |
|---|---|---|
| Device | System default plus available inputs |
System default |
| Sensitivity | 0.25 … 4, shown as × |
1.0 |
| Refresh devices | disabled while input is running | - |
If the selected device goes missing, capture stops with "Selected input disconnected. Choose an available device and enable input." Repeated device changes auto-reconnect at most three times, then stop and ask you to re-enable.
What you get
- Input level meter and percentage. Level is derived from RMS across channels, scaled by sensitivity.
- BPM estimate and confidence.
- Status strings that tell you exactly what stage it is at, from "Input enabled · waiting for audio" through "Input enabled · BPM detected". If nothing arrives for two seconds you get "Input enabled · no audio received. Check device routing or choose another input."
Choosing half or double time
Onset detection is genuinely ambiguous about octaves. When it is, you get "Beat detected · tap to choose half or double time." and the ÷2 tempo / ×2 tempo buttons become available (for estimates inside 40…240 BPM). Clear tempo hint removes it.
A hint only re-ranks existing candidates - it never manufactures evidence, and the detector still has to verify any result. Status text says so: "Tempo hint X BPM · audio still verifies the estimate."
Detecting a file's BPM
Select a clip whose source has audio, open Inspector → Audio, and press Detect file BPM (it reads Analyzing… while running).
- The button appears only for clips that actually have audio.
- Tempo estimation covers at most the first 120 seconds of the file.
- The waveform, by contrast, is computed over the whole file - they are different windows and they are reported separately.
- The result reports "File tempo X BPM · N% confidence · Ns analyzed", or "No stable tempo detected in this file."
- Once a BPM exists, Use file tempo appears and copies it to the composition tempo.
For audio-only media, analysis also runs automatically in the background because the waveform needs it, and the measured end-of-file corrects the clip's duration.
What confidence means
The source is unusually direct about this: confidence is not a calibrated probability. It combines evidence, short-window agreement, period ramp and competitor separation, capped at 0.99. Treat it as a rough stability indicator.
Acceptance thresholds, for reference:
| Stage | Requirement |
|---|---|
| Live input estimate accepted | at least 4 periods, evidence ≥ 0.32, confidence ≥ 0.28 |
| File consensus, per block | confidence ≥ 0.5, BPM inside 40…240 |
| File consensus, final | ≥ 1.5 s of clustered support, confidence ≥ 0.5 |
| Auto BPM adopts anything | confidence ≥ 0.65 |
Auto BPM
The footer's Auto BPM checkbox lets Ultimate VJ adopt estimates automatically, subject to all of:
- confidence ≥ 0.65;
- Ableton Link is not enabled (Link always wins);
- either input is running with signal, or - for file estimates - input is off and the selected clip has audio.
Automatic adoption is deliberately not undoable and does not feed back as its own detector hint, so an adopted estimate can never become the prior that justifies itself. It is saved per set.
Manual tempo edits do seed the detector hint, which is the mechanism by which your own judgement helps future estimates.
Audio-reactive clip opacity
Separate from detection, and available per clip in Inspector → Audio:
| Control | Range | Default |
|---|---|---|
| Audio reactive opacity | toggle | off |
| Input gain | 0.1 … 10, shown as × |
1.0 |
The clip's visual contribution is multiplied by level × gain × 5, clamped at 1. This changes only what
you see - it never changes audible file playback, and it requires audio input to be enabled.
The hint below it: "Live input level drives this clip's layer contribution. Enable audio input in settings to start capture."
Not verified
- Whether the detector's estimates hold up on specific music. Syncopated and non-percussive material, and half/double tempo ambiguity, are inherent limits acknowledged in the detector's own documentation.
- Real microphone capture and the permission prompt on a real machine.