Help - Search - Members - Calendar
Full Version: Mixing MP3
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - General
Curious
Recently, I decompressed a couple of MP3's (one was voice only) and mixed the resultant wav files. I was wondering if there was a freeware way to mix and save the mixed MP3's without decompressing and recompressing. Thanks.
/\/ephaestous
Do this:

Remove ANY tags
Do a binary copy into one file, like:

Copy /b file1.mp3 file2.mp3 ... file99.mp3 ALLFILES.mp3

then use VBRFIX and Mp3trim for rewriting the VBR header (use it even if the files are CBR) and Mp3trim to remove all the extra headers.
Curious
At the risk of appearing really dumb, is there a more simple Windows based way of doing this? blink.gif
theology
I know you're not looking for an Mp3 -> Wav -> Mp3 solution, but SK1 suggested SoundEngine for that kind of mixing. I downloaded the program and used it a bit myself, and have been nothing but impressed.

You might check it out (it's free, too). Either way, good luck finding a solution laugh.gif
Curious
Actually, I can do that with the sound recorder that comes with Windows. I was able to mix the wav files that originally spurred this question. Thanks though. I am wondering about MP3 mixing only to avoid more quality loss with recompression. Thanks again.
NeoRenegade
Mixing?
Not concatenating like Windows Sound Recorder does?
That's not possible.
PatchWorKs
Check out DJ Mix Pro. It could help you.
rnergy
try this software TRAKTOR DJ Studio 2.0 at this page.
popup
QUOTE(NeoRenegade @ Mar 21 2003, 03:54 PM)
Mixing?
Not concatenating like Windows Sound Recorder does?
That's not possible.
*


Please, would you clue me up why?
I should really know whether it is (logically or phisically) possible or impossible.
It would help me a lot.

thanks in advance
popup
Sorry, I forgot to mention, that I need a Linux command-line solution for mixing mp3 multitrack material directly to mp3 mix. And I need it faster than realtime. And I have more than 2 parallel mp3 tracks as source material. So the programs mentioned by the others can't help me unfortunately.
magic75
What he meant was that mixing can't be done on the actual MP3 data directly but it must be decoded into samples before it can be mixed. If your CPU is fast enough there shouldn't be any technical problems to do this decode-mix-encode process in realtime. If there is any such software is a different issue.
popup
QUOTE(magic75 @ Nov 19 2004, 12:02 AM)
What he meant was that mixing can't be done on the actual MP3 data directly but it must be decoded into samples before it can be mixed.

Thank you for reply. My question is exactly about this. Why can't it be done on the actual MP3 data? And is it really impossible even in the far future? I mean: is it impossible logically, theoretically? Or is it just an issue which is not yet in the horizon of people dealing with mp3?

QUOTE
If your CPU is fast enough there shouldn't be any technical problems to do this decode-mix-encode process in realtime.


Realtime would not be a problem, but I need it much faster. If a user has to wait 5 minutes for a 5 minute long song to be mixed on the server, and THEN starts downloading... well, I think that will be his last download from that site.
1 minute time limit should not be exceeded even for the most difficult, most complex material (let's say, below 10 minutes)
(I don't want to start streaming: there are different requests of different users, etc.)

QUOTE
If there is any such software is a different issue.


Of course there is. There are more of them, at the moment the site (in test-phase) is using ecasound. (Decoding the parallel parts, mixing them, re-encoding, and delivering) That's where I found out, that it would be better to keep it within the compressed format for two reasons: Speed and filesize.
Speed: Decoding and re-encoding is the longest part of the process at the moment.
Filesize: If multiple [n] users want to mix a 5 minute piece from 10 stereo (.wav) tracks, that means, that there may be some seconds when the server has to deal with n*5*10*~10MB which is n*500MB. The server will soon run out of memory, start to cache, and the whole process slows down again.

Thanks for reply. I know, sometimes I can't really make myself easily understood.
magic75
To the best of my knowledge it cannot be done one the actual MP3 data because the process of mixing involves adding and possibly scaling sample-by-sample. And all lossy codecs like MP3 have a completely different representation of audio than sample based. Instead longer chunks, blocks are used. I am not an expert in this area, but the way I have understood how lossy encoding of audio works it shouldn't be possible to do this without something that at least resembles decoding and encoding again.

About the filesize issue. It seems to me that it should be (technically, maybe not practically) possible to workaround that by just decoding chunks (in memory not on disk), mixing, and encoding on-the-fly.
popup
Thanks again for reply! (This is the only place, where I got ANY feedback, that's why I keep pursuing...)

QUOTE(magic75 @ Nov 19 2004, 06:22 AM)
To the best of my knowledge it cannot be done one the actual MP3 data because the process of mixing involves adding and possibly scaling sample-by-sample.


Yes, mixing .wav-s is "basic" mathematics, the algorithm simply sums the corresponding bytes. (Not that easy, but something like this.)
I do have the fear that it is in theory impossible to do the same with the corresponding segments of the corresponding frames of different mp3s.
But I am not quite sure (since I am neither an expert [far from being one] in this field), that it is impossible. I am unsure, because I think that the audio data contained in the body of an mp3 frame may be somehow time-ordered.
What I mean is that the audio data is either divided into subsequent smaller parts, or it constitutes a static block. In the latter case two corresponding blocks like this (from two different mp3s) maybe summed together somehow. (I really don't know how it works). In the former case the smaller time-representing parts may be summed, if they are in sync to each other in the different mp3 bits.
Sorry for insisting on this. A scientific NO is enough for me, but I must see the definitive answer before giving up this search.

QUOTE
And all lossy codecs like MP3 have a completely different representation of audio than sample based. Instead longer chunks, blocks are used. I am not an expert in this area, but the way I have understood how lossy encoding of audio works it shouldn't be possible to do this without something that at least resembles decoding and encoding again.


Thanks. I see that part of my problem is that I can't differentiate between "blocks" and "chunks"... But I feel I will not be able to learn the mp3 file structure in its entirety. sad.gif (And in the same time I dream of file-level operations... though those would be done by expert programmers.)

QUOTE
About the filesize issue. It seems to me that it should be (technically, maybe not practically) possible to workaround that by just decoding chunks (in memory not on disk), mixing, and encoding on-the-fly.


Thank you for the idea!
Though I am a bit worried, because I experienced, that different encoded parts can not be seamlessly joined. And AFAIK the psychoacoustic modelling involves longer scale investigation of the source-material, than a couple of samples. But even though this may be a solution.

Thnx again.
P.s.: Do you have any ideas where should I ask for my "Final Answer?" (42) smile.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.