Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: I hate MP3WRAP (Read 4850 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

I hate MP3WRAP

I need a replacement for MP3WRAP to run on Linux. What's wrong with MP3WRAP?

1) If you wrap the movements of a symphony your MP3 player will state the length of the file as the length of the first movement. MP3WRAP doesn't add the length of the remaining tracks to the total. Note: There is a fix for this - open the wrapped MP3 file in Sound Converter and have it create a new MP3 out of the old one (it will append (1) to the filename). The new file will have the correct length. But it takes time, and the user shouldn't have to do this.

2) The developer does not suffer from a lack of hubris. If you had any tags in your original files MP3WRAP will overwrite them with its own advertising. Even the filename will be changed by adding -MP3WRAP to it. Your other tags will be replaced as follows:

Title: 'Use Mp3Splt to obtain original tracks'
Artist: 'File wrapped with Mp3Wrap'
Album: 'http://mp3splt.sourceforge.net'
Track: Changed to a random number
Comment: 'This file is wrapped with Mp3Wrap. Get mp3splt, the free tool to split original files at http://mp3splt.sourceforge.net. Please do not remove this comment.' (This is the first comment I remove.)
URL: 'http://mp3wrap.sourceforge.net'
'Encoded by: Mp3Wrap  v.  0.5'

Now you get to spend ten minutes nuking the MP3WRAP tags and retyping your own tags into your file. Grr.

I've looked everywhere, but I can't find any way to concatenate MP3 files other than MP3WRAP. I find suggestions for using ffmpeg, but I tried all the examples and none of them work. Sox sort of works, but it re-encodes your MP3s, and at only -V2 (mine are all at -V0).

Is there anything that will just wrap your MP3s without re-encoding them and without destroying your tags?

Re: I hate MP3WRAP

Reply #1
WHY would you do that? What are you trying to achieve?
As I understand, you have some album like track01, track02, track03, and you are making one file out of them?
Do you NEED them to be like that for some specific purpose? The software seems to give you a lot of trouble, and I can't see any benefits out of that.
Error 404; signature server not available.

Re: I hate MP3WRAP

Reply #2
To concatenate mp3s into one single long mp3, this thread recommends mp3directcut: https://forum.videohelp.com/threads/284130-Joining-Multiple-MP3-(Audios)-together-SOFTWARE-Mp3DirectCut

But for tags? (Why are you doinig this in the first place, if I may ask?)
Two possible solutions, but in both cases you need a player that supports it.

A cuesheet could work. To generate a cuesheet, you can use foobar2000 to convert everything to a .wav image. Then you delete the .wav, and edit the .cue to point at the .mp3. Replace the "WAVE" by "MP3".

Also, re-encapsulating everything into a Matroska.  One way: https://www.journeybytes.com/how-to-join-videos-without-conversion-using-mkvtoolnix/


Re: I hate MP3WRAP

Reply #3
It's not for linux, but mergemp3 is an alternative to mp3directcut. I found it and used it successfully because mp3directcut cannot merge stereo and joint stereo mp3s together, whereas mergemp3 can.

Re: I hate MP3WRAP

Reply #4
Maybe ffmpeg would work?

The output file will have the tags from the first mp3 file.

Code: [Select]
ffmpeg -i "concat:file1.mp3|file2.mp3" -c:a copy output.mp3

Re: I hate MP3WRAP

Reply #5
Code: [Select]
ffmpeg -i "concat:file1.mp3|file2.mp3" -c:a copy output.mp3

That worked great!

I had tried ffmpeg several times from examples found on the net, but it never worked. I tried to read the man page, but that was hopeless for me. Your example was the first time I got it to work. And the result is beautiful - all tags intact, two files simply joined intact, not re-encoded.

Now I'll save the above in my text file for code snippets that I know I'll eventually forget. Thanks!

Re: I hate MP3WRAP

Reply #6
I tried to read the man page, but that was hopeless for me.
You are hardly the first one to make that observation on the ffmpeg documentation, and you won't be the last.

The "concat:" thing is mentioned at https://trac.ffmpeg.org/wiki/Concatenate , but from that text it is impossible to figure that it should have any chance working with .mp3. Of course one could try, but ...

Re: I hate MP3WRAP

Reply #7
Also, if the original MP3 files are gapless encoded with start and end padding, then simply concatenating them will result in those gaps being decoded at every track boundary in the resulting file.

