What comes to my mind is to write the three signals on three new arrays which are three times the size of the original ones. These arrays would have each sample from the original signal zero-padded by two samples. That can be done by reading the original signals with tabread~ at a rate which is 1/3 of the initial one (hence repeating each sample three times) and multiply that by a function which is 1 every three samples (the first sample should be 1). That, for example, could be a phasor~ with a period of three samples followed by a [<~ 1/3] (it can be implemented with a max~, -~, and /~). (44.1kHz SR seems to be too tight; use 48kHz.) Of course, you'll need to sync all the phasors and writers involved with a bang. The resulting signal could then be obtained by summing the three arrays, delaying the second by 1 sample, and the third one by 2 samples.
I hope it works.
D
http://dariosanfilippo.tumblr.com
On Mon, 25 Mar 2019 at 19:00, RT ratulloch@gmail.com wrote:
I have a Pd patch with 3 separate signals and I want to sequentially weave the signals together so instead of having three separate signals I create 1 large signal that is created by weaving 3 signals together.
Example: (note: the commas are just used as separators and I used letters, numbers, and symbols to help differentiate the signals) *signal_1 array* is *A,B,C,D,E* *signal_2 array * is *1,2,3,4,5* *signal_3 array * is *@,#,%,&,(*
The completed weaved signal to playback would look like this *A,1,@,B,2,#,C,3,%,D,4,&,E,5,(* I've attached an image along with the Pd file that I hope helps explains this.
I've placed each signal into their own separate array in Pd but I'm not sure how to sequentially "weave" the signals together. Any ideas? Thanks
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list