Difference between revisions of "Foobar2000:Components 0.9/foo dsp multiresampler"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(Created page with "Modes ZOH: Zero-Order Hold, or no interpolation whatsoever. No attempt is made to handle aliasing or jitter, and any sample ratios (in/out) of 1.0 or higher are guarantee...")
 
 
Line 1: Line 1:
 
Modes
 
Modes
  
    ZOH: Zero-Order Hold, or no interpolation whatsoever. No attempt is made to handle aliasing or jitter, and any sample ratios (in/out) of 1.0 or higher are guaranteed to start dropping input samples.
+
* ZOH: Zero-Order Hold, or no interpolation whatsoever. No attempt is made to handle aliasing or jitter, and any sample ratios (in/out) of 1.0 or higher are guaranteed to start dropping input samples.
  
    Blep Synthesis: Like Zero-Order Hold, only converting input sample streams into a stream of deltas/offsets, applying those offsets to the output buffer using a FIR sinc pulse with a slight low-pass filter, then integrating those output samples for the caller. An optional decay is applied to the accumulator on output, which is recommended for sample data which changes regularly, but not where constant DC offset is required.
+
* Blep Synthesis: Like Zero-Order Hold, only converting input sample streams into a stream of deltas/offsets, applying those offsets to the output buffer using a FIR sinc pulse with a slight low-pass filter, then integrating those output samples for the caller. An optional decay is applied to the accumulator on output, which is recommended for sample data which changes regularly, but not where constant DC offset is required.
  
    Linear Interpolation: Self-explanatory, interpolates between two surrounding samples in a linear fashion. No attempt is made to handle sample rates over 1.0, so aliasing will occur in those cases.
+
* Linear Interpolation: Self-explanatory, interpolates between two surrounding samples in a linear fashion. No attempt is made to handle sample rates over 1.0, so aliasing will occur in those cases.
  
    Blam Synthesis: Like Linear Interpolation, only interpolated samples are processed in the same way as Blep Synthesis, through a FIR impulse sinc resampler. For sample ratios over 1.0, input samples are not interpolated, but merely Blep Synthesized into the output buffer, using the same phase/fraction precision as the Blep Synthesis resampler. Thus, high sample rates are handled gracefully, and filtered in a pleasing manner.
+
* Blam Synthesis: Like Linear Interpolation, only interpolated samples are processed in the same way as Blep Synthesis, through a FIR impulse sinc resampler. For sample ratios over 1.0, input samples are not interpolated, but merely Blep Synthesized into the output buffer, using the same phase/fraction precision as the Blep Synthesis resampler. Thus, high sample rates are handled gracefully, and filtered in a pleasing manner.
  
    Cubic Interpolation: Uses a simple cubic spline coefficient table, to draw a cubic spline between four samples surrounding the desired input point. Makes no attempt to handle ratios over 1.0 in a special way, so depending on how high the ratio actually is, some aliasing may occur.
+
* Cubic Interpolation: Uses a simple cubic spline coefficient table, to draw a cubic spline between four samples surrounding the desired input point. Makes no attempt to handle ratios over 1.0 in a special way, so depending on how high the ratio actually is, some aliasing may occur.
  
    Sinc Interpolation: Uses the same Nuttall 3-term windowed sinc to sample from the input data, producing individual output samples. Not exactly the best at low pass or high pass restriction, but produces a fairly decent conversion of decent to high quality samples.
+
* Sinc Interpolation: Uses the same Nuttall 3-term windowed sinc to sample from the input data, producing individual output samples. Not exactly the best at low pass or high pass restriction, but produces a fairly decent conversion of decent to high quality samples.

Latest revision as of 08:29, 22 November 2016

Modes

  • ZOH: Zero-Order Hold, or no interpolation whatsoever. No attempt is made to handle aliasing or jitter, and any sample ratios (in/out) of 1.0 or higher are guaranteed to start dropping input samples.
  • Blep Synthesis: Like Zero-Order Hold, only converting input sample streams into a stream of deltas/offsets, applying those offsets to the output buffer using a FIR sinc pulse with a slight low-pass filter, then integrating those output samples for the caller. An optional decay is applied to the accumulator on output, which is recommended for sample data which changes regularly, but not where constant DC offset is required.
  • Linear Interpolation: Self-explanatory, interpolates between two surrounding samples in a linear fashion. No attempt is made to handle sample rates over 1.0, so aliasing will occur in those cases.
  • Blam Synthesis: Like Linear Interpolation, only interpolated samples are processed in the same way as Blep Synthesis, through a FIR impulse sinc resampler. For sample ratios over 1.0, input samples are not interpolated, but merely Blep Synthesized into the output buffer, using the same phase/fraction precision as the Blep Synthesis resampler. Thus, high sample rates are handled gracefully, and filtered in a pleasing manner.
  • Cubic Interpolation: Uses a simple cubic spline coefficient table, to draw a cubic spline between four samples surrounding the desired input point. Makes no attempt to handle ratios over 1.0 in a special way, so depending on how high the ratio actually is, some aliasing may occur.
  • Sinc Interpolation: Uses the same Nuttall 3-term windowed sinc to sample from the input data, producing individual output samples. Not exactly the best at low pass or high pass restriction, but produces a fairly decent conversion of decent to high quality samples.