| |
C64 48Khz HiFi Digi Player 1 [2018] |
AKA :
Ichiro Mizuki's Mazinger Z
Credits :
Download :
Look for downloads on external sites:
Pokefinder.org
User Comment Submitted by Moloch on 17 March 2018
Discussion -> forums
Comments directly about this release -> here in the comments | User Comment Submitted by tonysavon on 17 March 2018
Thanks @Pex.
Told you guys that I was wrong :-)
And to say that We are demo is one of my favourite dmeos of all times!
Well easyflash here is just used to put A LOT of stuff, and it's not helping on the decoding end in any way. In fact, all the bank switching stuff takes up a lot of cycles,and this could play at a much higher frequency from RAM. Also,working from RAM, you could hardcode amplitude values to the codebooks, like I did in my game, saving 4 more cycles per sample. Flashcards in this case are playing against speed.
By the way, I take the chance to thank you for the Digi playing routine that you invented. Without you, none of this would be possible. Also for explaining it to my dumb self, few years ago. You probably forgot that, but I still treasure those emails as proof of how incredibly great this community is. The fact itself that you are here commenting on this, makes me really proud.
Thanks | User Comment Submitted by Pex Mahoney Tufvesson on 17 March 2018
Nice!
> To the best of my knowledge, the highest sample rate achieved on the Commodore 64 was 44.1Khz for uncompressed samples
Not really: Both We Are Demo and Concert uses 63kHz compressed samples with badlines and _no_ easyflash. The We Are Demo-part with the TV head has 29 seconds of sequenced 63kHz samples together with demo effects and on-screen equalizer. And Stereophonik uses uncompressed 44.1kHz _stereo_ samples - well, panned mono samples, to be correct. | User Comment Submitted by Kronos on 16 March 2018
Amazing. That just let me remember the 90's when I built up an easy sound digitizer based on a simple DAC. It worked really well, but what a poor quality it was. 48 kHz, I think I would have damned myself to get something like that. Keep on that great work guy! | User Comment Submitted by iAN CooG on 16 March 2018 User Comment Submitted by Slajerek on 16 March 2018
/me like!! :) another digis to impress friends on partiez :) nice! it works on my stock C64 8580 SID!! | User Comment Submitted by tonysavon on 16 March 2018
@mixer, well the digimax is just an option. The demo works just fine on a SID (better on the 8580). It does not require a digimax to run.
The easyflash is just used for storage, and it's a regular Ocean type cart anyway.
I get it, though :-). | User Comment Submitted by Mixer on 16 March 2018
Cool code. However, the youtube vid description claims stock c-64, which I believe is not the case. (+digimax + easyflash) | User Comment Submitted by tonysavon on 16 March 2018
@Greopaz, I see. Is that the SounDemon routine? Sorry if I'm a bit slow today: I'm still recovering from the timings-Sudoku puzzle I had to solve to have this stuff run :-P.
This is using Mahoney's routine by the way, which only requires a LookUp and a direct write to play an 8Bit sample. DIGIMAX is also supported for the best quality.
Anyway, this is of course not to claim anything on Frequencies, more like the compression aspect, which I guess is a bit of a novelty at these frequencies, if only for the fact that you have 21 cycles to fetch, decode, and play a sample.
Thanks for the pointers! Now I have an interesting evening ahead of me :-) | User Comment Submitted by chatGPZ on 16 March 2018
(those two files should be in seperate entries) | User Comment Submitted by chatGPZ on 16 March 2018
uncompressed, yes - but not $d418 (that would be REALLY useless) - the mentioned players use 8bit output via oscillator restart method | User Comment Submitted by tonysavon on 16 March 2018
@Groepaz, I don't know of a player that plays compressed digi at 48Khz. REU implementations that I know of just copy uncompressed pcm sound to $d418. | User Comment Submitted by Bamse on 16 March 2018
Neat! As for the sample rate: you can play an uncompressed 96KHz(?) sample with the REU, it's just a second long and therefor lacking any practical use. Also, i think i didn't cap the possible sample rate in my BR-TV release, allowing around 48KHz playback. That's uncompressed, though... | User Comment Submitted by chatGPZ on 16 March 2018
other REU players could do 48kHz (Limon player, my own PoC player, chameleon player, etc). its really pointless though :) | User Comment Submitted by tonysavon on 16 March 2018
@MP, it's 8 bit per sample. Plays best on Digimax but sid 8580 sounds all right too. | User Comment Submitted by Oswald on 16 March 2018
how many bits per sample? | User Comment Submitted by tonysavon on 16 March 2018
48Khz HiFi digi player
----------------------------------------
INTRO
As the name suggests, this demo implements a digi player for compressed music at a higher-than-CD sample rate of 48Khz. That is 21 CPU clock cycles per sample, which means fetching data from the cartridge, decompressing it and playing the actual sample.
To the best of my knowledge, the highest sample rate achieved on the Commodore 64 was 44.1Khz for uncompressed samples, therefore this demo should set a world's first with compressed digi (allowing for a whole song to fit onto a cartridge) and a higher sampling frequency. I might be wrong.
RUNNING THE DEMO
You need an Easyflash Cartridge, or a 1541Ultimate to run this demo on Real Hardware. Both SID models are supported, but a SID 8580 is highly recommended. 6581 works too, but quality is pretty miserable compared to 8580 and Digimax.
If you are running the demo on Vice 3.x, make sure you select DIGIMAX emulation at $DF00, and press F3 when the demo starts.
Also, make sure that ReSid emulation is switched on, and, in Vice sound settings, that sample rate is 48Khz.
This setup gives you the best quality!
ABOUT THE ENCODER
Briefly, this codec is purely based on Vector Quantization, and can encode from ~3:1 to ~4:1 with no noticeable difference with respect to the original uncompressed PCM data, and up to 7:1 with minimal (yet perceivable) loss in quality.
The examples included showcase ~3:1 and ~4:1 compression ratio. Keep an eye on my blog for a detailed description of the encoder, coming shortly.
http://www.brokenbytes.blogspot.com
VISUALS
With 21 cycles per sample, including decompression, there's not so much we can do on screen. Good old INC $d020 is already a miracle. I hope you don't mind.
FUTURE DEVELOPMENT
In theory, with this approach it should be possible to store several minutes of hi-quality music (possibly a whole record) on a 16Mb REU or other larger, modern storage devices for the Commodore 64. REUs though, especially those of a ridiculous size, which would have never been possible in the 80s, are just not my thing. Sorry. |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia
|
|
| Forum | |
|
| Info on other sites | |
|
| Support CSDb | |
|
| |
|