Skip to content

BPM Detection & Clock Analysis ​

Neurode MIDI analyses incoming MIDI Clock messages, shows timing quality, and uses the selected master clock for clock forwarding and tempo-aware NeuroScript scheduling.

Open the clock screen ​

Select the top-level Clock tab. The screen contains:

  • Clock Sources, including the internal generator and detected MIDI sources;
  • current BPM, jitter, drift, stability, quality, freshness, and phase when data is available;
  • Clock Destinations, where you choose which outputs receive clock messages;
  • internal generator controls when Internal Generator is selected;
  • phase-locked loop (PLL) controls when an external source is selected.

There is no separate BPM display in the Activity tab or route editor. The route editor warns when a beat-based delay has no usable BPM.

How tempo is measured ​

MIDI Clock sends 24 pulses per quarter note (24 PPQN). Neurode MIDI measures the interval between pulses using the system's high-precision clock and calculates BPM from those intervals.

The analyser keeps short-term timing samples for BPM and jitter, longer-term samples for drift, and a rolling peak-jitter value. The displayed quality score combines jitter, drift, and stability:

QualityMeaning
90–100%Excellent
70–89%Good
50–69%Fair
Below 50%Poor

The actual result depends on the source and connection. Do not treat a particular connection type as a guaranteed quality level.

Select a master clock ​

On the Clock screen, select one source:

  • Internal Generator uses Neurode MIDI's own clock;
  • an external source follows MIDI Clock arriving from that endpoint;
  • no selected source leaves the app without an explicit master clock.

For a beat-delayed NeuroScript event with no explicit master, the triggering source's current BPM can be used. If no current BPM is available, the beat-delayed event is not scheduled.

Smooth an external clock with PLL ​

Select an external clock source, then enable Smooth Tempo Following (PLL). Choose a tracking speed:

  • a slower setting smooths more but follows tempo changes more gradually;
  • a faster setting follows changes sooner but passes more jitter.

Disable PLL when you want to inspect the raw source or when the source already behaves as required.

Use the internal generator ​

Select Internal Generator, then:

  1. Set the tempo from 20 to 300 BPM.
  2. Select one or more clock destinations.
  3. Press Start.
  4. Press Stop to stop the generator.

Optional LFO controls can modulate the generator's tempo. The clock statistics shown for the generator are measured values, not a fixed promise of zero jitter.

Beat-based NeuroScript delays ​

NeuroScript note fractions represent fractions of a whole note. At 120 BPM:

ExpressionMusical valueDelay
1/8 noteeighth note250 ms
1/4 notequarter note500 ms
1/2 notehalf note1,000 ms
neuroscript
# Add an eighth-note echo. The original note passes through implicitly.
when is note {
  emit current after 1/8 note
}

The scheduler rejects an external BPM snapshot that is more than 100 ms old for beat-delay conversion. This prevents a delayed event from using an obsolete tempo; there is no automatic fallback to the internal generator.

Troubleshooting ​

BPM remains unknown ​

  • Confirm the device is transmitting MIDI Clock (0xF8), not only notes.
  • Check activity for the same source.
  • Select the intended source on the Clock screen.
  • Start transport on the external sequencer or drum machine.

BPM or quality moves unexpectedly ​

  • Compare PLL on and off.
  • Try a different PLL tracking speed.
  • Remove hubs, wireless links, or network congestion one at a time.
  • Confirm that only the intended source is providing the master clock.

A beat-delayed event does not appear ​

  • Confirm that the route is receiving a current BPM.
  • Verify that the route has not been edited, removed, or disconnected before the delayed event fires.
  • Test first with the internal generator, then return to the external source.

Neurode MIDI for macOS, iPhone, and iPad