Hello listy,
A lot of my friends play instruments I would like to process in realtime. I understand that one popular approach is with delay objects. At first I was wondering if there was a special array that didn't give dropouts when it was rewritten in realtime. I don't think there is?
But similar things could be accomplished if there was a way to access a [delaywrite~] buffer as dynamically as you can an array. One example would be reading the buffer backwards?
I'm eventually looking to build something similar to one of those Boss Loopstations where you can overdub, reverse, etc in realtime.
Granted, I know next to nothing about how these things are actually coded inside, but I thought I would pose the question and ask for ideas.
Thank you! Kevin
Hi Kevin,
i think you are getting dropouts when using arrays since the graphical data in the array object is being updated. Use the [table] object (which is the same as an array, but without the graphical display right visible. The waveform is accessible once you double-click it).
Using arrays/tables you can also loop backwards, which is not possible using delread/write.
So you would have to write into an array cyclically (phasor~ is your friend here), and read at the same position, feeding back the audio signal from the tabread to tabwrite, thus creating a loop.
You would have to force pd to do this one after the other ("order forcing") by putting the into a subpatch each, and connect those subpatches via audio patch cords. (there is also something on this topic in the help patches in you doc folder i think).
Once you got this working, don't forget to check out the "vasp" library!
Good luck,
Peter
Kevin McCoy wrote:
Hello listy,
A lot of my friends play instruments I would like to process in realtime. I understand that one popular approach is with delay objects. At first I was wondering if there was a special array that didn't give dropouts when it was rewritten in realtime. I don't think there is?
But similar things could be accomplished if there was a way to access a [delaywrite~] buffer as dynamically as you can an array. One example would be reading the buffer backwards?
I'm eventually looking to build something similar to one of those Boss Loopstations where you can overdub, reverse, etc in realtime.
Granted, I know next to nothing about how these things are actually coded inside, but I thought I would pose the question and ask for ideas.
Thank you! Kevin
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Peter! You're the man. That opens so many possibilities for me. Thanks! Always wondered what the difference was there.
I will look into vasp.
Kevin
On 12/25/06, Peter Plessas plessas@mur.at wrote:
Hi Kevin,
i think you are getting dropouts when using arrays since the graphical data in the array object is being updated. Use the [table] object (which is the same as an array, but without the graphical display right visible. The waveform is accessible once you double-click it).
Using arrays/tables you can also loop backwards, which is not possible using delread/write.
So you would have to write into an array cyclically (phasor~ is your friend here), and read at the same position, feeding back the audio signal from the tabread to tabwrite, thus creating a loop.
You would have to force pd to do this one after the other ("order forcing") by putting the into a subpatch each, and connect those subpatches via audio patch cords. (there is also something on this topic in the help patches in you doc folder i think).
Once you got this working, don't forget to check out the "vasp" library!
Good luck,
Peter
Kevin McCoy wrote:
Hello listy,
A lot of my friends play instruments I would like to process in realtime. I understand that one popular approach is with delay objects. At first I
was
wondering if there was a special array that didn't give dropouts when it was rewritten in realtime. I don't think there is?
But similar things could be accomplished if there was a way to access a [delaywrite~] buffer as dynamically as you can an array. One example
would
be reading the buffer backwards?
I'm eventually looking to build something similar to one of those Boss Loopstations where you can overdub, reverse, etc in realtime.
Granted, I know next to nothing about how these things are actually
coded
inside, but I thought I would pose the question and ask for ideas.
Thank you! Kevin
PD-list@iem.at mailing list UNSUBSCRIBE and account-management ->
Hi Kevin,
I didn't implement reverse here, but it does cover quite a few other live-looping possibilities (granulation, pitch shift...):
http://lists.puredata.info/pipermail/pd-list/2006-02/035624.html
Let me know if it doesn't make sense... some day I'll clean it up for proper release.
best, d.
Kevin McCoy wrote:
Hello listy,
A lot of my friends play instruments I would like to process in realtime. I understand that one popular approach is with delay objects. At first I was wondering if there was a special array that didn't give dropouts when it was rewritten in realtime. I don't think there is?
But similar things could be accomplished if there was a way to access a [delaywrite~] buffer as dynamically as you can an array. One example would be reading the buffer backwards?
I'm eventually looking to build something similar to one of those Boss Loopstations where you can overdub, reverse, etc in realtime.
Granted, I know next to nothing about how these things are actually coded inside, but I thought I would pose the question and ask for ideas.
Thank you! Kevin
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
For usage notes, see:
http://lists.puredata.info/pipermail/pd-list/2006-02/035619.html
best, d.
Derek Holzer wrote:
Hi Kevin,
I didn't implement reverse here, but it does cover quite a few other live-looping possibilities (granulation, pitch shift...):
http://lists.puredata.info/pipermail/pd-list/2006-02/035624.html
Let me know if it doesn't make sense... some day I'll clean it up for proper release.
best, d.
Kevin McCoy wrote:
Hello listy,
A lot of my friends play instruments I would like to process in realtime. I understand that one popular approach is with delay objects. At first I was wondering if there was a special array that didn't give dropouts when it was rewritten in realtime. I don't think there is?
But similar things could be accomplished if there was a way to access a [delaywrite~] buffer as dynamically as you can an array. One example would be reading the buffer backwards?
I'm eventually looking to build something similar to one of those Boss Loopstations where you can overdub, reverse, etc in realtime.
Granted, I know next to nothing about how these things are actually coded inside, but I thought I would pose the question and ask for ideas.
Thank you! Kevin
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Derek,
Thanks for the patch - looks good. I'm also looking to do overdubs. The pitch shift and granulation are nice features that I think I will add into mine as well (by the way, I learned a lot from your particle chamber patch - thanks for that). I'm also thinking of setting up a bank of filenames to save/load loops. I will add a GUI and link to the patch when I get close to a working version.
Kevin
On 12/26/06, Derek Holzer derek@umatic.nl wrote:
For usage notes, see:
http://lists.puredata.info/pipermail/pd-list/2006-02/035619.html
best, d.
Derek Holzer wrote:
Hi Kevin,
I didn't implement reverse here, but it does cover quite a few other live-looping possibilities (granulation, pitch shift...):
http://lists.puredata.info/pipermail/pd-list/2006-02/035624.html
Let me know if it doesn't make sense... some day I'll clean it up for proper release.
best, d.
Kevin McCoy wrote:
Hello listy,
A lot of my friends play instruments I would like to process in realtime. I understand that one popular approach is with delay objects. At first I was wondering if there was a special array that didn't give dropouts when it was rewritten in realtime. I don't think there is?
But similar things could be accomplished if there was a way to access a [delaywrite~] buffer as dynamically as you can an array. One example would be reading the buffer backwards?
I'm eventually looking to build something similar to one of those Boss Loopstations where you can overdub, reverse, etc in realtime.
Granted, I know next to nothing about how these things are actually coded inside, but I thought I would pose the question and ask for
ideas.
Thank you! Kevin
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- derek holzer ::: http://www.umatic.nl ---Oblique Strategy # 83: "How would someone else do it?"
Hi Kevin,
I suppose you've seen this already?
http://essej.net/sooperlooper/
Please keep me up on what you develop and maybe we can merge functionality later on.
best, d.
Kevin McCoy wrote:
Derek,
Thanks for the patch - looks good. I'm also looking to do overdubs.
The pitch shift and granulation are nice features that I think I will add into mine as well (by the way, I learned a lot from your particle chamber patch - thanks for that). I'm also thinking of setting up a bank of filenames to save/load loops. I will add a GUI and link to the patch when I get close to a working version.Kevin
On 12/26/06, *Derek Holzer* <derek@umatic.nl mailto:derek@umatic.nl> wrote:
For usage notes, see: http://lists.puredata.info/pipermail/pd-list/2006-02/035619.html best, d. Derek Holzer wrote: > Hi Kevin, > > I didn't implement reverse here, but it does cover quite a few other > live-looping possibilities (granulation, pitch shift...): > > http://lists.puredata.info/pipermail/pd-list/2006-02/035624.html > > Let me know if it doesn't make sense... some day I'll clean it up for > proper release. > > best, > d. > > Kevin McCoy wrote: >> Hello listy, >> >> A lot of my friends play instruments I would like to process in >> realtime. I understand that one popular approach is with delay >> objects. At first I was wondering if there was a special array that >> didn't give dropouts when it was rewritten in realtime. I don't think >> there is? >> >> But similar things could be accomplished if there was a way to access >> a [delaywrite~] buffer as dynamically as you can an array. One >> example would be reading the buffer backwards? >> >> I'm eventually looking to build something similar to one of those Boss >> Loopstations where you can overdub, reverse, etc in realtime. >> >> Granted, I know next to nothing about how these things are actually >> coded inside, but I thought I would pose the question and ask for ideas. >> >> Thank you! >> Kevin >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> PD-list@iem.at <mailto:PD-list@iem.at> mailing list >> UNSUBSCRIBE and account-management -> >> http://lists.puredata.info/listinfo/pd-list <http://lists.puredata.info/listinfo/pd-list> > -- derek holzer ::: http://www.umatic.nl ---Oblique Strategy # 83: "How would someone else do it?"
-- "[D]aily life [is] a theatrical landscape in which 'everyone has their price,' God (via televangelism) and happiness (smile buttons) become commodities, radio stations say they love you, and detergents have compassion for your hands.