julius
Nice DSP sweets: resampling, FFT Convolutions. All with PyTorch, differentiable and with CUDA support.
What it is and what it does
Julius is a PyTorch-based DSP library that makes audio and signal processing operations differentiable and GPU-accelerated. It implements sinc resampling, FFT-based convolutions for large kernels, FIR filter banks (lowpass, highpass, bandpass), and frequency-band decomposition in mel-scale space. All operations run on CUDA and are compatible with TorchScript, making them suitable for training neural networks that incorporate signal processing or for real-time inference pipelines.
The library is designed for cases where you need DSP operations to be part of a differentiable computation graph or where GPU acceleration matters. Its resampling is faster than resampy even on CPU and negligible on GPU for typical sample-rate ratios. FFT convolutions outperform standard convolution for kernels >= 128 samples, especially with many channels or large batch sizes.
Use it for:
- Train end-to-end neural networks that include learnable audio resampling or filtering layers.
- Accelerate batch audio preprocessing on GPU by replacing CPU-based librosa or scipy operations.
- Implement parametric EQ or frequency-band-dependent processing as differentiable modules.
- Build real-time audio inference pipelines using TorchScript-compiled DSP operations.
- Perform large-kernel convolutions on long audio signals faster than torch.nn.Conv1d.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Julius provides differentiable, GPU-accelerated digital signal processing for audio and 1D signals using PyTorch, including resampling, FFT convolutions, and frequency-domain filtering.
Yes. Julius is actively maintained, has no known vulnerabilities, installs with minimal friction (torch only), and fills a genuine gap for GPU-accelerated, differentiable DSP in PyTorch workflows. Install it if you need signal processing as part of a neural network or GPU pipeline; skip it if you only do offline audio analysis on CPU.
Install
julius on PyPI
pip
pip install juliusuv
uv add juliuspoetry
poetry add juliusInstalling julius
Before you install
Low friction: pure Python wheel with only torch as a runtime dependency. Actively maintained with a recent release (72 days old), last commit 2026-06-03, and 461 repository stars.
License in practice
MIT license (permissive) — you can use, modify, and distribute julius freely in commercial and private projects with minimal restrictions.
Quickstart
pip install julius
import julius
import torch
signal = torch.randn(6, 4, 1024)
resampled = julius.resample_frac(signal, 100, 70)
low_freqs = julius.lowpass_filter(signal, 0.1)
Requires Python >= 3.9.0 and torch installed.
Verify before relying
- Whether FFTConv1d performance advantage over torch.nn.Conv1d holds for your specific tensor sizes and hardware.
- TorchScript compatibility status and any known limitations beyond what the description states.
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.9.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — torch |
| Maintenance | actively maintained — 72 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,735,249/month — #2,913 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: julius-0.2.8-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
doppler-dspProvides a C99 digital signal processing…
permissive · top 15,000 on PyPI
resize-rightResizes images or tensors in NumPy or PyTorch…
permissive · top 15,000 on PyPI
noisereduceReduces noise in audio and time-domain signals…
permissive · top 15,000 on PyPI
nvidia-cufft-cu11Provides NVIDIA CUFFT native runtime libraries…
unclear · top 5,000 on PyPI
nvidia-cufft-cu12Provides NVIDIA CUFFT native runtime libraries…
unclear · top 1,000 on PyPI
samplerateWraps libsamplerate (Secret Rabbit Code) to…
permissive · top 15,000 on PyPI
causal-conv1dImplements a CUDA-optimized causal depthwise 1D…
permissive · top 15,000 on PyPI
torchcrepePyTorch implementation of the CREPE pitch…
permissive · top 15,000 on PyPI
pytorch-waveletsProvides 2D discrete wavelet and dual-tree…
unclear · top 15,000 on PyPI
PyWaveletsPyWavelets provides discrete, continuous, and…
permissive · top 5,000 on PyPI