circuitpython/shared-module/synthio
Jeff Epler a999e40935 synthio: reorganize the order of operations
Apply envelope & panning after biquad filtering.

This may fix the weird popping problem. It also reduces the number
of operations that are done "in stereo", so it could help performance.

It also fixes a previously unnoticed problem where a ring-modulated
waveform had 2x the amplitude of an un-modulated waveform.

The test differences look large but it's because some values got changed
in the LSB after the mathematical divisions were moved around.
2023-05-31 14:22:43 -05:00
..
Biquad.c synthio: reorganize the order of operations 2023-05-31 14:22:43 -05:00
Biquad.h synthio: reorganize the order of operations 2023-05-31 14:22:43 -05:00
LFO.c synthio: lfo: bugfixes & improvements 2023-05-21 13:22:47 -05:00
LFO.h synthio: lfo: bugfixes & improvements 2023-05-21 13:22:47 -05:00
Math.c synthio: Finish implementing Math blocks 2023-05-17 16:32:20 -05:00
Math.h synthio: Finish implementing Math blocks 2023-05-17 16:32:20 -05:00
MidiTrack.c synthio: more fir-filter removal; fix biquad logic errors 2023-05-30 09:24:26 -05:00
MidiTrack.h synthio: Add `MidiTrack.error_location` to record errors 2023-05-03 09:37:02 -05:00
Note.c synthio: more fir-filter removal; fix biquad logic errors 2023-05-30 09:24:26 -05:00
Note.h synthio: apply biquad filters during synthesis 2023-05-29 10:53:48 -05:00
Synthesizer.c synthio: more fir-filter removal; fix biquad logic errors 2023-05-30 09:24:26 -05:00
Synthesizer.h synthio: rename synthesizer.lfos to .blocks 2023-05-23 19:38:25 -05:00
__init__.c synthio: reorganize the order of operations 2023-05-31 14:22:43 -05:00
__init__.h synthio: more fir-filter removal; fix biquad logic errors 2023-05-30 09:24:26 -05:00
block.h synthio: avoid exceptions inside get_buffer 2023-05-21 13:22:50 -05:00