Wow, thanks, I´ll check your example .
Do you think my approach is reliable too? I´d like to have some opinions about.

Regards,

Libero

------------------------------

Message: 2
Date: Wed, 11 Jul 2007 06:11:13 +0100
From: Andy Farnell <padawan12@obiwannabe.co.uk>
Subject: Re: [PD] how to make a proportional canon
To: pd-list@iem.at
Message-ID: <20070711061113.4f99d00c.padawan12@obiwannabe.co.uk>
Content-Type: text/plain; charset="iso-8859-1"




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@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-0001.obj