Como normalizar arquivos WAV mistos

Eu estou tentando misturar dois arquivos WAV.

Os arquivos WAV estão disponíveis como matrizes de bytes e eu estou usando o código abaixo para misturar os dois.

byte[] byte1 , byte[] byte2

// 44 is header of wav file
for( int i = 44 ; i < byte1.length ; i++){
   byte1[i] = byte1[i] + byte2[i];
}

O código acima funciona principalmente. Mas quando o resultado é mais do que a onda máxima (arquivo de áudio de 16 bits), há ruído. Como posso normalizar o som misto?

questionAnswers(3)

yourAnswerToTheQuestion