So this was done quite a while ago… it’s an Arduino wavetable based oscillator.
In this instance, I have two oscillators running out one PWM channel.
The wavetable is 8-bit with 256 sample points. At the moment I have three waveforms to choose from: sine, triangle, and sawtooth. I’ll be harvesting others to play with. The base Arduino won’t give enough space for what I eventually want to make available.
There are two potentiometers; one controls the base frequency of both oscillators, the other controls the detune amount between them.
I implemented this on an Arduino rather than a Propeller (my normal choice) because I have my Propeller proto-boards wired up for something else at the moment but fully plan to do this on the Prop. Another reason for the Arduino experiment is that I’m messing with analog filters (the subject of a later post) and I found a few sketches to base that work on.
At any rate, this experiment gave me a quick way to play with software anti-aliasing of the 8-bit data along with “click reduction” when changing the wavetables dynamically.
Anyway, here’s a quick video of this thing in action:
No schematic this time because this stuff is uber-simple and is described on hundreds of Arduino sites (i.e. reading potentiometers with the built-in ADC and generating audio with the PWM channel).
Let me know what you think!