Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open source mixing plugins research #5

Open
BillyDM opened this issue Jan 2, 2023 · 17 comments
Open

Open source mixing plugins research #5

BillyDM opened this issue Jan 2, 2023 · 17 comments

Comments

@BillyDM
Copy link

BillyDM commented Jan 2, 2023

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:

  • What plugin (if any) did you find satisfactory in boosting frequencies using shelving filters?
  • What plugin (if any) did you find satisfactory in boosting frequencies using bell filters?
  • What plugin (if any) did you find satisfactory in attenuating frequencies using shelving filters?
  • What plugin (if any) did you find satisfactory in attenuating frequencies using bell filters?
  • Does any plugin start to sound bad/unnatural when using high Q values and/or high gain values?
  • Does any plugin start to sound unnatural when using a lowpass filter, highshelf filter, or a bell filter near the high end of the frequency spectrum?
  • Does any plugin sound bad/unnatural when the parameters are moved around or automated quickly?
  • What plugins had the least CPU usage and which ones had the most CPU usage? Does your favorite one consume too much CPU?

Analog-modeled EQ:

  • What plugin (if any) did you find created a satisfactory result in adding "color" to the tone of an instrument or the master bus?
  • What plugins had the least CPU usage and which ones had the most CPU usage? Does your favorite one consume too much CPU?

Dynamic EQ:

  • What plugin (if any) did you find created a satisfactory result when taming a certain frequency in an instrument?
  • What plugin (if any) did you find created a satisfactory result as a de-esser?

Single-band Compressor:

  • What plugin (if any) did you find created a satisfactory result when compressing individual drum hits?
  • What plugin (if any) did you find created a satisfactory result when compressing multiple drum tracks together?
  • What plugin (if any) did you find created a satisfactory result when compressing vocals?
  • What plugin (if any) did you find created a satisfactory result when compressing plucky/transient instruments? (Like guitars, pianos, or plucked synths)
  • What plugin (if any) did you find created a satisfactory result when compressing smooth material? (Such as pads, sustained strings, etc.)
  • What plugin (if any) did you find created a satisfactory result on the master bus?
  • What plugin (if any) did you find created a satisfactory result when used as a sidechain compressor?
  • What plugins had the least CPU usage and which ones had the most CPU usage? Does your favorite one consume too much CPU?

Multi-band Compressor:

  • What plugin (if any) did you find created a satisfactory result in taming certain frequencies of individual instruments?
  • What plugin (if any) did you find created a satisfactory result in leveling out bass frequencies?
  • What plugin (if any) did you find created a satisfactory result in increasing the "loudness" of individual instruments?
  • What plugin (if any) did you find created a satisfactory result in increasing the "loudness" of the master bus?
  • What plugins had the least CPU usage and which ones had the most CPU usage? Does your favorite one consume too much CPU?

Limiter:

  • What plugin (if any) did you find created a satisfactory result when limiting drums?
  • What plugin (if any) did you find created a satisfactory result when limiting plucky/transient instruments? (Like guitars, pianos, or plucked synths)
  • What plugin (if any) did you find created a satisfactory result on the master bus? How far can you push the limiter before it starts to sound bad?
  • What plugins had the least CPU usage and which ones had the most CPU usage? Does your favorite one consume too much CPU?

Expander:

  • What plugin (if any) did you find created a satisfactory result?
  • What plugins had the least CPU usage and which ones had the most CPU usage? Does your favorite one consume too much CPU?

Gate:

  • What plugin (if any) did you find created a satisfactory result when eliminating noise on recorded material?
  • What plugins had the least CPU usage and which ones had the most CPU usage? Does your favorite one consume too much CPU?

Reverb:

  • What plugin (if any) did you find created a satisfactory result as a small reverb (i.e. like a drum reverb?)
    • (I think that convolutional reverbs with impulse responses are usually used for this purpose, but I would still like to get opinions on this anyway.)
  • What plugin (if any) did you find created a satisfactory result as a medium/general purpose reverb?
  • What plugin (if any) did you find created a satisfactory result as a large/spacious reverb?
  • What plugins had the least CPU usage and which ones had the most CPU usage? Does your favorite one consume too much CPU?

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:

  • x42-eq (aka fil4.lv2)
    • This one seems very promising at first glance since it is also included with the Harrison Mixbus DAW.
  • a-eq (aka ACE EQ) (included in Ardour)
    • I think this is included in the Harrison Mixbus DAW as well? If they included it then it could mean it's decent.
  • LSP Parametric Equalizer x16 Stereo (Linux only)
    • This one also seems pretty promising at first glance. It also looks like it can achieve very high Q values.
  • ZamEQ2
  • EQ10Q (Linux only)

