Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: ARDFTSRC - Real Discrete Fourier Transform Sample Rate Conversion (Read 2034 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

ARDFTSRC - Real Discrete Fourier Transform Sample Rate Conversion

As available in Librempeg. Latest version have fixed input/output/duration bug.

Output is with minimal aliasing for many values of quality option set:

32000 Hz Sweep 32-bit Float -> 44100 Hz Sweep 32-bit Float

Audio filter ardftsrc, one possible very high quality processing example:

Code: [Select]
ffmpeg -i sweep.wav -af "aformat=dblp,ardftsrc=44100:quality=4096" -c:a pcm_f32le ardftsrc_4096q.wav

X

For smaller values of option quality and with float input instead of double input samples small aliasing can be seen and very small ringing on very high frequencies but this is only for extremely very low dB levels, much below 120dB.

Speed is on one machine tested consistently faster than SoX for same/similar quality presets.
Drawback is relatively high delay + buffering needed to process audio samples, quality filter option correlates with filtering delay size.

Known bugs:
- for some quality option values and sample ratio conversions combinations output may be invalid due to bug in x86 asm avx2 code path in FFT processing code, workaround is to use different value of quality parameter and/or disable certain/all instruction with "-cpuflags XXX" parameter set.
Please remove my account from this forum.

Re: ARDFTSRC - Real Discrete Fourier Transform Sample Rate Conversion

Reply #1
The taper window was changed from tukey to planck-taper window, this gives much less artifacts for same quality setting value than before.
Please remove my account from this forum.