The Kyma Forum is no longer active. Please visit the Kyma Community.


  Kyma Forum
  Tips & Techniques
  How to create impressive reverbs with Kyma?

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   How to create impressive reverbs with Kyma?
paugui
Member
posted 25 May 2017 07:55         Edit/Delete Message   Reply w/Quote
Hi all

I got a Capybara 320 last year (fortunately with all DSP expansions included), and have been thinking it would be really interesting to developed my own reverb algorithms, using delays and other basic components.

The first thing I have to ask is, are there any free PDFs available explaining the basics behind some algorithms from old reverb units as well as the physics of reverberation?

Second thing, are there any basic delays in Kyma without feedback option available?
In some cases, I'm not intending to use the provided feedback line as I'd like to add some processing, like some filtering, before feeding the signal back in the delay module.
I would expect that maybe I could spare some DSP if I chose instead a module that doesn't have any feedback line for these tasks.
Would that be the case?


Thanks in advance,
Best

Paulo

IP: Logged

Douglas Kraul
Member
posted 26 May 2017 06:50         Edit/Delete Message   Reply w/Quote
quote:
Originally posted by paugui:
Hi all

I got a Capybara 320 last year (fortunately with all DSP expansions included), and have been thinking it would be really interesting to developed my own reverb algorithms, using delays and other basic components.

The first thing I have to ask is, are there any free PDFs available explaining the basics behind some algorithms from old reverb units as well as the physics of reverberation?

Second thing, are there any basic delays in Kyma without feedback option available?
In some cases, I'm not intending to use the provided feedback line as I'd like to add some processing, like some filtering, before feeding the signal back in the delay module.
I would expect that maybe I could spare some DSP if I chose instead a module that doesn't have any feedback line for these tasks.
Would that be the case?


Thanks in advance,
Best

Paulo


Commercial quality professional reverb algorithms are still considered somewhat black arts and as such those secrets are closely guarded. There are though a number of academic papers available on the Internet. The seminal paper was Manfred Schroeder's "Natural Sounding Artificial Reverberation" http://www.aes.org/e-lib/browse.cfm?elib=849. There is extensive writing about this paper/algorithm, online, for example here: https://valhalladsp.com/2009/05/30/schroeder-reverbs-the-forgotten-algorithm/ and here: https://ccrma.stanford.edu/~jos/pasp/Schroeder_Reverberators.html. However, commercial reverb algorithms are very different in many respects.

I also recommend poking around on this blog: https://valhalladsp.com/blog/. The author is a self-taught reverb expert whose software plugin reverb products are highly regarded. There is a lot of good information that can be gleamed from his writings, especially those written a number of years back. He has also given talks on reverbs and if I recall there is an audio recording and PDF of one presentation available on line worth exploring.

Based on personal experience my recommendation is to spend a good amount of time surveying the available information online, study what Sean Costello has written, and do a lot of experimenting in Kyma. Remember that there are some good reverb examples already in the Kyma library that are worthy of study.

- Doug
www.delora.com

[This message has been edited by Douglas Kraul (edited 26 May 2017).]

IP: Logged

paugui
Member
posted 01 June 2017 13:46         Edit/Delete Message   Reply w/Quote
Thanks for the feedback!

I was hoping to do a reverb by computing the delays in the path of the sound waves (how long it would pass for them to return to the emitter), but am noticing I would end up needing way too many delays...

I was checking the tap delays in which a script was used, but not sure how that would apply in this case, since I would have lots of delay times...

But I can definitely compute a mathematical expression to determine those delay times that would depend on the dimensions of the space and on natural numbers...

Is there any way I could put do this simply, and rather than having thousands of delays, just stick to a simple script?


Thanks in advance,
All the best

Paulo

IP: Logged

Douglas Kraul
Member
posted 02 June 2017 05:44         Edit/Delete Message   Reply w/Quote
quote:
Originally posted by paugui:
Thanks for the feedback!

I was hoping to do a reverb by computing the delays in the path of the sound waves (how long it would pass for them to return to the emitter), but am noticing I would end up needing way too many delays...

I was checking the tap delays in which a script was used, but not sure how that would apply in this case, since I would have lots of delay times...

But I can definitely compute a mathematical expression to determine those delay times that would depend on the dimensions of the space and on natural numbers...

Is there any way I could put do this simply, and rather than having thousands of delays, just stick to a simple script?


Thanks in advance,
All the best

Paulo


You could approximate multiple delays by using a single long delay but have many taps to read from it. This affords the possibility to share sample memory (a precious resource in a Capybara) across multiple delay paths. To account for the 1000s of delay paths though implies many taps, plus the coefficient multipliers, and overall summing. If you pursue this type of approach you basically end up with a very large FIR filter, which of course is very closely related to a convolution process. So essentially you are creating a type of convolution reverb. The computational requirements for such an approach can be great. I suggest that you research convolution reverbs before going too far down this path.

In a more traditional reverb algorithm the large number of sound-path delays are usually approximated by using a few delay lines but employing feedback. Each feedback iteration replicates previous repeats (reflections). It does not take many feedback delays to create very dense reflections. The trick is to pick the right feedback times; relative prime numbers are a good place to start.

