Greetings list,
I've been using pd for about a year now and I am still very nubian as
all my dsp skills are self taught therefore very sloppy. I have built
this granular synth abstraction that on some settings causes unwanted
clicks. Does anybody have any suggestions on how to get rid on them?
I am using PD-0.39-2 on tiger with no externals.
here is the patch
alex
Hi Alexandre
Nice patch! I've just been working on something very similar, but yours is much classier.
Sorry this is coming so late... I've only just got to this, but I think I know what's going on...
It looks like a mismatch between envelope and sample reading. The clicks seem to happen because the amplitude envelope and the tabread4~ aren't synchronized. What happens is the tabread object gets its new starting position while the envelope is still in mid-grain. The solution is to make sure each voice is inactive before starting a new grain.
David Golightly made a great granular delay line patch (I think based on a paper by Ross Bencina) maybe a year and a bit ago which used a scheduler to send info to each voice. As I remember, the scheduler kept track of which voices were playing and sent the messages to the next available note. Another way is to let the voice pass the message to the next voice if it's already busy.
I hope this makes some sense.
cheers dafydd
Hallo, dafydd hughes hat gesagt: // dafydd hughes wrote:
It looks like a mismatch between envelope and sample reading. The clicks seem to happen because the amplitude envelope and the tabread4~ aren't synchronized. What happens is the tabread object gets its new starting position while the envelope is still in mid-grain. The solution is to make sure each voice is inactive before starting a new grain.
David Golightly made a great granular delay line patch (I think based on a paper by Ross Bencina) maybe a year and a bit ago which used a scheduler to send info to each voice. As I remember, the scheduler kept track of which voices were playing and sent the messages to the next available note. Another way is to let the voice pass the message to the next voice if it's already busy.
I changed the patch to do just that and introduced an abstraction for the voices, because I'm lazy. The blocking is in [pd block] in pd_voice.pd. However while this gets rid of the clicks, it brings another problem with the patch to daylight, which you will immediatly hear, if you try it: it doesn't sound like a cloud of grains, but very regular. I didn't understand what the [expr $f1; $f1/1; $f1/2 ...] is supposed to do. In the original patch, the numbers get send to a [del] object where they get translated to a simple bang.
I once did another granular patch that uses a [phasor~] instead of a [metro] to drive the grains. Basically the phasor~ output is used to drive a cosine envelope similar to the packets example in Miller's docs. It also is used to read out the table with [tabread4~] or a delay line with [vd~]. [samphold~]'s are used to get click-free operation. I attached this patch as well (phasorgrain~). It normally uses Memento to allow comfortable remote control of the settings, but I ripped this part out to not confuse those without Memento.
Frank Barknecht _ ______footils.org_ __goto10.org__
hello dafydd, Frank, and list,
Thanks for the feedback. I will start making improvements on the
patch as soon as i get over this cold.
On 23-May-06, at 1:09 PM, Frank Barknecht wrote:
Hallo, dafydd hughes hat gesagt: // dafydd hughes wrote:
It looks like a mismatch between envelope and sample reading. The clicks seem to happen because the amplitude envelope and the
tabread4~ aren't synchronized. What happens is the tabread object gets its new starting position while the envelope is still in mid-grain. The solution is to make sure each voice is inactive before starting a new grain.David Golightly made a great granular delay line patch (I think based on a paper by Ross Bencina) maybe a year and a bit ago which used a scheduler to send info to each voice. As I remember, the scheduler kept track of which voices were playing and sent the messages to the next available note. Another way is to let the voice pass the
message to the next voice if it's already busy.I changed the patch to do just that and introduced an abstraction for the voices, because I'm lazy. The blocking is in [pd block] in pd_voice.pd. However while this gets rid of the clicks, it brings another problem with the patch to daylight, which you will immediatly hear, if you try it: it doesn't sound like a cloud of grains, but very regular. I didn't understand what the [expr $f1; $f1/1; $f1/2 ...] is supposed to do. In the original patch, the numbers get send to a [del] object where they get translated to a simple bang.
I once did another granular patch that uses a [phasor~] instead of a [metro] to drive the grains. Basically the phasor~ output is used to drive a cosine envelope similar to the packets example in Miller's docs. It also is used to read out the table with [tabread4~] or a delay line with [vd~]. [samphold~]'s are used to get click-free operation. I attached this patch as well (phasorgrain~). It normally uses Memento to allow comfortable remote control of the settings, but I ripped this part out to not confuse those without Memento.
Ciao
Frank Barknecht _ ______footils.org_ __goto10.org__ <help-sk-lens.pd> <sk-lens.pd> <pd_voice.pd> <phasorgrain~.pd> <phasorgrain~-help.pd> _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
hello everybody,
Thanks again for all the advice and help, I've been busy but still
managed to do a few updates to my patch. There are two versions, one
that uses gem (for gemmouse) and freeverb, and the other uses no
externals and has a data structure gui.
I was wondering if there was an object similar to gemmouse that I can
use for my data structure gui version. I want to turn the metro on
and off when I click and move around the red square on the 2d
control. Is this possible?
I am a PEBKAC
alex
On 24-May-06, at 8:16 PM, Alexandre Matheson wrote:
hello dafydd, Frank, and list,
Thanks for the feedback. I will start making improvements on the
patch as soon as i get over this cold.On 23-May-06, at 1:09 PM, Frank Barknecht wrote:
Hallo, dafydd hughes hat gesagt: // dafydd hughes wrote:
It looks like a mismatch between envelope and sample reading. The clicks seem to happen because the amplitude envelope and the
tabread4~ aren't synchronized. What happens is the tabread object gets its
new starting position while the envelope is still in mid-grain. The solution is to make sure each voice is inactive before starting a
new grain.David Golightly made a great granular delay line patch (I think
based on a paper by Ross Bencina) maybe a year and a bit ago which used a scheduler to send info to each voice. As I remember, the scheduler kept track of which voices were playing and sent the messages to the next available note. Another way is to let the voice pass the
message to the next voice if it's already busy.I changed the patch to do just that and introduced an abstraction for the voices, because I'm lazy. The blocking is in [pd block] in pd_voice.pd. However while this gets rid of the clicks, it brings another problem with the patch to daylight, which you will immediatly hear, if you try it: it doesn't sound like a cloud of grains, but
very regular. I didn't understand what the [expr $f1; $f1/1; $f1/2 ...] is supposed to do. In the original patch, the numbers get send to a
[del] object where they get translated to a simple bang.I once did another granular patch that uses a [phasor~] instead of a [metro] to drive the grains. Basically the phasor~ output is used to drive a cosine envelope similar to the packets example in Miller's docs. It also is used to read out the table with [tabread4~] or a delay line with [vd~]. [samphold~]'s are used to get click-free operation. I attached this patch as well (phasorgrain~). It normally uses Memento to allow comfortable remote control of the settings, but I ripped this part out to not confuse those without Memento.
Ciao
Frank Barknecht _ ______footils.org_ __goto10.org__ <help-sk-lens.pd> <sk-lens.pd> <pd_voice.pd> <phasorgrain~.pd> <phasorgrain~-help.pd> _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
On Fri, Jun 02, 2006 at 12:05:43AM -0400, Alexandre Matheson wrote:
use for my data structure gui version. I want to turn the metro on
and off when I click and move around the red square on the 2d
control. Is this possible?
It's only possible if you're in edit mode to have feedback from when datastructures are moved around. There is no way without externals to detect just clicking on a datastructure element. This seems to be an often repeated feature request though, so hopefully someone will put it in the sourceforge feature tracker and it will get patched into Miller's Pd.
Best,
Chris.
chris@mccormick.cx http://mccormick.cx
You can get raw mouse data using [hid]. You can get screen
coordinates using cyclone's [MouseState].
.hc
On Jun 2, 2006, at 12:05 AM, Alexandre Matheson wrote:
hello everybody,
Thanks again for all the advice and help, I've been busy but still
managed to do a few updates to my patch. There are two versions,
one that uses gem (for gemmouse) and freeverb, and the other uses
no externals and has a data structure gui.I was wondering if there was an object similar to gemmouse that I
can use for my data structure gui version. I want to turn the metro
on and off when I click and move around the red square on the 2d
control. Is this possible?I am a PEBKAC
alex <gem-lens.zip> <lens.zip>
On 24-May-06, at 8:16 PM, Alexandre Matheson wrote:
hello dafydd, Frank, and list,
Thanks for the feedback. I will start making improvements on the
patch as soon as i get over this cold.On 23-May-06, at 1:09 PM, Frank Barknecht wrote:
Hallo, dafydd hughes hat gesagt: // dafydd hughes wrote:
It looks like a mismatch between envelope and sample reading. The clicks seem to happen because the amplitude envelope and the
tabread4~ aren't synchronized. What happens is the tabread object gets
its new starting position while the envelope is still in mid-grain. The solution is to make sure each voice is inactive before starting
a new grain.David Golightly made a great granular delay line patch (I think
based on a paper by Ross Bencina) maybe a year and a bit ago which used a scheduler to send info to each voice. As I remember, the scheduler kept track of which voices were playing and sent the messages to
the next available note. Another way is to let the voice pass the
message to the next voice if it's already busy.I changed the patch to do just that and introduced an abstraction
for the voices, because I'm lazy. The blocking is in [pd block] in pd_voice.pd. However while this gets rid of the clicks, it brings another problem with the patch to daylight, which you will
immediatly hear, if you try it: it doesn't sound like a cloud of grains, but
very regular. I didn't understand what the [expr $f1; $f1/1;
$f1/2 ...] is supposed to do. In the original patch, the numbers get send to a
[del] object where they get translated to a simple bang.I once did another granular patch that uses a [phasor~] instead of a [metro] to drive the grains. Basically the phasor~ output is used to drive a cosine envelope similar to the packets example in Miller's docs. It also is used to read out the table with [tabread4~] or a delay line with [vd~]. [samphold~]'s are used to get click-free operation. I attached this patch as well (phasorgrain~). It normally uses Memento to allow comfortable remote control of the settings,
but I ripped this part out to not confuse those without Memento.Ciao
Frank Barknecht _ ______footils.org_ __goto10.org__ <help-sk-lens.pd> <sk-lens.pd> <pd_voice.pd> <phasorgrain~.pd> <phasorgrain~-help.pd> _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
"The arc of history bends towards justice."
- Dr. Martin Luther King,
Jr.
Very nice, thanks Hans.
a
On 10-Jun-06, at 3:10 PM, Hans-Christoph Steiner wrote:
You can get raw mouse data using [hid]. You can get screen
coordinates using cyclone's [MouseState]..hc
On Jun 2, 2006, at 12:05 AM, Alexandre Matheson wrote:
hello everybody,
Thanks again for all the advice and help, I've been busy but still
managed to do a few updates to my patch. There are two versions,
one that uses gem (for gemmouse) and freeverb, and the other uses
no externals and has a data structure gui.I was wondering if there was an object similar to gemmouse that I
can use for my data structure gui version. I want to turn the
metro on and off when I click and move around the red square on
the 2d control. Is this possible?I am a PEBKAC
alex <gem-lens.zip> <lens.zip>
On 24-May-06, at 8:16 PM, Alexandre Matheson wrote:
hello dafydd, Frank, and list,
Thanks for the feedback. I will start making improvements on the
patch as soon as i get over this cold.On 23-May-06, at 1:09 PM, Frank Barknecht wrote:
Hallo, dafydd hughes hat gesagt: // dafydd hughes wrote:
It looks like a mismatch between envelope and sample reading. The clicks seem to happen because the amplitude envelope and the
tabread4~ aren't synchronized. What happens is the tabread object gets
its new starting position while the envelope is still in mid-grain. The solution is to make sure each voice is inactive before starting
a new grain.David Golightly made a great granular delay line patch (I think
based on a paper by Ross Bencina) maybe a year and a bit ago which
used a scheduler to send info to each voice. As I remember, the
scheduler kept track of which voices were playing and sent the messages
to the next available note. Another way is to let the voice pass the
message to the next voice if it's already busy.I changed the patch to do just that and introduced an
abstraction for the voices, because I'm lazy. The blocking is in [pd block] in pd_voice.pd. However while this gets rid of the clicks, it brings another problem with the patch to daylight, which you will
immediatly hear, if you try it: it doesn't sound like a cloud of grains,
but very regular. I didn't understand what the [expr $f1; $f1/1;
$f1/2 ...] is supposed to do. In the original patch, the numbers get send to a
[del] object where they get translated to a simple bang.I once did another granular patch that uses a [phasor~] instead
of a [metro] to drive the grains. Basically the phasor~ output is
used to drive a cosine envelope similar to the packets example in Miller's docs. It also is used to read out the table with [tabread4~] or a delay line with [vd~]. [samphold~]'s are used to get click-free operation. I attached this patch as well (phasorgrain~). It
normally uses Memento to allow comfortable remote control of the
settings, but I ripped this part out to not confuse those without Memento.Ciao
Frank Barknecht _ ______footils.org_
__goto10.org__ <help-sk-lens.pd> <sk-lens.pd> <pd_voice.pd> <phasorgrain~.pd> <phasorgrain~-help.pd> _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
"The arc of history bends towards justice." - Dr. Martin Luther
King, Jr.
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list