Mixer with more than 4 channels

Just out of curiosity: why is there an AudioMixer4 but not an AudioMixer8 or more?

I know that multiple AudioMixer4s can be chained to effectively create more channels. But the ability to use an AudioMixer8, for example, instead of 3 chained AudioMixer4s would result in cleaner application code and a cleaner wiring diagram in the excellent Teensy Audio System Design Tool.
 
Last edited:
Just an idea but couldn't this easily be a templated class to support any number of channels?
 
Just an idea but couldn't this easily be a templated class to support any number of channels?
Yes indeed, and @manicksan has done just that - you can find it here, as part of a rather out-of-date fork of the Audio library. I think it might be slight overkill as it may result in code duplication for each mixer width you create, but I'm not 100% sure about that.

The main difficulties with these ideas are that (a) to make them convenient to use, you have to add the object to the Design Tool, and (b) the Design Tool has no support for variable-width objects (inputs or outputs). Again, manicksan made some progress on such things with his Design Tool++, but that project seems to have been stalled for some time now.

Just for fun, here's a (zipped) patch file you might be able to use to add houtson's 10-input mixer to an existing git clone of the Audio library: View attachment AddMixer10.zip. It seems to work OK using the command git apply --3way AddMixer10.diff, even on an Audio library that's slightly different from the stock one. It not only adds the mixer to the Audio library, but an entry in the Design Tool so you can place it. Not properly tested, treat with caution!
 
Are there any plans to perhaps add this ten input mixer to the distribution of the audio design tool? It sure would simplify things when working with more than 4 inputs. I did a clone of the git repository for audio but not in my arduino1.8.19 folder. Where do I put the mixer .h and .c files in my main audio library?
 
Last edited:
Back
Top