Measuring a generated catalogue.
155 generated tracks — 7.4 hours of audio — reduced to twenty numbers each: spectral centroid, flatness, zero-crossing rate, thirteen MFCCs, and six structural descriptors taken off the self-similarity matrix. The interesting part is not the summary. It is that three of the six structural columns turn out to be track duration wearing a disguise, and one of them is a parameter I set myself. This page separates what the instrument measured from what it only appeared to.
What was measured
Two tables, one row per track. Nothing here is perceptual — every column is a summary statistic over the waveform or over a self-similarity matrix built from it.
| Column | What it is | Reading | Verdict |
|---|---|---|---|
| centroid | Spectral centre of mass — "brightness" | 2800 ± 527 Hz | Informative |
| flatness | Noise-vs-tone ratio of the spectrum | 0.034 ± 0.014 | Informative |
| zcr | Zero-crossing rate — high-frequency content | 0.123 ± 0.034 | Informative |
| mfcc0–12 | Mel-cepstral timbre envelope | 13 dims | Informative |
| onset_s | Silence before the first detected onset | 3.65 ± 0.89 s | Informative |
| rep_score | Self-similarity mass off the diagonal | 0.944 ± 0.082 | Informative |
| diag_ratio | Diagonal concentration of that matrix | 1.096 ± 0.068 | Informative |
| n_sections | Segments found by the segmenter | 10 in 149/155 | My parameter |
| mean_seg_s | Mean segment length | r = 0.999 w/ dur | Duration proxy |
| novelty_peaks | Count of novelty-curve peaks | r = 0.979 w/ dur | Duration proxy |
Three columns that are really one
Before any finding, the columns have to earn their place. Half the structural block does not.
n_sections is fixed at 10 for 149 of 155 tracks. That
is not a fact about the music — it is the segmenter's cap, a number I chose
before running it. Which means mean_seg_s, computed
as duration ÷ sections, is duration ÷ 10 for 96% of the catalogue: it
reproduces track length to within 0.05 seconds and carries no
independent information at all.
novelty_peaks is subtler and more tempting. It
correlates with duration at r = 0.979 — longer tracks have
more peaks, because peaks accumulate with time. Read raw, it would say the
long tracks are the eventful ones. Divide it by duration and the illusion
collapses.
Two of these columns were never measurements. Reporting a catalogue-wide mean
for mean_seg_s would have been reporting mean track
length under another name, with a musical interpretation attached to it.
What survives
Four results that are not duration in disguise, and do not depend on a parameter I picked.
The fourth result is the tail itself. The twelve least repetitive tracks are not scattered — they are a coherent cluster: mean centroid 2164 Hz against 2854 Hz for the rest, and mean flatness 0.0152 against 0.0358, less than half. Darker and markedly more tonal than the catalogue around them. Isotope Garden, Suspended Pixels and Suspended Whispers sit at the extreme of both measures at once. Whatever the generator does by default, this corner is where it stops doing it.
Table view — all figures as numbers
| Quantity | Value | Note |
|---|---|---|
| Tracks | 155 | 7.37 h total, median 163.9 s |
| onset_s | 3.65 ± 0.89 s | range 1.34–5.60, no outliers |
| rep_score | 0.973 | median; Q1 0.930, Q3 0.991; 40 tracks > 0.99 |
| peaks / min | 34.4 ± 2.6 | r with duration = 0.009 |
| novelty_peaks (raw) | r = 0.979 | against duration — a proxy |
| mean_seg_s | r = 0.999 | against duration — a restatement |
| n_sections = 10 | 149 / 155 | segmenter cap, not a property of the audio |
| brightness PC1 | 92.5% | of variance in centroid + flatness + zcr |
| r(brightness, rep) | +0.474 | p ≈ 3 × 10⁻¹¹ |
| r(rep, diag_ratio) | −0.812 | two views of the same matrix |
| r(centroid, zcr) | +0.911 | why the three collapse to one axis |
| MFCC PC1–3 | 62.5% | timbre stays genuinely high-dimensional |
Method & limits
Each track was decoded to mono, summarised into the twenty features above, and written to two CSVs — one timbral, one structural. Every number on this page is computed from those two tables. Correlations are Pearson; p-values use the normal approximation at n = 155. The brightness axis is the first principal component of the three z-scored spectral features, sign-fixed so that higher means brighter.
What this cannot tell you. Every feature is a whole-track mean, so nothing here describes how a track evolves — a piece that begins sparse and ends dense has the same centroid as one that is uniformly mid-bright. The repetition score comes off a self-similarity matrix whose resolution is a parameter, the segmenter's cap is another, and both were set once and not swept. And none of these features are perceptual: spectral flatness is not "noisiness" as a listener hears it, only as the spectrum reports it.
The audio and its identifiers are not published here; the analysis is derived from the feature tables alone.