Under the hood

What the analyzer actually measures

You can sit down with a favourite sample, open the breakdown, and finally see why it always sat with one bassline and never with another. The answer is usually three things: air, density and phase coherence. Nobody looks at them, and all three are measured here.

Every figure below was measured on a library of 33,971 samples. We do not round them in our favour.

The “Why this sample” panel

Every match opens a panel that lists exactly what put the sample above the rest: key source and confidence, BPM source, role fit, brightness, centroid in Hz, air percentage, density, and stack fit against the reference.

“Why this sample” panel: score, key, BPM, character, signal and stack fit
A real screen from the app, unretouched

Look at the Key conf and BPM conf rows. The app says plainly when it is unsure — and that is not a disclaimer but the central feature: the confidence is calibrated, as shown below.

How a sample is picked

The ranking formula is literally this:

Confidence then demotes anything whose key is a guess. An uncertain match cannot outrank a certain one on a coincidence.

What gets measured

Everything measured turns into a filter straight away. Type, layers, character and brightness switch in one row, air is set by the knob on the right — matching rebuilds on every move, with no “apply” button.

Type · layers · character · brightness · air Enlarge

Key

Chroma with Shaath profiles, generalised Goertzel at exact note frequencies, harmonic summation, two-resolution analysis for the bass register.

Agreement with the pack’s own tag: 40.9% on pitch class and 29.3% including mode, across 1,500 samples. An important caveat: pack tags are not ground truth themselves — they are often wrong, or refer to the pack rather than the file.

Sample Orbit circle of fifths with the chosen key
Circle of fifths · relatives and compatible degrees

The honest claim is a different one: confidence is calibrated. Agreement rises monotonically with the reported confidence — from 26% in the bottom band to 86% in the top. The app tells you when it is unsure, and it is right about being unsure.

Tempo

When a tempo is present in the filename or tags, it steers detection and agreement is near 100% by construction. That is not an achievement, and presenting it as one would be dishonest.

The real figure is blind detection with no hint: 63.2% within 1 BPM, and 82.6% on 5–12 second loops, which is what most drum and bass material is.

Long files score far worse (around 31%), and the reason is worth stating: three quarters of files over 12 seconds are FX, vocal chops and risers whose length does not sit on a bar grid at all. There is no tempo in them to find.

Brightness

Energy-weighted spectral centroid, with thresholds at 1400 / 3000 / 5800 Hz.

It splits the library into even quarters (22 / 26 / 27 / 25%) and agrees with role: hats 96% bright, subs 85% dark.

Air

The share of energy above 9 kHz — its own axis, not a part of brightness. Median by role:

  • sub 0.001
  • atmo 0.018
  • kick 0.045
  • FX 0.082
  • bass 0.123
  • clap 0.161
  • snare 0.304
  • hat 0.506

Correlation with brightness is only −0.21: these are genuinely different questions. An atmo pad can sit high in the spectrum and have no air at all.

Density

RMS over peak while the sample is sounding, silence excluded. Median by role:

  • reese 0.540
  • kick 0.435
  • sub 0.318
  • bass 0.279
  • snare 0.254
  • hat 0.151

About 6% of the library reaches 0.45, which is where an engineer would call a raw sample already dense. The scale is deliberately not rescaled to flatter the number — a raw sample is meant to be worked on.

The air knob in the Sample Orbit filter bar, reading 63%
Air · filter knob

Air is not only a measured number, it is also a knob in the filter bar. You set how much top you want in the results and the list rebuilds around that — no listening through everything to weed out the too dull or the too hissy.

Match list: air, density and fit columns
The same values are visible right in the match list

Starting note for percussion

Kicks and snares have no key, but they do have a pitch in the hit. It is detected with an NSDF fundamental and shown in its own shade, distinct from the amber used for key conflicts.

Timbre vector

20 dimensions: band energies across 40/120/300/800/2000/4500/9000/13000 Hz and up, centroid mean and movement, rolloff, flux, decay slope, sustain, attack position, low drift.

Nearest-centroid role recognition from the vector alone: 33.8% against a 7.7% chance baseline.

Files other browsers will not open

Our own WAV reader, tolerant of headers that are not to the letter: fmt chunks of 18, 20 or 40 bytes instead of the canonical 16.

Not a detail: in a library of 33 971 samples, one whole pack is written with a 20-byte fmt chunk — 943 files out of 948. Standard reader libraries reject those outright, so in an ordinary browser that pack simply would not open. It is a common story with samples that came out of Kontakt libraries: the audio inside is plain PCM, only the header is malformed.

Stack fit

The measurement the “why does this sit with that” answer is built around. For a chosen reference sample the app cross-correlates the low band of both waveforms, searching over ±50 ms of alignment and both polarities, and reports:

  • how coherent the shapes are
  • how many dB the aligned sum gains over an incoherent one — +3.0 dB is the ceiling, meaning perfectly coherent
  • whether one layer needs inverting
  • and by how much to nudge it
SPIKE panel: reference sample and stack comparison
Set the reference once — everything is measured against it

Below 55% coherence the app says so and stops. Different shapes do not stack, and pretending otherwise would be passing noise off as a result.

How a sample reaches the analysis — and how it gets back into the project

The other half is that the loop closes: the library comes from your own disk, the question is asked by the project itself, and what you find goes straight back onto the track.

The library comes from your own disk

You point Orbit at folders — it walks them in the background and analyses every file: wav, flac, aif, aiff, ogg, mp3, wv. The analysis runs on your machine and the result goes into a local database. Originals are never rewritten or moved.

Sample Orbit: local libraries — folder sync with progress
Library · folders · sync

The project itself says what to look for

The CLAP plugin sits on the master bus and listens to what is playing. Pressing “В ORBIT” carries the detected key into the app and the list rebuilds around it; tempo comes along too when it is enabled. You never type the key — it is taken from your own track.

It listens in 2.4-second chunks for up to 30 seconds, and stops early once confidence is high enough. The audio thread only hands over a buffer: the analysis runs elsewhere and never holds up the DAW.

Sample Orbit CLAP bridge in FL Studio: OPEN, BPM, key wheel, AUTOSCAN, PUSH
CLAP · OPEN · wheel · AUTOSCAN · PUSH

What you find is dragged back out

From the list straight onto an FL Studio track, into an Explorer folder, or into a browser upload form. What travels is the real file on disk, not a copy from the Orbit database. In Explorer it lands in the folder under the cursor — not in whichever window happens to be open elsewhere.

Dragging a sample from Sample Orbit into a DAW playlist
Drop into DAW · Playlist

What the analyzer does not do

  • It does not rewrite or move your files
  • It does not send your library to the cloud — all analysis is local
  • It does not write music for you, and it does not replace your ears