On AES 114th held in Amsterdam, Thomson Multimedia researchers presented a way to signal exact codec delay and file length in a backwards compatible fashion - in current mp3, mp3pro, aac, etc... coding algorithms. It is known as OFL - or Original File Length
Algorithm deals with non-exact file length and delays introduced by modern frequency-domain coding systems. Data for OFL is written in ancilliary data so it is completely backwards compatible - decoder without OFL will just ignore the OFL data.
OFL will allow gapless playback with OFL compatible decoders.
AES paper number is: 5830
PS: They are mentioning LAME in the paper
Hopefully LAME and Foobar2000, Nero AAC and FAAD will add the true gapless playback as soon as possible.
Are you telling us that they published a paper just for this simple issue?
Well, at least we will have a uniform way to store delay.
Are you telling us that they published a paper just for this simple issue?
Well... maybe it is student work, I am not sure
What is interesting is that they used three MP3 encoders in the table: FhG, FhG FastEnc and LAME 3.91 and showed their appropriate delays - inclusion of LAME in Thomson paper really surprised me, a good news indeed!
Well, at least we will have a uniform way to store delay.
I really hope they will publish this OFL specs (at least for MP3 and AAC)
There was also another good Dolby paper regarding new codec with variable frame length adjusted in a manner that it perfectly matches the video frame rate - but I guess this is for the new forum section (Scientific / Engineering discussion)
Hopefully LAME and Foobar2000, Nero AAC and FAAD will add the true gapless playback as soon as possible.
Not just gapless - this also removes codec delay (silence at the beginning of the track) because encoder/decoder pairs from one company are usually adjusted to match their delay only - for example, FhG's AAC implementation has different delay than Ahead's AAC implementation, etc...
With OFL decoder will automatically be aware of encoder delay, without a need to "guess" or not to do anything.
OFL will allow gapless playback with OFL compatible decoders.
When can we expect to see these? I assume we will see OFL on harware-based players and that it is possible to be added as a firmware upgrade?
This is a VERY good idea to standardize this. How is it implemented? Through tagging of the files? Will old files be able to be scanned and made compatible? Will this be a built-in feature in encoders?
I do not have the paper yet.
But it seems to me that :
*this is stored in ancillary data (in a similar way to Lame tag)
*any player could be upgraded to this
*it should be possible most of the time to update already existing files, but the question is how to know the delay of previously encoded files
*it should be possible most of the time to update already existing files, but the question is how to know the delay of previously encoded files
Yeah, it all goes back to "which encoder was used", etc. This is more complex than say ReplayGain, in that this has to be much more specific. Even if we can't perfectly convert old files to OFL, it will still be worth it, regardless.
Does anyone know if progress is being made on OFL, or should I say, the implementation of it? It is looking more and more like this is just what mp4 and aac need. BTW, is anyone here at hydrogenaudio a member of the AES?
Does anyone know if progress is being made on OFL, or should I say, the implementation of it? It is looking more and more like this is just what mp4 and aac need. BTW, is anyone here at hydrogenaudio a member of the AES?
Well.. I was pushing gapless to Nero AAC/FAAD2, and Menno got it even working pretty soon, but there were problems with other components of Nero (plugin usage related), so it didn't make it.
Maybe someday in the future..
Maybe someday in the future..
Depressing...
Well, hopefully we'll see it in the near future...
Is this the method that was finally implemented into Nero?
Is this the method that was finally implemented into Nero?
No, Nero makes use of the data fields already available in the MP4 file format. Nero doesn't change anything in the actual AAC data, only writes different frame durations for the first and last frames.
Menno