Subject: Re: [stella] [POLL]What is everybody working on? From: Rob <kudla@xxxxxxxxx> Date: Wed, 6 Nov 2002 09:58:37 -0500 |
On Wednesday 06 November 2002 01:45, Clay Halliwell wrote: > Hey, wasn't I asking about that here just a few weeks ago? Looks like you did, back in August when I was on vacation :) > Still curious how this would sound. I don't have the math mojo to figure > the average frequency of a chunk of WAV file. FFT seems a bit overkill > though, doesn't it? You said it yourself - to determine the frequency of each chunk you would need to do something hairy like a Fourier transform. Well, FFT is "fast Fourier transform". I don't understand all the math behind it but I live in the Linux world and there are a ton of libraries available to do it. ;) I already found a perl module that takes a chunk of WAV data and tells you its frequency at a given FFT size, but I would like to go further. (OK, I'm saying more now, I apologize!) A lot of sound programs (like Audacity, a free Cool Edit like program for Windows, Linux and MacOS) are able to display waveforms as the usual oscilloscope-like display of amplitude, or as a set of frequencies in a spectrum analysis kind of display. I want to figure out how to generate one of those (at quite low resolution) for each 2600-frame-sized chunk of sound, and compare it (I have some experience comparing bitmaps crudely but effectively, see http://www.kudla.org/raindog/perl ) to a set of similar bitmaps generated by writing a program that makes every possible pitch in every possible waveform on the 2600. (I think there are 512 altogether.) Pick the closest match and generate a dasm-compatible data line. Repeat until the file's done. If I manage to implement my comparison routine in sufficiently fast C, I might even consider comparing against all possible combinations of the two channels (256,000 comparisons), then taking the winner of that comparison and comparing against all possible combinations of amplitudes between the two channels (another 1024 comparisons.) :) I have no idea whether it would sound good, but I'm betting it'd at least be decent for explosions and engine noises. ;) But it's academic right now because at the moment I don't have the time to do more than idle research. What originally made me consider this approach was listening to the speech synthesis in the latest version of o2em (btw, version 1.0 for Linux and Windows is out.) The phonemes are strung together really coarsely and so it has this warbly vocoder-esque sound to it. But then I realized that the Odyssey2 Voice unit had like 128 tiny samples in it, each corresponding exactly to the desired phoneme (and a few sound effect and phrase samples as well.) So my approach would probably sound a good deal worse, but curiosity dictates that I at least try! BTW, you aspiring commercial 2600 developers, speech synth chips are dirt cheap these days, I'm guessing it'd probably be pretty easy for a hardware hacker to hook one up to an Atari cartridge in the same kind of way as those bankswitching schemes, and that'd be a hell of a value-add to entice people to buy physical cartridges. ;) Rob ---------------------------------------------------------------------------------------------- Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] [POLL]What is everybod, Clay Halliwell | Thread | Re: [stella] [POLL]What is everybod, Christopher Tumber |
Re: [stella] [POLL]What is everybod, Clay Halliwell | Date | Re: [stella] [POLL]What is everybod, Christopher Tumber |
Month |