MIDI sync weirdness

Discuss music production with Ableton Live.
broc
Posts: 1151
Joined: Mon Jul 26, 2004 8:37 am

Re: MIDI sync weirdness

Post by broc » Mon Jun 07, 2010 12:41 am

Nice. Now you just need to implant an audio pulse driver..

and then sell it for 399 euro..

markaugust
Posts: 470
Joined: Thu May 12, 2005 11:48 am
Location: big B

Re: MIDI sync weirdness

Post by markaugust » Tue Jun 08, 2010 12:18 am

i always have a fluctuation of -0.5 to +0.5 bpm on my outboard gear.
doesnt really matter if i have ableton 8 as master ( i can monitor the fluctuation on the machinedrum and monomachine)
or as slave to the octopus; where i see the fluctuation in ableton live. (pc)
also doesnt matter if the midi is connected through the RME multiface 2
or my unitor 8 with both options.
i'd love an option in ableton where you can just determin to stick to a certain round value, like say 118 bpm without anything behind the decimal.
instead of this perfect following of all the fluctuation.
doe anyone know what would be the best solution for my problem. isnt there software that takes the internal midi that goes from ableton into
the RME and unitor and makes it stable to a certain round figure? what sort of compresses it sort of speak to one chosen bpm figure?
seems logical that that would be possible to make?
anyone who can help, please. been fluctuating way to long now (and correcting with warp in the audiorecordings)
miss the 1040 ste days sometimes.

broc
Posts: 1151
Joined: Mon Jul 26, 2004 8:37 am

Re: MIDI sync weirdness

Post by broc » Tue Jun 08, 2010 11:17 am

Rounding the bpm value seems like a good idea, but it could only be done within the receiver when calculating bpm from the clock intervals.

The midi clock protocol transmits messages like this

start--clock--clock--..--clock--clock--stop

There are 24 clock messages per beat, and from measuring the actual clock intervals the receiver calculates the actual bpm.
So at this point the receiver could apply some rounding.

Unfortunately, tempo calculation is also in effect if not needed, ie. if you have a setup with constant tempo.
In this case it would be convenient to have just start/stop messages. But that's not provided in the midi standard.

However it's sometimes implemented, for example also in Live.
So you can start/stop Live just by sending start/stop messages (byte 250/252), without affecting the tempo.

3phase
Posts: 4648
Joined: Fri Sep 26, 2003 3:29 am
Contact:

Re: MIDI sync weirdness

Post by 3phase » Tue Jun 08, 2010 3:01 pm

native instruments reaktor manages to stay perfectly in sync without tempo fluctuations on external clock..
the akai mpc 3000 manages it to stay in sync without unnecessary fluctuations..

ableton live and lots of others dont...

why is that? some do program and include more musical and by this way more inteligent algorytms into theire software...


why isnt ableton one of them ? what is it so difficult to spend the few lines of code necessary?

ok..we have the quality statement that ensures that no optimisations to the program will be done up to the moment its totally stable... but why hasnt this been optimized before?


So we have to live with the conceptional bugs and suffer badly as soon you like have one ableton instance as a slave..
And we are much better of with ableton as a slave this days because off youtr stability issues.. besides..people like to play together again even when they use laptops.. maybe you havet got this trend..but belife me..it is there..
do your market research homework and you will find out yourself.

To allow a midi slave to be slave to clockjitter is a conceptional bug...
to think that a daw has to follow any tempocange imideatly is a conceptional bug..
Who has said or demanded that this has to be the way? The best classical orchestras maybe perform quick tempo changes on the conductors stick... but are they this quick? and are we doing classical music here?
In 90 % of the cases we dont work with tempo changes in a track.. and the remaining 10 % are split to 9 % where a slow tempo change just sounds more musical and elastical. like in a real band...while only 1% needs quick tempochanges..
and this 1% is probably even a high assumption.. when you preffer to please that less than 1% make it a switch able option.. ext clock dejittering on/off...

sorry.. imo this is bad engineering, to go the easy path because 1% might need it fast as excuse to avoid extra thinking and coding, instead getting it wright for 99% of the users and beeing a state of the art stage software

that is like sampling without filtering above the niquist frequencie because 1% of the users likes digital artefacts...

please ableton fix your program as part of the quality/bug hunt routine.. we like to have midi clock sync now !
mac book 2,16 ghz 4(3)gb ram, Os 10.62, fireface 400,

broc
Posts: 1151
Joined: Mon Jul 26, 2004 8:37 am

Re: MIDI sync weirdness

Post by broc » Wed Jun 09, 2010 11:48 am

