> With BrutefirDRC I still had dropouts and "clicking" sound both from Touch
> and HRT. Yesterday I was looking at this for the n'th time and noticed
> that 'filter_length:' in the brutefir config from Klaus is set to
> '1024,64;'. I remember Anders Torger discussing partitioned convolution of
> the filter and checked his web site. Yes!
> '1024,64;' gives very low latency, but is very demanding. By changing this
> to 16 partitions of 4096, cpu usage drops from around 20-25% to around 6%
> while playing a 96kHz track. The clicking is also gone (using Touch, not
> checked HRT on USB port yet). Setting 'float_bits: 32' reduced CPU usage
> further to around 2%.
Hi all. Olav, I hope you dont mind me quoting your email on the new list.
Ive been investigating the effect of filter_length and float_bits on performance. 
Attached is a python script which tries all combinations. Numbers are elapsed 
time in seconds:
                     32           64
   65536,1     5.175813    10.400801
   32768,2     4.745253     9.042772
   16384,4     4.359495     8.657616
    8192,8     3.751281     9.483818
   4096,16     3.584298    11.990837
   2048,32     4.530481    18.957166
   1024,64     5.677914    28.637125
   512,128     8.505780    50.300683
Firstly, using 64 bit is obviously a large performance hit, and I'm sure the 
difference is inaudible. I wont argue with anyone that wants to use 64 bits, 
but I will change the BrutefirDRC sample filter files to use 32 bits.
Secondly, Olav's suggested 4096,16 is optimal of my machine (core2 duo E7200). 
Up to now I had been using 16384,4 which is 22% slower. The default in the 
sample files are 1024,64 which is 58% slower.
I would appreciate seeing results from other machines. You need an "input.wav" 
file in the same directory. Make sure it is not so long that disk IO affects the 
timings; I used a 4 minute album track. You might also need to change the name 
of baseline_filter at the top of the script, to refer to your normal brutefir 
filter configuration file.
-- 
Toby Dickenson