Problem
There is currently no way to nudge the audio playback timing of an individual note without changing its notated position or duration. Anyone wanting subtle expressive timing (rubato, swing feel on a single note, fixing an awkward MIDI-imported note that plays slightly early/late) has to resort to workarounds — tiny tuplets, extra tempo changes, or editing the exported audio afterwards — none of which are practical or non-destructive.
Proposed solution
Add two new per-note properties, editable from the Properties panel → Play section:
- Start offset — shifts when the note starts sounding during playback, in ticks.
- Duration offset — shifts how long the note sounds during playback, in ticks.
Both offsets only affect the audio rendering of the note (NoteRenderer). The note's actual tick position, duration, and notation/engraving are completely unaffected — this is purely a playback-timing adjustment, similar in spirit to existing per-voice playback toggles (playbackVoice1..4).
Scope
- Two new
Pid properties (PLAYBACK_START_OFFSET, PLAYBACK_DURATION_OFFSET), stored per-note and saved/loaded with the score (MSCX read/write).
- Two new spin boxes in the Note "Play" section of the Properties panel (range: -1920..+1920 ticks).
- Exposed on the plugins API (
Note.playbackStartOffset / Note.playbackDurationOffset) for scripting use cases.
- No change to layout/engraving; no change to existing file compatibility (new optional properties default to 0).
Additional notes
I have a working implementation of this and would like to submit a PR for it. Happy to adjust naming/scope based on maintainer feedback before doing so.

Problem
There is currently no way to nudge the audio playback timing of an individual note without changing its notated position or duration. Anyone wanting subtle expressive timing (rubato, swing feel on a single note, fixing an awkward MIDI-imported note that plays slightly early/late) has to resort to workarounds — tiny tuplets, extra tempo changes, or editing the exported audio afterwards — none of which are practical or non-destructive.
Proposed solution
Add two new per-note properties, editable from the Properties panel → Play section:
Both offsets only affect the audio rendering of the note (
NoteRenderer). The note's actual tick position, duration, and notation/engraving are completely unaffected — this is purely a playback-timing adjustment, similar in spirit to existing per-voice playback toggles (playbackVoice1..4).Scope
Pidproperties (PLAYBACK_START_OFFSET,PLAYBACK_DURATION_OFFSET), stored per-note and saved/loaded with the score (MSCX read/write).Note.playbackStartOffset/Note.playbackDurationOffset) for scripting use cases.Additional notes
I have a working implementation of this and would like to submit a PR for it. Happy to adjust naming/scope based on maintainer feedback before doing so.