I still think that syncing DAWs with midi clock is inherently problematic.
The problem is that each arrangement/set has a specific latency depending on the plugins used.
So you need to re-adjust the sync delay everytime when a new set is loaded on the master or slave.

This problem may not occur with MTC as time code can be incorporated into delay compensation.

3phase
Posts: 4648
Joined: Fri Sep 26, 2003 3:29 am
Contact:

Re: MIDI sync weirdness

Post by 3phase » Wed Jun 09, 2010 2:19 pm

broc wrote:I still think that syncing DAWs with midi clock is inherently problematic.
The problem is that each arrangement/set has a specific latency depending on the plugins used.
So you need to re-adjust the sync delay everytime when a new set is loaded on the master or slave.

This problem may not occur with MTC as time code can be incorporated into delay compensation.

ther would be various smart tactics to sync laptops on stage.. that no such thing is implemented clearly shows that the developers either dont have a clue about the praxis of doing music together.. = never played in bands..
or just dont have ideas how to mange it..

midi clock syncing with daw´s is problematic? why? ther is a fixed latency of the soundcard and all other latencys are handled within this latency...

that is a fixed offset that dont changes with any set.. besides... because of the disablity of ableton live to load while playing nobody is changing sets on stage anyway..

I used live as clockslave often.. after 20 minutes it allways got in the offbeat ad needed to be restartet.. dont know if this bug is still there... however.. works.. except the fluctuations.. what sometimes really fucks the groove.. at least it allways sounds much better when being in free sync...


we actually would be better of if we just would send a start command to 2 live instances and let them run on theier own tempo..

problem.. ableton is really bad on the start command..sometimes it starts imideatly.other times it starts 20 ms after the command is send..

i dont know if this is due bad coding or problems with the computer OS...fact is.. just sending a start comand to 2 differne ableton instances dont works well enough..

similar issues with time code.. but some people told me that this is supposed to work now.. at least on theier computers..might try that again..

however.. ableton live is not able to be a timecode master.. so you need a third instance to timecode sync 2 ableton instances..


seeing all this sync weirdness after in the year 10 the program appeard on the market ...

sorry.. pretty halfbaked ..not much thought or love for essential details here...


i really would wish that some people at ableton would focus on the handfull of missing basic functionality instead all this nerdish max madness... its not so much what seperates ableton live from a good stage software... but year after year after year the syncing stays to be an issue.. thanks god we have the speed up speed down buttons for a while.. befor it was really a nightmare to play with people together.. you really feel like a retard when you have to start 5 times to get it tight..thanks to the wobbely reaction on startcomands...

so actually . fixing the start stop thing with some documented extras for networked start and resyncing while runing the ableton instances on theire own speed..would be nice...

and a dejittering option for ext midi clock..


and timecode output

the full package please
mac book 2,16 ghz 4(3)gb ram, Os 10.62, fireface 400,

3phase
Posts: 4648
Joined: Fri Sep 26, 2003 3:29 am
Contact:

Re: MIDI sync weirdness

Post by 3phase » Wed Jun 09, 2010 2:48 pm

here an article i wrote for a hardware projekt to inspire the os developer....


clocking in 21th century hardware sequencers

part 1... brainstroming


features one like to see that is working in allways changing hard and software setups in studios and on stages...

1) the clocking and its handling should be apllied on rootlevel of the OS.. all other functions second to that and not interfearing with it.. clock priority..

the elektron machine drum is an example of a sequencer that handles the clock with priority tight, but has "problems" with the execution of its own sequencer.. in reality this results in a rather groovy sounding tool one can rely on as clock master or slave.. a good example that glitches in the sound creation actually can be beneficial while errors in the internal process timing are usually distracting..see doepfer MAQ sequencer as negativ example here...

2) low latency operation.. regardless of what fancy features are applied, a modern machine should be able to be fast on external clock..
And it shouldnt loose a single clock tick...
There is an absolute amount of clockticks in a given time.. If internal processes need time, the sequencer should be able to lock back to its absolute position along the timeline afterwards..

3) the plain clocking by the midi ticks should have priority and the handling of realtime midi commands should interupt all other incoming midi streams ..or handled in seperate buffers wher the realtime clock buffer is allways executed first...

4) it should be possible to have clock/midi thru on root level.. with or without merge of the generated midi notes? i know this is a questionable feature because it can eat to much processing power and therfore interfears with the other demands ... however.. would be a handy tool in certain stage situations.. if the clock can be only applied in such a scenario with an offset delay it still might be usefull...

there should be midi out On/Off options for clock, notes and controlers regardless in what sync/master mode the maschine is running..


