Great work!asle wrote: Here's the depacked music :
http://asle.free.fr/0.zip
I have been looking at PW4PC, I think it's good, but it really needs to be broken out of that evil giant main() function and turned into a reentrant library that's extensible (so anyone could write a new ripper or converter without having to change that huge loop in main()) . Also, I think regardless of that, it needs to be incorporated into UADE, even if it remains secondary to Gryzor's original ProWiz genie until it handles all the original PW2.20 formats flawlessly.
Yep. That's because of the poor compression algorithm. All it does is add the nybble to the previous sample to get the next sample. Because the nybbles have a small range (-8 to 7), it's impossible for them to reasonable recreate the original waveform when it takes a big leap. So, the waveform is wholly scaled down until the tiny range of the nybbles is acceptable.asle wrote: I find the output (volume) pretty poor (read low).
ADPCM overcomes this problem by changing level every so often, e.g. every 28 samples it defines a new level. The level parameter means 4-bit nybbles from -8 to 7 can become -16 to 14 in steps of 2, or -32 to 28 in steps of 4, and so on, as well as the original -8 to 7. While there will still be quality loss due to imperfect recreation of the sound wave, this at least solves the volume problem. Also, so you don't get a horrible aliasing effect, ADPCM doesn't just copy the previous sample, but uses the previous two samples, and has another parameter which gives two coefficients for the previous samples, chosen by the compressor given the overall trend for those 28 samples, i.e. growing slowly, growing rapidly, shrinking slowly, shrinking rapidly, ...