Go Down

Topic: JFET Audio Line Mixer For "Organ" Musical Note Polyphony (Read 2619 times) previous topic - next topic


Aug 02, 2014, 09:11 pm Last Edit: Aug 05, 2014, 05:54 am by GreenPhantom Reason: 1
This is a follow up on Generating Musical Audio Frequencies Lower Than 31 Hz With Arduino.

From the outputs of the binary counters, transistors and other components can be employed to mix these audio frequency signals.  One method is the use of an N-channel field-effect transistor (FET) with capacitors and many input lines (a typical N-channel FET is the 2N3819.)  Normally you use 10K variable resistors for attenuation but since these potentiometers are used in the original circuit schematic for balance controls, a good idea might be to substitute the 10K potentiometers with fixed 4.7K resistors.  One JFET is used for every octave group, each with inputs for 12 semitones.  Another JFET working as a mixer then takes the resulting outputs of the mixed signals of the other 12 and combines them to create a full organ with pure square wave generation with a hardware note polyphony of 144 notes!


I read in the Arduino programming language Reference manual that the Arduino boards themselves cannot generate note frequency pitches lower than 31 Hz.

Perhaps that is a limitation of the Tone library but it is not a limitation of the Arduino board.  Using a 16 bit timer you can get output square waves down to 0.12 Hz  (about 8 seconds per cycle).
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp


You can go even lower with millis rollover, like 49 days. There is no low limit.
However, you can't hear frequencies that low anyway.


On a direct, logical surface, the Arduino micro-controllers cannot generate frequencies lower than 31 Hz themselves.  But I know a way you can generate note frequency pitches as low as 27.5, the lowest note on a piano keyboard, typically.  First of all, you need to learn the basic workings of a binary counter.

The binary counter counts numeric values from 0000 to 1111, which is from 0 to 15 in decimal numeration format, as an example.  Integrated circuits such as the 74HC393 and the CD4040 are two of the best known of these digital counters, sometimes called "ripple" counters.  The smallest binary counting unit is the flip-flop.  The binary counter is a network of a chain of one master and several slave flip-flops.  These arrays range from a dual flip-flop, such as the the TTL7476 Dual J-K M/S Flip-Flop to a ripple counter, a network of up to 14 digits such as the SN74HCT4020.  A flip-flop can be configured to toggle the output from a 0 state to a 1 state and vice versa.  In a binary (or ripple) counter, the network of flip-flops have one common clock input that causes the digital workings of the slave flip-flops to receive the signal that sets the output states of the chip.  When one output toggles and completes one whole phase from 0 to 1, when it toggles back to 0, the next digit towards the MSB in the binary numeric grouping toggles to the opposite state and back to the other state again.  Every subsequent digit waits until the less-significant digit, the digit toward the right of the binary digital position completes its respective 0 to 1 to 0 state toggles.

Therefore the next digit in a binary counter to the left toggles between output states 0 and 1 at a frequency cut to half of the output digit next to it to the right.  In the case of generating musical note pitch frequencies, the clock input is always the same frequency at which it rises and falls as for the note semitone being generated.  The first digit of the binary number, the LSB, at the rightmost position, will generate the frequency that the clock input is receiving reduced to half and every subsequent digit to the left will generate frequencies half of the previous one.

Thus this, in binary counter integrated circuits, served as the origins of the musical instrument semitone generation integrated circuit called the top octave divider (or TOD for short.)  The chips divided a base frequency, 1 MHz for bass and baritone pitch frequency ranges, 2 MHz for general treble frequencies and 4 MHz for piccolo pitch frequency generation.  Those frequencies are then divided by specific divisors to split those main frequencies into 12 or 13 different semitones.  For each output from the TOD, you would connect each pin that outputs the musical note pitch semitones directly into the clock inputs of the binary counters such as the 74HC4040.  The frequency signals the clock inputs receive are always pitched to the highest octave, which is how that particular divide-by frequency integrated circuit component got its name.  As you measure the frequencies generated by the outputs of the binary counters, each binary digit from the LSB to the MSB, from right to left, will generate the same musical pitch semitone as what the TOD generates through its outputs subsequent octaves lower.

Because every binary digit from right to left generate frequencies cut to half every time, the more significant the binary digit in the numeric readout of the counter circuit, the lower the octave of the semitone.  So to generate a tone output of 27.5 Hz in an Arduino board, the output pin that generates musical pitches will need to generate a tone at 55 Hz.  Then you would connect the output to the clock input pin of a flip-flop circuit.  The frequency at which the flip-flop output changes state for every clock pulse will reduce the 55 Hz frequency produced by the Arduino to half that value, to 27.5 Hz.

After I read about the commands for generating tones with the Arduino boards in the Raference manual as well as pages involving math, I will be studying how the functions such as "tone()" work.  TODs have been long dead in the electronics market, sold only by a few vintage organ spare parts web pages but it may be possible to program an Arduino Micro or Nano to work as a top octave divider circuit.

Once you learn how to generate tones at more than one output in the Arduino board by taking leads from the examples of "sketch" programs, you should then experiment with binary counters like the 74HC4040 or CD4040 ICs, connect their respective clock inputs to the Arduino outputs that generate the musical semitones and measure the frequencies at which the outputs of the respective binary counters are generating the 0/1 state phases with multimeters so equipped to measure frequency.  Verify the the frequencies and make comparisons to the frequencies listed in musical note pitch charts.  With suitable audio source mixers to combine all those frequencies from those counters, you could end up with an electronic organ with a full-polyphony generation of audio tones!

I barely began to study the commands and statements before I would ever write my first program but this topic should give you new ideas on how fully polyphonic electronic organs work.

Coding Badly


Oh, yes.

I was typing text on my computer and I accidentally pressed the wrong keys and this is what happened.  Sorry for the confusion!


From the outputs of the binary counters, transistors and other components can be employed to mix these audio frequency signals.
Normally, mixing is done with a Summing Amplifier.   Audio mixers are built-around summing amplifiers.

If the resistor values are all equal, the output voltage is the inverted sum of the inputs.   The phase/polarity inversion doesn't affect the sound, but sometimes an op-amp inverting stage is added to re-invert the signal.   



How many audio signal mixer inputs can you actually combine in a summing amplifier circuit?  Typically, you use 741 operational amplifiers.

If you're going to use summing amplifiers you should see that the circuit can mix at least 12 line signals, one for each note pitch semitone frequency.

The JFET mixer has a different way to perform this same task.  But if you are using a summing amplifier with the links to the schematics you uploaded to my subject, you will need balanced positive and negative DC power supply main connections, typically -12/+12 VDC.  In a JFET mixer circuit, you only need a single positive DC power supply.

For portability reasons, I am trying to avoid +/- DC power supplies.  For +/- power supplies for use with such circuits using the 741, you often need two batteries or an AC household power supply with +12/-12 DC voltage output.

We may need testing on a breadboard to determine which of the two works out best.

Go Up