werman / noise-suppression-for-voice

Noise suppression plugin based on Xiph's RNNoise
GNU General Public License v3.0
4.9k stars 230 forks source link

Unable to load it on Premiere as VST #154

Open DavidEscalante opened 1 year ago

DavidEscalante commented 1 year ago

I have a hunch this is by design. I am able to load the VST on OBS and apply rnnoise there to my microphone and to Discord, so both records are clean.

But I have some previous footage, before I found this amazing solution, but I can't load this VST on Premiere so I could clean up the audio from these old videos. Premiere just refuses to activate the .dll files (mark then as "not working").

The only solution I found is to re-record via OBS the whole thing, but some are around 4 hours long, so yeah, no ideal.

Is this VST limited to only real time processing?

Are there any plans to make the VST work for host environments?

werman commented 1 year ago

Well, it could work with offline processing VST hosts, it works with Audacity and it works with ffmpeg.

Though, I could guess that some hosts are just too smart for their own good and they may do some testing of the plugin, the trouble is, this plugin consumes samples in fixed batches (480 samples). So, if host tests whether plugin works by feeding it with 440 samples - the plugin would produce only silence.

I don't know whether that what happens in Premiere, but it is plausible that my plugin doesn't work with some VST hosts.

werman commented 1 year ago

Ok, I found the cause, VST2 version of the plugin crashes when Premiere checks whether it is good.

https://github.com/juce-framework/JUCE/blob/bbd6ccbc863edec3150e1e024e4fa3f636802596/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp#L1968-L1988

It crashes in SpeakerMappings::channelSetToVstArrangement which is called from handleGetSpeakerConfiguration of juce_VST_Wrapper.cpp, where pluginInput points to nullptr. Seems like JUCE issue, I'll test whether it fully works with my fix and will open bug in JUCE.

DavidEscalante commented 1 year ago

Just an update on this:

I found that the current VST3 DOES load into Premiere, while not fully estable, still beats re-record everything live with OBS back again.

image

werman commented 1 year ago

@DavidEscalante Not stable, what do you mean?