[music-dsp] Evolutionary oscillators
Ethan.Bordeaux at analog.com
Wed Jun 4 08:45:00 EDT 2003
i've written a good chunk of this in asm for the ADSP-218x. never got
around to writing the adaption portion of it, but i think correlating
against a saw/triangle is a good starting point. about 50% of the 1st
generation oscillators had some sort of usable output.
one thing i found that should have been obvious is that the allowable
opcodes drmatically affect the output. when i tended towards bitwise
operations the output was very digital and glitchy, while when i allowed
more multiplies, the output was much smoother (though not necessarily
the way i set the frequency of the oscillator was to feed a phase
acumulator into a few processor registers while forcing all other
accessable registers to a known state. this caused the waveform to be
periodic, though perhaps not as interesting as it could be.
saving/restoring register state would probably allow for more
interesting output, but becomes too computationally intensive for
so then, anyone else have some nontraditional digital-only oscillators
or fx they'd care to share?
> I found this goodie by accident today:
> Amusing evolutionary "cheat" aside, has anyone tried evolving an
> oscillator in software?
> I considered developing a "virtual machine" with a handful of
> mathematical operators as instructions, a small ring buffer for a
> workspace, and the desired frequency (probably represented as
> fraction-of-nyquist) as its input. To determine the fitness
> of a given
> program in this instruction set you'd feed in a bunch of different
> frequencies, and for each desired frequency do an autocorrelation
> test to see how close it came to a periodic signal of moderate
> amplitude at that frequency. I would guess the most likely thing to
> evolve would be either a counter-based square or saw wave (if the
> instruction set included conditionals) or a ringing-resonant-filter
> sine wave. Perhaps the fitness conditions could be adjusted to
> get more interesting forms. How many generations would it take
> to get a recognizable tone?
More information about the music-dsp