The Official Sequential/Oberheim Forum

SEQUENTIAL/DSI => OB-6 => Topic started by: Zac Kyoti on February 11, 2020, 02:12:34 PM

Title: Arp sync lost between program changes
Post by: Zac Kyoti on February 11, 2020, 02:12:34 PM
Hey all. Just posting to see if others may be having a similar experience. I’ve noticed that when clocking externally and using arp beat sync, switching between programs will make the arp lose sync (phase, but not tempo).  This may be difficult to notice unless you also listen to a metronome click/beat/whatever while trying this experiment.  To reproduce: Find or make some plucky percussive sound. Turn the arpeggiator on. Save this sound to two program slots, let’s say 001 and 002. Make sure the synth global “arp beat sync” is on, and start sending it the midi clock. Listen to a metronome tick in time with your midi clock. Hold down a couple notes. The arp should sound tight and on-time. Release the notes. NOW- keep the midi clock running, and switch between programs 001 and 002 a few times. Every time you do, you’ll notice the tempo readout waver a bit and restabilize. Play an arp again. Notice how now, even though the tempo is correct, the arp has shifted phase in relation to your metronome tick.  The more times you flip between program 001 and 002, the worse the drift becomes. The Arp is somehow decoupled from the clock feeding the synth. The only thing that fixes the issue is to stop and restart the midi clock.

I bring this up primarily because it’s a major kink in my workflow. In my jamming or live sessions, the midi clock needs to run continuously - I can’t afford to stop and start it at every program change. I would like to be able to change programs at will, and have everything locked and ready to arp immediately. I truly believe this is the intended behavior, but it just doesn’t work that way. I’ve tried with 1.5.5, 1.5.8, and 9.0.0, with identical results. I have submitted a support request, however, I’d be very interested to hear your test results.  I’m assuming this issue may affect the Prophet 6 as well...
Title: Re: Arp sync lost between program changes
Post by: Pym on February 11, 2020, 04:04:09 PM
It's due to the way we handle MIDI when files change, which is to say we wait until the file is loaded to process clocks again. We can't do anything about it on old instruments, you have to resync when you change presets. We fixed this is our more recent instruments as one of the many small improvements when we moved to a far more complex underlying operating system but it hasn't been without growing pains. There's no easy way to fix it.

Hey all. Just posting to see if others may be having a similar experience. I’ve noticed that when clocking externally and using arp beat sync, switching between programs will make the arp lose sync (phase, but not tempo).  This may be difficult to notice unless you also listen to a metronome click/beat/whatever while trying this experiment.  To reproduce: Find or make some plucky percussive sound. Turn the arpeggiator on. Save this sound to two program slots, let’s say 001 and 002. Make sure the synth global “arp beat sync” is on, and start sending it the midi clock. Listen to a metronome tick in time with your midi clock. Hold down a couple notes. The arp should sound tight and on-time. Release the notes. NOW- keep the midi clock running, and switch between programs 001 and 002 a few times. Every time you do, you’ll notice the tempo readout waver a bit and restabilize. Play an arp again. Notice how now, even though the tempo is correct, the arp has shifted phase in relation to your metronome tick.  The more times you flip between program 001 and 002, the worse the drift becomes. The Arp is somehow decoupled from the clock feeding the synth. The only thing that fixes the issue is to stop and restart the midi clock.

I bring this up primarily because it’s a major kink in my workflow. In my jamming or live sessions, the midi clock needs to run continuously - I can’t afford to stop and start it at every program change. I would like to be able to change programs at will, and have everything locked and ready to arp immediately. I truly believe this is the intended behavior, but it just doesn’t work that way. I’ve tried with 1.5.5, 1.5.8, and 9.0.0, with identical results. I have submitted a support request, however, I’d be very interested to hear your test results.  I’m assuming this issue may affect the Prophet 6 as well...
Title: Re: Arp sync lost between program changes
Post by: Zac Kyoti on February 11, 2020, 04:28:26 PM
Pym - thank you for the info. I understand what you are saying. I can’t say I’m not heartbroken to hear that though.

I understand that the OB6 needs a moment to begin to process the clock again, but what I don’t follow is why the code that manages the synth’s clock tracking locks its counter to some arbitrary point between the pulses sent by the midi clock. Or is it not that, but is more like the synth doesn’t know which of the midi clock pulses is the downbeat of a quarter note, so it locks to some arbitrary pulse within the duration of the quarter note? Does midi clock identify which pulse is the “1” of a quarter note string of pulses?

Would the arp sync “reset” by sending the synth a midi start message after a program change, even if the midi clock stream is not stopped? Could be a reasonable work around, if I could just press one button on a controller to get things back in sync...
Title: Re: Arp sync lost between program changes
Post by: AndreN on April 14, 2020, 12:01:00 AM
I am having the exact same problem on a prophet 6. It´s pretty bad.
Title: Re: Arp sync lost between program changes
Post by: SynthHead on April 14, 2020, 09:34:36 PM
The 'beat sync' even on the same patch while playing with your hands is STILL not performing how it should (go check a Juno 60 and get back to us!), so it's still next to useless on sequential synths sadly.

