circuitpython/shared-bindings/synthio
Jeff Epler 9a9f3229fa
synthio: Perform vibrato in pitch, not as frequency ratio
Now the vibrato 'units' are 1.0 = one octave, 1/12 = one semitone,
1/1200 = one cent. Before, the units were somewhat arbitrary and were not
perceptually "symmetrical" around the base frequency.

For vibrato_depth = 1/12 and base frequency of 440,

before: pitch from 403.33 to 476.67Hz, not corresponding to any notes
after: pitch from 415.30 to 466.16Hz, corresponding to G# and A#
2023-05-06 21:35:20 -05:00
..
__init__.c synthio: add onevo_to_hz, implement midi_to_hz in terms of it 2023-05-06 21:35:19 -05:00
__init__.h synthio: add onevo_to_hz, implement midi_to_hz in terms of it 2023-05-06 21:35:19 -05:00
MidiTrack.c synthio: MidiTrack: sample_rate is always available 2023-05-03 09:37:02 -05:00
MidiTrack.h synthio: Add MidiTrack.error_location to record errors 2023-05-03 09:37:02 -05:00
Note.c synthio: Perform vibrato in pitch, not as frequency ratio 2023-05-06 21:35:20 -05:00
Note.h synthio: Add synthio.Note 2023-05-04 07:23:49 -05:00
Synthesizer.c synthio: Add synthio.Note 2023-05-04 07:23:49 -05:00
Synthesizer.h synthio: implement envelope 2023-04-25 12:05:53 -05:00