NoiseTorch README

The project's README from github.com/noisetorch/NoiseTorch. As one markdown file: README.md.

NoiseTorch-ng

Noise Supression Application for PulseAudio or Pipewire

Licence Latest

NoiseTorch-ng 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 using RNNoise. Use whichever conferencing or VOIP application you like and simply select the filtered Virtual Microphone as input to torch the sound of your mechanical keyboard, computer fans, trains and the likes.

Don't forget to leave a star ⭐ if this sounds useful to you!

Regarding the recent security incident

Due to a suspected security breach of the update server and code repository, there's been a concerted effort by the NoiseTorch community to ensure the source code and binaries are free from malicious code.

No malicious code has been found.

You can read more about the audit that was done here and here. Updates will now be retrieved from the project's releases page to avoid any risk of this reoccurring. We thank everyone for their trust and the love that they've shown towards the project in this unpleasant time.

Screenshot

Then simply select "Filtered" as your microphone in any application. OBS, Mumble, Discord, anywhere.

Demo

Linux For Everyone has a good demo video here.

Features

Download & Install

Download the latest release from GitHub.

Unpack the tgz file, into your home directory.

tar -C $HOME -h -xzf NoiseTorch_x64_v0.12.2.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-ng 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 section in the wiki.

Usage

Select the microphone you want to denoise, and click "Load", NoiseTorch-ng will create a virtual microphone called "Filtered Microphone" that you can select in any application. Output filtering works the same way, simply output the applications you want to filter to "Filtered Headphones".

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

The slider "Voice Activation Threshold" under settings, allows you to choose how strict NoiseTorch-ng 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-ng 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-ng for these changes to apply.

Once NoiseTorch-ng has been loaded, feel free to close the window, the virtual microphone will continue working until you explicitly unload it. The NoiseTorch-ng process is not required anymore once it has been loaded.

FAQs

Latency

NoiseTorch-ng 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.

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.

Alternatives

Building from source

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

 git clone https://github.com/noisetorch/NoiseTorch # Clone the repository
 cd NoiseTorch # cd into the cloned repository
 make # build it

To install it:

mkdir -p  ~/.local/bin
cp ./bin/noisetorch ~/.local/bin/
cp ./assets/noisetorch.desktop ~/.local/share/applications
cp ./assets/icon/noisetorch.png ~/.local/share/icons/hicolor/256x256/apps

Special thanks to

NoiseTorch (noisetorch/NoiseTorch)

Searching Database…

这是什么?一个 Linux 应用,可以创建一个带实时降噪功能(RNNoise)的虚拟麦克风。在 Discord、OBS、Mumble 或任何应用里把它选为输入设备,它就能过滤掉键盘声、风扇声和背景噪音。
它是图形界面应用还是命令行工具?它是带图形界面的桌面应用,不是命令行工具——设置只需点两下。它以单个小型静态链接的自包含二进制文件发布。
必须用 PulseAudio 吗,还是 PipeWire 也行?它需要运行 PulseAudio 或 PipeWire 的 Linux 系统,两者都支持。如果想从源码编译,还需要 Go 编译器和一个能正常工作的 C++ 编译器。
它会给我的通话增加延迟吗?麦克风过滤本身只增加 10 毫秒延迟,基本感觉不到。使用 PulseAudio 时输出过滤会增加约 100 毫秒延迟——日常通话和普通游戏没问题,但不适合竞技类团队游戏。
Voice Activation Threshold(语音激活阈值)是干什么的?它是一个灵敏度滑块:表示 NoiseTorch 要多确信你在说话,才会让麦克风发送声音。尽量把它调高(麦克风不错的话设为 95%),如果说话说到一半被切断就调低一些,修改后需要重新加载才能生效。
它能过滤音频输出吗,还是只能过滤我的麦克风?可以——把想获得净化音效的应用指向 'Filtered Headphones',输出就会以同样的方式被过滤,不过在 PulseAudio 下会增加大约 100 毫秒延迟。
它和 noise-suppression-for-voice 或 Easy Effects 有什么区别?这两者都是基于 RNNoise 的替代方案,但配置起来更复杂:noise-suppression-for-voice 需要更多命令行操作,而 Easy Effects 提供了很多音频效果,但只支持 PipeWire。
我可能看到过那次安全事件的消息,现在安装它安全吗?在更新服务器和代码仓库疑似被入侵之后,社区对源代码和二进制文件进行了审计,没有发现恶意代码。现在更新直接来自 GitHub 的 releases 页面。
Creator
noisetorch
Size
6 MB
Stars
10.3K
Age
6y
Commits · 90 Days