That's really a much more efficient way of generating rythmic patterns... thanx ! I'll try both RRadical and Error and let you know my impression. But definitively, randomized arrays and probabilities seem so... simple ! thanx guys
Message du 19/11/04 à 13h18 De : "chun lee" A : "Pd_list" , tboulanger@voila.fr Copie à : Objet : Re: [PD] A growing idea
Wouh, and another posting. Hmmm, I've planned to do a kind of patch which would help me creating some rythmic patterns. The core : a sample in a buffer (for instance a drum). The parameters : tempo and a "groove template" say Random1 If I press a key on my keyboard, the event is first transmitted to a select object which outputs a bang related to the Random1 "groove template". This triggers a subpatch (a random sequence that duplicates the bang at different times) so that the sample is played at different times. In the mean time, some functions will change continually the behaviour of an FX rack (for instance lp filters etc etc) to transform what is sent out by my sampler. Using it I could have some interesting rythmic patterns. Has anyone already tried to make this kind of thing work ? What issues may I face to ? And last thing : do you personally have some other ideas to make astounding rythmic patterns ? No no, that's not benchmarking, just trying to know what other (fully functional) brains have already think of. it coulp open other perspectives... Cheers ! Touti
I think, what you describe is the step sequencer, which has been implemented in various forms of hard- and software. In Pd, the good thing is, that "everything is a float", so if you write one stepsequencer originally intended to sequence notes, you can sequence filter settings as well as you can sequence other sequencers or random note ranges etc.
I created several rather generic step sequencers as part of my RRADical abstraction collection, which grew out of my sseq-collection.
Some issues I faced: You will want to save state like rhythmic patterns etc. Everone uses table objects for this first (there is a nice example in Miller's docs), and this it's a good exercise to do this as well as to use textfile and qlist. However IMO both are not flexible enough. "pool" is a popular external as alternative, as are coll and msgfile, but PDContainers rul3z m0st for (step) sequencing. I need to find a bridge between both.
Second: You might find yourself in the need to do a lot of connections between [select], [f], [route], [tgl] and similar objects. If you do, learn Pd's internal message syntax.
Ciao
Frank Barknecht
Hi there:
I have been experimenting with making rhythmic patterns in Pd for a little while now. however, my approach is a little different.
Instead of building something along the lines of a step sequencer, I tend to use very simple probabilities to generate the rhythmic pattern. For example, I will have a array of n elements contains random values between say 1 to 100. I than step through this array at say 16 elements at the time and loop it. After this, I can than do a simple probability by setting a comparison variable which effectively says: play a drum sound if the array value is larger than than the threshold. Making sense?
I found this method quite effective. Once the right set of probability value is found for the probability comparison, I don't need to worry about making rhythmic patterns anymore, so I can focus on something else in the performance. And since elements are write into an array, it can be saved with the patch. And by regenerating the array, you can mutate the rhythmic patterns. Also, by changing the values for comparisons, you can adjust how busy or spaced your rhythmic patterns are very quickly.
If you are interested, feel free to take a look at my "error" patch at:
http://www.sonicvariable.com/software.html
Also, RRADical is very useful too. I have been making a RRADicaled automated drum machine using the drum sounds I put up a while ago. I can send you this patch to look at too. I think its better than error. I think I will release it here soon.
Cheers
CHUN
Faites un voeu et puis Voila ! www.voila.fr
Ho probs, glad to be of help.
Anyway, forgot to mention that the randomized array method I not implemented in an obvious way in my "error" patch and it has two drum sets. As a result, it might be a bit confusing to look at. However, the new automated RRADical drum machine patch I mentioned is much more clearer, but it might take me a few days to clear it up and make sure its ok for release.
Anyway, my suggestion is that do play around with "error" but don't use that as an example/template of any sort. It will be much easier and clearer if you implement the randomized array method yourself. Otherwise wait for a few days and I will be back with the RRADical drum machine patch;)
Peace
CHUN
That's really a much more efficient way of generating rythmic patterns... thanx !
I'll try both RRadical and Error and let you know my impression.
But definitively, randomized arrays and probabilities seem so... simple !
thanx guys
Message du 19/11/04 à 13h18 De : "chun lee" A : "Pd_list" , tboulanger@voila.fr Copie à : Objet : Re: [PD] A growing idea
Wouh, and another posting. Hmmm, I've planned to do a kind of patch which would help me creating some rythmic patterns. The core : a sample in a buffer (for instance a drum). The parameters : tempo and a "groove template" say Random1 If I press a key on my keyboard, the event is first transmitted to a select object which outputs a bang related to the Random1 "groove template". This triggers a subpatch (a random sequence that duplicates the bang at different times) so that the sample is played at different times. In the mean time, some functions will change continually the behaviour of an FX rack (for instance lp filters etc etc) to transform what is sent out by my sampler. Using it I could have some interesting rythmic patterns. Has anyone already tried to make this kind of thing work ? What issues may I face to ? And last thing : do you personally have some other ideas to make astounding rythmic patterns ? No no, that's not benchmarking, just trying to know what other (fully functional) brains have already think of. it coulp open other perspectives... Cheers ! Touti
I think, what you describe is the step sequencer, which has been implemented in various forms of hard- and software. In Pd, the good thing is, that "everything is a float", so if you write one stepsequencer originally intended to sequence notes, you can sequence filter settings as well as you can sequence other sequencers or random note ranges etc.
I created several rather generic step sequencers as part of my RRADical abstraction collection, which grew out of my sseq-collection.
Some issues I faced: You will want to save state like rhythmic patterns etc. Everone uses table objects for this first (there is a nice example in Miller's docs), and this it's a good exercise to do this as well as to use textfile and qlist. However IMO both are not flexible enough. "pool" is a popular external as alternative, as are coll and msgfile, but PDContainers rul3z m0st for (step) sequencing. I need to find a bridge between both.
Second: You might find yourself in the need to do a lot of connections between [select], [f], [route], [tgl] and similar objects. If you do, learn Pd's internal message syntax.
Ciao
Frank Barknecht
Hi there:
I have been experimenting with making rhythmic patterns in Pd for a little while now. however, my approach is a little different.
Instead of building something along the lines of a step sequencer, I tend to use very simple probabilities to generate the rhythmic pattern. For example, I will have a array of n elements contains random values between say 1 to 100. I than step through this array at say 16 elements at the time and loop it. After this, I can than do a simple probability by setting a comparison variable which effectively says: play a drum sound if the array value is larger than than the threshold. Making sense?
I found this method quite effective. Once the right set of probability value is found for the probability comparison, I don't need to worry about making rhythmic patterns anymore, so I can focus on something else in the performance. And since elements are write into an array, it can be saved with the patch. And by regenerating the array, you can mutate the rhythmic patterns. Also, by changing the values for comparisons, you can adjust how busy or spaced your rhythmic patterns are very quickly.
If you are interested, feel free to take a look at my "error" patch at:
http://www.sonicvariable.com/software.html
Also, RRADical is very useful too. I have been making a RRADicaled automated drum machine using the drum sounds I put up a while ago. I can send you this patch to look at too. I think its better than error. I think I will release it here soon.
Cheers
CHUN
Faites un voeu et puis Voila ! www.voila.fr
Hallo, chun lee hat gesagt: // chun lee wrote:
Ho probs, glad to be of help.
Anyway, forgot to mention that the randomized array method I not implemented in an obvious way in my "error" patch and it has two drum sets. As a result, it might be a bit confusing to look at. However, the new automated RRADical drum machine patch I mentioned is much more clearer, but it might take me a few days to clear it up and make sure its ok for release.
Anyway, my suggestion is that do play around with "error" but don't use that as an example/template of any sort. It will be much easier and clearer if you implement the randomized array method yourself. Otherwise wait for a few days and I will be back with the RRADical drum machine patch;)
I'm curious, too! ;)
If you want, you can also add it to the CVS in rradical/usecases/ or some subdirectory of that.
Frank Barknecht _ ______footils.org__