Plugin development philosophy

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

User avatar
Michael Willis
Established Member
Posts: 1460
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 71 times
Been thanked: 169 times
Contact:

Plugin development philosophy

Post by Michael Willis »

I've been looking at the implementations of several open source audio plugin suites (airwindows, bluelab, calf, lsp, and tap) to see what I can learn about how they do different dsp effects.

Some plugins follow a "unix philosophy" of doing just one thing well, which allows a musician to stack them in various ways. A lot of the airwindows plugins are like this.

Other plugins are more monolithic, with multiple effect stages built in. For example calf bass enhancer has the following stages: input gain -> low pass filter -> tap tube saturation -> another low pass filter -> optional high pass filter -> output gain.

Looking at the latter example, I thought it might be interesting to develop a bass enhancer plugin, but with some additional options in the saturation stage. Maybe it would be nice to have an option to pick a tape saturation effect instead. Then I wondered about what's the point of even developing a new plugin? I could do this with a combination of airwindows plugins stacked in my DAW, and then I don't need yet another plugin.

On the other hand, it is nice to have a single component that solves a specific problem (In this case - "My kick drum needs more oomph").

Do people tend to prefer smaller composable "unix-style" plugins, or larger "monolithic" plugins?

Last edited by Michael Willis on Thu Sep 28, 2023 5:53 pm, edited 1 time in total.
nils
Established Member
Posts: 538
Joined: Wed Oct 22, 2008 9:05 pm
Has thanked: 35 times
Been thanked: 94 times
Contact:

Re: Plugin development philosophy

Post by nils »

Good and plenty of base plugins are very important and good.

But the amount of knowledge to do something good with them is too high. I prefer the monolithic, "automagic" plugins.
https://github.com/danielrothmann/Roth-AIR is a good example that I really like to use.

To be a bit evil and mean, I also think that many open source devs just "stop" after developing the basic stage instead of building higher level plugins out of that base technology that fulfill a musical purpose. That may be in part because the open source audio devs are not actually musicians themselves so they don't actually know what to do with the things they created besides the most, technical, cases.
One indicator (a strong one for me) is that most plugins don't have presets. Please point me to an EQ or Compressor etc. that has builtin presets named after instruments or singing ranges and also sorted by musical genre.
I open an EQ an I want "male singing voice, pop" or "acoustic guitar, singer/songwriter"

User avatar
Michael Willis
Established Member
Posts: 1460
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 71 times
Been thanked: 169 times
Contact:

Re: Plugin development philosophy

Post by Michael Willis »

Thanks Nils, that's kind of what I want to do. Here are some things that I imagine for a new plugin suite:

  • Multi-stage effects - perform "magic" without forcing people to think too hard about stacking components

  • Nice user interface - some controls to play with, but not so many that it's overwhelming

  • Visual feedback about what the controls are doing (like the spectrogram in Dragonfly Reverb)

  • Cross platform - Linux, Mac, Windows | AU, LV2, VST3

  • Modern UI development, supporting HiDPI, etc.

Last edited by Michael Willis on Thu Sep 28, 2023 4:37 pm, edited 1 time in total.
User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: Plugin development philosophy

Post by Impostor »

Modularity in the audio plugin world should mostly occur on the level of DSP algorithms, which can be combined by developers in various ways to create ready-to-use plugins for the user. imo.

User avatar
Largos
Established Member
Posts: 639
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 72 times
Been thanked: 186 times

Re: Plugin development philosophy

Post by Largos »

@nils I made presets for the LSP Equalizer that were put in a while ago. There were genre ones. Not male singing voice though. What kind of male voice anyway?..., barry white, barry gibb :wink:

User avatar
Michael Willis
Established Member
Posts: 1460
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 71 times
Been thanked: 169 times
Contact:

Re: Plugin development philosophy

Post by Michael Willis »

Largos wrote: Thu Sep 28, 2023 4:24 pm

What kind of male voice anyway?..., barry white, barry gibb :wink:

Barry Manilow

barbouze
Established Member
Posts: 186
Joined: Tue May 26, 2015 12:26 pm
Has thanked: 2 times
Been thanked: 16 times

Re: Plugin development philosophy

Post by barbouze »

imho, the value of big monolithic plugins is in their tuning and overall control over their sound.
Most of them are, as you wrote, using basing dsp blocs that could be replicated in like VCV Rack.
But tuning X modules offering Y controls or just twiddle 2 knobs that do the heavy lifting for you and still sound right is why they still exist.

SmoothMountain
Established Member
Posts: 25
Joined: Sat Mar 23, 2019 11:45 pm
Been thanked: 6 times

Re: Plugin development philosophy

Post by SmoothMountain »

Interesting conversation here!

I've been leaning towards "unix philosophy" building block plugins lately. It depends, though. For typical scenarios like fattening the bass or something along those lines, I may use a monolithic plugin.

I've been trying to get more separation in my mixes using techniques I've seen in Dan Worrall videos, with parallel filters: https://www.youtube.com/watch?v=QyZbIbjvQVE (at about 5 minutes into the vid) and "super separator" (delays): https://www.youtube.com/watch?v=-ch6mbGgZU8

