transpose static method
Transpõe uma altura por um número de semitons
Implementation
static Pitch transpose(Pitch pitch, double semitones) {
final newMidiNumber = pitch.midiNumber + semitones.round();
final remainder = semitones - semitones.round();
final newPitch = fromMidiNumber(newMidiNumber);
return Pitch(
step: newPitch.step,
octave: newPitch.octave,
alter: newPitch.alter + remainder,
);
}