CV and tempo sync

  • I've been experimenting a lot with tempo syncing Lines with my analog (eurorack) gear. Usually I go:

    square wave/pulse -> CV-IN -> TOG -> TIMER -> loopN

    For the most part it works really well, but occasionally I'll hear a little skip in the tempo. When I watch the timer output on BIGNUM I see pretty consistent minor discrepancies in the number it's outputting. I wonder if this is just due to the analog input or if there's a way to tighten things up, or another way to go about syncing.

    Any thoughts?

    Also it would be great if people could share their sync experiences. :)

    When I use Aleph as the master, sending TOG to the CV outs, everything is solid.


  • one thing is to decrease the polling period of the CV-IN to its minumum. (which might need to be lowered to 1ms? i'll look.) 1ms is the best resolution possible in BEES.

    for tighter than that, we would need to implement some pulse tracking on the DSP directly, using the line-level inputs. which i realize is less than convenient in eurorack context. or run a more specialized program on the avr32 with faster ADC polling.

    yeah, aleph as master should be pretty solid unless you are trying to draw a ton of stuff to the screen or something. and given the same 1ms resolution limit.

  • Thanks zebra! I've been pretty happy with results I'm getting with a polling period of 1. I get a ~0.01 discrepancy in TIMER output. It sounds pretty good.

    I would be interested to test out pulse tracking via the line-level inputs and/or a special program at some point, but neither are ideal, so it would really just be for fun. It's definitely usable as is at 1ms.

  • One more thing, and maybe this should be a feature request:

    Is it possible to have multiple CV-IN ops so that some could be set to trigger and others could be used to input continuous control?

    Was this possible in in an earlier version of BEES when you could choose CV-IN in the ops menu?

  • hm, no i don't think it's ever been implemented like that. you could leave it in continuous mode and use IS operator on the trigger channels.

  • ah sorry i think what you are seeing with TIMER is the odd scaling, it reports ms but loop actually takes bees units in (seconds / 1024). sorry about that. loooong discussion of this issue here, and how to address it for lines-0.3.0
    https://github.com/tehn/aleph/issues/204

  • Thanks! I think I understand (re scaling). Honestly, I'm not much of a developer, just a user, so the math does my head in a bit. Is there anything I can be doing in the meantime until Lines is updated? Or is TIMER directly to loopX the best I'll get for now?

  • jumping in on a related question, I´m trying to connect one clock output to cv-in0 and then to cv-in1 (both with IS-operators setup in the same way) but I can only get input from the first cv-input to respond with other BEES op's, the result sounds kinda like the first cv-input is routed internally to the second one, using bees 0.5.4.

  • @analogue1 i would work around this by not using the loopX parameters. i didn't really intend that to be the main interface for e.g. a loop pedal, more of an additional possiblity for experiments. ( it sets a hard endpoint on all phasors, and so you can for example set loop < delay for a glitchy, phasing stutter "within" each echo. )


    instead, for looping applications what i would do is use a metro to periodically reset the read position for the buffer. this will maintain 1ms accuracy (connect TIMER output to METRO period) and is also less prone to click artifacts. keep the loop parameter at maximum.

    think of it as you would the groove~ object in MSP or the PlayBuf class in SuperCollider. to make a good crossfaded looper, you would make 2 instances of one of those, and periodically trigger a reset/crossfade. this is the same thing; in lines the crossfade of two instances happens automatically when a position change is made.

    @Test2 what DSP module are you using? waves, lines? which version? DSP module handles cv output. that has gone through a lot of changes and was added rather hastily to some builds. if a recent release of a module is not working let me know. (BTW i haven't added CV outs to dsyn yet)

  • @zebra I´m just using the cv inputs and there is no cv out handling in the module (prgm 0.1.3), basically I only get response from cv input 0 and if I connect the cable to that one I can connect an IS operator to anyone of the cv-in/val outputs and get response to the gate I´m sending in, which is kinda strange!

  • Thanks @zebra, I'm going to try building a tempo sync'd looper again as soon as I get some Aleph time.

  • @Test2 ah ok sorry i misunderstood, will take a look at the cv inputs then.