Expert Sleepers disting NT: C++ API and Faust – Custom Algorithms in Your Rack

11. March 2025

MILES

Expert Sleepers disting NT: C++ API and Faust – Custom Algorithms in Your Rack

Expert Sleepers continues to blur the boundaries between modular hardware and software with the latest disting NT firmware, introducing a C++ API for user-created plug-ins. In this official walkthrough, the developer demonstrates how the module now invites users to craft their own DSP algorithms, load effects and generators, and even port code from the Faust language. The focus is firmly on practical patching and open-ended sound design, with a nod to the thriving community and the promise of a truly modular approach to module functionality. If you’re the sort who dreams in code and CV, this is one for the breadboard brigade.

A New Frontier: C++ API Arrives on the disting NT

Expert Sleepers’ disting NT has always been a chameleon in the Eurorack world, but with firmware v1.7.0, it takes on a new dimension: the ability to run user-developed plug-ins via a C++ API. This is not just a minor update; it’s a fundamental shift that puts the module in the same conceptual space as DAW plug-in hosts, but with patch cables and CV instead of mouse clicks. The video opens with a clear statement of intent—this is about empowering users to write and load their own algorithms, echoing the flexibility of VSTs but in hardware form.

The developer wastes no time in positioning the disting NT as a platform for musical exploration, where the boundaries between built-in algorithms and user code are deliberately blurred. For those who’ve ever wished their rack could run their own DSP experiments, or simply wanted to port a favourite effect, this update is a direct invitation. It’s a move that feels very much in line with Expert Sleepers’ ethos: practical, open-ended, and always with an eye on what modular users might actually want to do in a patch.

The module now has a C++ API that you can use to write plugins.

© Screenshot/Quote: Expertsleepersltd (YouTube)

Plug-ins in Practice: Loading and Tweaking Custom Code

It's a super simple file, the C++ that you can write and compile, load on the listing and do that.

© Screenshot/Quote: Expertsleepersltd (YouTube)

The video quickly moves from theory to hands-on patching, showing how plug-ins are loaded alongside the usual disting NT algorithms. The process is straightforward: plug-ins appear at the end of the algorithm list, clearly marked, and can be loaded and added to a preset just like any other function. This is demonstrated with a classic example—a simple Gain plug-in, a nod to the earliest days of VST development, where multiplying two numbers was a rite of passage for DSP tinkerers.

Once loaded, the Gain plug-in behaves like any other algorithm in the disting NT ecosystem. The routing is set so it processes a piano sound running through the module, and the gain parameter is adjusted in real time. The demonstration makes it clear that integrating custom DSP code is not just possible but actively encouraged, with the process feeling native to the module’s workflow. Removing or swapping plug-ins is equally direct, reinforcing the idea that user code is a first-class citizen in the disting NT’s world.

Faust Power: Greyhole and Beyond

The real magic happens when the video turns to Faust, the open-source DSP language beloved by many for its approachable syntax and vast library of effects. Here, the developer demonstrates loading the ‘greyhole’ effect—a lush, washy reverb inspired by a well-known guitar pedal—converted from Faust code and running natively on the disting NT. The effect is loaded, routed, and immediately transforms the piano sequence into a cavernous soundscape, with parameters like feedback providing dramatic shifts in texture.

The demonstration doesn’t stop at effects. The presenter points out that synths and sound generators are equally possible, loading a simple sawtooth oscillator plug-in as proof. This opens the door to a whole universe of possibilities: not just effects processing, but custom oscillators, filters, and more, all defined by user code. The process of converting Faust DSP code for the module is presented as accessible, especially for those already dabbling in the language or keen to experiment with its libraries.

What stands out is how the disting NT becomes a canvas for both classic and experimental DSP, whether you’re after massive reverbs, quirky delays, or your own oscillator designs. The ability to port existing open-source code means users can stand on the shoulders of giants, bringing tried-and-tested algorithms into their modular workflow with minimal friction.

It is indeed a big washy effect, as the name suggested.

© Screenshot/Quote: Expertsleepersltd (YouTube)

Community, Code, and Creative Workflows

Expert Sleepers highlights the active community around the disting NT’s new API, encouraging users to get involved via GitHub and Discord. The presenter notes that the performance of user plug-ins is nearly on par with the built-in algorithms, thanks to a thin API layer that doesn’t get in the way of real-time processing. This is not just a technical curiosity—it’s an open invitation to collaborative development and sharing of algorithms, effects, and generators.

The workflow is designed to be as seamless as possible, whether you’re building from scratch or adapting existing code. The video suggests that the disting NT is evolving into a genuinely open platform, where the boundaries between developer and user, effect and instrument, are increasingly porous. For modular enthusiasts, this means a rack that can evolve with the community, absorbing new ideas and techniques as fast as they can be coded.


Faust Integration: Expanding the Modular Palette

Faust is a functional programming language designed specifically to make it easy to develop musical stuff, audio stuff.

© Screenshot/Quote: Expertsleepersltd (YouTube)

The final section delves deeper into Faust itself, explaining its origins as a functional programming language tailored for musical DSP. The presenter walks through the Faust IDE, showing how users can write or adapt code, generate signal flow diagrams, and even audition effects in the browser before exporting them as plug-ins for the disting NT. The process is illustrated with the greyhole effect, highlighting the continuity between the code, the UI, and the hardware implementation.

Crucially, the integration of Faust doesn’t lock users in—if you prefer to write pure C++ or adapt existing code, that’s equally supported. But Faust’s libraries, with their wealth of reverbs, filters, synths, and more, offer a treasure trove for adventurous patchers. The video closes with a reminder that the disting NT is now a platform for deep customization, where the only real limit is your imagination—and perhaps your appetite for debugging DSP code at 2am.

Watch on YouTube: