| |
Channels - spadpcm1 [2013] |
Credits :
Code | .... | Algorithm of Algotech, Onslaught, svenonacid |
Music | .... | Algorithm of Algotech, Onslaught, svenonacid |
Graphics | .... | Algorithm of Algotech, Onslaught, svenonacid |
| | CONS of Onslaught, Tristar & Red Sector Inc. |
Design | .... | Algorithm of Algotech, Onslaught, svenonacid |
Idea | .... | Algorithm of Algotech, Onslaught, svenonacid |
Charset | .... | B-Wyze of Hardcore, Onslaught, Success |
Concept | .... | Algorithm of Algotech, Onslaught, svenonacid |
SIDs used in this release :
Download :
Look for downloads on external sites:
Pokefinder.org
Production Info Submitted by algorithm on 2 December 2013
The encoder works by analysing each chunk (128 samples in this demo) and determining the optimal step size by analysing not only the next sample, but future samples after this. This increases the quality as it prevents any possible occurance of a good prediction followed by a worse one.. e.g. attempted to minimise the total error of the chunk.
The 128 samples are then compressed to 16 bytes (128 bits) along with the step value. The updated sample value is then used as a starting point for the next chunk
The decoder does the opposite. Reads step data, then the 16 byte bitstream and either subtracts or adds the step value to the current sample to form the new byte.
All this has to be done while updating the sample 7812 times per second (The stable nmi method together with the 8bit method ends up sucking even more cpu)
There is still ample processing time left (Even though the code is nowhere near as optimised)
The decoder runs in the main code area (outside IRQ and NMI) which starts when the half of the buffer (via nmi) has been played back.
To make things more 'fast' and to not use that much ram. I have used 16 predefined code chunks that directly perform the required operation (for each nybble of the byte)
Furthermore the decoder can play back sequences, this allows many repeating sections to be omitted from the sample data.
The original music was around 1mb in size (8bit 7812hz) After resequencing this would become 300k. And after compression, around 40k in size (2k for each 4bar pattern) | Production Info Submitted by CONS on 30 November 2013
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia
|
|
| Forum | |
|
| Support CSDb | |
|
| |
|