Remove all id3v1 tags, then other chosen

A two part question, first one I’d have thought was obvious but haven’t yet stumbled across it in the docs. Question part 1:

I’ve just installed Beets, followed the basic config instructions, and now appear to have achieved one important thing i.e. that Beets has automatically updated all my id3v2 tags to id2v2.4. Yay!

I now wish to remove ALL id3v1 tags completely. Will Beets do this with a simple command? I could only find instructions for removing music but not removing tags wholesale.

Question part 2:

Once I’ve acheived the above I then want Beets to scan my library (it’s faily large with many levels of folders, which is why I’ve never done it manually) and remove ANY tags that contain replaygain information. Again, haven’t found the instructions for searching out specific tag fields and then removing them.

Hi, and welcome to the community!

For removing id3v1 tags, I recommend looking into the scrub plugin. And for resetting RG information, I think you can just use beet modify on those specific tags.

Let us know how those go!

Thanks, Adrian for getting back so quickly :slight_smile:

If I were to say that the documentation isn’t at all clear to me, that would be offered as constructive criticism - either that or I’m just a bit dim! :stuck_out_tongue_winking_eye:

To be more specific: I did read the scrub section earlier, but it feels a bit unclear still. To quote it:

The scrub plugin lets you remove extraneous metadata from files’ tags. If you’d prefer never to see crufty tags that come from other tools, the plugin can automatically remove all non-beets-tracked tags whenever a file’s metadata is written to disk by removing the tag entirely before writing new data. The plugin also provides a command that lets you manually remove files’ tags.

I should perhaps point out that I used the Beet options to parse my existing music library ‘in place’ so I’m being careful. I DO NOT want another copy of nearly 500Gb of music, so I’m allowing Beets to write directly to my library. Reading on about scrub I clearly don’t want ANYTHING automated. My tags are complete, they’re just a bit overdone. I’m looking to modify and standardise but there’s nothing actually missing, and since therefore there is NO automation on import or anything else, I certainly do not want something to remove all the tags and reapply them. I only want to remove the specific tags or fields of tags.

Reading on to the manual section it says:

The scrub command provided by this plugin removes tags from files and then rewrites their database-tracked metadata. To run it, just type beet scrub QUERY where QUERY matches the tracks to be scrubbed. Use this command with caution, however, because any information in the tags that is out of sync with the database will be lost.

The -W (or --nowrite ) option causes the command to just remove tags but not restore any information. This will leave the files with no metadata whatsoever.

Now I’m confused. It appears that beet scrub ID3v1 is a command that would remove those tags? so what’s the -W option for? It appears I wouldn’t want that, as it would remove ALL tag information. Is that correct?

Sorry to be lengthy, I’m really just passing on the experience of someone who’s familiar with Linux, comfortable in cmd but new to this particular application. As such it doesn’t seem obvious.

Just to touch on modify it’s likewise a bit confusing:

Supply a query matching the things you want to change and a series of field=value pairs. For example, beet modify genius of love artist="Tom Tom Club" will change the artist for the track “Genius of Love.” To remove fields (which is only possible for flexible attributes), follow a field name with an exclamation point: field! .

That means field=! ? That will remove just that field from those tags? And regarding the -a switch… do I have to run this command twice therefore? I have some loose tracks not in albums, all the rest are in sub folders.

Thanks though - excellent program, been long overdue to sort out my tagging! :slight_smile:

Nope, you’ll want to use a beets query there—the same kind of query that beet list accepts, for example, to select which files to scrub.

Yes.

Almost—use field!, not field=!.

It depends on what you want to change. If you just want to change all the tracks, you don’t need to use -a and it will affect tracks that are and are not on albums alike.


On a meta level, it’s absolutely not a problem to ask questions if the docs are confusing! In fact, when you figure it out, it would be awesome to have help improving the docs. In the spirit of open source, consider someday making a pull request to the docs to help spell out the thing that you originally thought was confusing but now understand.

As a general strategy for figuring things like this out, I recommend (a) making a backup of your music (always a good idea!), and (b) trying things out on a small fraction at first, by using a query that just matches one or two songs. Then you can get a clear idea of what the various flags do by experimentation.

Oh, very helpful. And yes at some future point I will be happy to help with the docs - I’m a big fan of verbose manuals and guides :wink:

Just on modifying for a moment… I’m following your advice, experimenting on something I know only occurs once (a single album). I can point beet at the album successfully but I’m still really struggling to understand the command formatting.

Let’s say I want to remove a field inside my id3v2.4 tag for BPM. I can do this manually with kid3 so I know it can be edited. What I cannot get right is the proper command in beet.

I’ve tried all sorts of variations on:

beet modify -a 'name of album' BPM!

it scans the album, lists each track, and asks me to confirm y/N which I do.

When I open the files again in kid3 all the tags are still there - nothing has been changed!

I know that when I finally get it right I’ll be good to go, but again it’s frustratingly elusive finding that PRECISE syntax, despite having reread the doc pages about five times now, that is the difference between working as intended and doing nothing at all.

I’m just going to offer one other final (yes! haha) piece of feedback, based on yet more reading of the docs and further experimentation.

I couldn’t work out why, having manged to perform a simple scrub on an album, I would reopen said album in a GUI editor and notice that while all the id3v1 tags had gone, at the same time I suddenly had included loads and loads of ‘default’ tags such as

Arranger, Original Date, Composer, BPM, etc. but NONE of which - I repeat NONE of which were included on the files before the scrub command.

Ah well I said… maybe the database it built isn’t what I thought it was. It may well be wiping and rewriting tags from its .db file, but that isn’t information that was included in the files in the first place.

So I decided to just delete the database and state.pickle file, and begin again with a new import, and this time I would allow Beets to build its own database based on its advanced heuristics (I read that page - impressive).

