12 ms·
> using past data to predict future data and only storing the difference Actually what you've described is essentially how all of lossless audio compression re
by niftich 10y ago
> using past data to predict future data and only storing the difference
Actually what you've described is essentially how all of lossless audio compression really works. You pre-process the signal to make it so that the 'important' parts don't take a bunch of space to store, then you feed it to a predictor, and then encode your difference in a way that it doesn't take a bunch of space to store. You can try to tune each step to try to make your next step perform better.
Lossy compression can be made to work similar, because you can just store a less accurate difference between what you predict and the original.
- ars 10y agoMy understanding is that the predictor only looks at the wave directly before the current one, and not the entire file. Delta encoding basically. They also (as far as I know) don't attempt to isolate notes or voice phonemes. I.e arithmetic coding for sound.
- niftich 10y agoThe predictor looks at a 'window', which is usually defined in terms of n samples. If you make your window too short, you are not capturing any meaningful periodicity; if you make it too long you have sacrificed some error resilience and decoding convenience in exchange for hoping to get a better match for your predictor. Speech codecs (lossy) basically operate just like you describe, see [1] [1] https://en.wikipedia.org/wiki/Vocoder#Modern_implementations https://en.wikipedia.org/wiki/Vocoder#Modern_implementations