What exactly is meant by "proper wavetable support"?
From the top of my head, you should have:
1) enough memory to make the wavetable useful (or at least make it something I can expand myself if it's too expensive off-the-shelf, this is what GUS had back in the days where you could buy extra memory for the card)
2) support for different sample formats (both 8/16-bit PCM is fine, no need for example ADPCM and alike for now, though it's nice of course!)
3) each audio channel should have volume, frequency & pan control for mixing
4) forward/backward/ping-pong looping for each channel
Once I have that, I can control each channel's state to play music, which isn't very performance consuming.
Then you can of course have special stuff, like equalizer/channel, global volume control, etc. but above I would say is the minimum feature set. I don't know how you plan to load samples to the wavetable though.
Realistically, 32 note polyphony probably isn't going to be possible using software on a Cortex-M chip.
Hmh, isn't this ~200MHz 32-bit chip? I'm currently mixing 12 8-bit mono channels at 37KHz on 16MHz/8-bit Arduino, so surely you could do much much better than that! I don't support panning though and only 8-bit samples, so adding panning/16-bit adds some extra cost. Also not sure how fast reading from an external flash is and if you are able to supply enough data for mixing. I guess that's where your bottleneck will be.
Regarding wavetables, so far I've been looking at the SoundFont file format. Are wavetable synthesis sounds commonly distributed in other formats?
I'm playing MOD, S3M, IT & XM formats, which contain music patterns (i.e. notes & effects) and samples. The samples are usually 8/16-bit PCM (signed or unsigned), though IT format has specific compression format, but I just decompress it to PCM. Some formats support also ADPCM and OGG, but I don't care about those as I have never seen mod file using those compression formats. These mod files use 4-32 audio channels. The various effects (e.g. vibrato, arpeggio, portamento, etc.) do not really need anything special from audio device but they are implemented simply by adjusting pitch/volume of each channel.
If you are interested, you can get mod files for example from
The Mod Archive and use
OpenMPT for playback and investigation of samples/patterns.
Edit: Oh and you should also definitely have linear interpolation in resampling. Adds some extra cost to the mixing routine though.