HybrA-Filterbanks¶

Logo¶
About¶
This repository contains the official implementaions of Hybrid Auditory filterbanks and ISAC. The modules are designed to be easily usable in the design of PyTorch model designs.
Documentation¶
Installation¶
We publish all releases on PyPi. You can install the current version by running:
pip install hybra
Usage¶
This package offers several PyTorch modules to be used in your code performing transformations of an input signal into a time frequency representation.
from hybra import HybrA
import soundfile
import torch
device = "mps"
x, fs = soundfile.read("./audio/crush.wav")
x = 2 * torch.tensor(x[:, 0], dtype=torch.float32).unsqueeze(0)
sig_len = x.shape[-1]
filterbank = HybrA(L=sig_len,stride=8,scale='mel').to(device)
filterbank.plot_response()
out = filterbank(x.to(device))
Citation¶
If you find our work valuable, please cite
@article{HaiderTight2024,
title={Hold me Tight: Trainable and stable hybrid auditory filterbanks for speech enhancement},
author={Haider, Daniel and Perfler, Felix and Lostanlen, Vincent and Ehler, Martin and Balazs, Peter},
journal={arXiv preprint arXiv:2408.17358},
year={2024}
}
@article{HaiderISAC2025,
title={ISAC: An Invertible and Stable Auditory Filter Bank with Customizable Kernels for ML Integration},
author={Daniel Haider and Felix Perfler and Peter Balazs and Clara Hollomey and Nicki Holighaus},
year={2025},
url={arXiv preprint arXiv:2505.07709},
}
Contents:
- hybra
- hybra.utils
ISACgram()
alias()
audfilters()
audspace()
audspace_mod()
audtofreq()
audtofreq_mod()
bwtofc()
can_tight()
circ_conv()
circ_conv_transpose()
condition_number()
fctobw()
fir_tightener3000()
firwin()
frame_bounds()
freqtoaud()
freqtoaud_mod()
frequency_correlation()
modulate()
plot_response()
response()
upsample()