Re: feedback networks
i was referring to ~ objects off course...
send~ and receive~ can't make feedbacks work.
I think there is a big problem with feedbacks in max...
as a matter of fact listen how nasty can get resonance in lores~
clearly it is a simple feedback routing..
sound goes up to infinite then stop, if you try to create a network of filters (A to B, B to A)
clip~ does not work, you see what I mean?
My attempt was re-creating T-Resonator by jomox.
The signal flow is quite simple, but it won't work in Max...
I wonder why..
giorgio s wrote:
> i was referring to ~ objects off course...
> send~ and receive~ can't make feedbacks work.
Yes they can.
>
> sound goes up to infinite then stop, if you try to create a network of filters (A to B, B to A)
>
> clip~ does not work, you see what I mean?
Are you not scaling your feedback at all? Feedback values of 1 will,
indeed, blow up.
--
Owen
Well ok, I think I'd read your post too fast. I think it's simply impossible to make a feedbacked signal network in Max with no delay. As a matter of fact, I don't have any computer engineering knowledge, and I don't know whether this is simply possible at all. For instance, I think that even filter formulas don't include coefficients for instant feedbacks (the b coefficients) do they?
However, it's not acurate to say that you can't make feedback chains with send~ receive~ objects... You just have to say goodbye to the idea of not having signal vector sized delays in your network I guess.
For your level situations, either use clear message fo filters when they blow up, either maybe watch your signal with capture~ and see why it goes up to stop. I'm not sure that hearing nothing means audio stops, but maybe you get on the end of the blow all your values superior to 1 / -1 which make the signal constant and inaudible or something like that?
Anyway I would point your own idea of signal limiter, or including a compresser / limiter in your chain would certainly help. It's mentioned on the omx compression tutorials. Just a way to control signal levels that are typically hard to control in these feedback situation, especially if you use lores~ resonance quite high...
that is the point...
ok let me restate my needs..
take an analog filter... patch it to a second filter, then patch the second filter back again into the first..
turn up resonance, go selfoscillating/screaming..
send filter 1 out to a mixer, trim down volume to make it work without blowing out your speakers.
in max you have to use tapin~ tapout~ in order to get audio feedback.. but... as feedback reaches self oscillating point, everything blow up.. there is no way to control it..
or there is?
zoe de lukaas wrote:
> Well ok, I think I'd read your post too fast. I think it's simply
> impossible to make a feedbacked signal network in Max with no delay.
> As a matter of fact, I don't have any computer engineering knowledge,
> and I don't know whether this is simply possible at all. For
> instance, I think that even filter formulas don't include
> coefficients for instant feedbacks (the b coefficients) do they?
It's generally impossible for something to be seen before it's happened.
In vector based digital signal systems (not just max), the minimum delay
in a feedback network will therefore be the vector size.
Feedback delays in digital filter coefficients are at least one sample.
--
Owen
seems that a clip~ right before the dac~ solve the problem...
Analogue devices go into saturation, which helps, and also there will be
some implicit scaling of the feedback signal due to resistances along
the way. They can still be blown up though.
Scale your feedback, even if only by .998, put in series with a limiter,
perhaps a waveshaper as well if you want filth. There are plenty of ways
of controlling it, you just have to make sure the signal isn't running
away first.
--
Owen
giorgio s wrote:
> that is the point...
>
> ok let me restate my needs.. take an analog filter... patch it to a
> second filter, then patch the second filter back again into the
> first.. turn up resonance, go selfoscillating/screaming.. send filter
> 1 out to a mixer, trim down volume to make it work without blowing
> out your speakers.
>
> in max you have to use tapin~ tapout~ in order to get audio
> feedback.. but... as feedback reaches self oscillating point,
> everything blow up.. there is no way to control it..
>
> or there is? _______________________________________________ maxmsp
>
waveshaper?
>It's generally impossible for something to be seen before it's happened.
Erm... That makes sense, right... It's also generally impossible for me to think decently before I happen to think a little more...
>In vector based digital signal systems (not just max), the minimum
>delay
>in a feedback network will therefore be the vector size.
>Feedback delays in digital filter coefficients are at least one >sample.
Thanks for clearing that up. Do you have precisions about my poly~ situation mentioned above, with the 4096 samples minimum delay in feedback? (sorry you're helping and i'm asking for some more...)
Back to reson~ filters fed back to each other with send~ receive~ Ive just tried a stupid example that illustrates something upon which you could work Sackbut? Work a lot more than the 3 mins. I spent on it, sure... The patch outputs sound, however.
regards,
zoe
If you paste that patch don't forget to replace "receive~ r2" with "receive~ r1", that could help... Don't know what's wrong with me today...
i think i cant use it, i'm on 4.6
A way of doing distortion effects that can crudely simulate analogue
saturation, among other things. See MSP tutorial 12.
It works by having a lookup table that translates input values to
outputs given by some function, so you can emulate gradual squashing,
for instance.
clip~ is a brutal version of this, insofar as it says anything greater
than x now equals x. You'll get the harshest kind of distortion from
that, which may or may not be what you're looking for.
--
Owen
giorgio s wrote:
> waveshaper?
>
Here.
I don't think you can use it anyway, it's a real shame! Just to illustrate the principle of feedback with s~ r~. Play with gains and res. carefully - as i guess you've already done, but as Owen pointed, when self-oscillating going further will not be forgiven as in an analogue filter.
Also, can't prevent myself from mentioning that going back to 4.6 after quite a while in Max 5. made me feel I'd have to reinstall OS.X again... Old times, sweet times...
More seriously, i think the best ways to take off from your situation is 1/ patiently notate your self-osc-but-non-blowing-reson-parameters 2/ add comps/limiters maybe and that's it... Hope it's useful (- but i admit i doubt it)
PS. Maybe using biquads instead of resons would be more helpful as they have a clear function for blowups.
thanks...
by the way, here is how I have solved my problems:
squaring the wave with clip is okay. there is a trouble with dac when it gets very high values... so a clip~ just before output is all I needed. ( i don't know why yesterday didn't work..)
as it squash the volume parameters I can work with extreme feedbacks..and control the overall volume.
I wonder how wavetable can do better, but that's another story.
all I need was a way to use total feedback without stopping audio
that's it..
Stick some kind of limiting in the feedback path - I use limi~, which
doesn't appear to be included in Max 5, but didn't you say you were on 4.6
anyway?
If you limit the actual feedback to < 1. then you shouldn't blow the dac~ up
- but have a global 'clear' button ready to send to all your delay lines,
filters etc. just in case anyway..
Cheers
Roger
On 18/09/2008 16:27, "giorgio s" wrote:
>
> thanks...
>
> by the way, here is how I have solved my problems:
>
> squaring the wave with clip is okay. there is a trouble with dac when it gets
> very high values... so a clip~ just before output is all I needed. ( i don't
> know why yesterday didn't work..)
>
> as it squash the volume parameters I can work with extreme feedbacks..and
> control the overall volume.
> I wonder how wavetable can do better, but that's another story.
> all I need was a way to use total feedback without stopping audio
> that's it..
thank you all
:)