MeadowlarkDAW / meadowlark-plugins

A suite of audio plugins for use with the RustyDAW project
GNU General Public License v3.0
10 stars 6 forks source link

Open source mixing plugins research #5

Open BillyDM opened 1 year ago

BillyDM commented 1 year ago

Preface

Our aim is to have Meadowlark's internal plugins be of good enough quality to where a producer can create a "pretty good" mix using Meadowlark's internal plugins alone. Essentially I want beginning producers to not feel like they have to hunt down external plugins for each part of the mixing/mastering process just to get a decent mix. In addition this will make it much easier to create music production tutorials using Meadowlark's internal plugins alone

We obviously don't have the resources to compete with the DSP quality of companies like Waves, iZotope, or Fabfilter, but I still want the internal plugins to be usable for mixing purposes. Rather than doing all of our DSP R&D ourselves, it would be much less time consuming to borrow DSP from existing open source plugins where we can. If we find that there doesn't exist an open source plugin good enough for a particular purpose, then that gives us a clue on what to focus on. I also want to know if we should focus on optimizing certain plugins.

This can also give us a clue on whether we should have different plugins for different purposes. For example, maybe we could include a compressor that is better as a "smooth leveling" compressor and include a different compressor that is better at transient material?

There is one plugin I do plan on doing our own research for, and that is analog model of the E/G SSL 4000 buss compressor (aka "the glue" compressor in Ableton). In my opinion, bus compressors are important in getting a good sounding mix, and it is one case where I think it is worth our time doing our own R&D. Still, I would like to do research on whether there is an existing open source compressor that can serve as our "general purpose" compressor.

So for those with experience mixing/mastering music, I want you to try out as many of the plugins I've listed below as you can. Perhaps a good way to test this is to take a project you've already mixed and replacing the plugins with one of these open source ones and see if you can get a satisfactory result out of them. Some of these plugins are only available in the Ardour DAW (and by extension Harrison Mixbus), so it would be a good idea to export your old projects to stems and load them up in Ardour.

Also please don't rate the plugins based on their UI. We will create our own UIs later. I just want opinions purely on the sound quality.

Some questions to answer:

Parametric EQ:

Analog-modeled EQ:

Dynamic EQ:

Single-band Compressor:

Multi-band Compressor:

Limiter:

Expander:

Gate:

Reverb:

Existing Open Source Plugins

We will likely add more plugins to this in the future, and we'll let you know when there is a new one to test. Also, if you know of any open source plugins that we missed, let us know!

Parametric EQ:

Analog-modeled EQ:

Dynamic EQ:

Compressor:

Multi-band Compressor:

Limiter:

Expander:

Gate:

Reverb:

preland commented 1 year ago

I would highly suggest Element by Kushview. 100% open source node mixing, comes in both an editor and standalone plugin format, some built-in mixing features, very lightweight etc.

The only downside is that it isn’t made in Rust (if that matters). However, it is still made in C++, do it not like it leaves a ton of performance on the table or anything.

Edit: Link: https://github.com/kushview/element

BillyDM commented 1 year ago

I would highly suggest Element by Kushview

I thought Element was just a plugin host? Does it include its own plugins such as EQs and compressors?

esaporski commented 1 year ago

I haven't had the chance to test them yet, but I know that ChowdhuryDSP products are open-source:

BillyDM commented 1 year ago

haven't had the chance to test them yet, but I know that ChowdhuryDSP products are open-source:

Oh yeah, the Chowdhury stuff is great.

I'm more focusing on plugins like EQ, compressors, and reverb with this research, though.

I'll keep the Chow effects in mind. Those would definitely be nice to include at some point, especially the tape saturation.

preland commented 1 year ago

I would highly suggest Element by Kushview

I thought Element was just a plugin host? Does it include its own plugins such as EQs and compressors?

