Package julius

Julius contains different Digital Signal Processing algorithms implemented with TensorFlow, so that they are differentiable and available on GPU. Note that all the modules implemented here can be used inside a tf.function.

For now, I have implemented:

Along that, you might found useful utilities in:

Please checkout the Github repository for other informations. For a verification of the speed and correctness of Julius, check the benchmark module bench.

This package is named in this honor of Julius O. Smith, whose books and website were a gold mine of information for me to learn about DSP. Go checkout his website if you want to learn more about DSP.

Sub-modules

julius.bands

Decomposition of a signal over frequency bands in the waveform domain.

julius.core

Signal processing or TensorFlow related utilities.

julius.fftconv

Implementation of a FFT based 1D convolution in TensorFlow. While FFT is used in CUDNN for small kernel sizes, it is not the case for long ones, e.g …

julius.filters

FIR windowed sinc highpass and bandpass filters. Those are convenience wrappers around the filters defined in julius.lowpass.

julius.lowpass

FIR windowed sinc lowpass filters.

julius.resample

Differentiable, TensorFlow based resampling. Implementation of Julius O. Smith algorithm for resampling. See https://ccrma.stanford.edu/~jos/resample/

julius.utils

Non signal processing related utilities.