My goal - to make processing and playback of audio data in real-time by NAudio. The application uses different formats: 8bit pcm, 16bit pcm, 24bit pcm. For playback, I use WaveOut and BufferedWaveProvider. The difficulty arises with the processing of individual samples in real time. To convert raw data into samples, I use the following code:
var vaweProviderIn = new BufferedWaveProvider(format);
vaweProviderIn.AddSamples(waveBuffer, 0, waveBuffer.Length);
var sampleProvider = vaweProviderIn.ToSampleProvider();
sampleProvider.Read(sampleBuffer, 0, sampleBufferSize);
//samples processing
The question is how to convert the samples buffer back to the wave buffer, to play it?