I believe it does. Either way, it would be a cool idea to ship the DAW with the audio plugin version, since it’s a pretty versatile plugin host overall (I personally use the standalone to route all of my audio through.

Edit: slightly unrelated thought: is there currently a Rust alternative to JUCE? Just curious

BillyDM commented 1 year ago

I believe it does.

Oh yeah, I pulled it up and it does. Although the EQ is only a single-band EQ which isn't that useful. The compressor looks more decent.

Either way, it would be a cool idea to ship the DAW with the audio plugin version

Hmm, I'm not sure it makes much sense to bundle Element with Meadowlark. Meadowlark will have its own system for complex plugin routing (similar to how Bitwig/Ableton does it).

Edit: slightly unrelated thought: is there currently a Rust alternative to JUCE? Just curious

There is! It's called nih-plug. You can even choose what GUI framework to use on top of it, such as Vizia, Iced, egui, or imgui.

lapspider45 commented 1 year ago

Hi! Just thought I'd drop in to suggest another effect family that should definitely be considered:

Saturation/Clipper

While distortion might not be part of the "textbook" mixing/mastering toolkit, it is immensely useful in almost every situation. Soft clipping in particular is incredibly versatile. Many developers don't seem to pay attention to this, so having a good distortion/clipper plugin included with Meadowlark would be a huge advantage.

BillyDM commented 1 year ago

While distortion might not be part of the "textbook" mixing/mastering toolkit, it is immensely useful in almost every situation. Soft clipping in particular is incredibly versatile. Many developers don't seem to pay attention to this, so having a good distortion/clipper plugin included with Meadowlark would be a huge advantage.

Yeah, that's a good point.

I wanted to avoid "creative/sound design" effects with this specific research and focus specifically on mixing/mastering plugins. But yeah, clippers/saturators can be useful as a sort-of limiter and as an "exciter" to boost the brightness or warmth of a sound.

Soft/hard clippers are pretty trivial to implement though and don't vary much between plugins (essentially the formula for soft-clip is upsample -> tanh() -> downsample, and the formula for hard-clip is upsample -> clamp(-1.0, 1.0) -> downsample). I'm also planning on porting the distortion unit in Vital as on of our main distortion plugins. That will give us soft clip, hard clip, linear fold, sine fold, bit crush, and down sampling.

Though it could be useful to know if there are any specific distortion plugins people find work better as a "limiter" or an "exciter". If you know of any, let me know!

magnetophon commented 1 year ago

I think by far the best open source character compressor is molot. It's my goto for drum bus. Note: I didn't write it, I just ended up hosting it, so I'm not tooting my own horn here! https://github.com/magnetophon/molot-lite

BillyDM commented 1 year ago

Oh awesome, I didn't know there was an open-source version of Molot! That's definitely worth considering.

jonlinnarson commented 8 months ago

If this project is still going, here's a good looking open-source parametric EQ: https://github.com/ffAudio/Frequalizer

This compressor is pretty good as well, especially for a allround stock compressor (has lookahead, auto attack and release, auto makeup gain and adjustable knee): https://github.com/p-hlp/CTAGDRC

Although, this is probably my personal favorite, and most feature rich, open-source compressor plugin I've found for Windows: https://github.com/mzuther/Squeezer

Here's an open-source copy of Sonnox Inflator. It was first made as JSFX for Reaper, but has been ported to VST/VST3: https://github.com/Kiriki-liszt/JS_Inflator_to_VST2_VST3

For guitar related stuff, including Neural Amp Modeler in MeadowLark should be a no-brainer (also includes IR loader): https://github.com/sdatkinson/NeuralAmpModelerPlugin

MultiMeter seems like it has all of the most important audio analysis tools, although the ones in the LSP bundle might be better: https://github.com/RealAlexZ/MultiMeter

K-Meter and traKmeter (from the same developer as the Squeezer compressor above) are some nice LUFS meters, in case you haven't had the time to implement that yet into the DAW itself: https://github.com/mzuther/K-Meter https://github.com/mzuther/traKmeter

Binaural is a mono-to-stereo and 3D panning plugin: https://github.com/twoz/binaural-vst

SPARTA is a bundle of spatial audio focused plugins: https://github.com/leomccormack/SPARTA

nih-plugins are a bundle of experimental plugins written in Rust. His latest offering, Spectral Compressor, is an absolutely amazing open-source alternative to the likes of Oeksound Soothe, Sonible SmartComp, Techivation M-Compressor etc. https://github.com/robbert-vdh/nih-plug

Like you've already have added to the list above though, the LSP bundle of plugins should have pretty much everything in regards to stock plugins, and even some more advanced ones. I would probably take a great deal of inspiration from those. I would definitely add Neural Amp Modeler as a stock plugin, but I'm a bit biased since I'm mainly a bassist/guitarist and have been a huge fan of NAM ever since the first public beta versions.

Stock synths shouldn't be a problem either since the amount of stupidly good open-source synths we have today is just amazing. Surge, Vital, Helm, Vaporizer2, Odin2, Socalabs Wavetable, OB-Xd, Dexed, BlackBird etc. The list is long!

BillyDM commented 8 months ago

Cool, thanks for the list! I'll check them out at some point.

BillyDM commented 8 months ago

Yeah, this project is still going. Though it will still be a while before we get to the point of creating the suite of stock plugins.

magnetophon commented 8 months ago

@BillyDM

Though it could be useful to know if there are any specific distortion plugins people find work better as a "limiter" or an "exciter". If you know of any, let me know!

Sonnox Inflator, open source version mentioned by @jonlinnarson above, was sold as a Mastering limiter/loudener, but is in effect a waveshaper.

jonlinnarson commented 8 months ago

@BillyDM

Though it could be useful to know if there are any specific distortion plugins people find work better as a "limiter" or an "exciter". If you know of any, let me know!

Sonnox Inflator, open source version mentioned by @jonlinnarson above, was sold as a Mastering limiter/loudener, but is in effect a waveshaper.

I agree. The only other distortion I can imagine being of use for maximizing loudness is a good soft/hard clipper. The best open-source ones I know of are Venn Audio FreeClip and vvvar PeakEater (based on FreeClip but with a better UI and CLAP/Linux support). The only problem with FreeClip and PeakEater is that there's something strange going on with the oversampling or anti-aliasing filter. It doesn't block harmonics completely so there's still some aliasing that gets through. Maybe the filter is just not steep enough?https://github.com/vvvar/PeakEater

However, if you decide to include a more general waveshaper plugin it should be able to do both the Sonnox Inflator split-band thing as well as simple tanh soft/hard clipping. If you can add an envelope to make it a dynamic waveshaper that would make it even more powerful!

BillyDM commented 8 months ago

I found a collection of plugins by ZL Audio to check out. https://github.com/ZL-Audio

It contains a pretty nice looking parametric equalizer, compressor, and saturator.

magnetophon commented 8 months ago

I found a collection of plugins by ZL Audio to check out. https://github.com/ZL-Audio

It contains a pretty nice looking parametric equalizer, compressor, and saturator.

The EQ can be a dynamic EQ, with sidechain. This seems to be an extremely flexible EQ plugin!

BillyDM commented 4 months ago

Found a reverse-engineered version of the famous Camel Crusher plugin. I'm not sure about the legality of it yet, but I would love to have this as a plugin in Meadowlark. https://github.com/soerenbnoergaard/reverse-camel