Tagging 4,200 live recordings by hand, then letting a script guess

这篇内容暂时只有 English 版本,以下是原文。

I keep a folder of live recordings, mostly audience tapes, about 4,200 FLAC files across 900 shows. They came from trades over the years, so the tagging is whatever the taper’s software wrote in 2007 — venue in the artist field, track numbers jumping from 03 to 05, dates as “Feb 11 1994” in some files and “1994-02-11” in others. I wanted to actually listen by date and venue, so the tags had to be normalized before any player would sort them sensibly.

Hand-editing 4,200 files in a tag editor is possible but I stopped after 200. What worked was a two-pass approach: a script that makes a guess, and a review file I correct by hand. I used Python with mutagen, and the key rule was never to write in place until I’d read the diff.

import mutagen
from mutagen.flac import FLAC

for path in files:
    f = FLAC(path)
    date = f.get("date", [""])[0]
    if "-" not in date:
        # try to parse older formats into ISO
        pass
    # write nothing yet; append to review.csv

The review file had one row per file: path, current artist, current title, guessed date, guessed venue, and a confidence flag. I sorted by confidence so the easy hundreds went fast, then spent the slow hours on the ambiguous ones. Only after that did I run the write pass.

Why the split matters: tag rewrites are destructive and easy to get wrong. A bad date guess is worse than a missing one, because a wrong date sorts confidently and hides the gap. The two-pass cost me maybe six hours of review, but I never lost a show or had to restore from backup.

The part that failed was guessing venue from the folder name. My folders were named inconsistently — some by venue, some by city and date, some by taper handle. The script’s accuracy there was around 60%, so I dropped venue guessing entirely and left those blank for manual entry. If your folder names are clean and consistent, the same trick might work for you; mine weren’t.

What’s the smallest amount of metadata you’d accept losing to a script before you’d rather just do it by hand?

0
赞同度 100% · 0 条评论 · 4 阅读

0 条评论

支持 Markdown · 回复会实时推送给对方

还没有评论,写下第一条。