MUFF WIGGLER Forum Index
 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

designing a simplistic oscillator
MUFF WIGGLER Forum Index -> Music Tech DIY  
Author designing a simplistic oscillator
axolotl
i'm working on a project, which is a 4 voice polyphonic analogue subtractive synth. the oscillator requirements are basic, like the Roland SH series and Juno/JP4. i'm considering both DCO and VCO options, but have a requirement that all waveshaping be done in the analogue domain. i'm intentionally evading the CEM3340 option, as i think the chip is sloppy :x

i'm attempting to make the most stripped down oscillator that satisfies my OCD perfectionist personality trait. this means attempting to reduce the circuits down to bare minimum. i'm omitting any hardsync or cross modulation capabilities, and i have little interest in these effects anyway

best of my understanding, using a resonator (self oscillating LPF) at the core of an oscillator has advantages over creating an oscillator that requires linear to exponential conversion from 1v/oct to musical notes. an ideal resonator should be able to respond exponentially by its nature

i'm aware of the traditional waveshaping methods, such as putting a saw thru a comparator to produce PWM, as well as using a D-type flipflop to create a sub oscillator

the biggest challenge i've found is attempting to produce a saw wave from a sine wave. these are my options:

1) use a binary ripple counter (CD4024) as an octave divider to produce a stepped saw wave

2) sine -> square -> phase shifted triangle w/ amplitude modulation to produce a saw wave

3) use a charging capacitor to produce a saw wave. the saw amplitude is dependent on additional circuitry to key scale correctly

my favourite method in concept is definitely option 1. i like CMOS chips A LOT. considering that my oscillator requires a SUB, the ripple counter can produce this by itself. i think the staircasing is an interesting trait, rather than simply a problem



so my main question is, why do people insist on using traditional exponential conversion methods in their oscillators? even if i chose option 3, could linear CV not create the necessary key-tracking for amplitude compensation? how do the more traditional oscillators work, and why should i even consider a design that requires transitor pair anti-log conversion?

-alexa
guest
the staircase design is nice, and has a unique tone to it, but requires a much higher frequency oscillator than usual (you need the 4th harmonic in your example above). as oscillator frequency increases, so do some of the errors (switching times become a larger percentage of the total time, for example).

im curious about your resonant LPF design that is intrinisicly exponential. how does it work? i don think ive seen something like that before (unless it uses the 2164).

an exponential converter is typically used to keep the CV errors tolerable. with linear control, 1mV doesnt matter much at the upper frequencies, but at the lower frequencies its a huge error (20kHz/10V = 2Hz/mV). its hard to keep opamps from drifting, so exponential is more practical. there are some nice chopper stabilized amps these days, but then you still need your CV sources to be super accurate as well.
axolotl
guest,

thanks for the reply! i'm glad someone appreciates the staircase design. anyhow, i may have misunderstood in some of my research in regards to an LPF responding exponentially by default. it's the best of my understanding that it's how these filters operate. i'm guessing by your response that it's actually not true. i'm still awaiting running tests on the concept x.x

i did mention the possibility of using DCOs, in which case i'd use a microcontroller to produce the HF square waves necessary to drive the frequency dividers (i kind of want to write the code for it)

i have to confess, i'm put off by exponential converters. i've mostly only read complaints about them, plus looking at the schematics they appear intimidating in a way. it'd be nice to see a really simplistic execution w/ explanation of how each part functions

it's been a bit difficult to disambiguate the schematics i've seen regarding exponential converters etc. i'm concerned that i could put together a contraption of an exponential converter, and have it be a constant annoyance. my OCD is actually driving my attempting to work on this, and it can be really sensitive

-alexa
mskala
An oscillating filter basically has VCAs embedded into it (setting the gain of the integrators) and it'll respond the way those do, linear or exponential or whatever. There's nothing intrinsic to an oscillating filter that magically makes it exponential.

