-
Notifications
You must be signed in to change notification settings - Fork 234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Readme Restore #304
Merged
Merged
Readme Restore #304
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,106 @@ | ||
<img src="https://raw.githubusercontent.com/noisetorch/NoiseTorch/master/assets/icon/noisetorch.png" width="100" height="100"> | ||
<h1 align="center"> NoiseTorch</h1> | ||
<h3 align="center"> Noise Supression Application for PulseAudio or Pipewire</h3> | ||
<p align="center"><img src="https://raw.githubusercontent.com/noisetorch/NoiseTorch/master/assets/icon/noisetorch.png" width="100" height="100"></p> | ||
|
||
# NoiseTorch | ||
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Last Release](https://img.shields.io/github/v/release/noisetorch/NoiseTorch?label=latest&style=flat-square)](https://github.com/noisetorch/NoiseTorch/releases) | ||
|
||
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) | ||
[![Last Release](https://img.shields.io/github/v/release/noisetorch/NoiseTorch?label=latest&style=flat-square)](https://github.com/noisetorch/NoiseTorch/releases) | ||
|
||
## Probable insecurity / remove NoiseTorch | ||
NoiseTorch is an easy to use open source application for Linux with PulseAudio or PipeWire. 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. | ||
|
||
At least one of the original developers' (@lawl) systems has probably been compromised. Due to that we currently can not expect the source code NOR the binaries to be secure. | ||
Therefore you should for now remove NoiseTorch from your systems, until this issue is cleared up: | ||
Don't forget to leave a star ⭐ if this sounds useful to you! | ||
|
||
~~~ | ||
rm ~/.local/bin/noisetorch | ||
rm ~/.local/share/applications/noisetorch.desktop | ||
rm ~/.local/share/icons/hicolor/256x256/apps/noisetorch.png | ||
~~~ | ||
## Screenshot | ||
|
||
## Seeking help with code review | ||
![](https://i.imgur.com/T2wH0bl.png) | ||
|
||
If the community can help review ALL of the code, maybe we can trust the code again and work from there. | ||
Then simply select NoiseTorch as your microphone in any application. OBS, Mumble, Discord, anywhere. | ||
|
||
![](https://i.imgur.com/nimi7Ne.png) | ||
|
||
## Demo | ||
|
||
Linux For Everyone has a good demo video [here](https://www.youtube.com/watch?v=DzN9rYNeeIU). | ||
|
||
## Features | ||
* Two click setup of your virtual denoising microphone | ||
* A single, small, statically linked, self-contained binary | ||
|
||
## Download & Install | ||
|
||
[Download the latest release from GitHub](https://github.com/noisetorch/NoiseTorch/releases). | ||
|
||
Unpack the `tgz` file, into your home directory. | ||
|
||
tar -C $HOME -xzf NoiseTorch_x64.tgz | ||
|
||
This will unpack the application, icon and desktop entry to the correct place. | ||
Depending on your desktop environment you may need to wait for it to rescan for applications, or tell it to do a refresh now. | ||
|
||
With gnome this can be done with: | ||
|
||
gtk-update-icon-cache | ||
|
||
You now have a `noisetorch` binary and desktop entry on your system. | ||
|
||
Give it the required permissions with `setcap`: | ||
|
||
sudo setcap 'CAP_SYS_RESOURCE=+ep' ~/.local/bin/noisetorch | ||
|
||
If noisetorch doesn't start after installation, you may also have to make sure that `~/.local/bin` is in your PATH. On most distributions e.g. Ubuntu, this should be the case by default. If it's not, make sure to append | ||
|
||
``` | ||
if [ -d "$HOME/.local/bin" ] ; then | ||
PATH="$HOME/.local/bin:$PATH" | ||
fi | ||
``` | ||
|
||
to your `~/.profile`. If you do already have that, you may have to log in and out for it to actually apply if this is the first time you're using `~/.local/bin`. | ||
|
||
#### Uninstall | ||
|
||
rm ~/.local/bin/noisetorch | ||
rm ~/.local/share/applications/noisetorch.desktop | ||
rm ~/.local/share/icons/hicolor/256x256/apps/noisetorch.png | ||
|
||
## Troubleshooting | ||
|
||
Please see the [Troubleshooting](https://github.com/noisetorch/NoiseTorch/wiki/Troubleshooting) section in the wiki. | ||
|
||
## 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. Output filtering works the same way, simply output the applications you want to filter to "NoiseTorch Headphones". | ||
|
||
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. | ||
|
||
Once NoiseTorch has been loaded, feel free to close the window, the virtual microphone will continue working until you explicitly unload it. The NoiseTorch process is not required anymore once it has been loaded. | ||
|
||
## Latency | ||
|
||
NoiseTorch may introduce a small amount of latency for microphone filtering. 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](https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/120). | ||
|
||
Output filtering currently introduces something on the order of ~100ms with pulseaudio. This should still be fine for regular conferences, VOIPing and gaming. Maybe not for competitive gaming teams. | ||
|
||
## Building from source | ||
|
||
Install the Go compiler from [golang.org](https://golang.org/). And make sure you have a working C++ compiler. | ||
|
||
```shell | ||
git clone https://github.com/noisetorch/NoiseTorch # Clone the repository | ||
cd NoiseTorch # cd into the cloned repository | ||
make # build it | ||
``` | ||
|
||
## Special thanks to | ||
|
||
* [@lawl](https://github.com/lawl) Creator of NoiseTorch | ||
* [xiph.org](https://xiph.org)/[Mozilla's](https://mozilla.org) excellent [RNNoise](https://jmvalin.ca/demo/rnnoise/). | ||
* [@werman](https://github.com/werman/)'s [noise-suppression-for-voice](https://github.com/werman/noise-suppression-for-voice/) for the inspiration | ||
* [@aarzilli](https://github.com/aarzilli/)'s [nucular](https://github.com/aarzilli/nucular) GUI toolkit for Go. | ||
* [Sallee Design](https://www.salleedesign.com) (info@salleedesign.com)'s Microphone Icon under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | ||
|
||
To help go here to read up on the history: https://github.com/noisetorch/NoiseTorch/discussions/264 | ||
... and here to check what still needs to be done: https://github.com/noisetorch/NoiseTorch/discussions/275 |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you center the badges? I think it would look better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
while I share that sentiment, that centered badges may look good, it is not a necessity to get this PR merged.
Thanks for the changes, @RiemaruKarurosu