How Accurate is the internal clock?

If you REALLY want to test the accuracy of the Pyramid in a fair way, you don’t do it with a DAW. You do it by going to a friend with a high end studio and you test it against something like an Antelope 10MX Atomic Clock. A hardware clock that is solid enough to run an entire studio’s networked audio, multiple DAWs and hardware from. Timestamp start, and timestamp 1200 beats. At 120bpm that should be exactly ten minutes. If you have a deviation, you’ll see it. Do that five or six times, and see what the average deviation is. There will be some, but if it’s a 1/16th at 120bpm in one hour…running unsynchronized from the DAW of your choice…that’s pretty fucking good.

Let’s do the math here real quick. 120bpm= 1beat/.5sec, 1/16 beat / 0.03125sec

So every hour, the Pyramid deviates by 0.03125 seconds from your DAW, and that’s a major problem for you???

*shrugs

2 Likes

No need to be passive-aggressive, Mr The Grump. The actual slippage (DAW vs Pyramid) at 125bpm is more like 10ms every minute. The microtiming that makes a groove “flow” relies on onsets staying in place relative to each other with ~1-2ms accuracy. If the actual beat positions are shifting by 10ms every minute (0.6 seconds every hour) relative to the DAW, and I’m assembling grooves from different parts of the recording, it does become a problem, yes.

As an addition to my above comment:
Having been a VST programmer in the past, I would like to draw your attention to the fact that a DAW is not synced to midi clock but to the ASIO clock. (if you use ASIO) . Which, BTW, is the main reason for the fact that a DAW can only use a single ASIO interface at the same time. It’s all about buffers and the clock of your audio interface. This has not been mentioned at all in this thread. Reaper, Ableton, Cubase all advance their counters according to what the audio interface hands over. A DAW can’t sync to midi clock. Without any linked clock between Pyramid and Reaper, I should say that the onset at 59.986 seconds is surprisingly accurate.

SPP is not a timer. It just sets a start offset for the receiver and is not dynamic, It is sent with the receiving device in a stopped state.

I didn’t read the whole thread through, but for your purpose I would have synced Pyramid to Reaper because Reaper’s midiclock is derived from the audiointerface’s ASIO clock so your recordings will remain sample accurate. I have read that Ableton’s midi clock is not reliable, I don’t know about Reaper: but my take is that a RME interface on an optimzed PC will perform better than a entry level interface on a off-the-shelf laptop. Just my 0.002…

Thanks, yeah I figured that out eventually, hah. I’ve also been informed on another forum that the drift compensation I’m doing by fudging the BPM on Reaper is likely going to depend on the temperature of the crystal oscillators in both the Pyramid and the USB audio device, and will shift a little over a recording session - which I’m actually seeing in action.

I did try setting the Pyramid to sync to Reaper, but the beat offsets shuffled all over the place, and it ended up sounding “drunk” (in comparison to the really stable timings I’m able to get running the Pyramid on its own).

I bought the Pyramid so I could make music without a laptop. Reaper is there to capture what I’ve made, after the fact. It doesn’t make sense to compose music based on micro-timings provided by the Pyramid alone if those micro-timings get destroyed as soon as Reaper has to be the master clock.

In case anyone’s interested - here’s a MIDI input JSFX plugin for Reaper so you can do what i’m doing

https://bitbucket.org/damian0815/reaperscripts/src/master/damian_MIDI_clock_BPM_sync_ringbuf

Did you try different buffersizes and (if the driver allows for it) thread priorities for the audio interface?
Did you check if you don’t have a significant amount of DPC’s which might cause hardware interrupts to be delayed?

There’s a firmware for midi gal which you can use to assess midi clock timing.

1 Like

I built a few MidiPal’s back, flashed one with the MidiGal firmware for the midiclock analyzer. Might do a test between my various Elektrons (MD,MnM, OT), the Midipal clock app and Pyramid midi clock.

The older Elektrons have a quite unstable (jittery) clock, and from using the Pyramidi clock, it seems much more stable. But I guess nothing beats the midi clock from my Expert Sleepers modules (ES3/5/ESX-8MD) as they are truly sample accurate, but they can be a bit of a pain to setup. Also curious how much latency and jitter merging ports with my Motu XT adds.