axeldelafosse/stemgen

[Feature Request] traktor4 metadata

kartguru opened this issue · 6 comments

In the metadata extract you can see a traktor4 tag is extracted and written to the metadata.txt file. I found a page outlining it's contents here - Decoding the traktor4 field.

Can you see any complications in having the converted stems file using the original traktor4 tags? If not, are you able to copy the source traktor4 tags to the newly created stems file? Thanks for considering @axeldelafosse

Hey @kartguru,

That's a good request! I already tried to share the TRAKTOR4 tag between regular and stem files without any luck. I'm not sure I understand why Traktor isn't happy but it seems to ignore the tag and re-create it, as if it was corrupted. You can run your own experiments with a tag editor like mp3tag if you want.

Keeping this request open. I'd love to chat with someone from the Native Instruments team to learn more about this.

@kartguru Thanks for the link, I was under the impression that the TRAKTOR4 internal format was proprietary and undisclosed.
@axeldelafosse What type was your source file for the TRAKTOR4 tag? I was trying to compare how traktor stores TRAKTOR4 in mp3 vs m4a.

Hey @stathius! It is proprietary but it has been reverse engineered. We can decode it but we can't encode it.

I don't remember exactly, I think I tried on multiple formats (most likely lossless: WAVE, AIFF and FLAC) and then on stem files (ALAC stored in stem.m4a like this script generates). Please share your findings here!

A good workaround for this would be to let Traktor write the TRAKTOR4 tag by using the collection.nml file:

  • Copy the metadata you want (key, tempo, hot cues) from the entry of the original file
  • Paste it to the entry of the stem file
  • (?) Force Traktor to use the new tags from collection.nml instead of the file tags by modifying the date of the entry to a future date in collection.nml
  • (?) Force Traktor to write the new TRAKTOR4 tag

Should be pretty easy to do with https://github.com/wolkenarchitekt/traktor-nml-utils but I haven't tested it and I'm not confident about the behavior of Traktor re: writing and/or updating the tag.

@axeldelafosse I have tried this and it works fine, the collection.nml metadata seem to have precedent over the tags in the file.

Sweet! I'm closing this issue then. We can follow up on another issue or pull request if someone want to share this script here :)