Hi list!
I need to convert a phasor into a square wave in this way:
phasor:
/ / / / / /
/ | / | / | / | / | / |
/ | / | / | / | / | / | / |/ |/ |/ |/ |/ |
square (2:1): ________ _________ _ | | | | | | | | | | | |____| |____|
so, a relation HIGH:LOW holds a high or a low value (1 or 0) a indicate number of cycles. I need this conversion in order to make a masking, so square doesn't have to be an audio signal necessarily (could be a number upload each phasor cycle).
What could be the best implementation for that scheme?
Saludos!
raul diaz wrote:
Hi list!
I need to convert a phasor into a square wave in this way:
phasor:
/ / / / / / / | / | / | / | / | / |
/ | / | / | / | / | / | / |/ |/ |/ |/ |/ |
square (2:1): ________ _________ _ | | | | | | | | | | | |____| |____|
so, a relation HIGH:LOW holds a high or a low value (1 or 0) a indicate number of cycles. I need this conversion in order to make a masking, so square doesn't have to be an audio signal necessarily (could be a number upload each phasor cycle).
What could be the best implementation for that scheme?
I'm not sure what you mean exactly expecially bi HIGH:LOW, but
[phasor] | [>~ 0.5] | [-~ 0.5]
outputs a perfect square wave, although you need [>~] from zexy for that.
"Prisons are needed only to provide the illusion that courts and police are effective. They're a kind of job insurance." (Leto II. in: Frank Herbert, God Emperor of Dune) http://thomas.dergrossebruder.org/
Hi Thomas,
HIGH and LOW refer to the binary state. The square wave conversion using [>~ 0.5] will actually give him a square triggered at the mid point of the sawtooth wave, not the beginning or end, so the phase of the square would be 180 degrees off from the saw. I suggested to use [==~ 1] instead to get the peaks of the saw, and some more math to count them and create the ratio between the two.
best, d.
Thomas Mayer wrote:
raul diaz wrote:
Hi list!
I need to convert a phasor into a square wave in this way:
phasor:
/ / / / / / / | / | / | / | / | / |
/ | / | / | / | / | / | / |/ |/ |/ |/ |/ |
square (2:1): ________ _________ _ | | | | | | | | | | | |____| |____|
so, a relation HIGH:LOW holds a high or a low value (1 or 0) a indicate number of cycles. I need this conversion in order to make a masking, so square doesn't have to be an audio signal necessarily (could be a number upload each phasor cycle).
What could be the best implementation for that scheme?
I'm not sure what you mean exactly expecially bi HIGH:LOW, but
[phasor] | [>~ 0.5] | [-~ 0.5]
outputs a perfect square wave, although you need [>~] from zexy for that.
cu Thomas
you could just make a phasor at the rate of the square wave, and use the method thomas posted to make it square, and then use
[wrap~ 0 0.5] | [*~ 2]
to get the double speed phasor
Hi Raul,
you will want to investigate the binary operations and mathematical operations for signals. In this case, you want to know when the [phasor~] reaches 1:
[==~]
and this will output a signal of 1 (= HIGH), otherwise a zero (= LOW). You can use [snapshot~] to covert this to a float. [avg~] is supposed to do this as well, but it doesn't do anything on my OSX PD Extended-0.39 installation.
Thomas Mayer's squarewave converter that he posted using [>~ 0.5] and [-~ 0.5] is a similar idea, giving you also HIGH and LOW values, but you might still need to convert to float for the next part.
Once the result of you binary operation is a float, you can use a counter-like structure to count the HI levels, and some other math operations to count (alternately 1,2 and 1). I don't have time to patch the whole thing myself, but hopefully you will see what I mean.
best, d.
raul diaz wrote:
Hi list!
I need to convert a phasor into a square wave in this way:
phasor:
/ / / / / / / | / | / | / | / | / |
/ | / | / | / | / | / | / |/ |/ |/ |/ |/ |
square (2:1): ________ _________ _ | | | | | | | | | | | |____| |____|
so, a relation HIGH:LOW holds a high or a low value (1 or 0) a indicate number of cycles. I need this conversion in order to make a masking, so square doesn't have to be an audio signal necessarily (could be a number upload each phasor cycle).
What could be the best implementation for that scheme?
Saludos!
-- Raul Diaz Poblete
raul.lete@gmail.com mailto:raul.lete@gmail.com Barcelona [Spain]
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi Derek!
Your approch is exactly what I need!
I didn't know the [==~] and [avg~] objects, but they make exactly what I want.
Thanks for the suggestion!
Saludos!
2008/1/20, Derek Holzer derek@umatic.nl:
Hi Raul,
you will want to investigate the binary operations and mathematical operations for signals. In this case, you want to know when the [phasor~] reaches 1:
[==~]
and this will output a signal of 1 (= HIGH), otherwise a zero (= LOW). You can use [snapshot~] to covert this to a float. [avg~] is supposed to do this as well, but it doesn't do anything on my OSX PD Extended-0.39 installation.
Thomas Mayer's squarewave converter that he posted using [>~ 0.5] and [-~ 0.5] is a similar idea, giving you also HIGH and LOW values, but you might still need to convert to float for the next part.
Once the result of you binary operation is a float, you can use a counter-like structure to count the HI levels, and some other math operations to count (alternately 1,2 and 1). I don't have time to patch the whole thing myself, but hopefully you will see what I mean.
best, d.
raul diaz wrote:
Hi list!
I need to convert a phasor into a square wave in this way:
phasor:
/ / / / / / / | / | / | / | / | / |
/ | / | / | / | / | / | / |/ |/ |/ |/ |/ |
square (2:1): ________ _________ _ | | | | | | | | | | | |____| |____|
so, a relation HIGH:LOW holds a high or a low value (1 or 0) a indicate number of cycles. I need this conversion in order to make a masking, so square doesn't have to be an audio signal necessarily (could be a number upload each phasor cycle).
What could be the best implementation for that scheme?
Saludos!
-- Raul Diaz Poblete
raul.lete@gmail.com mailto:raul.lete@gmail.com Barcelona [Spain]
PD-list@iem.at mailing list UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
-- derek holzer ::: http://www.umatic.nl ::: http://blog.myspace.com/macumbista ---Oblique Strategy # 165: "Use an old idea"
Derek Holzer wrote:
Hi Raul,
you will want to investigate the binary operations and mathematical operations for signals. In this case, you want to know when the [phasor~] reaches 1:
[==~]
This won't work, because the phasor~ may reach 1 in between samples. In general, phasor~ is almost never exactly 1 (or any other value).
Use the falling edge to get timing, which is what samphold~ does.
No time to write more now...
Claude
On Sun, 2008-01-20 at 13:50 +0100, raul diaz wrote:
Hi list!
I need to convert a phasor into a square wave in this way:
phasor:
/ / / / / / / | / | / | / | / | / |
/ | / | / | / | / | / | / |/ |/ |/ |/ |/ |
square (2:1): ________ _________ _ | | | | | | | | | | | |____| |____|
hi raul
when doing ascii art, the font and formatting you are using is critical for the correct appearance. in order to display your aa correctly in other people's email-client as well, choose 'plain text' instead of 'html' format and a monospace font type while typing.
to your problem:
you could divide the phasor frequency by three, so that one period of the phasor matches one period of your desired rectangular wave. if i understand your drawing correctly, you want to achieve a rectangular wave whith a 66% on-phase (and 33% off-phase). have a look at millers example patch 3.audio.examples/J03.pulse.width.mod.pd to get an idea how to convert a phasoor into a rectangular wave with specified on-phase.
roman
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
Thanks a lot for your suggestions!
I tried to make the mathematical comparation for phasor with [==~] and [avg~] and then a counter in order to count phasor cycles. But it doesn't work, it only count one. Did I make something wrong?
Attached is the example patch.
2008/1/20, Roman Haefeli reduzierer@yahoo.de:
On Sun, 2008-01-20 at 13:50 +0100, raul diaz wrote:
Hi list!
I need to convert a phasor into a square wave in this way:
phasor:
/ / / / / / / | / | / | / | / | / |
/ | / | / | / | / | / | / |/ |/ |/ |/ |/ |
square (2:1): ________ _________ _ | | | | | | | | | | | |____| |____|
hi raul
when doing ascii art, the font and formatting you are using is critical for the correct appearance. in order to display your aa correctly in other people's email-client as well, choose 'plain text' instead of 'html' format and a monospace font type while typing.
to your problem:
you could divide the phasor frequency by three, so that one period of the phasor matches one period of your desired rectangular wave. if i understand your drawing correctly, you want to achieve a rectangular wave whith a 66% on-phase (and 33% off-phase). have a look at millers example patch 3.audio.examples/J03.pulse.width.mod.pd to get an idea how to convert a phasoor into a rectangular wave with specified on-phase.
roman
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
hi raul
i am still unsure about your initial problem. probably the solution is quite simple, but maybe you need to provide some more information. would you like to use the rectangular wave to mask the phasor wave? so that your resulting wave would look like this :
/| /| /| /| /| /| /| /| /| /|
/ | / | / | / | / | / | / | / | / | / |
/ |/ |____/ |/ |____/ |/ |____/ |/ |____/ |/ |____
if your goal is to synthesize some customized waveform, it might be easier to do it using [vline~] (have a look at the help patch). [vline~] lets you practically compose any waveform, that consists only of straight ramps (it might still be possible with curves, but certainly it would be trickier).
roman
On Sun, 2008-01-20 at 14:55 +0100, raul diaz wrote:
Thanks a lot for your suggestions!
I tried to make the mathematical comparation for phasor with [==~] and [avg~] and then a counter in order to count phasor cycles. But it doesn't work, it only count one. Did I make something wrong?
Attached is the example patch.
2008/1/20, Roman Haefeli reduzierer@yahoo.de: On Sun, 2008-01-20 at 13:50 +0100, raul diaz wrote: > Hi list! > > I need to convert a phasor into a square wave in this way: > > phasor: > > / / / / / / > / | / | / | / | / | / | > / | / | / | / | / | / | > / |/ |/ |/ |/ |/ | > > square (2:1): > ________ _________ _ > | | | | | > | | | | | > | |____| |____| > hi raul
when doing ascii art, the font and formatting you are using is critical for the correct appearance. in order to display your aa correctly in other people's email-client as well, choose 'plain text' instead of 'html' format and a monospace font type while typing. to your problem: you could divide the phasor frequency by three, so that one period of the phasor matches one period of your desired rectangular wave. if i understand your drawing correctly, you want to achieve a rectangular wave whith a 66% on-phase (and 33% off-phase). have a look at millers example patch 3.audio.examples/J03.pulse.width.mod.pd to get an idea how to convert a phasoor into a rectangular wave with specified on-phase. roman ___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
-- Raul Diaz Poblete
raul.lete@gmail.com Barcelona [Spain] _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
Hi Roman!
I'm sorry for my lack of information...
I'm making a pulsar granular synthesis patch based on Curtis Roads's Microsound ideas using a patch from nullpointer ( http://www.nullpointer.co.uk/-/pd.htm). So, the phasor is my pulsar frequency reference, and I want to mask the output of pulsar granular synthesizer. In this way a 1:3 mask will allow to hear 1 of each 4 pulsar particles. I don't really need a square wave, I prefer to obtain a number (0/1) each phasor cycle to multiply with pulsar granular synthesize output. But, maybe your idea could work, using directly a masked phasor to synthesize pulsar particles, instead of mask synthesized pulsar particles.
I will try this way, but anyway i'm curious about [avg~] behaviour. What's wrong on my "phasor-cycles-counter" patch?
Thanks for your suggestions!
Saludos!
2008/1/20, Roman Haefeli reduzierer@yahoo.de:
hi raul
i am still unsure about your initial problem. probably the solution is quite simple, but maybe you need to provide some more information. would you like to use the rectangular wave to mask the phasor wave? so that your resulting wave would look like this :
/| /| /| /| /| /| /| /| /| /| / | / | / | / | / | / | / | / | / | / | / |/ |____/ |/ |____/ |/ |____/ |/ |____/ |/ |____
if your goal is to synthesize some customized waveform, it might be easier to do it using [vline~] (have a look at the help patch). [vline~] lets you practically compose any waveform, that consists only of straight ramps (it might still be possible with curves, but certainly it would be trickier).
roman
On Sun, 2008-01-20 at 14:55 +0100, raul diaz wrote:
Thanks a lot for your suggestions!
I tried to make the mathematical comparation for phasor with [==~] and [avg~] and then a counter in order to count phasor cycles. But it doesn't work, it only count one. Did I make something wrong?
Attached is the example patch.
2008/1/20, Roman Haefeli reduzierer@yahoo.de: On Sun, 2008-01-20 at 13:50 +0100, raul diaz wrote: > Hi list! > > I need to convert a phasor into a square wave in this way: > > phasor: > > / / / / / / > / | / | / | / | / | / | > / | / | / | / | / | / | > / |/ |/ |/ |/ |/ | > > square (2:1): > ________ _________ _ > | | | | | > | | | | | > | |____| |____| > hi raul
when doing ascii art, the font and formatting you are using is critical for the correct appearance. in order to display your aa correctly in other people's email-client as well, choose 'plain text' instead of 'html' format and a monospace font type while typing. to your problem: you could divide the phasor frequency by three, so that one period of the phasor matches one period of your desired rectangular wave. if i understand your drawing correctly, you want to achieve a rectangular wave whith a 66% on-phase (and 33% off-phase). have a look at millers example patch 3.audio.examples/J03.pulse.width.mod.pd to get an idea how to convert a phasoor into a rectangular wave with specified on-phase. roman ___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
-- Raul Diaz Poblete
raul.lete@gmail.com Barcelona [Spain] _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
Hi Roman, list!
Attached is my aproach to generate masked-phasor, as suggested. But in this way I can only obtain 1 of N phasor cycles. How could I obtain a phasor with a M:N cycles relation, like that (2:2):
/| /| /| /| /| /| /| /| /| /| / | / | / | / | / | / | / | / | / | / | / |/ |_____/ |/ |_____/ |/ |_____/ |/ |_____/ |/ |____
2008/1/20, raul diaz raul.lete@gmail.com:
Hi Roman!
I'm sorry for my lack of information...
I'm making a pulsar granular synthesis patch based on Curtis Roads's Microsound ideas using a patch from nullpointer (http://www.nullpointer.co.uk/-/pd.htm ). So, the phasor is my pulsar frequency reference, and I want to mask the output of pulsar granular synthesizer. In this way a 1:3 mask will allow to hear 1 of each 4 pulsar particles. I don't really need a square wave, I prefer to obtain a number (0/1) each phasor cycle to multiply with pulsar granular synthesize output. But, maybe your idea could work, using directly a masked phasor to synthesize pulsar particles, instead of mask synthesized pulsar particles.
I will try this way, but anyway i'm curious about [avg~] behaviour. What's wrong on my "phasor-cycles-counter" patch?
Thanks for your suggestions!
Saludos!
2008/1/20, Roman Haefeli reduzierer@yahoo.de:
hi raul
i am still unsure about your initial problem. probably the solution is quite simple, but maybe you need to provide some more information. would you like to use the rectangular wave to mask the phasor wave? so that your resulting wave would look like this :
/| /| /| /| /| /| /| /| /| /| / | / | / | / | / | / | / | / | / | / | / |/ |____/ |/ |____/ |/ |____/ |/ |____/ |/ |____
if your goal is to synthesize some customized waveform, it might be easier to do it using [vline~] (have a look at the help patch). [vline~] lets you practically compose any waveform, that consists only of straight ramps (it might still be possible with curves, but certainly it would be trickier).
roman
On Sun, 2008-01-20 at 14:55 +0100, raul diaz wrote:
Thanks a lot for your suggestions!
I tried to make the mathematical comparation for phasor with [==~] and [avg~] and then a counter in order to count phasor cycles. But it doesn't work, it only count one. Did I make something wrong?
Attached is the example patch.
2008/1/20, Roman Haefeli reduzierer@yahoo.de: On Sun, 2008-01-20 at 13:50 +0100, raul diaz wrote: > Hi list! > > I need to convert a phasor into a square wave in this way: > > phasor: > > / / / / / / > / | / | / | / | / | / | > / | / | / | / | / | / | > / |/ |/ |/ |/ |/ | > > square (2:1): > ________ _________ _ > | | | | | > | | | | | > | |____| |____| > hi raul
when doing ascii art, the font and formatting you are using is critical for the correct appearance. in order to display your aa correctly in other people's email-client as well, choose 'plain text' instead of 'html' format and a monospace font type while typing. to your problem: you could divide the phasor frequency by three, so that one period of the phasor matches one period of your desired rectangular wave. if i understand your drawing correctly, you want to achieve a rectangular wave whith a 66% on-phase (and 33% off-phase). have a look at millers example patch 3.audio.examples/J03.pulse.width.mod.pd to get an idea how to convert a phasoor into a rectangular wave with specified on-phase. roman ___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
-- Raul Diaz Poblete
raul.lete@gmail.com Barcelona [Spain] _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
-- Raul Diaz Poblete
raul.lete@gmail.com Barcelona [Spain]
Hallo, raul diaz hat gesagt: // raul diaz wrote:
Attached is my aproach to generate masked-phasor, as suggested. But in this way I can only obtain 1 of N phasor cycles. How could I obtain a phasor with a M:N cycles relation, like that (2:2):
Just stretch the streched phasor a second time. See attachement.
/| /| /| /| /| /| /| /| /| /| / | / | / | / | / | / | / | / | / | / | / |/ |_____/ |/ |_____/ |/ |_____/ |/ |_____/ |/ |____
I'd recommend to write ASCII art with a non-proportional font. Above gfx doesn't look right with Courier.
Frank Barknecht _ ______footils.org__
On Sun, 2008-01-20 at 16:18 +0100, raul diaz wrote:
I will try this way, but anyway i'm curious about [avg~] behaviour. What's wrong on my "phasor-cycles-counter" patch?
yo, i just had a quick look and it seems, that [avg~] currently isn't working on my system (so isn't [tavg~], both don't give any output at all). don't have the time to investigate that now.
the first problem is the comparison with [==~ 0]. the signal from [phasor~] reaches practically never exactly 0, unless the frequency of it is some integer fraction of the sampling frequency and the phase is set accordingly. this is because the moments, where the amplitude would reach 0, is most of the time somewhere in between two subsequent samples, but almost never exactly at sampling time. you can check that by writing the signal of a [phasor~ 9213] to a table and have a look at all the amplitude values. also the output of [==~ 0] will miss most of the cycles and almost always be 0.
the next problem is, that [avg~] updates only every 64 samples. with higher frequencies, [avg~] would miss some the cycles. further [avg~] outputs a float messages, which is still a float message after [change], which overwrites the internal value of [f ]. you cannot build a counter that is triggered by a float. you would need a bang here. a construct like:
[avg~] | [sel <somevalue>] | [f ] etc.
would be more likely to work.
please someone correct me, if this is totally non-sense, but my experience is, that it is usually much easier to generate/synthesize a signal than using some sample-level detection methods to compose it. often a conversion from signal to message domain means loosing accuracy because of the blocksize or at least the result is coming one block late.
roman
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
Ups...I know! My fail was to expect that phasor~ reaches a 0 value! I agree with Roman, signal to message conversion losts accurary. Would be better to use a masked phasor as synthesizer input, but how to generate a masked phasor with a M:N cycles relation? Maybe with a inverted phasor~ and samphold~?
I will try!
Saludos!
2008/1/20, Roman Haefeli reduzierer@yahoo.de:
On Sun, 2008-01-20 at 16:18 +0100, raul diaz wrote:
I will try this way, but anyway i'm curious about [avg~] behaviour. What's wrong on my "phasor-cycles-counter" patch?
yo, i just had a quick look and it seems, that [avg~] currently isn't working on my system (so isn't [tavg~], both don't give any output at all). don't have the time to investigate that now.
the first problem is the comparison with [==~ 0]. the signal from [phasor~] reaches practically never exactly 0, unless the frequency of it is some integer fraction of the sampling frequency and the phase is set accordingly. this is because the moments, where the amplitude would reach 0, is most of the time somewhere in between two subsequent samples, but almost never exactly at sampling time. you can check that by writing the signal of a [phasor~ 9213] to a table and have a look at all the amplitude values. also the output of [==~ 0] will miss most of the cycles and almost always be 0.
the next problem is, that [avg~] updates only every 64 samples. with higher frequencies, [avg~] would miss some the cycles. further [avg~] outputs a float messages, which is still a float message after [change], which overwrites the internal value of [f ]. you cannot build a counter that is triggered by a float. you would need a bang here. a construct like:
[avg~] | [sel <somevalue>] | [f ] etc.
would be more likely to work.
please someone correct me, if this is totally non-sense, but my experience is, that it is usually much easier to generate/synthesize a signal than using some sample-level detection methods to compose it. often a conversion from signal to message domain means loosing accuracy because of the blocksize or at least the result is coming one block late.
roman
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
On Sun, 20 Jan 2008 17:18:20 +0100 "raul diaz" raul.lete@gmail.com wrote:
Would be better to use a masked phasor as synthesizer input, but how to generate a masked phasor with a M:N cycles relation? Maybe with a inverted phasor~ and samphold~?
You can split the phase in the signal domain like this. See attached.
[phasor~]
[*~ 4]
/
[max~ 0] [max~ 1]
[min~ 1] [min~ 2]
| [-~ 1]
\ /
[+~]
[-~ 1]
Thanks Andy!
I have achieved my purpose with a variation of your patch! I need a patch with a specified ratio M:N, and your patch doesn't allow 1:N ratios, but with a small change I have make it available.
See attached patch!
Saludos!
2008/1/20, Andy Farnell padawan12@obiwannabe.co.uk:
On Sun, 20 Jan 2008 17:18:20 +0100 "raul diaz" raul.lete@gmail.com wrote:
Would be better to use a masked phasor as synthesizer input, but how to generate a masked phasor with a M:N cycles relation? Maybe with a inverted phasor~ and samphold~?
You can split the phase in the signal domain like this. See attached.
[phasor~] [*~ 4] /
[max~ 0] [max~ 1] [min~ 1] [min~ 2] | [-~ 1] \ / [+~] [-~ 1]-- Use the source
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Nice, I think I'll abstract that, it has some good applications for engine noises :)
best, andy
On Sun, 20 Jan 2008 18:59:42 +0100 "raul diaz" raul.lete@gmail.com wrote:
Thanks Andy!
I have achieved my purpose with a variation of your patch! I need a patch with a specified ratio M:N, and your patch doesn't allow 1:N ratios, but with a small change I have make it available.
See attached patch!
Saludos!
2008/1/20, Andy Farnell padawan12@obiwannabe.co.uk:
On Sun, 20 Jan 2008 17:18:20 +0100 "raul diaz" raul.lete@gmail.com wrote:
Would be better to use a masked phasor as synthesizer input, but how to generate a masked phasor with a M:N cycles relation? Maybe with a inverted phasor~ and samphold~?
You can split the phase in the signal domain like this. See attached.
[phasor~] [*~ 4] /
[max~ 0] [max~ 1] [min~ 1] [min~ 2] | [-~ 1] \ / [+~] [-~ 1]-- Use the source
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- Raul Diaz Poblete
raul.lete@gmail.com Barcelona [Spain]
Hallo, Andy Farnell hat gesagt: // Andy Farnell wrote:
Nice, I think I'll abstract that, it has some good applications for engine noises :)
It's actually very similar to the [vosim~] abstraction I posted a while ago, which is also based on phasors with a silent period. The phasors are then used to lookp a squared cosine, with additional damping.
Frank Barknecht _ ______footils.org__
Yes, I noticed that. I followed it with a sin function to get little bursts of cycles and they have a formant like property. With certain settings it sounds like a resonant tube.
cheers, Andy
On Sun, 20 Jan 2008 23:05:33 +0100 Frank Barknecht fbar@footils.org wrote:
Hallo, Andy Farnell hat gesagt: // Andy Farnell wrote:
Nice, I think I'll abstract that, it has some good applications for engine noises :)
It's actually very similar to the [vosim~] abstraction I posted a while ago, which is also based on phasors with a silent period. The phasors are then used to lookp a squared cosine, with additional damping.
Ciao
Frank Barknecht _ ______footils.org__
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi Frank, list!
Thanks for your suggestion about Miller's documentation, very useful! I have taken a look to your [vosim] abstraction, very nice! There is any abstraction with an implementation of fof synthesis? I would like to play with vosim and fof techniques and compare both.
Saludos!
2008/1/20, Frank Barknecht fbar@footils.org:
Hallo, Andy Farnell hat gesagt: // Andy Farnell wrote:
Nice, I think I'll abstract that, it has some good applications for engine noises :)
It's actually very similar to the [vosim~] abstraction I posted a while ago, which is also based on phasors with a silent period. The phasors are then used to lookp a squared cosine, with additional damping.
Ciao
Frank Barknecht _ ______footils.org__
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Mon, 2008-01-21 at 11:43 +0100, raul diaz wrote:
Hi Frank, list!
Thanks for your suggestion about Miller's documentation, very useful! I have taken a look to your [vosim] abstraction, very nice! There is any abstraction with an implementation of fof synthesis? I would like to play with vosim and fof techniques and compare both.
There is a PAF (phase aligned formant) synthesis example in the Pd documentation (F.12 and F.13).
PAF is related to, but not exactly the same as FOF (http://www.ircam.fr/288.html?&tx_ircam_pi2%5BshowUid% 5D=34&cHash=016189f3fb&L=1) although other than the implementation, I'm not exactly sure what the difference is. Anyone know?
Jamie
On Mon, 21 Jan 2008 22:27:35 +0000 Jamie Bullock jamie@postlude.co.uk wrote:
On Mon, 2008-01-21 at 11:43 +0100, raul diaz wrote:
Hi Frank, list!
Thanks for your suggestion about Miller's documentation, very useful! I have taken a look to your [vosim] abstraction, very nice! There is any abstraction with an implementation of fof synthesis? I would like to play with vosim and fof techniques and compare both.
There is a PAF (phase aligned formant) synthesis example in the Pd documentation (F.12 and F.13).
PAF is related to, but not exactly the same as FOF (http://www.ircam.fr/288.html?&tx_ircam_pi2%5BshowUid% 5D=34&cHash=016189f3fb&L=1) although other than the implementation, I'm not exactly sure what the difference is. Anyone know?
FOF (formante onde function) is an additive method that uses a periodic impulse and a bank of tuned resonant filters as exponential sinewave generators, while PAF (phase aligned formant) is a modulation method that shapes a sinusoidal function with a lobed window at a subfrequency synchronised to the main oscillator. In FOF the partials are given explicitly by the filter coefficients, but in PAF the sidebands are a result of modulation. FOF has more in common with the vocoder while PAF is a special case of general VOSIM (wave packet method).
Jamie
-- www.postlude.co.uk
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi Andy, all!
FOF (formante onde function) is an additive method that uses a periodic
impulse and a bank of tuned resonant filters as exponential sinewave generators,
When you says "bank of tuned resonant filters" are you talk about the spectral effects produces by the FOF envelope, am I wrong? Or maybe are you talking about a different implementation from the original one by Rodet.
I would know your suggestions about Pd implementation of FOF synthesis.
Saludos!
On Tue, 22 Jan 2008 00:46:18 +0100 "raul diaz" raul.lete@gmail.com wrote:
Hi Andy, all!
FOF (formante onde function) is an additive method that uses a periodic
impulse and a bank of tuned resonant filters as exponential sinewave generators,
When you says "bank of tuned resonant filters" are you talk about the spectral effects produces by the FOF envelope, am I wrong?
No, not the envelope, as far as I know. I see at least two implementations of FOF. The first comes from the CHANT vosim (Rodet) which uses stored table oscillators (sines) and an exponential decay envelope. It can layer many of these together to create a single grain. Vercoe and Clarke both wrote different Csound implementations, the cool thing about one was that you could put anything you like (non-sine) into the wavetable at i-time to get crazy voices, and the other computed the sines so was less flexible but needed no memory.
The other implementation I am aware of is Cooks (which I presume is in the STK) and uses parallel resonant filters. If you hit a highly resonant filter with an impulse it rings, so behaves like an exponential decay envelope on a sine wave.
Same method, similar algorithm, different implementations. It's essentially additive/parallel.
VOSIM (Kaegi) and PAF (Puckette) are two implementations of a totally different method, which is basically AM to add sidebands to a sine. The modulation comes from a raised window, usually Gaussian, narrowing the window effectively increases the modulator frequency and the position of two sidebands.
It's a while since I read anything about these and there are several implementations so I may be way off. In theory (and no doubt someones done it) you can do the same with FM and modulate the frequency of the packet.
Or maybe are you talking about a different implementation from the original one by Rodet.
I would know your suggestions about Pd implementation of FOF synthesis.
Saludos!
-- Raul Diaz Poblete
raul.lete@gmail.com Barcelona [Spain]
Actually, scrub that, PAF is more complex than AM, its also doing waveshaping using the windowing function.
Here's an impulse + filter, side by side with PAF and with VOSIM so you hear the difference.
Hear how the filter bank sounds nice but is rubbish and breaks when you move the frequency, PAF is smoother and thinner, VOSIM is richer and seems to move frequency the best.
On Tue, 22 Jan 2008 00:25:49 +0000 Andy Farnell padawan12@obiwannabe.co.uk wrote:
On Tue, 22 Jan 2008 00:46:18 +0100 "raul diaz" raul.lete@gmail.com wrote:
Hi Andy, all!
FOF (formante onde function) is an additive method that uses a periodic
impulse and a bank of tuned resonant filters as exponential sinewave generators,
When you says "bank of tuned resonant filters" are you talk about the spectral effects produces by the FOF envelope, am I wrong?
No, not the envelope, as far as I know. I see at least two implementations of FOF. The first comes from the CHANT vosim (Rodet) which uses stored table oscillators (sines) and an exponential decay envelope. It can layer many of these together to create a single grain. Vercoe and Clarke both wrote different Csound implementations, the cool thing about one was that you could put anything you like (non-sine) into the wavetable at i-time to get crazy voices, and the other computed the sines so was less flexible but needed no memory.
The other implementation I am aware of is Cooks (which I presume is in the STK) and uses parallel resonant filters. If you hit a highly resonant filter with an impulse it rings, so behaves like an exponential decay envelope on a sine wave.
Same method, similar algorithm, different implementations. It's essentially additive/parallel.
VOSIM (Kaegi) and PAF (Puckette) are two implementations of a totally different method, which is basically AM to add sidebands to a sine. The modulation comes from a raised window, usually Gaussian, narrowing the window effectively increases the modulator frequency and the position of two sidebands.
It's a while since I read anything about these and there are several implementations so I may be way off. In theory (and no doubt someones done it) you can do the same with FM and modulate the frequency of the packet.
Or maybe are you talking about a different implementation from the original one by Rodet.
I would know your suggestions about Pd implementation of FOF synthesis.
Saludos!
-- Raul Diaz Poblete
raul.lete@gmail.com Barcelona [Spain]
-- Use the source
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hallo, Andy Farnell hat gesagt: // Andy Farnell wrote:
Actually, scrub that, PAF is more complex than AM, its also doing waveshaping using the windowing function.
Here's an impulse + filter, side by side with PAF and with VOSIM so you hear the difference.
Hear how the filter bank sounds nice but is rubbish and breaks when you move the frequency, PAF is smoother and thinner, VOSIM is richer and seems to move frequency the best.
There's also the latest in that family: "phase-bashed packet synthesis" by Miller. He has two papers on it on his site, an example in the Pd docs, a little bit in his T&ToEM book and a very impressive rendering of a Speech Song by Charles Dodge in the Pd Repertoire Project.
Frank Barknecht _ ______footils.org__
Hi Frank, all!
Where can I find this rendering of Dodge's Speech Song? I'm very curious!!!
2008/1/22, Frank Barknecht fbar@footils.org:
Hallo, Andy Farnell hat gesagt: // Andy Farnell wrote:
Actually, scrub that, PAF is more complex than AM, its also doing
waveshaping
using the windowing function.
Here's an impulse + filter, side by side with PAF and with VOSIM so you hear the difference.
Hear how the filter bank sounds nice but is rubbish and breaks when you move the frequency, PAF is smoother and thinner, VOSIM is richer and seems to move frequency the best.
There's also the latest in that family: "phase-bashed packet synthesis" by Miller. He has two papers on it on his site, an example in the Pd docs, a little bit in his T&ToEM book and a very impressive rendering of a Speech Song by Charles Dodge in the Pd Repertoire Project.
Ciao
Frank Barknecht _ ______footils.org__
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hallo, raul diaz hat gesagt: // raul diaz wrote:
Where can I find this rendering of Dodge's Speech Song? I'm very curious!!!
In the "Pd Repertory Project" (sic!, sorry for the earlier spelling mistake) at: http://crca.ucsd.edu/~msp/pdrp/
Frank Barknecht _ ______footils.org__
Roman Haefeli a écrit :
On Sun, 2008-01-20 at 13:50 +0100, raul diaz wrote:
Hi list!
I need to convert a phasor into a square wave in this way:
phasor:
/ / / / / / / | / | / | / | / | / |
/ | / | / | / | / | / | / |/ |/ |/ |/ |/ |
square (2:1): ________ _________ _ | | | | | | | | | | | |____| |____|
hi raul
when doing ascii art, the font and formatting you are using is critical for the correct appearance. in order to display your aa correctly in other people's email-client as well, choose 'plain text' instead of 'html' format and a monospace font type while typing.
to your problem:
you could divide the phasor frequency by three, so that one period of the phasor matches one period of your desired rectangular wave. if i understand your drawing correctly, you want to achieve a rectangular wave whith a 66% on-phase (and 33% off-phase). have a look at millers example patch 3.audio.examples/J03.pulse.width.mod.pd to get an idea how to convert a phasoor into a rectangular wave with specified on-phase.
roman
[Or( [Use( [Tab( [Key( [] | | | | | [demux 0 1 2 3] | [print]
On 21 Jan 2008, at 3:18 AM, Patrice Colet wrote:
/ / / / / / / | / | / | / | / | / |
/ | / | / | / | / | / | / |/ |/ |/ |/ |/ |
square (2:1): ________ _________ _ | | | | | | | | | | | |____| |____|
hi raul
when doing ascii art, the font and formatting you are using is
critical for the correct appearance. in order to display your aa correctly in other people's email-client as well, choose 'plain text' instead of 'html' format and a monospace font type while typing.
roman
[Or( [Use( [Tab( [Key( [] | | | | | [demux 0 1 2 3] | [print]
but tab-stops are not always the same!
simon
Hallo, raul diaz hat gesagt: // raul diaz wrote:
I need to convert a phasor into a square wave in this way:
phasor:
/ / / / / / / | / | / | / | / | / |
/ | / | / | / | / | / | / |/ |/ |/ |/ |/ |
square (2:1): ________ _________ _ | | | | | | | | | | | |____| |____|
so, a relation HIGH:LOW holds a high or a low value (1 or 0) a indicate number of cycles.
Check out doc/3.audio.examples/J02.trapezoids.pd for a patch that can make all kinds of waveforms with jumps (discontinuities) from a phasor signal. In that patch, if the Amplitudes add up to 0 you get a waveform with only horizontal segments.
For your 2:1 square wave, just set the amplitudes of the first two wrap-phases to 100 and -100, and the phases to e.g. 33 and 66.
For the theory behind this technique read the final chapter in Miller's book, e.g. http://crca.ucsd.edu/~msp/techniques/latest/book-html/node186.html
Frank Barknecht _ ______footils.org__