Code Monkey home page Code Monkey logo

Comments (6)

Sixten66 avatar Sixten66 commented on July 30, 2024

I can confirm the same problem running MP3Gain Express 3.2.0 on macOS Mojave 10.14.6.
I don't think the problem is related to machine specifications, but it has something to do with certain files.
It processes normally some files while it deletes others. It deletes those files even when only analyzing them, without applying any gain changes.
I'm sending you two files to test it for yourself. In my case the file 09 Through The Barricades.m4a is being processed normally, while the file 02 Nothing's Gonna Stop Us Now.m4a is being deleted.

from mp3gainosx.

Sappharad avatar Sappharad commented on July 30, 2024

@Sixten66 Wow, thanks so much for providing samples.

The one thing I missed in this entire ordeal is the file format - The person who initially reported it sent me a video recorded with their phone and the text was out of focus. Watching it again, the file extensions were definitely m4a and not mp3. Although MP3Gain is stable and I've never had issues with it, there is a big all caps warning on the official AACGain page about backing up your files:
http://aacgain.altosdesign.com/
But his reason involves the undo feature, not files completely going away after processing.

When the problem came in, I reviewed the MP3Gain code and didn't see any possible way that could happen. I never thought about AAC, because I encode all of my music to highest quality VBR MP3. Sadly, AACGain is significantly more complex than MP3Gain so this might not be a fun one to track down. I will try to look into it in the next few weeks.

from mp3gainosx.

Sappharad avatar Sappharad commented on July 30, 2024

One thing to point out about your files, 02 Nothing's Gonna Stop Us Now.m4a appears to have been purchased from iTunes and has account information embedded. Although the music is DRM free, they still put user info inside in the file to track piracy.

The other file doesn't have iTunes information embedded. I'm not sure if this is related, but something to keep in mind. I edited your post and removed the files, just in case you weren't aware of that. I have them now for future analysis. I'll have to test it on my own iTunes purchases later, I've never had to use it on those because usually they're already a good volume.

from mp3gainosx.

Sixten66 avatar Sixten66 commented on July 30, 2024

Both files are purchased from iTunes using the same account. Moreover, they are part of the same iTunes compilation (I later change the info to reflect the original recordings). So they both should have iTunes information embedded.
I'm quite sure the same problem occurs also with MP3 files, but I will have to search and test to find some files.
The same problem occurs with the original MP3Gain (running under WINE or natively on Windows). The only difference is that the original software deletes the files leaving a useless .tmp file. It does so even if I choose 'Do not use Temp files' under the Advanced Options.
Before finding your thread here I have tried to find the reason for this problem myself checking out if some other process changes the file structure and produces the problem. These processes include changes made with iVolume, Mixed in Key and changing the file's ID3 tag info, but none of these seems to have any affect.
Fortunately, I only make changes to backed up files, so I never have to worry about destroying or losing any files.

Screenshot 2019-08-20 at 2 09 11 PM

Screenshot 2019-08-20 at 2 09 33 PM

from mp3gainosx.

Sappharad avatar Sappharad commented on July 30, 2024

I've tracked down the cause of the file deletion.

AACGain applies changes to a temporary copy of the file, and once that's done it makes a second "optimized" copy of the first temporary copy which removes some extra data that it adds while processing. The problem is that the AACgain code never expects optimize to fail and doesn't check the return value to see if it was successful. It assumes the second temp file got created so it removes the original file and tries to replace it with the optimized output, but that doesn't actually exist so it fails. Unfortunately, the first temp file appears to be corrupt in the first place, so we can't even salvage that.

In other words, AACGain can't handle these files that are getting deleted. I'm not knowledgeable enough about the inner workings of AAC (mp4) files to fix that part, but I can fix the delete problem and let MP3Gain Express know the file failed to process.

The problem originates in the original AACgain code, so I've forked AACGain and committed the fix. I will try to get a new release of MP3Gain Express out before the end of the year so that at least it can properly fail on these files instead of delete them.
Sappharad/aacgain@dec0364

from mp3gainosx.

Sappharad avatar Sappharad commented on July 30, 2024

The next release will flag incompatible files as not compatible and fix the delete problem.
Screen Shot 2019-12-15 at 8 03 20 PM

If aacgain is ever updated to make them compatible, then I'll upgrade to that. It's unlikely since it hasn't gotten an official update in years.

from mp3gainosx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.