# noisetorch/noisetorch

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/noisetorch-noisetorch).**

10,120 stars · 242 forks · Go · other

## Links

- GitHub: https://github.com/noisetorch/NoiseTorch
- awesome-repositories: https://awesome-repositories.com/repository/noisetorch-noisetorch.md

## Topics

`hacktoberfest` `hacktoberfest2023` `linux` `noise-reduction` `noise-suppression` `pulseaudio` `voice` `voice-activated` `voice-activity-detection`

## Description

NoiseTorch is a cross-platform audio processor and real-time noise filter designed to suppress ambient sound from audio streams. It functions as a virtual microphone noise suppressor and routing tool, capturing system audio sources and directing filtered signals into virtual input or output devices.

The application uses a recurrent neural network to distinguish between human speech and ambient noise. It provides a virtual denoising microphone that removes background noise from a selected input, alongside tools for filtering audio output streams.

The system includes capabilities for audio device management, such as source enumeration and signal routing. It features voice activation tuning with configurable amplitude thresholds and system-level resource limiting to maintain stable, low-latency performance.

The software includes mechanisms for managing updates through the verification of cryptographically signed remote archives.

## Tags

### Artificial Intelligence & ML

- [Audio Noise Cancellation](https://awesome-repositories.com/f/artificial-intelligence-ml/audio-noise-cancellation.md) — Implements real-time background noise removal and voice-activated microphone suppression using neural networks. ([source](https://github.com/noisetorch/NoiseTorch/blob/master/README.md))
- [Voice Activity Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/voice-activity-detection.md) — Implements signal processing logic to detect the start of speech and eliminate low-level background hum.

### Part of an Awesome List

- [Audio Noise Suppression](https://awesome-repositories.com/f/awesome-lists/ai/recurrent-neural-networks/audio-noise-suppression.md) — Employs a recurrent neural network to distinguish human speech from ambient background noise in real-time.

### Development Tools & Productivity

- [Virtual Audio Routing](https://awesome-repositories.com/f/development-tools-productivity/macos-utilities/virtual-audio-routing.md) — Captures system audio sources and redirects filtered signals into virtual input and output devices.

### Graphics & Multimedia

- [Inter-Application Audio Routing](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing/inter-application-audio-routing.md) — Creates software-defined audio interfaces to route filtered signals between system devices and applications.
- [Audio Stream Filtering](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-streaming-engines/audio-stream-filtering.md) — Removes background noise from application audio streams and routes the cleaned signal to virtual headphones. ([source](https://github.com/noisetorch/NoiseTorch#readme))

### Networking & Communication

- [Audio Management Systems](https://awesome-repositories.com/f/networking-communication/audio-management-systems.md) — Coordinates audio streams across system devices to route processed sound through a virtual signal chain.
- [Audio Input Cleaning](https://awesome-repositories.com/f/networking-communication/audio-management-systems/audio-stream-property-controls/audio-input-cleaning.md) — Cleans noise from physical audio sources to provide a purified signal for real-time communication.

### Operating Systems & Systems Programming

- [Audio Device Enumerators](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-acceleration/device-selection/audio-device-enumerators.md) — Identifies available system audio sources and sinks to locate specific device IDs for signal processing. ([source](https://github.com/noisetorch/NoiseTorch/blob/master/cli.go))
- [Audio Input Selectors](https://awesome-repositories.com/f/operating-systems-systems-programming/input-and-audio-management/audio-input-selectors.md) — Enables the selection and configuration of specific microphones or monitor sources for the noise filter. ([source](https://github.com/noisetorch/NoiseTorch/blob/master/ui.go))
- [Real-Time Audio Streaming Buffers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/buffer-and-cache-management/binary-buffer-managers/trace-buffer-managers/audio-buffers/real-time-audio-streaming-buffers.md) — Uses real-time audio streaming buffers to minimize processing latency between the microphone and virtual output.
- [Real-Time Process Prioritization](https://awesome-repositories.com/f/operating-systems-systems-programming/real-time-process-prioritization.md) — Sets CPU and memory resource limits on audio threads to prevent playback stuttering during high system load.