Literally every synth maker who dares to sell us an arpegiator feature on a synth should just go check how Juno 60 does it, copy it exactly, don't over think it, don't undercook it... just get it locking like that puppy locks and with the exact same double note up/down patter... THAT is how you do a world class arpeggiator (I can only assume the Jupiter 8 is the same but never had one to try myself). The only other synth I know that did it right was the Korg Prophecy with 'key sync' mode on, again not just the way it locks to the next beat no matter when you press a key but the actual pattern of up/down... it SHOULD BE (single note held with range of 2 as example) low,low,high,high,low,low,high,high not low/high/low/high (single notes).. and when you change note it SHOULD also reset the positioning of the low/high and always start again with low/low (while 100% locked to the next beat before changing).

I could write this myself in software in 5 minutes so god knows why people selling very expensive synths find it so hard.

Juno 60 is your friend.

I wish my OB-6 worked like that so I could actually make musical use of the arp.
Title: Re: Arp sync lost between program changes
Post by: kris on May 05, 2020, 12:48:50 PM
It's due to the way we handle MIDI when files change, which is to say we wait until the file is loaded to process clocks again. We can't do anything about it on old instruments, you have to resync when you change presets. We fixed this is our more recent instruments as one of the many small improvements when we moved to a far more complex underlying operating system but it hasn't been without growing pains. There's no easy way to fix it.
Understandable - but would hold that true if the patch switch is decomposed into lots of NRPN messages that change all parameters one by one into the new patch? I was thinking of implementing this in the Orm, because that way you can also easily send only Layer B to a Rev2. Of course, on DIN MIDI this would take a second or two, but on USB it could be fast and the OB wouldn't even realized we had changed the patch?
Title: Re: Arp sync lost between program changes
Post by: 8emanations on July 21, 2020, 10:51:28 AM
It's due to the way we handle MIDI when files change, which is to say we wait until the file is loaded to process clocks again. We can't do anything about it on old instruments, you have to resync when you change presets. We fixed this is our more recent instruments as one of the many small improvements when we moved to a far more complex underlying operating system but it hasn't been without growing pains. There's no easy way to fix it.

Hey all. Just posting to see if others may be having a similar experience. I’ve noticed that when clocking externally and using arp beat sync, switching between programs will make the arp lose sync (phase, but not tempo).  This may be difficult to notice unless you also listen to a metronome click/beat/whatever while trying this experiment.  To reproduce: Find or make some plucky percussive sound. Turn the arpeggiator on. Save this sound to two program slots, let’s say 001 and 002. Make sure the synth global “arp beat sync” is on, and start sending it the midi clock. Listen to a metronome tick in time with your midi clock. Hold down a couple notes. The arp should sound tight and on-time. Release the notes. NOW- keep the midi clock running, and switch between programs 001 and 002 a few times. Every time you do, you’ll notice the tempo readout waver a bit and restabilize. Play an arp again. Notice how now, even though the tempo is correct, the arp has shifted phase in relation to your metronome tick.  The more times you flip between program 001 and 002, the worse the drift becomes. The Arp is somehow decoupled from the clock feeding the synth. The only thing that fixes the issue is to stop and restart the midi clock.

I bring this up primarily because it’s a major kink in my workflow. In my jamming or live sessions, the midi clock needs to run continuously - I can’t afford to stop and start it at every program change. I would like to be able to change programs at will, and have everything locked and ready to arp immediately. I truly believe this is the intended behavior, but it just doesn’t work that way. I’ve tried with 1.5.5, 1.5.8, and 9.0.0, with identical results. I have submitted a support request, however, I’d be very interested to hear your test results.  I’m assuming this issue may affect the Prophet 6 as well...

Hello! First post on here. I'm experiencing the same thing on my Prophet Rev2 [16 Voice]. Is there a solution to this on the Rev2 or is it the same deal as with the OB-6? Thanks so much!
Title: Re: Arp sync lost between program changes
Post by: Pym on July 21, 2020, 12:53:52 PM
Change programs in the middle of the quarter note, not at the same time as the new one

In general, you don't want to be doing things at the same time in MIDI if you can avoid it
Title: Re: Arp sync lost between program changes
Post by: Zac Kyoti on August 12, 2020, 03:14:28 AM
Change programs in the middle of the quarter note, not at the same time as the new one

In general, you don't want to be doing things at the same time in MIDI if you can avoid it
This doesn't work for me, unfortunately.  Also, I tried sending the OB system real-time stop and start messages while still sending it external clock, in the hopes that the arp might get tricked into re-syncing. Didn't work.

Pym, can you explain why stopping and starting an external midi clock will re-sync the arp, but while the synth is receiving clock ticks, stop and start messages do nothing? I'm trying to understand this better, with the intention of possibly building a Max device that could re-sync the arp on the fly. But right now I don't understand the underlying architecture well enough.
Title: Re: Arp sync lost between program changes
Post by: Zac Kyoti on August 14, 2020, 01:21:58 AM
Just a quick update, in case anyone is following this topic: After some experimentation, I am happy to say that "re-syncing" the OB (and I assume some other Sequential synths) is entirely possible using an external solution of some sort. What I didn't realize, and it seems self explanatory in retrospect, is that the OB will only respond to stop/SPP/start messages on the midi port you set in globals. I'd been trying to do it over usb, while the clock was coming in on the midi port. Anyway, using the same port that clock is coming in, and sending the synth system real-time messages FC F2 00 00 FA on that port will definitely re-sync the arpeggiator.  Luckily this can still be used when the synth midi clock global is set to NSS. It seems that setting only silences start/stop commands to the sequencer, not the arp.

The trick is knowing when to fire off the zero position Song Position Pointer command, as this needs to be locked to the external clock.  I'm planning on building a Max device to track the timing, and to send the command at the appropriate time.