{"library":"nnaudio","title":"nnAudio","description":"nnAudio is a GPU-accelerated audio processing toolbox built on PyTorch's 1D convolutional neural networks. It specializes in generating various spectrograms (STFT, Mel, CQT) on-the-fly during deep learning training, allowing for differentiable and trainable Fourier kernels. This approach significantly speeds up spectrogram computation compared to traditional CPU-based libraries. The library is currently at version 0.3.4 and follows an active, milestone-driven release cadence.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install nnaudio","pip install git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation"],"cli":{"name":"nnaudio","version":""}},"imports":["from nnAudio import features","from nnAudio.features import STFT","from nnAudio.features.mel import MelSpectrogram"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import torch\nimport numpy as np\nfrom nnAudio import features\n\n# Simulate an audio waveform (e.g., from a .wav file)\nsr = 16000 # Sample rate\nduration = 1 # seconds\nt = np.linspace(0, duration, int(sr * duration), endpoint=False)\n# Simple sine wave at 440 Hz\nsong = 0.5 * np.sin(2 * np.pi * 440 * t, dtype=np.float32)\n\n# nnAudio expects a batch dimension, so unsqueeze(0)\nx = torch.tensor(song).unsqueeze(0)\n\n# Move to GPU if available, otherwise CPU\ndevice = 'cuda' if torch.cuda.is_available() else 'cpu'\nx = x.to(device)\n\n# Initialize a STFT spectrogram layer\n# Pass sample rate (sr) to the layer\nspec_layer = features.STFT(n_fft=2048, hop_length=512, sr=sr).to(device)\n\n# Feed-forward your waveform to get the spectrogram\nspectrogram = spec_layer(x)\n\nprint(f\"Input waveform shape: {x.shape}\")\nprint(f\"Output spectrogram shape: {spectrogram.shape}\")\nprint(f\"Spectrogram layer on device: {next(iter(spec_layer.parameters())).device}\")","lang":"python","description":"This quickstart demonstrates how to create a dummy audio waveform, transfer it to the appropriate device (GPU if available), initialize an STFT layer using `nnAudio.features`, and generate a spectrogram. It highlights the typical workflow of using nnAudio as a PyTorch module.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"0.3.4","pypi_latest":"0.3.4","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":45,"avg_install_s":71.8,"avg_import_s":8.98,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"nnaudio","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"231.0M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.6,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"nnaudio","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":82.9,"import_time_s":5.44,"mem_mb":90.8,"disk_size":"4.8G"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"nnaudio","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"246.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.6,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"nnaudio","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":75.4,"import_time_s":10.8,"mem_mb":106,"disk_size":"4.9G"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"nnaudio","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"232.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"nnaudio","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":65,"import_time_s":11.01,"mem_mb":104.2,"disk_size":"4.9G"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"nnaudio","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"231.1M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"nnaudio","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":64.1,"import_time_s":8.68,"mem_mb":105.9,"disk_size":"4.9G"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"nnaudio","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"233.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.9,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"nnaudio","exit_code":1,"wheel_type":null,"failure_reason":"timeout","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}