This code is from SimpleCompressorStream there is the followig code
left = BitConverter.ToInt16(buffer, start) / 32768.0;
that is wrong because max short is 32767 while min short is -32768
the resulting code will span ranges from[-1 to 0.99999999999999999]
Comments: If you are interested in an explanation of why the range of values for floating point is -1 to 0.9999 then there is one in Will Pirkle's book "Designing Audio Effect Plug-Ins in C++"
left = BitConverter.ToInt16(buffer, start) / 32768.0;
that is wrong because max short is 32767 while min short is -32768
the resulting code will span ranges from[-1 to 0.99999999999999999]
Comments: If you are interested in an explanation of why the range of values for floating point is -1 to 0.9999 then there is one in Will Pirkle's book "Designing Audio Effect Plug-Ins in C++"