SkillAgentSearch skills...

Awesome Musicdsp

A curated list of my favourite music DSP and audio programming resources

Install / Use

npx skills add olilarkin/awesome-musicdsp

Installs into whichever agent you are using.

About this skill

Quality Score

0/100

Supported Platforms

Universal

README

More Awesome Music DSP*

This is a curated list of my favourite music DSP and audio programming resources. * It was originally meant to be an official "Awesome list", but apparently you are not meant to write in the first person, so it is now a "more awesome" list.

Oli Larkin

New - Agentic AI coding tools for audio programmers

Audio Plug-in/App Frameworks

  • iPlug2 - Originally created by Cockos, iPlug is an awesome plug-in framework. For a long time, I was maintaining a fork of iPlug1, but over the last few years Alex Harker and I have reworked it into something new, with the imaginitive name: iPlug2. It's a massive improvement on the original version, adding support for GPU accelerated vector graphics, resizable high DPI UIs, iOS, WebViews, AUv3 and compiling to WebAudio/WASM, amongst many other things. iPlug2's syntax is super simple, for example, creating a parameter or a control in the UI is only a single line of C++ code.
  • JUCE - JUCE is an undeniably awesome C++ application/plug-in framework with audio roots. It boasts a vast amount of functionality for the development of music software, including support for almost all plug-in formats and platforms. JUCE is used widely in the music technology industry and it has excellent documentation, code standards, features and support. The JUCE team organise the Audio Developer's Conference (ADC) which is one of the best conferences to attend if you like audio programming. What's more all the videos from all the ADCs so far are available on youtube.
  • AudioKit - AudioKit uses the Swift programming language. It's a high level DSP and UI toolkit for audio things. If you want to make apps for Apple's devices this is a great option, although if you want to do more low level, custom DSP, you will still have to do some C/C++.
  • ASPiK - This is a framework from Will Pirkle, used in his books, which is based on the VST3 SDK and it's AU/AAX wrappers, along with VST GUI and its runtime UI editor. It includes a project creator and a lot of extra "nuts and bolts" code for plug-in development.
  • DPF - Distrho Plug-in Framework is a nice C++ plug-in framework by falkTX, supporting lots of Linux formats.
  • Jamba - A new framework built on top of the VST3SDK & VSTGUI, with some useful extra widgets and good CMake support
  • DPlug - A plug-in framework using the D programming language, that has had a huge amount of work over many years. I haven't tried it, but I've decided to include it here in solidarity with the authors. As a fellow open-source framework developer, it's nice if people know about your work.
  • Steinberg VST3 SDK - The Steinberg VST3 SDK has been around for a long time, but recent versions start to add a lot of great features such as really good CMake support, Lots of documentation, and a nice template project. Since Steinberg include wrappers for VST2, AUv2, AUv3 and AAX it is somewhat like a plug-in framework.
  • CPLUG - A smart new plug-in abstraction in C that targets VST3, AUv2, CLAP and Standalone formats on desktop. It's very new but a nice clean and minimal way to target multiple formats producing tiny binaries. Also includes hot reloading capabilities for the standalone targets.

Audio plug-in templates

If you want to create a robust cross-platform audio plug-in, there is a lot more involved than just programming your DSP and creating a user interface. There are many extra things to set up such as installers, testing, building in the cloud using github actions etc. Although these things are less fun than audio programming they will make your life much easier in the long term, but it becomes very tedious to set them up manually again and again. If you want to just be creative with a new project, it's smart to have a good template to start with, which is pre-configured to build and test your code in the cloud in a reproducible way. Here are some templates that people have made that you might want to use or look at if you are creating your own:

UI Frameworks

  • VSTGUI - VSTGUI is Steinberg's cross-platform UI framework for audio plug-ins. It is released under a BSD licence, it's an impressive piece of work and many plug-in developers use it for their products.
  • Elements - A very promising UI framework for audio software using modern C++.
  • PUGL - A cross platform GLFW-like solution that lets plug-in developers use OpenGL for their UIs

DSP Libraries

  • Gamma - Gamma is a very awesome C++ DSP library by Lance Putnam. The beauty of Gamma is the conciseness of the implementation of certain techniques. How about this for a concise STFT example.
  • Q - A very nice looking modern C++ DSP library with concise examples
  • HIIR - HIIR is a seriously cool oversampling library by Laurent de Soras. Oversampling is something we often need in audio DSP, and this library handles it elegantly - providing a variety of classes for low latency IIR half band filtering (including SIMD optimizations). Originally this had a LGPL licence but now it's available under the WTFPL - my favourite licence.
  • HOALibrary - A flexible DSP library for high order ambisonics (HOA) - a spatial audio platform that is becoming more and more relevant thanks to VR (GPL Licence).
  • HISSTools Library - a nice BSD licensed library by Alex Harker, including FFT abstractions and multi-channel convolution, amongst other things
  • Mach1 Spatial SDK - Vector based multichannel & spatial audio APIs for customizing multichannel or spatial audio pipelines & tools and agnostically playback any spatial, surround soundfields.
  • Spatial Audio Framework - Another excellent library for ambisonics and other spatial audio related processing
  • MadronaLib - Randy Jones' DSP library, which is awesome because it is all designed for SIMD processing.
  • WDL - WDL is Cockos' library of reusable C++ code, that is used to make the DAW Reaper, amongst other things. It includes open source implementations of many useful things such as resampling and convolution, although there is next to no documentation and the code is difficult to understand. For more info about the various parts of WDL (which can be used independently), check the Cockos site
  • DaisySP - A MIT licensed DSP library written for the Daisy platform, but also useable elsewhere. I like it because it includes some nice ports of Emilie Gillet's mutable instruments code.
  • SignalSmithDSP - A really nice looking DSP library, along with a really nice blog/website with a collection of nice articles, e.g. How to write a reverb, see also a video presentation

Music Information Retrieval Libraries (C/C++)

  • librosa.cpp - Librosa is a widely used Python library for MIR tasks. With a little help from my agents, i've systematically ported it to a C++ library with WASM and Swift Package to boot.
  • essentia - Essentia is a huge collection of MIR algorithms that you can use to extract high and low level features from audio. AGPL3 license. Somewhat painful to build cross-platform.
  • audioflux - AudioFlux is a new-kid-on the block and some what similar but looks designed for deep learning, it looks very promising and has a liberal (MIT) license.

Domain Specific Languages (DSLs)

  • FAUST - FAUST is a powerful functional DSL for audio DSP with many options for quickly compiling to different “architectures” including audio plug-ins and embedded devices. FAUST is not interpreted like programming languages such as Puredata/Max/Supercollider/javascript, it is ["transpiled"](https://stackoverflow.com/quest

Related Skills

View on GitHub
GitHub Stars3.0k
CategoryContent
Updated1d ago
Forks110

Security Score

100/100

Audited on Aug 6, 2026

No findings