New Wrong BPM being written into m4a files

Discussion in 'Bug Reports' started by FarleyCZ, Aug 6, 2019.

  1. FarleyCZ

    FarleyCZ New Member

    Messages:
    4
    Hi there,

    Latest version. (3.2.0 60) Win 10.

    I haven't managed to figure out which ones are afected and which not, but some m4a files behave wierdly in Traktor. It loads them, it analyzes them correctly, it lets you make all the cue points. Then, when you unload the file, it saves all the information to both places. To it's own memory and to the tags in the file. On some of those m4a files, it writes down everything correctly except for the BPM information in the tag. (Sometimes it just rounds it down, sometimes it's exactly 1 BPM lower.) You don't know about it as long as you don't move the file. If you don't, Traktor will load the correct meta data from it's own storage. But if you move the file to a flashdrive and go play it on friend's setup, his Traktor will load the bad value, messing up the grid.

    I was digging a little deeper. It's really similar to this 7 year old (?!?!) topic: https://www.native-instruments.com/forum/threads/wrong-bpm-detection.170571/
    Also when you change "Write all the tags" to "Write only custom tags", Traktor uses tempo from it's proprietary tag and everything gets stored correctly. ...but it removes all other tags in m4a too. Not good.

    It's really a bug in saving procedure of m4a. I literally have a song here, that detects correctly as 117 bpm, Traktor writes it to the file as 116 bpm (both straight, no decimals) when I go to the file, make a copy (so I bypass the Traktor-storage metadata load) and manually outside of Traktor change the bpm to 117 in the file, it loads alright to Traktor. ...but if I add a Cue point or make any other change to the meta data, it rewrites the tags, making the bpm in the tag 116 again.

    It's not nice, cause I have quite a few songs bought on iTunes. Recompression to mp3 is quite nasty qualitty-wise, so my only chance is to make FLACs out of them. Flacs behave correctly. They don't care what's in the "bpm tag", they loead it from the proprietary Traktor tag. Would it be please possible to make Traktor behave the same when dealing with m4a?

    Cheers,
    Martin.
     
  2. FarleyCZ

    FarleyCZ New Member

    Messages:
    4
    Ok, I've posted a support ticket. This was NI's reply:

    Hi Martin,

    I would recommend converting these M4A files to another format, as they are not technically supported by Traktor, as you can see below.

    WHICH AUDIO FILE FORMATS DOES TRAKTOR SUPPORT?
    You could use iTunes to convert them to WAV, AIFF or AAC. This probably will solve your issue and save all of your rmetadata.
    I wrote them this reaction suggesting a solution, but it's pending approval. I think it should be in here too.

    Hi Las, thank you for your reply. Yes. That was the solution I came up with too. Made one big batch-conversion to FLAC that works as expected. Takes more place, but it works.

    I couldn't overlook one little detail, though. The tag in the FLAC file is one big proprietary piece of data that saves everything including tempo (in float value). What I think is happening with m4a is that Traktor tells the QuickTime intermedite to save the tempo tag and hands over let's say 116.9998. That value is shown as 117 in Traktor, but QuickTime truncates it to plain integer and saves "116" into the regular BPM tag. Wouldn't it be better if Traktor always loaded tempos from it's proprietary tag with all the other data instead of from the (obviously unreliable) BPM tag? It would solve this issue.

    Or better. If I might suggest a feature: Please make there an option to save the data to a little external file that has the same name as the song, just with a different suffix. That eliminates all problems with tag reading and makes song data ultra portable and reliable. :)
     
  3. Jayrock79

    Jayrock79 NI Product Owner

    Messages:
    260
    Hello, Martin,

    an m4a file is an aac file. It is an officially supported format in Traktor. Therefore the answer from support is not understandable for me. (We should avoid starting a discussion about codecs and audio formats now.)

    iTunes always rounds off the BPM values and the thread you are referring to is correct.
    Traktor then apparently reads the wrong values from the m4a files again and again although they are supposedly stored in the Traktor database. It only works if you have locked the titles manually.

    The problem has been around for years and NI doesn't even try to fix it. In general, Traktor has hard problems with m4a files. The new Traktor Pro 3 has made a lot more difficult because Traktor now deletes tags.
    The files are also "corrupted", because when reading them into Traktor there are only error messages.

    I have communicated these problems to the support several times, but they are no longer responding.
    In my database there are more than 40,000 titles and about 34,000 of them are m4a files.
    Suggesting to the users to convert them is a cheek and above all an insult to the customer.
    You build up a music data base for the reason that you can administrate everything in one place centralized.
    No special databases for private listening and djing.

    Greetz
    Jens