Export/Backup all tags + info

Extract list of all used tags + info fields to a CSV file.

This thread is very similar to the Export or backup all tag fields (dano).
First, Dano's export is very clever and has some nice additional features (e.g. adapt tag panel from the export generated). My goal was NOT to re-invent the wheel (or to prove certain things can be done better).
Personally, I wanted to extract all tags (already solved by dano) but had few needs more:

  1. Needed as less as possible conversions (ideally zero)
  2. Distinguish/group standard from user tags,
  3. Extract additional info fields (not limited to path)
  4. Let user decide which info fields he wants to be extracted
  5. Have a better layout:
    • List path first (like dano's extract), then
    • Standard fields (alphabetically), then
    • User fields, then
    • Info fields
    • Have one dedicated row for the category (standard, user, info)
    • Have one dedicated row for the tag name.
  6. Multiline fields are displayed correctly.

Step1. Execute (Generate script.mte) List of Tags-REGEX-Generate-script.mte (14.1 KB)
It will generate/update a script (defaulted to --List of tagsUsed+Informations)
Step2. Execute Generated script.mte . Select destination (Defaulted to the folder holding the audio files).
Step3. File opens directly in Enjoy

Row 1 & 2 Hold column category (Standard, User, Info) and tagname respectively
Data is extracted in Row 3..N

Row 1. One of below categories is populated on each column:

  • Standard. All fields available in [https://help.mp3tag.de/main_tags.html]
  • User. Fields created from user (non-Standard)
  • Info. Placeholders available in [https://help.mp3tag.de/options_export.html]
    Placeholders are listed under Section Placeholders for export configurations.
    Only Placeholders under Technical info, File name / path info and File properties are included.
    System and Global placeholders are excluded.
    Following File properties are excluded as well, due to very poor performance:
    %_crc% CRC32 value of file content
    %_md5% MD5-Hash of the file (slow!)
    %_md5audio% MD5-Hash of the audio part of the file (slow and only supported for ID3- and/or APE-only tagged files)

Row 2. The name of Standard/User tag or Info placeholder.

		E.g. ALBUM, ARTIST, %_path%,

Row 3 .. N. The value extracted from each audio file.

User fields are NOT extracted alphabetically. This is only in theory possible. All this work is done purely with REGEXP commands so someone must spend a lot of effort to achieve this goal (if ever possible).

Additionally, to get the list of tags (standard/user) used in the selected files you can use following script (It could be covered already in Dano's exports, not sure). List of Tags-REGEX.mte (2.2 KB)

1 Like

Extract list of all used tags + info fields to a Json file.

Unfortunately the CSV approach is very slow (even without any info field included in the extract). I believe the reason is the recurring script requests to extract a single tag.
Json approach seems much faster. Command $list(,,) brings all current tags and their values with one shot. Then we only format them in json format ("tag": "value"). I used Dano's approach to properly split tag from value.

-- Full tags+info (Json).mte (18KB)

Script includes the list of all info fields (at least the ones in the help page).
Each of them can be included in the export (instructions are included in the file).
Export seems very fast.

Json file generated from mp3tag can be converted to CSV/XLSx/XLS file by below tool (based on some code posted in https://datatofish.com/json-string-to-csv-python/ which is also based on tkinter / pandas packages).
Multiple json files are loaded first to the memory then all are combined into a single output file.

json2csv.zip (Google Drive) (21,7MB) use password mp3tag to unzip.
If anyone has doubt about file content here is the source code (json2csv.py 9KB). Install python and compile yourself pyinstaller --onefile json2csv.py.