On Sat, May 22, 2010 at 11:49:55AM +0200, Jörn Nettingsmeier wrote:
is there a hard technical reason for the behaviour of
the resamplers?
would it make sense for this bear of very little brain to dig into the
code and try to convince them to perform resampling at ratios with full
double precision, or is such an undertaking bound to fail?
AFAIK, the secret rabbit will do any double rate.
For zita-resampler there is a technical reason: I want to
avoid having to interpolate filter coefficients, so all of
them are precomputed. The number of coefficient sets required
in that case is b, where b/a = fs_out/fs_in reduced to the
smallest possible integer ratio. For that reason the value
of b is limited to 1000. This covers all 'common' cases.
In fact it covers 'almost all' ratios with a relative
precision of around 1e-6. For example 355/113 = pi with
a relative error smaller than 1e-7.
Future version of zita-resampler may implement arbitrary
resample ratios, either by interpolating, or more likely
by finding two such small approximations and dithering
between them, or by using a special algorithm for near-
integer ratios.
Ciao,
--
FA
O tu, che porte, correndo si ?
E guerra e morte !