I hope someone can help me. I have an c# application that records voice and plays wav files. At the moment I use naudio for this. Now I need to do some dynamic range compression and normalisation of the recorded file. I'm very new to the entire audio stuff so I have no idea what to do. naudio has a class SimpleCompressorStream but no documentation how to use it. CSCore has something too but no documentation either. So I would like to know if there is any libary or tutorial that I can use to learn how to do that? I looked at Google but didn't fine something either apart from the explaination what that is at all but nothing how to programming that

At the Moment I record the thing that way:
Code:
public void Record(String strFile)
    {            
        m_WaveSource = new WaveIn();
        m_WaveSource.WaveFormat = new WaveFormat(44100, 1);

        m_WaveSource.DataAvailable += new EventHandler<WaveInEventArgs>(DataAvailable);
        m_WaveSource.RecordingStopped += new EventHandler<StoppedEventArgs>(RecordingStopped);

        m_WaveFile = new WaveFileWriter(strFile, _WaveSource.WaveFormat);

        m_WaveSource.StartRecording();
    }

       void DataAvailable(object sender, WaveInEventArgs e)
        {
            if (m_WaveFile != null)
            {
                m_WaveFile.Write(e.Buffer, 0, e.BytesRecorded);
                
                double sum = 0;
                for (var i = 0; i < e.BytesRecorded; i = i + 2)
                {
                    double sample = BitConverter.ToInt16(e.Buffer, i) / 32768.0;
                    sum += (sample * sample);
                }
                double rms = Math.Sqrt(sum / (e.BytesRecorded / 2));
                var decibel = 20 * Math.Log10(rms);
                
              
                VolumeMeter.Value = decibel;
                m_WaveFile.Flush();
            }
        }