Page 1 of 1

OnClock Sequencer Test and issues

Posted: 30 Mar 2014 15:15
by electrofux
I have attached a file where a StepSwitch Sequencer runs agains an On Clock scripted Sequencer.
I tried to keep it simple, so they just put out two different notes and play a 4on the floor pattern.
The only special thing that is in the On Clock Squencer is its ability to run backwards which is the only reason i try to do an On Clock Sequencer - not the backwards playing alone but being able to control the step of the sequencer in general.
I have setup Reason so they trigger both the same Rimshot to see if they play along in sync.
The main Coding for the OnCLock Sequencer sits in the script runtest3() and some code for resetting in the Reset Button of transport.

Now while it plays along nice when you hit play there are a couple of issues:

1.)
the two running lights are not exactly in sync. Not sure if my code is flawed or it can even be achieved. The note triggers seem to be fine though.
The weird thing though is: If both sequencers are set to 1/8 the On Clock running light is a bit aheead. But when you set both to 1/64th the StepSwitch Sequencer running light is ahead. The Problem with that is: I want to set my on Clock script to 1/64th and have a counter which counts down the actual rate. So eg if i want to have a 1/16th rate i count to 4 until i increase the step. But with a clock of 1/64th the lights just dont match up so good.

2.)
What makes me a bit worried is the fact that when i change the BPM the two are likely to fall out of sync and i have no idea why that is.
Now i wouldnt normally play around with the BPM but eventually i want to slave this to Midi Clock and this causes the BPM to constantly
change a bit. So my fear is this will affect sync in the long run.

3.)
When i switch from internal clock to slaved clock weird things happen. Like the BPM gets set to 2000 or most of the time both sequencers wouldn't even catch the clock and everything just stands still. Sometimes i have to kill Lemur and load it again to be able to catch the Clock Signal.

Edit: Then BPM weirdness is a Reason issue. With Midi Ox as a Clock Sender, it all behaves a bit better. But still switching from internal to slave mode there seems to be a bit of luck involved wether Lemur catches the clock or not. It really seems as if something within Lemur crashes/ceases to work because killing Lemur and reloading fixes it and Lemur receives the clock signal again.

4.)
When slaving to Clock i need some way to catch start, stop, pause signals from the Sending Program. I am not sure how i can get to this.
The only idea i had so far is an onframe script that checks if clock is running and resets everything if not. But then i cannot pause.
To test the template in slave mode the script clockstop in the Switches object should be turned on. It resets everything if the clock is not running.

5.)
How is peoples timing in Slave Mode?

6.) Older Problem: how do i get the OnClock sequencer to swing.

7.) When letting everything run synced for a longer time, i notice that the StepSwitch Sequencer sometimes drops a trigger the OnClock doesnt do so.
Thought it could even be my midi interface but after watching the screen for 10 Minutes it is only the StepSwitch that drops a note once in a while.

Re: OnClock Sequencer Test and issues

Posted: 30 Mar 2014 15:48
by electrofux
BTW, as you have noticed i come often to this forum and i am thankful for the help i get here. The last update really got me started.

Re: OnClock Sequencer Test and issues

Posted: 30 Mar 2014 18:45
by electrofux
To make the issue of Problem 1 clearer i have attached a more blown up version of the Sequencer this time with setting for Pith, Velo, stepcount and division.
Now, this time i have set the Clock in the Switches run() script to 1/64 (so i have more pulses to do stuff with like setting note length) but to get the tempo according to the Rate/Division setting, i inserted the counter stepinc which increases on every clock pulse according to the rate setting. In case of a desired 1/16th division rate is 0.25, so every 4th pulse the step gets incremented. (btw dont use the triplet divisions as for now only even ones work in this template)

BUT as you can see when letting everything run for a while, the running lights starts lagging behind as does the noteout.

In a nutshell: Running a Sequencer with 1/64th division but only using every fourth pulse does not sync with a sequencer running 1/16th division.

Re: OnClock Sequencer Test and issues

Posted: 31 Mar 2014 16:34
by saveas
Yeah, I thought the new sequencer objects and OnClock scripts would provide a solid timing. But they don't.
Even the example iPad Drum Sequencer misses notes very often...

Re: OnClock Sequencer Test and issues

