|
Kyma Forum
![]() Tips & Techniques
![]() crossFilter | inverse ir ?
|
| next newest topic | next oldest topic |
| Author | Topic: crossFilter | inverse ir ? | |
|
johannes Member |
hello, i just experiment with daisy-chained crossfilter-long modules. using the same ir (for both crossfilter modules), it results in a boost of the resonances, that are present in both the input and the response. (while noisy components of the input will be attenuated) i wonder how this process can work the other way around, so common resonances (in the input and ir) will be attenuated. what i had in mind is to do it by inverting the ir, even though i guess its not possible to access the ir directly in the crossfilter-long module. is this right, pete? thanks, [This message has been edited by johannes (edited 04 November 2014).] IP: Logged | |
|
SSC Administrator |
If you form the spectral inverse of the Response you are using for the first CrossFilter you could use that as the Response for the second CrossFilter. I did a quick try using LiveSpectralAnalysis and a ClippingDivide of just the left channel (the amplitudes) before resynthesizing, but it did not cancel the filtering (probably has something to do with the large amplitudes of the inverse function combined with time smearing). It did, however, sound kind of cool. IP: Logged | |
|
gustl Member |
You could try the following to compensate for the large amplitudes: Use an FIR filter with 256 taps (for 256 partials) of 1/256 on the amplitudes. Do the same for the inverted spectrum. This will give you a running average of the amplitudes. Then divide the running average of the original by the inverted running average. Multiply the result with the amplitudes of the inverted spectrum. Don't know if that really improves it but it's worth a try. You could improve this by alternating the frames and sample and hold the last (256th) sample for a real average of one frame, but I don't know if that's necessary. Best, IP: Logged | |
|
johannes Member |
thanks for the reply ssc and gustl, its a bit hard to follow. as i understand i will have to change the ir of the cf1 (cross filter 1) by inverting it and use it an response into cf2. do you mean: while feeding the response into cf1 how i can use the clippingDevide module to invert the spectrum? thanks for help, johannes IP: Logged | |
|
gustl Member |
Hi Johannes, Exactly! To invert the spectrum you use the clipping divide on the amplitudes of the spectrum: set the nominator to a constant 1 and use the amplitudes for the denominator input. Also scale it to avoid clipping all the time. Just try which value for scale fits best.. Or is there a specific value for scale to use, SSC? Best, IP: Logged | |
|
johannes Member |
hey gustl, thanks for taking the time. its much clearer now. one thing iam just thinking bout is: before inverting the impulse response i need to capture it between the livespectrumanalysis and oscillatorbank stage. lets say i analyse 3 seconds of incomming audio. how to extract the ir from it? by taking the average of it (adding n frames and then divide it by n) ? and gustl, you were talking bout the treatment of amps. what exactly happens to the freqs? ps. thumps up for continuing the "split spectrum into noise and sinusodial components" research. ciao, johannes IP: Logged | |
|
gustl Member |
No problem I suggest you do it this way: Sample module containing the IR feeding the LiveSpectralAnalysis feeding an oscillatorbank. This will be your first IR. Split the spectrum into left and right and invert the amplitudes. Then feed them into a second oscillatorbank using a channeljoin. this will be your second IR. Frequencies pass untreated. by analyzing and resynthesizing the first IR you make sure that the sonic quality and the timing of both IRs are equal. Best, IP: Logged | |
|
johannes Member |
thanks, got it. i will try it the next days... bis balduin, johannes IP: Logged | |
|
cristian_vogel Member |
this is a very interesting discussion. Gustl could you possibly post an example? IP: Logged | |
|
SeanFlannery Member |
I will add my voice to the examples please list ![]() regards, IP: Logged | |
|
gustl Member |
I'd like to but I'm having trouble opening the clipping divide from this post: http://www.symbolicsound.com/cgi-bin/forumdisplay.cgi?action=displayprivate&number=1&topic=001531 SSC? IP: Logged | |
|
johannes Member |
in the meantime i put everything together. but inverting the amps via clippingDivide results in a lot of noise. no matter if i use clippingDevide´s scale parameter… will try the compensation you mentioned earlier. IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() |
|
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.