EMCT: COMPUTING MAJOR PROJECT

Part 5: RustyAudioLibrary, a Pivot

Rusty
3 min readAug 4, 2023

Deciding not to make a series of plugins but instead a singular stand alone library.

Hello, all. Today, I want to share a significant decision. I have decided to pivot and have left behind the idea of making plugins from scratch and instead, I have decided to build an audio framework from scratch.

Why the change? Well, let me take you on a journey through my thought process.

As I delved deeper into the project, I realised that creating plugins from scratch essentially involved building a framework anway. The complexity and intricacies involved in programming audio tools from scratch were intense and time-consuming. I had to consider the project scope and the feasibility of developing plugins with comprehensive functionality from scratch. It dawned on me that this task didn’t really make sense for my goals and rather the development of my own workflow to instantiate audio tool behaviour seemed a far better idea.

The realisation has not been immediate. It took me a while to understand that making a plugin without a framework meant constructing a framework first and then developing a plugin. I’ve started development on an audio engine, and regardless of whether that sits inside of a standalone plugin or is a class used to make many plugins, either way an audio engine will have to be built sooner. Even seemingly straightforward tasks such as compiling the project proved to be complex, involving multiple build scripts and makefiles, tasks typically handled and associated with frameworks.

As I pondered the use cases, it became clear that a versatile audio library, which users could experiment with, would likely be more beneficial than plugins with code walkthroughs. The project was already necessitating the construction of the individual components anyway so why not. A library seemed a more logical choice and I have great adimiration for deeply technical works taken on by lecturers at my univeristy like Maximilian audio. Trying to create something like Maximilian aligns better with my focus on audio frameworks and I feel will embellish my audio programming skills more, which is one of the primary goals of this project.

Ultimately, the decision to build a library rather than a plugin was a pivot of necessity, I don’t think it was going to be feasible to explore the use cases of audio frameworks by custom speccing pugins over and over. Nevertheless it’s a pivot I’m happy with. It’s already given me more direction for exploration of the underlying theory of audio effects and the use cases of an audio framework would provide more versatility for end users.

So, there you have it. We’re no longer making plugins. This choice will offer me more flexibility with what I can implement and seems more beneficial to the casual audio programmer use case.

Stay tuned for more insights and stories from my journey in developing RustyAudioLibrary. Next, building the processing units. Oh DSP!

Written: May 30, 2023

--

--

Rusty

Audio, Coding, Technology and Music --- Educational blog posts on a variety of creative computing works.