If you're using 2164s like guest mentioned, they'll have exponential response. If you're using OTAs (a common choice) then they respond linearly to current and you'll need an exponential converter to drive them. But even with the 2164s you're not really free of issues like temperature sensitivity that apply to separate exponential converters; you just have some of the work done for you by having the exponential circuitry built into the chip.
J3RK
Speaking of the 2164 (Guest's post above) that's one way to make a relatively simple exponentially controlled VCO. No tempco needed, no matched pairs, no transistors wired as "ovens". The Sound Semiconductor SSI2164 datasheet has a nice method outlined. It's similar to what the 2164 Champions (as I'm just now internally referring to them as (David Dixon, Osamu Hoshuyama, Neil Johnson, Roman Sowa, etc.) have posted about on several occasions, and I believe Dave Rossum may have refined it a little bit in that datasheet example.

It may look a little bit intimidating at first, but if you break it into sections, it starts to make more sense. The upper left portion being a voltage reference for one. It's basically the one IC, and some passive components (give or take a few things like maybe a precision voltage shunt for example). It also leaves one VCA cell left over to either maybe build your integrator with, or perform some other voltage control function perhaps (like FM index maybe).

Then all you need is wave shaping.

All that said, I really like the staircase idea above. I've seen something similar as a wave shaper in a Lunetta-style circuit before (maybe over at Electro-Music).

For low parts count (for the core) it's kind of hard to beat the Terry Michael's sawtooth core though. It's simple, tracks well, has sync for free basically, and if you look at Ian Fritz' updated version, it's pretty high precision. You could probably fit a through hole version of just the core on 1" x 3" of PCB space or less.

Just some thoughts...

Edit: This would be some very advanced information, but if you want to read about filters as the oscillator core, check out the Aether Machine (slow_riot on this site) Oscilloplasm thread and associated information. A lot of it goes beyond things that I've personally worked on, but it's all very cool information, and some of it may be relevant.

I think Ian Fritz may also have something like this. (at least to some degree) I can't remember how he implemented his quadrature oscillator, but I think it may be something similar. (can't remember and would need to look again)
axolotl
mskala,

oh that explains it a bit. i was looking at the Bastl Cinnamon, which they call a VCF/VCO module. i just glanced at the schematics again, and it DOES use the 2164 that's been mentioned here

other VCF modules i've used, which are actually VCV rack modules, respond to 1v/oct as musical notes. meaning all CV that goes into the VCF modules, including envelopes etc, aren't producing linear response but rather exponential

i read some other misleading information conveying the idea, and i guess i misunderstood. i was really under the impression that all VCF's functioned in this way, but i guess it's the designers of these modules that find ways to ensure they respond in this fashion

this is actually pretty discouraging, not that i require VCOs. i'm considering focusing on micro-controller programming for DCOs

i found the Terry Michaels design, and i can't say it feels very simplistic:

http://ijfritz.byethost4.com/sy_cir2.htm

this part of electronics really sets off my OCD ;_;

-alexa
guest
DCOs are a decent way to go. if you want serious precision, you can use the AD9838. you can implement similar things on a microcontroller, but one issue that arises is jitter on the higher frequency notes. this can be fixed with some of the faster micros and assembly level programming. although this jitter isnt noticable if youre doing sinewave generation. on square and sawtooth the edges jitter. one of the old roland synths used a hybrid approach where an analog, high frequency square wave generator was controlled digitally, and then divided down to make the fundamentals.

if you want to learn a bit more about exponential converters, i put this together a while back:

http://www.openmusiclabs.com/files/expotemp.pdf

its a bit mathy at times, but compares almost all of the options. they will never be as accurate or stable as digital control, but they can be pretty darn good.
guest
another thing to consider, is what is your input device? if its a scanned keyboard, then DCO makes a bit more sense as youre already starting out with a digital representation of pitch. if its a modular, then you already have analog errors involved, and the exponential converter might not be the weakest link.
axolotl
guest,

i have a lot of interest in using the binary ripple counter frequency dividing to produce a saw, and then using the traditional comparator to produce PWM from it. the micro-controller can simply output high frequency square waves that are divided down by the CMOS divider

i'm thinking of starting w/ arduino, as i haven't done this before. the input device is 1v/oct and gate, which is read by ADC. i wrote a code outline for 1 voice input, 4 voice output polyphonic allocation. i know this is sort of a strange concept! i also wanted to have midi be an option. either way, the micro-controller is an important part of the design

it's kind of funny, i realize my interest in this dev has more to do w/ sorting logic. i'm not really an engineer, but maybe more a computer programmer? i have issues w/ complexity. i'll try to read your link. thanks

-alexa
guest
the pwm on the stepped saw should be interesting, sort of a quantized pwm. be sure to keep us posted on your progress.
mskala
axolotl wrote:
i found the Terry Michaels design, and i can't say it feels very simplistic:

