Is a convolution module possible?

Cwejman, Livewire, TipTop Audio, Doepfer etc... Get your euro on!

Moderators: Kent, Joe., analogdigital, infradead, lisa, parasitk, plord

Post Reply
User avatar
infection
Common Wiggler
Posts: 245
Joined: Mon Mar 14, 2011 3:44 am

Is a convolution module possible?

Post by infection » Fri Apr 06, 2012 2:11 am

Is this something that is possible to make in eurorack?

I would love to have one. Ability to load own impulses, CV control over impulse speed and other parameters.

Reverb, speaker cabinet and gear impulses, waveshaping...

uConvo
mConvo
.Convo
E590 Sampling Reverb
Z9000 Convoluter
ADDAC Impulse loader


Who wants to make them? Ill take the dual version with crossfading :mrgreen:

User avatar
Dr. Sketch-n-Etch
Super Deluxe Wiggler
Posts: 7587
Joined: Thu Jan 21, 2010 1:46 pm
Location: Vancouver, BC, Canada

Post by Dr. Sketch-n-Etch » Fri Apr 06, 2012 2:52 am

Sorry to sound ignorant, but are you referring to the mathematical convolution (faltung) operation? If so, then yes, I believe this is possible in electronics. It's just a special form of integration involving two stochastic functions multiplied together. I'm not sure what musical function this would serve, though. Please enlighten me!
For every bullshit job, you need a bullshit education -- Brian Eno

User avatar
akrylik
Super Deluxe Wiggler
Posts: 1907
Joined: Sat Feb 18, 2012 9:13 am

Post by akrylik » Fri Apr 06, 2012 3:15 am

With convolution you can implement any linear response filter that has a finite impulse response.

The quicket way to get convolution filtering in euro land is probably to use the z-dsp from tip top audio. The dragonfly card comes with a 3-tap stereo delay or you can easily roll your own with numberz.

User avatar
reppiks
Obscure Intergalactic Destroyers!
Posts: 1907
Joined: Fri Nov 12, 2010 7:43 pm
Location: Tokyo

Post by reppiks » Fri Apr 06, 2012 3:15 am

Convolution reverb is what he means, and yes it does involve the mathematical convolution thang:

http://en.m.wikipedia.org/wiki/Convolution_reverb

User avatar
infection
Common Wiggler
Posts: 245
Joined: Mon Mar 14, 2011 3:44 am

Post by infection » Fri Apr 06, 2012 3:15 am

It basically lets you use recorded impulse responses to color your sound.
Used for emulations of rooms, guitar cabinets and other gear.

There are quite a few convolution reverbs/impulse loaders in software, and impulse responses of all sorts of stuff is available online, or you can make them yourself.


http://en.wikipedia.org/wiki/Convolution_reverb


http://www.bhphotovideo.com/find/newsLetter/Convolution-Reverb.jsp



here are some freeware vsts:

http://www.knufinke.de/sir/sir1.php

http://freeverb3.sourceforge.net/

and for mac:

http://audio.lernvall.com/

User avatar
infection
Common Wiggler
Posts: 245
Joined: Mon Mar 14, 2011 3:44 am

Post by infection » Fri Apr 06, 2012 3:21 am

akrylik wrote:With convolution you can implement any linear response filter that has a finite impulse response.

The quicket way to get convolution filtering in euro land is probably to use the z-dsp from tip top audio. The dragonfly card comes with a 3-tap stereo delay or you can easily roll your own with numberz.
Do you mean that this is already possible with the dragonfly card? I have absolutely no clue about programming, so making my own is not an option.

User avatar
akrylik
Super Deluxe Wiggler
Posts: 1907
Joined: Sat Feb 18, 2012 9:13 am

Post by akrylik » Fri Apr 06, 2012 3:34 am

If what you want is a long tail reverb or you want to be able to record your own impulses and load them in then NO, the dragon fly card does not give you this.

