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 ! _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
