UNIQUEFILEIDENTIFIER tag and batch tag copy

Hi, I am attempting to convert my lossless WMA library over to FLAC. I purchased dBpoweramp to do this and tested a few files when I noticed that it converts the file fine, and even copies tags over -- however it omits the UNIQUEFILEIDENTIFIER tag. Specifically, dBpoweramp does not see this tag in its ID-Tag editor, however Mp3Tag does see it. I have two questions:

  1. Where is Mp3Tag picking this value up from? I did some research and found several options, but I don't know how any of them are surfaced in Mp3Tag:

'gnid' in iTunes metadata

  1. Within Mp3Tag, I noticed that I can simply Ctrl+C from my lossless WMA and Ctrl-V to my FLAC file. Awesome. However is it possible to do that for my whole library? For example, lets say I have 1,000 tracks in an Artist/Album/*.wma structure. I use dBpoweramp to convert them to FLAC and now each .wma has an equal .flac file sitting next to it. Is it possible to somehow batch copy (1,000) tags from one to the other? If I select all my WMAs, do Ctrl+C, then select all my FLACs, how can I be sure that the metadata is being copied to the correct file?


You can c&p tags from one set to another set of files if source files and target files are in the same sequence.
So: I would let dbpoweramp do its job so that you get some metadata in the files.
then load source files and target files into mp3tag.
Sort the files by e.g. filename (which should differ only in the extension).
Set a filter to the source file type
%_filename_ext% HAS .WMA
Select the files, copy the tags.
Now set the filter to
%_filename_ext% HAS .flac
Select the files, paste the tags.

I would do this in chunks where you can still check if the sequences match. This will still be a lot quicker than doing it file by file.

A note on the unique file-id: I do not know which field is read for that but apparently it follows the naming standards. There are numerous fields that can be displayed by one player but not by another (e.g. LANGUAGE in WMP but not in iTunes or BPM in ITunes but not in WMP).
Yet, if you create a copy of a file, it is not unique anymore, is it, philosophically speaking.

I never tested it with 1000 files and therefore don't know wether run in a limitation of the clipboard.
I don't think so but I would test it with testfiles first.

In Mp3sTag list view you have to sort the source files and the destination files in the same way.
You can do that manually pressing the alt-key and move files with the mouse but this maybe no practical solution for 1000 files.
You can do this with a selfdefined tag, let's call it "TEMP_SORT".
Load your original files in mp3tag, sort them the way you want with clicking on the heading of the tag-columns, mark all files and perform an action:
Action-type: Format Value
Format String: a_%_counter%

Then load the destination files, sort them the same way, mark them and apply a format value action again with the format-string: b_%_counter%

Load all files in MP3Tag, define a column for the tag TEMP_SORT and sort the files by that tag.
Mark the source-files (TEMP_SORT tag begins with the letter "a") and copy the tags with CTRL-C. Then mark the detination files (letter "b") and paste the tags.

The Mp3tag tag-field name "UNIQUEFILEIDENTIFIER" stands for the Windows Media Attribute "WM/UniqueFileIdentifier" ...

There is no possibility in Mp3tag ...
"to batch copy (1,000) tags from one to the other" ... group of files.

From within Mp3tag ... manual copying of metadata from one tagging system to the other, ...
should be possible for 1:1 and 1:many files, but the technical limits within Mp3tag are not known.

You should test carefully, at first in small groups (file:file, folder:folder, 1000files:1000files ???).
Check out whether all tag-fields has been transferred as wanted.

Make sure that both files or groups of files, source and target, are loaded within Mp3tag, ...
each group must have the same order.
Create a listview column, to sort by %_extension%-%_filename% ...
or by %_extension%-%_path% ...
or follow the proposal from user poster above in post #3 ...
and create a helper tag-field for proper sorting.
Select group one, copy all tags into Mp3tag clipboard, ...
select group two, paste all tags from clipboard into files.


Using FFMPEG you can transcode from WMA to FLAC ...
Minimal example command: ffmpeg -i input.wma output.flac

In my quick test all tag-fields will be transferred too, ...
WMA related tag-fields will be named like "WM/BEATSPERMINUTE".
In WMA file embedded cover pictures must be saved to disk before deleting the WMA file.

Win32 ... ffmpeg-latest-win32-static.7z
Win64 ... http://ffmpeg.zeranoe.com/builds/


Conversion Example ----------------------------------------------
   <!--coloro:#000000--><span style="color:#000000"><!--/coloro-->Filetype         Size  Size_Relation<!--colorc--></span><!--/colorc-->
---------------------------------------------- From: test.mp3 5.648.413 ---- 100% 100% To: test.wma 2.455.189 100% 44% ---- To: test.flac 20.322.925 828% ---- 360% ----------------------------------------------


Thanks so much for the replies. It was extremely helpful. My library is actually closer to 4,000 items (not 1,000). I did a hybrid of the suggestions to accomplish my goal.

  1. First backed up my WMA library

  2. Imported my entire WMA library into Mp3Tag

  3. Selected everything and performed a new action:

    Action-type: Format Value
    Field: TEMP_SORT
    Format String: $num(%_counter%,5)

  4. Closed Mp3Tag and let dBpoweramp batch convert the entire library. The .flac files now also have the TEMP_SORT tag.

  5. Imported the entire WMA and FLAC library into Mp3Tag

  6. Customize the columns and create a new column:

    Name: TempSort
    Value: $meta(TEMP_SORT)

  7. Sort by type, select all WMAs, sort by TempSort, Ctrl+C to copy

  8. Sort by type, select all FLACs, sort by TempSort, Ctrl+V to apply tags

  9. Edited tags to delete the TempSort tag

I spot checked throughout my entire library and the tags were all correct, and everything was perfect. It is extremely refreshing when I encounter software which "just works" - well done Mp3Tag (standing ovation).

Again thank you for your advice!

You may change from ...
6) Customize the columns and create a new column:

Name: TempSort
Value: $meta(TEMP_SORT)<!--fontc--></span><!--/fontc--><!--sizec--></span><!--/sizec--></b>

... to ...
Value: %TEMP_SORT%