Audio-quality Sine-wave (mini synth project)

Thread Starter

Shagas

Joined May 13, 2013
804
I've been looking around the net and on past threads on this forum but I cannot find a satisfying answer .

I'm building my own audio synth which will have 3 basic oscillators .

**
Question:

How can I make a sin wave generator using an op amp (or transistors ?) which will give me roughly (at least) 30-14000 hz adjustable output with constant amplitude?

I've tried building diffrent kinds of sine wave oscillators that I found on the net that world pretty well but they all seem to do crazy things when i try to adjust the frequency by varying the resistors and the freq ranges are unsatisfying.

I know the title is 'Audio-quality Sine-wave' ,
but a slightly less than ideal sine wave would probably do since this is a prototype project

Some suggestions on earlier threads were to stabilize a Wien-bridge osc. by using a lightbulb or JFET (what??)
The same guy mentioned that his Wien-bridge osc. gives him a sine wave of 10hz-100khz (and that would be pretty dandy :) )

**

The oscillators will be Sine , square and triangle .
I figured that once I get the sine to work then I can make another one and feed it to a schmitt trigger and Get my square wave.
Then I can make another one , feed that into a schmitt and then integrate it and get a triangle (will that work )

There will also be 3 sin wave LFO's (Low frequency oscillators) which will modulate the main oscillators at varying frequencies of 1-50 hz .


I'd really appreaciate some practical help . I'm really exited about this project and i've got most of the stuff figured out but I'm stuck at making a reliable freq-adjustable sin and triangle oscillators.
 

Thread Starter

Shagas

Joined May 13, 2013
804
I also found suggestions on using a XR2206 chip but the problem is that it is not in stock where I live and ordering it from the US would take no less than 2 weeks :(
Nevertheless I'd like to make it without using specialized Generator IC's because that would ruin the fun and the educational factor
 

Thread Starter

Shagas

Joined May 13, 2013
804
I think that doing it digitally might be the easiest option, as analog vcos are usually quite complicated.
Anyway greetings from Prague ;)
Cus :)

Well digital is out of the question because first of all I'm still messing around with analogue and have no experience with digital yet and secondly , because I want the whole project to be analogue.

Thanks for the reply though , and the link*

*heh nice project , I want to do something like that aswell after I finish this one :)
 
Last edited:

Meixner

Joined Sep 26, 2011
117
The usual method of generating waveforms in an analog synth is to use one oscillator that generates all 4 waveforms. Typically the oscillator outputs a sawtooth wave, that is fed to a schmitt trigger circuit to create a square wave. The sawtooth wave is turned into a triangle wave which is then filtered into a sine wave. All 4 waveforms are then brought out to the panel jacks. There are lots of schematics on the web. Search for analog synth VCO.
 

patricktoday

Joined Feb 12, 2013
157
I also found suggestions on using a XR2206 chip but the problem is that it is not in stock where I live and ordering it from the US would take no less than 2 weeks :(
Well you will definitely be working on this for more than two weeks ;) If you want to do this in a pure analog sense and want to start with a sine wave I'd recommend continuing to experiment with different oscillator circuits. They will all use stabilization components such as a lamp, JFET or Optocoupler in order to control the amplitude. From there, the square wave is very simple; the triangle wave becomes difficult when trying to adjust it over a large frequency range. The reason for this is because you need a "large" resistor parallel to the capacitor in the integrator circuit to keep the output center point near zero, yet as you reduce the frequency the triangle becomes more and more rounded because the resistor now has time to start discharging the capacitor mid-signal.

For that matter, a sine wave is very difficult to achieve over a large frequency range. Most generators contain switches that switch out the capacitors for each decade in frequency. Otherwise you need very precise components such as precisely matched dual ganged pots to control the frequency. You're trying to span many, many decades so this will be a challenge.

Three other factors to throw out there just to help with the scope of the problem:
A) Settling time: lamps and optocoupler stabilizers take time to settle after a frequency adjustment and this causes a noticeable "bounce" on the oscilloscope (and would also be audible)
B) Precision: if this is to be driven by a keyboard (and not using pots) your circuit needs to produce a precise, accurate note within 0.1% of the target frequency.
C) Control: Will you control the frequency using just analog pots or is it driven by a voltage elsewhere in the circuit? Voltage is more difficult.
 

Thread Starter

Shagas

