Reconstructing original releases from box sets with ChatGPT and Yate

I have accumulated many large box sets over the years. A particular kind was especially prevalent during the 1990s: The Complete [Label] Recordings of [Artist].

Although Yate is a Mac program, I’m sure this method could easily replicated on a powerful Windows-based metadata editor, and there is nothing special about ChatGPT that would prevent anyone from using another LLM tool.

These sets were generally discographical rather than album-based. They arranged the music chronologically by recording session and often included alternate takes, rejected performances, previously unissued material and fragments of studio history. A single session might occupy much of a disc, while the two sides of an original 78 rpm record could be separated by several tracks or even placed on different CDs.

For someone interested in how the music was recorded, this was ideal. For someone interested in how it was originally released and heard, part of the picture disappeared.

Labels seem much less likely to undertake reissue campaigns of this scale today. When a substantial catalogue box does appear, it is more likely to be something resembling The Complete [Label] Albums of [Artist]. That preserves the original albums, but it is a fundamentally different kind of project. The earlier chronological boxes tried to document a recording career at the level of sessions, masters, alternates and unissued takes; some, say the Complete Charlie Parker on Verve, were exhaustive to the point of being exhausting.

I value that approach and do not want to replace it. However, I also want to recover the original records hidden inside those chronological sequences.

That is why I have been using ChatGPT and Yate to reconstruct the original 78 rpm records, 45 rpm singles, EPs, 10-inch LPs and 12-inch LPs represented within these boxes, and then present them as individual releases in Roon. After a few prompts with ChatGPT, and no programming knowledge, it now accepts a Boxset title, and after scouring Discogs, Jazzdisco, and various other discographical sites gives me a reference table all the original releases. I can request that it give me Yate Actions to retag everything in the boxset into its original object form, whether that be 78rpm, 10" LP, 45rpm, EP, or LP.

How I use ChatGPT

I provide ChatGPT with the title of the source box set. ChatGPT is then used to research and map the original releases.

For each project, it:

  1. Identifies every recording by its box-set disc and track number.

  2. Researches the original singles, EPs and LPs.

  3. Establishes catalogue numbers, release years, side order and artist attribution.

  4. Distinguishes issued masters from alternate and unissued takes.

  5. Identifies mono, stereo and catalogue variants.

  6. Maps each original release back to the corresponding box-set tracks. comparing track lengths.

  7. Records objects that cannot be completed from the source material.

  8. Generates importable Yate actions for the reconstructed releases.

  9. Tests those actions against a simulated version of the box-set track structure.

The same recording may have appeared on an original single, a later LP and several reissues.

The results still require critical review, and the provided HTML file records conflicts and omissions are rather than concealing them.

How I use Yate

I tend to copy the Boxset into a sandbox and let Yate perform the actual metadata changes on these copies of my local audio files.

The actions generated through ChatGPT match each recording by its existing box-set Disc Number and Track Number. They then write the reconstructed:

  • Album

  • Artist

  • Track Number

  • Track Count

  • Disc Number

  • Disc Count

  • Year

The audio itself is not changed. The actions also preserve the filenames, track titles and metadata fields that do not need to be rewritten.

All I need to do is drag the sandboxed copy of the boxset into Yate, drag the ChatGPT provided .plist, and select which retagging action to perform on the files.

The reconstructed files are then imported after inspection into Roon as individual releases.

The Dinah Washington example

The attached example is based on the seven volumes of The Complete Dinah Washington on Mercury, which I had merged into a single 21-CD set. I prompted ChatGPT to recognise that I had merged the 7 volumes of 3-CD boxes and let the reconstruction begin.

The merged source contains 447 tracks. From those tracks, the project reconstructs:

  • 87 Mercury and EmArcy single programs

  • Four 10-inch LPs

  • Twenty-one 12-inch LPs

  • 112 individual physical-release programs

A README.txt explains how the reconstruction and Yate actions work, which fields are changed, and the limitations that need to be understood.

A reference.html is a readable catalogue of the reconstructed objects. It shows the catalogue numbers, years, formats, artist attributions, original running order and corresponding locations within the 21-CD source.

The HTML file can be opened directly in a browser. It allows the reconstruction to be examined without requiring Yate or access to my music files.

The complete working package also contains the Yate plist, machine-readable reconstruction data, detailed tagging maps and validation results.

Some objects remain incomplete

Not every original record can be fully reconstructed from a particular artist box but the reference file is good at telling me that.

An LP may contain an instrumental performance on which the featured artist does not appear. A duet album may include solo performances by the other singer, or a track may be an instrumental. A compilation may contain earlier recordings made for another label. Those tracks are understandably absent from a box devoted to one artist’s Mercury recordings.

In the Dinah Washington project, five LPs are necessarily partial for reasons of this kind. They are identified as partial reconstructions in the documentation. Missing tracks are not guessed, substituted or silently ignored.

Handling Deliberate duplication

A single recording may belong to several historically valid objects. It may have been issued first as a single, reused on a 10-inch LP and subsequently incorporated into a 12-inch album. I can apply an action to reconstruct Core LP programs, export that to my library, then choose to apply another retagging action to reconstruct maybe singles if they are underrepresented, or even reconstruct an individual object selectively.

