skillfed

julius

Nice DSP sweets: resampling, FFT Convolutions. All with PyTorch, differentiable and with CUDA support.

julius v0.2.8 2.7M downloads/30d#2,913 on PyPI461
Permissive license MIT License Active released

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 julius

uv

uv add julius

poetry

poetry add julius

Installing 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

License :: OSI Approved :: MIT LicenseTopic :: Multimedia :: Sound/AudioTopic :: Scientific/Engineering

Tags

pytorch audio dspdifferentiable signal processinggpu accelerated resamplingfft convolution pytorchaudio filtering cudamel-scale frequency bandstorchscript dsp
audio-dspgpu-accelerateddifferentiable

More Scientific/Engineering packages

Further reading