I made a little abstraction based on the first freeze patch ralph posted which I love for its simplicity.
What I realy needed was something that produces warm textures, so I naïvely implemented Paul nasca's idea of randomizing the phase. I didn't think it would work but it does (with large block) and it sounds realy good!
I have a question but first I have to explain what I tried to do:
To continue with this very naïve version of the PADsynth, I wanted to record a sample out of the output that would be naturally looped, but I didn't manage to do so, this is from Paul Nasca's description of his algorithm:
"This algorithm generates some large wavetables that can played at diferent speeds to get the desired sound. This algorithm describes only how these wavetables are generated. The result is a perfectly looped wavetable".
What I did was to put a [once] under a [bang~] and write the sample in a table the length of the block~. From my limited understanding of fourier transform I thougth that a hole window would produce a periodic signal.
What should I do to produce a looping soundfile? Is there a problem with the overlapping perhaps?
resize does create a "crackle" in my experience too.
One work around in your case perhaps would be to use delwrite~ and delread~ in aloop, something like this: liveloop~.pd
When you call this abstraction you need to specify the buffer size in ms which will be your maximum loop length.
I'm not exactly sure what you want to do but I hope this helps somehow
[wendy] maps incoming notes onto scales constructed around equaly divided ratios that can be other than 2:1 (the octave), allowing for example pure fiths, at the cost of an imperfect octave, a cost which I'll gladly pay. As Wendy Carlos said: "That's one of the things you aren't suppose to do, which is exactly why I did it!"
It can be used to have any edo scales if desired
see help file for more info
vdisk~ uses [readsf~] in conjunction with [block~] and [tabwrite~] to read a file from disk at any pitch/speed.
Usefull for situations where you need to load very quickly any soundfile from any folder and want to read them at any pitch.
I made this because I needed it and some externals such as [sfread2~] from moonlib tended to crash pd on my system, so I decided it wasn't reliable.
@Jona , Here are some examples:
1: I just write series of zeroes and ones and then do a [select 1] to trigger samples and stuff
2: I write gain values
3: I write notes or frequencies, such as 60 61 65 ...
4: I use the second outlet to have duration value (simply a time until next beat) and read a sample for that period of time
But then you can use it in any way you like
The tuplex abstraction is a sequencer that works on the principle of tuplets in music theory, that is to say division of a time unit.;
It works around a [delay] object that is periodicaly syncronized to a master metro, so as to never go noticeably off-beat even with low precision.
It allows to write rythms as it follows: 16(1 0.8 1);
This is relative to the metro time setting and means that a period of 16 metro time units is divided into 3 beats.
You can also write 16(1 0.8 (1 1)), which means that the third beat itself is divided by 2
You can have a succession of such expressions as it follows: 16(1 0.8 (1 1))-7(0 0 1 0)-3(1 1)
Now it works fine for what it does but I find it inelegant:
You can only have on set of parenthesis inside another, what would be really cool is something in which you could have an infinite number of sub-parenthesis such as in the [expr] object like this: 64(1 0 (12 13 0 (0 1 (0 2) 4)) 1), but I have no programming knowledge to do this. I've spent a lot of time thinking about this but couldn't find a solution. If any-one has some ideas as to how to do this, please shoot!