<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://dev1galaxy.org/extern.php?action=feed&amp;tid=6593&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Dev1 Galaxy Forum / Pulse+Alsa: Is it really LINEAR interpolation?]]></title>
		<link>http://dev1galaxy.org/viewtopic.php?id=6593</link>
		<description><![CDATA[The most recent posts in Pulse+Alsa: Is it really LINEAR interpolation?.]]></description>
		<lastBuildDate>Mon, 06 May 2024 16:12:05 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Pulse+Alsa: Is it really LINEAR interpolation?]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=49828#p49828</link>
			<description><![CDATA[<p>Arch Wiki claims that the default ALSA resampler&#160; is not a resampler at all, but just a sort of &quot;linear interpolation&quot;:</p><div class="quotebox"><blockquote><div><p><a href="https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture#High_quality_resampling" rel="nofollow">https://wiki.archlinux.org/title/Advanc … resampling</a><br />&quot;When software mixing is enabled, ALSA is forced to resample everything to the same frequency (48 kHz by default when supported). By default, it will try to use the speexrate converter to do so, and fallback to low-quality linear interpolation if it is not available&quot;<br /><a href="https://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/pcm/pcm_rate.c;h=2eb4b1b33933dec878d0f25ad118869adac95767;hb=HEAD#l1278" rel="nofollow">https://git.alsa-project.org/?p=alsa-li … HEAD#l1278</a></p></div></blockquote></div><p>It is difficult to believe, but it might be true.</p><p>It was enough to replace the default ALSA resampler with fftrate, and sound quality with Firefox, PipeWire, pulse libs, and ALSA was essentially improved.<br />Although, of course, Firefox → apulse → ALSA (with fftrate plugin) produced much better result.<br />Notice that PipeWire was not removed.</p><p><strong>apulse</strong><br /><a href="https://github.com/i-rinat/apulse" rel="nofollow">https://github.com/i-rinat/apulse</a><br /><strong>fftrate</strong><br /><a href="https://github.com/PetrovSE/fftrate" rel="nofollow">https://github.com/PetrovSE/fftrate</a></p><div class="quotebox"><blockquote><div><p><strong>Linear interpolation</strong><br /><a href="https://en.wikipedia.org/wiki/Linear_interpolation" rel="nofollow">https://en.wikipedia.org/wiki/Linear_interpolation</a></p><p><span class="postimg"><img src="https://upload.wikimedia.org/wikipedia/commons/6/67/Interpolation_example_linear.svg" alt="Linear interpolation" /></span></p><p>Linear interpolation on a data set (red points) consists of pieces of linear interpolants (blue lines).</p></div></blockquote></div><p>It may sound extremely good.</p>]]></description>
			<author><![CDATA[dummy@example.com (igorzwx)]]></author>
			<pubDate>Mon, 06 May 2024 16:12:05 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=49828#p49828</guid>
		</item>
	</channel>
</rss>
