[PD] groove machine how to: keep metro and a loop in sync

Brian Fay ovaltinevortex at gmail.com
Mon Jan 13 19:22:31 CET 2014

I'm not super-familiar with the guts of Pd's scheduling system, but I think
that if one metro object outputs a bang to separate tabplay~ objects, both
should start playing at exactly the same time.

While using line~ or phasor~ can lead to more robust samplers (allowing you
to adjust playback speed, etc.), I think tabplay~ should be perfectly
adequate for this patch.

Filippo, it would help us to see your patch and the samples you are using,
so that we could get a better idea of how the loops are getting out of sync.


On Mon, Jan 13, 2014 at 12:45 PM, Funs Seelen <funsseelen at gmail.com> wrote:

> Hi Filippo,
> You're welcome.
> You probably forgot to reply-to-all, but I added pd-list to the
> conversation. I hope you don't mind, but I do this ...
> a) to prevent ten people to answer the same question, not knowing that
> nine others are or have been spending time to do exactly the same, and
> b) for the archive. It's annoying if you have a problem, search the web,
> and do find your question, but not the answer, since it is not made public.
> On Mon, Jan 13, 2014 at 5:48 PM, Filippo Beck Peccoz <mail at fbpsound.com>wrote:
>> Hi Funs and thanks a lot for the message! Sorry if I'm launching noob
>> questions at you, but so far I've only used a tabplay~ object and a metro
>> with a set bpm, and triggered both of them at the same time- this is
>> obviously not ideal..although it "almost" works the fade into and out of
>> the drum loop should be perfectly timed, especially for this kind of
>> application.
>> I am, however, a little lost as to how extrapolate bar/beat information
>> from the objects you suggested. I'm sure it's super easy and I'm missing
>> something obvious. Why do you put the 1000 in the message that goes to the
>> line object?
> I assumed you were reading the table with [tabread~] or [tabread4~]. For
> looping purposes it is common to use [phasor~] in combination with one of
> these two. If the loop should last 1 second (1000 ms) its frequence should
> be 1 Hertz (cycle per second). So the equivalent for the argument `1' for
> [phasor~] would be `1000' (milliseconds) for [line~]. Translation is done
> using the following function: y = 1000 / x, where x is the length of the
> time interval in ms and y the frequency in Hz (note that x = 1000 / y).
> This one second sample was just an example. [soundfiler] outputs the length
> of your sound sample in dsp samples.
> I don't understand what you mean by `bar/beat information', for I can't
> precisely imagine what you are building.
> Regards,
> Funs
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20140113/115cfa5d/attachment-0001.htm>

More information about the Pd-list mailing list