The situation
A shelf of recordings — tapes digitised years ago, show archives, field recordings — with metadata that stops at the file name and the date. Nobody can find anything, and listening through it in real time is not an option.
The process we run
- Ingest and technical inventory. Every file is decoded (20+ formats incl. RF64/BWF; malformed WAV headers are repaired rather than skipped) and measured: duration, channels, sample rate, peak/RMS, amplitude envelope.
- Structure detection. A recording is split into segments at real boundaries — silence gaps and harmonicity changes — and each segment is classified as speech or music.
- Speech segments. Spoken language identification, then timecoded transcription. Names, places, dates and topics for the catalogue entry come from the transcript.
- Music segments. Audio fingerprinting against the rights databases returns title, performer and identifiers where a match exists.
- Cut and route. Segment boundaries become a cut list; the recording is split into individual assets, and the analysis results are handed to the asset management system as structured metadata.
- Review and confirm. An archivist sees the proposed boundaries and metadata side by side with the waveform and confirms or corrects them. Only then does it become catalogue data.
What it is honest about
This is an automated first pass, not an autonomous cataloguer. Crossfaded transitions between tracks are not reliably detected by silence analysis; transcription quality varies by language and recording condition; fingerprinting only finds what is in the database. The point is to turn a week of listening into an afternoon of confirming.
Where it runs
The analysis steps are .NET services that run next to an existing archive — on premises or as a cloud batch — and write back into it. See AudioAnalyzer for the toolchain and AI analysis tools for media asset management for a project that uses it.
Worked example: a broadcast archive with a catalogue but no audio
The clearest way to see the process earn its keep is a case where the catalogue was not the problem. A batch of recordings from a folk-music radio archive already had full, titled track lists — programme names, performer credits, running order, all captured during the original paper cataloguing. What was missing was the link between those entries and actual audio: each item pointed at a digitised tape, but no per-track boundaries had ever been cut. Structurally the same problem, entered at step 5 instead of step 1.
Where duration alone goes wrong. The first pass matched silence-gap segments to the catalogue's declared track durations by best fit. On a simple recording that works. On a live broadcast it does not: a prize-giving ceremony, an audience interview and applause between numbers all produce segments of plausible, track-like length. The matcher confidently assigned a spoken award ceremony to a fiddle tune's slot because the two ran the same length, and the fit score looked fine.
Only the transcript caught it — a Norwegian prize announcement where an instrumental springar was declared. Checking forward and backward from that one mismatch turned up eight consecutive tracks shifted against real boundaries, all with acceptable-looking duration scores. The lesson is structural: wherever spoken material runs to music-like lengths, duration matching needs a second signal before a boundary is trusted.
What the transcript recovered. Broadcasts of this era are heavily introduced — the announcer names piece and performer immediately before it plays. Searching the transcript for those introductions turned duration guesses into confirmed timecodes for almost every track. It also found something the catalogue never listed: after the prize was awarded, the winner is asked for an encore, announces it and sings the opening line — and that line matched a separate catalogue entry that had no recording of its own. One archive's untranscribed audio supplied the missing audio for a different item.
One technical note worth keeping. Speech-to-text run as a single pass over a long recording degrades after several minutes and starts emitting placeholder text, with no error to flag it. The same audio run in short overlapping windows transcribes cleanly throughout. For archive-length material, step 3 must run windowed regardless of the speech model used.
Corroboration between two digitisations. The archive held two recordings of the same broadcast day, one full-length and one shorter. Comparing them was not duplicate detection but corroboration: repeated introductions independently confirmed identities and durations, and the tracks missing from the shorter one confirmed a deliberate broadcast edit rather than a misidentification. A numbering field that looked like a conflict between the two turned out to be two unrelated paper-era sequences — catalogue fields do not always mean what their names imply, and content evidence outranks them.
What stayed a human call. One boundary never separated cleanly: a sung introduction the catalogue listed as two short pieces, with the transcript running continuously across both titles. Rather than force a split the analysis could not support, it was flagged and handed to an archivist together with everything the automated pass could establish.
The tally for that item set: 13 of 14 items relinked to real, timecoded audio; 8 misplaced tracks found and re-cut on a single item; 1 boundary deliberately left for a human ear. The week of listening this process exists to avoid became about two days of transcript-reading and cross-checking — a reminder that "automated first pass" sometimes means surfacing the hard case rather than removing it.
Working with us on this
We run this as a fixed-scope engagement: first an analysis pass over a database dump or export — no access to your live system needed — which tells you how far catalogue and material have drifted apart and what can be settled automatically. Then the correction run against a copy, reviewed by your archivists, before anything is written back. See archive data analysis and correction or write to Office@ITs4BM.com.