[CLAM] Re: CLAM digest, Vol 1 #199 - 4 msgs

Xavier Amatriain xavier at create.ucsb.edu
Wed Sep 14 09:16:10 PDT 2005

BTW, the technique was used on a real-time very demanding spectral 
processing technique and, as far as I know, did not produce significant 
load to the CPU (compared to the FFT or Pitch detection algorithms). 
And, if I remember right, we tried both multithreading and single thread 

Stéphane Letz wrote:

>> --__--__--
>> Message: 4
>> Date: Tue, 13 Sep 2005 11:00:57 -0700
>> From: Xavier Amatriain <xavier at create.ucsb.edu>
>> To: Thomas Andrea <thomas.an at hotmail.com>
>> CC: clam at iua.upf.es
>> Subject: Re: [CLAM] AudioPorts Usage
>> I guess you are implementing a vst plugin or something similar, right?
>> If so, you can either write the samples to a CLAM::Audio object on  each
>> call to the Process function or (better) write them to an independent
>> Outport that you can connect to the SpectralAnalysis Inport. I  
>> recommend
>> you read this other thread on the CLAM mailing list:
>> http://iua-mail.upf.es/mailman/public-archives/clam/msg00435.html
>> BTW, in any case if you are writing a vst plugin, the real problem is
>> how to adapt the size of the incoming buffer to the one configured at
>> the Spectral Analysis. We have a couple of working implementations but
>> none of them are clean enough so as to be in the main distribution.  All
>> of them are loosely based on Stephan Letz's very interesting article
>> "Callback Adaptation Techniques" [1]
>> [1]
>> kmt.hku.nl/~pieter/SOFT/CMP/src/portaudio/pa_asio/ 
>> Callback_adaptation_.pdf
> I'm surprised to see this old technical report being of use for  
> someone...
> The main disadvantage of this "buffer size adaptation" technique is  
> that it has bad consequences in the way CPU is used.
> For example if a consumer using a bigger buffer size is feed by a  
> producer using a smaller buffer size, then the consumer is called  
> with a smaller rate but has to deal with the bigger buffer size each  
> time its callback is called... but in the maximum duration of the  
> smaller buffer size. Thus CPU use is not "homogeneously" distributed  
> if all computations are done in the same thread. Ore more complex  
> multi-threads techniques would have to be used.
> I'm interested to see in what kind of use it is used in CLAM. You are  
> speaking about spectral data. Could you explain more?
> Thanks
> Stephane Letz
> _______________________________________________
> CLAM mailing list
> CLAM at iua.upf.es
> http://www.iua.upf.es/mtg/clam

 *          Xavier Amatriain   		  *
 *          Research Director 		  *
 *  		  CREATE		  *
 * University of California Santa Barbara *

More information about the clam-users mailing list