(I though I answered, but this does not appear, weird…).
> does this mean I just need to nest my effects in order in brackets
before returning them? Say I wanted a high pass filter after the low
pass filter, could I write return
MonoOutput::from8Bit(hpf.next(lpf.next(fmOut)); ?
Yes, even though, depending on your resonance settings you might run into glitches/overflow if done directly. Basically, it boils to the fact that, as these filters have a resonance, they can output signals with a greater amplitude than what you feed them with, so say, the output lpf.next(fmOut) might actually span 10bits. There are different ways to solve that: clipping (with .clip()), using the 16bits version of the outmost filter, taming the signal after one one filter stage (for eg: (lpf.next(fmOut)>>2)), or having low resonance settings.
> what exactly does MonoOutput::from8Bit mean?
This actually nicely connected! Mozzi supports a lot of different platforms and modes to output the sound. The number of bits these platforms can output is not always the same (good old AVR outputs on 8bits, Teensy3 outputs on 12bits for instance). Mozzi is aware of that and will scale the samples accordingly but for that it needs to be aware of the range (number of bits) of the signal you are feeding it with. from8bits tells Mozzi than what follows is a value with spans 8bits. If your platform outputs 12bits, Mozzi will automatically shift it to fill up the 12bits (and the other way around if you output more than what your platform can output), see also:
https://sensorium.github.io/Mozzi/doc/html/struct_mono_output.html#a02f9adf531ab61ce96ed80a8319bdeea
fromNbit is very useful to find the minimal number of bits needed, especially after a resonant filter (I always wanted to characterize these filters to know exactly how they change the range when the resonance is not zero but, well…). For instance I would start with: MonoOutput::fromNBit(8, lpf.next(fmOut); and if that glitches I would increase to say 10 or so until I am satisfied with the given resonance.
Hope this helps,