Live data from Hacker News

Show HN: Alsa_rnnoise – RNNoise-based noise removal plugin for ALSA

sr.ht

31–40 of 50 posts

Re: Show HN: Alsa_rnnoise – RNNoise-based noise removal plugin for ALSA

#31

Earlier quoted context omitted.

I'd be quite interested in such an article, again, my goal (besides VoIP) is screencasting and/or streaming, so any bit of advice someone with experience might have is greatly useful. I'll look into expansion and compression, and I could implement a wet/dry setting that multiplies the source samples and then mixes them into the result, if I understood the concept right. EDIT: RNNoise seems to be alright when it comes…

> I could implement a wet/dry setting that multiplies the source samples and then mixes them into the result, if I understood the concept right. Haven't tested your version yet, but werman/noise-suppression-for-voice plugin introduces some delay and dumb wet/dry control (or mixing with original sound source in some other way) doesn't work, so it might turn out to be not so simple.

Right now there's no such feature in place, but I imagine keeping the buffer from before denoising and mixing it into the denoised result (plus the multiplication) will do what you're describing? It may increase volume, I might need to reduce the volume of the denoised audio first. I'll play around with it, and am open to hearing what you've got to say about it.

Re: Show HN: Alsa_rnnoise – RNNoise-based noise removal plugin for ALSA

#32

Sound engineer here. RNNoise is an amazing feat, but please, don't overdo it. Most of the time, you don't really want complete ambient noise elimination, as human speech appearing from dead silence sounds unnatural. Moreover, most noise reduction software is considerably less effective in reducing noise during a person speaking, either removing too much, producing degraded speech sound (worst case) or too little. If…

>ng feat, but please, don't overdo it. Most of the time, you don't really want complete ambient noise elimination, as human speech appearing from dead silence sounds unnatural.

No. Most sane programs don't do comfort noise because it is everything but comfort. Iff you speak data should be transmitted.

Re: Show HN: Alsa_rnnoise – RNNoise-based noise removal plugin for ALSA

#33
post #28

Earlier quoted context omitted.

Excellent. I'm testing this right now and am noticing that some more info about the installation could be helpful. Specifically, when installing rnnoise as shown in the readme it of course goes to /usr/local/lib, but /usr/local/lib/pkgconfig was not in the PKG_CONFIG_PATH of my distro. Maybe there could be a hint to set that when calling `meson build` if rnnoise can't be found? Packaging software is always annoying,…

There's an issue tracker on that page, under tickets, but I'd prefer if you took a discussion to the attached mailing list first before it hits the official tracker. As for packaging, that's my field of work for some projects I'm working on so it's not unfamiliar to me, the only problem is that the RNNoise upstream lacks releases, although there's discussion about something happening about that.

Okay. To also mention the result: Installation worked, alsa plugin worked and the filter does work. Nice, thanks again.

With extreme sounds (vacuum) in the background the voice gets a bit more distorted than ideal, but something like a keyboard gets filtered nicely to be less noisy. I assumed that's just how RNNoise behaves, I'm just mentioning it because of the sound quality discussion above. Maybe also to that: Just activating the alsa_rnnoise filter does not significantly lower recording quality, at least not that I can notice.

Re: Show HN: Alsa_rnnoise – RNNoise-based noise removal plugin for ALSA

#34

Sound engineer here. RNNoise is an amazing feat, but please, don't overdo it. Most of the time, you don't really want complete ambient noise elimination, as human speech appearing from dead silence sounds unnatural. Moreover, most noise reduction software is considerably less effective in reducing noise during a person speaking, either removing too much, producing degraded speech sound (worst case) or too little. If…

I wouldn't be too worried about it unless you're working on something at the level you know why to be worried about it (i.e. you're mixing audio as part of the what you're doing not because you just need the audio output to work). For instance I'd take missing comfort noise 10 times before everyone hearing my water heater kick up once on a conference call or while playing a team shooter.

That being said RNNoise isn't that great at actually filtering background noise as much as guessing when to drop the levels and as you mention it really doesn't block much when it detects you're speaking rather just lets most everything through until you stop.

RTX voice made the gold standard in filtering IMO though and as amazing a feat RNNoise is (I certainly couldn't do better) it's just not that good in comparison. I'm not sure what they did to make their model so good but I can use a boom mic set to omni, run a fan at high speed into the mic, bang on the desk repeatedly with one hand, have the water heater making noise, my phone vibrating on the table, a car alarm going in the background, the cat scratching a post, and so on and as long as I remember to talk at a normal volume it's damn near indistinguishable from talking in a quiet room. It may sound preposterous or like I'm exaggerating for effect but I'll be damned it actually filters that well. I didn't believe it until I tried. It finally gets "bad" when the noise is so bad and loud on the microphone your voice starts to sound a bit distorted but it's still isolated. Does let cat meows through, though that is technically voice and I'm not sure how you could identify it was a meow without massive latency to hear the whole thing first.

That being said they seem to have completely fucked something up porting it to Nvidia Broadcast as the mic filtering in that leaks to the point it was like it wasn't even on.

Re: Show HN: Alsa_rnnoise – RNNoise-based noise removal plugin for ALSA

#35
post #3

I noticed that RNNoise doesn't appear to be an open model, you can't re-train it from scratch from the source data, which isn't publicly documented (or doesn't exist?), even if you had enough hardware.

