Tone Generator is the first stage of a titanic full polyphonic synthesizer. I was inspired by the Polymoog synthesizer, but do not try to replicate it. This part consists of a master oscillator (CD4046) which is divided to get the 12 notes of the chromatic scale (CD4040). Once I did a test with several oscillators but this method generated noise and interference between them. The VC-ADSR I'll use for my full polyphonic synthesizer is the EFM.

That is a very innovative way to do the division; certainly much simpler than setting up 9-bit programmable counters. I salute you._________________"I am endeavoring, ma'am, to create a mnemonic memory circuit... using stone
knives and bearskins." -- Spock to Edith Keeler

I'm new to building synths, so maybe you can help me understand how you were able to divide by semitones? When I send a signal into the 4040 I get the same note sent out, one octave apart from each output. How can I send one note in and get 12 semitones out?

It's the 4024s that provide the octave sub-divisions of the top octaves; each 4040 is providing the top octave divided count for the octaves of a specific note in the scale. All of the 4040s are driven from a common clock, so the notes are all in tune with each other.

The diodes on the various outputs of each 4040, in combination with the 4K7 resistor to Vdd form a multi-input AND gate: when all of the 4040 outputs the diodes are connected to go high, Vdd no longer has a path to 0V to drain through the 4K7 resistor, and the voltage on the 4K7 resistor goes high. This high resets the 4040 back to count zero; when this happens, the voltage on the 4K7 resistor goes low again, which clocks the 4024. At this point, the 4040 will now count up to the same count again and the process repeats._________________My Site

Thanks Scott Stites, but I still don't quite understand it all. If the 4026 can divide by semitones, then why all the diodes on the 4040? Why do you need to reset the 4040? Why aren't all the outputs of the 4040 in use?

My plan was to make an oscillator for each semitone, and divided the semitones to all the octaves with 4040's. Then mix outputs 1-5 from the 4040's all together using resistors. I tested it with two notes because I only have two 4040's and it seemed to work fine. The disadvantage is that I have to create an oscillator for each note and tune each note separately. If I can understand this method, then it might save me some time and be easier to use.

Can I just use a 4026 to divide a single note into 12 semitones and then send those 12 semitones into 12 different 4040's?

