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

diy harmonic oscillator?
MUFF WIGGLER Forum Index -> Music Tech DIY Goto page 1, 2  Next [all]
Author diy harmonic oscillator?
djs
Any ideas on how to make something similar to the Verbos harmonic oscillator? Mostly I was thinking of something where you could use sliders/pots to mix the harmonics of a root sound.


Ideas included using a divide down structure like a string synth. Not sure how good that would sound. The other idea would be taking the input voltage for an oscillator and multiplying (dividing?) it to drive a bunch of sine oscillators to get the harmonics. This might be the best way to do it, but then would probably require a lot of tuning and buffering to get it to work.


Thoughts?
cygmu
The easiest way is surely to do it digitally. There are code examples in the source for Mutable Instruments Braids which could be adapted pretty easily and deployed on a Teensy or STM board. I got about three minutes into doing this a few weeks ago before something distracted me...

The Buchla 148 circuit, which I believe the Verbos one is based on, is a triangle core oscillator and a lot of waveshapers. You need 3, 5 and 7 (and maybe 9?) stage folders to generate the odd harmonics, and frequency doublers (full wave rectifier, level shift and scale) for the even harmonics. Then sine shapers for each output, and probably a VCA for each output too.

It is definitely doable but a non-trivial project for sure. I think the toughest part is getting all the odd folds working, which will require some careful trimming, or a fold circuit that I don't know about.

Shall we do it?
Karl71
Woohoo. hyper
adam
djs wrote:
The other idea would be taking the input voltage for an oscillator and multiplying (dividing?) it to drive a bunch of sine oscillators to get the harmonics. This might be the best way to do it, but then would probably require a lot of tuning and buffering to get it to work.


Thoughts?


if they're 1v/octave vco's you just need to add 1v per octave to the cv before it reaches each vco (presuming the harmonics are an octave apart) - i suspect as long as each vco tracks well and the adding is done precisely it should sound ok

i like filterbanks too but not sure that'd give you the effect you want, might be better with a saw vco, you could test it out with a mixer or daw to see if it'd be ok
djs
cygmu wrote:
Shall we do it?


Not sure I'm smart enough to do it, other than build one if someone else made the PCB smile

I like the voltage idea, because then you could probably do like a scaling adjustment (1 octave, half octave, etc) across the board very easily. My concern though is having a bunch of oscillators that stay in tune with each other.

The waveshapers would more likely stay in tune, but seems to me like a very complex circuit to do?
E.A.S.
djs wrote:
Any ideas on how to make something similar to the Verbos harmonic oscillator? Mostly I was thinking of something where you could use sliders/pots to mix the harmonics of a root sound.


Ideas included using a divide down structure like a string synth. Not sure how good that would sound. The other idea would be taking the input voltage for an oscillator and multiplying (dividing?) it to drive a bunch of sine oscillators to get the harmonics. This might be the best way to do it, but then would probably require a lot of tuning and buffering to get it to work.


Thoughts?


I did it digitally...

16 sine oscillators, each with their own DADSRs (amplitude), PAN, and LEVEL controls. Been working on making this a product..

Here is a video I posted a good while back testing it out.

https://www.youtube.com/watch?v=fXwUCjiZhSQ

-Mike
cygmu
That's a nice-sounding oscillator! What hardware are you using inside there? I hope you are able to turn this into something that people can buy / build, but of course the availability of Braids / Plaits does fill this space a bit. But there's always room for more in Euro...
livefreela
I may be totally pulling this out of my rear; but I could have sworn I heard at one point in time the HO was essentially a shedload of serge wave multiplier middle sections set to a variety of intervals, along w. a great deal vca trickery to go along with... hmmm.....

If that's the case, its a very much doable diy project!

If this is totally bogus, apologies in advance!
Isaiah
This is something I’ve been working on sporadically for a few months in LT Spice.

Triangle-core VCO is the best starting point.
As stated above, generating most of the even harmonics (2nd, 4th, 8th) is easily done with full-wave rectifiers, amplification and offset summing.
The 6th harmonic is derived from the 2nd (with a folder) or 3rd (with a full-wave rectifier).

The problem I’ve found is that to get equal spacing between the peaks and troughs of the odd harmonics requires quite a few op-amps per harmonic.

I might be using this in a future collaboration so I can’t share a schematic at the moment, but if it isn’t used I’ll likely share it.
cygmu
livefreela wrote:
I may be totally pulling this out of my rear; but I could have sworn I heard at one point in time the HO was essentially a shedload of serge wave multiplier middle sections set to a variety of intervals, along w. a great deal vca trickery to go along with... hmmm.....

If that's the case, its a very much doable diy project!


The Buchla circuit is not quite that, but very similar. The tricky thing (as Isaiah says below) is to do the folding in such a way that you get the actual 3rd, 5th and 7th harmonics rather than "triangle-ish waves that go up and down 7 times for every one cycle of the input".
cygmu
Isaiah wrote:

The problem I’ve found is that to get equal spacing between the peaks and troughs of the odd harmonics requires quite a few op-amps per harmonic.


