electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
go to the radio page Live at electro-music.com radio 1 Please visit the chat
  host / artist show at your time
today> Modulator ESP Adventures In Sound
 Forum index » Clavia Nord Modular » G2 Patches - Experimental
DIY reverb: feedback delay network experiment
Post new topic   Reply to topic Moderators: Nord Modular Editors
Page 1 of 1 [12 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
Fozzie



Joined: Jun 04, 2004
Posts: 875
Location: Near Wageningen, the Netherlands
Audio files: 8
G2 patch files: 49

PostPosted: Mon Jan 16, 2006 3:12 pm    Post subject: DIY reverb: feedback delay network experiment Reply with quote  Mark this post and the followings unread

Been messing again with reverb. Spent most of my evening reading up on FDN and DWN reverb models, as well as more common comb&allpass models. I'm not too bright concerning math, and haven't dealt with matrices in a long time.
So here's an experiment with a fdn reverb patch, in which I have tried to use a Hadamard feedback matrix to spread the delay output of separate lines maximally over the inputs of the others. It's quite likely that my approach isn't mathematically correct, but I kinda like the results so far.

If I understand the theory correctly, my feedback matrix should be lossless, but in practice the signal gets out of hand quickly if there's no additional attenuation. Here's where my own layman solution is applied: I used some HP and LP filters to limit the decay time, and added some allpass filters for good measure (they do influence the reverb sound quite drastically).

Would love some explanation about the feedback matrices (what does it mean practically to make them 'unitary', etc), but am also happy to experiment further in my semi-educated-guessing approach Laughing

Improvements are very welcome, I have tried a lot of different allpass filter frequencies, delay times and lp/hp filter settings, and the current ones are settings I like, but surely can be optimized.


FDN experiment.pch2
 Description:
Feedback delay network reverb experiment. Hit the momentary switch to test-drive the patch with a drum module sound.

Download (listen)
 Filename:  FDN experiment.pch2
 Filesize:  3.6 KB
 Downloaded:  1695 Time(s)

Back to top
View user's profile Send private message
ian-s



Joined: Apr 01, 2004
Posts: 2672
Location: Auckland, New Zealand
Audio files: 42
G2 patch files: 626

PostPosted: Mon Jan 16, 2006 3:23 pm    Post subject: Reply with quote  Mark this post and the followings unread

Thats a nice sounding reverb, subtle and nice.
Back to top
View user's profile Send private message
Fozzie



Joined: Jun 04, 2004
Posts: 875
Location: Near Wageningen, the Netherlands
Audio files: 8
G2 patch files: 49

PostPosted: Wed Jan 18, 2006 3:59 am    Post subject: Reply with quote  Mark this post and the followings unread

Did some additional experimenting; I have tried to make a 16x16 householder matrix feedback delay network with Rob's 'custom' LP filters, but the feedback matrix is too costly in VA cycles to be implemented. The file is attached just for reference, in case anyone is interested.

This leaves me with a question: does anyone know how to calculate a 12x12 matrix with the appropriate gain settings? 4x4 and 16x16 (sort of squared 4x4 design) appear to be the only matrices in which there are no zeros and all entries have the same magnitude (with either a plus or minus sign).

As mentioned, my math is not strong. Is anyone able to calculate the coefficients for other householder or other applicable (lossless?) matrices, for application in fdn's? Anywhere between 8x8 and 12x12 appear to be interesting and implementable to me.


16x16HHmatrix fd not enough va.pch2
 Description:
Example patch to show my attempt to make a 16 delay fdn with 16x16 'householder' feedback matrix (4x4 householder design of N=4 householder matrix). Sadly, there isn't enough VA power to implement this on the G2, even though I have tried to use the most c

Download (listen)
 Filename:  16x16HHmatrix fd not enough va.pch2
 Filesize:  7.41 KB
 Downloaded:  1621 Time(s)

Back to top
View user's profile Send private message
Fozzie



Joined: Jun 04, 2004
Posts: 875
Location: Near Wageningen, the Netherlands
Audio files: 8
G2 patch files: 49

PostPosted: Wed Jan 18, 2006 4:38 am    Post subject: Reply with quote  Mark this post and the followings unread

Well, maybe I figured it out, but would love to get some feedback from some mathheads.

According to equation 3.25 on this page: http://www.music.miami.edu/programs/mue/mue2003/research/jfrenette/chapter_3/chapter_3.html, it would be a permutation matrix from which an nxn matrix would be subtracted, that consists of all identical values of -2/n. Correct?

Have to go, will continue soon Smile
Back to top
View user's profile Send private message
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24409
Location: The Netherlands, Enschede
Audio files: 297
G2 patch files: 320

PostPosted: Wed Jan 18, 2006 2:35 pm    Post subject: Reply with quote  Mark this post and the followings unread

I may be wrong as it's all a bit too complicated for me as well, but unitary means the absolute value of the determinant is 1. And this just means that the matrix multiplication of the input vector (the comb outputs notated as a vector) results in an output vector with the same length, i.e. you have unity gain (i.e. lossless).

So I guess you could throw in any matrix for which the determinant is 1, but there seem to be some extra interesting dispersion/density things going on for certain special unitary matrices.

A matrix reference manual : http://www.ee.ic.ac.uk/hp/staff/dmb/matrix/ but wikipedia has some stuff about this as well and that seems to be a bit more accessible, like http://en.wikipedia.org/wiki/Determinants

Meanwhile your patch is very interesting !

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
Fozzie



Joined: Jun 04, 2004
Posts: 875
Location: Near Wageningen, the Netherlands
Audio files: 8
G2 patch files: 49

PostPosted: Thu Jan 19, 2006 3:57 am    Post subject: Reply with quote  Mark this post and the followings unread

Thanks Jan, I have already been studying matrix math voluntarily (this is quite extraordinary for me) a bit because of these patches. Unfortunately, a lot is still way over my head.
However, I won't let me stop by a bit of math of course, so I go for the practical approach. I found an online determinant calculator (see jpg for url), and tested wether my reasoning from my last post (householder stuff) indeed yields a matrix with determinant=1. Lo and behold Wink.

I will soon try to make a real & usable reverb patch with this info. On a G2, an 8x8 matrix will be easily implementable, as it uses gains of .75 and .25 (which are easy to get with a gain knob on a mixer). Other matrices (10x10 or 12x12 need gains of .8 and 0.2 or .833333/and .166666/ respectively; this is harder to accomplish as the knobs cannot be set to these specific values). Ah well, 8x8 should be nice, possibly with some delay time modulation.

Does anyone know whether the delay outs are interpolated when the are modulated (this is necessary for succesful delay time modulation in this kind of reverb)?


matrix.jpg
 Description:
8x8 householder matrix according to my functional math interpretation (well, at least it is a unitary matrix, hurray!)
 Filesize:  38.75 KB
 Viewed:  19860 Time(s)

matrix.jpg


Back to top
View user's profile Send private message
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24409
Location: The Netherlands, Enschede
Audio files: 297
G2 patch files: 320

PostPosted: Thu Jan 19, 2006 9:45 am    Post subject: Reply with quote  Mark this post and the followings unread

When your determinant is not exactly 1 you can always cheat a bit by adding a gain amplifier/reducer stage before or after the matrix, this will need as many gain controls as the matrix is wide (or high) and you'll have to gang those.

This might ease things a bit as you'll only have to set the matrix coefficients ok relative to each other (and approximately to the right absolute value to avoid clipping).

This might be usefull anyway as a means to control the decay time ?

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
Fozzie



Joined: Jun 04, 2004
Posts: 875
Location: Near Wageningen, the Netherlands
Audio files: 8
G2 patch files: 49

PostPosted: Thu Jan 19, 2006 10:37 am    Post subject: Reply with quote  Mark this post and the followings unread

Blue Hell wrote:
When your determinant is not exactly 1 you can always cheat a bit by adding a gain amplifier/reducer stage before or after the matrix, this will need as many gain controls as the matrix is wide (or high) and you'll have to gang those.

This might ease things a bit as you'll only have to set the matrix coefficients ok relative to each other (and approximately to the right absolute value to avoid clipping).

This might be usefull anyway as a means to control the decay time ?

I believe the usual way to control decay time is use lowpass filters after the delays. This way the frequency dependent decay time is implemented automatically as well. But I really need to experiment to see how well this works.
Back to top
View user's profile Send private message
Fozzie



Joined: Jun 04, 2004
Posts: 875
Location: Near Wageningen, the Netherlands
Audio files: 8
G2 patch files: 49

PostPosted: Thu Jan 19, 2006 3:25 pm    Post subject: Reply with quote  Mark this post and the followings unread

The result of a night of patching. No intention to mutate this patch anytime soon, but feel free. Mess up my delay settings that took only a couple of hundred tries to get it decent Wink


FDN 8x8.pch2
 Description:
FDN reverb based on an 8th order network. ER delay added; input mono --> output stereo. Enjoy!

Download (listen)
 Filename:  FDN 8x8.pch2
 Filesize:  5.62 KB
 Downloaded:  1572 Time(s)

Back to top
View user's profile Send private message
ian-s



Joined: Apr 01, 2004
Posts: 2672
Location: Auckland, New Zealand
Audio files: 42
G2 patch files: 626

PostPosted: Thu Jan 19, 2006 4:04 pm    Post subject: Reply with quote  Mark this post and the followings unread

very decent, reminds me character wise of a convolution reverb pugin I have.
Back to top
View user's profile Send private message
Fozzie



Joined: Jun 04, 2004
Posts: 875
Location: Near Wageningen, the Netherlands
Audio files: 8
G2 patch files: 49

PostPosted: Thu Jan 19, 2006 4:23 pm    Post subject: Reply with quote  Mark this post and the followings unread

Thanks Ian. I was going to change the patch for this updated one, but I'll just add the new one for correct thread reference.

Last final tweak update for stereo piano-in satisfaction. Not very different from the last.

Delay times can still be optimized I guess, there's still some fluttering going on


fdn_8x8 II.pch2
 Description:
fdn reverb. Patch similar to the previous, but now with stereo in, tone controls adjusted and tweaked to my liking for use with my Yamaha digital piano

Download (listen)
 Filename:  fdn_8x8 II.pch2
 Filesize:  5.52 KB
 Downloaded:  1639 Time(s)

Back to top
View user's profile Send private message
dwerner



Joined: Jan 02, 2007
Posts: 1
Location: Australia

PostPosted: Tue Jan 02, 2007 4:20 am    Post subject: Reply with quote  Mark this post and the followings unread

Hi, I can show you an example of a reverb VST effect for Windows called SpatialVerb VST which features a feedback delay network for generating the late impulse response, and ray tracing for the early impulse response, at http://www.experimentalscene.com/spatialverb/

Cool

Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Moderators: Nord Modular Editors
Page 1 of 1 [12 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » Clavia Nord Modular » G2 Patches - Experimental
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use