Electronic music - sync

From Helpful
(Redirected from PPQN)
Jump to navigation Jump to search

The physical and human spects dealing with audio, video, and images

Vision and color perception: objectively describing color · the eyes and the brain · physics, numbers, and (non)linearity · color spaces · references, links, and unsorted stuff

Image: file formats · noise reduction · halftoning, dithering · illuminant correction · Image descriptors · Reverse image search · image feature and contour detection · OCR · Image - unsorted

Video: file format notes · video encoding notes · On display speed · Screen tearing and vsync

Simpler display types · Video display notes · Display DIY
Subtitle format notes

Audio physics and physiology: Sound physics and some human psychoacoustics · Descriptions used for sound and music

Noise stuff: Stray signals and noise · sound-related noise names · electronic non-coupled noise names · electronic coupled noise · ground loop · strategies to avoid coupled noise · Sampling, reproduction, and transmission distortions · (tape) noise reduction

Digital sound and processing: capture, storage, reproduction · on APIs (and latency) · programming and codecs · some glossary · Audio and signal processing - unsorted stuff

Music electronics: device voltage and impedance, audio and otherwise · amps and speakers · basic audio hacks · Simple ADCs and DACs · digital audio · multichannel and surround
On the stage side: microphones · studio and stage notes · Effects · sync

Electronic music:

Electronic music - musical terms
MIDI · Some history, ways of making noises · Gaming synth · microcontroller synth
Modular synth (eurorack, mostly):
sync · power supply · formats (physical, interconnects)
DAW: Ableton notes · MuLab notes · Mainstage notes

Unsorted: Visuals DIY · Signal analysis, modeling, processing (some audio, some more generic) · Music fingerprinting and identification

For more, see Category:Audio, video, images

Sync in audio in general

The problem

Devices can keep pretty damn regular rhythm with an internal clock.

On a short term this is much better than people can ever hear.

And if it's a single device producing that rhythm, that's perfectly fine on a long term too.

But soon, we want multiple devices to each make sounds.

If multiple devices keep their own rhythm, then however small the imprecision (could be order of 0.01%), the fact that it's never quite the same, plus that they don't communicate at all, means that these separated sources of clock signals will eventually still go out of sync.

They typically go out of sync so slowly that it wouldn't matter for a single musical performance -- if you could start them synced, but that is half the problem to start with - each is doing their own thing, solving that is sync. And once you do design to synchronize at all, then why do it just once, and not continuously?

Solving by not solving

One quick and dirty solution is somehow have one device care about all rhythm, and e.g. send pulses to other devices only to mean "make sound now". (or perhaps on every so-many pulses).

No matter how (ir)regular that one clock is, the others can't be out of sync.

Modular synth works this way (mosyly), and they seem happy, right.

Yes, but it means everything most do the same rhythm, or that central thing must introduce all the variation, or, as in modular, you start buying devices that do the variation.

Sharing regular pulses

Remember that parenthesized (or every so many) pulses?

That turns out to be really useful when you want devices to do different things, within the same regularity.

One thing can be doing 4/4, the other triplets, and if we're basing it on the same underlying cont, it's all fine.

This is the other method, the one that e.g. MIDI landed on.

The eagle eyed will already as "wait, how would you get four beats and triplets finishing up in exactly the same time?"

tl;dr: by having a faster underlying rate. But unless you just went "oh right", we'll get to it, roughly via by exploring how to do it awkwardly.

Electrically, sync is typically a square impulse, because that is electrically very well-defined in time (than a slope or sine), and square waves are easy to produce and consume. Digital circuits are made of them.

Functionally, sync just tells another device when to move on to the next step in a sequence.

This raises some questions.

Say, you can tell another device to progress and make a sound on every tick, then you can only share a fully regular sort of beat, e.g. a four-to-the-floor beat.

You couldn't have one thing play faster (e.g. an eighth-note melody over a fourth-note rhythm, a slow kickdrum and faster hihats), nor things like syncopation, off-beats, swing, triplets, slugghishly late beats, polyrhythm.

Assuming the ticks are entirely regular, then doing those things comes down to how a device consumes them.

The eighth-note melody on top of quarter note beat would be served by having one device progress only every second tick.

That kickdrum-and-hihat example by making the kickdrum only react every fourth or eighth tick.

This leads to...


PPQN (a.k.a. PPQ and TPQN) is fairly literal: the amount of electronic-level pulses (/ticks) before a listening device moves on to the next quarter note.

(note: electronically, a pulse [1] is a single rapid transient that returns to its baseline. To maybe avoid confusion with musical pulse, the below tries to use 'ticks' instead)

Choosing a quarter notes seems purely because it's music theory's default. It needn't actually be a quarter note in real use, you can play things faster or slower, but when combining more than one device, it's a sensible enough common denominator.

