algorithm information 167 glöps
- general:
- level: user
- personal:
- first name: Naveed
- last name: Khugiani
- demo Commodore 64 Sampleblaster by Algotech
- Use a real c64 with newsid (8580) or alternatively a c64 emulator such as Vice (With Resid active - 8580) or Micro64. Audio issues on other emulators.
It does have autodetect however and support for the Digimax cartridge for higher quality. Ideally use a real c64 to get the proper strobing effects :-)
Ignore the GFX, There was limited space left on the disk, this is a proof of concept. - isokadded on the 2015-12-22 22:33:56
- 256b MS-Dos Megapole by Red Sector Inc. [web]
- Another great 256 byter yet again.
- rulezadded on the 2015-09-14 21:29:51
- demo ZX Spectrum Kpacku Deluxe by Kpacku
- Nice custom mode (interleaved attribute changing) (Probably the first I have seen on spectrum that is used throughout)
- rulezadded on the 2015-08-31 03:42:55
- 256b MS-Dos Centurio by Red Sector Inc. [web]
- Great work Baud!
- rulezadded on the 2015-08-29 23:10:56
- demo Commodore 64 Frodigi 6 - Assisted MP3 by Algotech
- youtube link here.. https://www.youtube.com/watch?v=v5Mp58lj2bE&feature=youtu.be
- isokadded on the 2015-08-26 01:04:16
- demo Commodore 64 Frodigi 6 - Assisted MP3 by Algotech
- The previous versions relied on the SID chip entirely to produce the audio. This version mixes and produces the audio entirely in software hence can be used on any other machine provided that it can output 8 bit samples (although can be adjusted to output at lower bits, but that would drastically destroy the audio even more)
The software approach gives more flexible control over the individual sines. One of the main issues with using the hardware oscillators of the sid was that the sustain
was not fully controllable resulting in heavy clicking or having to adjust the encoder to only force higher sustain if required.
The result of this was that amplitudes were not as intended making some channels louder/quieter than others enhancing the warbling effect.
The same issue arises also if attempting to use adsr curves to approximate the sustain or fixed sustain per channel and changing the master volume.
Mixing a small amount of sines is also very much sensitive to the source audio. In nearly all complex audio cases there will be issues with warbling and the underwater syndrome when using this very small amount of sines to recreate the audio.
I still think it does a good job considering the low amount of sines. I have compared it to some specific vst based plugins (e.g pitchtech) that can convert to given amount of sines and this performs rather poorly in comparison although i am not sure if the "melody extractor" in the plugin performs the psychoaccoustic masking.
The frodigi method is really only aimed at extremely low bitrate audio. quality can be increased by more sine channels or more updates, but this would make it far less useful when
other more efficient and higher quality methods (at higher bitrates) can be used instead .
For speech only, there is less chance of artifacts. I have provided a link to an example below
https://www.dropbox.com/s/pkukeme7ex8h73x/fro6test.prg?dl=1
Adding drums, bassline, chords, synth together with synth makes it choke however (ideally would need minimum 16 sines) - working well with the amiga based decoder, but would be too much for the c64 to mix these channels at 8khz.
There are some improvements that can be made. In particular the mixing. would have probably been able to mix 6 sines in non badline mode (using this current full decode in nmi implementation)
Fastest method of mixing was to prescale the sines from 0-63 unsigned (using 16 amplitudes) and then merely to add these together to recreate the 8bit unsigned.
this does result in the lower bits being distorted using the 8bit playback method (as its more 6.5bits or so scaled out to 8bit) - the digimax mode in the demo will give higher playback quality
the low order byte is added using a 8 step pitch table which gives me the steps to match the fft encode (5hz increments) this ensures seamless looping, however amplitude changes can result in clicking (which would have been more easily rectified if i had used the nmi to play back a buffer and used the main loop to decode and interpolate between transitions.
Further experiments will also involve multiple waveforms such as noise, pulse etc. due to the software approach, the phase can also be used if required. - isokadded on the 2015-08-25 23:22:59
- demo Amiga OCS/ECS Impassioned by Onslaught [web]
- Some quick tech details about this production.
The music playing throughout utilised sequence based VOA (Variable offset amplitude decode) Its a lossy dictionary based method that also increases the dictionary data via multiple amplitude adjustments in order to recreate the audio.
The first section is at a pack rate of 4:1 but with sequencing this gives approximately 10:1 or so. The second section (Sandra audio) is at a pack rate of 8:1 and overall with sequencing around 14:1
The video parts utilise my variant Vector quantization based on hill-climbing/genetic encode methods. This overall gives less error than E-LBG (Enhanced LBG) by allowing clustering and refinements over not just entire 8x8 blocks, but also 4x4,4x2,2x4,2x2 and 1x1
In order to increase compressibility, the decode stretches the 8x8 blocks to 16x8 with stretching in Y axis and lookups converted to x2 horizontal resolution. A noise layer as well as some copper based shifting is also used to try and minimise visual blockiness. Pack rate (for the Sandra part is approximately 20-190 bytes per frame. This is also further resequenced (many repeating parts)
The stretch scroller utilises mapping color registers (unrestricted 12bit) to variable bitmap pointers that map the color data to the pattern
The XY-Tech tech part utilised hardware registers and bitmap pointer adjustments to the vertical and blitter for the X position. This is rather crude. Could have made it more smooth, but ideally would have been much faster if strip data was precalculated. this was not a possibility to use this to good effect as the whole demo was designed to run on 512k amiga with the music occupying a permanent 256k or so chunk in ram
single pixel unrestricted mode is basically copper chunky using just $dff180 register but offset at shifted positions per odd line and then on the next field, the shifts swapped over. this somewhat gives it a virtual 4x4 look. The video data is interpolated to double the size and then mapped over to the copper.
The shadow dancer is a quick single color video variant of VQ again using noise layer and planar shifted frames to give the shadow effect.
The cycling tunnel animation is a single color animation but using mapped planar offsets with mask layer.
The credits intro part again is based on stretched VQ without a noise layer. There is a noticeable bug on a real amiga where sprites are displayed on the right edges when they should not be (it was displaying fine in WinUAE, where I used this to test the demo, hence released this way) Since then, WinUAE has been updated to show the glitch (as well as fixing the bitplane dma bug that occurred in the stretch scroller part.
Developing the demo to run on 1mb system would have given more possibilities in particular for large code-tables to speed up parts immensely, but decided to go along with fitting it all in 512k instead. - isokadded on the 2015-08-05 18:35:56
- demo Amiga OCS/ECS Ssdpcm-mp by Red Sector Inc. [web]
- The bitrate of the audio in this demo is approximately 32kbs (4k a second). I could have reduced the file-size further at the same quality if I had implemented optional 1bit packing for specific sections which would have possibly reduced it to around 3k a second (24kbs)
CPU usage is approximately 16 rasterlines per frame (if spreading the decode out throughout 50 frames. Could have been optimized further
The next demo will possibly use the sequence version but with the addition of dual channel decode (full stereo) together with the optional 1bit packing. This way I should hopefully fit a song (albeit more looping unlike the above) in 200k or so at the same quality, leaving me with 300k of ram space for the actual demo parts :-| (unexpanded A500 ofcourse) :-) - isokadded on the 2015-07-17 14:47:02
- 4k MS-Dos Girl Basic 2k by Red Sector Inc. [web]
- Great Job :-)
- rulezadded on the 2015-06-29 23:54:11
- 128b MS-Dos Mayan by Red Sector Inc. [web]
- Darn impressive. 128 bytes. This comment is larger than the space the whole 128byter takes up. In a class of its own. Definitely both thumbs up!!!
- rulezadded on the 2015-06-07 21:07:51
account created on the 2011-01-25 21:59:22