Is there a set of objects for expressing beat-relative timing? I’m thinking of a [beatclock] that sends out beat messages and a set of objects like [beatmetro], [beatdelay~], etc. that act like their ms-based counterparts but receive the beat clock and respond to tempo changes. Probably a general-pupose [beatms] that just outputs the beat period in ms for use with objects that aren’t wrapped in the library.
If not I’ll probably build some, but I figured I’d check to see if the community already has something nice to solve this problem, as I’m sure it’s come up before.
-s
On Mon, 2015-10-19 at 02:29 -0400, Spencer Russell wrote:
Is there a set of objects for expressing beat-relative timing? I’m thinking of a [beatclock] that sends out beat messages and a set of objects like [beatmetro], [beatdelay~], etc. that act like their ms-based counterparts but receive the beat clock and respond to tempo changes. Probably a general-pupose [beatms] that just outputs the beat period in ms for use with objects that aren’t wrapped in the library.
If not I’ll probably build some, but I figured I’d check to see if the community already has something nice to solve this problem, as I’m sure it’s come up before.
For netpd I wanted a master clock and a way to create different timings that stay in sync with the master also while changing tempo.
One issue was to be able to change tempo mid-period. [rh_metro] does that.
Another issue was to have a 4/4 master clock and derive any arbitrary integer division timing of it (for instance: 13/8 means 'create 13 ticks within the period of 8 regular ticks'). [master-poly] takes the main clock from the master.pd patch and takes the poly timing as arguments or as message. Unfortunately, the code is not optimally modularized to be of general use outside of the netpd context, though the technical problems are tackled.
But then, shortly after I was working on that, a new Pd version with the timing classes support many new methods was released. So, with newer Pds those kind of timing problems can be solved much more elegantly and with much less code.
If you're still interested in having a look at the netpd stuff, check:
from https://github.com/reduzent/netpd2-patches
Roman
I've made an object that play list sequences, it can sync to itself, this object has been made to play something else than binary rythms, and it works like tabla language. If you are interested I'll attach it.
Le 19/10/2015 12:07, Roman Haefeli a écrit :
On Mon, 2015-10-19 at 02:29 -0400, Spencer Russell wrote:
Is there a set of objects for expressing beat-relative timing? I’m thinking of a [beatclock] that sends out beat messages and a set of objects like [beatmetro], [beatdelay~], etc. that act like their ms-based counterparts but receive the beat clock and respond to tempo changes. Probably a general-pupose [beatms] that just outputs the beat period in ms for use with objects that aren’t wrapped in the library.
If not I’ll probably build some, but I figured I’d check to see if the community already has something nice to solve this problem, as I’m sure it’s come up before.
For netpd I wanted a master clock and a way to create different timings that stay in sync with the master also while changing tempo.
One issue was to be able to change tempo mid-period. [rh_metro] does that.
Another issue was to have a 4/4 master clock and derive any arbitrary integer division timing of it (for instance: 13/8 means 'create 13 ticks within the period of 8 regular ticks'). [master-poly] takes the main clock from the master.pd patch and takes the poly timing as arguments or as message. Unfortunately, the code is not optimally modularized to be of general use outside of the netpd context, though the technical problems are tackled.
But then, shortly after I was working on that, a new Pd version with the timing classes support many new methods was released. So, with newer Pds those kind of timing problems can be solved much more elegantly and with much less code.
If you're still interested in having a look at the netpd stuff, check:
- abs/rh_metropd
- patches/master.pd
- abs/master-poly.pd
from https://github.com/reduzent/netpd2-patches
Roman
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi Spencer,
some time ago I did a set of abstractions for syncing messages to a tempo clock. Maybe they are useful for your needs. Both syncing objects require zexy, but you can easily rewrite them in plain vanilla style (e.g. [fifop] in this context could be replaced by [textfile] or [text])
Christof
Gesendet: Montag, 19. Oktober 2015 um 08:29 Uhr Von: "Spencer Russell" sfr@media.mit.edu An: pd-list@mail.iem.at Betreff: [PD] Set of objects for beat-oriented timing?
Is there a set of objects for expressing beat-relative timing? I’m thinking of a [beatclock] that sends out beat messages and a set of objects like [beatmetro], [beatdelay~], etc. that act like their ms-based counterparts but receive the beat clock and respond to tempo changes. Probably a general-pupose [beatms] that just outputs the beat period in ms for use with objects that aren’t wrapped in the library.
If not I’ll probably build some, but I figured I’d check to see if the community already has something nice to solve this problem, as I’m sure it’s come up before.
-s _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list