Exactly. My "design" for this uses four op amp stages per fold, so you need 4 for a 3rd harmonic, 8 for a 5th and 12 (!!!!) for the 7th. I'm not doing the 11th. Buchla's circuit is a lot more economical than this but I can't quite believe that it's possible to make it really accurate, unless you replace lots of resistors with trimmers or something like that.

To get the first ten harmonics, you need (I believe)
two triplers (to get 3rd and 9th)
one x5
one x7
five doublers (for 2, 4, 6, 8 and 10)

So that is a lot of circuitry. Oh, and then ten sine shaper, ten VCAs, and mixing / scaling circuitry too.

Still I find myself interested in doing this...
Isaiah
cygmu
Sounds like we are taking very similar approaches!
Yes, the silly number of op-amps (increasing numbers for higher odd harmonics) sounds very similar to what I’ve got in my simulations.

Admittedly, I had stopped at the 8th harmonic, thinking 8 is a nice round number.
I might even only use up to the 5th for what I have in mind since it’s only one part of a much larger project and it’s already a big circuit. I’m not sure yet...

But if you’re going to all this effort, what’s another handful of op-amps?! hihi
Folding the 3rd and rectifying the 5th seems like the easiest way to get the 9th and 10th harmonics respectively. thumbs up

I agree about the Buchla (and Serge) circuits not producing evenly-spaced folds so moved away from them very early on.
Obviously they sound great as dynamic wavefolders, but not for our purposes.
cygmu
Isaiah wrote:

I agree about the Buchla (and Serge) circuits not producing evenly-spaced folds so moved away from them very early on.
Obviously they sound great as dynamic wavefolders, but not for our purposes.


There's also the Buchla 148, which generates harmonics by wave folding in the way we are describing, but I do find it hard to believe that they are all that accurate. There are several stages that use diodes to clip the signals. My sketch does the same but drops a couple of op amps in there to make the clipping more precise. It may be unnecessary, though -- precision clipping gives you nice sharp triangles, at least in simulation, but they're heading towards a sine-shaper anyway, so maybe a bit of softness around the folds is ok.
Grumble
Have been working on this old school way (sort of Mr. Green )
Calculated sinewaves with different frequencies and values, add them and put the resulting wave in a fifo and read that out with hardware.
Picard
Maybe you could use a polyphonic analogue synth in single sine wave voice mode and play the harmonics on the keyboard (of course you need a large keyboard and 6-octave-long-fingers...). But playing the harmonics via MIDI notes should be possible and you can use velocity for the harmonics amplitudes.
APETECHNOLOGY
it would be nice if someone better then me at pcb layout would make a board for this!





lol
raph36
Crazy that someone had the buchla 148 schematics stored somewhere all this time . it's the first time i ever see them on the internet and when i started working on this , i looked everywhere.

I've also been involved in simulations around these ideas and seeing those buchla schematics is interesting as my approach is very different , indeed more looking like the serge multiplier middle section, (tough that they both seem to use the voltage drop of diodes as breakpoints for triangle waves (buchla schematics are really a pain to decipher))
however i went for simplicity (if you can call that simplicity) and my circuit is probably very close to the verbos, the idea is that any glitch will be significantly softened by the sine waveshapers , and that, if you're going for analog instead of digital (which is more adequat) any irregularities is indeed part of the charm. i don't think that 4 stage waveshaping only to get the third harmonic is a realistic goal when you add amplification and sine waveshaping , added that you usually need a bunch of them, however i think it's still an interesting goal to pursue for the sake of knowledge.
my design produces "good enough" sines for the 3rd , 5th and 7th. (at least in simulation) , from that, i've arranged circuitry to get the 1,5 , 2,5 and 3,5 harmonics (as they produce an interesting alternative, closer to some kind of polyphony). the even harmonics are a piece of cake.

however i fell short to get a decent 9th harmonic as increasing the number of stages increase the instability of the whole process, making the 9th not decent enough for my taste

i still have to decide wether i'll release this a diy project

cygmu
That looks great, raph36. I've been trying to do things like this, at least on paper, for a while so I would love to know how you do it! The 7th harmonic looks really good.

The Buchla circuit is the one I was referring to above. It is super efficient in terms of parts compared to my "precision" one (which only exists in my mind) that uses 12 op amps for the 7th harmonic. I think I know my way around the Buchla one now. Key points are:

- it runs on a +24V supply and the wave oscillates about 11.3V
- the second schematic above is the odd harmonics. There's a x3, then x5, then x7 section in the main part of the diagram, each with its own sine shaper. The x3 also feeds another x3 at bottom right to get the x9.

The x7 works like this (this is the section from IC3 to the right of the diagram)

- signal is fed through a pair of diodes to clip it at top and bottom
- the signal also goes through an op amp / diode stage to create flat spots around the zero level (well, the 11.3V level)
- the output of that is then diode-clipped at top and bottom
- summing these two gives you the x7 triangle
- run that through the usual Buchla sine shaper (2 diodes and JFET) for the 7th harmonic output.