5) offset delays... an important aspect..overseen by many but.. the truth is..any machine on the market starts at a different time regarding to the incoming midi clock/start command..

You cant run a korg electribe es together with an mfb 522.. they are such a big amount off..the mfb is so early..the electribe so late...
That is not a new thing..even under din sync we know that problem..

some people might have another opinion here.. but in reality more and more producers buy clock shifters to get their machines in line..


I wish for all modern sequencers the ability to shift the event timing..


the internal event>sound execution should be very fast..much less than 1ms... but

WITH an OFFSET delay..fine adjustable in 0,1 ms steps at least 5 ms later.. maybe 64 steps later...and 64 steps earlier? than the whole machine starts one bar later? or better just starts and does the shifting within the first quarter note..
The first quarter is pretty bendable timingwise without sounding too unmusical.. probably because we have heard that so often on real drummers..or because its before our brains have locked to the beat themself...

a point to discuss.. but i vote for an offset parameter to allow a desired feel.. as a system setting



6) shuffle.. while some think that shuffle can be applied by shifting the ppq clock i strictly opt to implement shuffle in the way its done in the other sequencer designs on the market..as a delay setting on actual sequencer steps..after the global offset delay.. just applied to certain steps..

Look at the elektron machine drum..that is a pretty good example how shuffle is implemented. as a sequencer that controls an event delay

There the shuffle has an own sequencer track..where each step set delay on/off for that step.
So when you set all steps you move the machinedrums drum sequencer later.. when you only set the odd steps we have normal shuffle and when you set all even steps you have negative shuffle..

this just as an example how the mechanics work there.. shuffle is an interpretation that is happening on top of a steady clock and not as the result of a modulation of that clock..

however.. a natural shuffle that is based on a real sine lfo modulation of the event timing can be interesting aswell..something that is not happening between 16th notes.. on a longer scale..over 1-4 bars or so..

anyway.. the unit should be able to perform shuffled grooves.. in ideal with an remotable shuffle amount via midi controler... so multiple units can be shuffled at once..

shuffle settings should be compatible with the standards.. so a 63% shuffle is the same as on other machines..



The shuffle value should be kept on pattern changes... Or? it should be possible to mix shuffeled and unshuffled patterns. but a global shuffle modulation that is pattern independent is nice aswel.. a good stage feature
maybe in one of the user pages one can select the behavior how shuffle and transposeare handled on pattern changes? or the possebility to decide in edit mode how the pattern themself behaves?



7) start performance.. refference akai mpc 3000.. this machine starts imeadeatly.. as master..and in external sync...

the trick here is that the machine dont waits for clock pulses or tempo information..it just starts imeadeatly on the start comand recieved..and than starts the calculation.. within the first quarter note its locked..

result... you can play the mpc 3000 as a drumer with a trigger pad.. and it just starts exactly when you hit the pad and not some little time later.. that is big fun.. and actually one thing that should be implemented in any modern sequencer..especially when it acts as master that is beneficial...
But also when the mpc 3000 is slave you can stop it at any time and start it by hand again..it will start imideatly without waiting for a clockpulse.. what actually results in a situation that with an mpc 3000 that actually works, and you dont need 3 trys or have to restart the master clock to get it tight.
Most machines on the market are pretty unpredictable when restarting them again while being clock synced because they wait for the next tick to start.. or even worse..wait for theire own internal get ready routines and than wait for the next incoming clock...

the mpc 3000 uses the set tempo as start tempo..so when master clock tempo and machine internal tempo are maching you dont even get that the first quarter note is a bit jumpy..

in any way this behavior sound musical.. a drummer that starts playing is also a bit jumpy on the first hit..but usually never too late... The mpc 3000 is really outstanding regarding this..and maybe the mpc 60 aswell..never measured an mpc 60 in such great detail as i did with my mpc 3000..modern mpc´s are not this good anymore regarding that details.. at least the mpc 2000 wasnt... i havent tetsted any later mpc´s


7.2) when the machine is sync-slave it would be nice when, as in the akai mpc 3000, any start comand is performed as described.. but.. an option would be nice..where starts are quantized to the next one..
therfore the modern sequencer should be able to read song position pointer if available..
or just counts the absolute amount of clockticks and restarts only after every 96th tick..

That comes in handy when the machine acts as din sync interface for macines that need to be stopped to enter the write mode ( 808 for example ) . that should be a global setting...
in any case the machine should be able to act as din sync master while being a mid clock slave...
in ideal with an own offset delay for the din sync output.. that would be perfect to act as 808 sub master... i reality din sync machines are usually earlier than theire modern midi brothers... so if the dinsync out while beeing a slave needs a little process delay it probably wouldnt hurt much anyway...