I’ve now given up completely. Why? I collect quite a lot of African, ME and Latin music, some of it on compilations, some of it ripped from my extensive CD collection that began years ago etc. and much of which has been sourced abroad.

Off went beet, busily scanning (I used the recommended options including -ql) and it stopped at about the third album in with some options for me. Long story short - opening the musicbrainz webpage allowed me to search manually for those same release, artist that beet was asking me about but not offering, only to discover that probably less than half the albums just in that one directory (for Africa) aren’t even in Musicbrainz. Sometimes the artist’s name appears, but in context of one track in a compilation. By the time I’d used the -U option to just ‘leave it as it is’ I felt I was defeating the point of the entire exercise.

My point here is this is clearly excellent software, carefully thought out. But I don’t have particularly obscure or difficult tastes yet it cannot make even a 40% match with the first couple of dozen albums it comes across due to the fact that Musicbrainz, while good, is very ‘euro-centric’ and doesn’t cater at all well for non English releases. For me to have to babysit the creation of a database of close to 5000 albums, probably half of which is going to stop and ask me for options, just isn’t realistic I’m afraid. And since I haven’t been able to work out how/if I can simply edit a database created from a pure import read without any auto-tagging I think I’m going to wish you well with this excellent project and uninstall it. At the end of the day I could have been halfway through my collection by now using manual editing - the time it’s taken to learn, test and discover to be not performing as hoped.

I may just go back to plain old find and some regex :wink:

Thanks for all your helpful replies thus far.

1 Like

@new_to_beets: Your problem (collecting not-so-well-known music) is exactly what MusicBrainz is for! I myself am quite a lazy person, but I once (20 years ago or so) decided for myself: “If it’s not on MusicBrainz, you cannot put it into your collection and not play it.”

So I went, got an account on MB, and started learning and adding all the albums I had into MusicBrainz. Tedious work, but then again I have profited from what others put into MB and so why not give something back, for the benefit of all of us?

So, I’d like to invite you to come to MB and edit in all your African music, album by album. Why?

  • All others in the world who collect the same music will be happy, because it’s in MusicBrainz and they can find and tag their music using beets.
  • So can you.
  • Last not least, it’ll give you this warm and wonderful feeling of having done something for the community of music lovers all over the world …

It’s a thing I’ve so often come across: Hundreds of people all investing days and weeks of their lifetime sitting alone at home and manually tagging their music to perfection. And everyone does it for the same releases! Instead of one doing it, putting it up to MB, so all can use it and use their time to tag and upload their data for another album.

Let’s say, 100 albums need to be tagged. Researching and tagging an album takes, say, 10 minutes.

If one person tagged all 100 albums: 1000 minutes, nearly 17 hours of work. The next person collects the same music: Again 1000 minutes. And so on.

If 100 people tagged the same album at home, without MuscBrainz: 1000 minutes, 990 wasted, and still only one album tagged. At home. For a single user. The 101th user would still have the same work to do.

If 100 people tagged 100 different albums and put them up to MB: Still 1000 minutes, only 10 minutes per person. And all others benefit, because the data is already there!

How often have we ourselves been the 101th person, just tagging along from MusicBrainz data? 100 albums, say 30s per album = 50 minutes. Instead of 1000.

I myself have a collection of nearly 150,000 songs, collected during the past few decades, and they’re all in MusicBrainz, even the most exotic ones.

Buy it. Put in on MusicBrainz. Using MB data, rip it, tag it, play it.

Did I say I invite you to come over to MusicBrainz and edit your beautiful music in? :wink:

1 Like

Thank you - I shall certainly consider your invitation.

If I had more free time I’d be getting on with it now instead of writing about it :slight_smile:

A question for you: if I sign up for an account there and start “editing in” my music, what steps are there to validate my input? This is to ask - if I’m not entirely accurate about some aspect of an album, what prevents me from posting false information on MB and thereby others picking up and using that same false information?

It’s precisely because MB has been so helpful in the past that, like others, I’ve come to rely on it. Obviously putting incorrect information on there despite it being with best intentions, is almost as bad in my opinion as the information not being there in the first place.

MusicBrainz has a voting process, so your proposed edits have to be confirmed by other editors.

Fortunately, there are a lot of editors with a broad spectrum of interests on MusicBrainz, who check new entries and update older ones.

As a new user, you need 10 accepted edits and two weeks before you become a “normal user”. MB has quite a fine-tuned editing system: Adding a completely new artist or release is usually immediately valid, also your own changes to your own recent additions in case you made an error. Minor spelling changes (like changing the apostrophe or upper-/lowercasing something) are usually also immediately valid.

All other edits (if you are a normal user) usually require a 7-day “grace period”, or 3 unanimous votes, or approval by an “auto editor” (who gets elected and whose changes are immediate). Destructive edits are even harder (need additional 48 hours even after 3 “yes” votes). You are also required to cite reliable sources, as with wiki edits elsewhere, so colleague editors can verify your input.

That said, vandalism on MB is very rare, most errors are by people who don’t yet know how to edit something correctly, and usually noted and corrected by more experienced editors.

Like adrian said somewhere else, it’s much “blood, sweat and tears” by the MB editors which brought us a very reliable and consistent database, open to everybody. Then again, it’s easy to start out and learn by doing.

It always holds true: Work together, share knowledge freely, and the world will be a better place. :slight_smile: Like with Free and Open Source Software.

1 Like

Thank you for taking the time and care to explain all of that. I shall be happy to jump in and contribute when time allows, which won’t be quite yet but fairly soon.

And yes I completely agree that it’s great to give back, particularly because FOSS means we get to do all this for less than the price of a beer! Pretty darn cool if you ask me :slight_smile:

1 Like