Help - Search - Members - Calendar
Full Version: MP3 decoder for Adobe Audition with 32-bit float support
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - General
Hancoque
There's one thing that Adobe Audition still doesn't handle right. MP3 files are opened as 16-bit int files where peaks greater than 1.0 are truncated. I tried the CoolLame filter but that only supports encoding. Does anyone know a filter that decodes MP3 files as 32-bit float?

P.S.: The OGG decoder is also affected by this problem. sad.gif

P.P.S.: At least for OGG I found an alternative filter that properly supports 32-bit float with peaks > 1.0. smile.gif
Maggi
You could try to use the MAD plugin for Winamp with replaygain.

Dunno if it's 32bit float, but it offers 32 bit rendering of MP3.

You'd simply use the disk writer output plugin to render 32bit wavs and using replaygain will avoid clipping if it's set up properly.

HTH,
Maggi
Alex B
I have wondered if it is even desirable to include those peaks. My impression is that they are artifacts that differ from the original waveform.

Usually the duration of the peaks that go over full scale is only one to four samples or so. They seem to be peaking separately from the other parts of the waveform. The rest of the waveform seems to follow closely the original when viewed in an audio editor like Audition. (This is after the MP3 files are decoded with clip prevention and the original source file is attenuated similarly for making the comparison possible.)

Wouldn't it be better to just have these few samples clipped so that their relative volume level would be slightly reduced and they would not affect for example normalization?

In my experience there is no way to try to investigate the possible audible effects of clipped vs unclipped peaks because the duration is too small.

Edit: added "relative"
.halverhahn
QUOTE(Hancoque @ Dec 14 2007, 04:19) *

There's one thing that Adobe Audition still doesn't handle right. MP3 files are opened as 16-bit int files where peaks greater than 1.0 are truncated. I tried the CoolLame filter but that only supports encoding. Does anyone know a filter that decodes MP3 files as 32-bit float?

P.S.: The OGG decoder is also affected by this problem. sad.gif

P.P.S.: At least for OGG I found an alternative filter that properly supports 32-bit float with peaks > 1.0. smile.gif


There is a checkmark for 32bit decoding in Adobe Audition at the MP3 Save-Option dialog. Just open a file and go to "Save As"->Filetype MP3->Options and set the checkmark.

IPB Image
Hancoque
@Maggi: I was looking for a solution that doesn't involve converting the files before opening in Audition.

@Alex B: It's a normal behaviour of lossy audio codecs to produce samples above 0 dB even if the source material doesn't have any samples above that value. Just letting these samples clip is in no way beneficial.

@.halverhahn: That solution is exactly what I was looking for! smile.gif
Alex B
QUOTE(Hancoque @ Dec 15 2007, 02:54) *
@Alex B: It's a normal behaviour of lossy audio codecs to produce samples above 0 dB even if the source material doesn't have any samples above that value.

I am well aware of the phenomenon.

QUOTE
Just letting these samples clip is in no way beneficial.

I claimed that the difference between clipped or clip prevented mp3 decoding is not ABXable and if peak normalizing is going to be used in Audition the additional peaks would possibly produce arbitrary results. I would like to know why preserving these peaks is beneficial. Possibly you know something that I am not aware of.


Maybe you have not inspected how the differences show up at the sample level.

Here is an example of a clip prevented wave form. I decoded it with foobar using a -4 dB replaygain correction (the MP3 source file had an about 1.5 peak value). The screenshot shows 2 ms of a loud cymbal crash (at 44.1 kHz).

IPB Image


Here is the same file when it is decoded directly to 16-bit wave without any correction. The volume level is reduced by 4 dB in the audio editor afterwards.

IPB Image

As you can see, only some peaks with a duration of one sample are different (i.e clipped) - the rest of the wave form is identical.


Here is the original wave form of the source file (after adjusting the volume level -4 dB)

IPB Image

Despite the visible differences in the wave form the average volume levels of these three files are about the same, but the clip prevented MP3 file has some, up to 4 dB louder, peaks of a duration of 1 or 2 samples.

In this case the MP3 wave forms are more different from the original than I have usually seen, but as I said, the screenshots are from a loud cymbal crash. The complete 30s audio sample is clearly ABXable from the original so it is not strange that the screenshots are very different too (the MP3 file was encoded at -V5).

I used Wavelab for these wave form displays. The same things can be evaluated with Audtion, but in my opinion the Wavelab display has better legibility in screenshots.


Edit: fixed a couple of typos
Hancoque
Well, I just opened an MP3 file and easily found a section with six consecutive samples above 0 dB. So it's not just one or two samples.

Here's an example:
IPB Image

Would you let these samples clip if you could preserve them by ticking on a checkbox?
Alex B
QUOTE(Hancoque @ Dec 16 2007, 02:18) *
Well, I just opened an MP3 file and easily found a section with six consecutive samples above 0 dB. So it's not just one or two samples.

Well, actually I said "usually one to four or so" in my earlier post, but I am not trying to nitpick about this.

What is more important is my finding that the rest of the wave form seems to be identical in both cases. These peaks seem to be clearly isolated from the other content.

A duration of 6 samples is less than 1/7000 s at the 44.1 kHz sample rate. AFAIK, it is impossible to try to listen to such a short duration. I don't think anyone is able to say how the additional peaks actually sound.

They may be just ugly artifacts that are very different from the original signal and in this case it would actually be better if their volume levels were a bit quieter (i.e. if the peaks were clipped). On the other hand it is possible that a clipped peak differs even more from the original signal (or would possibly differ if someone could hear the difference).

Unless someone can prove that audible differences are possible we really don't know which way is better.

QUOTE
Would you let these samples clip if you could preserve them by ticking on a checkbox?

As I tried to explain, I don't know any reason why these artificial peaks would deserve to be preserved.

I guess I would let the samples clip just because then the average file volume level and the peak levels would be approximately in the original proportion. For example, when I adjust my "unclipped" MP3 test file to not peak over 0 dBFS it will be 4 dB quiter than the orginal lossless source file. This is the only real difference I can see.

Of course, normally I would not even consider using a lossy file as a source for editing, but sometimes it may be the only available version.

Edit: a typo again...
Hancoque
The peaks above 0 dB are not artifacts and they are not isolated from the rest of the signal either. It's just the way the encoder chose to represent the signal. Peaks above 0 dB belong to the signal just as peaks below 0 dB belong to it.
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.