Chin-Yun Yu, Christopher Mitcheltree, Alistair Carson, Stefan Bilbao, Joshua D. Reiss, and György Fazekas
-
Clone this repo and open its directory.
-
Install requirements:
conda env create -f conda_env_cpu.yml
-
Activate environment:
conda activate phaser
The recommended training configurations for six snapshots of the EHX Small-Stone pedal considered in the paper can be found in config.py
.
Train a model with one of these configs using the proposed time-domain filter implementation:
python3 train_phaser.py --config ss-a --sample_based
or with the baseline frequency sampling approach:
python3 train_phaser.py --config ss-a
Run inference on all pretrained models provided in checkpoints/
and save output audio files to audio_data/
:
python3 inference.py
Note that by default LFO will be out of phase with the equivalent target files in audio_data/small_stone
.
This is because the beginning of the training data was truncated to speed up training; only a few cycles of LFO are required to obtain a good model. To align the phase, comment out line 17 and uncomment line 18 in inference.py
:
#out_sig, _ = model(in_sig)
out_sig, _ = model(in_sig[..., int((60 - get_config(k)['train_data_length']) * sample_rate):])
@inproceedings{ycy2024diffapf,
title={Differentiable All-pole Filters for Time-varying Audio Systems},
author={Chin-Yun Yu and Christopher Mitcheltree and Alistair Carson and Stefan Bilbao and Joshua D. Reiss and György Fazekas},
booktitle={International Conference on Digital Audio Effects (DAFx)},
year={2024}
}