GPMO Packer

Discussion about Amiga / C64 / Demoscene music and the ExoticA music archive. Favourite music, new rips, musicians, demo sounds, audio software. It's all welcome here.

Moderators: XtC, BuZz

kyz
Posts: 126
Joined: Thu Nov 14, 2002 1:58 am
Location: Edinburgh, Scotland
Contact:

Post by kyz »

asle wrote: Here's the depacked music :
http://asle.free.fr/0.zip
Great work!

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.
asle wrote: I find the output (volume) pretty poor (read low).
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.

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, ...

asle
Posts: 208
Joined: Fri Mar 07, 2003 11:28 pm
Location: France
Contact:

Post by asle »

kyz wrote: Great work!

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())
hum, well, you overestimate my skills :). Still, I've some friends that are helping with this "external" depackers thingy. It's still a project but it sounds more and more possible. Fact is I expect to release this project whithin next month.

Anyway, Thx for you kind comments :).

Regards,
Sylvain

User avatar
Muerto
Posts: 359
Joined: Wed Aug 28, 2002 9:17 am
Location: Kerteminde, Denmark
Contact:

Post by Muerto »

Hello!!
kyz wrote: I've ripped the player code and worked out all the details of the format except for the sample compression. If Asle would like to take what I've got and make something for his pw4pc that will convert the track data into protracker patterns, I'll work on the details of the sample compression, which can finally be added to unpack the sample data.

http://kyz.mine.nu/misc/GnuPlayer.lha
I cant unpac the .lha file, so is it possible for you to send me the files to my mail?? michael.trier@tdcadsl.dk
asle wrote:Here's the depacked music :
http://asle.free.fr/0.zip
Is it possible to get the packed module??

Regards

Muerto

asle
Posts: 208
Joined: Fri Mar 07, 2003 11:28 pm
Location: France
Contact:

Post by asle »

everything is on its way to your mailbox.

Sylvain
Sylvain "Asle" Chipaux

User avatar
Muerto
Posts: 359
Joined: Wed Aug 28, 2002 9:17 am
Location: Kerteminde, Denmark
Contact:

Post by Muerto »

... what can i say...

thx again!!... lets party??!!!!!


Muerto
-- you cant escape Muerto --

Post Reply