Skip to content

Glossary

Score2 edited this page Aug 10, 2026 · 1 revision

Glossary

Terms as AudioHub uses them. Where a word has a looser meaning elsewhere, the definition here is the one the UI and this wiki mean.


Jitter buffer

The receive-side buffer that holds arriving audio frames briefly so that packets which arrive late or out of order can still be played in the right place.

Its depth is the single largest tunable contributor to latency. The latency setting is effectively a target for this buffer's depth, expressed as an end-to-end goal rather than a raw frame count.

The name is slightly misleading here. On our reference link, network jitter is 0.18 ms at p95 with zero loss — the buffer is not protecting against the network. What it absorbs is the sending process's own scheduling stalls. See Latency.

Underrun

The moment of playback arrives and the buffer has nothing to deliver.

The criterion is exact and possibly counter-intuitive: an underrun occurs if and only if the specific next frame is missing — it does not depend on how full the buffer is overall. Losing one packet causes exactly one concealment whether the buffer holds 2 frames or 12.

Buffer depth therefore buys lateness tolerance, not loss tolerance. A packet that arrives late but within the buffer's depth still makes its slot; a packet that never arrives is an underrun at any depth.

After an underrun the buffer re-primes from a low water mark, which is why underruns tend to arrive in clusters rather than evenly spread.

PLC — packet loss concealment

Synthesising plausible audio to fill a frame that never arrived, instead of inserting silence. Silence is audible as a click; concealment usually is not.

Counted separately from hard silence fills in the diagnostics, because they mean different things: concealment means the pipeline coped, silence means it ran out of material to cope with.

Concealment ratio

The share of output that was not built from the peer's original samples — concealed frames plus silence, over total frames played. It is one of the three components of the quality grade.

Half-frame concealment

Specific to the two deepest quality rungs, which split each 10 ms frame into two 5 ms packets on the wire. When only one half arrives, the receiver delivers the frame with the missing half concealed rather than waiting for it. See Audio Quality.

Tier

The classification of how a peer's audio is actually travelling: Tier 0 direct over UDP, Tier 1 media relayed over TCP, Tier 2 everything multiplexed onto a single connection.

A tier is an attribution tool, not a diagnostic field. Its purpose is to put the cause next to the raised latency number at the moment you read it. Internal identifiers like tier1 never appear in the UI — it says "relayed over TCP".

Full detail: Transport Tiers.

Taper

The curve mapping a volume slider position to actual gain. A slider at 50 % does not mean half the amplitude; what it means is decided by the taper, and every device may use a different one.

Four distinct tapers were measured across four devices — square-root, linear, squared, and a power law — three of them on macOS alone. This is the reason loudness and slider position cannot both be synchronised. See Volume.

Amplitude vs decibels vs slider position

Three different quantities that all get loosely called "volume":

  • Slider position — what you drag, 0 to 1. Device-specific meaning.
  • Amplitude — the linear multiplier applied to samples. Mute is exactly 0.
  • Decibels — logarithmic, closer to perception, but mute is −∞ and every device places its floor somewhere different.

AudioHub carries amplitude on the wire. Never compare amplitudes to judge whether a volume changed by much; equal amplitude steps are very unequal perceptually.

Rung

One step on the quality ladder — a (sample rate, bit depth) pair. Rung 0 is the highest quality; the number increases as quality decreases, matching the direction AUTO moves when a link degrades. See Audio Quality.

Sample rate vs bit depth vs bandwidth

  • Sample rate (kHz) — samples per second. Sets the frequency ceiling.
  • Bandwidth (kHz) — the highest frequency that survives, always half the sample rate. Derived, never measured.
  • Bit depth (bit) — precision of each sample. Affects noise floor only; it has no effect on bandwidth.

16 kHz and 16 bit are different axes. Every quality label writes both.

AUTO

For quality: move down the ladder one rung on loss above 5 % or jitter above 15 ms, move up one rung after ten consecutive clean periods, never above rung 2. For latency: adapt the target to measured network quality rather than holding a fixed figure.

Underrun vs dropped vs stale

Three ways audio goes missing, with different causes:

  • Underrun — the receiver had nothing to play.
  • Dropped — a buffer was full and discarded something. Which end it discards (oldest or newest) changes what you hear: consistently late but continuous, or late and broken up.
  • Stale — on a degraded link, a frame that has waited past its 200 ms budget is discarded deliberately before sending. This is not a new loss source; it is leaving the gap that lets the receiver's concealment work.

Unattributed

Measured total latency minus the sum of all known stages. A persistently large value means there is a buffer in the path that AudioHub is not modelling. It is the completeness check on the latency figure, not an error term.

The ≥ prefix

The displayed latency is a lower bound, because at least one stage that is known to exist could not be read. It is never resolved by substituting zero.

Permanent for Bluetooth, HDMI and AirPlay outputs, whose platform APIs report 20–30 ms for devices genuinely adding 150–250 ms. See Latency.

Side tap

Reading system audio without becoming the system's output device. AudioHub's system audio capture is always a side tap: your output device and its volume are never changed. The alternative — requiring you to point system output at a virtual device — is explicitly out of bounds for this project.

Fan-out and mixing

A machine in share mode can serve several peers at once: its microphone is fanned out to all of them, and audio arriving from all of them is mixed into its output. A machine in a consumer mode uses one peer at a time.

Pairing

The one-time exchange establishing mutual trust between two machines, via a 6-digit PIN. Once complete, trust is bidirectional — each appears in the other's list — and it survives restarts and address changes. Unpairing revokes it on both sides and removes any virtual devices on both sides.

Fingerprint

A digest of a machine's public key, shown in the UI and used to verify identity when connecting. Any machine that can reach the control port obtains it during the handshake anyway; it is displayed so you can confirm you are pairing with the machine you think you are.

Clone this wiki locally