8 ) dejittering external clocks.. of cause we dont work with jittering clocks..but many do..

again the mpc 3000 as an example..this machine has its legendary name as time keeping tight running machine not at last because it actually is dejittering incoming clocks...

So its actually tighter than the clock it recieves.. simple trick.. as soon this machine has set its tempo after its imeadeate start..after the first quarter note.. it applies an smoothing of maybe 1 bar ( maybe a second?) to the incoming clocks... you can test that by applying tempo changes to the mpc 3000..it reacts late..with a lag.. cant tell exactly how big the lag is.. but its easy to get...this machine is dejittering...no imideate followig on any little tempo fluctuation...not bad sounding ..rather musical..

So it starts imeadeatly.. gets the tempo wright within 1 quarter note.and afterwards is dejiitering incoming clock and reacts musicaly lagged to tempo changes..

applause to Roger Linn.. great design. the ideal behaviour of a slaved sequencer..already concieved in the 80´s..

Its a total musical missconception that a clock slave has to follow the clock like a slave in realtime. thats just a primitiv because simple algorythm to handle incoming clock..actually a no algorythm..just 1:1...
And so any usb related jitter is transported to the musical system.. instead just acting musicaly.. no band is performing a tempo change within a 16th note.. a lag on a tempochange is just natural..

the main reason why ableton live is bad as clockslave while native instruments reaktor is perfect..

try tempo changes on reaktor and you will see the lag

*
mac book 2,16 ghz 4(3)gb ram, Os 10.62, fireface 400,

TimothyBeach
Posts: 7
Joined: Sun Mar 11, 2007 6:12 pm
Location: San Francisco Bay Area, Ca, USA

Re: MIDI sync weirdness

Post by TimothyBeach » Wed Jun 09, 2010 8:08 pm

broc wrote:I still think that syncing DAWs with midi clock is inherently problematic.
The problem is that each arrangement/set has a specific latency depending on the plugins used.
So you need to re-adjust the sync delay everytime when a new set is loaded on the master or slave.

This problem may not occur with MTC as time code can be incorporated into delay compensation.
I've never heard of anyone getting dependable sync from midi sync/ beat clock (Live calls it midi sync, Pro Tools calls it beat clock, either way, 24 clock signals per beat (ie quarter note) - correct me if I'm wrong)

I have had good success using MTC for many reasons. MTC uses an actual bar/beat positional reference, unlike midi clock. It uses smpte as a reference point. If you get your smpte mtc settings the same on both machines and account for any delay you experience, you shouldn't have any problems with drift. However, if the smpte settings are different between machines, you'll experience drift every time. I use PTHD to sync Live or DP quite frequently. PTHD has a preference setting for automatic delay compensation for external MTC. When that box is checked and the smpte settings are the same, it's all good.

The thing to remember is that you have to have the tempos set the same on both machines. if you have tempo changes in your set, you must export the tempo map from the master to the slave.

If using to Live machines, print the clicks from the master and the slave, if they don't line up, use Live's offset until they do.

Again, I've never heard of anyone achieving tight, dependable sync between daws using midi sync/ beat clock.

The key here is the type of sync you are using.

TimothyBeach
Posts: 7
Joined: Sun Mar 11, 2007 6:12 pm
Location: San Francisco Bay Area, Ca, USA

Re: MIDI sync weirdness

Post by TimothyBeach » Wed Jun 09, 2010 8:30 pm

I was just informed on another sync issue thread that Live cannot run as an MTC master, which seems very strange to me. Anybody have any further information about this?

3phase
Posts: 4648
Joined: Fri Sep 26, 2003 3:29 am
Contact:

Re: MIDI sync weirdness

Post by 3phase » Wed Jun 09, 2010 9:14 pm

it cant.. and in theory you can have a very tight sync with beat clock..

however not any software company is able to achive that... reaktor in stand alone from native instruments is the positive example on my machine.. i also remember that there was times where ableton live worked better as clockslave but i am not sure about that... maybe just the tempo display didnt indicated the tempo changes..

you allways get it when doing recordings in slave sync.. actually great that ableton live allows that..but without dejittering you have a lot of warpmarkers with ll the tempochanges set than...

of cause the master clock has to be stable... you cant expect a program to run 100% tight and on the source tempo when your clock is allready scrambeld..

i am not sure if oc´s are able to send out a straight clock.. i never found one sofar that wasnt heavy jittering..

most hardware drummachines are very stable thou...
mac book 2,16 ghz 4(3)gb ram, Os 10.62, fireface 400,

Post Reply