In the above case you would need to use the numberz (z-dsp programmer) to load your own impulse and convolve it with the incoming audio but that would require programming.

The 3-tap delay I mentioned gives you a very specific type of impulse response that sounds like a fading echo with 3 reflections.

User avatar
governor blacksnake
ant in the afterbirth
Posts: 855
Joined: Sat Dec 01, 2007 1:28 pm
Location: seattle

Post by governor blacksnake » Fri Apr 06, 2012 3:39 am

Yeah.

User avatar
infection
Common Wiggler
Posts: 245
Joined: Mon Mar 14, 2011 3:44 am

Post by infection » Fri Apr 06, 2012 3:41 am

Yes i want a module which can load impulses, with CV control over impulse speed (for a guitar cabinet impulse this would control the "size" of the cabinet) and maybe other parameters aswell.

User avatar
matttech
Super Deluxe Wiggler
Posts: 9658
Joined: Wed Feb 23, 2011 1:12 pm
Location: Manchester, UK

Post by matttech » Fri Apr 06, 2012 3:51 am

I thought convolution was pretty CPU-heavy (they always mention that in , say, sound on sound reviews....along with the view that algorithmic reverbs are lighter on computing resources)

Altiverb was off the charts - in terms of processing power needed - a few years back (when I had a 867mhz g4 mac it could only handle about one instance before crumbling)

However, Logic's Space Designer seems a lot lighter on resources, and I was amazed at how many I could run on a 1.8ghz White iMac (loads)

Convolution is superb at lots fo things other than reverb though..speaker cabinets etc... I have a massive library of impulse responses and use them all the time

jupiter8
Wiggling with Experience
Posts: 359
Joined: Sat Jul 31, 2010 4:53 pm

Post by jupiter8 » Fri Apr 06, 2012 4:05 am

No way the Z-DSP is powerful enough for anything but the shortest IRs.

User avatar
Monobass
thonk.co.uk
Posts: 8749
Joined: Fri May 29, 2009 5:39 pm
Location: Brighton, UK

Post by Monobass » Fri Apr 06, 2012 4:44 am

regularly have a few instances of Altiverb going these days

User avatar
Veqtor
Super Deluxe Wiggler
Posts: 2193
Joined: Fri Nov 14, 2008 6:25 pm
Location: Stockholm, Sweden

Post by Veqtor » Fri Apr 06, 2012 5:02 am

Question is, what would be the point of a convolution module, there isn't many parameters to voltage control. Also, I belive there'd be a constant pre-delay corresponding to at least 512 samples @ 44100 hz = 11 ms which is negiable I guess for reverbs but still.

It'd take some rather heavy processing to, I dunno.. morph responses in realtime...

User avatar
infection
Common Wiggler
Posts: 245
Joined: Mon Mar 14, 2011 3:44 am

Post by infection » Fri Apr 06, 2012 5:20 am

Well, speed of the impulse, attack, decay, start point, length could all be interesting to have under CV control. And crossfading/morphing of different impulses would have been great.

I know convolution is cpu intensive, thats why i asked if it was possible.
11 ms latency is a bit much though, ok for big reverbs i guess but not so cool for guitar cabinet impulses.




here is a video of some tweaking in software, would love to be able to control some of those parameters with CV.
[/video]
http://www.youtube.com/watch?v=SN8XUrObX0c

jnlkrt

Post by jnlkrt » Fri Apr 06, 2012 7:30 am

well, if there is one major drawback of impulse response based convolution reverbs besides the amount of calculations needed and the resulting heavy latency of the processing, it`s their lack of real tweakability. any changes to the reflection patterns, room size, colour etc. are just workarounds in post processing. this all makes it pretty useless under CV control IMO. a nice digital algorithmic reverb with CV control makes way more sense, or in my very personal opinion, spring or plate reverbs.
id i really needed something like this, i`d take a CV-->Midi converter or Expert Sleepers and feed the the control signals to the software based convolution reverbs. they are much more practical in software than hardware.