2MHz /2 = 1 MHz (one octave lower) oK? BUT, 2MHz/239=8.368Khz, which is the frequency corresponding to that DO9 (not 50% duty cycle). Then divide that frequency by 2 and get 4.18Khz corresponding to DO8 (50% duty cycle). You need a counter/divider for each note of the chromatic scale (12xCD4040): a counter (CD4040) that divide by 239 (C-9), another by 253 (B-8), by 268 (A#-8), etc ....The diodes determine the count and are responsible for generating the reset in the counter for the note to get it is the highest plus a octave of our generator. My English is very basic. I hope my explanation has been helpful.

A String Ensemble can be created in my future synthesizer from unfiltered sawtooth plus a ensemble (triple chorus).

Cynosure, more generally about counters: the CD4040 and the CD4024 are both binary counters - the only difference in them is that the CD4040 counts to a higher number than the CD4024; the CD4040 has twelve outputs, so it counts from 0 to 4095; the CD4024 has seven outputs, so it counts from 0 to 127.

The fact that the CD4040 can count so high is precisely the reason it is used to divide the tones. For example, as Marco points out, to get D09, he has to divide the 2 MHz clock by 239. He wouldn't be able to do that with a CD4024, because it can only count from 0 to 127.

Counters are more often than not programmed to count (or divide the clock frequency, same thing) to a specific number, and that is what the diodes are for. Some counters allow you to pre-load a specific state and count down or up from there, and all the counters I know of also provide a reset. In this case, the CD4040 and CD4024 counters only provide a reset. So, you have to arrange the circuitry to reset the counter once it reaches the count you are after. Otherwise, the CD4040 will divide by 4096 (IOW count from 0 to 4095) and you will not have accomplished your goal.

Marco is using the most expedient method available to program the counter using the reset function. A specific count is a binary number represented by a unique combination of high and low states across the output pins of the counter; the circuit uses the diodes to detect when the combination of high signals unique to the divide number are indeed high. When all of the diode connected pins are high, that's when the counter resets and begins counting to that number again. Thus, your counter now divides by the specific number you programmed it to count to._________________My Site

i've been playing about with the 12 oscilator option each feeding a 4040, which works well and with metal film resistors the cmos oscilators hold their tone extremely well. god damn you sir, this is just going to give me something else to play with!!

have you tried any wave shapers at all? i've been using the same method as the juno DCO and its really easy to implement, giving ramp and pulse with PWM waveforms. now just need to find a decent method to create env, vca and filter for each voice....

Thanks for the thorough explanation. I will try testing it out myself to see if I can replicate it.

bod - Can you share your wave shaping method? The only way I know how to modify the wave shape is to link a capacitor near the final output and the other end of the capacitor to ground. It rounds out the wave a bit, but too strong of a capacitor lowers the volume too much.

but instead of using a control voltage from the micro controller to preset the capacitor i use a voltage divider for each key/voice. theres a thread on here somewhere i started asking about DCO's with a lot of useful details in it. there is a diagram on the page for the juno DCO but you need one of those circuits for each key, which is labour intensive and i'm sure there must be an easier way, but its the only one i know that gives a perfect ramp.

Hello
I did tests with 4 wave shaper (solina, crumar,..). What I wanted was a saw wave "clean. " The staircase generator Roland SH type did not give me the results I expected to connect to "saw phased generator".
The following schematic I will use for my full poly. The circuit generates a linear ramp. You need to change some values according to frequency (needed 85 circuits in total!!!).
Information soon will complete the second phase of the project (electronic wf and scale selection, pcb's, etc...).

Should this be able to work with a 40106 creating the wave? I have tried it several times now and it doesn't work. As long as the 4K7 is attached to V+ I get no sound at all. With it removed I can divide up the note once, but it doesn't seem to work on the second division.

I'm curious as to what were the 4 waveshapes you tried, and which string synths they were based on? I'm amazed at the differences in tone that one hears across the various vintage string synth models. Some sound more like organs played through a chorus pedal, and others like an other-worldly lush string ensemble (I'm thinking of the Solina particularly). I feel like these differences in tone must have as much to do with the waveshapers as it does the chorus circuits--yes?
The PolyMoog is another one with an unbelievable, unmistakeable sound that I'm guessing has much to do with the waveshapers and fixed filters on the individual voices.
Id be all over it, if someone made a project available that mimicked the circuit path of one of these machines-- divide down, shapers and fixed filters, bbd ensemble.

Just popping in to say that I've been reworking this slightly into a monosynth. Only requires the PLL, 2 4040s (or 1 4040 and 1 4024, but I've got a bunch of 4040s and no 4024s) and a 4051....oh and a bunch of diodes.
Here's a quick sound sample, I haven't gotten the multiplexer in for an octave switch yet because I need to make room on my breadboard first.

Overall it does o.k., a lot more stable and precise than what I've ever been able to rig up with inverter oscillators and c.v.. But there is a variation of 7-8% for the tuning of some of the notes which, while close enough for rock 'n' roll, may be less than ideal.

While I'm at it, the keyboard I rigged up is a simple 12 spst microswitch-glued-onto-a-vhs-case number. Can anyone think of some brilliant and simple way to rig it up so that it only registers one key press at a time?

I tried this method, but couldn't get it to work correctly and ended up using 12 individual oscillators and 12 4040 dividers (and I did that twice for 16' and 8').

Here's a diagram of the important bit, the diode array. I hope it makes sense to anyone other than myself (and that I didn't screw up when I was drawing it out).

Connections are really simple. Set up the 4046 as per Marco's design. Set up a 4040 getting power, ground, clock and the resistor to V+ on the reset line. Take a lead from the reset line and wire it to one side of twelve momentary switches. The outs on the switches correspond to the notes on your chromatic scale.

For reading my dreadful little diagram, the inputs are the leads out from the microswitches (C,C#,D.... ect..) and the outputs go to the corresponding pins on the 4040. This is not the most efficient or best way to lay out the diodes. I broke it up into two separate perf boards for one thing, there's a lot of duplication and it is by no means the lowest possible part count. It is (was), however, pretty easy for me to wire up and I can look at it and figure out what goes to where with a minimum of effort. Basically swapping understandability for simplicity.

It's been explained, but let me give my take on how the pitch division works:

Look at the wiring for C# (DO#), pins 4,7,12, and 13 are dioded. That's 2^7, 2^2, 2^9 and 2^8. 128+4+512+256=900, 900/2=450 (451, rounding up because of integer only division), 2,000,000/451=4435
Actual frequency of C#8 is 4434.92...Pretty close.

Edit: There was a minor goof on my drawing of the diode layout. I'll put it back up when I correct the bmp.Last edited by sizone on Tue Jan 24, 2012 3:14 am; edited 1 time in total

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum

Please support our site. If you click through and buy from our affiliate partners, we earn a small commission.