[Speex-dev] FFT Resampler
Thorvald Natvig
thorvald at natvig.com
Wed May 28 15:40:50 PDT 2008
Attached is a snapshot of work-in-progress of a FFT based resampler. At
the moment it works in floating point only, and only basic quality
inspection has been done.
Some benchmarks comparing the filter-based resampler at Q3 with the FFT
resampler with overlap = in_len / 2, using 20ms chunks of data. (-O3
-ffast-math, FFTW3, gcc 4.3.0 on x86_64)
16=>48: 59us vs 19us
16=>44.1: 204us vs 34us
16=>8: 13us vs 7us
48=>8: 32us vs 16us
This is actually much faster than I expected.
With -O3, the overhead of copying, applying window etc is 20%. With all
options, the overhead sinks to 10%.
I've done listening tests when converting wb_male.wav to 44.1, 48 and
8khz, and there aren't any obvious artifacts. I also did a 16=>16 test,
and the results are delayed by 10ms and within +/- 1 (basically,
rounding errors from the FFT).
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: speex-block-snapshot.diff
Url: http://lists.xiph.org/pipermail/speex-dev/attachments/20080529/6819bbbe/attachment.txt
More information about the Speex-dev
mailing list