Wow, thanks, I´ll check your example .<br>Do you think my approach is reliable too? I´d like to have some opinions about.<br><br>Regards,<br><br>Libero<br><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>------------------------------<br><br>Message: 2<br>Date: Wed, 11 Jul 2007 06:11:13 +0100<br>From: Andy Farnell &lt;<a href="mailto:padawan12@obiwannabe.co.uk">padawan12@obiwannabe.co.uk</a>&gt;<br>Subject: Re: [PD] how to make a proportional canon
<br>To: <a href="mailto:pd-list@iem.at">pd-list@iem.at</a><br>Message-ID: &lt;<a href="mailto:20070711061113.4f99d00c.padawan12@obiwannabe.co.uk">20070711061113.4f99d00c.padawan12@obiwannabe.co.uk</a>&gt;<br>Content-Type: text/plain; charset=&quot;iso-8859-1&quot;
<br><br><br><br><br>Have you tried using lists? A list of values interpreted as pairs of a<br>something and a time interval ( where the something is a note value or pointer)<br>make an easy way if you want to stretch or shrink the sequence in time, just
<br>scale all the time delays.<br><br>A list sequencer takes a list in one go. It splits the first value off as a note<br>and plays it to the output, then chomps the next element from the list and treats<br>it as a delay to wait. After that delay time, it gives the rest of list (minus
<br>the last two elements) back to itself and does it all again....<br><br>So this list plays note 44, waits 125ms then plays note 50....<br><br>[44 125 50 125 44 250 52(<br><br>until it runs out of elements.<br><br>In attached example you can scale the speed using horizontal radio bar, it
<br>just multiplies all the time values by {0.25, 0.5, 1, 2, 4...}<br><br>On Tue, 10 Jul 2007 14:23:29 +0300<br>&quot;Libero Mureddu&quot; &lt;<a href="mailto:libero.mureddu@gmail.com">libero.mureddu@gmail.com</a>&gt; wrote:
<br><br>&gt; Hello,<br>&gt;<br>&gt; I?m trying to implement a patch to play proportional canons in real time<br>&gt; from a midi source.<br>&gt; A proportional canon works in this way: if I play, let?s say, three notes at
<br>&gt; 200ms of speed, and if I decide that the proportion should be 2 times<br>&gt; slower, the patch should playback the same three notes at 400ms speed.<br>&gt;<br>&gt; I thought I could record the distance between notes with timer, and then
<br>&gt; send the time difference (multiplied by a certain factor), to pipe, but it<br>&gt; seems that pipe cannot handle the change of delay time, if more than one<br>&gt; change in delay has to be stored before playing back the previous.
<br>&gt;<br>&gt; Do you have any suggestion?<br>&gt;<br>&gt; In other words, what I would like to do is to record and at the same time<br>&gt; (or later) playing back at<br>&gt; a slower speed.<br>&gt;<br>&gt; Thanks a lot
<br>&gt;<br>&gt; Libero<br>&gt; --<br>&gt; Libero Mureddu<br>&gt; Vanha Viertotie, 21 as 417<br>&gt; 00350 Helsinki<br>&gt; Finland<br>&gt; <a href="http://webusers.siba.fi/~limuredd/">http://webusers.siba.fi/~limuredd/</a>
<br>&gt; <a href="http://www.myspace.com/liberomureddu">http://www.myspace.com/liberomureddu</a><br>&gt;<br><br><br>--<br>Use the source<br>-------------- next part --------------<br>A non-text attachment was scrubbed...<br>
Name: music-listseq-varispeed.pd<br>Type: application/octet-stream<br>Size: 12193 bytes<br>Desc: not available<br>Url : <a href="http://lists.puredata.info/pipermail/pd-list/attachments/20070711/a04adbca/attachment-0001.obj">
http://lists.puredata.info/pipermail/pd-list/attachments/20070711/a04adbca/attachment-0001.obj</a><br><br><br></blockquote></div>