I'm interested to know who's been working with feedback, and if anyone has any patches they've developed, or that others have developed that they think is exemplary.
http://www.larseneur.net/NewsENG.php http://www.youtube.com/user/larseneur
a pd patch: http://www.th-th.fr/larsenophone
ciao!
--- Mer 9/9/09, Jerome Covington info@thespacebetweenthewords.org ha scritto:
Da: Jerome Covington info@thespacebetweenthewords.org Oggetto: [PD] Feedback discussion A: pd-list@iem.at Data: Mercoledì 9 settembre 2009, 03:25 I'm interested to know who's been working with feedback, and if anyone has any patches they've developed, or that others have developed that they think is exemplary.
-- Regards, Jerome Covington . . . . : . . . . : "define audio development"
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Jerome Covington wrote:
I'm interested to know who's been working with feedback, and if anyone has any patches they've developed, or that others have developed that they think is exemplary.
#N canvas 70 40 513 492 10; #X obj 315 92 samplerate~; #X obj 315 113 /; #X obj 315 72 t b f; #X obj 315 222 sig~; #X obj 331 132 / 1000; #X obj 315 152 /; #X obj 315 199 line; #X obj 318 11 hsl 128 15 0 127 0 0 empty empty MIDI_note -2 -6 0 8 -262144 -1 -1 8600 1; #X obj 315 43 mtof; #X floatatom 379 40 5 0 0 0 - - -; #X floatatom 378 74 5 0 0 0 - - -; #X obj 315 174 pack 0 50; #X obj 269 13 vsl 15 128 0.9 0.999 0 0 empty empty F_back 0 -8 0 8 -262144 -1 -1 11400 1; #X obj 54 11 noise~; #X obj 107 11 hsl 128 15 0 1 0 0 empty empty noise_level -2 -6 0 8 -262144 -1 -1 600 1; #X obj 88 78 *~; #X obj 271 287 fiddle~; #X obj 224 359 dac~; #X floatatom 271 315 5 0 0 0 - - -; #X text 383 474 derek at umatic.nl; #X obj 421 37 s midi-note; #X obj 340 287 r midi-note; #X floatatom 340 316 5 0 0 0 - - -; #X msg 53 279 ; pd dsp $1; #X obj 53 248 tgl 25 0 empty empty empty 0 -6 0 8 -258699 -1 -1 1 1 ; #X text 37 433 [fiddle~] will not be accurate at very low frequencies! ; #X text 37 393 The sound produced by the comb filter becomes less and less sinusoidal the lower in frequency/longer in delay length.; #N canvas 0 0 483 366 comb_filter 0; #X obj 235 0 inlet~ delay_length; #X obj 119 0 inlet feedback; #X obj 35 187 *~; #X obj 18 0 inlet~ signal; #X obj 19 214 +~; #X obj 119 119 line; #X obj 19 245 delwrite~ $0-pluck 124; #X obj 235 245 outlet~; #X obj 295 245 block~ 1; #X obj 236 96 vd~ $0-pluck; #X obj 119 96 pack 0 50; #X text 19 280 Put only ESSENTIAL stuff in this small-blocksize subpatch! ; #X connect 0 0 9 0; #X connect 1 0 10 0; #X connect 2 0 4 1; #X connect 3 0 4 0; #X connect 4 0 6 0; #X connect 5 0 2 1; #X connect 9 0 7 0; #X connect 9 0 2 0; #X connect 10 0 5 0; #X restore 223 249 pd comb_filter; #X text 36 462 (i.e. below 138.5 Hz = MIDI note 49); #X floatatom 117 38 5 0 0 0 - - -; #X floatatom 231 155 5 0 0 0 - - -; #X connect 0 0 1 0; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 2 0 0 0; #X connect 2 1 1 1; #X connect 3 0 27 2; #X connect 4 0 5 1; #X connect 5 0 11 0; #X connect 6 0 3 0; #X connect 7 0 8 0; #X connect 7 0 9 0; #X connect 7 0 20 0; #X connect 8 0 2 0; #X connect 8 0 10 0; #X connect 11 0 6 0; #X connect 12 0 27 1; #X connect 12 0 30 0; #X connect 13 0 15 0; #X connect 14 0 15 1; #X connect 14 0 29 0; #X connect 15 0 27 0; #X connect 16 0 18 0; #X connect 21 0 22 0; #X connect 24 0 23 0; #X connect 27 0 17 0; #X connect 27 0 17 1; #X connect 27 0 16 0;
On Tue, 8 Sep 2009, Jerome Covington wrote:
I'm interested to know who's been working with feedback, and if anyone has any patches they've developed, or that others have developed that they think is exemplary.
Feedback is everywhere and is everything. The universe is made of feedback loops. Those feedback loops are made of smaller feedback loops and are constituents of bigger feedback loops.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
Mathieu Bouchard escreveu:
Feedback is everywhere and is everything. The universe is made of feedback loops. Those feedback loops are made of smaller feedback loops and are constituents of bigger feedback loops.
hmmm... ;)
Hi Jerome,
as you probably discovered, you need to use a send~/receive~ pair or other type of one-block delay to make any kind of feedback in Pd to avoid the dreaded "DSP loop detected" error. Filters, delays, waveshapers and other things can affect the signal along the way.
But to be honest, doing feedback-systems was the main thing that got *away* from using computers, and more into using hardware (analog filters, oscillators, waveshapers, etc). For one, feedback in the digital realm is never instantaneous, because no code can compute it's output using that exact same output as its input (discrete/sampled time). In the analog realm, as in real life, things can and do simultaneously affect each other (continuous time). For my longer (and more philosophical) explanation, check here:
http://blog.myspace.com/index.cfm?fuseaction=blog.view&friendID=8000634&...
and here:
http://blog.myspace.com/index.cfm?fuseaction=blog.view&friendID=8000634&...
And secondly, feedback-systems sound completely differently in the digital realm than in the analog realm, where the saturation of different op amps or transistors in combination with the less-than-ideal analog waveforms creates interesting, "unpredictable" timbral and/or rhythmic effects. These non-linear effects are far more attractive to me than the absolute precision or total "randomness" of most computer synthesis, and this moved me away from using Pd for sound synthesis (versus using it for sample manipulation, where it truly excels) and more towards analog modular synthesizers. Some people like apples, and some people like oranges...
In Pd, unlike in an analog system, saturating some object usually results in it "blowing up", i.e. all values are maximum or minimum. Most filters or delays in Pd, for example, throw a "nan" error at that point and the signal chain breaks down. If you read "The CSound Book", you find that "blowing up" filters was one of the biggest problems in that particular language. This makes sense since a filter is in fact a small feedback system of it's own which cancels out or reinforces various phases of a wave! (At least that's my analog-world understanding of it, DSP math wizards are welcome to correct me on this one...) So this was the second turn-off from digital feedback systems--that I couldn't always rely on them to work!
Creating Pd patches which could possible mimic analog saturation might involve using lookup tables with transfer functions based on those sampled from op amp or transistor clipping. But that's a hell of a lot more math than I've ever been interested in ;-) Frank Barknecht posted a waveshaper to do soft clipping somewhere in the archives once, that might be an interesting patch to look at, since what it does is gradually "taper off" values as they approach the max/min values, instead of "hard clipping" them as the [clip~] object would. The resulting distortion of the signal may sound "warmer" or "more analog" than a hard-clipped, aliased digital distortion, and put in the right place it *might* prevent an object after it from "blowing up".
Some other objects to explore would be [fdn~] (feedback delay network) and [xfm~] (cross-frequency modulation), both in the creb library. Be warned that the author's documentation can be cryptic however!!!! The "Mondriaan" abstraction provides a novel GUI for [xfm~]:
http://alberto.zin.googlepages.com/puredata
For artistic inspiration, I would highly recommend Kevin Drumm's "Imperial Distortion" CD, which was composed using very simple filter/EQ feedback loops. Raphael Toral's "Aeriola Frequency" and "Cyclorama Lift 3" CDs also use a "no input" technique of delays and equalizers, as do all of Toshimaru Nakamura's famous "No Input Mixer" recordings (although he uses a digital delay looper extensively to create rhythmic patterns).
Good luck! D.
Jerome Covington wrote:
I'm interested to know who's been working with feedback, and if anyone has any patches they've developed, or that others have developed that they think is exemplary.
On Tue, 15 Sep 2009, Derek Holzer wrote:
as you probably discovered, you need to use a send~/receive~ pair or other type of one-block delay to make any kind of feedback in Pd
You don't need it to be one block...?
For one, feedback in the digital realm is never instantaneous,
Instantaneousness is a myth. It does not exist in nature. If you ever wondered why computer clock speeds stopped increasing recently... well, that's the reason. but in the audio world, in which everything is in kHz, you wouldn't notice that often, because the scale of hearing is much larger than the scale of signal propagation.
because no code can compute it's output using that exact same output as its input (discrete/sampled time).
Use Mathematica. You will find out that it can figure out simultaneity equations using algebraïc manipulation, which is a digital-only concept. The only way you can compute actual instantaneous equations in analogue gear is if you use your analogue gear to build enough digital gear to be able to run Mathematica. But for audio, a straight mapping of signal theory might appear instantaneous in almost all cases... due to scale.
In the analog realm, as in real life, things can and do simultaneously affect each other (continuous time).
This analog realm, just like this real life, are completely foreign to the physics of the last 100 years.
This makes sense since a filter is in fact a small feedback system of it's own which cancels out or reinforces various phases of a wave!
Not all filters are feedback systems... for example, [rpole~] uses feedback, but [rzero~] doesn't.
So this was the second turn-off from digital feedback systems--that I couldn't always rely on them to work!
Ow, I don't know how you can rely on your analogue gear to work... I suppose you keep room temperature very close to constant, and you put the whole thing in a huge faraday cage, etc. One big reason for using digital gear is that it's so much more predictable.
Most filters or delays in Pd, for example, throw a "nan" error at that point and the signal chain breaks down.
If it does a NaN in the digital realm, it does a NaN also in signal theory, which means it does a NaN in Maxwell theory, which means Maxwell theory can't explain it, yet something happens. Therefore Maxwell theory is at least a bit off from the real world, and so this is another example of why you shouldn't confuse signal theory and real world.
I figured this out in grade 13 when they showed us Maxwell equations and there were derivatives of things like resistance, but while you plug a wire, the resistance changes suddenly, and this causes a NaN in the derivative, and Maxwell theory offers no way to figure out what will happen at that time. Obviously, the teacher and the book both conveniently worked around those hurdles by ignoring them... provided no-one asks how to compute the voltage of the spark that comes out by plugging a certain wire in a certain circuit.
Frank Barknecht posted a waveshaper to do soft clipping somewhere in the archives once, that might be an interesting patch to look at, since what it does is gradually "taper off" values as they approach the max/min values, instead of "hard clipping" them as the [clip~] object would.
I mention [expr~ tanh($v1)] rather often (?), and I'm not the first one to use it. I suspect that it's rather close to how capacitors saturate, but still somewhat off... (I think I recall capacitors saturate more like negative exponentials...)
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
As I said already, I'm not interested in predictability. Analog nonlinearity is interesting to me, much more so than digital pseudo-randomness. But my main interest is in being able to maintain a live performance in the midst of all this unpredictability. When digital stuff fails, it tends to fail catastrophically--in other words NO SOUND. Game over. The "errors" that I get from analog instabilities are much more interesting than anything I've managed to predictively compute. And even when they aren't, they still make noise, unlike an overloaded digital filter or software crash, which just shuts everything down.
But now that you mention it, a huge Faraday cage to perform my live sets in wouldn't be such a bad idea. Might protect me from unsympathetic audience resonances!
D.
Mathieu Bouchard wrote:
Ow, I don't know how you can rely on your analogue gear to work... I suppose you keep room temperature very close to constant, and you put the whole thing in a huge faraday cage, etc. One big reason for using digital gear is that it's so much more predictable.
On Wed, 16 Sep 2009, Derek Holzer wrote:
As I said already, I'm not interested in predictability. Analog nonlinearity is interesting to me, much more so than digital pseudo-randomness.
I wonder what you mean by nonlinearity... it seems that there are wholly different definitions of it. Because I wonder why you compare those two things, and not also compare with digital nonlinearity and/or analog pseudo-randomness.
But my main interest is in being able to maintain a live performance in the midst of all this unpredictability.
That must take a lot of nerve... I hope that the audience can feel that you're dealing with impredictability.
When digital stuff fails, it tends to fail catastrophically--in other words NO SOUND. Game over.
I know what you mean. It might be because decisional processes are inherently digital, so, naturally, decisional processes is a thing people want to do with computers (because they can't do it with anything else), and then decisions always have an either-or aspect to them, which excludes gradual failing by necessity.
But if you mean hardware failures, then also yes, the large majority of digital crashes fail catastrophically, though the weirdest non-crashing hardware failure I have ever had was with trying to run GridFlow on a K7 computer that had a really bad heatsink. In a wave propagation simulation, large garbage values would sometimes pop out of nowhere and replace a small or zero value. Because the wave propagation is a feedback effect, you'd see the computation error propagate itself as a wave across the screen. It was interesting, but for many other reasons (occasional hard freezes and data corruption) I had to add some extra cooling:
http://artengine.ca/matju/pics/fan.jpg
(And a few weeks later I defenestrated the whole box.)
The "errors" that I get from analog instabilities are much more interesting than anything I've managed to predictively compute.
Ah, that's another difference that is not a basic analog-digital difference. I play a lot with digital instabilities and I also play with digital stabilities that I haven't tried to predict.
Top-down processes use reason to predict and produce, whereas bottom-up processes start provoking a good source of interesting stuff and then sort through whatever come out of it. Naturally, finding and provoking a good source of interestingness are activities that also can benefit from reason and intuitions and a taste of adventure, all at once. In a top-down perspective, an error is something that you didn't want upfront, whether in a bottom-up perspective, an error is something that you don't want after it's done.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
I can't really say from a supra-atomic standpoint I could agree with you, but I'd settle for the speed of light, or even the remotely distant figure of the response time of an op-amp. Which is quite a bit faster than your average blocksize or even a single discrete sample--assuming that a complex digital system like Pd could react effectively at single-sample speed.
Really though, must everything really be so complicated Mathieu? Not everything can be so easily described with mathematics. I also like to sip single malt whiskey during the last evening hours of a summer headed towards autumn...
Sorry to stir up the digital goblins, folks. I merely wanted to share my (unsatisfactory) experiences with feedback scenarios in Pd. Your Mileage May Vary.
D.
Mathieu Bouchard wrote:
Instantaneousness is a myth. It does not exist in nature.
Of course, feedback does not require simultaneity...nor does it always imply an acoustic system (though I'm guessing that's what you're referring to, Derek). One nice thing about those digital goblins is that they can feed-back *information* about the music. More interestingly, they can feed-back *permuted* information about the music, kind of like a delay line with ideas of its own.
Phil Stone www.pkstonemusic.com
Derek Holzer wrote:
I can't really say from a supra-atomic standpoint I could agree with you, but I'd settle for the speed of light, or even the remotely distant figure of the response time of an op-amp. Which is quite a bit faster than your average blocksize or even a single discrete sample--assuming that a complex digital system like Pd could react effectively at single-sample speed.
Really though, must everything really be so complicated Mathieu? Not everything can be so easily described with mathematics. I also like to sip single malt whiskey during the last evening hours of a summer headed towards autumn...
Sorry to stir up the digital goblins, folks. I merely wanted to share my (unsatisfactory) experiences with feedback scenarios in Pd. Your Mileage May Vary.
D.
Mathieu Bouchard wrote:
Instantaneousness is a myth. It does not exist in nature.
On Wed, 16 Sep 2009, Derek Holzer wrote:
I can't really say from a supra-atomic standpoint I could agree with you, but I'd settle for the speed of light,
Oh yes, the speed of light (in vacuum) is quite exactly the maximum propagation speed.
Which is quite a bit faster than your average blocksize or even a single discrete sample--assuming that a complex digital system like Pd could react effectively at single-sample speed.
Ok. Yeah, a continuous signal theory will be usually much more accurate in imitating nature than any discrete sampling. What I'm saying is that it still fails at it, both because NaN doesn't tend to occur in nature, and because the actual signal has a "grain texture" that is both unlike ordinary smooth continuity and any ordinary discrete sampling. And most likely, if you play with really fine-grained feedback, you will more often encounter situations where an ordinary continuous model will fail to imitate reality, than if you're doing non-feedback things.
Really though, must everything really be so complicated Mathieu?
I'd like to ask you! From my point of view, I saw instantaneousness as a complication in the conversation, which I could have dealt with by ignoring it, but instead I chose to talk about it. The latter is more proactive in making the complication go away... but at the same time, it makes the complication stick around while we're talking about it.
Not everything can be so easily described with mathematics.
Sure, but where they do apply well, it's tempting to make use of them. Even when just fooling around, you can fool around better when you have a better intuition, and one of the ways of bettering intuition is to play around with reason (and another one is just hands-on experience).
I also like to sip single malt whiskey during the last evening hours of a summer headed towards autumn...
If you were on my front porch we could enjoy that or a bottle of Trois-Pistoles while watching big maples slowly turn yellow and red, but right now we're talking on the net about music-making and hopefully trying to do more of a dialogue than «I like noise» «me too». It doesn't *have* to include explicit references to math, but it's hard to do without any, and as you didn't prevent yourself from saying «digital» «analogue» «discrete» «continuous», I supposed we were largely talking about math (and/or physics, which in many respects is indistinguishible from math anyway).
I merely wanted to share my (unsatisfactory) experiences with feedback scenarios in Pd. Your Mileage May Vary.
Well, I merely wanted to share my comments about your account of your experiences with feedback... and possibly elucidate some of your comments, if you will.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
On Tue, Sep 15, 2009 at 04:00:09PM -0400, Mathieu Bouchard wrote:
Instantaneousness is a myth. It does not exist in nature.
I thought that at the moment it looks quite a lot like the collapse of a wave function of an electron being measured is instantaneous.
Heisenberg is driving along in his car, and a cop pulls him over: "Sir, do you know how fast you were going?" "No, but I know exactly where I am."
Chris.
Chris McCormick escreveu:
On Tue, Sep 15, 2009 at 04:00:09PM -0400, Mathieu Bouchard wrote:
Instantaneousness is a myth. It does not exist in nature.
I thought that at the moment it looks quite a lot like the collapse of a wave function of an electron being measured is instantaneous.
Heisenberg is driving along in his car, and a cop pulls him over: "Sir, do you know how fast you were going?" "No, but I know exactly where I am."
Chris.
On the next PdCon we should have sessions for physics related papers, presentations and performances (without cars!)... ;) Unfortunately I think that nobody (including Heisenberg) knows when or where it will happen... :P
josé
On Wed, 16 Sep 2009, josepadovani wrote:
On the next PdCon we should have sessions for physics related papers, presentations and performances (without cars!)... ;)
It would require that people submit physics-related papers in the first place... but it would have to be physics-with-pd, for the same reason that there is no room for max-based pd-less projects in a pd convention: not only it's a convention _about_ pd, there's also so much stuff happening in the pd world (compared to the time between the conventions), that when you have finished putting hot pd stuff in the schedule, it's because the schedule is already full. And as you put hot stuff in the schedule, the schedule needs to follow thermodynamic principles, which either increases the pressure in the schedule (PdCon07) or the size of the schedule (PdCon09).
Unfortunately I think that nobody (including Heisenberg) knows when or where it will happen... :P
I hope that at least the Barcelonians can know that it will happen in Barcelona in late 2010 or early 2011. It's a decidable problem, therefore they can decide themselves :)
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
Can't be smaller than one unit of Plank time, about 10e-44s, because any machine capable of measuring it would require all the mass/energy in the universe. (so a fat bloke down the pub told me)
So, basically the universe is band limited.
On Wed, 16 Sep 2009 14:04:22 +0100 Chris McCormick chris@mccormick.cx wrote:
On Tue, Sep 15, 2009 at 04:00:09PM -0400, Mathieu Bouchard wrote:
Instantaneousness is a myth. It does not exist in nature.
I thought that at the moment it looks quite a lot like the collapse of a wave function of an electron being measured is instantaneous.
Heisenberg is driving along in his car, and a cop pulls him over: "Sir, do you know how fast you were going?" "No, but I know exactly where I am."
Chris.
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Wed, 16 Sep 2009, Chris McCormick wrote:
On Tue, Sep 15, 2009 at 04:00:09PM -0400, Mathieu Bouchard wrote:
Instantaneousness is a myth. It does not exist in nature.
I thought that at the moment it looks quite a lot like the collapse of a wave function of an electron being measured is instantaneous.
Damn, my sentence was too short. Yes, I agree that those events are as instantaneous as instantaneousness can be... but cause-effect relationships always take nonzero time... they can't be strung continuously in time. Eventually, between a chosen original cause and final effect, picking intermediate causes and effects will eventually come to an end, as you will find each event leading directly to another, each after a certain nonzero delay. Thus a feedback loop can only have a nonzero feedback time.
(but then, a number of things that we'd casually count as events don't count in this concept of physics, and thus we are free to imagine them as continuous as we like, or as non-existent as we like; e.g. a change in position doesn't count, a change in speed does).
I think that an event ("collapse") could also appear to have a duration, but only as an artifact of limited measurability (time-energy uncertainty), and I think that physicists prefer seeing events as instantaneous with unknown timing, but to make sure I'd have to ask them.
...
But there are surely tricky phenomena that can be thought of as both a feedback loop and not a feedback loop, in which case the appearance of instantaneous feedback would be a mirage due to the way of writing the math formulas...
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801