Interpolation filter design for sample rate independent audio effect RNNs
Alistair Carson, Alec Wright and Stefan Bilbao
Acoustics and Audio Group
University of Edinburgh
Edinburgh, UK
Welcome to the accompanying web-page for our ICASSP '25 submission.
Abstract
Recurrent neural networks (RNNs) are effective at emulating the non-linear, stateful behavior of analog guitar amplifiers and distortion effects. Unlike the case of direct circuit simulation, RNNs have a fixed sample rate encoded in their model weights, making the sample rate non-adjustable during inference. Recent work has proposed increasing the sample rate of RNNs at inference (oversampling) by increasing the feedback delay length in samples, using a fractional delay filter for non-integer conversions. Here, we investigate the task of lowering the sample rate at inference (undersampling), and propose using an extrapolation filter to approximate the required fractional signal advance. We consider two filter design methods and analyze the impact of filter order on audio quality. Our results show that the correct choice of filter can give high quality results for both oversampling and undersampling; however, in some cases the sample rate adjustment leads to unwanted artefacts in the output signal. We analyse these failure cases through linearised stability analysis, showing that they result from instability around a fixed point. This approach enables an informed prediction of suitable interpolation filters for a given RNN model before runtime.
Filter designs
Below are the fractional delay filter designs used in the sample rate independent RNNs for a) oversampling by a non-integer factor and b) undersampling by the inverse ratio. The top row shows the magnitude response in dB and the bottom row shows phase delay error in samples.
Audio Examples
Below are audio examples from a selection of amplifier/effects models from the GuitarML Tone Library. Click here to download all models .
🎧 Headphones recommended to hear the differences 🎧
❗ WARNING: KEEP VOLUME LOW (some clips contain high frequency ringing artefacts) ❗
1) Blackstar HT40 tube amp – high gain
Model path: Proteus_Tone_Packs/AmpPack1/BlackstarHT40_AmpHighGain.json
Clip 1 | Clip 2 | Clip 3 | ||||
---|---|---|---|---|---|---|
Input | ||||||
Target | ||||||
Inference sample rate | ||||||
Method | 40.5kHz | 48kHz | 40.5kHz | 48kHz | 40.5kHz | 48kHz |
Naive | ||||||
Lagrange-1 | ||||||
Lagrange-2 | ||||||
Lagrange-3 | ||||||
Lagrange-4 | ||||||
Lagrange-5 | ||||||
Minimax-1 | ||||||
Minimax-2 | ||||||
Minimax-3 | ||||||
Minimax-4 | ||||||
Minimax-5 |
2) Blues Junior – clean
Model path: Proteus_Tone_Packs/AmpPack1/BluesJrAmp_VolKnob.json
Clip 1 | Clip 2 | Clip 3 | ||||
---|---|---|---|---|---|---|
Input | ||||||
Target | ||||||
Inference sample rate | ||||||
Method | 40.5kHz | 48kHz | 40.5kHz | 48kHz | 40.5kHz | 48kHz |
Naive | ||||||
Lagrange-1 | ||||||
Lagrange-2 | ||||||
Lagrange-3 | ||||||
Lagrange-4 | ||||||
Lagrange-5 | ||||||
Minimax-1 | ||||||
Minimax-2 | ||||||
Minimax-3 | ||||||
Minimax-4 | ||||||
Minimax-5 |
3) Dumble Kit – high gain
Model path: Proteus_Tone_Packs/AmpPack1/DumbleKit_HighG_DirectOut.json
Clip 1 | Clip 2 | Clip 3 | ||||
---|---|---|---|---|---|---|
Input | ||||||
Target | ||||||
Inference sample rate | ||||||
Method | 40.5kHz | 48kHz | 40.5kHz | 48kHz | 40.5kHz | 48kHz |
Naive | ||||||
Lagrange-1 | ||||||
Lagrange-2 | ||||||
Lagrange-3 | ||||||
Lagrange-4 | ||||||
Lagrange-5 | ||||||
Minimax-1 | ||||||
Minimax-2 | ||||||
Minimax-3 | ||||||
Minimax-4 | ||||||
Minimax-5 |