[sdiy] [synth-diy] numerically controlled superoscillator without hard sync
Roman Sowa
modular at go2.pl
Mon Feb 10 10:35:08 CET 2014
W dniu 2014-02-09 23:28, cheater00 . pisze:
> On Sun, Feb 9, 2014, Roman Sowa <modular at go2.pl> wrote:
>> would be just useless. You need RF stuff, and that rarely has wider range
>> than 2:1, I mean one octave.
>
> First of all, you don't really need one clock cycle per instruction,
> just one cycle per sample of output - see what I discussed with Brian.
yes, using interrupts or DMA as sample trigger while DSP is running
constantly on its own clock is very good idea.
>
> I have an 80s Phillips analog VCO signal generator on my workbench and
> it goes up to 20 MHz. It has deep FM. It cost 50 euro or so. I don't
> think what you're saying about the difficulty of fast VCOs is
> necessarily true. Check out the original post from December. It
> describes a numerically controlled oscillator - I bet it could be made
> fairly stable.
I bet your generator was 4000 USD back in the 80s, and would cost
probably no less than 1/4 of that if made today. I cannot tell if it
uses ICL8038 pushed to the limits, or any other DC-based integrator
oscillator. Or maybe it uses 300MHz swept between 275 to 325MHz and
downconverted to give DC-50MHz. What about V/oct or Hz/V tracking
conformity and stability? FM in signal generators were not designed for
super precise tracking needed in pitch generation.
>
>> But, if you take VCO saw wave at audio frequency, and add a nifty circuit
>> that generates a pulse everytime voltage rises by, say, 20mV, then we get
>
> You've described a DAC. I've given this serious thought long before I
> came up with the superoscillator idea. The issue with a DAC-based
you mean ADC, or to be specific Digidesign VCDO and many other variants.
I was refering to simpler circuit that simply pulses while voltage
changes. No actual code is generated/stored here, just clock.
> Your waveform reaches 95% peak voltage, then it
> turns back and goes back to 92%, then turns back and goes up to 100%
> and changes state to the falling edge, and goes back down to 0%. How
> should a DAC multiplier recognize that? What about things that happen
it does not. Of course there will be nonlinearities, but in rather
constant and predictible manner, so the tuning can be compensated as it
is with resistor inserted in series with integrating cap in most common
triangle VCO core.
> within one DAC code? With a 16 bit DAC it might be less important, but
> as you say yourself, even an 8 bit DAC is braving it. No, having a
> superoscillator and simply counting it is a better idea.
I'll shut up if I see good tracking VCO with 10-octave usable range
going up to, let's say, 50Mhz.
>> The sound is easy recognizable, and has its character, but was too much
>> lo-fi to me. VCF helped a lot and finally it turned out as a nice polysynth,
>> although I never wanted to go back to the idea of variable sample rate ever
>> again.
>
> Nowadays chips are much more powerful. You can certainly cover the
> whole spectrum up to 22 kHz. Especially once the below is answered...
It was not a matter of chip power, as it used no micros. I could go up
to few MHz sample rate if I used different TOG. 32 sample per period
seemed like good tradeoff.
To cover 22kHz spectrum at low C (65Hz) you need about 680 samples per
wave, and this is not the lowest note that people like to play
sometimes. So at higher end of 4kHz that gives anout 2.7MHz sample rate.
With 300MHz DSP that's more than 100 instructions. I admit there is a
space for a lot of computing indeed. OTOH at that horsepower you can
make nicely sounding synth voice using constant sample rate.
>> We also need to consider that constant number of samples leads to
>> unnecessary massive amount of calculations and samples at higher end, and
>> surely too low sample count at lower frequencies, which requires filtering
>> down to very low frequencies. Audio would be very limited if we don't want
>> to hear the sampling clock, and IMHO it's not a nice thing to hear on any
>> sound.
>
> Easily optimized away by use of mip-mapping.
If I understood you correctly, that is going back to the idea of
constant sample rate, where timbre may suddenly change noticeably
between 2 semitones.
Roman
More information about the Synth-diy
mailing list