По сути, да, вы должны найти выборку с наибольшим абсолютным значением и просто разделить все выборки на это значение, что гарантирует, что все выборки будут лежать в диапазоне (-1,0,1,0). Конечно, это требует, чтобы у вас был предварительный доступ ко всем аудиоданным (вы не можете нормализовать поток, так как не знаете, какие сэмплы вы получите, например, через 3 секунды в будущем).
Имейте в виду, что эта операция, вероятно, приведет к изменению воспринимаемой громкости («громкости»). Если вы хотите, чтобы общая громкость сохранялась после повторной выборки, вы должны измерить ее до и после повторной выборки и применить правильный коэффициент.