CV delay when using...
 
Notifications
Clear all

CV delay when using CV in Add  

Page 1 / 2

LarsDaniel
(@larsdaniel)
Eminent Member
Joined: 11 months ago
Posts: 21
Topic starter  

Lately I have been using one track, B, (using Div /16) to transpose a "normal" track, A. This way it is easy to set up a single pattern that evolves over several (up to 16) bars. However there is one issue that can be quite annoying:

Everytime the slow B track moves to the next step, the new voltage comes to the A track on the second 16th note, not on the first.

Example: Track A contains the note F on every step. Track B has C0 for one bar (one step of track B) and D0 for one bar.) The first bar, track A will be untransposed (as C0 is zero volts), so it will play F. The second bar it will be moved up one whole note to G. It should sound like this:

FFFFF etc / GGGGG etc / FFFFF etc / GGGGG etc 

But beause of the delay, it sounds like this:

FFFFF etc / FGGGGG etc / GFFFF etc / FGGGG etc 

This is obviously not ideal. I imagine that there is some quantizing going on, but that should be a matter of milliseconds.

I think a fix for this should be up high on the list.

 

Thanks

-Lars

This topic was modified 10 months ago by LarsDaniel

Quote
Topic Tags
LarsDaniel
(@larsdaniel)
Eminent Member
Joined: 11 months ago
Posts: 21
Topic starter  

Right now I am using an analog adder to add voltage from one track to another, and that works perfectly well, but I would much rather have that the CV inputs worked as one would expect in a modular environment. After all, having the root note playing on "1" is a very normal thing.

This post was modified 10 months ago by LarsDaniel

ReplyQuote
WinterModular
(@wintermodular)
Member Admin
Joined: 2 years ago
Posts: 370
 

Hi @Lars

It is a known behavior, as you mention it is a question of timing, but is some way it is intentional, if not temporal paradox can occur. 😉 

The 'CV ins' are read just before the step jump occurs because the CV in values need to be there when the next step occurs (because in some cases we need this values to decide the behavior in the outputs for the next steps), but a in a case like the one you describe, where the values come from the sequencer itself, this values are generated after the CV ins read, so it is not possible to determine a value based on a value that needs the first value to be determined. messy explanation... :_( do you understand me ?


ReplyQuote
LarsDaniel
(@larsdaniel)
Eminent Member
Joined: 11 months ago
Posts: 21
Topic starter  

Yup, I understand the problem. I see why it must be like this for other purposes of CV In, but for this classic use of step sequencing, it does not work right. I suggest we try to find a good workaround.

I have two suggestions:

1. Make a new setting under Options that will allow direct internal routing and adding of cv from one track to another. (As the purpose will be just one, adding cv, it should be possible to do this with proper timing.) 
(Actually thinking about this, make me realise that it would be totally awesome. And it would free CV inputs for other purposes.)

2. In Options, make a setting that would make CV In be read right AFTER the step, so that the expected transposition can be obtained when adding CV.


ReplyQuote
WinterModular
(@wintermodular)
Member Admin
Joined: 2 years ago
Posts: 370
 

@larsdaniel You are not the first one to ask for internal CV routing (1). Will study the possibility.

Thanks again for your feedback

 

 


ReplyQuote
LarsDaniel
(@larsdaniel)
Eminent Member
Joined: 11 months ago
Posts: 21
Topic starter  

@wintermodular

You're welcome.

 

I am assuming, that since internal adding would be in the digital domain, it should *only* be a matter of coding. 😀

Let me know if you need some beta testing.

 


ReplyQuote
WinterModular
(@wintermodular)
Member Admin
Joined: 2 years ago
Posts: 370
 

@larsdaniel 🤣 it is 'only' a matter of coding, but we still have some kind of temporal paradox or infinite loops. At some point, before the next step event, you need to read all the virtual assignments and then decide the 8 track step values, but those values depend on new step values. Even worse if we create two virtual assignments one depending on the other an infinite loop is created.

 


ReplyQuote
WinterModular
(@wintermodular)
Member Admin
Joined: 2 years ago
Posts: 370
 

I will need to add some kind of hierarchy


ReplyQuote
LarsDaniel
(@larsdaniel)
Eminent Member
Joined: 11 months ago
Posts: 21
Topic starter  

I am thinking: When a CV input is set to ADD, the point in time the input is read, goes from before a step to immidiately after a step. (Internal or external ADD, same principle.)

This will introduce a *very* brief jump in voltage right on the step, but I highly doubt that there will be any musical implications. (In contrast to the current state, where the first step with an added voltage will have the wrong value.)


ReplyQuote
LarsDaniel
(@larsdaniel)
Eminent Member
Joined: 11 months ago
Posts: 21
Topic starter  

About infinite loops in regard to internal adding:

Set up a rule that says: If a track N is being added to another track, adding a track to track N is not possible.

 

Infinite loops and external adding (CV input): Well, this is the modular world, and feedback loops can not, and should not be prohibited.


ReplyQuote
WinterModular
(@wintermodular)
Member Admin
Joined: 2 years ago
Posts: 370
 
Posted by: @larsdaniel

I am thinking: When a CV input is set to ADD, the point in time the input is read, goes from before a step to immidiately after a step. (Internal or external ADD, same principle.)

Sorry Lars... I don't understand what you mean... if the read goes after the step it is too late to update the CV value in the track that is attached to the transposer track.

Posted by: @larsdaniel

Set up a rule that says: If a track N is being added to another track, adding a track to track N is not possible.

I meant something like this when I mentioned to apply some hierachy

Posted by: @larsdaniel

Well, this is the modular world, and feedback loops can not, and should not be prohibited.

Absolutely for eurorack world, not so sure about digital/coding. Anyway I use the terminology 'temporal paradox' as a joke, it is something that can be solved applying some rules as both have mentioned.

 

Thanks for the feedback ! The day that I clean and open the code you will be one of the firsts to be invited to play with it.


ReplyQuote
Maikschott
(@maikschott)
Eminent Member
Joined: 2 years ago
Posts: 29
 

@wintermodular

I am having the same situation as Lars. I was able to do it right under system 1.35 with no delay in the cv ins. Possible change in the version?


ReplyQuote
Maikschott
(@maikschott)
Eminent Member
Joined: 2 years ago
Posts: 29
 

@larsdaniel

Hi Lars - can you explain exactly how you found the workaround with the analog adder?

Best from Hamburg
Maik


ReplyQuote
LarsDaniel
(@larsdaniel)
Eminent Member
Joined: 11 months ago
Posts: 21
Topic starter  

You can use any external adder to add two tracks from Elo. If it is something that requires precise pitch, use an aptly named precision adder. 


ReplyQuote
Maikschott
(@maikschott)
Eminent Member
Joined: 2 years ago
Posts: 29
 

@larsdaniel and you avoid the delay with that adder? I tried to add CV with a WMD module - routed between the track and the CV in. But it only changed in pitch but did not erase the delay


ReplyQuote
Page 1 / 2