These kinds of things are more edge case, but it would be great to have a plugin that has 4 inputs (2 stereo), and a stereo out, and the various phase reversal, downward expander, and either delay or filter DSP, with a GUI that lays it out logically. That would be a great mixing tool!

BTW, the Dragonlfly verbs are GREAT! Thank you!

User avatar
Audiojunkie
Established Member
Posts: 403
Joined: Thu Feb 21, 2019 4:27 pm
Has thanked: 392 times
Been thanked: 157 times

Re: Plugin development philosophy

Post by Audiojunkie »

I've always felt that the advantage of monolithic over modular is in the ability to save the whole thing as a patch/preset. Otherwise, there isn't much of a difference. It is for this reason that I like to have everything (including effects) built into my synth patches, so that I can have the exact mod, delay, reverb, etc for a patch. Then, I only need to tweak it slightly for the mix.

The strength of a modular over monolithic is the routing/modulation points. This too has its benefits.

The ideal, is that we can combine both into one software plugin these days, allowing for modular synths with full effects and everything saved to a simple patch. :)

User avatar
Michael Willis
Established Member
Posts: 1460
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 71 times
Been thanked: 169 times
Contact:

Re: Plugin development philosophy

Post by Michael Willis »

Audiojunkie wrote: Thu Sep 28, 2023 10:15 pm

The ideal, is that we can combine both into one software plugin these days, allowing for modular synths with full effects and everything saved to a simple patch. :)

You can do that with Carla, which allows you to load any combination of plugins and then save them as a preset.

Rakarrack is also kind of like that, except that all of its effects are built in, and as such it has a whole pile of presets. The downside is that you are limited to only the effects that it already has.

tseaver
Established Member
Posts: 408
Joined: Mon Mar 13, 2017 6:07 am
Has thanked: 12 times
Been thanked: 102 times

Re: Plugin development philosophy

Post by tseaver »

@Largos

barry white, barry gibb

@Michael Willis

barry manilow

Excellent choices! /me reaches for "Barry's Satan Maximizer" to process all three.

Ubuntu, Mixbus32C; acoustic blues / country / jazz
User avatar
Michael Willis
Established Member
Posts: 1460
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 71 times
Been thanked: 169 times
Contact:

Re: Plugin development philosophy

Post by Michael Willis »

@GMaq, do you have any opinions about this? As somebody who curates plugins for AVLinux, would it be beneficial to have more "just add magic" plugins? Or are we at a point that Linux has a too-many-plugins problem?

User avatar
sysrqer
Established Member
Posts: 2527
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 320 times
Been thanked: 153 times
Contact:

Re: Plugin development philosophy

Post by sysrqer »

nils wrote: Thu Sep 28, 2023 3:50 pm

One indicator (a strong one for me) is that most plugins don't have presets. Please point me to an EQ or Compressor etc. that has builtin presets named after instruments or singing ranges and also sorted by musical genre.
I open an EQ an I want "male singing voice, pop" or "acoustic guitar, singer/songwriter"

I strongly agree with this. I feel like it's a part of the user experience that most developers neglect. Sure, I can learn about compressors and understand everything about them but I still might want to open a preset to see what kind of settings are typically used for NY compression for example. When I'm making music I want to spend as little time as possible making decisions inside plugins, and ball park is more than good enough a lot of the time. I find myself neglecting some plugins for this reason, it's simply easier and quicker to click through presets to find something that works rather than switch on the other side of my brain to build one from scratch and lose the creative flow I had in the moment I decided I wanted that effect.

User avatar
sysrqer
Established Member
Posts: 2527
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 320 times
Been thanked: 153 times
Contact:

Re: Plugin development philosophy

Post by sysrqer »

Michael Willis wrote: Wed Oct 04, 2023 6:01 pm

@GMaq, do you have any opinions about this? As somebody who curates plugins for AVLinux, would it be beneficial to have more "just add magic" plugins? Or are we at a point that Linux has a too-many-plugins problem?

Not him but I reckon there is a lot of room for growth with linux plugins imo. I'd love to see more proper mix/mastering-based plugins similar to what Izotope has done with Ozone and especially their Tonal Balance. I know it's not a fair comparison because they've been developed for years/decades by people employed to do so but I think they are an indication of almost a technological paradigm shift and linux increasingly falling behind.

User avatar
Largos
Established Member
Posts: 639
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 72 times
Been thanked: 186 times

Re: Plugin development philosophy

Post by Largos »

sysrqer wrote: Wed Oct 04, 2023 7:11 pm

I strongly agree with this. I feel like it's a part of the user experience that most developers neglect. Sure, I can learn about compressors and understand everything about them but I still might want to open a preset to see what kind of settings are typically used for NY compression for example. When I'm making music I want to spend as little time as possible making decisions inside plugins, and ball park is more than good enough a lot of the time. I find myself neglecting some plugins for this reason, it's simply easier and quicker to click through presets to find something that works rather than switch on the other side of my brain to build one from scratch and lose the creative flow I had in the moment I decided I wanted that effect.

Heaven forbid you learn to use something. :lol: Maybe there are no presets because noone knows how to use compressors after X years of everyone using presets.

Post Reply