[PD] how to make a proportional canon

Andy Farnell padawan12 at obiwannabe.co.uk
Wed Jul 11 07:11:13 CEST 2007

Have you tried using lists? A list of values interpreted as pairs of a
something and a time interval ( where the something is a note value or pointer)
make an easy way if you want to stretch or shrink the sequence in time, just
scale all the time delays.

A list sequencer takes a list in one go. It splits the first value off as a note
and plays it to the output, then chomps the next element from the list and treats
it as a delay to wait. After that delay time, it gives the rest of list (minus 
the last two elements) back to itself and does it all again....

So this list plays note 44, waits 125ms then plays note 50....

[44 125 50 125 44 250 52(

until it runs out of elements.

In attached example you can scale the speed using horizontal radio bar, it
just multiplies all the time values by {0.25, 0.5, 1, 2, 4...} 

On Tue, 10 Jul 2007 14:23:29 +0300
"Libero Mureddu" <libero.mureddu at gmail.com> wrote:

> Hello,
> I´m trying to implement a patch to play proportional canons in real time
> from a midi source.
> A proportional canon works in this way: if I play, let´s say, three notes at
> 200ms of speed, and if I decide that the proportion should be 2 times
> slower, the patch should playback the same three notes at 400ms speed.
> I thought I could record the distance between notes with timer, and then
> send the time difference (multiplied by a certain factor), to pipe, but it
> seems that pipe cannot handle the change of delay time, if more than one
> change in delay has to be stored before playing back the previous.
> Do you have any suggestion?
> In other words, what I would like to do is to record and at the same time
> (or later) playing back at
> a slower speed.
> Thanks a lot
> Libero
> -- 
> Libero Mureddu
> Vanha Viertotie, 21 as 417
> 00350 Helsinki
> Finland
> http://webusers.siba.fi/~limuredd/
> http://www.myspace.com/liberomureddu

Use the source
-------------- next part --------------
A non-text attachment was scrubbed...
Name: music-listseq-varispeed.pd
Type: application/octet-stream
Size: 12193 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20070711/a04adbca/attachment.obj>

More information about the Pd-list mailing list