Hey There, List, I've been playing with [munger~] a bit, and after much experimentation, I've gotten some usable sounds out of it, but I'd like to try my hand at writing my own, to get a better feel for what's going on. Basically, I'm just trying to continuously write incoming audio to a buffer, and then read from the buffer in various places, at various speeds, for various durations. Basic granular synthesis, as I know it.
I'm pretty sure I need to use [delwrite~] to fill my buffer, but I'm not sure exactly how to control the reading from the buffer. I tried using a tabread~, but it seems that it can't read from the buffer that the delay is writing to. Any thoughts? Am I going about this all wrong?
-spencer
If you're using a delwrite~, try vdelay~, which uses an audio signal to access the readpoint.
~Kyle
On 4/27/05, Spencer Russell Spencer.Russell@oberlin.edu wrote:
Hey There, List, I've been playing with [munger~] a bit, and after much experimentation, I've gotten some usable sounds out of it, but I'd like to try my hand at writing my own, to get a better feel for what's going on. Basically, I'm just trying to continuously write incoming audio to a buffer, and then read from the buffer in various places, at various speeds, for various durations. Basic granular synthesis, as I know it.
I'm pretty sure I need to use [delwrite~] to fill my buffer, but I'm not sure exactly how to control the reading from the buffer. I tried using a tabread~, but it seems that it can't read from the buffer that the delay is writing to. Any thoughts? Am I going about this all wrong?
-spencer
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi Spencer,
Any chance you could publish your findings on munger~ somewhere? I've never been able to get more than the odd crackle and a lot of CPU load out of it.
Also, there is an excellent article on implementing granular synthesis from Ross Bencina's website at:
http://www.audiomulch.com/~rossb/
I've been meaning to implement the ideas myself, but no time.
Jamie
On Wed, 2005-04-27 at 12:34 -0400, Spencer Russell wrote:
Hey There, List, I've been playing with [munger~] a bit, and after much experimentation, I've gotten some usable sounds out of it, but I'd like to try my hand at writing my own, to get a better feel for what's going on. Basically, I'm just trying to continuously write incoming audio to a buffer, and then read from the buffer in various places, at various speeds, for various durations. Basic granular synthesis, as I know it.
I'm pretty sure I need to use [delwrite~] to fill my buffer, but I'm not sure exactly how to control the reading from the buffer. I tried using a tabread~, but it seems that it can't read from the buffer that the delay is writing to. Any thoughts? Am I going about this all wrong?
-spencer
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Wed, Apr 27, 2005 at 06:14:20PM +0100, Jamie Bullock wrote:
Hi Spencer,
Any chance you could publish your findings on munger~ somewhere? I've never been able to get more than the odd crackle and a lot of CPU load out of it.
One thing that got me out of 99% CPU hell was changing the position to 0, by sending [position 0( to the left inlet. Also, some of the parameters seem to need to be in strange ranges(strange because I'm unclear what exactly the units are). Here are the ranges I've got the sliders set to, after some initial experimentation:
inlet 2 (grain separation): 4e-05 - 0.001 inlet 3 (grain rate variation): 0 - 20 inlet 4 (grain size): 0 - 0.003 inlet 5 (grain pitch): 0.1 - 10 (log scale) inlet 6 (grain pitch variation): 0 - 0.0005 inlet 7 (stereo spread): 0 - 0.0004
grain separation and grain size are maybe in seconds? grain pitch is I think just a multiplier on the original speed, but it does strange things to the delay time if you make it 1. Haven't really figured that one out yet.
the output that munger sends to the console is a bit wack, and doesn't seem to reflect what's actually happening. For instance, when you send a [power 1( message to the left inlet, munger returns "setting power: 0"
Also, there is an excellent article on implementing granular synthesis from Ross Bencina's website at:
thanks for the link, it looks like just what I need.
-spencer