Hi,
I'm currently investigating what's out there as for lossless audio compression, for a specific need.
From what I see, most codecs seem to be done with one big restriction: streaming.
It's certainly quite important, but for my need it isn't - I will in any case fully decompress the audio before using it.
I can understand that it's hard to losslessly compress audio, and I don't think we will ever see better ratio's than with what's out there.
-however-, what if you were approaching this another way? Instead of compressing frames individually, what if you were trying to correlate frames with the WHOLE piece of audio (since you don't do streaming, you can know it ahead)?
In short, you'd do cross-correlation between your audio frame & the whole piece of audio, you would then identify near-repetitions, and surely it would mark a lot of similar places that would allow residuals to compress better.
I don't think this would work very well with real recordings. However, for electronic music, I think it may have potential.
Now I know nothing about lossless audio compression, what I'm saying may be a bad idea, may already have been investigated, or already exists - anyone knows of a compressor that would use a similar method?
Edit: I made a quick test. Took a drumloop, repeated it 4x in a wav file. So in theory, this audio file can be compressed down to at least 4x (& then obviously less).
I tried FLAC, Monkey's, WavPack, OptimFrog, none of them could benefit from that.
You may argue that a good encoder should compress any kind of music, but this would just be an extra, it would still be coupled with a classic encoder, so there's nothing to lose, except the ability to stream.
Those 4 loops in a row I tested with is something totally common in electronic music, and very common in some genres. Drums are usually samples repeated over & over so it would work well on them. Synths may use free-running oscillators so repeated riffs may not cross-correlate well, and they may have reverb tails over them. So I think it would vary a lot from a track to another.