simple reverb recommendation
@KMETE Thanks. Here's what I see is wrong:
-
I think you didn't mean to use that last argument in [scale], judging from the subpatch [pd dry wt] which wants values from 0 to 1
-
[pd dry wt] is really a subpatch named "dry"; "wt" is ignored because there's a space preceding it
-
Not sure how you are loading the abstraction [reverb-echo] without a path declaration. Is Pd complaining about it in the console window? Maybe you just copied it from the help folder to your local folder.
-
Try using [line~] in [pd dry wt] to make the dry/wet mix ramp to the next value over 20 mS, I bet that gets rid of the clicks
-
If you duplicate this example reverb, one for the left and one for the right, you have to make [pd reverb] an abstraction with local variable names (i.e. $0- prefixed) to distinguish between the left and right delay lines. Pd is complaining about that,
-
To my ear, the example reverb outputs a stereo image with the source on the left, so to make it stereo you could take both outputs of [pd reverb] and swap outputs for the one on the right. But there is probably a more sophisticated way of making this kind of feedback delay network reverb accept stereo input.
Hope this helps.
simple reverb recommendation
Hello again,
I would like to have a reverb on a input stereo signal.
I need very simple reverb (easy on CPU) that have only one control over dry signal and wet signal - when 0 output is completely dry. When 1 output is completely wet.
I have used the pd reverb that come in the example but for some reason I have clicks when traveling between dry and wet.
any recommendations?
here is my pd reverb patch:
reverb-1.pd

I have some questions regarding it:
assuming my audio file is stereo. I need for each channel (left and right) to have a separate array, right? (array1R and array1L)
So I also need to have a reverb unit for each channel (as I did) ?
Thanks for clarifications!
Dry wet control - how to implement ?
Thanks. This is a part of a bigger patch using the pd reverb
I'm getting considerably lots of clicks and pops.
do you see if I'm doing something wrong in my patch?
(I control the dry wet using a fsr reading from arduino)
abstraction not recognized
I open the reverb patch example from the audio.examples at the help browser.
When I do so the reverb patch is working and the abstraction inside the reverb object is recognized as you can see here:

when I copy the reverb object into a patch I made the reverb-echo abstraction is not recognized as you can see in here:

What I'm doing wrong?
Thanks
signal inversion and matrixes for reverb mixing
I'm beginning to try to understand some basic reverbs from scratch. I know it's a huge topic, and at my level (not quite new to pd but no formal dsp education) I'm unlikely to get too deep into it unless I learn how to read algebra. I've looked at rev~1 + rev~2 to being with, but the reverb outlined in
seemed decent and well explained. It helped me grasp the basics of what is going on to begin with, but I'm still struggling to know how to implement some aspects of it.It relies on "shuffling and inverting" multiple delay signals as an alternative form of an allpass, but I can't really understand how to variously invert multiples of a single delayed signal. Am I better off looking to the more standard allpass examples in the documentation H.15.phasor and passing the multiple delayed signals through this?
There's also two matrixes referenced, the Hadamard and the Household, and wondered if anyone had any tips on how they work, what it might look like in PD...are the matrixes combinations of additions and subtractions of signals, like in the rev2~ reverb example?
Extract filter params from impulse response?
@ddw_music said:
estimating filter parameters from a sampled frequency response
That's probably how I should have asked my question because that's really the issue. It's easy enough to get the freq response of a filter characterized by an impulse response, so the convolution stuff I mentioned is just a distraction (i.e. an old guy telling war stories
).
@lacuna said:
Just guessing here: Convolution backwards is deconvolution, isn't it?
... but the whole topic of resynthesis is very broad and diverse, - plus a filter could be virtually anything.
It's not convolution that I want to invert (see comment above about distraction
). But you're right to point out how amorphous my question is. I thought maybe the kind of sound I'm interested in is so constrained that filter model would be simple (e.g. just a bunch of [vcf~]s in a row).
@ddw_music said:
Another technique is Linear Predictive Coding
Is there a tool you would recommend?
@whale-av Again, convolution is probably a red herring. I don't recall ever getting [partconv~] (bsaylor) to work but I've definitely rolled my own convolution using a delay line and a clone for every sample in one of the vectors (!). Optimization is the enemy of fun 
Extract filter params from impulse response?
@jameslo I don't have an answer to the main question. I suspect it would be tricky, since the most common filters are second-order IIRs, while sampling an impulse response is a high-order FIR.
The Dodge/Jerse Computer Music book discusses sampled frequency responses. Effectively, if you plot out a desired gain per bin and do an inverse cosine transform on it, then you get an impulse response. For an FIR, the impulse response is the same as the coefficients. But it may be more efficient to resample the frequency response -- keep it in the frequency domain and do FFT multiplication. I guess it depends on how many bins you have. 30-50 bins, maybe brute force multiply-add might be faster? (At least in SC, Nick Collins' LTI Linear Time-Invariant unit might be faster for relatively short kernels.) A thousand bins, definitely FFT would be faster.
I should check the book, see if they have any ideas about estimating filter parameters from a sampled frequency response. But I don't recall that they take it in that direction.
A fun observation here is -- since you can do filtering by convolution, and you can also do reverb by convolution, then reverb is a special case of filtering. I'm overstating for dramatic effect, but... a typical filter's frequency response is smooth and predictable while a reverb's frequency response is irregular and noisy, even with the same mathematical process.
hjh
Length of reverb tail in freeverb~?
@raynovich I just checked extended and there is indeed a [freeverb~] object with a freeze function(!). I havent tested it, but freezing a reverb means recirculating the delay buffer losslessly, creating a perpetual "ambient" loop. The freeverb algorithm is not well suited for that as it has low-pass filters in its delay loops (damping), and sound rather ugly if you open the filters entirely (damping set to zero). I suppose the freeze function sets roomsize to max ? Either way it makes little sense to talk about a tail on a "frozen" verb as it is per definition tail-less.
Personally I'd recommend using [rev2~] or [rev3~] for frozen reverb effects, and overall better sounding reverb. But that's just my taste...
Reverb patch (just allpass~, really) as guitar amp
Hi,
I wanted to say thanks to everyone on this site who has answered other people's questions and also to those who asked the questions; I've benefited tremendously from both and have been able to get started with puredata patching.
I wanted to share this quick video of a reverb patch I made. It adds reverb to either an audio file or a line in. I can hook up my electric guitar via iRig and then do some fun reverbs or load up a wav file and then apply effects.
The reverb is just cyclone/allpass~ but, by having this goal in mind I've had to learn about reading files, writing to arrays, delays, monitoring signals, etc. There are a couple of improvements I want to make and there are lots of ideas about how I can tweak things or add new inputs that will modify the signal.
(40 second video on instagram)

Thanks again!
4 ch (quad) reverb
@cfry That's a bit tricky as it depends on the source. Some large / huge spaces are beautiful for a slow solo voice and impossible for a faster piece with multiple instruments and a beat.
The same is true for a reverb effect. Sometimes you have use unnatural settings to achieve what you want and some natural reverb settings will feel completely wrong in a space which looks nothing like what you are hearing.
And huge real spaces (cathedrals) tend to be dull........ long RT60 with loads of low frequencies and no treble..... and I often have to add a more "bright" reverb to make the music intelligible.
As @bocanegra says you are searching for a pleasing sound.
I wouldn't use more than 24ms of pre-delay as it can sound like an echo bouncing around and confuses the ears........ better to increase the reverb time (decay) for a large space and stay with about 14-17ms of pre-delay.
David.


