GP SoftwareTwitter
Opus FAQsManualCommandsObjects

Batch-edit ID3-Tags of MP3-Files

These Buttons needs the small Command-Line Tool "ID3 mass tagger" which you can download here :
id3-078w.zip (87 KB)
Edit: The Downladpage is down, so I uploaded the original Zipfile to the forum.

I created some simple Buttons based on the examples given in the Readme-file. The Tool can do a lot more including "add Lyrics to ID3v2", and "Create Playlist". You'll find a complete list of Options and switches in the Readme.
You will have to edit the Path to "id3.exe" to where you have stored your copy of it to make the Buttons work.

  1. This Button will delete all ID3v1 and ID3v2 Tags from all Files in the Sourcefolder (Delete "-2"-switch to delete only ID3v1 Tags)
    Edit: With DOpus 10 The function of this button can easier be done with the new Metadata function. The Buttoncode to delete all Metadata from a file is simply SetAttr META *. The Button is still useful if you want to delete id3v1 or id3v2 Tags separately which can't be done with DOpus (up to now... :wink: ). Delete either the "-1" or the "-2" Switch from the code to do this.

<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Delete all Tags</label> <tip>Deletes all ID3v1 und ID3v2 Tags from all Files in Folder</tip> <icon1>#newcommand</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -1 -2 -d *.mp3</instruction> </function> </button>

  1. This Button Renames all Files in Folder to "Tracknumber Title.mp3.
    Edit: You don't need a tool for this because DOpus can do it itself:
    Rename *.mp3 FILEINFO TO "{mp3track} {mp3title}.mp3"

<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Rename All</label> <tip>Renames all MP3-files in current Folder to &quot;Tracknumber Title.mp3&quot;</tip> <icon1>#newcommand</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -2 -f &quot;%n %t.mp3&quot; *.mp3</instruction> </function> </button>

  1. This Button Copies ID3v2 Information to ID3v1.<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Copy ID3v2 to ID3v1</label> <icon1>#newcommand</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -2 -1u *.mp3</instruction> </function> </button>

  2. This one Removes embedded images and padding from all mp3's in the current folder.
    Edit: With DOpus 10 you can delete Images from MP3's. I don't know if padding is also removed by the command:
    Select DESELECTNOMATCH PATTERN="*.mp3"
    SetAttr META coverart

<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Delete Images</label> <tip>Removes embedded images and padding from all mp3&apos; in current Folder</tip> <icon1>#newcommand</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -2 -rAPIC -s 0 *.mp3</instruction> </function> </button>

  1. The last one Rewrites ID3v2 Tags keeping only the basic fields (Tracknumber, Genre,Artist,Album,Year,Comment and Total Tracks). Other field will be deleted/emptied.<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Rewrite Tags</label> <tip>Rewrites ID3v2 Tags keeping only the basic fields</tip> <icon1>#newcommand</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -2d -u *.mp3</instruction> </function> </button>

There is also an option to copy ID3-Tags from a selected File to another File: id3.exe -D source.mp3 -1 -2 dest.mp3 but unfortunately this copies also Title and Tracknumber, which is not useful for me.
Due to my lack of knowledge in writing batch-commands I couldn't come up with a Button that transfers only "Album, Artist, Genre and Year". I would be very happy if someone could create this and post it here.
Edit: DOpus 10 is doing a better job for this. You can copy the Metadata of a file by simply dragging the Data-Source-File to the Metadata Pane showing the Data of the Data-Destination-Files. Leftclick-dragging copies a standard-set of data (without Title and Tracknumber); Rightclick-dragging offers a menu where you can choose what to copy,

To make things easier here is a Menu-Button listing all five Buttons from my previous plus the two Buttons in my next post when you click on it:

<?xml version="1.0"?> <button backcol="none" display="icon" textcol="none" type="menu"> <label>ID3 mass tagger</label> <icon1>#play2</icon1> <button backcol="none" display="both" textcol="none"> <label>Rename All MP3&apos;s</label> <tip>Renames all MP3-files in current Folder to &quot;Tracknumber Title.mp3&quot;</tip> <icon1>#play2</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -2 -f &quot;%n %t.mp3&quot; *.mp3</instruction> </function> </button> <button backcol="none" display="both" textcol="none"> <label>Transfer Tags</label> <tip>Writes Tags of selected File to all Files in current Folder</tip> <icon1>#default:play2</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>@firstfileonly </instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -D {file} -1 -2 *.mp3</instruction> </function> </button> <button backcol="none" display="both" textcol="none"> <label>Write Tags using Filename</label> <tip>Writes Tags to &quot;Tracknumber&quot; and &quot;Title&quot; according to the Filename</tip> <icon1>#default:play2</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -2 -n &quot;%+1&quot; -t &quot;%+2&quot; &quot;* *.mp3&quot;</instruction> </function> </button> <button backcol="none" display="both" textcol="none"> <label>Copy ID3v2 to ID3v1</label> <icon1>#play2</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -2 -1u *.mp3</instruction> </function> </button> <button backcol="none" display="both" textcol="none"> <label>Delete Images</label> <tip>Removes embedded images and padding from all mp3&apos; in current Folder</tip> <icon1>#play2</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -2 -rAPIC -s 0 *.mp3</instruction> </function> </button> <button backcol="none" display="both" textcol="none"> <label>Rewrite Tags</label> <tip>Rewrites ID3v2 Tags keeping only the basic fields</tip> <icon1>#play2</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -2d -u *.mp3</instruction> </function> </button> <button backcol="none" display="both" textcol="none"> <label>Delete all Tags</label> <tip>Deletes all ID3v1 und ID3v2 Tags from all Files in Folder</tip> <icon1>#play2</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -1 -2 -d *.mp3</instruction> </function> </button> </button> [/b]