The documentation is a bit poor. The original data is available for download (with more info about the entire process, most of which is outside of my grasp as I am not an ML person) in the demo blog post: https://jmvalin.ca/demo/rnnoise/ (towards the bottom of the page)

Coming back with information from #xiph on freenode:

  16:57  where and under what license is the training data used for RNNoise?
  18:38  ArsenArsen: There's a copy of what I believe is the training data on the xiph server, but afaik it's never been published
  18:39  the original submission page has an EULA waiving copyright and liability claims, and agreeing that it _may_ be released CC0.
  18:40  it looks like that didn't actually happen.
  18:41  there may have been concerns about auditing it for privacy issues, but there's a lot of audio to listen to, 6.5G compressed
  18:41  jmspeex, TD-Linux: what's the status of publishing the rnnoise training data?
  18:43  Are you talking about the data that was used to train the default RNNoise model or the noise that got collected with the demo?
  18:43  jmspeex: I think debian just cares about the training data for the default model.
  18:44  There was never plan to release that -- it includes data from databases we cannot release
  18:44  but I don't see what the issue is. Distributing the model is not the same as distributing the data
  18:45  ah, I see. I didn't realize you'd used proprietary sources as well.

Re: Show HN: Alsa_rnnoise – RNNoise-based noise removal plugin for ALSA

#36
post #6

Ever since I got a new microphone I've been having issues with large quantities of background noise, primarily typing sounds, leaking in through my microphone. A friend of mine had told me about rnnoise, describing it as "very good" at removing noise, so I decided to test it. My initial testing started by me piping raw PCM from arecord through rnnoises denoiser demo into aplay. The results frankly shocked me. When no…

Hey, thanks for building this! There are multiple options like this for Pulseaudio, but last I researched it nothing for pure ALSA. On a system without Pulseaudio this is obviously better, great to have. The pulseaudio plugins like noisetorch have the issue of significant system load even without current sound input (something about how the loopback works iirc), will this alsa plugin share that issue or will the syst…

> There are multiple options like this for Pulseaudio,

Mind sharing? I didn't manage to find any that was easy to install/configure, so it would help me a lot. Thanks!

Re: Show HN: Alsa_rnnoise – RNNoise-based noise removal plugin for ALSA

#37
post #6

Earlier quoted context omitted.

Hey, thanks for building this! There are multiple options like this for Pulseaudio, but last I researched it nothing for pure ALSA. On a system without Pulseaudio this is obviously better, great to have. The pulseaudio plugins like noisetorch have the issue of significant system load even without current sound input (something about how the loopback works iirc), will this alsa plugin share that issue or will the syst…

> There are multiple options like this for Pulseaudio, Mind sharing? I didn't manage to find any that was easy to install/configure, so it would help me a lot. Thanks!

NoiseTorch is the one I use on my Pulseaudio-enabled laptop, https://github.com/lawl/NoiseTorch. It has a GUI and is very easy to install, seems to work well. Significant cpu usage when active, so I only load it when it's needed, but that's okay for me.

Re: Show HN: Alsa_rnnoise – RNNoise-based noise removal plugin for ALSA

#38

Sound engineer here. RNNoise is an amazing feat, but please, don't overdo it. Most of the time, you don't really want complete ambient noise elimination, as human speech appearing from dead silence sounds unnatural. Moreover, most noise reduction software is considerably less effective in reducing noise during a person speaking, either removing too much, producing degraded speech sound (worst case) or too little. If…

Great post. I'm also an audio engineer. This is the truth. In an audio recording featuring spoken voice, there are two sounds present in every recording: the spoken voice, and the room ambiance in the background. We typically will refer to the latter as "room tone." Even though we don't usually explicitly realize this, our ears/brain implicitly do. So, when people overdo noise removal, we implicitly hear the differen…

The addition of an artificial ambient background is known as "comfort noise" for those who are interested to look further into it; usually it's done on the receiver end.

Re: Show HN: Alsa_rnnoise – RNNoise-based noise removal plugin for ALSA

#39

Sound engineer here. RNNoise is an amazing feat, but please, don't overdo it. Most of the time, you don't really want complete ambient noise elimination, as human speech appearing from dead silence sounds unnatural. Moreover, most noise reduction software is considerably less effective in reducing noise during a person speaking, either removing too much, producing degraded speech sound (worst case) or too little. If…

Your guide would be a blessing for techies looking to improve their audio quality. Please, do it!

Re: Show HN: Alsa_rnnoise – RNNoise-based noise removal plugin for ALSA

#40
post #13

Earlier quoted context omitted.

Hmm, OTOH, the 6.4GB data tarball says that it is from contributors who responded to the demo and is licensed under CC0.

+1, that data is CC0, and I believe that's all the data that was used for training.

No, exactly none of that data was used for training. The training was done before the demo that was asking for noise contributions. The contributions are CC0, but were never used (i.e. totally unknown dataset quality).
Post reply on HN