A system for providing targeted cue delivery to regulate a gait of a user comprising: a first cue delivery device configured to provide somatosensory stimulation to a first leg of the user; a second cue delivery device configured to provide somatosensory stimulation to a second leg of the user; one or more inertial sensors configured to output movement data indicative of the gait of the user, the movement data including a plurality of frequency bands each corresponding to a range of frequency of movement; and a controller configured to: receive the movement data from the one or more inertial sensors; extract one or more gait characteristics associated with a freezing of gait event or a festination event from the movement data, the characteristics comprising one or more of: a power of a first frequency band of the movement data associated with walking, a power of a second frequency band of the movement data associated with freezing of gait, a ratio of the power of the first and second frequency bands (freeze index), entropy of the movement data, and one or more wavelet transform features of the movement data; in dependence on whether the gait characteristics meet one or more of a first set of predetermined criteria, determine a cue pattern for each of the first and second cue delivery devices to comprise unilateral stimulation for the first leg by the first cue delivery device, output a respective control signal to control each of the first and second cue delivery devices (131, 132) to provide stimulation according to the cue pattern, receive further movement data from the one or more inertial sensors; detect a step being taken by the first leg in the further movement data; and responsive to the step being taken, swap the unilateral stimulation from the first cue delivery device to the second cue delivery device. a first cue delivery device configured to provide somatosensory stimulation to a first leg of the user; a second cue delivery device configured to provide somatosensory stimulation to a second leg of the user; one or more inertial sensors configured to output movement data indicative of the gait of the user, the movement data including a plurality of frequency bands each corresponding to a range of frequency of movement; and a controller configured to: receive the movement data from the one or more inertial sensors; extract one or more gait characteristics associated with a freezing of gait event or a festination event from the movement data, the characteristics comprising one or more of: a power of a first frequency band of the movement data associated with walking, a power of a second frequency band of the movement data associated with freezing of gait, a ratio of the power of the first and second frequency bands (freeze index), entropy of the movement data, and one or more wavelet transform features of the movement data; in dependence on whether the gait characteristics meet one or more of a first set of predetermined criteria, determine a cue pattern for each of the first and second cue delivery devices to comprise unilateral stimulation for the first leg by the first cue delivery device, output a respective control signal to control each of the first and second cue delivery devices (131, 132) to provide stimulation according to the cue pattern, receive further movement data from the one or more inertial sensors; detect a step being taken by the first leg in the further movement data; and responsive to the step being taken, swap the unilateral stimulation from the first cue delivery device to the second cue delivery device. receive the movement data from the one or more inertial sensors; extract one or more gait characteristics associated with a freezing of gait event or a festination event from the movement data, the characteristics comprising one or more of: a power of a first frequency band of the movement data associated with walking, a power of a second frequency band of the movement data associated with freezing of gait, a ratio of the power of the first and second frequency bands (freeze index), entropy of the movement data, and one or more wavelet transform features of the movement data; in dependence on whether the gait characteristics meet one or more of a first set of predetermined criteria, determine a cue pattern for each of the first and second cue delivery devices to comprise unilateral stimulation for the first leg by the first cue delivery device, output a respective control signal to control each of the first and second cue delivery devices (131, 132) to provide stimulation according to the cue pattern, receive further movement data from the one or more inertial sensors; detect a step being taken by the first leg in the further movement data; and responsive to the step being taken, swap the unilateral stimulation from the first cue delivery device to the second cue delivery device.