Menu

#569 Some metadata fields empty or formatted differently after transcoding.

New
nobody
None
Medium
Defect
2022-09-28
2022-09-27
Nicolas
No

Hello, and thank you for your work on XLD.

Description of the issue
After batch transcoding from FLAC to mp3, some metadata fields in the resulting files are empty (genre, year, disc number), and/or the formatting has changed (track number xx/xx instead of xx).
Only entire albums are affected, not individual tracks (i.e. all tracks on the same album will be missing the same data).

Reproductibility / steps

  • Any attempt at transcoding FLAC files to mp3 changes the formatting of the track number field.
  • Empty fields in resulting files are very common but seem random: only some albums are missing the year and/or the genre.

Expected result & additional info :
With "Automatically connect to CDDB" unchecked, I would expect metadata fields in the destination mp3 files to be identical to the corresponding fields in the source FLAC files.
In practice, another data source seems to take precedence, and fields values are removed.
My process is:

  1. Rip audio cd to FLAC with XLD
  2. Edit/add FLAC metadata with third party editor (MP3tag)
  3. Transcode FLAC files to mp3.
    So if metadata is cached locally during step 1, could it be written over the corrected data during step 3 ?

I also suspect that the change in formatting of the track number filed is a separate issue: is xld always writing this specific ID3 field using that formatting ?

I use XLD 20220917 (155.1) on a M1 MBP running macOS 12.3.1.

Thanks !

Discussion

  • tmkk

    tmkk - 2022-09-28

    I guess you are transcoding files using a cue sheet, and the metadata gets overwritten by the entries in the sheet. You can do it without the cue sheet, just drag and drop all .flac files (without .cue) to XLD icon.

     
  • Nicolas

    Nicolas - 2022-09-28

    Thanks for your answer; sorry I did not think of that.
    You are indeed correct: I batch transcode multiple directories (each containg a cue sheet) by selecting the parent folder with File>Open.
    Will test this and report back, and also check if it causes the formatting change of the track field.

     
  • tmkk

    tmkk - 2022-09-28

    In that case the option "Restrict files to open with extension" will be useful - including "flac"and excluding "cue" in the list and XLD will skip all .cue files in the folders.

     
  • Nicolas

    Nicolas - 2022-09-28

    I have always used Restrict files to open with extension, with only flac in the field below, so the issue described remains valid despite this parameter.
    If you are telling me I should also explicitly exclude cue files (by other means than NOT having it in the field), how do I do that: -cue ?

     

    Last edit: Nicolas 2022-09-28
  • tmkk

    tmkk - 2022-09-28

    No you don't have to exclude it explicitly.

    Now I want to clarify how you ripped discs - one file per album or one file per track?

     
  • Nicolas

    Nicolas - 2022-09-28

    One album = one folder;
    One track = one flac file;
    Log file and cue sheet are set to always saved, but I will change this as it serves no useful purpose and creates issues.

     
  • tmkk

    tmkk - 2022-09-28

    What happens when you transcode only one file? The problem still there?

     
  • Nicolas

    Nicolas - 2022-09-28

    I just tested batch transcoding one album and transcoding only one track; see attached screenshot for results.
    In essence year field was stripped in both cases despite peing present in original, and track formatting was changed in both cases.
    Will test again with other files and report if something new.

     
  • tmkk

    tmkk - 2022-09-28

    I'll look into the issue if you can upload the problematic file somewhere.

     
  • Nicolas

    Nicolas - 2022-09-28

    I performed other tests - it gets weird.
    Concentrating only on year field and all else being equal, this happens during transcoding:

    • If year value exists in source file but not in cue sheet, year field is empty in transcoded file.
    • If same year values exist in source file and cue sheet, year field has the same value in transcoded file.
    • If different year values exists in source file and cue sheet, year field value is the same as in cue sheet in transcoded file.
      This is where it gets weird: if I move the original file to a separate, random folder with no cue sheet and then transcode it, the year value is still the same as in cue sheet, not the source file. This would suggest that there is yet another source of metadata that takes precedence over original file.
      See attached screenshot.

    Files used in both tests + cue sheets are available for download here : (removed)

    Formatting of track# and disc# fields are changed in all cases.

    Thank you for your time.

     

    Last edit: Nicolas 2022-09-28
  • tmkk

    tmkk - 2022-09-28

    The problem is how your tag editor writes FLAC metadata.

    The tag editor you used adds year metadata to "YEAR" field, but this is non-standard. It should be added to "DATE" field in FLAC (which uses vorbiscomment, for standard see here and here). The editor seems to ignore the "DATE" field when updating the year metadata even if the field already exists. As a result, both standard and non-standard fields exist in the edited FLAC file.

    Since non-standard fields are ignored when transcoding to mp3 with XLD, the problem - metadata of source FLAC files look good but resulting mp3 files look having non-updated values - happens.

    The same issue happens when adding track number metadata. Your tag editor uses "TRACK" field but "TRACKNUMBER" field should be used according to the standard.

    As far as I've checked the files you sent, there is no difference except cover art metadata in yourtranscoded - single file in folder not containing cue sheet.mp3 vs transcoded - single file in folder containing cue sheet vs transcoded - entire folder containing cue sheet.mp3.

    Here is an output of metaflac command of gong - 01 other side of the sky.flac:

    METADATA block #2
      type: 4 (VORBIS_COMMENT)
      is last: false
      length: 719
      vendor string: reference libFLAC 1.3.3 20190804
      comments: 19
        comment[0]: ENCODER=x lossless decoder 20211018
        comment[1]: TRACKNUMBER=1
        comment[2]: TRACKTOTAL=15
        comment[3]: TOTALTRACKS=15
        comment[4]: DATE=1990
        comment[5]: ISRC=gbaaa0400026
        comment[6]: iTunes_CDDB_1=c90bcd0f+226792+15+150+34675+54522+60195+82140+85740+102107+111815+128097+133250+144787+148260+163862+189152+203637
        comment[7]: MUSICBRAINZ_TRACKID=7eddf9b6-54ac-4308-ace7-a141fb15f6fe
        comment[8]: MUSICBRAINZ_ALBUMID=c14313cb-7d2a-48ee-a18e-56575f9b842c
        comment[9]: MUSICBRAINZ_ARTISTID=5927990e-34bb-493f-b5da-b7b28d43698f
        comment[10]: MUSICBRAINZ_ALBUMARTISTID=5927990e-34bb-493f-b5da-b7b28d43698f
        comment[11]: MUSICBRAINZ_DISCID=fpvbcdauv5nhvq5iofecvayersk-
        comment[12]: TITLE=other side of the sky
        comment[13]: ARTIST=gong
        comment[14]: ALBUM=angel's egg
        comment[15]: YEAR=1973
        comment[16]: TRACK=01
        comment[17]: GENRE=Rock
        comment[18]: DISCNUMBER=01
    

    You can see inconsistency comment[1]: TRACKNUMBER=1 and comment[16]: TRACK=01, or comment[4]: DATE=1990 and comment[15]: YEAR=1973.

     
  • Nicolas

    Nicolas - 2022-09-28

    Thanks for getting to the bottom of this, and for the detailed answer which is both useful and interesting. Sorry I dumped someone else's mess in your lap, I wasn't aware that there could be inconsistencies in fields mappings.
    I'll bring this to the attention of the editor's developer.

     

Log in to post a comment.

MongoDB Logo MongoDB