<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[Blog] My Favourite C++ Open Source DSP References]]></title><description><![CDATA[<h2>Back From Hibernation: My Favourite C++ Open Source DSP References</h2>
<p dir="auto">Hi HISE forum!</p>
<p dir="auto">It’s been a while since I’ve made a proper post here. I used to be a lot more active, then work swallowed me whole for what feels like a couple of years.</p>
<p dir="auto">In that time I’ve mostly been writing C++ DSP, analog modelling, optimisation, and the little details that make audio code really solid.</p>
<p dir="auto"><img src="/assets/uploads/files/1780526645198-1aa92f1b-56a0-4532-a4df-342cad49319f-image.png" alt="1aa92f1b-56a0-4532-a4df-342cad49319f-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">So for my first post in a while, I thought I’d share something useful:<br />
some of my favourite DSP references.</p>
<p dir="auto">These are the papers, codebases and blogs I keep coming back to.</p>
<p dir="auto">Not an ultimate list. Just a few of my favourite resources I personally use and think are worth studying if you’re learning C++ DSP.</p>
<p dir="auto"><em>disclaimer: This is all intended for intermediate to advanced DSP coders.</em></p>
<hr />
<h3>ResearchGate</h3>
<p dir="auto"><a href="https://www.researchgate.net/search/publication?q=Virtual+Analog+Filter" rel="nofollow ugc">ResearchGate</a></p>
<p dir="auto">This is one of the places I use to find research papers. I use other sites as well, but ResearchGate is my first go-to.</p>
<p dir="auto">This site has research from lots of different fields, so not everything will be useful for DSP. You’ll have to search.</p>
<p dir="auto">If you find a paper you like, you can click the author's profile and see what else they’ve written.</p>
<p dir="auto"><strong>Good for:</strong> finding papers by topic and discovering the best authors working in that research area.</p>
<hr />
<h3>DAFX Paper Archive</h3>
<p dir="auto"><a href="https://www.dafx.de/paper-archive/" rel="nofollow ugc">DAFX paper archive</a></p>
<p dir="auto">The papers are all relevant to DSP.</p>
<p dir="auto">DAFX is one of the main places I check when I want to see what is happening on the cutting edge.</p>
<p dir="auto">Virtual analog modelling, Neural Effects and AI, reverbs, advanced physical modelling, new optimization methods. That sort of thing.</p>
<p dir="auto"><strong>Good for:</strong> serious audio DSP research and finding techniques you probably won’t see in open source codebases</p>
<hr />
<h3>Vital</h3>
<p dir="auto"><a href="https://github.com/mtytel/vital" rel="nofollow ugc">Vital GitHub</a></p>
<p dir="auto">This is the older open source version of Vital.<br />
The later versions of Vital are not open source, but the old version is still on GitHub.</p>
<p dir="auto">A really nice resource for seeing how a full wavetable synthesiser codebase is organised. The wavetable oscillator engine is worth studying, and the parameter / modulation systems are written with performance in mind.</p>
<p dir="auto">The effect DSP is not the best part of the codebase. I would look elsewhere for more rigorous effect implementations.</p>
<p dir="auto"><strong>Good for:</strong> wavetable synthesis, modulation/parameter systems, full plugin architecture.</p>
<hr />
<h3>chowdsp_utils</h3>
<p dir="auto"><a href="https://github.com/Chowdhury-DSP/chowdsp_utils" rel="nofollow ugc">chowdsp_utils GitHub</a></p>
<p dir="auto">This is one of my favourite open source DSP codebases.</p>
<p dir="auto">It contains a lot of practical building blocks for audio effects: buffers, filters, delays, math utilities, and lots of other useful pieces.</p>
<p dir="auto">The reason I like it so much is that it is clean, modern, and very performance-aware.<br />
I look at this repo constantly when I want to check how someone else has approached optimizing the essential basics of DSP.</p>
<p dir="auto"><strong>Good for:</strong> highly efficient DSP, modern C++ style.</p>
<hr />
<h3>chowdsp_wdf</h3>
<p dir="auto"><a href="https://github.com/Chowdhury-DSP/chowdsp_wdf" rel="nofollow ugc">chowdsp_wdf GitHub</a></p>
<p dir="auto">WDF circuit simulation framework.</p>
<p dir="auto"><em>...You can tell I like Jatin Chowdhury?</em></p>
<p dir="auto">This library is not a complete “simulate any circuit you can imagine” framework. There are many circuits it will not handle. But it's cleanly written and efficient, and it is a great starting point for understanding realtime WDF circuit simulation.</p>
<p dir="auto">If you are interested in analog modelling, this is a good repo to study slowly. WDFs can feel pretty alien at first, but seeing a practical implementation helps a lot.</p>
<p dir="auto"><strong>Good for:</strong> learning WDF structure and getting started with realtime circuit modelling.</p>
<hr />
<h3>Valhalla Reverb Blogs</h3>
<p dir="auto"><a href="https://valhalladsp.com/blog/?srsltid=AfmBOorW18tUeqnpukJWp3BesFhOSQKN2plLMDjcNJiscfITZcS9U96b" rel="nofollow ugc">Valhalla DSP blog</a><br />
<a href="https://valhalladsp.wordpress.com/" rel="nofollow ugc">Old Valhalla DSP blog</a><br />
<a href="https://gearspace.com/board/geekzone/380233-reverb-subculture.html" rel="nofollow ugc">Reverb Subculture thread on Gearspace</a></p>
<p dir="auto">Getting started with reverb design?</p>
<p dir="auto">There are some great snippets on the Valhalla blogs, and a lot of useful information spread across old forum threads if you are patient enough to dig.</p>
<p dir="auto">Reverb design is one of those areas where the useful knowledge is scattered across blogs and forums. It's all a bit secretive.</p>
<p dir="auto"><strong>Good for:</strong> algorithmic reverb design, historical context around classic digital reverbs.</p>
<hr />
<h3>Laurent de Soras</h3>
<p dir="auto"><a href="https://ldesoras.fr/prod.html#src" rel="nofollow ugc">Laurent de Soras source code</a></p>
<p dir="auto">High performance implementations of FFT, oversampling, resampling, and digital filters.</p>
<p dir="auto">This is excellent material for studying a slightly older style of DSP coding.<br />
The optimisation strategies are different from chowdsp_utils, so it makes a good contrast.</p>
<p dir="auto">I like looking at code like this because it reminds you that modern C++ is not the only way to write optimized audio code. Sometimes older DSP code has a directness that is worth studying.</p>
<p dir="auto">All of the implementations are efficient, and scientifically rigorous. If I'm not mistaken, this is the man who wrote the antialiasing algorithm for Xfer "Serum" synth.</p>
<p dir="auto"><strong>Good for:</strong> FFT, oversampling, resampling, digital filters</p>
<hr />
<h3>libsamplerate</h3>
<p dir="auto"><a href="https://github.com/libsndfile/libsamplerate" rel="nofollow ugc">libsamplerate GitHub</a></p>
<p dir="auto">High quality sample rate conversion.</p>
<p dir="auto">This is a well regarded implementation if you are interested in resampling quality. The interesting part is the resampling filter design: how the signal is reconstructed when changing sample rate / pitch / playbackspeed, and how the implementation balances quality against cost.</p>
<p dir="auto">Resampling is one of those things that looks simple until you try to do it without artefacts.</p>
<p dir="auto"><strong>Good for:</strong> sample rate conversion, resampling filter quality, and understanding aliasing / artefact tradeoffs.</p>
<hr />
<h3>RipplerX</h3>
<p dir="auto"><a href="https://github.com/tiagolr/ripplerx" rel="nofollow ugc">RipplerX GitHub</a></p>
<p dir="auto">Basic physical modelling synth.</p>
<p dir="auto">It is not fully optimised, but it is a good starting point because the code is easy to read and follow.</p>
<p dir="auto">Sometimes that is exactly what you want. A codebase doesn't need to be the most advanced thing on earth to be useful. Sometimes the best learning resource is one where you can clearly see what is happening inside.</p>
<p dir="auto"><strong>Good for:</strong> simple resonator / exciter structures and basic physical modelling before moving on to more optimised implementations.</p>
<hr />
<h2>How Do I Study These?</h2>
<p dir="auto">I usually open the example code or research paper on one monitor, then keep ChatGPT or Codex open on the other, and ask it to explain what I’m looking at.</p>
<p dir="auto">Repeat until I understand the whole thing.</p>
<p dir="auto">While doing this, I write my own code, compare against the example codebases, read related papers, and look at other implementations of the same idea. Yes, this process takes years!</p>
<p dir="auto">There isn’t any particular secret, I’m afraid! Just a lot of time and hard work.</p>
<p dir="auto">Once you’ve studied enough papers and codebases, you start seeing extra techniques the original author didn’t use, and that’s where you can improve the accuracy or efficiency, and create a piece of DSP that is better than your reference.</p>
<p dir="auto">Nowadays I always benchmark my own work against the next best open source implementations. When I write new DSP, I want to make sure it outperforms the best public examples.<br />
Fun challenge for yourself ; )</p>
<p dir="auto">Anyway, that’s enough from me!<br />
Hopefully this is interesting to someone out there.</p>
<p dir="auto">If there is an area of DSP you’re looking into, feel free to send me a message or comment on this thread! I’d be more than happy to share my favourite resources / chat.</p>
]]></description><link>https://forum.hise.audio/topic/14805/blog-my-favourite-c-open-source-dsp-references</link><generator>RSS for Node</generator><lastBuildDate>Thu, 04 Jun 2026 01:40:48 GMT</lastBuildDate><atom:link href="https://forum.hise.audio/topic/14805.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Jun 2026 22:44:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Blog] My Favourite C++ Open Source DSP References on Thu, 04 Jun 2026 00:52:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/449">@ustk</a></p>
<p dir="auto">Glad it's interesting!<br />
These are a few very select references.</p>
<p dir="auto">But the actual number of codebases and papers I look at when I'm writing DSP is well over 500 that I keep on my harddrive. Obviously it would be silly to paste that many links, and would take too long to explain each one.</p>
<p dir="auto">But I can share more of my finds <em>for specific DSP areas</em> if people are interested.</p>
]]></description><link>https://forum.hise.audio/post/120820</link><guid isPermaLink="true">https://forum.hise.audio/post/120820</guid><dc:creator><![CDATA[griffinboy]]></dc:creator><pubDate>Thu, 04 Jun 2026 00:52:14 GMT</pubDate></item><item><title><![CDATA[Reply to [Blog] My Favourite C++ Open Source DSP References on Thu, 04 Jun 2026 00:00:59 GMT]]></title><description><![CDATA[<p dir="auto">Im barely learning right now but im excited to dig through this info! Thanks! <img src="https://forum.hise.audio/assets/plugins/nodebb-plugin-emoji/emoji/android/1f64f.png?v=fba14f4754a" class="not-responsive emoji emoji-android emoji--pray" style="height:23px;width:auto;vertical-align:middle" title=":pray:" alt="🙏" /></p>
<p dir="auto">Im still getting beginner errors while trying to compile a network to dll. lol Making a new post about that if anyone here can help. ---&gt;</p>
]]></description><link>https://forum.hise.audio/post/120817</link><guid isPermaLink="true">https://forum.hise.audio/post/120817</guid><dc:creator><![CDATA[Chazrox]]></dc:creator><pubDate>Thu, 04 Jun 2026 00:00:59 GMT</pubDate></item><item><title><![CDATA[Reply to [Blog] My Favourite C++ Open Source DSP References on Wed, 03 Jun 2026 23:56:43 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/3542">@griffinboy</a> This is goldmine...</p>
]]></description><link>https://forum.hise.audio/post/120816</link><guid isPermaLink="true">https://forum.hise.audio/post/120816</guid><dc:creator><![CDATA[ustk]]></dc:creator><pubDate>Wed, 03 Jun 2026 23:56:43 GMT</pubDate></item></channel></rss>