Heaven/TQA #1 Posted April 25, 2010 http://www.atariage.com/forums/topic/154826-digital-sounds-by-tone-channel-volume-variations/page__p__1901298__hl__ghostbusters%20samples__fromsearch__1#entry1901298 Quote Share this post Link to post Share on other sites
Heaven/TQA #2 Posted April 25, 2010 and did ever someone reverse engineered the encoder? http://en.wikipedia.org/wiki/ESS_Technology Quote Share this post Link to post Share on other sites
PeteD #3 Posted April 25, 2010 I've heard the Impossible Mission stuff on A8 Pete Quote Share this post Link to post Share on other sites
phaeron #4 Posted April 25, 2010 I listened to some of the C64 speech samples, and they don't sound like straight lossy compression or phoneme-based encoding. With phoneme based encoding, you'd have a robotic sound like S.A.M., but the intonation is natural. It sounds more like what you'd get with an encoding designed for speech, like LPC. If that's the case, the C64 implementation might be relying on the SID bandpass filter, which might make it hard to replicate on the Atari 8-bit. Quote Share this post Link to post Share on other sites
Heaven/TQA #5 Posted April 26, 2010 but you have Ghostbusters and Kennedy Approach on A8, too... so there might be the same encoder/decoder used? Quote Share this post Link to post Share on other sites
Rybags #6 Posted April 26, 2010 Not sure about Kennedy Approach, but IIRC Ghostbusters uses the same technology. Wrathchild hacked out and converted the routine from the C-64... so there's not really any reverse-engineering going on there except the code conversion itself. It'd be real nice to have the encoder software... but I'd say even today it's still got commercial value. Sure, there's other stuff like MP3, OGG, FLAC and the countless others, but you generally need about 100 times the CPU grunt of our machines to decode them in realtime. Quote Share this post Link to post Share on other sites
PeteD #7 Posted April 26, 2010 There's a pretty good one on the Beeb by Superior Software. It probably hammers the hardware rather than use the ROM functions but it might be possible to convert depending on what it's actually doing. Pete Quote Share this post Link to post Share on other sites
Wrathchild #8 Posted April 26, 2010 You mean like this.... Whilst similar, the C64 replay routines for Impossible Mission and Ghostbusters do differ in the way the samples are packed and so, for example, you can't playback the GB samples through the IM player. Haven't looked into Kennedy Approach yet but then the A8 and C64 would be more similiar in terms of the # of samples available. It would be great to understand the encoding technique and so produce a sample converter for general use though. Regards, Mark gbreplay.xex Quote Share this post Link to post Share on other sites
Heaven/TQA #9 Posted April 26, 2010 (edited) Wikipedia says that Kennedy Approach and others use the E.S.S. software for speech... even an Apple 2 game is mentioned... Edited April 26, 2010 by Heaven/TQA Quote Share this post Link to post Share on other sites
Rybags #10 Posted April 26, 2010 Probably an earlier incarnation. Impossible Mission is fairly impressive given the quality is about what you'd expect of 11 KHz sampling, yet fits in about 10% or so of the space you'd use for packed samples. Quote Share this post Link to post Share on other sites
+therealbountybob #11 Posted April 26, 2010 Was the fantastic chicken noise in Chicken sampled too (seems to have been removed from some file copies) Think Grand Prix Sim (codebusters) has speech too. Quote Share this post Link to post Share on other sites
Heaven/TQA #12 Posted April 26, 2010 Oh... the "fantastic" Beach Head 2 was using ESS, too? (interesting... the emulator on A8 side made nice comic bubbles out of it... so real speech2text... ) but the c64 version do not shut off the screen esp. in BH2? how was that possible then? Quote Share this post Link to post Share on other sites
Rybags #13 Posted April 26, 2010 C64 has the more even Halt overhead, so samples with delay loops will sound more accurate. Atari, we have the badlines, then DMA every second cycle on other lines, then practically no DMA for the blanks, not to mention the 9 cycle Refresh on most lines. So, the technique of simply using delay loops will almost never sound good. Back in the day, nobody seemed to know how to properly do samples on the Atari, ie use Timers, poll loop on Timers, or just use VCount or HSync waits - all of which can be made to sound practically the same regardless of screen on or off. Of course also, they didn't bother for the most part to utilise the full 64K, so lots of games missed out on potential extras like voice samples in BH2 etc. Plenty of games (Chicken, Tumblebugs) of the early days had samples... of course they were just the same primitive raw data that most of us are using these days. Quote Share this post Link to post Share on other sites
Mathy #14 Posted April 26, 2010 Hello guys Didn't the Closer to Home guy (Tom, I forgot his last name) do something with samples? IIRC he was very good, but it's been a while since I looked into that. greetings Mathy Quote Share this post Link to post Share on other sites
Heaven/TQA #15 Posted April 26, 2010 You mean like this.... Whilst similar, the C64 replay routines for Impossible Mission and Ghostbusters do differ in the way the samples are packed and so, for example, you can't playback the GB samples through the IM player. Haven't looked into Kennedy Approach yet but then the A8 and C64 would be more similiar in terms of the # of samples available. It would be great to understand the encoding technique and so produce a sample converter for general use though. Regards, Mark sounds quite good... amazing that it is only 8kb total... Quote Share this post Link to post Share on other sites
atariksi #16 Posted April 27, 2010 C64 has the more even Halt overhead, so samples with delay loops will sound more accurate. Atari, we have the badlines, then DMA every second cycle on other lines, then practically no DMA for the blanks, not to mention the 9 cycle Refresh on most lines. So, the technique of simply using delay loops will almost never sound good. ... Actually, it's the reverse. There's more uniform DMA in graphics modes on A8 than on C64. On C64 you get a sudden group of halt cycles whereas you get those only in text modes on A8 and those for 40 byte modes. The latency is less even if you don't use timers on A8-- you can even it out more by putting some delays during non-display regions. And you won't be playing samples many times per line anyway so the probability of hitting DMA halt cycles is equalized in graphics mode on A8. Back in the day, nobody seemed to know how to properly do samples on the Atari, ie use Timers, poll loop on Timers, or just use VCount or HSync waits - all of which can be made to sound practically the same regardless of screen on or off. ... Berzerk on A5200 sounds pretty good and it's with screen on. I have always been using ANTIC mode F for digitized audio. Quote Share this post Link to post Share on other sites
Rybags #17 Posted April 27, 2010 Not quite. If you don't have sprites, the C-64 only has the badlines for 25 scanlines of the screen (40 cycles lost each). Atari, you have a mix of 9 cycles on most blank lines, 50 cycles on most graphics lines and 81 cycles on the badlines. The result is that delay loops will have a much more variable runtime on the Atari. Quote Share this post Link to post Share on other sites
atariksi #18 Posted April 27, 2010 Not quite. If you don't have sprites, the C-64 only has the badlines for 25 scanlines of the screen (40 cycles lost each). Atari, you have a mix of 9 cycles on most blank lines, 50 cycles on most graphics lines and 81 cycles on the badlines. The result is that delay loops will have a much more variable runtime on the Atari. What affects the audio playback more is the latency. If the next sample to be played is on cycle 24 (and you can do this with almost any sampling rate), you can get a hit of 40 consecutive DMA halt cycles on C64; on A8 you can get a few (much less than 40) and you will get the sample played. Also, note that 40 cycles on C64 is equivalent to 72 consecutive cycles on A8 which never occurs in any graphics mode. Quote Share this post Link to post Share on other sites
Rybags #19 Posted April 27, 2010 Crap. You get 80 cylces lost in a row on a 40-column text badline. I've done this kind of thing on both machines, so I know what I'm on about. Quote Share this post Link to post Share on other sites
Fox-1 / mnx #20 Posted April 27, 2010 Hello guys Didn't the Closer to Home guy (Tom, I forgot his last name) do something with samples? Tom Hunt. He did do some sample players/converters. I remember one that has something to do with the parrot and had a "Picard" sample included. I also have READIT.COM. This is a Sparta-Dos 3.2 tool that plays a text file as speech. Like S.A.M. ------------------------ READIT.COM © 1994 CTH Enterprises All Rights Reserved by Tom Hunt Use like this- readit textfile.ext ------------------------ Quote Share this post Link to post Share on other sites
thorfdbg #21 Posted April 27, 2010 http://www.atariage.com/forums/topic/154826-digital-sounds-by-tone-channel-volume-variations/page__p__1901298__hl__ghostbusters%20samples__fromsearch__1#entry1901298 Yes, of course. There is a speech version of Ghostbusters, and Kenedy Approach also used the very same synthesis program, "Electronic Speech Systems of Berkeley, Inc." was it labeled. Both the same, nice code. The code uses pokey timers to play tightly packed samples (or sample collections) from RAM, using the VOLONLY bit of the pokey registers. Part of the trick was that for vowels, the sample waveform was only encoded one half, then flipped over and played backwards (thus, assuming that the waveform was symmetric). The frequency could be altered, forming the pronounciation curve, some kind of limited frequency modulation. For consonants, the trick was that the period of the waveform was altered quickly, i.e. it repeated parts of the same waveform, but with slightly different periods, to create assymetric and non-periodic sounds required for the non-harmonics. It was a nice technology using only very minimal RAM, and a very short, interrupt driven logic to create the sounds. The technology wasn't phonem based, only half-way phonem based in the sense that the phonems for all the required words were recorded, but not freely combined. That is, if you hear "Airfrance eight-seven-zero" in Kennedy Approach, then each of the phonems were recorded individually (i.e. "seven = s eh1 v eh2 n" used six phonems, not five, it did not re-use the "eh" twice) and then replayed. Probably that allowed more natural sound since the sound of a phonem depends also on the position within the word. That is, the system was not a fully synthetic voice as in SAM, but a smart combination of minimal samples that were replayed at game time. Greetings, Thomas Quote Share this post Link to post Share on other sites
thorfdbg #22 Posted April 27, 2010 and did ever someone reverse engineered the encoder? http://en.wikipedia.org/wiki/ESS_Technology No, but the decoder. (-: Greetings, Thomas Quote Share this post Link to post Share on other sites
Heaven/TQA #23 Posted April 27, 2010 Thomas... thanks for the explanation... but if you know the decoder... what do you think? mainframe/pc was doing the encoding? i doubt they used 6502 based machines to do the encoding? Quote Share this post Link to post Share on other sites
thorfdbg #24 Posted April 29, 2010 Thomas... thanks for the explanation... but if you know the decoder... what do you think? mainframe/pc was doing the encoding? i doubt they used 6502 based machines to do the encoding? It isn't actually much "encoding" because waveforms were more or less represented as they are, except that only very minimal samples were used from which words are build; the tricky part might have been to find a minimal representation of the phonems required. While I can only speculate, I highly doubt that a 6502 was sufficient for that. Remember, you first have to record the audio and then process this raw data. 64K is hardly ever enough for that, and you would need a bit more "horsepower" either. So long, Thomas Quote Share this post Link to post Share on other sites
PeteD #25 Posted April 29, 2010 The Superior Software Speech! thing on the beeb is 7.5k and a full text to speech synth. It's a bit less "human" than the Berkeley one but not bad for the size and flexibility. Pete Quote Share this post Link to post Share on other sites