[MPlayer-dev-eng] [PATCH] fix for -srate bug

Ed Wildgoose lists at wildgooses.com
Thu Oct 28 13:18:42 CEST 2004


>blackman nuttall windowed sinc, its trivial to change it to ANY other linear 
>resampling algorithm, and ive never seen a non-linear one used for audio, and  
>u dont even seem to know what linear means ...
>  
>

I'm not quite sure why you and Richard have descended to name calling?

I have a 1st class honours degree in mathematics, and so I feel 
reasonably comfortable with the definition of "linear".  On the other 
hand, DSP is not something that I have studied previously, and so like 
the rest of us, I am learning.  I haven't intentionally claimed to be a 
DSP guru, and I thought I had said as much in a previous email.  I 
certainly should think that we have already lost the average reader in 
this thread already...

For those still following, and who aren't DSP gurus like Michael and 
Richard, then I would claim that the comment "ive never seen a 
non-linear one used" is slightly misleading.  First, many of the better 
resampling routines use sinc based interpolation between samples.  
However, whilst the sinc function is non-linear (and infinitely long), 
it turns out that you can approximate it using only (finite) linear 
functions to a high degree of accuracy.  This is the technique used in 
libsamplerate.

I'm going to add my caveat again, lest I get beaten up over this: I'm 
not a terribly experienced DSP coder, and I have certainly never written 
my own resampler (yet).  I'm also not very familiar with the technique 
that you are using in lavc.


>well, listen to it, if u hear some aliasing, tell me ill fix it
>  
>

I would love to.  In fact I was hoping to right now, but the builders in 
the house seem to have blown all the power to the downstairs ring main.  
I'm writing this on battery power upstairs...  It may not be until 
tomorrow before I can get the audio system up and running.

However, for those who have a functioning system, then a good test for 
aliasing is a slow sine sweep rising in frequency.  The sweep that you 
hear coming *down* the other way at highish frequencies is the aliasing 
occuring.  This is something that I would like to try with your resampler.



>if u did any double blind listening tests please elaborate against what did u 
>test libsamplerate? what samples where used what the results where ...
>  
>

I agree that blind listening tests are extremely useful.  I will be 
honest and say that I have fooled myself on a number of occasions, only 
to find that when I test two things back to back with level matching, 
all the differences disappear.  However, where we have diminishing 
returns then it's also often the case that 95% of the time the two 
alternatives can be indistinguishable, but there are still cases where 
differences are audible.  For example even with the rather horrible 
standard resampling of mplayer I only hear the ringing/buzzing on 
certain frequencies.  If I played only a 10 second clip chosen at 
random, then possibly I wouldn't hear a difference either

With the "high quality" resampler in mplayer (not your one), I don't 
hear an audible difference as such.  However, if I play my film at 
highish volumes then I quickly get "listener fatigue" (< 1 hour) and 
have to turn down the volume.  This doesn't happen in the same way with 
the non-resampled version.  So I suspect that there is some IM 
distortion being the main issue here (which makes sense).

Thanks for your comments so far.  It's certainly of huge interest to me 
to have a really good resampler available in mplayer

Ed W




More information about the MPlayer-dev-eng mailing list