Analog-modeled EQ:

  • Luftikus
    • Unfortunately it is a fixed-band EQ. But if you find it still useful then we can consider porting it.

Dynamic EQ:

Compressor:

  • x42-compressor (aka darc.lv2)
    • This one seems very promising at first glance since it is also included with the Harrison Mixbus DAW (I think). Though unfortunately it doesn't have much in terms of the parameters (i.e. it's soft-knee only), but maybe that won't be a problem?
  • a-comp (aka Ace Compressor) (included in Ardour)
    • I think this is included in the Harrison Mixbus DAW as well? If they included it then it could mean it's decent.
  • LSP Compressor Stereo / LSP Sidechain Compressor Stereo (Linux only)
  • ZamCompX2
    • I've heard this one can be good on drums.
  • Airwindows Pressure5 (included in the StarterKit.zip)
    • I've heard good things about this one. Although the parameters are pretty unstandard, so perhaps it could be worth including this as an additional plugin?
  • CS10QS (Linux only)
  • DGriffin91's compressor (must build from source)
    • This has the advantage of already being written in Rust. It's still experimental and requires the DAW's GUI-less mode to access some of the parameters.
  • (TODO: Vital's compressor)

Multi-band Compressor:

Limiter:

  • x42-limiter (aka dpl.lv2)
    • This one seems promising at first glance since it is also included with the Harrison Mixbus DAW.
  • LSP Limiter Stereo (Linux only)
  • ZaMaximX2
    • I've heard good things about this one.
  • Airwindows ADClip7
    • Technically this is a fancy soft-clipper and not a limiter, but if it works well we can consider including it along with another limiter plugin.

Expander:

  • a-expander (aka Ace Expander) (included in Ardour)
    • I think this is included in the Harrison Mixbus DAW as well?
  • LSP Expander Stereo (Linux only)

Gate:

Reverb:

  • RoomReverb
    • I personally quite like this one. But I'd like to get other's opinions on it.
  • Airwindows Verbity (included in the StarterKit.zip)
  • Surge Reverb 1 (in the SurgeXT Effects plugin)
  • Surge Reverb 2 (in the SurgeXT Effects plugin)
  • MVerb
  • Dragonfly Reverb
  • CloudReverb
    • I really like this one. I think it could work well as an additional "shimmering reverb" plugin, but I'd like opinions on how well it performs as a standard reverb as well.
  • TAL Reverb 2
    • I'm not entirely sure about the licensing on this one though. I think its only GPLv2, not GPLv3.
  • TAL Reverb 3
    • I'm not entirely sure about the licensing on this one though. I think its only GPLv2, not GPLv3.
  • DF Zita Rev1
  • (TODO: Vital's reverb)
@preland
Copy link

preland commented Jan 2, 2023

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
Copy link
Author

BillyDM commented Jan 2, 2023

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
Copy link

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

  • BYOD (custom guitar effects)
  • Chow Tape Model (digital emulation of a reel-to-reel analog tape machine)
  • Chow Matrix (delay effect)
  • Chow Centaur (digital emulation of the Klon Centaur guitar pedal)
  • Chow Kick (kick drum synthesizer)
  • Chow Phaser (digital phaser effect)
  • ChowDSP VCV (modules for VCV Rack)

@BillyDM
Copy link
Author

BillyDM commented Jan 3, 2023

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
Copy link

preland commented Jan 3, 2023

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
Copy link
Author

BillyDM commented Jan 3, 2023

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
Copy link

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
Copy link
Author

BillyDM commented Jan 14, 2023

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
Copy link

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
Copy link
Author

BillyDM commented Mar 15, 2023

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

@jonlinnarson
Copy link

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
Copy link
Author

BillyDM commented Mar 4, 2024

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

@BillyDM
Copy link
Author

BillyDM commented Mar 4, 2024

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
Copy link

@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
Copy link

jonlinnarson commented Mar 19, 2024

@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
Copy link
Author

BillyDM commented Mar 25, 2024

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
Copy link

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants