 noise repellent is an open source noise removal plugin that can be used to reduce noise of your audio signals in real time in the hosts like Ardor or Carla. It can also be abused for creative effects. I'm gonna show you all of that in this video. Hey I'm Anfa, I'm an electronic music producer and sound designer but I only use free and open source software and Linux. Noise repellent is a free and open source audio processing plugin available for Linux in the LV2 format that's performing spectral denoising in real time. Though it introduces about 30 milliseconds of latency depending on the sample rate you use. In this video I'm going to show you everything about it. At first I'm gonna show you the very basic way of using the plugin which is just to turn it on and let it do its thing completely automatically. And after that I'm gonna show you how you can tweak the different parameters. What do they mean? How do they affect the sound? And in the end we're gonna abuse the plugin to create some interesting sounds for music production. Let me show you the website of it. You can find the plugins source code as well as binary downloads on GitHub. The link will be in the video description. And apart from a very nice description and instructions how you can install it there is also a fantastic wiki page where you can read how to use this plugin and how to get the best results. So I highly recommend that as further reading after you watch this video if you feel like you need to up your noise removal game. Okay let's first listen to some samples. The first and the simplest way you can use this plugin is by just enabling the automatic mode. I'm gonna play you a bit of sound that I recorded using this microphone in the original form and after that with the automatic noise removal on and then we're gonna tweak it a bit. This is what you normally record if you make the microphone face the other way, the other direction. That's a little bit of speech there right there and now I'm going to enable this plugin open its interface I'm gonna show you what's there. It's set to adaptive noise learn. I've also tweaked the settings a little bit and I'm gonna play you how it sounds after I've tweaked it but it's still using the adaptive noise learn to automatically detect the noise background and remove it as much as possible. This is what you normally record if you make the microphone face the other way, the other direction. I'll bypass it now. It's pointed into a ball. You're not talking very loudly and you're just bypass on. So you can see that the noise removal isn't perfect by any means but it's definitely doing quite a lot to the sound. We can try some other sections. You talk a little louder and let's see if the noise adapts like the noise reduction can adapt to that or yeah like or what if I get up and get into a corner of the room and start talking to the microphone from far away and there's some... bypass? More noise reduction. Maybe it's a bit different noise. Yeah, could be. Bypass? Nice reduction. Really quietly. So you can see there's quite a lot of noise in there and even the adaptive noise learn mode which is by the way tweaked for speech so it it's not gonna work this good probably on different sounds like you know I guitar or piano it's doing a pretty good job at like separating our noise background from the speech foreground. Let's reset this plugin to absolute zero. Let's also trigger this reset noise profile thing so that it has no idea what the noise is. If you enable the adaptive noise learn the plugin will try to separate the louder parts of the sound that it's hearing from the quieter parts and it's going to use the quieter parts to build a spectral profile basically a frequency plot of what the noise is like in the recording and then it's going to subtract that from the spectrum of the sound to try and remove the noise. This is what you normally record if you make the microphone face the other way the other direction and it's pointed into a ball you're not talking very close. Now it's bypassed you can see that even this automatic adaptive noise learn with no prior knowledge to what the noise is going to be like pretty fast it's managed to correctly separate the noise background from the speech on the foreground and reduce our noise of course it's not artifact free we can hear that it's been denoised but it's still better. Now let's go into the fully manual mode which is how i use this plugin most of the time. I have recorded this piece of speech here i'm gonna play it to you without denoising this is only after a compressor so that the volume levels are more consistent it also makes it harder to denoise actually. Here's some noisy speech recorded from far away needs cleanup to sound okay yay. As you can hear there is a lot of noise in here. Now let me play to you how does it sound with noise repellent enabled a trained on the noise sample from this recording and tweaked by repetitive listening and deciding what sounds best. Here's some noisy speech recorded from far away needs cleanup to sound okay yay. There's practically zero noise in here and yes we do have quite a lot of artifacts and you can tell that it sounds like a very low quality audio file but you can't hear the noise at all it's it's really a drastic change. Here's some noisy speech recorded from far away needs cleanup to sound okay. As you can hear we're losing quite a lot of high frequencies in here i'm gonna show you how to make the plugin learn a specific noise in this manual mode what you need to do that's i'm gonna clearly click reset reset noise profile now the manual of the plugin says that you should loop a section of just the background noise no briefs no clicks nothing like that there's quite a lot of clicks and and his and then other stuff here how about this thing all right this is a section that is pretty much just the noise it's very short though i'm going to loop it and let the noise repellent plugin listen to it continuously to build its spectral profile so you've noticed that as soon as i disabled the learn noise profile toggle the sound went completely silent and that's because we have already set the the noise reduction to a very very strong 48 decibels of attenuation however let's now play the sample here's a noisy speech recorded from far away i think the results are a little bit better because before i used this section with the clicks and stuff and that confused it a little bit so now it has a better profile of the noise and it can remove it with more accuracy which is cool all right uh let's figure out what all these parameters do shall we i'm going to reset the plugin to its basic state so now we're using the previously learned noise sample which was somewhere here here's some and these are the default settings so you can hear there's quite a lot of artifacts we have a few controls here reduction amount is how much the noise profile is being subtracted from the sound if it's at zero there is no noise reduction taking place if we go all the way here's some noisy speech recorded from far away we're trying to attenuate the noise to the maximum however the volume of the sound also plays a big role and this is controlled by the threshold offsets basically this determines the sensitivity of our noise reduction so even with reduction amount at 48 decibels which is the maximum there's still some stuff coming through and if i want to cut this off completely i can change the thresholds offset to raise the threshold so that all the noise falls under the threshold and none of it stays above the threshold let me show you here's some noisy speech recorded from far away needs cleanup to sound okay as you can hear the little twinkies twinkles and chimey noisy artifacts are going away when i rise the threshold here's some noisy speech recorded from far away needs clean but i can also lower it here's some noisy speech recorded from far away now the best results are often achieved when you do just a little bit of noise reduction because well it's usually it's not a good idea to try and remove the noise all together because it's going to give you maximum artifacts and often you just need to find a good balance between less noise more artifacts and like decide where is the point that gives you the most benefit sometimes you can get away with more artifacts if you're gonna process the sound like add some reverb or some other stuff or if the sound is going to be quieter in the mix but if the sound is going to be front and center you might want to have a little bit more of noise even and less artifacts because noise is a very natural thing and we're very used to hearing noise but we're not used to hearing these spectral subtraction artifacts however noise repellent has quite a few interesting tools and dials that you can tweak to minimize these artifacts and let's talk about these now there is release and if it's at zero here's some noisy speech recorded from far away okay let me rise the reduction amount here's some noisy speech recorded from far away as you can hear we have a lot of like these twink twinkling artifacts here's some noisy speech recorded from far away you know we have like these little like every frequency bend in the signal has a little noise gate on it and if the release time is too short they're going to constantly like the same disengage and engage letting through tiny tones tiny little chiming noises and if we increase the release time they're going to become down so they are they are not going to react as fast so basically when when our signal is below the threshold of our noise profile the gates are engaged and when there is voice coming through which is louder and it like crosses the threshold the gates disengage and they disengage with the release time the longer the release time the slower they're going to disengage so let me play this to you now at the maximum release time of one second here's some noisy speech recorded from far away it's making the noise reduction much stronger because the noise reduction is still like suppressing the noise even though there is loud signal that should be let through and it is but there's more noise reduction if we turn the release down here's some noisy speech recorded from far away it also kind of smooshes our transients a little bit like there's not much of it here so we can't hear it that well but I have another sample where we can test that specific thing a very cool feature of this plugin is that you can listen to what the noise repellent plugin is removing if we go to residual listen and enable that now we are hearing only what is being rejected by the spectral subtraction algorithm and it's also a nice tool for creative reasons because you can use that to make some really crazy sounds like it this is not intended as a creative tool but you can use it as a creative tool so we can listen to the residue and that can help us figure out if we're removing too much from our signal I've been told that the masking parameter is also something that helps get rid of the artifacts however honestly even when you're listening to the residual signal I can't really hear what the masking parameter is doing I've been reading up on it I have no idea what it's doing I don't hear any difference from it whatsoever I don't know if that's a bug or I just can't hear it okay so let's move on to the next sample I've prepared for you this is about transient so I've recorded a little bit of beatboxing but what I also did is left a little bit of silence in front however I should have removed all of these extra little noises so that we have just the I'm gonna disable snapping so you have just the noise and nothing else because you know every little click is going to make our noise profile less accurate let's listen to this all right you see we have this little weird bass tone in here I think it's something to do with my mic stand I might have just hit it accidentally and it just been resonating for this time all right let's me concatenate that and I'm going to teach this noise repellent plugin the noise profile let's remove this plugin so we have a clean slate this is our noise profile all right okay let's add noise repellent and here it is so the first thing I'm going to do is learn the noise profile I'm going to enable this and just play the signal so that it can build its spectral profile okay now I've disengaged that and it's now removing noise let's disable the plugin bypass it and I'm going to play you what I've got recorded here it's all beatbox sample the thing is I recorded it like that far from the microphone now let's try and denoise this let's bump the reduction amount up to maximum and rise the thresholds thresholds offset the thing is with long with long release times what often happens is that the the transients of the of the sound are getting softened up because the spectral gating is releasing so slowly that it's just attenuating the transients and adding a little bit of attack to the sound where it should be quick slowing them down but there's this transient protection parameter which kind of short I think it shortens the release when the plugin detects there is a there's a quick change in loudness or quick increase in loudness however I can't like really get this plugin to express this problem because I think our noise sample is just too good let's record a bad bad noise sample and train it to plug in on it so I'm gonna record now okay so that's my bad noise sample I'm gonna also normalize it so it's loud and like throws this noise repellent plugin even more I should stress that the loudness of the noise sample we are analyzing in noise repellent is very important and kind of limits our options later down the road okay let's play this yeah so now our noise sample is completely screwed the noise profile noise repellent is holding inside is really messed up but that helps us highlight the problems that appear sometimes when you don't have ways to isolate the noise listen to what happens when I change the release time pretty much all the transits are smooshed out now if we increase the protect transients parameter you can hear that it's trying to recover that it's trying to like cut the release times when it detects there's a transient so the noise their noise reduction is so insane right here and so like badly profiled that it's some managing to do it very well we might actually have a better shot at this if we enable adaptive noise learn and just like let it run for a while now let's disable it so that our noise profile stays the same let's listen pretty okay let's now get rid of this false nasty noise profile I'm going to reset our noise profile and learn it again from this thing try again okay I think it's doing his job there is this thing called residual whitening and what it does is it like makes the residual signal sound like white noise and I think it's like what it's doing is kind of like dithering I'm doing this in air quotes because it's not dithering in the in the sense that we're converting from like you know 24 bit audio samples to 16 bit audio samples and we want to get rid of the quantization noise by inserting very precise randomness this is something else but it also is introducing randomness to break up the artifacts and you can hear it's making this residual sound like white noise actually if we not disable the residual listen and the thing what we could do is make this much louder and train our noise profile on that all right now it should be much stronger yay all right I think that's all the parameters so now let's move on to the creative side of things which I think might be interesting so I'm gonna play to you what I've made so what you just heard is a synth patch that is being processed with noise repellent but not for noise removal so without all the processing it sounds like this so that's an acd bass thingy but then I have recorded a little noise sample I've pushed it through noise repellent to teach it that sample so it creates a profile and then I use it to process that exact synth patch and I got something like that which I think it's pretty interesting and you can like really sculpt the sound if you just give it a different noise sample to mask the artifacts and like remove the feeling of a badly compressed audiophile added some reverb and some multi-band compression and also some compression compress saturator bar air windows and this is the final result now without noise repellent it sounds like that which is also a valid sound and it's an interesting patch now let's see what we can do if we record something different for this noise source let's enable noise repellent let's reset the noise profile and learn noise profile now let's play our little synth patch through that it sounds different now this is one way you can use this plugin creatively the other way is to use the residual listen which is it should give you only the things that are detected to be similar to the noise profile so that's the wet signal the process denoised signal and now without denoising so yeah one thing that's worth noting is that the plugin as I said in the beginning it introduces latency and that's dependent on the sampler rate you're running the plugin on I'm using 48 kilohertz sampling rate and it introduces 32 milliseconds of latency so it's not suitable for recording through because you would have way too much latency but it's okay if you're like using this for live streaming for example you can just you just need to delay your video accordingly by 32 milliseconds and you can have your video and audio in sync with denoising being done live and actually I've been using it a couple times for live streaming with the adaptive noise learn on which is doing a pretty decent job at some time I had to be running this thing on in extreme settings because I had an ac unit in my room because it was so hot that I would not be able to conduct a live stream without that so the whole live stream the ac unit was running on full blast in my room doing this and noise repellent I just trained it on that sound and just cut it off nearly perfectly sure it made my voice sound like a bad void call but it was still much better than so yeah that's the basic things for you a very useful thing that was introduced to this plugin a while back if you've been using it years ago you might remember when it wasn't there and it's that the plugin used to not remember the noise profile between saving and loading your session so if I saved my project in ardor and I loaded it up back up I would have to relearn the noise profile which was pretty annoying and they also write that it was made for ardor specifically but in my experience like it works okay in Karla and other hosts I tried it so it's not like it's a it's a badly written plugin that only works in ardor this is all I wanted to show you today don't forget to check out the noise repellent github page you can find lots of useful information about how to use it how it's working how to get best results and hopefully you can also understand masking in here uh it's a fact um I can't um yeah there's lots of great info there uh so that's it thanks for watching I hope you learned something also huge thanks to all the people who are supporting my work financially um after the last video's release the ardor midi master class the patreon support has exploded and I'm extremely excited about that because that means me doing this full time is getting closer and closer thank you so if you the reviewer would like to join these wonderful people who are making this possible please go to patreon.com slash anfa or liberapay.com slash anfa where you can drop me a buck or two every month now go and denoise some noises or something I don't know by the way this is the first video I'm recording using my new camera it's a lumix gh5 I got it used let's see how it stands so how it works I'm not sure if the green screen lighting is correct but the image should be okay I love you bye bye