<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hydrogenaudio.org/index.php?action=history&amp;feed=atom&amp;title=Foobar2000%3AComponents_0.9%2Ffoo_dsp_multiresampler</id>
	<title>Foobar2000:Components 0.9/foo dsp multiresampler - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hydrogenaudio.org/index.php?action=history&amp;feed=atom&amp;title=Foobar2000%3AComponents_0.9%2Ffoo_dsp_multiresampler"/>
	<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/foo_dsp_multiresampler&amp;action=history"/>
	<updated>2026-04-30T09:52:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/foo_dsp_multiresampler&amp;diff=27085&amp;oldid=prev</id>
		<title>24.130.94.168 at 08:29, 22 November 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/foo_dsp_multiresampler&amp;diff=27085&amp;oldid=prev"/>
		<updated>2016-11-22T08:29:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:29, 22 November 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Modes&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Modes&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &lt;/del&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &lt;/del&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &lt;/del&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &lt;/del&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &lt;/del&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &lt;/del&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>24.130.94.168</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/foo_dsp_multiresampler&amp;diff=26290&amp;oldid=prev</id>
		<title>194.83.173.58: Created page with &quot;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...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/foo_dsp_multiresampler&amp;diff=26290&amp;oldid=prev"/>
		<updated>2015-02-03T17:27:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;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...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Modes&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;/div&gt;</summary>
		<author><name>194.83.173.58</name></author>
	</entry>
</feed>