サウンドプログラムってやったことないおれがいいかげんレスすると
演算のオーバーフローで音割れ発生なら
Out[i] = in1[i]/2 + in2[i]/2;
や
int tmp = in1[i] + in2[i];
Out[i] = tmp/2;
したらどう?