Re: [PD] signal math explanation
Chances are Jonathan has already cleaned that up :D (Thanks for all the help file updates J!) On Jan 19, 2014, at 6:00 AM, pd-list-requ...@iem.at wrote: From: Pall Thayer pallt...@gmail.com Subject: Re: [PD] signal math explanation Date: January 18, 2014 at 2:48:04 PM EST To: Jonathan Wilkes jancs...@yahoo.com Cc: pd-list pd-list@iem.at, IOhannes m zmölnig zmoel...@iem.at I don't know. I recall seeing it somewhere years ago. On Sat, Jan 18, 2014 at 2:32 PM, Jonathan Wilkes jancs...@yahoo.com wrote: Hi Pall, Which help patches? I haven't seen a single help patch that substitutes strings of [+~] to double the incoming signal where a simple multiplication would do. I have seen cascades of [+~] for additive synthesis, but that's not the same. Dan Wilcox @danomatika danomatika.com robotcowboy.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] signal math explanation
this whole thread is about a typo? i have never seen [sig~] |\ [+~] |\ [+~] but have often seen [sig~] |\ [*~] |\ [+~] On Mon, Jan 20, 2014 at 12:02 AM, Dan Wilcox danomat...@gmail.com wrote: Chances are Jonathan has already cleaned that up :D (Thanks for all the help file updates J!) On Jan 19, 2014, at 6:00 AM, pd-list-requ...@iem.at wrote: *From: *Pall Thayer pallt...@gmail.com *Subject: **Re: [PD] signal math explanation* *Date: *January 18, 2014 at 2:48:04 PM EST *To: *Jonathan Wilkes jancs...@yahoo.com *Cc: *pd-list pd-list@iem.at, IOhannes m zmölnig zmoel...@iem.at I don't know. I recall seeing it somewhere years ago. On Sat, Jan 18, 2014 at 2:32 PM, Jonathan Wilkes jancs...@yahoo.com wrote: Hi Pall, Which help patches? I haven't seen a single help patch that substitutes strings of [+~] to double the incoming signal where a simple multiplication would do. I have seen cascades of [+~] for additive synthesis, but that's not the same. Dan Wilcox @danomatika danomatika.com robotcowboy.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] signal math explanation
oh and of course, i made a typo myself! that last [+~] should be a [*~] doh! On Mon, Jan 20, 2014 at 12:24 AM, i go bananas hard@gmail.com wrote: this whole thread is about a typo? i have never seen [sig~] |\ [+~] |\ [+~] but have often seen [sig~] |\ [*~] |\ [+~] On Mon, Jan 20, 2014 at 12:02 AM, Dan Wilcox danomat...@gmail.com wrote: Chances are Jonathan has already cleaned that up :D (Thanks for all the help file updates J!) On Jan 19, 2014, at 6:00 AM, pd-list-requ...@iem.at wrote: *From: *Pall Thayer pallt...@gmail.com *Subject: **Re: [PD] signal math explanation* *Date: *January 18, 2014 at 2:48:04 PM EST *To: *Jonathan Wilkes jancs...@yahoo.com *Cc: *pd-list pd-list@iem.at, IOhannes m zmölnig zmoel...@iem.at I don't know. I recall seeing it somewhere years ago. On Sat, Jan 18, 2014 at 2:32 PM, Jonathan Wilkes jancs...@yahoo.com wrote: Hi Pall, Which help patches? I haven't seen a single help patch that substitutes strings of [+~] to double the incoming signal where a simple multiplication would do. I have seen cascades of [+~] for additive synthesis, but that's not the same. Dan Wilcox @danomatika danomatika.com robotcowboy.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] signal math explanation
Can anyone tell me what one is accomplishing when doing something like this: [osc~ 440] | [+~] |\ [+~] |\ [+~] |\ [+~] In other words, the chain of [+~] that feed the previous object's output into both inlets of the next... what does this do exactly? Thanks, Pall -- * Pall Thayer artist http://pallthayer.dyndns.org * ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] signal math explanation
On 01/18/2014 06:24 PM, Pall Thayer wrote: Can anyone tell me what one is accomplishing when doing something like this: [osc~ 440] | [+~] |\ x1 [+~] |\ x2 [+~] |\ x3 [+~] x4 In other words, the chain of [+~] that feed the previous object's output into both inlets of the next... what does this do exactly? it adds a signal with itself: y=x+x=2*x so the output of the 1st [+~] is x1=x0 (as the 2nd inlet~ is not connected) and the following [+~] will output: x2=x1+x1=2*x1=2*x0 x3=x2+x2=2*x2=2*2*x0=4*x0 x4=x3+x3=2*x3=2*4*x0=8*x0 so you could write the patch as: [osc~ 440] | [*~ 8] more often you see [*~] instead of [+~], which is a simple way to square the input. fgmadsr IOhannes signature.asc Description: OpenPGP digital signature ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] signal math explanation
Ah... I've seen this in some of the help patches. Why would someone do it with multiple [+~] instead of a single [*~]? There's no difference? On Sat, Jan 18, 2014 at 12:49 PM, IOhannes m zmölnig zmoel...@iem.atwrote: On 01/18/2014 06:24 PM, Pall Thayer wrote: Can anyone tell me what one is accomplishing when doing something like this: [osc~ 440] | [+~] |\ x1 [+~] |\ x2 [+~] |\ x3 [+~] x4 In other words, the chain of [+~] that feed the previous object's output into both inlets of the next... what does this do exactly? it adds a signal with itself: y=x+x=2*x so the output of the 1st [+~] is x1=x0 (as the 2nd inlet~ is not connected) and the following [+~] will output: x2=x1+x1=2*x1=2*x0 x3=x2+x2=2*x2=2*2*x0=4*x0 x4=x3+x3=2*x3=2*4*x0=8*x0 so you could write the patch as: [osc~ 440] | [*~ 8] more often you see [*~] instead of [+~], which is a simple way to square the input. fgmadsr IOhannes ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- * Pall Thayer artist http://pallthayer.dyndns.org * ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] signal math explanation
On 01/18/2014 06:59 PM, Pall Thayer wrote: Ah... I've seen this in some of the help patches. Why would someone do it with multiple [+~] instead of a single [*~]? There's no difference? aesthetic reasons? hinting at bigger structures? but consider this: why would someone write the following code? #!/usr/bin/perl sleep((8*60)*60); it does the same as the following (which is slightly faster): #!/usr/bin/perl sleep(28800); gfamdsr IOhannes signature.asc Description: OpenPGP digital signature ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] signal math explanation
Touché :-) On Sat, Jan 18, 2014 at 1:15 PM, IOhannes m zmölnig zmoel...@iem.at wrote: On 01/18/2014 06:59 PM, Pall Thayer wrote: Ah... I've seen this in some of the help patches. Why would someone do it with multiple [+~] instead of a single [*~]? There's no difference? aesthetic reasons? hinting at bigger structures? but consider this: why would someone write the following code? #!/usr/bin/perl sleep((8*60)*60); it does the same as the following (which is slightly faster): #!/usr/bin/perl sleep(28800); gfamdsr IOhannes ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- * Pall Thayer artist http://pallthayer.dyndns.org * ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] signal math explanation
On 2014-01-18 12:49, IOhannes m zmölnig wrote: On 01/18/2014 06:24 PM, Pall Thayer wrote: Can anyone tell me what one is accomplishing when doing something like this: [osc~ 440] | [+~] |\ x1 [+~] |\ x2 [+~] |\ x3 [+~] x4 ... so you could write the patch as: [osc~ 440] | [*~ 8] more often you see [*~] instead of [+~], which is a simple way to square the input. Of course squaring the input like [osc~] | | [*~] also doubles its frequency. It makes an interesting kind of noise too if you do [noise~] | | [*~] ...not sure what colour of noise that is, blue? It seems to have more high frequency content than white noise. Martin ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] signal math explanation
Since you're dealing with arithmetic, it helps immensely to simplify the data by replacing [osc~ 440] with [sig~ 1], which will just send out blocks where every sample is 1. The [+~] just goes through a loop every block and does addition, sample by sample. When you don't give it an argument as in your example, it starts with the first sample of each input signal, adds those samples together, stores the sum for the outgoing signal, and then does it again for the next index number until it's gone through the entire block of samples. When you fan out from a signal outlet into multiple signal inlets, you're essentially just sending the same output the object computed to several places. It's worth noting, however, that for signal chains Pd will ensure that an object receives all of its input before it computes its output. Control objects do not do this, which is why [trigger] exists and why it's often more difficult to read the flow of control diagrams. Anyway, since our source signal [sig~ 1] only contains the number 1, you can just do the math in your head for the sum of the first two samples to get the number 2, and safely assume it will be the same answer for the rest of the samples in the block. Check your math using something like the [print~] object (or the cord inspector in Pd-extended or Pd-l2ork) at the bottom of the chain. Finally, put the [osc~ 440] back at the top and see that it's doing the exact same math; it's only that the samples of each block will have different values. But if you use several [print~] objects to see what's being computed at each link of the object chain, you can still check the math works for any sample you want to track visually. Finally, it's worth noting that most arithmetic signal objects have a simplified method that's used if you specify an argument, like [+~ 42]. In this case, the right inlet is actually a control inlet. It simplifies the math somewhat because there's only one incoming signal, and it gets added to a constant value in the loop to compute the output. If you're going to be sending control data to the right inlet of a [+~] object, you can force this simplification using [+~ 0]. (Same for the other arithmetic signal objects.) -Jonathan On Saturday, January 18, 2014 12:24 PM, Pall Thayer pallt...@gmail.com wrote: Can anyone tell me what one is accomplishing when doing something like this: [osc~ 440] | [+~] |\ [+~] |\ [+~] |\ [+~] In other words, the chain of [+~] that feed the previous object's output into both inlets of the next... what does this do exactly? Thanks, Pall -- * Pall Thayer artist http://pallthayer.dyndns.org * ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] signal math explanation
Hi Pall, Which help patches? I haven't seen a single help patch that substitutes strings of [+~] to double the incoming signal where a simple multiplication would do. I have seen cascades of [+~] for additive synthesis, but that's not the same. -Jonathan On Saturday, January 18, 2014 1:00 PM, Pall Thayer pallt...@gmail.com wrote: Ah... I've seen this in some of the help patches. Why would someone do it with multiple [+~] instead of a single [*~]? There's no difference? On Sat, Jan 18, 2014 at 12:49 PM, IOhannes m zmölnig zmoel...@iem.at wrote: On 01/18/2014 06:24 PM, Pall Thayer wrote: Can anyone tell me what one is accomplishing when doing something like this: [osc~ 440] | [+~] |\ x1 [+~] |\ x2 [+~] |\ x3 [+~] x4 In other words, the chain of [+~] that feed the previous object's output into both inlets of the next... what does this do exactly? it adds a signal with itself: y=x+x=2*x so the output of the 1st [+~] is x1=x0 (as the 2nd inlet~ is not connected) and the following [+~] will output: x2=x1+x1=2*x1=2*x0 x3=x2+x2=2*x2=2*2*x0=4*x0 x4=x3+x3=2*x3=2*4*x0=8*x0 so you could write the patch as: [osc~ 440] | [*~ 8] more often you see [*~] instead of [+~], which is a simple way to square the input. fgmadsr IOhannes ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- * Pall Thayer artist http://pallthayer.dyndns.org * ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] signal math explanation
I don't know. I recall seeing it somewhere years ago. On Sat, Jan 18, 2014 at 2:32 PM, Jonathan Wilkes jancs...@yahoo.com wrote: Hi Pall, Which help patches? I haven't seen a single help patch that substitutes strings of [+~] to double the incoming signal where a simple multiplication would do. I have seen cascades of [+~] for additive synthesis, but that's not the same. -Jonathan On Saturday, January 18, 2014 1:00 PM, Pall Thayer pallt...@gmail.com wrote: Ah... I've seen this in some of the help patches. Why would someone do it with multiple [+~] instead of a single [*~]? There's no difference? On Sat, Jan 18, 2014 at 12:49 PM, IOhannes m zmölnig zmoel...@iem.atwrote: On 01/18/2014 06:24 PM, Pall Thayer wrote: Can anyone tell me what one is accomplishing when doing something like this: [osc~ 440] | [+~] |\ x1 [+~] |\ x2 [+~] |\ x3 [+~] x4 In other words, the chain of [+~] that feed the previous object's output into both inlets of the next... what does this do exactly? it adds a signal with itself: y=x+x=2*x so the output of the 1st [+~] is x1=x0 (as the 2nd inlet~ is not connected) and the following [+~] will output: x2=x1+x1=2*x1=2*x0 x3=x2+x2=2*x2=2*2*x0=4*x0 x4=x3+x3=2*x3=2*4*x0=8*x0 so you could write the patch as: [osc~ 440] | [*~ 8] more often you see [*~] instead of [+~], which is a simple way to square the input. fgmadsr IOhannes ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- * Pall Thayer artist http://pallthayer.dyndns.org * ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- * Pall Thayer artist http://pallthayer.dyndns.org * ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list