Posted: 22 Apr 2014 16:33
by nick_liine
saveas wrote:Yeah, I thought the new sequencer objects and OnClock scripts would provide a solid timing. But they don't.
Even the example iPad Drum Sequencer misses notes very often...
Please tell me more info about your setup. We obsessively tested the Sequencer for over a year with many different computers and connection. I need to know exactly what you're trying to do.

- Are you connected with a MIDI adapter or over Wi-Fi (ad-hoc or router)?
- Where is the MIDI from the iPad Lemur sequencer going to? (i.e. hardware synths, other iPad apps on same iPad, DAW on computer, etc)
- Is the problem occasional or always present?
- What device are you using (iPad 1, iPad 2, iPad 3, etc)?
- Please create a Monitor object and set value = frame, tell me what the framerate is on the device when you are using a problematic sequencer.

Thank you.
Nicolas

Re: OnClock Sequencer Test and issues

Posted: 23 Apr 2014 18:08
by electrofux
at what framerates are timing problems more likely?

Re: OnClock Sequencer Test and issues

Posted: 24 Apr 2014 09:36
by nick_liine
electrofux wrote: 1.)
the two running lights are not exactly in sync. Not sure if my code is flawed or it can even be achieved.
This is normal. Visual feedback in the Sequencer object is handled internally, by the object and the sequencer system. In the case of the On Clock sequencer, the light variable is handled by the regular Lemur parser, that is not optimised for tight sequencing. Although the MIDI output of the On Clock scripts will be tight, the timing optimizations do not carry over to regular Lemur operations, such as setting the value of light to a new array. Trust your ears, not your eyes.
electrofux wrote: 2.)
What makes me a bit worried is the fact that when i change the BPM the two are likely to fall out of sync and i have no idea why that is.
Now i wouldnt normally play around with the BPM but eventually i want to slave this to Midi Clock and this causes the BPM to constantly
change a bit. So my fear is this will affect sync in the long run.
Have you actually experienced a timing drift? If so, please let me know steps to reproduce the issue.
electrofux wrote: 3.)
When i switch from internal clock to slaved clock weird things happen. Like the BPM gets set to 2000 or most of the time both sequencers wouldn't even catch the clock and everything just stands still. Sometimes i have to kill Lemur and load it again to be able to catch the Clock Signal.
I have emailed you about this, please send me more details if possible. Unfortunately, I can not reproduce that problem here.
electrofux wrote: Edit: Then BPM weirdness is a Reason issue. With Midi Ox as a Clock Sender, it all behaves a bit better. But still switching from internal to slave mode there seems to be a bit of luck involved wether Lemur catches the clock or not. It really seems as if something within Lemur crashes/ceases to work because killing Lemur and reloading fixes it and Lemur receives the clock signal again.
Have you contacted Propellerheads about this? Please keep me updated about any additional info.
electrofux wrote: 4.)
When slaving to Clock i need some way to catch start, stop, pause signals from the Sending Program. I am not sure how i can get to this.
The only idea i had so far is an onframe script that checks if clock is running and resets everything if not. But then i cannot pause.
To test the template in slave mode the script clockstop in the Switches object should be turned on. It resets everything if the clock is not running.
It is not possible to stop or pause the external clock from Lemur. That can only be accomplished from the source of the clock (i.e. Live or Reason)
electrofux wrote: 6.) Older Problem: how do i get the OnClock sequencer to swing.
This has been added to the feature wishlist.
electrofux wrote: 7.) When letting everything run synced for a longer time, i notice that the StepSwitch Sequencer sometimes drops a trigger the OnClock doesnt do so.
Thought it could even be my midi interface but after watching the screen for 10 Minutes it is only the StepSwitch that drops a note once in a while.
I have also emailed you about this, more info about the setup would be great as I cannot reproduce this also.

In general, please email support issue through http://support.liine.net as I cannot guarantee tech support through forum posts, altough we do check in here regularly.

Re: OnClock Sequencer Test and issues

Posted: 24 Apr 2014 10:09
by electrofux
1.) ok that makes sense.

2.) have to see if the two still drift.

3.) The catching the clock issue was probably Reason related too. The new Version has alot of Midi Clock options and since that i have no problems in catching the clock.

6.) Also a a way to adjust the length of notes in onclock sequencer would be nice. something like "seqnoteout (channel, notenumber, velocity, length, channel,)"

7.) Since the last update i dont have any dropped notes anymore.