NoiseTorch built with CI
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
lawl 8f90de5f95 Add do not edit header to automatically generate files 4 years ago
librnnoise_ladspa@453a8af82a Add rnnoise_ladspa as a git submodule and build automatically 4 years ago
scripts Add do not edit header to automatically generate files 4 years ago
vendor Add a simple signer script to sign releases 4 years ago
.gitignore Auto generate full license text and embed 4 years ago
.gitmodules Submodule gets dirty during build, ignore. 4 years ago
LICENSE Auto generate full license text and embed 4 years ago
Makefile Makefile: Create bin directory if it doesn't exist 4 years ago
README.md Fix Latency section in README 4 years ago
config.go rename to NoiseTorch 4 years ago
go.mod Add a simple signer script to sign releases 4 years ago
go.sum Add a simple signer script to sign releases 4 years ago
main.go Auto generate full license text and embed 4 years ago
module.go Clarify comment on PA crashes/SIGKILLs 4 years ago
ui.go Auto generate full license text and embed 4 years ago

README.md

NoiseTorch

License: GPL v3 Last Release

NoiseTorch is an easy to use open source application for Linux with PulseAudio. It creates a virtual microphone that suppresses noise, in any application. Use whichever conferencing or VOIP application you like and simply select the NoiseTorch Virtual Microphone as input to torch the sound of your mechanical keyboard, computer fans, trains and the likes.

Don't forget to like, comment and subscribe leave a star if this sounds useful to you!

Screenshot

Features

  • Two click setup of your virtual denoising microphone
  • A single, small, statically linked, self-contained binary

Download

NoiseTorch offers the following installation methods:

Snap

Coming soon™.

Flatpak

Coming soon™.

Manual (no automatic updates)

Download the latest release from GitHub.

Unpack the tgz file, and double click the executable.

Usage

Select the microphone you want to denoise, and click "Load NoiseTorch", NoiseTorch will create a virtual microphone called "NoiseTorch Microphone" that you can select in any application.

When you're done using it, simply click "Unload NoiseTorch" to remove it again, until you need it next time.

The slider "Voice Activation Threshold" under settings, allows you to choose how strict NoiseTorch should be in only allowing your microphone to send sounds when it detects voice.. Generally you want this up as high as possible. With a decent microphone, you can turn this to the maximum of 95%. If you cut out during talking, slowly lower this strictness until you find a value that works for you.

If you set this to 0%, NoiseTorch will still dampen noise, but not deactivate your microphone if it doesn't detect voice.

Please keep in mind that you will need to reload NoiseTorch for these changes to apply.

Troubleshooting

Unfortunately, sometimes NoiseTorch may display a "Working..." screen forever when loading the virtual microphone. This is usually due to PulseAudio crashing. If that happens, close NoiseTorch and try again, that usually works. I am working to improve this situation.

If you have a different problem with NoiseTorch, you can find a log file in /tmp/noisetorch.log. Please make sure to attach this when reporting an issue.

Latency

NoiseTorch may introduce a small amount of latency. The amount of inherent latency introduced by noise supression is 10ms, this is very low and should not be a problem. Additionally PulseAudio currently introduces a variable amount of latency that depends on your system. Lowering this latency requires a change in PulseAudio.

Building from source

Install the Go compiler from golang.org. And make sure you have a working C++ compiler.

 git clone https://github.com/lawl/NoiseTorch # Clone the repository
 cd NoiseTorch # cd into the cloned repository
 git submodule init # Tell git to look at submodules
 git submodule update # Update submodules
 make # build it

Special thanks to