User avatar
Dr. Sketch-n-Etch
Super Deluxe Wiggler
Posts: 7587
Joined: Thu Jan 21, 2010 1:46 pm
Location: Vancouver, BC, Canada

Post by Dr. Sketch-n-Etch » Fri Apr 06, 2012 12:34 pm

This is the first I've heard/read about any of this. I use the convolution operation in my "real" work (mathematical modeling of multistage, multiparticle leaching reactors), but had no idea that it had uses in signal processing.

I'm not interested in digital implementations, but am now quite intrigued about the possibility of an analog approach to convolution filtering. This may be quite useless for modeling speaker cabinets, but could have some interesting possibilities nonetheless. This may already be covered by things such as Karplus-Strong and comb filters, but I've got to do some research.
For every bullshit job, you need a bullshit education -- Brian Eno

User avatar
Tomek Mirt
Veteran Wiggler
Posts: 511
Joined: Fri Jan 28, 2011 11:35 am
Location: Poland

Post by Tomek Mirt » Fri Apr 06, 2012 12:47 pm

I've got to do some research
:sb: :sb:
you have one month for releasing this as a module :hihi:

jnlkrt

Post by jnlkrt » Fri Apr 06, 2012 2:52 pm

Dr. Sketch-n-Etch wrote:This is the first I've heard/read about any of this. I use the convolution operation in my "real" work (mathematical modeling of multistage, multiparticle leaching reactors), but had no idea that it had uses in signal processing.

I'm not interested in digital implementations, but am now quite intrigued about the possibility of an analog approach to convolution filtering. This may be quite useless for modeling speaker cabinets, but could have some interesting possibilities nonetheless. This may already be covered by things such as Karplus-Strong and comb filters, but I've got to do some research.
i think the concept of room impulse responses being used in reverberation processors based on convolution only works in dsp.

here`s some basic info including the practical use:

http://www.inspiredacoustics.com/wiki/i ... erberation

more details about convolution in dsp here:

http://www.dspguide.com/

User avatar
Dr. Sketch-n-Etch
Super Deluxe Wiggler
Posts: 7587
Joined: Thu Jan 21, 2010 1:46 pm
Location: Vancouver, BC, Canada

Post by Dr. Sketch-n-Etch » Fri Apr 06, 2012 4:44 pm

jnlkrt wrote:i think the concept of room impulse responses being used in reverberation processors based on convolution only works in dsp.
You're probably right, but the convolution operation could be implemented fairly easily in analog. Could be an interesting waveshaping technique, for example.
For every bullshit job, you need a bullshit education -- Brian Eno

jnlkrt

Post by jnlkrt » Fri Apr 06, 2012 6:24 pm

Dr. Sketch-n-Etch wrote:
jnlkrt wrote:i think the concept of room impulse responses being used in reverberation processors based on convolution only works in dsp.
You're probably right, but the convolution operation could be implemented fairly easily in analog. Could be an interesting waveshaping technique, for example.
sure, that`s far beyond my knowledge.. :)
i understand that the operation of convolution in general is what inspires you, not the specific application in impulse response based spatial processing.
just thought some hints towards the implementation in audio dsp might be useful to start some research. :tu:

User avatar
Dr. Sketch-n-Etch
Super Deluxe Wiggler
Posts: 7587
Joined: Thu Jan 21, 2010 1:46 pm
Location: Vancouver, BC, Canada

Post by Dr. Sketch-n-Etch » Fri Apr 06, 2012 7:47 pm

jnlkrt wrote:i understand that the operation of convolution in general is what inspires you, not the specific application in impulse response based spatial processing.
You've got me pegged! As mathematical operations go, it's pretty cool (in temporal processes, it actually allows you to go back in time and reconstruct the initial events based on their consequences, and is therefore (IMHO) the best metaphor for all of history).
For every bullshit job, you need a bullshit education -- Brian Eno

User avatar
JeshuaW
Wiggling with Experience
Posts: 315
Joined: Thu Jan 05, 2012 2:52 pm
Location: Baltimore