Here I chose only the complete 12" LPs to reconstruct.

I have applied this method to quite a few Mosaic sets; later Blue Note sets are very straightforward almost in LP order and exhaustive. Other sets of recordings up to about 1950 tend to be also straightforward, and it’s much more fun for me to listen to a 78rpm object as it was intended. Listening to the Illinois Jacquet solo on Lionel Hampton’s Flying Home / In the Bag is a different experience to hearing it squeezed into an LP/CD program.

It’s the 10"LP versus 12"LP era which still require my decisive input; do I select the 10"LP or prefer the 12"LP which may have been released only a couple of years later.

The process is still developing. Every box exposes new complications, including joined singles, reused masters, incomplete LPs, changed artist credits, alternate catalogue numbers and inconsistent modern metadata. Roon obviously struggles to correctly identify a pre-war 78rpm.

For me, that is part of the attraction. These box sets are not merely collections of tracks. They are compressed discographies. ChatGPT helps recover and map the original objects within them, Yate applies the resulting metadata in a controlled way, and Roon provides the space in which both the box-set chronology and the original release history can coexist.

1 Like

if someone wants to tinker here is a good starting prompt that could be edited for another metadata editor or LLM.


Reconstruct the original commercial releases contained in this CD box set:

[BOX-SET TITLE]

Use ChatGPT for research and mapping, Yate for metadata editing, and Roon for browsing and playback.

Establish the source

Using the title alone, identify the artist, issuing label, catalogue number, edition, number of CDs and complete disc-by-disc track listing.

Research these details rather than asking me to supply them. If materially different editions share the title, explain the differences. Proceed with the clearly identifiable edition, stating your assumption. Ask me to choose only if the ambiguity would change the reconstruction.

Do not invent missing source information. Distinguish verified details, reasonable inferences and unresolved questions.

Assume my source files retain the box set’s correct original Disc Number and Track Number. Use that pair to identify each recording. If the title denotes several separately numbered volumes, establish and document a combined numbering convention.

Research the original releases

Identify the original 78 rpm singles, 45 rpm singles, 10-inch LPs and 12-inch LPs that can be reconstructed from this edition.

Verify original labels, catalogue numbers, release dates, artist credits, side assignments and running order. Distinguish original issues from later reissues, release dates from recording dates, and issued masters from alternate or previously unissued takes.

Do not substitute a different performance merely because its title matches. Check matrix numbers, take identifiers, recording dates and durations where available.

Use reliable discographies, label documentation, contemporary catalogues and legible record or sleeve scans. Cite sources. Identify incomplete releases, missing recordings, ambiguous matches and catalogue variants. Do not claim completeness without checking.

Create the mapping

Provide a table containing:

  • Original label and catalogue number.

  • Format, release title and artist attribution.

  • Original release year.

  • Side and position within the original release.

  • Track title and master or take identifier where available.

  • Source CD Disc Number and Track Number.

  • Supporting source and any uncertainty.

Keep unresolved recordings unchanged. Account separately for alternate and unissued takes that do not belong to an original commercial release.

Where one recording appears on several original releases, specify the working copies needed for each assignment. Preserve the chronological source set.

Metadata conventions

For two-track singles, use “Side A title / Side B title” as the Album title, with Side A as Track 1 and Side B as Track 2.

For LPs, use the original album title and running order. Document the original sides and catalogue number.

Use the original release year for Year. Set Artist and Album Artist according to the original release attribution, preserving track-specific differences.

Update Album, Artist, Album Artist, Track Number, Track Count, Disc Number, Disc Count and Year as appropriate. Explain the Disc convention.

Preserve audio, filenames, track titles, composers, artwork and unrelated metadata unless explicitly authorised otherwise.

Yate implementation

Generate an importable Yate action using documented, supported syntax. Research the action format where necessary. If compatibility cannot be established without knowing my Yate version or inspecting an exported action, identify that limitation and request only what is essential.

Match recordings using their original Disc Number and Track Number before changing those fields.

Because my actual files have not been supplied, distinguish validation against the researched track listing from validation against my library. Check duplicate identifiers, conflicting assignments, missing matches and track totals. Simulate the mapping where possible.

Do not present pseudocode as an importable action or claim that an action has run successfully in Yate unless it has.

Deliverables

Provide:

  1. A concise reconstruction summary identifying the source edition and assumptions.

  2. The complete mapping as CSV.

  3. The Yate action, or clearly identified manual instructions if a valid action cannot be produced.

  4. A README.txt explaining preparation, working copies, execution, limitations and Roon import.

  5. A reference.html documenting releases, source positions, citations and unresolved questions.

  6. A ZIP containing the deliverables.

Explain that the process reconstructs original release programmes and metadata using the box set’s audio. It does not reproduce the mastering or sound of an original pressing.

Complete as much as the evidence permits from the box-set title alone. Ask questions only when a material ambiguity prevents reliable progress. Do not use em-dashes.