private void OnDataAvailable(object sender, NAudio.Wave.WaveInEventArgs args) { int bytesPerSample = wvin.WaveFormat.BitsPerSample / 8; float[] buffer = new float[args.BytesRecorded / bytesPerSample]; for (int i = 0; i < buffer.Length; i++) { buffer[i] = BitConverter.ToInt16(args.Buffer, i * bytesPerSample); } lastAmplitudeFrac = (double)buffer.Max() / Int16.MaxValue; try { spec.AddCircular(buffer, fixedSize: pbSpec.Width); } catch (Exception ex) { Console.WriteLine("EXCEPTION: " + ex); } }