[linux-audio-dev] BruteFIR + jack = crackling noise?

Paul Davis paul at linuxaudiosystems.com
Mon Feb 24 10:29:01 UTC 2003


>It seems that my 2|6 likes period sizes of 44100/1000 or 48000/1000 much bette
>r than the BruteFIR-enforced 2^something sizes though - I can't reliably play 
>anything using a period size of 1024, but one of 820 is fine @ 44100Hz rate (?

many USB audio interfaces work in a fundamentally different way than
other audio interfaces. rather than sending an "interrupt" to the host
after processing 2^N frames, they send an interrupt every N
msecs. 

choosing period sizes for JACK (or for any application, for that
matter) is important here, because otherwise you have a wierd
buffering system, where JACK processes part of the available data on
one "cycle" and then the remainder, plus some of the following, on the
next. although it was written with the intention of handling this
correctly, it may not, and the best advice for now is to pick a period
size that reflects a multiple of a 1msec interrupt rate. for example,
at 48kHz, 1 msec = 48 frames, so a nice number would by 480 frames, or
960 frames, etc.

fernando and others will correct what i've got wrong here.

in closing, let me say that the fact that there are lots of USB audio
interfaces appearing shouldn't fool anyone into thinking that these
are suitable for professional audio work. the basic design of USB is
terrible for this stuff, and i would personally avoid USB audio
interfaces like the plague. the old joke "eat shit - 600 billion
flies can't be wrong" seems very to much to apply here, IMHO.

--p




More information about the Linux-audio-dev mailing list