Hacker News new | ask | show | jobs
by Dumbdo 1986 days ago
For me noisetorch [0] (based on RNNoise [1][2]) works pretty good. I'm using RTX Voice while I'm working on Windows and noisetorch while working on manjaro.

RTX Voice seems to work a bit better, but noisetorch compares really well to it. I have a microphone which has static noise and is not really mechanical decoupled from my table. Both applications are good at cancelling that kind of noise.

Noisetorch is a bit more focused on suppressing noise while you're not talking, which is the use case of the posted article. RTX Voice is better at suppressing noise while talking, which you can hear in Nvidias demos as well.

[0] https://github.com/lawl/NoiseTorch

[1] https://github.com/werman/noise-suppression-for-voice/

[2] https://jmvalin.ca/demo/rnnoise/

3 comments

It's worth noting that RNNoise uses way less resources than RTX Voice and doesn't require a GPU. There's a new paper by Jean-Marc Valin (RNNoise author) about a new and improved version PercepNet[0] that's also very light on resource usage, but it's currently lacking an open source implementation. I found someone working on that here[1]. So if anyone here has the time and ML chops to open source a PercepNet implementation, that would bring open source noise suppression quite a bit forward.

[0] https://arxiv.org/pdf/2008.04259.pdf

[1] https://github.com/jzi040941/PercepNet

If anyone knows how to configure pulseaudio to use both RNNoise and module-echo-cancel together, I'd very much appreciate some pointers. My results have been a very distorted robotic voice.
I love these solutions but none are as easy as "install an app and click a button to turn on." RTX Voice has that locked down. I'd use RNNoise instead if there was a standalone app that just "worked" on my mic input. But here I have to jump through hoops for it to work.
Can you elaborate on what hoops exactly you have to jump through? (genuinely curious, i wrote noisetorch and always looking to improve it)
Not the OP, but I'd say noisetorch already works pretty good for that use case. Especially with the recent additions of pre-selecting the last device and stuff like that, I really appreciate those minor QOL improvements.

If I compare it to how RTX voice works, it's _slightly_ more complicated to setup (currently no distribution through standard package managers/simply downloading a file and clicking it to start everything) and it doesn't autostart like RTX voice does on windows startup. But jugding from your issues [0] I understand the decision and I'll set it up manually.

It might be an idea to allow for autostart for users who don't care about the CPU impact because their CPUs are big enough or whatever.

Nevertheless, your solution is actually very close to what OP is describing: "install an app and click a button to turn on". So thanks for maintaining, I use it daily!

[0] https://github.com/lawl/NoiseTorch/issues/6

Compared to something like Krisp (since there's no RTXV on macOS) it was difficult because step one was to compile it.

Assuming the rest of the UX journey is similar (i.e. technically-oriented) compared to Krisp's menubar click-to-activate-mic UX it then becomes less approachable

On a tangent - nice work! That people are even comparing it to RTX Voice is impressive!