See also: For (#2) renaming files based on music tags, another couple of threads that may be of interest:
[ul][li]Various simple rename presets[/li]
[li]Sort music files and go to the target folder[/li][/ul]

I've been wondering for some time how I might compare an mp3's file name (artist - title.mp3) with the ID3 tag info and either create a list or tag or select files where the tag and file name don't match
i.e. the ID3 is either empty, there is a spelling error or the wrong info is present.
This tool might give me an avenue to explore when I have time - thanks for the info.

I found a workaround for creating a Button that transfers only "Album, Artist, Genre and Year" in 4 steps.
Edit: DOpus 10 is doing a better job for this. You can copy the Metadata of a file by simply dragging the Data-Source-File to the Metadata Pane showing the Data of the Data-Destination-Files. Leftclick-dragging copies a standard-set of data (without Title and Tracknumber); Rightclick-dragging offers a menu where you can choose what to copy,

Step 1) At first you'll have to edit Tracknumber and Title manually for each file using the DOpus MP3-Editor giving complete information (including Album, Artist, Year and Genre) to the first file.
Step 2) Rename all files to "Tracknumber Title.mp3" using "Rename FILEINFO FROM "*.mp3" TO "{mp3track|#2} {mp3title}.mp3" (works better for me because I couldn't tell the "ID3 mass tagger" to set Tracknumber to "01" instead of "1")
Step 3) Transfer all Tags of the first file to all files in current Folder (including Tracknumber and Title!).
Step 4) Write "Tracknumber" and "Title" Tags reading them from filenames. This restores Tracknumber and Title which Step 3) made all the same.

If you want to write comments to your files, writing them to the first file in Step 1) will transfer the comment to all files. Commenting files individually can be done after Step 3).

I added the following Buttons to the Menubutton in my second Post, so you can get them together with the five Buttons from the first Post!
Here are the Buttons for Step 3) and 4):

Step 3): Transfer all Tags from first selected file to all files in current folder (unfortunately including Tracknumber and Title).<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Transfer Tags</label> <tip>Writes Tags of selected File to all Files in current Folder</tip> <icon1>#Image4-20x20.png</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>@firstfileonly </instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -D {file} -1 -2 *.mp3</instruction> </function> </button>

Step 4): Write "Tracknumber" and "Title" Tags to all Files in current Folder reading them from Filenames (needs Filenames to be "Tracknumber Title.mp3"!).<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Write Tags using Filename</label> <tip>Writes Tags to &quot;Tracknumber&quot; and &quot;Title&quot; according to the Filename</tip> <icon1>#note_purple_h_64-20x20.png</icon1> <function type="normal"> <instruction>@runmode hide</instruction> <instruction>/programfiles\DOpusTools\id3\id3.exe -2 -n &quot;%+1&quot; -t &quot;%+2&quot; &quot;* *.mp3&quot;</instruction> </function> </button>

For my personal use I created a Menubutton which lists Buttons for Step 2) to Step 4), the Buttons 3), 4) and 5) from my first Post and at last the "Sort music files and go to the target folder" Button, leo mentioned before.
Would be nice to have the whole process be done with a single click (or even reduce the number of steps) but I'm not able to write a script or batch securely processing one step after the other without messing everything up.

The "ID3 Mass Tagger" Tool is no longer available from the Link I posted in my first post.
I uploaded the original Zipfile to the forum to make it available here. You'll find it in my first post.
I also updated my previous posts to provide some uptodate information on how Directory Opus 10 and its Metadata capabilities made things easier.

Is there any benefit to using DOpus over something like my tagger of choice, Mp3tag?

I find that Tagscanner (my preferred software) and Mp3tag can do a lot more than Opus when it comes to complicated stuff, like importing track names from a text file.

I usually end up switching between the three. Opus for simple stuff, Tagscanner and Mp3tag for harder tasks.

Opus has some nice, but well hidden, capabilities in the renaming area, but I have never worked out how to get it to create playlists in track number order rather than track name order, which seems all wrong. Tagscanner isn't great on that task either. Which is really why I have Mp3tag to hand.

Then again, I am trying to do this filename manipulation on an NAS box, which makes the task even more complicated for my feeble brain.

Depends on the exact command that you're using, but normally you would just sort the files by track order. Opus normally sends files to commands in the same order they are listed on your screen.