[Flac-dev] floating point

Didier Dambrin didid at skynet.be
Fri Aug 7 21:48:28 PDT 2009


Yes, WavPack is second in my list.

FLAC doesn't preserve every chunk? I thought it did. I only gave a quick try 
but it seemed to have preserved even the most obscure chunks.
Let me check: it even seems to preserve "MIDI note associated to marker", 
which is a very unknown metadata used by SoundForge (& even defined in a 
buggy way), so I assumed it was saving them transparently.



Btw, what do you think of this?
http://www.hydrogenaudio.org/forums/index.php?s=95a0210a0ba3304eca44ac3bd57990cb&showtopic=73895
(didn't know where to post this, that forum seemed related)


Brian wrote in a previous answer: "Another consideration is that flac 
compresses quiet audio files more
than loud audio files."

So I thought: imagine a pre-processing coupled with FLAC. It would take 
frames out of the whole song, and try to cross-correlate them with the song 
itself. When it finds strong matches (under a certain threshold, and 
starting with a couple of matches), the frame is saved to a pool, and it's 
subtracted from the song.
Then you FLAC the (small) pool, and the song, full of near-silent spots (& 
silence where pure repetitions occured).
At decode time, you unFLAC the pool and the song, and you add back the 
frames from the pool to the song.

I haven't experimented yet, but let's say I try to correlate frames with the 
song, and I get something like 20 near-repeats, I may end up with a very 
silent "song leftover", still as long as the song, but maybe in 4bits worth 
or something? But it would also have bumps of original audio (that didn't 
find any matching frame).
The thing is, I don't really know how FLAC compresses so I don't know if it 
would compress the "leftover" so much better.
And I don't really know how much matching frames you'd find out in music out 
there, it would be very genre-dependent. But I'm surprised that no one 
really investigated this (there were old discussions in that forum). Sure, 
streaming is important, but it's common to fully download a song.

As I wrote, I tried various compressors on a drumloop repeated 4 times, and 
none could benefit from this. It's only a matter of statistics to know how 
much often repetitions happens in music out there, but it could work more 
intelligently, like by normalizing matching frames maybe, to even detect 
repetitions at different levels. Or work in the freq domain. Afterall, music 
is based on repetition. And repetition is compression's best friend.

At the same time this wouldn't be very interesting for my need, which is to 
compress short samples. Now here too there could be a similar algo, if it's 
tonal, cross-correlation would detect matching frames, only at a smaller 
level. Imagine if you convert a violin sound into a pitch period somewhere 
in its middle, and the residual from that the subtraction of that pitch 
period in repeated frames. I think the residual would be rather quiet.




> "Didier Dambrin" <didid at skynet.be> wrote:
> ...
>> I like FLAC on the paper because of its metadata preservation, in that 
>> riff
>> tag, which is critical for my needs.
>
> Try using WavPack, http://www.wavpack.com/
>
> This can losslessly compress 32-bit floating
> point WAVE-EX files, and faithfully preserves
> every chunk (which FLAC does not do).  It is
> also free.
>
> Regards,
> Martin
> -- 
> Martin J Leese
> E-mail: martin.leese  stanfordalumni.org
> Web: http://members.tripod.com/martin_leese/
> _______________________________________________
> Flac-dev mailing list
> Flac-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/flac-dev


--------------------------------------------------------------------------------




More information about the Flac-dev mailing list