[PD] bang when phasor~ reaches 1

Frank Barknecht fbar at footils.org
Sat Dec 2 11:57:44 CET 2006


Hallo,
padawan12 hat gesagt: // padawan12 wrote:

> I guess just because they drift off. Or at least you cant be sure of
> keeping them together. 


> Sometimes you want a whole bunch of things to all happen "synchronously", to 
> all happen in the same phase every time. An example is the paf~ algorithm, 
> and here's little drum machine example attached. So you usually
> have just one phasor that is your master timebase and derive everything
> from that.

[metro] with [vline~] won't drift off, as I wrote in the previous
mail, it is equivalent to [phasor~] and can almost be used as a
drop-in replacement. ([metro] has an artificial lower period boundary
of 1ms, but you can use a [delay] based metro-clone, if that is a
problem.)

The disadvantage of [metro~]/[vline~] is that you cannot change the
frequency in a smooth way, because, as you write, [metro] generates
discrete events. The advantage of [metro]/[vline~] is, that it is
possible to reset the phase without getting errors from the 64-samples
quantization that [phasor~]'s right inlet has: The phase of a
[phasor~] can only be reset every 64 samples, that is with usual
sample rates at a quantization of about 1.5 msec. This definitely can
be a problem if you want a tight synching of sequences. 

I made a variation of your drum machine to illustrate this effect. One
drumset here is driven by a [vhasor~] abstraction which almost is a
[phasor~] clone, built with metro and vline~. If you let both patterns
run together and switch on the phase-reset-metro you will get flanging
effects which are the fault of the inaccuracy of the phase-inlet of
the [phasor~] object.

Ciao
-- 
 Frank Barknecht                 _ ______footils.org_ __goto10.org__
