i wan't to build a kind of stutter fx. that's why i'm searching for a kind of [tabwrite~] object, that works with an index input like the [tabread~].
does anyone know such an object?
-
Tabwrite~ with index?
-
tabread4~
It takes a signal as an input which it uses to index the table. It uses 4 point interpolation to resample the signal.
-
Sorry, I read your question too quickly and misunderstood you
You can use tabwrite~
Instead of using a bang to start recording use the message:
start indexposition
to start recording at that index position and then use the message:
stop
to stop -
uhh? 5 comments... :D
now, what i want, is writing the input signal to an array and read out the same array with a delay of one sample (maybe [z~]?) - both at sample-rate! how can i do this with a message, since i don't know how to bang the message at sample rate?
maybe i misunderstood something... -
ah!
You can try delread~ and delwrite~. They're for line delays which seem to be what you're looking for. Though I'm not sure if they let you read the delay in a samplelength. Perhaps, but I'm not sure.
-
no, that's not what i'm looking for...
i wanna write, for example, one second of sound to an array and repeat the first few ms from the arraycontent (depending on the given size of sound to "stutter") in the meanwhile with an inaudible delay of one sample unit.
with a delay this won't be possible, because you have to follow the signal in samplerate - this is not a big problem, but after the delay-size you set in [delwrite ~], the sound will stop.
in reaktor, that's no problem, because you have indexed buffer read and write core-elements, that may share the same buffer.
mhhhh... but maybe i can do it another way, with a delay-feedback of amount one, and dynamic resizing of the delay line... i have to think about that, there's always a solution! *gg*
thanks for your help! -
Perhaps you want to use tabread4~. Then it's a matter of creating a controle signal that stutters the beginning of the table. phasor~ should do the trick.
-
well, reading out the table is not the problem, but if you write to the table with [tabwrite~] you'll have to wait some ms, until the sound is written to the table. in this time, you cannot read out the table. with an index oriented tabwrite you could feed [tabwrite~] with an index, given by a phasor, and with the [tabread4~] you could directly (with only one sample delay) read out the table, indexed by the same source (phasor).
-
[tabwrite~] does conform to block boundaries, which might be the samplerate issues you're having. You could overcome this with [block~ 1].
-
here's an extensive tutorial on sampling in pd. might be something useful for you there:
http://pd-tutorial.com/english/ch03s04.html
at a glance, 3.4.2.5 Loop generator (2) looks like it might help. you would probably need to put [*~ ] at the start of the signal chain so you can switch off the incoming audio when the stutter effect is turned on.