[PD] stop sample playback when phasor~ reset?

Roman Haefeli reduzent at gmail.com
Wed Sep 21 00:05:18 CEST 2011


On Tue, 2011-09-20 at 11:59 -0700, Jonathan Wilkes wrote:
> 
> 
> 
> ----- Original Message -----
> > From: Roman Haefeli <reduzent at gmail.com>
> > To: Jonathan Wilkes <jancsika at yahoo.com>
> > Cc: tim vets <timvets at gmail.com>; Pierre Massat <pimassat at gmail.com>; James Dunn <james at 4thharmonic.com>; pd-list <pd-list at iem.at>
> > Sent: Tuesday, September 20, 2011 3:35 AM
> > Subject: Re: [PD] stop sample playback when phasor~ reset?
> > 
> > On Mon, 2011-09-19 at 14:00 -0700, Jonathan Wilkes wrote:
> >> 
> >> 
> >> 
> >> 
> >>  >________________________________
> >>  >From: tim vets <timvets at gmail.com>
> >>  >To: Pierre Massat <pimassat at gmail.com>; James Dunn 
> > <james at 4thharmonic.com>; pd-list <pd-list at iem.at>
> >>  >Sent: Monday, September 19, 2011 4:08 PM
> >>  >Subject: Re: [PD] stop sample playback when phasor~ reset?
> >>  >
> >>  >
> >>  >When you use phasor~, you normally already know how long it will take 
> > for the sound to be finished playing (because you set its frequency to play it 
> > back at the proper speed)
> >>  >Store the information about the sound loaded (or recorded) and use that 
> > to stop the playback after one play duration.
> >>  >
> >>  >
> >>  >[del <time>]
> >>  >|
> >>  >[t  b  b]
> >>  >|        |
> >>  >[0(     [0(
> >>  >[        |
> >>  >[phasor]
> >> 
> >>  What's the benefit of this over a line~ based approach?
> >> 
> > 
> > [line~] is inferior to [phasor~] in that it only starts a ramp on block
> > boundaries. Using [vline~] seems to me most flexible in terms of sample
> > playback as it can start a ramp even in-between samples.
> 
> That depends on how one uses [phasor~].  In the example above the initial 
> ramp must start on a block boundary-- whatever is triggering [del <time>] must 
> also send the relevent frequency to [phasor~] for playing the sound stored in the 
> array.  Those actions must happen with control objects, which means they will 
> affect the signal objects at the beginning of the next block.
> 
> However, for the ramp at the end of playback [phasor~] as used above can 
> produce a ramp that begins/ends in the middle of a block ( [vline~] too), 
> whereas [line~] cannot.  Of course I'm just talking about situations implied 
> by the example above, where the user is just triggering events sporadically 
> using control objects. 

What do you mean by 'triggering events sporadically using control
objects'? Aren't [delay] and [metro] also control objects? If those are
generating the event, you have more precise timing than only block
boundaries. We actually don't know what would be triggering the [del] in
the above patch (or probably I missed it?). 

Either way, the above patch would convert the precise timing to only
block boundaries timing because the frequency inlet of [phasor~] only
evaluates control messages on block boundaries. 

Using [vline~ ], however, would actually use the precise timing of the
event.
 

>  Neither [line~] nor [vline~] will trigger a ramp in the 
> middle of the current block, so if you're rule is "IF sample playback THEN 
> [vline~] > [line~]" there are probably times you're wasting cpu.

Sorry, if I am missing your point, but how do you know that [vline~ ]
wouldn't trigger a ramp in the middle of block in this case?

Roman




More information about the Pd-list mailing list