circuitpython/shared-module/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: fix per-note envelope & envelope modification 2023-05-04 12:23:45 -05:00
MidiTrack.c synthio: rename function that records error position 2023-05-04 08:45:31 -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: remove unused 'phase' from Note objects 2023-05-04 07:23:50 -05:00
Synthesizer.c synthio: fix per-note envelope & envelope modification 2023-05-04 12:23:45 -05:00
Synthesizer.h Add synthio.Synthesizer 2023-04-02 20:37:23 -05:00