On Friday, January 07, 2011 04:18:57 pm Gabriel M.
Beddingfield wrote:
> Before I FUD someone else's application... a perfect
> example is StretchPlayer (using RubberBand). I can't
> get it to be RT-safe at <256... and it's marginal at
> 256.
FYI, I did some testing with RubberBand and found that it
has a fixed minimum processing window/time of 512 frames.
This makes it dangerous to use with <512 frames/period
because it does too much work in one period.
For example, at 64 frames/period I measured these processing
times for subsequent process() cycles:
Process time = 1533 usecs
Process time = 1851 usecs
Process time = 1787 usecs
Process time = 26 usecs
Process time = 18 usecs
Process time = 20 usecs
Process time = 22 usecs
Process time = 19 usecs
Process time = 18 usecs
Process time = 21 usecs
Process time = 22 usecs
Process time = 20 usecs
Process time = 17 usecs
Process time = 18 usecs
Process time = 21 usecs
Process time = 18 usecs
Process time = 21 usecs
Process time = 26 usecs
Process time = 22 usecs
Process time = 27 usecs
Process time = 20 usecs
Process time = 30 usecs
Process time = 27 usecs
Process time = 66 usecs
Process time = 1893 usecs
Process time = 18 usecs
Process time = 29 usecs
Process time = 24 usecs
Process time = 20 usecs
Process time = 18 usecs
Process time = 22 usecs
Process time = 18 usecs
Process time = 1518 usecs
Process time = 20 usecs
Process time = 21 usecs
Process time = 23 usecs
Process time = 21 usecs
Process time = 17 usecs
Process time = 22 usecs
Process time = 21 usecs
Process time = 1654 usecs
I.e. it does all its calculations every 8 periods
(512/64)... instead of doing a little bit in each period.
This behavior makes it dangerous to use RubberBand at less
than 512 frames/period because it eats up your processor
headroom. However, if you have a really fast processor you
can usually get away with it.
It looks like it's possible to make the window smaller by
hacking RubberBand... but I can't figure out how to do it
through the public API.
-gabriel
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Wed Jan 12 16:15:03 2011
This archive was generated by hypermail 2.1.8 : Wed Jan 12 2011 - 16:15:04 EET