[PD] crossfade of complete sample buffer

Krzysztof Czaja czaja at chopin.edu.pl
Mon Dec 2 11:09:06 CET 2002


I think Orm's question was not how to do the math, but how to
patch things up for inplace transformation (for whatever
reason...) --

assuming sounds A and B are already stored in source arrays, and
there is a separate destination array, one could just mix two
[until]->[counter]->[tabread <source>] outputs into
a [counter]->[tabwrite <destination>]

(driven with '0, 1 <dur>'->[line]->{do the math}->:)

or (if you happen to have vex installed) send
'gen concat <A>, multiply $1, add <B>, multiply $2'
to [vex_form <destination>]

(in vex case math differs slightly)


marius schebella wrote:
 > (bufferA * n) + (bufferB * (1-n))
 > From: "Orm Finnendahl" <finnendahl at folkwang-hochschule.de>
 >>I need to gradually transform the contents of a sample buffer from one
 >>sound to another, by crossfading all of the samples from sound A
 >>to sound B in a given time (say 2000 msecs). What I look for is an in
 >>place change of the sample values in the array. The lengths of the two

More information about the Pd-list mailing list