Sunday, August 30, 2009

adaptive convolution



Adaptive Convolution, it turns out that this exists in image processing and in live audio, convolution is used to mask predictable noise patterns. I will need to read up on these.

The reason that I start with this word is that I have been playing around with different Convolution paradigms in my imagination. One that I have imagined is, adaptive convolution, where the convolution IR adapts over time. In this way two sounds can be crossed. Tom Erbe implemented something close to this in SoundHack with "Mutation." I was not able to get the wide variety of results or precision that I imagined with this tool though. He describes it as thus
Cross-synthesis between two soundfiles with soundfile convolution, ring
modulation or spectral mutation.

This is what ges1 sounds like when made with SoundHack









So I began to play today with convolution of two signals in order to see what I could arrive at. I choose to use this audio file as the Impulse Response.







I chopped it up by hand into it's constituent sounds. (Looking back I think there are some things that I would change now, as the 7 files don't account for the entirety of the sound).

Then I combined these IR's with 3 different sound files and also some pink noise. Here is what I came up with.
ges1








ges2








ges3








mix1n2








mix1n3








mix3n2








Here it is with just Pink Noise

noise








And now with the original audio file
orig








Ok, this worked out fairly well. So it occurred to me that I could granulated the IR file in real time and perform the convolution on an ongoing basis. Basically the whole thing happens in real time. The windowing of the grain determines the type of window on the IR. I found that through changing grain density and windowing type there is a wide variety of options in sound. Also, I was able to slow down the playback of the IR file without distorting the pitch material, hence theses are slower. Here a couple of examples.
grain1







grain2







grain3







grain4







grain5







grain6








Working on this and a couple of other projects which are similar, I realized that when I do things by hand there is a certain precision and necessity of decision. The more that I automate, the further from my expected results I get. Both results have their place and I happily use both. I generally find the difference striking though. The irony of course is that in stating "adaptive convolution" I am imagining something that is not hand made, but rather more automated.

0 Comments:

Post a Comment

<< Home