Re: I hate MP3WRAP

Reply #8
Yeah, this is a YMMV solution and apparently there is no way to fix gaplessness without re-encoding. https://hydrogenaud.io/index.php?topic=79844.0 and more.

then simply concatenating them

Once upon a time, we would concatenate not the streams but the files, using cat file >> appendtothisfile. MMV even more.

Re: I hate MP3WRAP

Reply #9
Yeah, this is a YMMV solution and apparently there is no way to fix gaplessness without re-encoding. https://hydrogenaud.io/index.php?topic=79844.0 and more.

Once upon a time, we would concatenate not the streams but the files, using cat file >> appendtothisfile. MMV even more.

I imagine that depending on the hardware/software playing the file, anything after the first stream would be ignored.

Re: I hate MP3WRAP

Reply #10
Concatenating individual files, though, is how you achieve multi-stream Ogg files, for things like multi-track. Of course, the encoder creates a semi-random serial number for each stream. foobar2000's converter for multi-track in this mode is really the only way to guarantee there won't be any collisions.

Re: I hate MP3WRAP

Reply #11
MP3 is a pretty simple format. If two (untagged) MP3 files are similar enough, you can concatenate them and the result will be a single valid MP3 file.

But even if it works, it may not work as well as you'd like. You'll probably get a gap where the two files are joined, and your decoder might be confused by the VBR header.

Re: I hate MP3WRAP

Reply #12
MP3 is a damn stupid (file) format: developed as if music were released just on singles, not as album - that is a retrofit hack.
(And then someone developed a tagging standard that would break down at "AC/DC".)

Re: I hate MP3WRAP

Reply #13
I was surprised to find a link to mp3splt in your story about mp3wrap, a program I like. I did not know mp3wrap, it's not bundled with mp3splt,  so I had to go to the website of it. From the documentation, I understand that the intention of the program is to create archives of mp3's which can be downloaded in one step. After download, mp3splt should be executed to recover the original files. The archive can be played, but that's not what the program is designed for. I always use ffmpeg to concat mp3's.

 

Re: I hate MP3WRAP

Reply #14
To archive mp3s for transfer as one file, I would use for example .zip ... and also, certain players can play from .zip directly. Maybe even gaplessly :-o

Re: I hate MP3WRAP

Reply #15
I was surprised to find a link to mp3splt in your story about mp3wrap, a program I like. I did not know mp3wrap, it's not bundled with mp3splt,  so I had to go to the website of it. From the documentation, I understand that the intention of the program is to create archives of mp3's which can be downloaded in one step. After download, mp3splt should be executed to recover the original files. The archive can be played, but that's not what the program is designed for. I always use ffmpeg to concat mp3's.

I used MP3WRAP repeatedly to concatenate the movements of symphonies (I do only classical), and it always worked fine, until I discovered:
1) mp3splt couldn't unwrap the files,
2) it consistently made the time of the wrapped file as just the time of the first MP3.
I never want to unwrap the files, so problem (1) above was of little concern to me, but (2) made a PITA when playing the wrapped MP3 file. Eventually I discovered a fix. If you open the wrapped MP3 file in Sound Converter (I'm on Ubuntu), where its settings are to export as MP3 with high resolution, it will make a new MP3 file, appending (1) at the end of the filename. The new '(1)' MP3 file will display the correct time in your player. But I had about a hundred wrapped MP3 files before I found this problem and the fix, and it took me a whole day to repair them with Sound Converter.  I will never use MP3WRAP again. From now on ffmpeg is how I will do it. And thanks again to people here for showing me how to do it!

Re: I hate MP3WRAP

Reply #16
MP3WRAP creates it's own header, a checksum for verification of the integrity of the data, and a concatenation of the MP3's. The header contains special tags and an index with the names of the included files. As long as the header is not modified, the original files can be restored with "mp3splt -w <wrappedfilename>". Changing tags might destroy the index, then restoring is no longer possible.
I use ffmpeg to losslessy  correct nonsense playing times of VBR MP3 files with "ffmpeg  -i <wrongfile> -acodec copy <correctedfile>".
You can just give it a try whether this works also with mp3wrap archives, I do not know....

 

Re: I hate MP3WRAP

Reply #17
@hmmsjan :

I understand what you said, and maybe others can use your suggestion. I have already fixed all of my MP3WRAP files and I'll never use MP3WRAP again, so I'm going to leave well enough alone. :)