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: physics, numbers, and (non)linearity · objectively describing color · the eyes and the brain · color spaces · references, links, and unsorted stuff · Lux and lumen

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

Displays: · On display speed · Screen tearing and vsync · Arguments for 60fps / 60Hz in gaming‎‎ · Video display notes ·· Before framebuffers · Simpler display types · Display DIY


Video: file format notes · video encoding notes ·

Subtitle format notes


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

Digital sound and processing: capture, storage, reproduction · on APIs (and latency) · programming and codecs · some glossary · audio noise reduction · 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 · audio levels & technical gritty · devices you'll use · cables, connectors, adapters · Effects · sync



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


Electronic music:

Electronic music - musical and technical terms
MIDI ·
approaches to making sounds
Gaming synth ·
VCO, LFO, DCO, DDS notes
microcontroller synth
Modular synth (eurorack, mostly):
sync · power supply · formats (physical, interconnects)
DIY
physical
Electrical components, small building blocks
Learning from existing devices
Electronic music - modular - DIY
Modules and makers of note
Mutable instruments
DAW: Ableton notes · MuLab notes · Mainstage notes · audio plugins


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 regularity is much better than people can ever hear, and if it's a single device producing that rhythm, we will never hear that shift and it'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%), if they don't communicate at all they will go out of sync.

It may be good enough to not matter for a ten minute performance, but you would still need to start them perfectly synchronized.

...and if you can do that, why do that just once, and not continuously?


💤 Electrically, sync is based on a square impulse. A square impulse is electrically very well-defined in time (a little better than a slope or sine is), and square waves are also easy to produce, and consume. Digital circuits are made of them.

But this is just a single event that happens to be well-defined in time.

This is a tool towards a solution, but not a solution.



Solving by not solving

One quick and dirty solution is

  • have all sound-makes have no clock, and react to a pulse by making noise immediately
  • have just one central device care about all rhythm, and when to send such pulses

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

Modular synth works this way (mostly), and they seem happy, right?

Yes, but it puts all the responsibility on that one rhythm maker, and it better do everything you ever want. In modular, you often start buying modules just to get any variation of that central beat.


Sharing regular pulses

What if we tell another device when to move on to the next step in a sequence.

That makes things cooperate, e.g. all do things on a regular, e.g. four-to-the-floor beat.

...but is still restricted in other ways.

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.

A few of those might be easy (e.g. playing at half speed - just ignore every second pulse), but most of the others in that list comes down to how a device consumes them doing some complex tricks to whatever comes in - and each device would have to do it in their own way, which may not longer match very well.


Sharing faster regular pulses

Consider how you might design devices to do different things to the same regularity.

One way to look at it is that

e.g. 4/4 isn't the grid, 4/4 is regular on a much finer grid
That same finer grid can also do e.g. triplets.

One way to do that is by sharing the same grid, but do something every-so-many counts, and do it on a different amount of counts.

Say, the 4/4 does something new every 12 counts, the 3/4 does something new every 16 counts. Those two will match up every (4*12=3*16=)48 counts.

(The "4/4 moves on every 12 counts" is an arbitrary choice - the same idea would work with things quarter, half, double, quadruple that speed, just with different counts. Higher counts give you slightly more options, and MIDI's 24PPQN is faster, but beyond that you quickly go beyond basic music-theorhetical needs)

PPQN

PPQN (a.k.a. PPQ and TPQN) is fairly literal:

PPWN is the amount of electronic pulses (/ticks) before a listening device moves on to the next musical quarter note.


(note: electronically, a pulse [1] is a single, rigid, rapid transient that returns to its baseline. To try to 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 in application is often 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.




Measures

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).

Multiplying