Nick:
I've seen several posts where @Paul gives a conservative estimate for the Teensy 4.x + Audio Shield of 100 simultaneous waveform generators. That alone probably indicates that you should be able to use a single Teensy 4.x + Audio Shield for your project. In my recently completed TeensyMIDIPolySynth (
https://forum.pjrc.com/threads/60690-queued-TeensyMIDIPolySynth?p=237404&viewfull=1#post237404), I am using the Teensy 4.0 + Rev D Audio Shield. I'd like to run thru some numbers supporting the suggestion that a single Teensy 4.x + Rev D Audio Shield should definitely allow you to provide the single-voice 88-note polyphony that I believe you are designing for.
My TeensyMIDIPolySynth supports 16-note polyphony, with two voices per note. There are 6 VFO waveform generators + 2 noise generators per voice, per note. There are also 2 LFOs (one for the filter & one for FMing the VFO waveform generators), with 7 waveform generators per LFO. Adding all of these waveform generators up (ignoring the noise sources) gives (16 notes x 6 VFO waveforms x 2 voices) + (7 LFO waveforms x 2 LFOs) for a total of 206 waveform generators. All of these are always running, & running simultaneously from startup !!
Using these numbers as a guide, I would think that you could design your project for at least 2 VFOs per note, & maybe even 3 VFOs per note if you desired. These would all be implemented using the built-in capability of the audio library. I will do my best help answer any other questions that you might have along these lines.
On the subject of analog MUXs, I am using 6 74HC4067 16:1 MUXs in my project. These are used to allow me to read 48 pots & 42 pushbuttons. Using this MUX is excellent for reading either analog inputs (like my pots) or digital inputs (like my pushbuttons). You can cycle thru these inputs very quickly & do many readings, consuming only a few dedicated pins on the Teensy. I will do my best to also answer any other questions that you may have on this subject as well.
As for your pitch bend input, it is as simple as reading your slider with an analog input (could be thru a MUX, but more likely thru a dedicated Axx pin on the Teensy), defining a DC generator (another audio library object/component named dc) to generate an appropriate DC level based upon the pot value read, & feeding that into the MOD input of the modulated waveform generator (named waveformMod) object/component. Very easily accomplished !! Again, all using built-in capabilities of the audio library !!
I really can't say enough about the complex & versatile capabilities that are built into the audio library, yet it is all very easy to use !!
Good luck & have fun !!
Mark J Culross
KD5RXT