Вы принимаете 4 потенциально полномасштабных сигнала, складываете их вместе и затем масштабируете на 0,6 до насыщения полученного выходного сигнала. Таким образом, до насыщения ваш максимальный диапазон составляет +/- 4 * 0,6 = +/- 2,4. Следовательно, это не слишком удивительно, что вы слышите какое-то отсечение. Если умножить на 0,25 вместо 0,6, это должно исключить ограничение даже в самых крайних случаях, но уровень выходного сигнала в общем случае может быть немного низким.
Чтобы убедиться в этом, вы можете добавить отладочную запись в ваш код насыщения, например,
#if DEBUG
if (mixedR > 1.0f || mixedR < -1.0f)
fprintf(stderr, "Clipping occurred for mixedR = %g\n", mixedR);
#endif
if(mixedR > 1.0f) mixedR = 1.0f;
if(mixedR < -1.0f) mixedR = -1.0f;