PPQN is often seen specifically 24PPQN, e.g. in MIDI beat clock, and the earlier DIN sync.

Why 24? Why not fewer? Why not more?

Fewer exists. More exists. 24PPQN just became a convention.

Consider our needs.

If 1PPQN is a quarter note,
then 2PPQN lets you talk eighth notes (and do basic syncopation/offbeats),
4PPQN sixteenths
That's already a lot of music covered - thirty-secondths are not very common, but 8PPQN will do that; almost nothing regular needs more than that

Yet if you want to do triplets, or clave-style rhythm, you often want a factor 3 in there, on top of a factor 2 or 4.

Also, there's swing. If you want swing in an otherwise entirely regular pulse, you'ld like some extra steps where you can place it, so it's very easy to want at least sixteenth-note positions (4PPQN for 16 things per bar).

So now we can easily argue for 6 or 8 or 12PPQN.

The math says you need the lowest common multiple, and it turns out that 24PPQN covers all the just-mentioned cases (and pulls in includes 32ths, even though those are hard to hear or play for most of us).

Remembering that 24PPQN means 24 input ticks move onto the next quarter note, 24PPQN allows

typical ones:
whole note (96 counts each)
half note (48 counts each)
quarter notes (24 counts each)
eight notes (12 counts each),
sixteenth notes (6 counts each)
32nd notes (3 counts each)
and triplets
quarter note triplets (16 each) (note this aligns only every second beat, at 48 ticks, 2*24 and 3*16)
eight-note triplets (8 each; more common for musically practical reasons)
sixteenth-note triplets (4 each),
thirtysecondth-note triplets (2 each),
sixtyfourth-note triplets (1 each)

Note that while 24PPQN (e.g. in MIDI) was probably aiming for 32nd notes and decent triplets, the way the least common multiple of 3 and 4 interact means it technically allows 64th-note triplets, a lot of 24PPQN devices don't expose this on the knobs - because you can't really hear it.

If you want polymeter, you can use the same musical pulse but have one thing loop earlier. This doesn't really change anything about PPQN, actually, and was simple enough to do even in early electronic music.

Triplets, swing

Triplets amount to mixing in a different meter.

If you're using MIDI input, its 24PPQN nature basically moves the issue to whatever is producing the rhythm, since it's probably doing both on different channels, or two different synced devices are doing it.

Which is the "rhythm doesn't exist in modular unless you say so" approach,

but it's also fairly simple to get two different related meters.

Pretty much all you need is two different rates, and if you have resettable (e.g. baby8) style sequencers they don't even need to be accurate to not go out of sync.

It's also easy enough to create a module that just generates triggers/gates at two or more different meters.

Although the cleverer way is often to have a faster master clock, and divide it in different ways -- like MIDI does, and it can make sense to allow doing this from MIDI input.

Swing is a little more specific to beat-making and mostly requires knowledge of where you are in a sequence, so would be part of a rhythm generator if anything.

Sync in the real world

MIDI beat clock

MIDI beat clock, a.k.a. MIDI timing clock, MIDI clock, is using regular MIDI connection to transmit a (single-byte) message at 24PPQN.

see also MIDI_notes#Beat_clock

MIDI TimeCode

MIDI Timecode, a.k.a. MTC, is a variant of SMPTE

Which isn't really a beat, so it turns out to be somewhere between finicky and useless to use for rhythm.
It's useful to mention, to point out that this is not the same as beat clock.
see also MIDI_notes#MTC

DIN sync

DIN sync pinout

DIN Sync[2] is a PPQN style pulse on a dedicated pin of a DIN socket. (A second pin set whether the drum machine should be running or paused. There are a few pinout variations.)

DIN sync is typically 24PPQN, and also known as Sync24.

Some old drum machines (e.g. some from Linn, Korg) used 48PPQN, many others 24PPQN (e.g. Roland). If DIN-synced between those, they'd go at twice/half speed. Which some people used intentionally, others has a converter box for.

Note on PPQ

MIDI and DIN sync is mostly 24PPQN but there are others.

Also, devices designed to interact with modular and/or some obscure drumkits may like a choice to emit 1, 2, 4 PPQN -->


One practical limitation to various of these is that a pulse alone can't communicate when a measure should start over, so it's not very hard to get two devices playing at the same speed, yet start/restart their measures at different times.

One workaround is to, if possible, prime each listening device at the start, and only then start the sync pulses.

Modular can sometimes may this slightly easier, by having a reset input on some modules. On some things (like baby8 style sequencers) this is part of the very basic design.

Modular sync

Modular synth sync - there's usually just one thing keeping regular time.

All other things don't think about regularity or run their own timer at all. They just react whenever that central thing (or something that alters that, e.g. divides it) sends an event (trigger or gate).