/// <summary> /// Process mono dsp chain. /// </summary> /// <param name="samples">Array of 8bit samples.</param> private void _ProcessDSPMono(ref byte[] buffer) { int len = buffer.Length; int i = 0; unsafe { do { Bands.BiQuad(ref buffer[i], Biquad100Left); Bands.BiQuad(ref buffer[i], Biquad200Left); Bands.BiQuad(ref buffer[i], Biquad400Left); Bands.BiQuad(ref buffer[i], Biquad800Left); Bands.BiQuad(ref buffer[i], Biquad1600Left); Bands.BiQuad(ref buffer[i], Biquad3200Left); Bands.BiQuad(ref buffer[i], Biquad6400Left); Bands.BiQuad(ref buffer[i], BiquadHPF); Bands.BiQuad(ref buffer[i], BiquadLPF); i++; } while (i < len); } }
/// <summary> /// Process mono dsp chain. /// </summary> /// <param name="samples">Array of 16bit samples.</param> private void _ProcessDSPMono(ref Int16[] samples) { int len = samples.Length; int i = 0; unsafe { do { Bands.BiQuad(ref samples[i], Biquad100Left); Bands.BiQuad(ref samples[i], Biquad200Left); Bands.BiQuad(ref samples[i], Biquad400Left); Bands.BiQuad(ref samples[i], Biquad800Left); Bands.BiQuad(ref samples[i], Biquad1600Left); Bands.BiQuad(ref samples[i], Biquad3200Left); Bands.BiQuad(ref samples[i], Biquad6400Left); Bands.BiQuad(ref samples[i], BiquadHPF); Bands.BiQuad(ref samples[i], BiquadLPF); i++; } while (i < len); } }
/// <summary> /// Process mono dsp chain. /// </summary> /// <param name="samples">Array of 8bit samples.</param> private void _ProcessDSPStereo(ref byte[] buffer) { int len = buffer.Length; int i = 0; unsafe { len -= 1; do { // left channel Bands.BiQuad(ref buffer[i], Biquad100Left); Bands.BiQuad(ref buffer[i], Biquad200Left); Bands.BiQuad(ref buffer[i], Biquad400Left); Bands.BiQuad(ref buffer[i], Biquad800Left); Bands.BiQuad(ref buffer[i], Biquad1600Left); Bands.BiQuad(ref buffer[i], Biquad3200Left); Bands.BiQuad(ref buffer[i], Biquad6400Left); // right channel Bands.BiQuad(ref buffer[i + 1], Biquad100Right); Bands.BiQuad(ref buffer[i + 1], Biquad200Right); Bands.BiQuad(ref buffer[i + 1], Biquad400Right); Bands.BiQuad(ref buffer[i + 1], Biquad800Right); Bands.BiQuad(ref buffer[i + 1], Biquad1600Right); Bands.BiQuad(ref buffer[i + 1], Biquad3200Right); Bands.BiQuad(ref buffer[i + 1], Biquad6400Right); Bands.BiQuad(ref buffer[i], BiquadHPF); Bands.BiQuad(ref buffer[i + 1], BiquadHPF); Bands.BiQuad(ref buffer[i], BiquadLPF); Bands.BiQuad(ref buffer[i + 1], BiquadLPF); i += 2; } while (i < len); } }
/// <summary> /// Process stereo dsp chain. /// </summary> /// <param name="samples">Array of 16bit samples.</param> private void _ProcessDSPStereo(ref Int16[] samples) { int len = samples.Length; int i = 0; unsafe { len -= 1; do { // left channel Bands.BiQuad(ref samples[i], Biquad100Left); Bands.BiQuad(ref samples[i], Biquad200Left); Bands.BiQuad(ref samples[i], Biquad400Left); Bands.BiQuad(ref samples[i], Biquad800Left); Bands.BiQuad(ref samples[i], Biquad1600Left); Bands.BiQuad(ref samples[i], Biquad3200Left); Bands.BiQuad(ref samples[i], Biquad6400Left); // right channel Bands.BiQuad(ref samples[i + 1], Biquad100Right); Bands.BiQuad(ref samples[i + 1], Biquad200Right); Bands.BiQuad(ref samples[i + 1], Biquad400Right); Bands.BiQuad(ref samples[i + 1], Biquad800Right); Bands.BiQuad(ref samples[i + 1], Biquad1600Right); Bands.BiQuad(ref samples[i + 1], Biquad3200Right); Bands.BiQuad(ref samples[i + 1], Biquad6400Right); Bands.BiQuad(ref samples[i], BiquadHPF); Bands.BiQuad(ref samples[i + 1], BiquadHPF); Bands.BiQuad(ref samples[i], BiquadLPF); Bands.BiQuad(ref samples[i + 1], BiquadLPF); i += 2; } while (i < len); } }