Keep in mind that every time sound encounters a surface that some of the energy is reflected, and some of it absorbed by the surface. The reflectivity/absorption characteristics are frequency-dependent depending on the surface material. I also suspect that there are some non-linearities involved with certain surface types where the reflectivity is also dependent on the sound's intensity. So regardless of how the reflections are synthesized there will need to be additional processing.

Simply calculating the sound paths based on the space's enclosing geometry can provide an initial approximation but does not account for the complexity of surface interaction from elements contained within the space (think of seats with people in them in a concert hall). Researchers have explored this approach to reverb synthesis in the past with limited success. A good sounding reverb has to factor in more than the first order effects.

Doug
www.delora.com

[This message has been edited by Douglas Kraul (edited 02 June 2017).]

IP: Logged

Douglas Kraul
Member
posted 02 June 2017 05:51         Edit/Delete Message   Reply w/Quote
[DELETED]

[This message has been edited by Douglas Kraul (edited 02 June 2017).]

IP: Logged

paugui
Member
posted 12 June 2017 18:46         Edit/Delete Message   Reply w/Quote
Thanks for another great post Doug!


I was thinking about absorption of materials as well, as something that would have an impact in the feedback.
But as you point out, the impact of the absorption will probably be frequency dependent...

So, if I try to make a Reverb in Kyma using delays, I probably should not use the feedback that is available in the delay modules but rather an extra feedback patch that can be filtered or processed in some way, right?


And going back to the tap suggestion, what's the best way of having many taps from a single delay?

I'd guess that would mean I would have to write to memory and put several delays while reading that memory content, right?

The one thing that worries me on that approach is that, from what I could notice, those delays don't have a variable delay time, right?

My idea is to create a reverb algorithm that is quite versatile and that can be mangled a lot in realtime, so it would be really important to get variable delay times.


And since we are at it, is there are kind of delay module that allows for variable delay time and reverse?

Creating a reverse reverb would also be very interesting...


And to finish my message, I have to say I haven't really researched yet about convolution reverbs, despite that's definitely something I would like to know more about!

Actually, is there any sound available in Kyma that acts as a convolution reverb?
If not, is it easy to make your own?


Thanks in advance,
All the best

Paulo

IP: Logged

pete
Member
posted 05 August 2017 05:30         Edit/Delete Message   Reply w/Quote
Hi Paulo

If you have a capybara (and only if you have a capybara) you can use Petes DSP modules and one of which is a multi tap delay. It's limited to 50 taps but you can cascade them.
You can find them here. http://www.symbolicsound.com/cgi-bin/bin/view/Share/Microsounds.

Another thing you may want to play with is the "Reveb Body Plus" found here http://www.symbolicsound.com/cgi-bin/forumdisplay.cgi?action=displayprivate&number=3&topic=000190


You are correct that delay lines with feedback and no filtering, don't allow damping which is important. Kyma has a module called resonator which is like a delay with feedback but has a brightness control (sadly not hot) which acts as a damper.

If you want to do more in the feedback path you can use the "feedback in" and "feedback out" module pair, but on the capybara this has a delay in it's self (not hot controllable) and the minimum delay is equal to the number of DSP chips in your cappy in samples. BTW the feedback in the standard Kyma delay modules is not that processor intensive un-like the feedback pair. You can get feedback with less delay if you use a memory reader and writer of some sort but this can each up processing as they have to be scheduled on the same chip. May need fiddling to get may of them working together.

Another area of experimentation would the cross filter long. In this you can put a recording of an impulse response made by recording a starter gun in acoustic environment and playing it into the response input while putting normal signal into the input.

This is not like other systems where you have to record the response, process it, and then assign it to the player, instead the cross filter allows the response to be played in in real time and starts processing it within one sample ( or minimum latency) of it's arrival. It can also be replaced with a new response by triggering it, and it seamlessly and gradually takes over from the first as it is being played in, all while the input signal continues being processed.

You don't have to feed the response input with a sound file, you can instead synthesis your own feed on the fly. For example if you triggered the response and immediately fed three full scale pulses into the response input, all 20 ms apart, then the main signal will come out as if you had put it through a multi tap delay with three taps at 20ms intervals. If they pulses were negative, the taps would be negative and if the pulses were at all different levels, so would the taps be at the corresponding levels. So with the cross filter it is like having a multi tap delay with thousands of adjustable taps all depending what you feed into it's response input after the response is triggered.

Hope this helps.

Pete



IP: Logged

paugui
Member
posted 02 May 2019 11:28         Edit/Delete Message   Reply w/Quote
Ups...

Have been away for a while and didn't even notice this reply to my original post...

Any chance anyone still here?

I was actually having a look at Petes DSP modules now, but seem to be unable to get any of them to run... :S
Basically it tells me the micro sound I want to use doesn't exist...
Do I need to do some installation of the sounds, rather than just opening them in the .kym file?

That multi tap delay could definitely be really useful for my designs...


Thanks in advance,

Paulo

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c