Hi, I am really interested in helping! I actually have some stuff I wanted to "corrrect", or bring some attention to, like the DC OFFSET. You dont cover it, and when you show how to get a Square Wave, the DC Offset is not properly adjusted.
thanks
cheers
On Mon, Mar 30, 2009 at 11:20 AM, Derek Holzer derek@umatic.nl wrote:
Hey Alexandre,
I just posted the announcement of the Pd FLOSS Manuals Book Sprint:
http://lists.puredata.info/pipermail/pd-list/2009-03/069107.html
I was wondering if you'd be interested to help out next weekend? It shouldn't be a problem to contribute remotely, and it would really help build up the momentum to finish this manual.
Have a look over the topics and see if there is anything you'd like to cover and let me know.
Best! Derek
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 11: "Always first steps"
Alexandre,
Yes please, get on board!
In the case of the square wave chapter, I had assumed that doing it with digital logic would result in either 0 (no amplitude) or 1 (full amplitude). So there shouldn't be any DC offset when it's at 0. Of course, there are some other real-world problems with those patches, namely that there is also no antialiasing.
Since the FLOSS Manuals are "modular", they can be remixed as needed for any kind of workshop, class or curriculum, including or leaving out sections from all the different FLOSS Manuals as needed.
So my suggestion to you would be to write a short chapter on DC offset which can then be referred to in the square wave tutorial, or in any other tutorial or manual where such a situation might arise.
Likewise, I'd love it if someone could do a single chapter on the different antialiasing methods (Miller's, Frank's...). The idea would be to simplify the explanations so that one doesn't need a background in DSP or computer science in order to understand them.
Would you be interested to do either of those?
D.
Alexandre Porres wrote:
Hi, I am really interested in helping!
I actually have some stuff I wanted to "corrrect", or bring some attention to, like the DC OFFSET. You dont cover it, and when you show how to get a Square Wave, the DC Offset is not properly adjusted.
thanks
cheers
On Mon, Mar 30, 2009 at 11:20 AM, Derek Holzer <derek@umatic.nl mailto:derek@umatic.nl> wrote:
Hey Alexandre, I just posted the announcement of the Pd FLOSS Manuals Book Sprint: http://lists.puredata.info/pipermail/pd-list/2009-03/069107.html I was wondering if you'd be interested to help out next weekend? It shouldn't be a problem to contribute remotely, and it would really help build up the momentum to finish this manual. Have a look over the topics and see if there is anything you'd like to cover and let me know. Best! Derek -- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 11: "Always first steps"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
sure, I could do both. But I think it would be inportant to start just after
and before the oscilators with the Short DC offset chapter.
Then edit and correct the oscilator patches with values from -1 to 1
I also can create and put in the oscilator chapter a Triangle wave oscilator made with phasor
what do you say?
Cheers
On Mon, Mar 30, 2009 at 11:43 AM, Derek Holzer derek@umatic.nl wrote:
Alexandre,
Yes please, get on board!
In the case of the square wave chapter, I had assumed that doing it with digital logic would result in either 0 (no amplitude) or 1 (full amplitude). So there shouldn't be any DC offset when it's at 0. Of course, there are some other real-world problems with those patches, namely that there is also no antialiasing.
Since the FLOSS Manuals are "modular", they can be remixed as needed for any kind of workshop, class or curriculum, including or leaving out sections from all the different FLOSS Manuals as needed.
So my suggestion to you would be to write a short chapter on DC offset which can then be referred to in the square wave tutorial, or in any other tutorial or manual where such a situation might arise.
Likewise, I'd love it if someone could do a single chapter on the different antialiasing methods (Miller's, Frank's...). The idea would be to simplify the explanations so that one doesn't need a background in DSP or computer science in order to understand them.
Would you be interested to do either of those?
D.
Alexandre Porres wrote:
Hi, I am really interested in helping!
I actually have some stuff I wanted to "corrrect", or bring some attention to, like the DC OFFSET. You dont cover it, and when you show how to get a Square Wave, the DC Offset is not properly adjusted.
thanks
cheers
On Mon, Mar 30, 2009 at 11:20 AM, Derek Holzer <derek@umatic.nl mailto: derek@umatic.nl> wrote:
Hey Alexandre,
I just posted the announcement of the Pd FLOSS Manuals Book Sprint:
http://lists.puredata.info/pipermail/pd-list/2009-03/069107.html
I was wondering if you'd be interested to help out next weekend? It shouldn't be a problem to contribute remotely, and it would really help build up the momentum to finish this manual.
Have a look over the topics and see if there is anything you'd like to cover and let me know.
Best! Derek
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 11: "Always first steps"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 109: "Lost in useless territory"
well, for instance inside the Squarewaves and Logic chapter
the DC Offset could be easilly built inside the EXPR object, either in the one that is already there, or in an object right after to make the visualization easier. I could edit all thos patches that need to adjust the DC offset.
On this case, it would also be nice to have the Tables just a bit larger that -1 - 1, (1.1 or 1.2) so we can better see the Square Waves.
cheers
On Mon, Mar 30, 2009 at 11:50 AM, Alexandre Porres porres@gmail.com wrote:
sure, I could do both. But I think it would be inportant to start just after
- AUDIO TUTORIALS
- SimpleSynthIntroductionhttp://en.flossmanuals.net/PureData/SimpleSynthIntroduction
and before the oscilators with the Short DC offset chapter.
Then edit and correct the oscilator patches with values from -1 to 1
I also can create and put in the oscilator chapter a Triangle wave oscilator made with phasor
what do you say?
Cheers
On Mon, Mar 30, 2009 at 11:43 AM, Derek Holzer derek@umatic.nl wrote:
Alexandre,
Yes please, get on board!
In the case of the square wave chapter, I had assumed that doing it with digital logic would result in either 0 (no amplitude) or 1 (full amplitude). So there shouldn't be any DC offset when it's at 0. Of course, there are some other real-world problems with those patches, namely that there is also no antialiasing.
Since the FLOSS Manuals are "modular", they can be remixed as needed for any kind of workshop, class or curriculum, including or leaving out sections from all the different FLOSS Manuals as needed.
So my suggestion to you would be to write a short chapter on DC offset which can then be referred to in the square wave tutorial, or in any other tutorial or manual where such a situation might arise.
Likewise, I'd love it if someone could do a single chapter on the different antialiasing methods (Miller's, Frank's...). The idea would be to simplify the explanations so that one doesn't need a background in DSP or computer science in order to understand them.
Would you be interested to do either of those?
D.
Alexandre Porres wrote:
Hi, I am really interested in helping!
I actually have some stuff I wanted to "corrrect", or bring some attention to, like the DC OFFSET. You dont cover it, and when you show how to get a Square Wave, the DC Offset is not properly adjusted.
thanks
cheers
On Mon, Mar 30, 2009 at 11:20 AM, Derek Holzer <derek@umatic.nl mailto: derek@umatic.nl> wrote:
Hey Alexandre,
I just posted the announcement of the Pd FLOSS Manuals Book Sprint:
http://lists.puredata.info/pipermail/pd-list/2009-03/069107.html
I was wondering if you'd be interested to help out next weekend? It shouldn't be a problem to contribute remotely, and it would really help build up the momentum to finish this manual.
Have a look over the topics and see if there is anything you'd like to cover and let me know.
Best! Derek
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 11: "Always first steps"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 109: "Lost in useless territory"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
I've noticed that some systems actually don't create [>~] or [<~], so I was thinking to redo those sections with [expr~] anyways. If you'd like to jump in and do all that, it could work. The main part of that chapter is that it is also covering digital logic, so I wanted to stick with values of 0 and 1 for clarity. Do you see any way we can work this out?
D.
Alexandre Porres wrote:
well, for instance
inside the Squarewaves and Logic chapter
the DC Offset could be easilly built inside the EXPR object, either in the one that is already there, or in an object right after to make the visualization easier. I could edit all thos patches that need to adjust the DC offset.
On this case, it would also be nice to have the Tables just a bit larger that -1 - 1, (1.1 or 1.2) so we can better see the Square Waves.
cheers
On Mon, Mar 30, 2009 at 11:50 AM, Alexandre Porres <porres@gmail.com mailto:porres@gmail.com> wrote:
sure, I could do both. But I think it would be inportant to start just after * AUDIO TUTORIALS * SimpleSynthIntroduction <http://en.flossmanuals.net/PureData/SimpleSynthIntroduction> and before the oscilators with the Short DC offset chapter. Then edit and correct the oscilator patches with values from -1 to 1 I also can create and put in the oscilator chapter a Triangle wave oscilator made with phasor what do you say? Cheers On Mon, Mar 30, 2009 at 11:43 AM, Derek Holzer <derek@umatic.nl <mailto:derek@umatic.nl>> wrote: Alexandre, Yes please, get on board! In the case of the square wave chapter, I had assumed that doing it with digital logic would result in either 0 (no amplitude) or 1 (full amplitude). So there shouldn't be any DC offset when it's at 0. Of course, there are some other real-world problems with those patches, namely that there is also no antialiasing. Since the FLOSS Manuals are "modular", they can be remixed as needed for any kind of workshop, class or curriculum, including or leaving out sections from all the different FLOSS Manuals as needed. So my suggestion to you would be to write a short chapter on DC offset which can then be referred to in the square wave tutorial, or in any other tutorial or manual where such a situation might arise. Likewise, I'd love it if someone could do a single chapter on the different antialiasing methods (Miller's, Frank's...). The idea would be to simplify the explanations so that one doesn't need a background in DSP or computer science in order to understand them. Would you be interested to do either of those? D. Alexandre Porres wrote: Hi, I am really interested in helping! I actually have some stuff I wanted to "corrrect", or bring some attention to, like the DC OFFSET. You dont cover it, and when you show how to get a Square Wave, the DC Offset is not properly adjusted. thanks cheers On Mon, Mar 30, 2009 at 11:20 AM, Derek Holzer <derek@umatic.nl <mailto:derek@umatic.nl> <mailto:derek@umatic.nl <mailto:derek@umatic.nl>>> wrote: Hey Alexandre, I just posted the announcement of the Pd FLOSS Manuals Book Sprint: http://lists.puredata.info/pipermail/pd-list/2009-03/069107.html I was wondering if you'd be interested to help out next weekend? It shouldn't be a problem to contribute remotely, and it would really help build up the momentum to finish this manual. Have a look over the topics and see if there is anything you'd like to cover and let me know. Best! Derek -- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 11: "Always first steps" -- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres -- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 109: "Lost in useless territory" -- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
Actually, DC offset could be covered in "What is Digital Audio", since it is a concept that needs explaining. Then, my suggestion still is to include it after the basics of the Square Waves. I'd like to keep the patches there as simple as possible, and since the DC Offset can be done at the end, why not have it there?
Triangle wave would also be good. Write it first and we'll see where exactly to put it.
D.
Alexandre Porres wrote:
sure, I could do both.
But I think it would be inportant to start just after
* AUDIO TUTORIALS * SimpleSynthIntroduction <http://en.flossmanuals.net/PureData/SimpleSynthIntroduction>
and before the oscilators with the Short DC offset chapter.
Then edit and correct the oscilator patches with values from -1 to 1
I also can create and put in the oscilator chapter a Triangle wave oscilator made with phasor
what do you say?
Cheers
On Mon, Mar 30, 2009 at 11:43 AM, Derek Holzer <derek@umatic.nl mailto:derek@umatic.nl> wrote:
Alexandre, Yes please, get on board! In the case of the square wave chapter, I had assumed that doing it with digital logic would result in either 0 (no amplitude) or 1 (full amplitude). So there shouldn't be any DC offset when it's at 0. Of course, there are some other real-world problems with those patches, namely that there is also no antialiasing. Since the FLOSS Manuals are "modular", they can be remixed as needed for any kind of workshop, class or curriculum, including or leaving out sections from all the different FLOSS Manuals as needed. So my suggestion to you would be to write a short chapter on DC offset which can then be referred to in the square wave tutorial, or in any other tutorial or manual where such a situation might arise. Likewise, I'd love it if someone could do a single chapter on the different antialiasing methods (Miller's, Frank's...). The idea would be to simplify the explanations so that one doesn't need a background in DSP or computer science in order to understand them. Would you be interested to do either of those? D. Alexandre Porres wrote: Hi, I am really interested in helping! I actually have some stuff I wanted to "corrrect", or bring some attention to, like the DC OFFSET. You dont cover it, and when you show how to get a Square Wave, the DC Offset is not properly adjusted. thanks cheers On Mon, Mar 30, 2009 at 11:20 AM, Derek Holzer <derek@umatic.nl <mailto:derek@umatic.nl> <mailto:derek@umatic.nl <mailto:derek@umatic.nl>>> wrote: Hey Alexandre, I just posted the announcement of the Pd FLOSS Manuals Book Sprint: http://lists.puredata.info/pipermail/pd-list/2009-03/069107.html I was wondering if you'd be interested to help out next weekend? It shouldn't be a problem to contribute remotely, and it would really help build up the momentum to finish this manual. Have a look over the topics and see if there is anything you'd like to cover and let me know. Best! Derek -- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 11: "Always first steps" -- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres -- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 109: "Lost in useless territory"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
Hi D.
Yeah, DC Offset could be covered in what is digital Audio, or maybe briefly mentioned. The thing is that it needs patches to explain and show how adjusting the DC Offset works. I know things must be kept as simple as possible, but not simpler than that, because it could be misleading. I had that problem myself when teaching with Floss Manuals, students had doubts why the square and sawtooth oscilators were different, or "wrong".
The DC Offset is an extremely important parameter that should be a part of the synthesizer section of Floss Manuals. It could also be a part of the Amplitude Modulation Examples. Actually, changing DC Offset is all it needs to change from an Amplitude Modulation to a Ring Modulation. So having a DC Offset parameter there can explain the differences between the two.
For instance, I find the osc7.pd example really misleading. At first, it is supposed to be a Ring Modulation instead of an Amplitude Modulation, since there is no DC offset in the modulator sigal. But, as the sawtooth wave oscilator has a DC Offset (that shouldnt be tghere anyway, and it is not even mentioned), it is actually an Amplitude modulation after all, with the Remark that the Carrier signal has the role of the Modulator signal, and Not the carrier signal itself. So, in any way (either presenting it as a Ring Modulation or Amplitude Modulation) corrections should be made.
So I dont see a way of not editing these patches, because it could be even more confusing if we would write a disconected chapter that complements and gives the tools to correct things that could have been presented before.
I just don't see how simplicity here compensates the misleading way the theory is presented.
The DC Offset is the main problem I see in Floss Manuals. And I actually give my students an altered version of Floss Manuals to work with because of that. I am developing a book of my own that complements well with the Floss Manuals, but I still need to do make this Remark.
I could show my book, but it is in Portuguese only, so far...
by the way, we have people in Brazil who would like to collaborate and translate this to portuguese.
I can send you a triangle wave oscilator right away.
cheers alex
On Mon, Mar 30, 2009 at 11:56 AM, Derek Holzer derek@umatic.nl wrote:
Actually, DC offset could be covered in "What is Digital Audio", since it is a concept that needs explaining. Then, my suggestion still is to include it after the basics of the Square Waves. I'd like to keep the patches there as simple as possible, and since the DC Offset can be done at the end, why not have it there?
Triangle wave would also be good. Write it first and we'll see where exactly to put it.
D.
Alexandre Porres wrote:
sure, I could do both.
But I think it would be inportant to start just after
- AUDIO TUTORIALS
- SimpleSynthIntroduction http://en.flossmanuals.net/PureData/SimpleSynthIntroduction
and before the oscilators with the Short DC offset chapter.
Then edit and correct the oscilator patches with values from -1 to 1
I also can create and put in the oscilator chapter a Triangle wave oscilator made with phasor
what do you say?
Cheers
On Mon, Mar 30, 2009 at 11:43 AM, Derek Holzer <derek@umatic.nl mailto: derek@umatic.nl> wrote:
Alexandre,
Yes please, get on board!
In the case of the square wave chapter, I had assumed that doing it with digital logic would result in either 0 (no amplitude) or 1 (full amplitude). So there shouldn't be any DC offset when it's at 0. Of course, there are some other real-world problems with those patches, namely that there is also no antialiasing.
Since the FLOSS Manuals are "modular", they can be remixed as needed for any kind of workshop, class or curriculum, including or leaving out sections from all the different FLOSS Manuals as needed.
So my suggestion to you would be to write a short chapter on DC offset which can then be referred to in the square wave tutorial, or in any other tutorial or manual where such a situation might arise.
Likewise, I'd love it if someone could do a single chapter on the different antialiasing methods (Miller's, Frank's...). The idea would be to simplify the explanations so that one doesn't need a background in DSP or computer science in order to understand them.
Would you be interested to do either of those?
D.
Alexandre Porres wrote:
Hi, I am really interested in helping! I actually have some stuff I wanted to "corrrect", or bring some attention to, like the DC OFFSET. You dont cover it, and when you show how to get a Square Wave, the DC Offset is not properly adjusted. thanks cheers On Mon, Mar 30, 2009 at 11:20 AM, Derek Holzer <derek@umatic.nl <mailto:derek@umatic.nl> <mailto:derek@umatic.nl <mailto:derek@umatic.nl>>> wrote: Hey Alexandre, I just posted the announcement of the Pd FLOSS Manuals Book Sprint:
http://lists.puredata.info/pipermail/pd-list/2009-03/069107.html
I was wondering if you'd be interested to help out next weekend? It shouldn't be a problem to contribute remotely, and it would really help build up the momentum to finish this manual. Have a look over the topics and see if there is anything you'd like to cover and let me know. Best! Derek -- ::: derek holzer ::: http://blog.myspace.com/macumbista::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 11: "Always first steps" -- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 109: "Lost in useless territory"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 67: "Emphasize the flaws"
Could you post the adjusted patches, I'd like to see where your corrections are before I agree to change stuff that is already there.
best! D.
Alexandre Porres wrote:
Hi D.
Yeah, DC Offset could be covered in what is digital Audio, or maybe briefly mentioned. The thing is that it needs patches to explain and show how adjusting the DC Offset works.
I know things must be kept as simple as possible, but not simpler than that, because it could be misleading. I had that problem myself when teaching with Floss Manuals, students had doubts why the square and sawtooth oscilators were different, or "wrong".
The DC Offset is an extremely important parameter that should be a part of the synthesizer section of Floss Manuals. It could also be a part of the Amplitude Modulation Examples. Actually, changing DC Offset is all it needs to change from an Amplitude Modulation to a Ring Modulation. So having a DC Offset parameter there can explain the differences between the two.
For instance, I find the osc7.pd example really misleading. At first, it is supposed to be a Ring Modulation instead of an Amplitude Modulation, since there is no DC offset in the modulator sigal. But, as the sawtooth wave oscilator has a DC Offset (that shouldnt be tghere anyway, and it is not even mentioned), it is actually an Amplitude modulation after all, with the Remark that the Carrier signal has the role of the Modulator signal, and Not the carrier signal itself. So, in any way (either presenting it as a Ring Modulation or Amplitude Modulation) corrections should be made.
So I dont see a way of not editing these patches, because it could be even more confusing if we would write a disconected chapter that complements and gives the tools to correct things that could have been presented before.
I just don't see how simplicity here compensates the misleading way the theory is presented.
The DC Offset is the main problem I see in Floss Manuals. And I actually give my students an altered version of Floss Manuals to work with because of that. I am developing a book of my own that complements well with the Floss Manuals, but I still need to do make this Remark.
I could show my book, but it is in Portuguese only, so far...
by the way, we have people in Brazil who would like to collaborate and translate this to portuguese.
I can send you a triangle wave oscilator right away.
cheers alex
On Mon, Mar 30, 2009 at 11:56 AM, Derek Holzer <derek@umatic.nl mailto:derek@umatic.nl> wrote:
Actually, DC offset could be covered in "What is Digital Audio", since it is a concept that needs explaining. Then, my suggestion still is to include it after the basics of the Square Waves. I'd like to keep the patches there as simple as possible, and since the DC Offset can be done at the end, why not have it there? Triangle wave would also be good. Write it first and we'll see where exactly to put it. D. Alexandre Porres wrote: sure, I could do both. But I think it would be inportant to start just after * AUDIO TUTORIALS * SimpleSynthIntroduction <http://en.flossmanuals.net/PureData/SimpleSynthIntroduction> and before the oscilators with the Short DC offset chapter. Then edit and correct the oscilator patches with values from -1 to 1 I also can create and put in the oscilator chapter a Triangle wave oscilator made with phasor what do you say? Cheers On Mon, Mar 30, 2009 at 11:43 AM, Derek Holzer <derek@umatic.nl <mailto:derek@umatic.nl> <mailto:derek@umatic.nl <mailto:derek@umatic.nl>>> wrote: Alexandre, Yes please, get on board! In the case of the square wave chapter, I had assumed that doing it with digital logic would result in either 0 (no amplitude) or 1 (full amplitude). So there shouldn't be any DC offset when it's at 0. Of course, there are some other real-world problems with those patches, namely that there is also no antialiasing. Since the FLOSS Manuals are "modular", they can be remixed as needed for any kind of workshop, class or curriculum, including or leaving out sections from all the different FLOSS Manuals as needed. So my suggestion to you would be to write a short chapter on DC offset which can then be referred to in the square wave tutorial, or in any other tutorial or manual where such a situation might arise. Likewise, I'd love it if someone could do a single chapter on the different antialiasing methods (Miller's, Frank's...). The idea would be to simplify the explanations so that one doesn't need a background in DSP or computer science in order to understand them. Would you be interested to do either of those? D. Alexandre Porres wrote: Hi, I am really interested in helping! I actually have some stuff I wanted to "corrrect", or bring some attention to, like the DC OFFSET. You dont cover it, and when you show how to get a Square Wave, the DC Offset is not properly adjusted. thanks cheers On Mon, Mar 30, 2009 at 11:20 AM, Derek Holzer <derek@umatic.nl <mailto:derek@umatic.nl> <mailto:derek@umatic.nl <mailto:derek@umatic.nl>> <mailto:derek@umatic.nl <mailto:derek@umatic.nl> <mailto:derek@umatic.nl <mailto:derek@umatic.nl>>>> wrote: Hey Alexandre, I just posted the announcement of the Pd FLOSS Manuals Book Sprint: http://lists.puredata.info/pipermail/pd-list/2009-03/069107.html I was wondering if you'd be interested to help out next weekend? It shouldn't be a problem to contribute remotely, and it would really help build up the momentum to finish this manual. Have a look over the topics and see if there is anything you'd like to cover and let me know. Best! Derek -- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 11: "Always first steps" -- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres -- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 109: "Lost in useless territory" -- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres -- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 67: "Emphasize the flaws"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
Alexandre Porres wrote:
and before the oscilators with the Short DC offset chapter.
[hip~ 1]
I also can create and put in the oscilator chapter a Triangle wave oscilator made with phasor
[phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))]
Hello Claude,
Claude Heiland-Allen wrote:
Alexandre Porres wrote:
and before the oscilators with the Short DC offset chapter.
[hip~ 1]
Yes, my thought also, just take care of it with [hip~]. But also, I think the problem of the digital logic system I've created isn't so big, as it can be scaled later, at the end of the whole signal chain:
[*~ 2] | [-~ 1]
with the [hip] for extra "protection" if needed. No need to completely rewrite the chapter. There is more than one "right way" to do things in Pd ;-)
I also can create and put in the oscilator chapter a Triangle wave oscilator made with phasor
[phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))]
Ah, but can you explain in non-technical English why this works? Remember our reader base aren't mathematicians like Miller ;-)
best, D.
Hallo, Derek Holzer hat gesagt: // Derek Holzer wrote:
[phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))]
Ah, but can you explain in non-technical English why this works?
Remember our reader base aren't mathematicians like Miller ;-)
A past post by me describes a different algorithm (without skew) but it shows the generation of a triangle from a phasor using a message analogy: http://lists.puredata.info/pipermail/pd-list/2006-11/044253.html which I find quite intuitive.
Frank
Hallo, Frank Barknecht hat gesagt: // Frank Barknecht wrote:
Hallo, Derek Holzer hat gesagt: // Derek Holzer wrote:
[phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))]
Ah, but can you explain in non-technical English why this works?
Remember our reader base aren't mathematicians like Miller ;-)A past post by me describes a different algorithm (without skew) but it shows the generation of a triangle from a phasor using a message analogy: http://lists.puredata.info/pipermail/pd-list/2006-11/044253.html which I find quite intuitive.
Ups: Use that instead: http://lists.puredata.info/pipermail/pd-list/2006-11/044256.html
Frank
On Mon, Mar 30, 2009 at 12:02 PM, Claude Heiland-Allen < claudiusmaximus@goto10.org> wrote:
[phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))]
I tried that, but it didnt actually worked, I just get actual sawtooths, and no real triangles.
here is what I got.
[phasor~]
[expr~ (min($v1, 1 - $v1) * 4) -1]
this is explained step by step with boxes and commentaries for the non matematicians (like me).
I tried to send the patch as text to this message, hope it works.
#N canvas 233 52 823 501 10;
#X obj 385 316 phasor~ 200;
#X obj 125 92 *~ -1;
#X obj 125 114 +~ 1;
#X obj 104 159 min~;
#X obj 385 337 expr~ (min($v1 , 1 - $v1) * 4) - 1;
#X obj 145 333 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
1;
#X obj 130 352 *~;
#X obj 114 59 phasor~ 220;
#X obj 104 264 *~ 4;
#X obj 104 301 -~ 1;
#X obj 130 373 dac~;
#X text 163 102 Inverts to Ramp Down generator (1 - 0);
#X text 202 59 Ramp Generator (0 - 1);
#X text 139 159 compares ramp up and ramp down and passes the smaller
value.;
#X text 123 205 This creates a Triangle wave with DC offset and gain
from (0 - 0.5). Now we need to adjust the gaind and DC ofsset;
#X text 379 290 Expr Version;
#X text 136 264 Normalize values to (0 -2);
#X text 141 303 corrects DC Offset;
#X obj 409 383 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
1;
#X obj 394 402 *~;
#X obj 394 423 dac~;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 3 0 8 0;
#X connect 4 0 19 0;
#X connect 5 0 6 1;
#X connect 6 0 10 0;
#X connect 7 0 1 0;
#X connect 7 0 3 0;
#X connect 8 0 9 0;
#X connect 9 0 6 0;
#X connect 18 0 19 1;
#X connect 19 0 20 0;
Alexandre Porres wrote:
On Mon, Mar 30, 2009 at 12:02 PM, Claude Heiland-Allen < claudiusmaximus@goto10.org> wrote:
[phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))]
I tried that, but it didnt actually worked, I just get actual sawtooths, and no real triangles.
Sorry for the shortness/lack of explanation, 0<shape<1, where 1 for phasor, 0.5 for triangle, 0 for backwards phasor.
considering shape as a constant, obviously you get weird results if you modulate it, but that's half the fun:
0.0 <= input <= shape ~> 0.0 <= output <= 1.0 (rising ramp) shape <= input <= 1.0 ~> 1.0 >= output >= 0.0 (falling ramp)
Hope this helps,
I tried again, and now it works much better than before... so I guess there was something wrong before.
Well Claude, it seems it almost works as the [triangle~] object.
Do you guys know about this one? It comes in some external library.
Were you who did it anyway Claude? :)
[triangle~] works in a similar fashion, it goes smoothly from inverse sawtooth to triangle and the sawtooth depending on the parameter (from 0 to 1).
The thing is that Triangle corrects the DC Offset, which could easily be done in the expr. But now I may start to sound like an obssessed DC Offset maniac.
Cheers Alex
On Mon, Mar 30, 2009 at 1:25 PM, Claude Heiland-Allen < claudiusmaximus@goto10.org> wrote:
Alexandre Porres wrote:
On Mon, Mar 30, 2009 at 12:02 PM, Claude Heiland-Allen < claudiusmaximus@goto10.org> wrote:
[phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))]
I tried that, but it didnt actually worked, I just get actual sawtooths,
and no real triangles.
Sorry for the shortness/lack of explanation, 0<shape<1, where 1 for phasor, 0.5 for triangle, 0 for backwards phasor.
considering shape as a constant, obviously you get weird results if you modulate it, but that's half the fun:
0.0 <= input <= shape ~> 0.0 <= output <= 1.0 (rising ramp) shape <= input <= 1.0 ~> 1.0 >= output >= 0.0 (falling ramp)
Hope this helps,
Claude
Hallo, Alexandre Porres hat gesagt: // Alexandre Porres wrote:
I tried again, and now it works much better than before... so I guess there was something wrong before.
Well Claude, it seems it almost works as the [triangle~] object.
Do you guys know about this one? It comes in some external library.
Hm, it's pretty common name for a triangle-wave abstraction. We also have one included in s_osc.pd which is the standard multiwaveform oscillator for synth building in rjlib and does sine, tri, pwm-square and saw (the latter two bandlimited).
[triangle~] works in a similar fashion, it goes smoothly from inverse sawtooth to triangle and the sawtooth depending on the parameter (from 0 to 1).
The thing is that Triangle corrects the DC Offset, which could easily be done in the expr. But now I may start to sound like an obssessed DC Offset maniac.
While the oscillators in s_osc.pd all go from -1 to 1, I don't really see why a triangle wave should not go from 0-1 as well. This may even be useful in certain applications. All it takes to convert it is a multiply-add. And isn't differentiating between ring modulation and amplitude modulation according to where the DC is old school analog thinking? ;) In Pd I prefer to think just about multiplications of one signal with another one.
Frank
I have to agree with Frank on this one. Luckily, unless we are completely pedantic engineer types, we can all be correct! ;-) D.
Frank Barknecht wrote:
While the oscillators in s_osc.pd all go from -1 to 1, I don't really see why a triangle wave should not go from 0-1 as well. This may even be useful in certain applications. All it takes to convert it is a multiply-add. And isn't differentiating between ring modulation and amplitude modulation according to where the DC is old school analog thinking? ;) In Pd I prefer to think just about multiplications of one signal with another one.
Is it really DC offset when the value goes from 0 to 1 instead of -1 to 1? I mean, that's the way [phasor~] comes right out of the box.
D.
Alexandre Porres wrote:
I tried again, and now it works much better than before... so I guess there was something wrong before.
Well Claude, it seems it almost works as the [triangle~] object.
Do you guys know about this one? It comes in some external library.
Were you who did it anyway Claude? :)
[triangle~] works in a similar fashion, it goes smoothly from inverse sawtooth to triangle and the sawtooth depending on the parameter (from 0 to 1).
The thing is that Triangle corrects the DC Offset, which could easily be done in the expr. But now I may start to sound like an obssessed DC Offset maniac.
Cheers Alex
On Mon, Mar 30, 2009 at 1:25 PM, Claude Heiland-Allen <claudiusmaximus@goto10.org mailto:claudiusmaximus@goto10.org> wrote:
Alexandre Porres wrote: On Mon, Mar 30, 2009 at 12:02 PM, Claude Heiland-Allen < claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>> wrote: [phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))] I tried that, but it didnt actually worked, I just get actual sawtooths, and no real triangles. Sorry for the shortness/lack of explanation, 0<shape<1, where 1 for phasor, 0.5 for triangle, 0 for backwards phasor. considering shape as a constant, obviously you get weird results if you modulate it, but that's half the fun: 0.0 <= input <= shape ~> 0.0 <= output <= 1.0 (rising ramp) shape <= input <= 1.0 ~> 1.0 >= output >= 0.0 (falling ramp) Hope this helps, Claude -- http://claudiusmaximus.goto10.org
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
you know, yeah, but the thing is that phasor is not actually an oscilator at all !!! the name actually refers to phase, and not sawtooth.
Apart from [osc~], oscilators in puredata are basically wavetable oscilators. You have objects such as [tabosc4~] and that is it.
What [phasor~] was designed to do is to indicate the phase of the waveform on a table. So you have to adjust phsor to be compatible with the table size. You do that simply by multiplying phasor (wich ramps up to one) to the table size. So what it is meant to do is tell the position (or "phase") in a table. That is why it goes from 0 to 1. If it did go from -1 to 1, as an ocilator, then it wouldnt work that way.
So there is a misconception of [phasor~] being a sawtooth wave generator that can be misleading. As an oscilator, [phasor~] has a DC Offset. In order to [phasor~] became an oscilator with no DC Offset, we have to correct it.
Maybe it is nice to be explicit about it in Floss Manuals, and say that Pd mostly works out with Table lookup oscilators, and that [osc~] is a special and unique object that is meant to be a Cosine wave oscilator.
Then, when explaining how to get other kinds of wavefroms on Pd, such as sawtooth, square, triangle, we could emphasize that we are creating them, and building them up with the objects we have. Thast also makes it implicit that there is more than one way to di it, and that there is no official or built in Square wave, for instance.
I actually talk a lot about that on my book. And I present examples on how to get a triangle waveform on a table using the sinesum comand, that is, by summing up harmonics.
Cheers Alex
On Mon, Mar 30, 2009 at 3:02 PM, Derek Holzer derek@umatic.nl wrote:
Is it really DC offset when the value goes from 0 to 1 instead of -1 to 1? I mean, that's the way [phasor~] comes right out of the box.
D.
Alexandre Porres wrote:
I tried again, and now it works much better than before... so I guess there was something wrong before.
Well Claude, it seems it almost works as the [triangle~] object.
Do you guys know about this one? It comes in some external library.
Were you who did it anyway Claude? :)
[triangle~] works in a similar fashion, it goes smoothly from inverse sawtooth to triangle and the sawtooth depending on the parameter (from 0 to 1).
The thing is that Triangle corrects the DC Offset, which could easily be done in the expr. But now I may start to sound like an obssessed DC Offset maniac.
Cheers Alex
On Mon, Mar 30, 2009 at 1:25 PM, Claude Heiland-Allen < claudiusmaximus@goto10.org mailto:claudiusmaximus@goto10.org> wrote:
Alexandre Porres wrote:
On Mon, Mar 30, 2009 at 12:02 PM, Claude Heiland-Allen < claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>> wrote: [phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))] I tried that, but it didnt actually worked, I just get actual sawtooths, and no real triangles.
Sorry for the shortness/lack of explanation, 0<shape<1, where 1 for phasor, 0.5 for triangle, 0 for backwards phasor.
considering shape as a constant, obviously you get weird results if you modulate it, but that's half the fun:
0.0 <= input <= shape ~> 0.0 <= output <= 1.0 (rising ramp) shape <= input <= 1.0 ~> 1.0 >= output >= 0.0 (falling ramp)
Hope this helps,
Claude -- http://claudiusmaximus.goto10.org
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 35: "Consider transitions"
I agree with the principles of this approach, but perhaps not the complexity. The FLOSS Manual doesn't exist as a way to teach DSP. That's what Miller's stuff is for. It exists as a way to get people who are put off by the existing documentation, which is very very heavy in math, DSP and computer science. These are the people I get in my workshops every time. They just want to get an idea of how to do things and not be intimidated. Thus the emphasis on simple solutions rather than "correct" ones.
If people are ready for a deeper understanding of DSP, that's where Miller's book, and pd-tutorial.com and the Roads CMT book and all the rest come in. And perhaps your Portuguese one as well. I don't want this book to step into a niche which already has many options, I want it to fill a niche which is still wide open: Pd for absolute beginners, no prerequisites required.
D.
Alexandre Porres wrote:
you know, yeah, but the thing is that phasor is not actually an oscilator at all !!!
the name actually refers to phase, and not sawtooth.
Apart from [osc~], oscilators in puredata are basically wavetable oscilators. You have objects such as [tabosc4~] and that is it.
What [phasor~] was designed to do is to indicate the phase of the waveform on a table. So you have to adjust phsor to be compatible with the table size. You do that simply by multiplying phasor (wich ramps up to one) to the table size. So what it is meant to do is tell the position (or "phase") in a table. That is why it goes from 0 to 1. If it did go from -1 to 1, as an ocilator, then it wouldnt work that way.
So there is a misconception of [phasor~] being a sawtooth wave generator that can be misleading. As an oscilator, [phasor~] has a DC Offset. In order to [phasor~] became an oscilator with no DC Offset, we have to correct it.
Maybe it is nice to be explicit about it in Floss Manuals, and say that Pd mostly works out with Table lookup oscilators, and that [osc~] is a special and unique object that is meant to be a Cosine wave oscilator.
Then, when explaining how to get other kinds of wavefroms on Pd, such as sawtooth, square, triangle, we could emphasize that we are creating them, and building them up with the objects we have. Thast also makes it implicit that there is more than one way to di it, and that there is no official or built in Square wave, for instance.
I actually talk a lot about that on my book. And I present examples on how to get a triangle waveform on a table using the sinesum comand, that is, by summing up harmonics.
Cheers Alex
On Mon, Mar 30, 2009 at 3:02 PM, Derek Holzer <derek@umatic.nl mailto:derek@umatic.nl> wrote:
Is it really DC offset when the value goes from 0 to 1 instead of -1 to 1? I mean, that's the way [phasor~] comes right out of the box. D. Alexandre Porres wrote: I tried again, and now it works much better than before... so I guess there was something wrong before. Well Claude, it seems it almost works as the [triangle~] object. Do you guys know about this one? It comes in some external library. Were you who did it anyway Claude? :) [triangle~] works in a similar fashion, it goes smoothly from inverse sawtooth to triangle and the sawtooth depending on the parameter (from 0 to 1). The thing is that Triangle corrects the DC Offset, which could easily be done in the expr. But now I may start to sound like an obssessed DC Offset maniac. Cheers Alex On Mon, Mar 30, 2009 at 1:25 PM, Claude Heiland-Allen <claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>>> wrote: Alexandre Porres wrote: On Mon, Mar 30, 2009 at 12:02 PM, Claude Heiland-Allen < claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>>> wrote: [phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))] I tried that, but it didnt actually worked, I just get actual sawtooths, and no real triangles. Sorry for the shortness/lack of explanation, 0<shape<1, where 1 for phasor, 0.5 for triangle, 0 for backwards phasor. considering shape as a constant, obviously you get weird results if you modulate it, but that's half the fun: 0.0 <= input <= shape ~> 0.0 <= output <= 1.0 (rising ramp) shape <= input <= 1.0 ~> 1.0 >= output >= 0.0 (falling ramp) Hope this helps, Claude -- http://claudiusmaximus.goto10.org -- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres -- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 35: "Consider transitions"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
well, I totally agree with you, and that is why my stuff does not fill in the niche of Miller's and others at all. My stuff is for people who really had never seen anything like this, which is practically everybody in brazil :)
I try to put some stuff in miller's book more accessible, but most of it I dont even bother to attempt that at all! Just the basics...
The stuff is kinda in between Floss Manuals and Miller's book. But I dont wish to inject the things I wrote about inside Floss Manuals at all. it would even be smart to repeat some stuff redundantly.
But the theory in DSP we are discussing here is really minimum, and the math could not be any simpler, which is just the procedure of using a [+] object, as complex as adjusting the gain with [*].
Since it is that basic, I dont find it intimidating at all.
But I really hope we could all share our thoughts and ideas, and create different materials that complement each other, and that are also coherent with each other.
So sorry if I looked too technical, but I still believe it could be simply presented, and that the material could benefit from it.
You see, DC Offset is also important to create Synthesis Control, like in the Amplitude Modulation example. If you want to do an AM synth with [osc], you need to adjust DC. But the procedure is really really simple. I will work on the examples and send it to you as soon as i can.
thanks alex
On Mon, Mar 30, 2009 at 3:29 PM, Derek Holzer derek@umatic.nl wrote:
I agree with the principles of this approach, but perhaps not the complexity. The FLOSS Manual doesn't exist as a way to teach DSP. That's what Miller's stuff is for. It exists as a way to get people who are put off by the existing documentation, which is very very heavy in math, DSP and computer science. These are the people I get in my workshops every time. They just want to get an idea of how to do things and not be intimidated. Thus the emphasis on simple solutions rather than "correct" ones.
If people are ready for a deeper understanding of DSP, that's where Miller's book, and pd-tutorial.com and the Roads CMT book and all the rest come in. And perhaps your Portuguese one as well. I don't want this book to step into a niche which already has many options, I want it to fill a niche which is still wide open: Pd for absolute beginners, no prerequisites required.
D.
Alexandre Porres wrote:
you know, yeah, but the thing is that phasor is not actually an oscilator at all !!!
the name actually refers to phase, and not sawtooth.
Apart from [osc~], oscilators in puredata are basically wavetable oscilators. You have objects such as [tabosc4~] and that is it. What [phasor~] was designed to do is to indicate the phase of the waveform on a table. So you have to adjust phsor to be compatible with the table size. You do that simply by multiplying phasor (wich ramps up to one) to the table size. So what it is meant to do is tell the position (or "phase") in a table. That is why it goes from 0 to 1. If it did go from -1 to 1, as an ocilator, then it wouldnt work that way.
So there is a misconception of [phasor~] being a sawtooth wave generator that can be misleading. As an oscilator, [phasor~] has a DC Offset. In order to [phasor~] became an oscilator with no DC Offset, we have to correct it.
Maybe it is nice to be explicit about it in Floss Manuals, and say that Pd mostly works out with Table lookup oscilators, and that [osc~] is a special and unique object that is meant to be a Cosine wave oscilator.
Then, when explaining how to get other kinds of wavefroms on Pd, such as sawtooth, square, triangle, we could emphasize that we are creating them, and building them up with the objects we have. Thast also makes it implicit that there is more than one way to di it, and that there is no official or built in Square wave, for instance.
I actually talk a lot about that on my book. And I present examples on how to get a triangle waveform on a table using the sinesum comand, that is, by summing up harmonics.
Cheers Alex
On Mon, Mar 30, 2009 at 3:02 PM, Derek Holzer <derek@umatic.nl mailto: derek@umatic.nl> wrote:
Is it really DC offset when the value goes from 0 to 1 instead of -1 to 1? I mean, that's the way [phasor~] comes right out of the box.
D.
Alexandre Porres wrote:
I tried again, and now it works much better than before... so I guess there was something wrong before. Well Claude, it seems it almost works as the [triangle~] object. Do you guys know about this one? It comes in some external library. Were you who did it anyway Claude? :) [triangle~] works in a similar fashion, it goes smoothly from inverse sawtooth to triangle and the sawtooth depending on the parameter (from 0 to 1). The thing is that Triangle corrects the DC Offset, which could easily be done in the expr. But now I may start to sound like an obssessed DC Offset maniac. Cheers Alex On Mon, Mar 30, 2009 at 1:25 PM, Claude Heiland-Allen <claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>>> wrote: Alexandre Porres wrote: On Mon, Mar 30, 2009 at 12:02 PM, Claude Heiland-Allen < claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>>> wrote: [phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))] I tried that, but it didnt actually worked, I just get
actual sawtooths, and no real triangles.
Sorry for the shortness/lack of explanation, 0<shape<1, where 1 for phasor, 0.5 for triangle, 0 for backwards phasor. considering shape as a constant, obviously you get weird results if you modulate it, but that's half the fun: 0.0 <= input <= shape ~> 0.0 <= output <= 1.0 (rising ramp) shape <= input <= 1.0 ~> 1.0 >= output >= 0.0 (falling
ramp)
Hope this helps, Claude -- http://claudiusmaximus.goto10.org -- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 35: "Consider transitions"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 87: "Imagine the music as a moving chain or caterpillar"
errata" it wouldnt even be smart to repeat some stuff redundantly.
On Mon, Mar 30, 2009 at 3:41 PM, Alexandre Porres porres@gmail.com wrote:
well, I totally agree with you, and that is why my stuff does not fill in the niche of Miller's and others at all. My stuff is for people who really had never seen anything like this, which is practically everybody in brazil :)
I try to put some stuff in miller's book more accessible, but most of it I dont even bother to attempt that at all! Just the basics...
The stuff is kinda in between Floss Manuals and Miller's book. But I dont wish to inject the things I wrote about inside Floss Manuals at all. it would even be smart to repeat some stuff redundantly.
But the theory in DSP we are discussing here is really minimum, and the math could not be any simpler, which is just the procedure of using a [+] object, as complex as adjusting the gain with [*].
Since it is that basic, I dont find it intimidating at all.
But I really hope we could all share our thoughts and ideas, and create different materials that complement each other, and that are also coherent with each other.
So sorry if I looked too technical, but I still believe it could be simply presented, and that the material could benefit from it.
You see, DC Offset is also important to create Synthesis Control, like in the Amplitude Modulation example. If you want to do an AM synth with [osc], you need to adjust DC. But the procedure is really really simple. I will work on the examples and send it to you as soon as i can.
thanks alex
On Mon, Mar 30, 2009 at 3:29 PM, Derek Holzer derek@umatic.nl wrote:
I agree with the principles of this approach, but perhaps not the complexity. The FLOSS Manual doesn't exist as a way to teach DSP. That's what Miller's stuff is for. It exists as a way to get people who are put off by the existing documentation, which is very very heavy in math, DSP and computer science. These are the people I get in my workshops every time. They just want to get an idea of how to do things and not be intimidated. Thus the emphasis on simple solutions rather than "correct" ones.
If people are ready for a deeper understanding of DSP, that's where Miller's book, and pd-tutorial.com and the Roads CMT book and all the rest come in. And perhaps your Portuguese one as well. I don't want this book to step into a niche which already has many options, I want it to fill a niche which is still wide open: Pd for absolute beginners, no prerequisites required.
D.
Alexandre Porres wrote:
you know, yeah, but the thing is that phasor is not actually an oscilator at all !!!
the name actually refers to phase, and not sawtooth.
Apart from [osc~], oscilators in puredata are basically wavetable oscilators. You have objects such as [tabosc4~] and that is it. What [phasor~] was designed to do is to indicate the phase of the waveform on a table. So you have to adjust phsor to be compatible with the table size. You do that simply by multiplying phasor (wich ramps up to one) to the table size. So what it is meant to do is tell the position (or "phase") in a table. That is why it goes from 0 to 1. If it did go from -1 to 1, as an ocilator, then it wouldnt work that way.
So there is a misconception of [phasor~] being a sawtooth wave generator that can be misleading. As an oscilator, [phasor~] has a DC Offset. In order to [phasor~] became an oscilator with no DC Offset, we have to correct it.
Maybe it is nice to be explicit about it in Floss Manuals, and say that Pd mostly works out with Table lookup oscilators, and that [osc~] is a special and unique object that is meant to be a Cosine wave oscilator.
Then, when explaining how to get other kinds of wavefroms on Pd, such as sawtooth, square, triangle, we could emphasize that we are creating them, and building them up with the objects we have. Thast also makes it implicit that there is more than one way to di it, and that there is no official or built in Square wave, for instance.
I actually talk a lot about that on my book. And I present examples on how to get a triangle waveform on a table using the sinesum comand, that is, by summing up harmonics.
Cheers Alex
On Mon, Mar 30, 2009 at 3:02 PM, Derek Holzer <derek@umatic.nl mailto: derek@umatic.nl> wrote:
Is it really DC offset when the value goes from 0 to 1 instead of -1 to 1? I mean, that's the way [phasor~] comes right out of the box.
D.
Alexandre Porres wrote:
I tried again, and now it works much better than before... so I guess there was something wrong before. Well Claude, it seems it almost works as the [triangle~] object. Do you guys know about this one? It comes in some external
library.
Were you who did it anyway Claude? :) [triangle~] works in a similar fashion, it goes smoothly from inverse sawtooth to triangle and the sawtooth depending on the parameter (from 0 to 1). The thing is that Triangle corrects the DC Offset, which could easily be done in the expr. But now I may start to sound like an obssessed DC Offset maniac. Cheers Alex On Mon, Mar 30, 2009 at 1:25 PM, Claude Heiland-Allen <claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>>> wrote: Alexandre Porres wrote: On Mon, Mar 30, 2009 at 12:02 PM, Claude Heiland-Allen < claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>>> wrote: [phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))] I tried that, but it didnt actually worked, I just get
actual sawtooths, and no real triangles.
Sorry for the shortness/lack of explanation, 0<shape<1, where 1 for phasor, 0.5 for triangle, 0 for backwards phasor. considering shape as a constant, obviously you get weird results if you modulate it, but that's half the fun: 0.0 <= input <= shape ~> 0.0 <= output <= 1.0 (rising
ramp) shape <= input <= 1.0 ~> 1.0 >= output >= 0.0 (falling ramp)
Hope this helps, Claude -- http://claudiusmaximus.goto10.org -- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 35: "Consider transitions"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
-- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 87: "Imagine the music as a moving chain or caterpillar"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
Cool then, I'll hold off on further comments until I've seen your examples. Thanks for taking your time to explain all this. I think the more often it gets explained, the smoother the explanation becomes.
best, D.
Alexandre Porres wrote:
well, I totally agree with you, and that is why my stuff does not fill in the niche of Miller's and others at all.
My stuff is for people who really had never seen anything like this, which is practically everybody in brazil :)
I try to put some stuff in miller's book more accessible, but most of it I dont even bother to attempt that at all! Just the basics...
The stuff is kinda in between Floss Manuals and Miller's book. But I dont wish to inject the things I wrote about inside Floss Manuals at all. it would even be smart to repeat some stuff redundantly.
But the theory in DSP we are discussing here is really minimum, and the math could not be any simpler, which is just the procedure of using a [+] object, as complex as adjusting the gain with [*].
Since it is that basic, I dont find it intimidating at all.
But I really hope we could all share our thoughts and ideas, and create different materials that complement each other, and that are also coherent with each other.
So sorry if I looked too technical, but I still believe it could be simply presented, and that the material could benefit from it.
You see, DC Offset is also important to create Synthesis Control, like in the Amplitude Modulation example. If you want to do an AM synth with [osc], you need to adjust DC. But the procedure is really really simple. I will work on the examples and send it to you as soon as i can.
thanks alex
On Mon, Mar 30, 2009 at 3:29 PM, Derek Holzer <derek@umatic.nl mailto:derek@umatic.nl> wrote:
I agree with the principles of this approach, but perhaps not the complexity. The FLOSS Manual doesn't exist as a way to teach DSP. That's what Miller's stuff is for. It exists as a way to get people who are put off by the existing documentation, which is very very heavy in math, DSP and computer science. These are the people I get in my workshops every time. They just want to get an idea of how to do things and not be intimidated. Thus the emphasis on simple solutions rather than "correct" ones. If people are ready for a deeper understanding of DSP, that's where Miller's book, and pd-tutorial.com <http://pd-tutorial.com> and the Roads CMT book and all the rest come in. And perhaps your Portuguese one as well. I don't want this book to step into a niche which already has many options, I want it to fill a niche which is still wide open: Pd for absolute beginners, no prerequisites required. D. Alexandre Porres wrote: you know, yeah, but the thing is that phasor is not actually an oscilator at all !!! the name actually refers to phase, and not sawtooth. Apart from [osc~], oscilators in puredata are basically wavetable oscilators. You have objects such as [tabosc4~] and that is it. What [phasor~] was designed to do is to indicate the phase of the waveform on a table. So you have to adjust phsor to be compatible with the table size. You do that simply by multiplying phasor (wich ramps up to one) to the table size. So what it is meant to do is tell the position (or "phase") in a table. That is why it goes from 0 to 1. If it did go from -1 to 1, as an ocilator, then it wouldnt work that way. So there is a misconception of [phasor~] being a sawtooth wave generator that can be misleading. As an oscilator, [phasor~] has a DC Offset. In order to [phasor~] became an oscilator with no DC Offset, we have to correct it. Maybe it is nice to be explicit about it in Floss Manuals, and say that Pd mostly works out with Table lookup oscilators, and that [osc~] is a special and unique object that is meant to be a Cosine wave oscilator. Then, when explaining how to get other kinds of wavefroms on Pd, such as sawtooth, square, triangle, we could emphasize that we are creating them, and building them up with the objects we have. Thast also makes it implicit that there is more than one way to di it, and that there is no official or built in Square wave, for instance. I actually talk a lot about that on my book. And I present examples on how to get a triangle waveform on a table using the sinesum comand, that is, by summing up harmonics. Cheers Alex On Mon, Mar 30, 2009 at 3:02 PM, Derek Holzer <derek@umatic.nl <mailto:derek@umatic.nl> <mailto:derek@umatic.nl <mailto:derek@umatic.nl>>> wrote: Is it really DC offset when the value goes from 0 to 1 instead of -1 to 1? I mean, that's the way [phasor~] comes right out of the box. D. Alexandre Porres wrote: I tried again, and now it works much better than before... so I guess there was something wrong before. Well Claude, it seems it almost works as the [triangle~] object. Do you guys know about this one? It comes in some external library. Were you who did it anyway Claude? :) [triangle~] works in a similar fashion, it goes smoothly from inverse sawtooth to triangle and the sawtooth depending on the parameter (from 0 to 1). The thing is that Triangle corrects the DC Offset, which could easily be done in the expr. But now I may start to sound like an obssessed DC Offset maniac. Cheers Alex On Mon, Mar 30, 2009 at 1:25 PM, Claude Heiland-Allen <claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>>>> wrote: Alexandre Porres wrote: On Mon, Mar 30, 2009 at 12:02 PM, Claude Heiland-Allen < claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org> <mailto:claudiusmaximus@goto10.org <mailto:claudiusmaximus@goto10.org>>>> wrote: [phasor~] [r~ shape] [expr~ if($v1<$v2,$v1/$v2,(1-$v1)/(1-$v2))] I tried that, but it didnt actually worked, I just get actual sawtooths, and no real triangles. Sorry for the shortness/lack of explanation, 0<shape<1, where 1 for phasor, 0.5 for triangle, 0 for backwards phasor. considering shape as a constant, obviously you get weird results if you modulate it, but that's half the fun: 0.0 <= input <= shape ~> 0.0 <= output <= 1.0 (rising ramp) shape <= input <= 1.0 ~> 1.0 >= output >= 0.0 (falling ramp) Hope this helps, Claude -- http://claudiusmaximus.goto10.org -- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres -- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 35: "Consider transitions" -- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres -- ::: derek holzer ::: http://blog.myspace.com/macumbista ::: http://www.vimeo.com/macumbista ::: ---Oblique Strategy # 87: "Imagine the music as a moving chain or caterpillar"
-- Alexandre Torres Porres cel. (11)8179-6226 Website: http://porres.googlepages.com/home http://www.myspace.com/alexandretorresporres
On 30/03/2009, at 20.29, Derek Holzer wrote:
If people are ready for a deeper understanding of DSP, that's where
Miller's book, and pd-tutorial.com and the Roads CMT book and all
the rest come in. And perhaps your Portuguese one as well. I don't
want this book to step into a niche which already has many options,
I want it to fill a niche which is still wide open: Pd for absolute
beginners, no prerequisites required.
As i understood it, that is also the (at least intended) scope of
'Programming Electronic Music in Pd' aka pd-tutorial.com. - Not that
you shouldn't carry on.
yeah, well, as I say, care must be taken not to repeat or get redundant. I hope we could gather the available publications somehow, and write notes on the aims of each of them. This is certainly nice for those who want to get started, they can know what there is around, and choose what to read, and in what order...
I surely see pd-tutorial as a step further than Floss Manuals. And I am working on something that is even further, and in between Miller's
that is cool right?
cheers
On Mon, Mar 30, 2009 at 5:01 PM, Steffen Juul stffn@dibidut.dk wrote:
On 30/03/2009, at 20.29, Derek Holzer wrote:
If people are ready for a deeper understanding of DSP, that's where
Miller's book, and pd-tutorial.com and the Roads CMT book and all the rest come in. And perhaps your Portuguese one as well. I don't want this book to step into a niche which already has many options, I want it to fill a niche which is still wide open: Pd for absolute beginners, no prerequisites required.
As i understood it, that is also the (at least intended) scope of 'Programming Electronic Music in Pd' aka pd-tutorial.com. - Not that you shouldn't carry on.
Hallo, Alexandre Porres hat gesagt: // Alexandre Porres wrote:
you know, yeah, but the thing is that phasor is not actually an oscilator at all !!! the name actually refers to phase, and not sawtooth.
And a [triangle~] may be used as a ping-pong looping [phasor~].
The objects Pd provides are building blocks - they generally are designed on a level that allows and encourages multiple uses. A square wave going from 0 to 1 can be used as a logical signal that switches another signal on and off. In fact, a trivial square or saw without bandlimit should generally not be used as an "oscillator" in the analog synth sense - it should be bandlimited first, and while you do that you may as well make them have a DC of 0. (Bandlimiting triangle waves is not *that* urgent, as corners don't add so many alias components.)
Frank
On Mar 31, 2009, at 4:34 AM, Frank Barknecht wrote:
Hallo, Alexandre Porres hat gesagt: // Alexandre Porres wrote:
you know, yeah, but the thing is that phasor is not actually an
oscilator at all !!! the name actually refers to phase, and not sawtooth.And a [triangle~] may be used as a ping-pong looping [phasor~].
The objects Pd provides are building blocks - they generally are
designed on a level that allows and encourages multiple uses. A square wave going
from 0 to 1 can be used as a logical signal that switches another signal on and
off. In fact, a trivial square or saw without bandlimit should generally not
be used as an "oscillator" in the analog synth sense - it should be bandlimited
first, and while you do that you may as well make them have a DC of 0.
(Bandlimiting triangle waves is not *that* urgent, as corners don't add so many
alias components.)
I think the key to this discussion of -1 to 1 vs 0 to 1 is what people
are most likely going to use them for, and what makes the most sense
in that context. Of course, ideally, it wouldn't create arbitrary
restrictions either. For example, Cyrille and I make basically
everything 0 to 1 in the mapping library since it makes things really
easy to do without sacrificing much flexibility. If you start with,
or end up with different ranges, you can do the scaling math at the
input or output ends of the patch, and keep everything in between 0 to
I think the two ranges for this discussion separate signals versus
controls. A sawtooth~ is a signal that is meant to be listened to, so
it would good from -1 to 1. A phasor~ is the exact same shape as a
sawtooth~, but it is meant to be a control, so it is 0 to 1. You
could easily switch the two with some basic math, but most of the
time, you'll want your controls to be 0 to 1 and your signals -1 to
.hc
Terrorism is not an enemy. It cannot be defeated. It's a tactic.
It's about as sensible to say we declare war on night attacks and
expect we're going to win that war. We're not going to win the war on
terrorism. - retired U.S. Army general, William Odom
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
I think the key to this discussion of -1 to 1 vs 0 to 1 is what people
are most likely going to use them for, and what makes the most sense in that context. Of course, ideally, it wouldn't create arbitrary
restrictions either. For example, Cyrille and I make basically
everything 0 to 1 in the mapping library since it makes things really
easy to do without sacrificing much flexibility.
I think, that's very sensible.
I think the two ranges for this discussion separate signals versus
controls. A sawtooth~ is a signal that is meant to be listened to, so
it would good from -1 to 1. A phasor~ is the exact same shape as a
sawtooth~, but it is meant to be a control, so it is 0 to 1. You could easily switch the two with some basic math, but most of the time, you'll want your controls to be 0 to 1 and your signals -1 to 1. A similar pair would be square~ (signal) and pwm~ (control).
I'm with you here except maybe at the object names, but these are just taste-related and maybe educational/language differences - I don't necessarly think of square~ as signal and pwm~ as control (The nusmusk-pwm~ is a "signal", too)
I'd just like to add that converting a "control signal" like the phasor~ to a "synth oscillator" takes more than just moving its center to 0, especially bandlimiting. OTOH a bandlimited saw or square generally is useless for control operations because it "wiggles" too much at the jump points.
Anyway I've now read the Pd-FLOSS manual page at http://en.flossmanuals.net/PureData/SquarewavesAndLogic and found, that it just tries to explain some general mechanisms to generate square-ish signals from a phasor~. As the basic techniques are the same for "synth oscillators" and "control signals", I think keeping it in a range from 0-1 is sensible.
Frank
Hi Frank,
in light of what you wrote below, I'd also like to keep the chapters as I have written them, since they are internally consistent. However, one of the first chapters I would like to add would be something like "Improving Audio Signals" which would have two parts: "DC Offset Correction" and "Antialiasing". I think this would be a very vital chapter to add to the Audio Tutorials if anyone wants to pick it up. Otherwise, I will add it myself later on.
best! Derek
Frank Barknecht wrote:
Anyway I've now read the Pd-FLOSS manual page at http://en.flossmanuals.net/PureData/SquarewavesAndLogic and found, that it just tries to explain some general mechanisms to generate square-ish signals from a phasor~. As the basic techniques are the same for "synth oscillators" and "control signals", I think keeping it in a range from 0-1 is sensible.
On Tue, 31 Mar 2009, Hans-Christoph Steiner wrote:
I think the two ranges for this discussion separate signals versus controls. A sawtooth~ is a signal that is meant to be listened to, so it would good from -1 to 1. A phasor~ is the exact same shape as a sawtooth~, but it is meant to be a control, so it is 0 to 1. You could easily switch the two with some basic math, but most of the time, you'll want your controls to be 0 to 1 and your signals -1 to 1. A similar pair would be square~ (signal) and pwm~ (control).
Those words could be chosen differently. In Pd, signal means both of those things, as it's a single type of wire and a single type of data; and about control... I used to often see the phrase "control object" to mean "message-system object"... but I don't recall whether that was in Pd or in jMax. In any case I think it would be better to say that the 0-to-1 signal is intended as a "multiplicator" or "envelope" whereas the -1-to-1 signal is intended as a... non-multiplicator... or non-envelope... you may have better ideas for names.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec