1. A computer-implemented method comprising: receiving input data including MIDI events arranged in a timeline, the timeline having a plurality of grid positions, the MIDI events having one or more MIDI characteristics; determining a target grid position from among the plurality of grid positions; determining a search range around the target grid position; identifying a set of MIDI events within the search range around the target grid position, determining a reference point for the set of MIDI events, wherein the reference point corresponds to a function of the set of MIDI events; adjusting a position of the reference point toward the target grid position; determining a proportional movement for each MIDI event on the timeline based on its location relative to the adjusted reference point; and adjusting each MIDI event based on the determined proportional movement.