| |
MagerValp
Registered: Dec 2001 Posts: 1066 |
Longest sample?
So who has managed to pack the longest sample into the C64? Has anyone implemented realtime playback of packed data? Macbeth/PSW invented a simple delta packer (0/10/11 for no change/down one/up one), but I think he only implemented it on the SuperCPU.
Hmm, since there's an obvious tradeoff between quality and size, I guess you'd have to count the number of samples, and not the number of seconds...
|
|
| |
Oswald
Registered: Apr 2002 Posts: 5078 |
pointless to ask, as there's a heavy tradeoff between quality and size. do you prefer long ununderstandable noisefest, or short hifi stuff ? or medium long with medium qual? :P |
| |
tlr
Registered: Sep 2003 Posts: 1764 |
Boing-boom-triad is pretty long. No real time compression either.
Looking at the material it could quite a bit longer with simple RLE and maybe some editing of quiet parts.
Sure it's distorted, but it works surprisingly well for 1-bit and fairly low sample rate.
It's all about selecting material that works with the format. :)
|
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Does realtime loading of the samples while playing back count, too? Check State of the Art Soundtrack! |
| |
MagerValp
Registered: Dec 2001 Posts: 1066 |
I guess what I'm really after is what interesting techniques have been used to play long samples. Streaming from disk is definitely cool!
|
| |
tlr
Registered: Sep 2003 Posts: 1764 |
I think there is some 87-ish game using disk streaming samples in the intro too. Don't remember the name.
Street Tuff used Amiga style fibonacci delta compression on the 1541 version of 22050 HERTZ. I don't think it's real time though.
Fibonacci delta (and Macbeth's one) falls into the Delta Modulation category.
In this category, I think CVSDM looks promising.
I've seen it used on late 80's Williams/Bally pinball machines.
For it to be useful for $d418, some linearising scheme might be required.
Usual tricks are bit depth only. 2 and 4 are quite common.
|
| |
Krill
Registered: Apr 2002 Posts: 2942 |
Speaking of streaming samples, if anyone is planning to do a demo with that, i can provide the loader technology (tm). :D 170kB of compressed samples can be quite long, i reckon. And some ADPCM variant similar to Streetuff/Benson's (?) for 4-bit playback should be replayable at a sample every other line easily. |
| |
MagerValp
Registered: Dec 2001 Posts: 1066 |
170 kB streamed with Macbeth's 1.5-bit delta would give nearly two miutes at 7.8 kHz.
|
| |
tlr
Registered: Sep 2003 Posts: 1764 |
Does anyone have a link to $d418 -> output measurements?
I know I have seen voltage measurements somewhere, but couldn't find it now...
I'd like to give CVSDM a go. |
| |
Street Tuff
Registered: Feb 2002 Posts: 88 |
@tlr
yup. 4bit fibonacci -> 8bit pcm decoding was done while loading in 22050 hertz. it could be done realtime but not at 22khz anymore.
quite simple routine...
more_data
jsr getbyte
bcs end ;carry is set when loading is done
tay
and #$0f
tax
lda delta,x
clc
adc current_sample
sta current_sample
jsr writebyte
tya
lsr
lsr
lsr
lsr
tax
lda delta,x
clc
adc current_sample
sta current_sample
jsr writebyte
jmp more_data
;--------------------------------------------------
current_sample =$ff
delta !byte 222,235,243,248,251,253,254,255,0,1,2,3,5,8,13,21
;-------------------------------------------------- |
| |
tlr
Registered: Sep 2003 Posts: 1764 |
22050 Hz is roughly 45 cycles per sample.
Should definately be doable in realtime if desired, even with the routine you show here. |
| |
Street Tuff
Registered: Feb 2002 Posts: 88 |
but not with the fancy sprites in the background ;) |
| |
tlr
Registered: Sep 2003 Posts: 1764 |
Depends how you do it, but timed loop is the way if speed is critical.
Maybe the sprites can be stretched continously onto the next frame?
(avoiding the need for Y-pos stuff) |
| |
Street Tuff
Registered: Feb 2002 Posts: 88 |
thats what i already do. :)
seems like this is getting off topic...
anyone got voltage measurements for tlr? |
| |
Fungus
Registered: Sep 2002 Posts: 675 |
BAILANDO!!!!!!
/me dances |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Longest playing sample i know is "Turrican Intro" by JT/Marcus Wiederstein. "welcome to turrican, another......" |
| |
chatGPZ
Registered: Dec 2001 Posts: 11303 |
Schnapsinsel :) |
| |
titan_ae Account closed
Registered: Jun 2002 Posts: 46 |
Life will never be the same :
Life will never be the same Digidemo
Life will never be the same 286 k ! REU needed afair.
Life will never be the same Digidemo 286K
|
| |
TNT Account closed
Registered: Oct 2004 Posts: 189 |
MMC64 .RAW Sample Plugin - 14.5 kHz 8-bit samples, max. 850 MB long. |
| |
enthusi
Registered: May 2004 Posts: 675 |
just one more reason not to like MMC....
(for me that is) |
| |
Street Tuff
Registered: Feb 2002 Posts: 88 |
Mayday - The Judgement Day |
| |
McMeatLoaf
Registered: Jan 2005 Posts: 107 |
Using samples loaded from only 1 disk side (170 KB), isn't it possible to get like a minute of unmixed samples @5kHz? (4-bit) |
| |
Mace
Registered: May 2002 Posts: 1799 |
Street Tuff did this horrific piece too: Calling Earth
;-) |
| |
DeeKay
Registered: Nov 2002 Posts: 362 |
I'd vote for Turrican, too!
Due to its sheer size it must be a 2-bit-sample, I guess JT just did a really fine job in "hiding" the roughness of it by using a really rough sounding voice! ;-)
Has anyone ever tried a lookup-table based approach a la µ-law on the c64 yet? Like that you should be able to squeeze an 8-bit sample into 4 bits easily! ;-) |