It is amazing to me that this can be made to work. The right resistor values would take some finding. Presumably if you change diodes you will need to rework the gains in the various stages to get the wave to come out looking nice.

The x3 and x5 stages are reduced versions of this. As you say, no need for 4 stage waveshaping for the 3rd harmonic. The reason my sketch uses four op amps is that I've got precision clipping stages, so roughly speaking each diode in the Buchla design is drive by an op amp. My hope is that this makes every stage more reliable and less dependent o n diode characteristics, but the cost is lots of op amps. Too many.
raph36
talking about this makes want to work double shifts on this to finish this project, and thus its against my principles not to share the science to the community from which i learned everything, this project is my first serious one intended for possible commercial use and it wouldn't make sense for me as i've been spending the past three years full time building and learning without another income source and i am no engineer coming from an art school background

What i can say however, from my experiments, is that the less stages you use the more careful you have to be with amplitude control , diode matching etc.. my circuit is still totally theoretical as it relies on ideal diodes and op amps, and i still don't know how op amp offset might play here, as well a big unknown is how well the circuit performs at audio rate frequencies, my simulator holds up to a 10hz source, then computer power seems to fail me. probably should try LTspice, or something not real time
loydb
Subbed, I would be interested in this as DIY or finished. I got rid of my Verbos HO because of how huge it was, and have been thinking ever since about how it could be done in a smaller footprint.
raph36
i've been scratching my head around this one, there are a lot of options regarding what features to include or not and the circuit can get considerably large, for example i am able to get all those harmonics : -2 ; 1 ; 1,5 ; 2 ; 2,5 ; 3 ; 3,5 ; 4 ; 5 ; 6 ; 7 ; 8, that makes 12 fixed harmonics, but you would also need 12 vca , and you would need an easy way to manipulate all those i guess,

there is also the option to get rid of the 8th and the 6th since you have already similarly spaced lower harmonics . also possible is to have the choice beetween the 3rd and the 1,5 with a switch. and so on for 5 and 2,5 , 7 and 3,5 which could make the module considerably smaller.

also the possibility of a very basic small footprint module where the user does everything with other modules and you just provide the harmonics...
Permette
raph36 wrote:
also the possibility of a very basic small footprint module where the user does everything with other modules and you just provide the harmonics...

thumbs up
guest
ive been watching this thread, as its something ive been thinking about lately, but i dont feel like i have any great insights to add. i appreciate the posting of the buchla schematics, as its a method i had not seen before for the odd folds. using a large voltage swing in comparison to the diode voltage helps keep the diode errors small.

i agree that the digital approach is least expensive and lowest distortion. but, maybe there could be a hybrid approach with a square waves that are divided down digitally and then filtered through switched capacitor filters to remove the higher harmonics. the switched cap filters could be run off of a higher harmonic of the square wave being filtered, and would therefore track. at some point you end up dealing with very high frequency square waves, and the switched cap filters are a bit expensive, which is why i didnt think it would be the best solution. an alternative to the switched cap filters would be comb filters made out of delay units, but i dont think that solves any of the problems.

a fully analog method would be to use the sinusoidal wavefolder:

https://www.youtube.com/watch?v=qsW8oljQsCQ

in the video you can see it going through all the odd harmonics (3,5,7), and if the offset was changed, it would go through all the even (2,4,6). by adding more transistor pairs, you could get more harmonics. also, the tail current of the circuit controls the output amplitude, so the VCA is included for free. the downside is, you have to have a wavefolder per output, and there are a lot of small transistors. you dont have to use as many pairs for the lower folds, so the circuit could be scaled to cut some costs. it will probably average around 1.50$ per stage at quantity, which isnt too bad if you consider its the folder, shaper, and VCA all in one.
Isaiah
Interesting!
Seems we are all taking different approaches.

My method uses half-wave rectifiers to derive peaks and troughs from the triangle input, which are then added to and/or subtracted from the input signal at different gains.
raph36
Quote:
a fully analog method would be to use the sinusoidal wavefolder
yes i've been looking at your board, a very interesting wavefolder ! i actually i think that i might go that route if my method end up failing , i like the idea that it takes care of the vca as well as the tri-to-sine
Quote:
you dont have to use as many pairs for the lower folds, so the circuit could be scaled to cut some costs
exactly what i was thinking.
it would demand quite a lot of fiddling but it might be the best approach precision wise.

Quote:
My method uses half-wave rectifiers to derive peaks and troughs from the triangle input, which are then added to and/or subtracted from the input signal at different gains.
interesting it crossed my mind of doing something similar when i was playing with the -2 section that mixes a divided down square with a ramp. a classic sub design but very clever
which harmonics are you able to get from that approach ?

Another approach i though about but don't have the knowledge to try , was to do it with a classic ramp DCO core ; dividing down the high frequency clock using cmos logic to the desired harmonic frequencies and somehow equally limit the current going to the timing cap.
Now that i think about it , it might just be what moog is using in their new subharmonicon
MUFF WIGGLER Forum Index -> Music Tech DIY Goto page 1, 2  Next [all]
Page 1 of 2
Powered by phpBB © phpBB Group