I was not aware that the new tempo method would affect metro times between bangs. Thanks a lot!
Gesendet: Sonntag, 10. Januar 2016 um 13:01 Uhr Von: "Roman Haefeli" reduzent@gmail.com An: pd-list@lists.iem.at Betreff: Re: [PD] Clock Division
On Sat, 2016-01-09 at 15:07 -0500, Peter van Haaften wrote:
Greetings,
I am trying to find a simple and efficient way to divide quarter notes in Pd.
The patch I am constructing is a kind of ostinato sequencer. There are four quarter notes, which should each by divided into 1-16 ticks (user definable). So, QT1 could be divided into 5 ticks, QT2 into 10, QT3 into 1, and QT4 into 16. On the GUI, a series of 16 toggles allow the user to sequence and trigger a sample at each outputted tick.
I was originally using the [timing.tempo] pdmtl patch as my clock. It largely works well, but there is a second component to this project, where a variable master tempo can change across time. With quickly shifting tempos, [timing.tempo] stumbles and occasionally counts incorrectly.
Can anyone recommend a simple way to divide a clock in the fashion described above? Perhaps there is already a stable abstraction out there I can take advantage of?
As I understand you, you want to be able to smoothly change the master tempo while maintaining synchronicity among all subdivision. All suggestions posted yet fail at that, since they simply send an updated interval to the [metro]. However, [metro] takes the new interval into account only _after_ it has finished the current interval. When having many subdivisions, the tempo change takes effect at a different moment in time for every subdivision and thus you get shift.
I tried to tackle that problem in netpd in the [master] instrument (the master clock of all sequencers). It uses [rh_metro] internally, which is a [metro] replacement that does take into account tempo changes during intervals. There is also a [master-poly] abstraction that generates any integer subdivision tempo that stays in sync with the master.
Check https://github.com/reduzent/netpd-instruments
I was working on those things before [metro] was updated in Pd 0.45. It now supports setting time intervals in many different units. There is newly introduced 'tempo' method that let's change tempo _during_ intervals (which makes [rh_metro] from above obsolete). Checkout the help of [delay], it covers all the details of specifying units and tempo. I think using [metro] and changing tempo with 'tempo' is what you're looking for.
Roman
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list