Joined May 13, 2013
804
Well you will definitely be working on this for more than two weeks ;) If you want to do this in a pure analog sense and want to start with a sine wave I'd recommend continuing to experiment with different oscillator circuits. They will all use stabilization components such as a lamp, JFET or Optocoupler in order to control the amplitude. From there, the square wave is very simple; the triangle wave becomes difficult when trying to adjust it over a large frequency range. The reason for this is because you need a "large" resistor parallel to the capacitor in the integrator circuit to keep the output center point near zero, yet as you reduce the frequency the triangle becomes more and more rounded because the resistor now has time to start discharging the capacitor mid-signal.

For that matter, a sine wave is very difficult to achieve over a large frequency range. Most generators contain switches that switch out the capacitors for each decade in frequency. Otherwise you need very precise components such as precisely matched dual ganged pots to control the frequency. You're trying to span many, many decades so this will be a challenge.

Three other factors to throw out there just to help with the scope of the problem:
A) Settling time: lamps and optocoupler stabilizers take time to settle after a frequency adjustment and this causes a noticeable "bounce" on the oscilloscope (and would also be audible)
B) Precision: if this is to be driven by a keyboard (and not using pots) your circuit needs to produce a precise, accurate note within 0.1% of the target frequency.
C) Control: Will you control the frequency using just analog pots or is it driven by a voltage elsewhere in the circuit? Voltage is more difficult.

I'm going to be using simple continuous sounds , it's not going to be driven by a keyboard.
I have 5 or 10% dual ganged pots but i've been thinking about another technique . What if I used transistors instead of resistors and link the bases to one potentiometer . With abit of bias tweeking I should be able to make the resistor behave as a variable 100Ω-100kΩ resistor mm?
That would be more precise than using dual ganged pots In my opinion. I'll try it and post results.

I'm going to try see what I can juice out of a wien-bridge oscillator for starters
 

Thread Starter

Shagas

Joined May 13, 2013
804
The usual method of generating waveforms in an analog synth is to use one oscillator that generates all 4 waveforms. Typically the oscillator outputs a sawtooth wave, that is fed to a schmitt trigger circuit to create a square wave. The sawtooth wave is turned into a triangle wave which is then filtered into a sine wave. All 4 waveforms are then brought out to the panel jacks. There are lots of schematics on the web. Search for analog synth VCO.
Thanks , I will
 

patricktoday

Joined Feb 12, 2013
157
I'm going to be using simple continuous sounds , it's not going to be driven by a keyboard.
I have 5 or 10% dual ganged pots but i've been thinking about another technique . What if I used transistors instead of resistors and link the bases to one potentiometer . With abit of bias tweeking I should be able to make the resistor behave as a variable 100Ω-100kΩ resistor mm?
That would be more precise than using dual ganged pots In my opinion. I'll try it and post results.
Can't be done quite like that. Transistors don't/won't behave like variable resistors, they can only provide variable current or voltage. For variable resistance you could look into JFETs as a "variable resistor" or resistive optocouplers (the latter are current controlled resistors but there is an extra attack/decay delay involved since they're based on the light of LEDs).
 

Thread Starter

Shagas

Joined May 13, 2013
804
Can't be done quite like that. Transistors don't/won't behave like variable resistors, they can only provide variable current or voltage. For variable resistance you could look into JFETs as a "variable resistor" or resistive optocouplers (the latter are current controlled resistors but there is an extra attack/decay delay involved since they're based on the light of LEDs).
What about using JFETS as you said?
Can I use them as voltage controlled resistor for audio-range frequencies without the junction exhibiting any other than resistive properties enough to affect the oscillator?
 

patricktoday

Joined Feb 12, 2013
157
I don't know a lot about JFETs. They do exhibit variable resistor behavior when operated in their ohmic region but they're generally only linear (or properly resistive) for very small AC signals in the 100mV or smaller range. They're used commonly for stabilizing oscillators but I don't find any examples of using them in place of the actual resistors as can be done with optocouplers.
 

atferrari

Joined Jan 6, 2004
4,764
I would go straight to explore the variable oscillators controlled by voltage - VCOs - as suggested by @bertus .

Do not waste much time with oscillators that require adjusting capacity or resistance. They are rarely practical.

Be aware that most probably you should work in ranges. Not sure if that could be a problem for you.

I am aware it is an old thread.
 
Top