http://ijfritz.byethost4.com/sy_cir2.htm


You're not going to get a "simplistic" analog circuit that also does things like tracking V/oct. That linked design really does look pretty simple to me. It's about the minimum for a usable analog synth VCO. To make it even simpler, you could cut out all the temperature and high-frequency compensation stuff in the exponential converter (taking it down to one op amp and one transistor, instead of two and two) but then it won't really track V/oct anymore and that might be an issue if you want to build several of them and play them polyphonically - that usage demands a certain level of tuning accuracy. I guess in a multi-oscillator version you could share the op amp that generates the reference voltage (OA4) among all the oscillators, instead of needing one of those for each. And if you don't need the modulation inputs you could drop some of those - but although that might save significant money on the potentiometers for controlling them, it won't make the core circuit simpler.

Anything that needs to be precise or stable or repeatable is going to need extra components to achieve those goals, more of them the more accuracy you want. If you're willing to go digital, great, but that's not really making the circuit any simpler - it's just hiding some of the complexity inside the microcontroller (which will contain thousands of transistors as opposed to the hundred or so in a couple op amp chips) and in the software.

I did an ad for one of my own products (PDF file, https://files.northcoastsynthesis.com/transistor-mixer-ad.pdf) where I drew out the internal circuits of the op amps in a typical four-knob modular mixer, showing how complex that circuit really is in comparison to my own discrete design. It's quite a striking image. But the discrete circuit has a temperature-sensitive DC offset, which will annoy some users... there's always a tradeoff for simplicity. You've mentioned that you want "simplistic" but you're also talking about things being accurate and predictable and that doesn't really go with simple circuitry.

If you find that what you really want to achieve can be done in digital, I think that's likely to be a better way for you to go.
axolotl
mskala,

i'm struggling w/ all of this, because i'm sort of doing it based on compulsion rather than legitimately wanting to do it. i don't have interest in making money or manufacturing, despite that being the trajectory i'm on

anyhow, the Terry Michaels VCO is off-putting to me. i believe you that it's as simple as can be. i'm having difficulty meshing w/ analogue, and i keep getting drawn towards anything having to do w/ binary, logic, digital. i don't know if an arduino behaves well enough to produce the oscillators, but i think it should. i'm definitely interested in DCOs. my first analogue synth was an Alpha Juno, and my favourite is the Juno-60. i was looking heavily into 6502 assembly back in spring. idk, this is just what i grasp more naturally

i designed an envelope that is simpler than anything i've seen so far, but i haven't tested it yet. the envelope design was much more in line w/ where my mind is currently. the oscillator stuff immediately was off-putting, and i was trying to find alternative methods

ANYHOW, guest, the PWM would be quantized. that's something that i was trying to decide on, but i think it should be interesting. we'll see what happens. i'm really discouraged while simultaneously i'm treating this like a full time job and i'm working overtime everyday x.x

-alexa
Synthiq
axolotl wrote:
i did mention the possibility of using DCOs, in which case i'd use a microcontroller to produce the HF square waves necessary to drive the frequency dividers (i kind of want to write the code for it)

Another alternative to the AD9838 quest suggested is one of Microchip's PIC16F processors with numerically controlled oscillator that can generate frequencies up to 16MHz with 20 bit resolution at lower cost and a DIP package that is easier to work with. The PIC16F18424 is especially interesting in that it is one of the few PIC16F processors with a 12-bit ADC so you can digitize a 10 octave control voltage with 3 cents resolution.

My idea was to use an 8-bit up/down counter for a through-zero oscillator and I would still be able to generate frequencies up to >60kHz. My main concern is the steps if it is used as a LFO and modulate the frequency or amplitude of some other signal so some sort of tracking analog lowpass filter to smooth out the steps would be needed that is slow during the ramp but fast when the waveform wraps around and I have not found a solution I'm happy with yet.
ricko
Can I ramp it up, probably too far?
Not just the SH-1000, SH-2000 and SH-3A used divide-down waveshaping.
The ARP prosoloist used it, including to reconstruct a sawtooth: it used a 64x VCO. (Actually, 256x, because it used these to get octave switching as well as drive the wave logic.)
What the ProSoloist also did, however, was to provide waveshapes that were *not* the exact divisions (2', 4', 8'. 16', 32').
Instead it used some gate logic to derive waves they called 1/9, 1/11, 1/14, 3/64 (i.e. 1/21) in a manner similar to Walsh functions: i.e. you can approximate any harmonic with square waves by making a ragged wave with the right number of peaks: to get 1/7 with 64 samples you might go 64/7 = 9 r1, so
4 on, 5 off,
5 on, 4 off,
4 on, 5 off,
5 on, 4 off,
4on, 5 off,
5on, 4 off
5on, 5on = 64.
The absolutely unique tone of the ARP prosolist is a mix of these prime-number-ish divisions and their flexible arrangement of filters (with different waves going to HPF, LPF and resonant filters)
I have owned and loved an SH-3a for almst 45 years now, but its wonderful unique sounds come more from the waveshaping at each foot, rather than just mixing square waves, which is in fact rather boring because there is no phase alteration caused by changing the mix if just using square waves.
So if you want to do something with waveshaping, why not just run it through some logic like the ARP, or have some mixable 1/4 waveshapes to mix rather than just mix the 1/2 (i.e. the square.)
lemberski
Hey axoloti,

talking about counters and PWM you may look into this pdf Elektor article from June 1985 (p.44-49):
https://www.americanradiohistory.com/UK/Elektor/80s/Elektor-1985-06.pd f
It's about TOS/TOG, the particular schematic is fig. 8 at p.47. Quote: "The duty factor may be set between five and 50 per cent in sixty-four steps."

Cheers,
lemberski
J3RK
That Terry Michaels setup can be simplified quite a bit actually. If I get a minute, I'll distill a version of it that I use down to what I consider the most basic version.

A simple triangle core VCO can also be distilled down to a handful of parts.

I'll post something in just a bit.

Edit:

This is the one I use. It's mostly based on Ian's version with some changes that I needed for the larger circuit (not shown here).

J3RK
That's chopped out of my Operator VCO.

I cut out the parts that make the core sawtooth into a bipolar signal, and also cut out all wave shaping, extra CV controls, etc.

The small circuit on the left side is just a precision voltage reference to supply +/-5V to various parts of the circuit.

You don't need a tempco resistor in order for this to track a ton of octaves. If you want additional temperature stability though, I'd put one in (TC1). Otherwise a 2K resistor will work.

This produces a 0-5V sawtooth, which might actually be handy if you want CMOS wave shapers, because it's unipolar. You don't have to handle negative voltages that way.

You can eliminate the high frequency adjustment trim, and just use a resistor there, and it will still work very well. You'll just need to select a value that works.

You can chop the Sync out easily, but since it's just two parts, it's kind of free there.

You can use discrete NPNs in place of the LS318 or SSM2212 matched pair, though those do help.

The left half is CV summing and exponential conversion. The right half is the actual integrator. U5:A is just a buffer. The other half of U5 was in a part of the circuit that I chopped out to simplify things.

The LM393 is a nice comparator, but it's a dual. It's not any larger than a single though, so I used it instead of an LM311. (It was also a little easier to set up.)

You could actually use the second half as a PWM comparator if you wanted a pulse wave.

You might be able to simplify the integrator section a tiny bit, but this one is extremely accurate and stable. (based on Ian Fritz' version) I'd hesitate to change too much of it.

For exponential VCOs it doesn't get too much simpler than this.

You might take a look at some of Rene Schmitz' designs though for alternatives. You might also check out Scott Stite's writeup of Thomas Henry's VCO-1.

If I get a chance later I can post some thoughts on an OTA based triangle core setup.

Edit:

A bit more odds and ends.

The actual oscillator consists of only 11 parts.

The exponential CV circuit is 11-14 depending on if you count the summed in parts for the CV inputs.

7 parts for the reference voltage. I prefer the precision shunt supplying op amp buffers here, but you could go simpler if higher precision isn't the primary concern. You could also use a Zener diode instead of the LM4040 or even a resistor divider provided your power supply is pretty solid. Also, if your power supply already provides a regulated 5V line, you could just tap off of that.

It's not the most simple oscillator circuit available, but it's pretty close when you consider the features that you're looking for. It's also WAY simpler to look at each section separately. (oscillator core, CV circuit, power, wave shapers, etc.)


Also, triangle cores, state variable cores, 2164 (or other VCA) based setups, and maybe others not mentioned so far, are still good solutions that can be relatively simple.

I think defining just how accurate, just how much drift is acceptable, how many octaves you need to track should all be considered before deciding on an approach. A lot of what you see in a lot of these circuits are attempts to get better performance, when maybe just average performance would suit the application just fine.

You could always go MCU too if you're code-friendly. (I'm not a coder myself, so that's why I'm into all these other methods.) hihi

Of course these are all just options in a sea of other ones. Just thought I'd try to break it down a little further though, because it's a little simpler than it looks.
J3RK
axolotl wrote:
guest,

i have a lot of interest in using the binary ripple counter frequency dividing to produce a saw, and then using the traditional comparator to produce PWM from it. the micro-controller can simply output high frequency square waves that are divided down by the CMOS divider

i'm thinking of starting w/ arduino, as i haven't done this before. the input device is 1v/oct and gate, which is read by ADC. i wrote a code outline for 1 voice input, 4 voice output polyphonic allocation. i know this is sort of a strange concept! i also wanted to have midi be an option. either way, the micro-controller is an important part of the design

it's kind of funny, i realize my interest in this dev has more to do w/ sorting logic. i'm not really an engineer, but maybe more a computer programmer? i have issues w/ complexity. i'll try to read your link. thanks

-alexa


Also, I think your ideas here are excellent, and definitely more unique. By posting that wall of text, by no means was I trying to steer you away from this. w00t

In the case of using an MCU, you could implement a simple phase accumulator oscillator, and then either set up a table to read some shapes out of, or output that to CMOS wave shapers too.
axolotl
ricko,

i had an SH-3a too! when i was a teenager, i had an Alpha Juno-2 and SH-3a. between those two, i was getting a lot of different sounds. the Arp ProSoloist sounds pretty interesting, tho i've never heard it. i'm into anything relating to additive or frequency dividing really n.n

J3RK,

thanks for the exponential oscillator help, tho really i fail to grasp wtf is going on. i can read schematics, but i'm not really following the logic of what's going on in the design

i was going to use the PWM outputs from the arduino to output HF square waves w/ 0% duty as 0, and 100% duty as 1. this bypasses the need for a DAC or filtering, and i don't think i like digital oscillators much anyhow. DCO is a different story. the HF square waves would go into the octave divider for the formation of saw, comparator pwm, and sub osc

i'm really struggling w/ motivation. i have solid logic on my ideas. it's just a matter of actually making everything. plus, like i said i'm mainly doing this because of OCD compulsions

-alexa
cretaceousear
Sorry - but it bugs me every time I see the thread title!
Simplistic means an over simplified view of something.
So you could have a simplistic view of how an oscillator works. It's usually a polite way of saying someone doesn't have a clue.

What you are looking for is a cut down or simplified or plain simple oscillator.
My grammar nazi just got let out. Phew that's better.
cygmu
cretaceousear wrote:
Sorry - but it bugs me every time I see the thread title!
Simplistic means an over simplified view of something.

[...]
My grammar nazi just got let out.


Why would your grammar nazi be so keen to correct a semantic error? Your semantics nazi is going to be most upset.
cretaceousear
cygmu wrote:
Why would your grammar nazi be so keen to correct a semantic error? Your semantics nazi is going to be most upset.

Wanna get picky, eh?
Semantics is to do with the study of meaning, not word usage. It's more of a malapropism.
Where's a leek emoji when you need one?! ;-)
Dcramer
I’m not a DIY guy, I’m way to dumb to even grasp what I’m looking at in this thread but I have to ask;
If you can design a relatively simple self oscillating filter to produce your oscillator, could you create something like a Saw by using FM to have the oscillator modulate itself and generate the higher harmonics?
(I do this while patching sometimes, it sounds great but pushes the oscillator out of tune) hmmm.....
cygmu
Dcramer wrote:

If you can design a relatively simple self oscillating filter to produce your oscillator, could you create something like a Saw by using FM to have the oscillator modulate itself and generate the higher harmonics?
(I do this while patching sometimes, it sounds great but pushes the oscillator out of tune) hmmm.....


My understanding is that this idea basically works but requires a bit of effort to get things working nicely. One reason that things go out of tune is that you get all the harmonics, including the 0th, which is a DC offset, and then the feedback path means that the oscillator gets pushed out of tune.

I think Hordijk's OSC HRM works on this principle. But for the purposes of this thread my guess is that it will fail the criterion of being simple, in the end.
MUFF WIGGLER Forum Index -> Music Tech DIY  
Page 1 of 1
Powered by phpBB © phpBB Group