Awesome Musicdsp
A curated list of my favourite music DSP and audio programming resources
Install / Use
npx skills add olilarkin/awesome-musicdspInstalls into whichever agent you are using.
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 Dev Skills - Claude Code marketplace for audio plugin development skills.
- More coming soon (see my iPlug3 manifesto)
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:
- iPlug2OOS - Continuing the theme of self-promotion, here is the latest and greatest iPlug2 template project, set up with CI/CD, installer scripts, github workspaces etc.
- pamplejuce - An excellent template for JUCE projects.
- wolfsound - audio-plugin-template - Jan Wilczek has made another excellent JUCE template
- JUCECmakeRepoPrototype - Eyal Amir also has one which looks good!
- Brad Howes AUv3 Template - A template for iOS/macOS AUv3 projects
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
qqbot-channel
385.5kQQ channel management skill. Use qqbot_channel_api for explicit QQ channel-management requests; confirm write, delete, and bulk actions before calling authenticated QQ Open Platform endpoints.
docs-writer
106.4kAlways use this skill when the task involves writing, reviewing, or editing files in the `/docs` directory or any `.md` files in the repository.
cpp
40.5kGuide Cursor to write modern C++ and CMake code with clear structure, RAII, const-correctness, and safe error handling.
gamemaker-gml
40.5kGameMaker Language (GML) rules for scripts, objects, events, rooms, data structures, and performance-minded game code
Security Score
Audited on Aug 6, 2026
