{"library":"noisereduce","title":"Noise Reduction using Spectral Gating","description":"NoiseReduce is a Python library for reducing noise in audio signals using a spectral gating algorithm. It offers both a traditional NumPy/SciPy implementation and a more performant PyTorch-based backend for advanced use cases. Currently at version 3.0.3, it is under active development with occasional major updates introducing new features and performance improvements.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install noisereduce","pip install noisereduce[torch]"],"cli":null},"imports":["from noisereduce import reduce_noise","from noisereduce.nn import NoiseReduce","from noisereduce.noisereducev1 import reduce_noise"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import noisereduce as nr\nimport numpy as np\n\n# --- 1. Generate dummy noisy audio ---\nrate = 44100  # sampling rate\nduration = 5  # seconds\nt = np.linspace(0, duration, int(rate * duration), endpoint=False)\n\n# Clean signal (e.g., a sine wave)\nclean_audio = 0.5 * np.sin(2 * np.pi * 440 * t) # A4 note\n\n# Add some random noise\nnoise = 0.2 * np.random.randn(len(t))\nnoisy_audio = clean_audio + noise\n\n# --- 2. Reduce noise ---\n# For stationary noise (default and generally faster)\nreduced_noise_stationary = nr.reduce_noise(\n    y=noisy_audio, \n    sr=rate, \n    stationary=True\n)\n\n# For non-stationary noise (e.g., speech with varying background noise)\n# This is often more effective but can be slower.\nreduced_noise_non_stationary = nr.reduce_noise(\n    y=noisy_audio, \n    sr=rate, \n    stationary=False\n)\n\nprint(f\"Original audio shape: {noisy_audio.shape}\")\nprint(f\"Reduced audio (stationary) shape: {reduced_noise_stationary.shape}\")\nprint(f\"Reduced audio (non-stationary) shape: {reduced_noise_non_stationary.shape}\")\n\n# --- Optional: Using the PyTorch backend (requires `pip install noisereduce[torch]`) ---\n# try:\n#     import torch\n#     model = nr.nn.NoiseReduce(sr=rate, nonstationary=False)\n#     audio_tensor = torch.from_numpy(noisy_audio).float().unsqueeze(0) # Add batch dim\n#     reduced_audio_tensor = model(audio_tensor)\n#     reduced_audio_pytorch = reduced_audio_tensor.squeeze(0).numpy()\n#     print(f\"Reduced audio (PyTorch) shape: {reduced_audio_pytorch.shape}\")\n# except ImportError:\n#     print(\"PyTorch not installed, skipping PyTorch example.\")","lang":"python","description":"This quickstart demonstrates how to generate a simple noisy audio signal and apply noise reduction using both the default stationary and the more robust non-stationary modes of the `noisereduce.reduce_noise` function. It also includes comments on how to use the optional PyTorch backend for higher performance.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"3.0.3","pypi_latest":"3.0.3","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":11.3,"avg_import_s":3.32,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"noisereduce","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.46,"mem_mb":42.3,"disk_size":"321.8M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.43,"mem_mb":42.3,"disk_size":"321.8M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"noisereduce","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11.2,"import_time_s":1.9,"mem_mb":42.3,"disk_size":"309M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11.1,"import_time_s":1.86,"mem_mb":42.3,"disk_size":"309M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"noisereduce","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.38,"mem_mb":54.3,"disk_size":"345.5M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.37,"mem_mb":54.3,"disk_size":"345.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"noisereduce","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":10.8,"import_time_s":3.9,"mem_mb":54.3,"disk_size":"330M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11,"import_time_s":3.94,"mem_mb":54.3,"disk_size":"330M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"noisereduce","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.33,"mem_mb":53.4,"disk_size":"329.9M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.19,"mem_mb":53.3,"disk_size":"329.9M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"noisereduce","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":10.5,"import_time_s":4.41,"mem_mb":53.4,"disk_size":"314M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11.1,"import_time_s":4.33,"mem_mb":53.4,"disk_size":"314M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"noisereduce","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.68,"mem_mb":54.1,"disk_size":"328.5M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.77,"mem_mb":54.1,"disk_size":"328.5M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"noisereduce","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":10.7,"import_time_s":3.79,"mem_mb":54.1,"disk_size":"312M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11,"import_time_s":3.89,"mem_mb":54.1,"disk_size":"312M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"noisereduce","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.2,"mem_mb":39.4,"disk_size":"320.0M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.26,"mem_mb":39.4,"disk_size":"320.0M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"noisereduce","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":12.5,"import_time_s":2.11,"mem_mb":39.4,"disk_size":"313M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":12.9,"import_time_s":2.15,"mem_mb":39.4,"disk_size":"313M"}]}}