Re: [PD] signal math explanation

2014-01-19 Thread Dan Wilcox
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

2014-01-19 Thread i go bananas
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

2014-01-19 Thread i go bananas
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

2014-01-18 Thread Pall Thayer
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

2014-01-18 Thread IOhannes m zmölnig
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

2014-01-18 Thread Pall Thayer
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

2014-01-18 Thread IOhannes m zmölnig
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

2014-01-18 Thread Pall Thayer
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

2014-01-18 Thread Martin Peach

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

2014-01-18 Thread Jonathan Wilkes
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

2014-01-18 Thread Jonathan Wilkes
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

2014-01-18 Thread Pall Thayer
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