Post by JeshuaW » Fri Apr 06, 2012 8:03 pm

I actually studied under the man who invented sound file Convolution in the early 80's. Yes it is possible to do it, but even on modern computers, realtime convolution takes up a lot of processor power. Also!!!! Convolution is sooo much more than Reverb. Yes it is a digital filter of the impulse, but you can use it to EQ and make many crazy sounds.

User avatar
Gribs
Super Deluxe Wiggler
Posts: 1295
Joined: Sun Jan 10, 2010 12:19 am
Location: San Ramon, CA

Post by Gribs » Fri Apr 06, 2012 9:02 pm

Dr. Sketch-n-Etch wrote:This is the first I've heard/read about any of this. I use the convolution operation in my "real" work (mathematical modeling of multistage, multiparticle leaching reactors), but had no idea that it had uses in signal processing.
Wow, another mathematical modeler besides me here in the MW forum?

There was a junior year class called "signal analysis and transform methods" that was required for the BSEE degree at my school (SUNY Buffalo). I was the TA for it in grad school too. We covered convolution for continuous and discreet time signals, LTI systems (more difference equations than differential since the students had differential equations already), basis function expansion and Fourier series, Laplace, Z, and Fourier transforms, etc. The first thing that we taught was how to perform convolution in the (continuous) time domain. It drove a lot of the students crazy; I heard "I didn't think I was going to have to compute any more integrals once I finished with calculus" quite a few times over a space of three years :doh:
----------------------------------------

jnlkrt

Post by jnlkrt » Fri Apr 06, 2012 9:13 pm

That`s a pretty inspiring statement:
Dr. Sketch-n-Etch wrote:As mathematical operations go, it's pretty cool (in temporal processes, it actually allows you to go back in time and reconstruct the initial events based on their consequences, and is therefore (IMHO) the best metaphor for all of history).
And this even more:
Dr. Sketch-n-Etch wrote:I tell you, we are here on Earth to fart around, and don't let anybody tell you different.
-- Kurt Vonnegut, Jr.
:)

User avatar
Gribs
Super Deluxe Wiggler
Posts: 1295
Joined: Sun Jan 10, 2010 12:19 am
Location: San Ramon, CA

Post by Gribs » Fri Apr 06, 2012 9:47 pm

jnlkrt wrote:That`s a pretty inspiring statement:
Dr. Sketch-n-Etch wrote:As mathematical operations go, it's pretty cool (in temporal processes, it actually allows you to go back in time and reconstruct the initial events based on their consequences, and is therefore (IMHO) the best metaphor for all of history).
And this even more:
Dr. Sketch-n-Etch wrote:I tell you, we are here on Earth to fart around, and don't let anybody tell you different.
-- Kurt Vonnegut, Jr.
:)
You have to be careful with deconvolution, which is one of a large class of "ill-posed" inverse problems of interest for all sorts of things.

I did a summer internship in grad school at Eastman Kodak Research Labs (poor Eastman Kodak - so sad) with a mathematician who was working on inverse problems that involve integral equations like deconvolution. We worked on more general problems than just deconvolution, but that was one of the problems of general interest.

Convolution of a signal with a bounded kernel such as an impulse response for a cathedral squashes information out of the input signal. A familiar example would be applying a low-pass filter to an input signal; the higher frequency information in the input signal above the cutoff frequency for the filter will be squashed out by the filter. At some point the information will be squished down beneath the noise floor and/or the resolution of your computational system and essentially lost. Trying to reconstruct the original signal using the impulse response and the filtered signal which has lost information is what makes the problem "ill-posed".

The idea is to figure out what can be resolved and what cannot be resolved. For what are called "bounded linear operators on Hilbert spaces" there is a rich mathematical theory which when implemented can help you figure this out. Good stuff happens when you can resolve enough information in the de-convolved signal to be useful.
----------------------------------------

Post Reply

Return to “Eurorack Modules”