-------------- next part --------------
#N canvas 377 467 551 486 10;
#X obj 108 18 loadbang;
#X obj 54 130 f \$1;
#X obj 54 17 inlet;
#X obj 54 385 vline~;
#X obj 54 257 t b b;
#X obj 157 405 outlet;
#X obj 181 17 inlet;
#X text 231 17 reset phase;
#X obj 53 408 outlet~;
#X obj 54 100 abs;
#X obj 126 176 expr 1000/$f1;
#X obj 54 150 t a a;
#X obj 54 238 metro;
#X obj 126 202 t a a;
#X msg 181 58 bang;
#X obj 286 126 < 0;
#X obj 286 156 select 1 0;
#X obj 54 285 f;
#X obj 54 318 list append 0 1;
#X msg 54 355 \$2 \, \$3 \$1;
#X msg 286 180 1 0;
#X msg 318 181 0 1;
#X obj 54 56 t a a;
#X text 370 156 up-down/down-up;
#X connect 0 0 1 0;
#X connect 1 0 11 0;
#X connect 2 0 22 0;
#X connect 3 0 8 0;
#X connect 4 0 17 0;
#X connect 4 1 5 0;
#X connect 6 0 14 0;
#X connect 9 0 1 0;
#X connect 10 0 13 0;
#X connect 11 0 12 0;
#X connect 11 1 10 0;
#X connect 12 0 4 0;
#X connect 13 0 12 1;
#X connect 13 1 17 1;
#X connect 14 0 12 0;
#X connect 15 0 16 0;
#X connect 16 0 20 0;
#X connect 16 1 21 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 3 0;
#X connect 20 0 18 1;
#X connect 21 0 18 1;
#X connect 22 0 9 0;
#X connect 22 1 15 0;
-------------- next part --------------
#N canvas 224 127 673 486 10;
#N canvas 267 211 916 531 phasesyncronousdrums 0;
#X obj 283 98 / 60;
#X obj 282 138 * -1;
#N canvas 0 0 450 300 psbd 0;
#X obj 167 30 wrap~;
#X obj 182 230 *~;
#X obj 168 55 *~;
#X obj 183 146 osc~;
#X obj 167 82 *~;
#X obj 198 208 lop~ 100;
#X obj 168 5 inlet~;
#X obj 181 166 clip~ -0.9 0.9;
#X obj 184 124 +~ 44;
#X obj 184 104 *~ 44;
#X obj 182 189 *~ 2;
#X obj 177 260 outlet~;
#X connect 0 0 2 0;
#X connect 0 0 2 1;
#X connect 1 0 11 0;
#X connect 2 0 4 0;
#X connect 2 0 4 1;
#X connect 2 0 9 0;
#X connect 3 0 7 0;
#X connect 4 0 5 0;
#X connect 5 0 1 1;
#X connect 6 0 0 0;
#X connect 7 0 10 0;
#X connect 8 0 3 0;
#X connect 9 0 8 0;
#X connect 10 0 1 0;
#X restore 203 335 pd psbd;
#N canvas 0 0 501 413 pssd 0;
#X obj 189 1 wrap~;
#X obj 352 121 noise~;
#X obj 198 343 *~;
#X obj 188 26 *~;
#X obj 187 53 *~;
#X obj 197 280 vcf~ 6000 3;
#X obj 269 238 loadbang;
#X obj 188 -41 inlet~;
#X obj 289 154 +~;
#X obj 288 101 +~ 100;
#X obj 288 123 osc~;
#X obj 288 78 *~ 100;
#X obj 288 177 clip~ -0.3 0.3;
#X obj 232 205 *~ 8000;
#X obj 200 84 *~;
#X obj 232 225 +~ 700;
#X msg 269 259 0.4;
#X obj 198 303 *~ 1;
#X obj 194 372 outlet~;
#X connect 0 0 3 0;
#X connect 0 0 3 1;
#X connect 0 0 11 0;
#X connect 1 0 8 1;
#X connect 2 0 18 0;
#X connect 3 0 4 0;
#X connect 3 0 4 1;
#X connect 4 0 2 1;
#X connect 4 0 14 0;
#X connect 4 0 14 1;
#X connect 5 0 17 0;
#X connect 6 0 16 0;
#X connect 7 0 0 0;
#X connect 8 0 12 0;
#X connect 9 0 10 0;
#X connect 10 0 8 0;
#X connect 11 0 9 0;
#X connect 12 0 5 0;
#X connect 13 0 15 0;
#X connect 14 0 13 0;
#X connect 15 0 5 1;
#X connect 16 0 5 2;
#X connect 17 0 2 0;
#X restore 298 334 pd pssd;
#X obj 283 184 *~ 8;
#X obj 25 242 clip~ 0 1;
#X obj 101 242 clip~ 1 2;
#X obj 179 242 clip~ 2 3;
#X obj 257 242 clip~ 3 4;
#X obj 341 241 clip~ 4 5;
#X obj 417 241 clip~ 5 6;
#X obj 494 241 clip~ 6 7;
#X obj 570 241 clip~ 7 8;
#X obj 282 118 / 4;
#N canvas 0 0 450 300 pshh 0;
#X obj 199 386 wrap~;
#X obj 216 507 noise~;
#X obj 214 595 *~;
#X obj 198 411 *~;
#X obj 213 555 *~ 0.3;
#X obj 213 532 vcf~ 6000 3;
#X obj 285 490 loadbang;
#X obj 198 344 inlet~;
#X msg 285 511 6;
#X obj 214 460 *~ 1000;
#X obj 213 480 +~ 8000;
#X obj 175 453 *~;
#X obj 210 624 outlet~;
#X connect 0 0 3 0;
#X connect 0 0 3 1;
#X connect 1 0 5 0;
#X connect 2 0 12 0;
#X connect 3 0 9 0;
#X connect 3 0 11 0;
#X connect 3 0 11 1;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 8 0;
#X connect 7 0 0 0;
#X connect 8 0 5 2;
#X connect 9 0 10 0;
#X connect 10 0 5 1;
#X connect 11 0 2 1;
#X restore 398 334 pd pshh;
#X msg 283 77 170;
#X obj 371 32 inlet zerophase;
#X msg 371 54 0;
#X obj 202 34 r \$0-tempo;
#X obj 283 54 loadbang;
#X text 463 338 drums;
#X text 503 213 subphase range select;
#X obj 297 397 outlet~ sigo;
#X obj 298 377 *~ 0.5;
#X obj 282 159 phasor~;
#X connect 0 0 13 0;
#X connect 1 0 24 0;
#X connect 2 0 23 0;
#X connect 3 0 23 0;
#X connect 4 0 5 0;
#X connect 4 0 6 0;
#X connect 4 0 7 0;
#X connect 4 0 8 0;
#X connect 4 0 9 0;
#X connect 4 0 10 0;
#X connect 4 0 11 0;
#X connect 4 0 12 0;
#X connect 5 0 14 0;
#X connect 6 0 3 0;
#X connect 7 0 2 0;
#X connect 7 0 14 0;
#X connect 9 0 14 0;
#X connect 10 0 3 0;
#X connect 11 0 14 0;
#X connect 12 0 2 0;
#X connect 12 0 14 0;
#X connect 13 0 1 0;
#X connect 14 0 23 0;
#X connect 15 0 0 0;
#X connect 16 0 17 0;
#X connect 17 0 24 1;
#X connect 18 0 0 0;
#X connect 19 0 15 0;
#X connect 23 0 22 0;
#X connect 24 0 4 0;
#X restore 334 265 pd phasesyncronousdrums;
#X obj 333 342 dac~;
#X obj 334 245 bng 15 250 50 0 empty empty zero 0 -6 0 8 -262144 -1
-1;
#X floatatom 51 66 5 0 0 2 tempo - #0-tempo;
#N canvas 332 201 916 531 vhasesyncronousdrums 0;
#X obj 283 98 / 60;
#X obj 282 138 * -1;
#N canvas 0 0 450 300 psbd 0;
#X obj 167 30 wrap~;
#X obj 182 230 *~;
#X obj 168 55 *~;
#X obj 183 146 osc~;
#X obj 167 82 *~;
#X obj 198 208 lop~ 100;
#X obj 168 5 inlet~;
#X obj 181 166 clip~ -0.9 0.9;
#X obj 184 124 +~ 44;
#X obj 184 104 *~ 44;
#X obj 182 189 *~ 2;
#X obj 177 260 outlet~;
#X connect 0 0 2 0;
#X connect 0 0 2 1;
#X connect 1 0 11 0;
#X connect 2 0 4 0;
#X connect 2 0 4 1;
#X connect 2 0 9 0;
#X connect 3 0 7 0;
#X connect 4 0 5 0;
#X connect 5 0 1 1;
#X connect 6 0 0 0;
#X connect 7 0 10 0;
#X connect 8 0 3 0;
#X connect 9 0 8 0;
#X connect 10 0 1 0;
#X restore 203 335 pd psbd;
#N canvas 0 0 501 413 pssd 0;
#X obj 189 1 wrap~;
#X obj 352 121 noise~;
#X obj 198 343 *~;
#X obj 188 26 *~;
#X obj 187 53 *~;
#X obj 197 280 vcf~ 6000 3;
#X obj 269 238 loadbang;
#X obj 188 -41 inlet~;
#X obj 289 154 +~;
#X obj 288 101 +~ 100;
#X obj 288 123 osc~;
#X obj 288 78 *~ 100;
#X obj 288 177 clip~ -0.3 0.3;
#X obj 232 205 *~ 8000;
#X obj 200 84 *~;
#X obj 232 225 +~ 700;
#X msg 269 259 0.4;
#X obj 198 303 *~ 1;
#X obj 194 372 outlet~;
#X connect 0 0 3 0;
#X connect 0 0 3 1;
#X connect 0 0 11 0;
#X connect 1 0 8 1;
#X connect 2 0 18 0;
#X connect 3 0 4 0;
#X connect 3 0 4 1;
#X connect 4 0 2 1;
#X connect 4 0 14 0;
#X connect 4 0 14 1;
#X connect 5 0 17 0;
#X connect 6 0 16 0;
#X connect 7 0 0 0;
#X connect 8 0 12 0;
#X connect 9 0 10 0;
#X connect 10 0 8 0;
#X connect 11 0 9 0;
#X connect 12 0 5 0;
#X connect 13 0 15 0;
#X connect 14 0 13 0;
#X connect 15 0 5 1;
#X connect 16 0 5 2;
#X connect 17 0 2 0;
#X restore 298 334 pd pssd;
#X obj 283 184 *~ 8;
#X obj 25 242 clip~ 0 1;
#X obj 101 242 clip~ 1 2;
#X obj 179 242 clip~ 2 3;
#X obj 257 242 clip~ 3 4;
#X obj 341 241 clip~ 4 5;
#X obj 417 241 clip~ 5 6;
#X obj 494 241 clip~ 6 7;
#X obj 570 241 clip~ 7 8;
#X obj 282 118 / 4;
#N canvas 0 0 450 300 pshh 0;
#X obj 199 386 wrap~;
#X obj 216 507 noise~;
#X obj 214 595 *~;
#X obj 198 411 *~;
#X obj 213 555 *~ 0.3;
#X obj 213 532 vcf~ 6000 3;
#X obj 285 490 loadbang;
#X obj 198 344 inlet~;
#X msg 285 511 6;
#X obj 214 460 *~ 1000;
#X obj 213 480 +~ 8000;
#X obj 175 453 *~;
#X obj 210 624 outlet~;
#X connect 0 0 3 0;
#X connect 0 0 3 1;
#X connect 1 0 5 0;
#X connect 2 0 12 0;
#X connect 3 0 9 0;
#X connect 3 0 11 0;
#X connect 3 0 11 1;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 8 0;
#X connect 7 0 0 0;
#X connect 8 0 5 2;
#X connect 9 0 10 0;
#X connect 10 0 5 1;
#X connect 11 0 2 1;
#X restore 398 334 pd pshh;
#X msg 283 77 170;
#X obj 371 32 inlet zerophase;
#X msg 371 54 0;
#X obj 202 34 r \$0-tempo;
#X obj 284 57 loadbang;
#X text 463 338 drums;
#X text 503 213 subphase range select;
#X obj 297 397 outlet~ sigo;
#X obj 298 377 *~ 0.5;
#X obj 282 158 vhasor~;
#X obj 389 184 outlet;
#X connect 0 0 13 0;
#X connect 1 0 24 0;
#X connect 2 0 23 0;
#X connect 3 0 23 0;
#X connect 4 0 5 0;
#X connect 4 0 6 0;
#X connect 4 0 7 0;
#X connect 4 0 8 0;
#X connect 4 0 9 0;
#X connect 4 0 10 0;
#X connect 4 0 11 0;
#X connect 4 0 12 0;
#X connect 5 0 14 0;
#X connect 6 0 3 0;
#X connect 7 0 2 0;
#X connect 7 0 14 0;
#X connect 9 0 14 0;
#X connect 10 0 3 0;
#X connect 11 0 14 0;
#X connect 12 0 2 0;
#X connect 12 0 14 0;
#X connect 13 0 1 0;
#X connect 14 0 23 0;
#X connect 15 0 0 0;
#X connect 16 0 17 0;
#X connect 17 0 24 1;
#X connect 18 0 0 0;
#X connect 19 0 15 0;
#X connect 23 0 22 0;
#X connect 24 0 4 0;
#X connect 24 1 25 0;
#X restore 72 263 pd vhasesyncronousdrums;
#X obj 73 317 *~ 0;
#X obj 96 297 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 334 312 *~ 0;
#X obj 357 292 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 73 340 dac~;
#X obj 162 139 metro;
#X obj 193 36 r \$0-tempo;
#X obj 193 60 / 60;
#X obj 192 80 / 4;
#X obj 192 100 expr 1000/$f1;
#X floatatom 205 122 5 0 0 0 - - -;
#X obj 72 233 r \$0-zero;
#X obj 364 242 r \$0-zero;
#X obj 162 159 s \$0-zero;
#X obj 162 118 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 134 170 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 228 285 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X connect 0 0 7 0;
#X connect 2 0 0 0;
#X connect 4 0 5 0;
#X connect 4 1 21 0;
#X connect 5 0 9 0;
#X connect 5 0 9 1;
#X connect 6 0 5 1;
#X connect 7 0 1 0;
#X connect 7 0 1 1;
#X connect 8 0 7 1;
#X connect 10 0 18 0;
#X connect 10 0 20 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 14 0 10 1;
#X connect 16 0 4 0;
#X connect 17 0 0 0;
#X connect 19 0 10 0;


More information about the Pd-list mailing list