quarterturn
Well-known member
I am working on a 32-voice synth project and want to come up with a way to keep levels up while avoiding clipping. Each mixer is 4-to-1, so we have to have tiers of mixers at 32 voices. You could set the first tier to 1/32, the next to 1/8, and the last to 1/2, but that's waaaaay too quiet unless you plan on holding down 32 keys at one time.
I've hand-ordered my connections so some simple math can figure out which voice is on which 1st tier mixer group, as well as 2nd tier. Maybe start out with gain set to '1.0' on each input, and as you go above one voice start lowering the gain? I can see this working for simple on/off sounds but not when there's an envelope and especially not with long release times.
If the audio blocks were 32 or 64 bits, we could push the problem out to the end of the processing chain and do some sort of gentle 'AGC' type thing.
Any ideas?
I've hand-ordered my connections so some simple math can figure out which voice is on which 1st tier mixer group, as well as 2nd tier. Maybe start out with gain set to '1.0' on each input, and as you go above one voice start lowering the gain? I can see this working for simple on/off sounds but not when there's an envelope and especially not with long release times.
If the audio blocks were 32 or 64 bits, we could push the problem out to the end of the processing chain and do some sort of gentle 'AGC' type thing.
Any ideas?