# Fixing a mucked up library

**URL:** <https://discourse.beets.io/t/fixing-a-mucked-up-library/1357>\
**Category:** Help\
**Created:** [June 26, 2020, 7:17pm UTC](https://discourse.beets.io/t/fixing-a-mucked-up-library/1357 "2020-06-26T19:17:07Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![salamanders](https://avatars.discourse-cdn.com/v4/letter/s/a587f6/32.png) [@salamanders](https://discourse.beets.io/u/salamanders)\
**Post date:** [June 26, 2020, 7:17pm UTC](https://discourse.beets.io/t/fixing-a-mucked-up-library/1357/1 "2020-06-26T19:17:07Z")

</div>

I was too eager pressing “Ok” using Picard, and now I have a library where sometimes the tags are right, and sometimes they are very wrong.

Is there a way to tell beets “go through the library. get a fingerprint for each file. It is ok if this takes a long time. Now compare the metadata to the file - if it is mostly matching, great! However, do something with those that match poorly.”

`beet fingerprint` is good about making sure all my files have a fingerprint.

I’d also like to include acoustic fingerprint checking during `beet import /mymess/`

Any suggestions?

I’m new to beets, but it looks great! (and install on osx was very straightforward, thank you!)

---

<div class="post-metadata">

**Author:** ![adrian](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/adrian/32/4_2.png) [@adrian](https://discourse.beets.io/u/adrian)\
**Post date:** [June 26, 2020, 8:38pm UTC](https://discourse.beets.io/t/fixing-a-mucked-up-library/1357/2 "2020-06-26T20:38:01Z")

</div>

That’s basically what normal importing does with the chroma plugin enabled! That is, it calculates the fingerprint on the fly and uses that as a searching & matching criterion.

---

<div class="post-metadata">

**Author:** ![salamanders](https://avatars.discourse-cdn.com/v4/letter/s/a587f6/32.png) [@salamanders](https://discourse.beets.io/u/salamanders)\
**Post date:** [June 26, 2020, 8:52pm UTC](https://discourse.beets.io/t/fixing-a-mucked-up-library/1357/3 "2020-06-26T20:52:37Z")

</div>

Yay! I shall re-import. I do wish it would batch-ok the \>95% matches, for the parts it didn’t mangle, Picard did ok.

Any way to emphasize the “are you SURE these tags are right? Because it is a perfect acoustic match for this other song over here…”

---

<div class="post-metadata">

**Author:** ![salamanders](https://avatars.discourse-cdn.com/v4/letter/s/a587f6/32.png) [@salamanders](https://discourse.beets.io/u/salamanders)\
**Post date:** [July 1, 2020, 5:53pm UTC](https://discourse.beets.io/t/fixing-a-mucked-up-library/1357/4 "2020-07-01T17:53:17Z")

</div>

I’m trying more and enjoying more. Here is my latest question:  
When I get a crap match on an album, I get something like

```auto
/Users/ME/Music/Air Supply/Billboard Hits 1981 (1 items)
Finding tags for album "Air Supply - Billboard Hits 1981".
Candidates:
1. Air Supply - Greatest Hits (44.6%) (missing tracks, album, year) (CD, 1991, MX, Arista, CDL 1065)
2. (etc)

```

Heck, I dunno! 🤷‍♂️  
But then if I press “T” - it does the per-track acoustic fingerprinting, gets a 100% match on each track, and does it all with 100% confidence.

```auto
/Users/ME/Music/Air Supply/Billboard Hits 1981/03 The One That You Love.mp3
Tagging track: Air Supply - The One That You Love
URL:
    https://musicbrainz.org/recording/c2b83d0d-4557-421c-899a-b9a2b463d937
(Similarity: 100.0%)

```

Is this… good? Is this something I can tell it to go ahead and try without me typing T, with the hope for 100% matches?

Anything that results in a 100% confidence match, I’m all for doing it automatically.

---

<div class="post-metadata">

**Author:** ![adrian](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/adrian/32/4_2.png) [@adrian](https://discourse.beets.io/u/adrian)\
**Post date:** [July 1, 2020, 9:04pm UTC](https://discourse.beets.io/t/fixing-a-mucked-up-library/1357/5 "2020-07-01T21:04:04Z")

</div>

> [@salamanders](#):
>
> Is this something I can tell it to go ahead and try without me typing T, with the hope for 100% matches?

No, there’s no automatic way to switch from album-level tagging to track-level (singleton) tagging. You can import with `-s`, but that imports _everything_ as singletons.

---

<div class="post-metadata">

**Author:** ![salamanders](https://avatars.discourse-cdn.com/v4/letter/s/a587f6/32.png) [@salamanders](https://discourse.beets.io/u/salamanders)\
**Post date:** [July 2, 2020, 4:19pm UTC](https://discourse.beets.io/t/fixing-a-mucked-up-library/1357/6 "2020-07-02T16:19:49Z")

</div>

Great suggestion - I made huge progress with

1. Using a fancy find command to find all album folders with \>6 files, and move those to a new place and import them first normally.
2. Bulk import the smaller/non-albums using fingerprints via `import -sq`
3. last pass cleanup and resolving questions
