bassMovement = {
let turnDuration = 0;
let rhythm;
return movement.timeline.map((turn) => {
if (!rhythm || turn.dur !== turnDuration) {
rhythm = Playa.Rhythm.free(turn.dur, ['4n', '8n', '4nt'], ['8n']);
}
turnDuration = turn.dur;
const arp = Playa.createArp(new Playa.Key(turn.key.root, turn.key.scale, [2, 1]), [ 1, 5 ], rhythm);
return arp.map((evt) => {
const mapdEvt = Playa.mapStartToEvent(evt, turn.time);
if (Playa.Random.float() < 0.3) mapdEvt.isRest = true;
return mapdEvt;
});
}).flat();
}