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 <<a href="mailto:padawan12@obiwannabe.co.uk">padawan12@obiwannabe.co.uk</a>><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: <<a href="mailto:20070711061113.4f99d00c.padawan12@obiwannabe.co.uk">20070711061113.4f99d00c.padawan12@obiwannabe.co.uk</a>><br>Content-Type: text/plain; charset="iso-8859-1"
<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>"Libero Mureddu" <<a href="mailto:libero.mureddu@gmail.com">libero.mureddu@gmail.com</a>> wrote:
<br><br>> Hello,<br>><br>> I?m trying to implement a patch to play proportional canons in real time<br>> from a midi source.<br>> A proportional canon works in this way: if I play, let?s say, three notes at
<br>> 200ms of speed, and if I decide that the proportion should be 2 times<br>> slower, the patch should playback the same three notes at 400ms speed.<br>><br>> I thought I could record the distance between notes with timer, and then
<br>> send the time difference (multiplied by a certain factor), to pipe, but it<br>> seems that pipe cannot handle the change of delay time, if more than one<br>> change in delay has to be stored before playing back the previous.
<br>><br>> Do you have any suggestion?<br>><br>> In other words, what I would like to do is to record and at the same time<br>> (or later) playing back at<br>> a slower speed.<br>><br>> Thanks a lot
<br>><br>> Libero<br>> --<br>> Libero Mureddu<br>> Vanha Viertotie, 21 as 417<br>> 00350 Helsinki<br>> Finland<br>> <a href="http://webusers.siba.fi/~limuredd/">http://webusers.siba.fi/~limuredd/</a>
<br>> <a href="http://www.myspace.com/liberomureddu">http://www.myspace.com/liberomureddu</a><br>><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>