# The measured ceiling of the surviving 78rpm record

One row per 78rpm disc side, carrying the highest frequency at which that disc's programme
still stands above that same disc's own surface noise. 6,062 discs,
drawn at random with a fixed seed from the Internet Archive's Great 78 Project.

The unit is a surviving copy, not a recording and not a performance. Nothing here describes
what a recording chain inscribed. It describes what is left, on this copy, in this condition,
as this archive serves it.

## Files

- `edges.jsonl` — one JSON object per line, one per disc side.
- `schema.json` — JSON Schema draft 2020-12 for a row.
- `sources.json` — where each column came from, and the licence status of each source.
- `validate.mjs` — a dependency-free validator that re-checks every row, plus the digests
  and row count in `manifest.json`.

## What the edge is

Take the loudest tenth of the analysis frames, which is the programme, and the quietest
twentieth, which is the disc talking to itself. Subtract their smoothed power spectra to get
an excess curve in dB. Above the programme's ceiling that excess does not fall to zero: a loud
passage drives the whole groove harder and lifts the broadband noise with it, so it settles to
a small positive constant, recorded here as `asymptote_db` and measured over 13 to 17 kHz.
The edge is the highest frequency between 200 Hz and 12 kHz still clearing that constant by
6 dB.

`edge_hz` is null when nothing in the band cleared it. That is a refusal, not a zero, and
those rows must be excluded rather than treated as low values. Excluding them biases any
median upward, which is why the count is worth reporting alongside.

## Five things to know before using this

1. **It measures recoverable, not inscribed, bandwidth.** Sound cut into the groove but lying
   under the shellac noise is invisible to this statistic. A synthetic witness planted in a
   real 1917 disc is found at 25 dB below the programme and invisible at 27 dB below, so
   statements of absence are bounded at about that level and are not absolute.

2. **The statistic is sample-rate dependent.** All rows here are measured at 48 kHz. Measuring
   the same disc's 96 kHz preservation transfer gives a different number, because the analysis
   bin width sets how far the smoothing reaches. Resample before comparing across rates.

3. **The audio is equalised.** The files archive.org serves under an item's friendly filenames
   are the transfer engineer's preferred *equalised* channel, not a flat transfer, and the
   equalisation is era-correlated: electrical-era items typically carry a stated rolloff of
   -12 dB, acoustic-era items typically state none. `playback_turnover_hz` and
   `playback_rolloff_db` carry what each item's own description states. A null rolloff does
   not mean the file is flat; it means the description does not say.

4. **One reading is noisy.** Given only 10 seconds of a disc, the same estimator returns
   values spread across thousands of hertz. Given 90 seconds it is tight. These rows measure
   whole sides. Use the medians over many discs, not single rows, for anything load-bearing.

5. **The dates are the archive's.** Where both sides of one disc are catalogued separately,
   the two years agree 98.2 per cent of the time. That bounds the error from below and cannot
   see a date wrong on both sides.

## What is in here, at a glance

- discs with a measured edge: 5,999 of 6,062
- median edge, discs dated 1924 or earlier: 2,912 Hz (n = 2,428)
- median edge, discs dated 1928 or later: 4,597 Hz (n = 3,166)

That raw contrast is not the recording chain. Condition, repertoire, country and disc diameter
all move the edge on their own, and older discs in this archive differ from newer ones on every
one of them. The page linked below carries the matched comparison and the size of the gap
between the two.

## Reproducing it

The generator is `research/data-room/emit/record-ceiling.mjs`, and the measurements it reads
are produced by `research/the-ceiling-the-record-kept/`: `harvest.py` for the collection
index, `frame.py` for the seeded draw, `run.py` for the measurement pass, `controls.py`
for the four instrument controls. The audio is downloaded, measured and deleted, so peak disk
stays small however many thousand discs pass through, and `measured_sha256` is how you confirm
you fetched the same bytes.

## Licence

The measured columns are by the Artificial Wasteland and are released CC0 1.0. The descriptive
columns come from Internet Archive item metadata, which carries no licence statement of any
kind; see `sources.json`, where that is recorded as UNKNOWN rather than assumed. No audio is
redistributed here.

Full apparatus: https://artwaste.land/strata/the-ceiling-the-record-kept/
