Tuesday, March 31, 2009

Polyphonic Spree

Now that I've covered monophonic keyboards in detail, it's time to move on to scanning keyboards as used in the early polyphonics and monophonics with last-note priority/built-in sequencers. This type of keyboard is used only on microprocessor based synths because it requires a little software to decode the notes . This is not the method used on the Polymoog and other paraphonics whose keyboards are akin to organs.

To start off, let's ask a question. How many wires do you need between a CPU and keyboard to read keys being played? If you guessed at least one for every key, hello from the future. If you guessed one, to transmit serial data, slow down. The keyboard only has simple switches and components. We need to read the keyboard before we can transmit note data by MIDI or other means. Luckily smart people have already found the answer. We can use a switch matrix with inputs and outputs instead of individual inputs for all the keys. A switch matrix is used in all sorts of devices with keypads, buttons, or switches to scan . Using this method we need at least 2x the square root of the number of keys. For a 61 key synth that would be 2 x sqrt(61) = 15.6 or 16 data lines. Below is a schematic from the Jupiter-6 Service Manual.I've labeled the connection KC-1 in the upper left "Outputs from CPU" and KC-2 in the upper right "Inputs to CPU." Here's how it works. The CPU cycles through different outputs for KC-1. It will output 10000000, 01000000, 00100000, 00010000, 00001000, 00000100, 00000010, 00000001 in some predetermined order. For each of those outputs it will scan for a particular section of keys. For example, if the output is 10000000, pin 61 will get 5V and 62-68 will be 0V. That 5V is connected to the key contacts for notes C0, G#0, E1, C2, G#2, E3, C4, G#4. Those key contacts connect to separate buss bars. Each of those eight buss bars is connected to a separate input back into the CPU. If the CPU reads 00101100, we know E1, G2#, E3 are being played. Then the CPU changes it's output and checks for a different set of seven or eight keys.

The only components in this keyboard other than wires and switches are diodes for every key. Why do they need to be there? Let's imagine they aren't there. You play F1 and G#1 simultaneously. The CPU is outputting 01000000. The 5V from the F1 will go to the buss bar 3rd from the left and be read by the CPU. There's a problem though. Without the diodes, the 5V at the buss bar also goes back through the G#1 and back to that note's CPU output, which is 0V. A 5V and 0V output get shorted together which may or may not make sparks, let out smoke, and ruin the CPU.

Friday, March 27, 2009

ARP Axxe Sliders


I had to whip an ARP Axxe into shape for a client recently. I changed out two sliders with ones sold at synthrestore.co.uk. I was very happy with the feel. It would have been nice to do all new sliders they were all pretty nasty but it's hard to justify the cost for an Axxe that cost $250 (I know because I saw the craigslist post). I used the Mountain Switch slider caps from mouser.com to replace missing caps. As prescribed, I did need to heat them up. They didn't have the exact look of the originals. That maybe a function of 30+ years of aging. I see synthrestore is going to sell their reproductions which include the elusive pink. Those will probably be worth investigating.

Speaking of slider caps, I had to do some google image searches and piece together the correct color scheme from multiple pictures. I took pictures of the final result so it will be here for reference. The correct answer (unless I'm wrong) is: black, pink, pink, yellow, red, blue, pink, red, pink, white, green, blue, black, black, yellow, pink, red, black, red, red, red, red, red.


So the scheme is:
Pink (x5) - LFO
Red (x8)- ADSR
Yellow (x2)- S/H
Blue (x2) - Square/Pulse
Green (x1)- Sawtooth
White (x1)- Noise
Black (x4)- Other

Monday, March 9, 2009

Synthedit

So I recently got Synthedit. Apparently I'm getting into it pretty late. It seems that all the links and posts on the internet are from 2007. For my first project I'm making a Moog Rogue clone. I've also gathered from the internet that a Moog clone is the stereotypical first VST everyone makes in Synthedit. Oh well.

So far it's been hard to balance making a true clone of the rogue with all it's limitations or make a double ADSR, three oscillator Rogue from hell. I'm staying true but overcoming the Rogue's obvious limitations. If you own one you know them by heart:
  • Shared Waveform switch for both oscillators
  • Shared Octave switch for both oscillators
  • Pitch wheel tunes +/- 6th or something
It's also making me question user interfaces. Why on earth should any soft synth have a knob? I ironically came to the oposite conclusion about hardware. Why should any hardware synth have a slider? Knobs feel so much better. All sliders do is get dirty and you're lucky if you can find a replacement.

Saturday, February 21, 2009

Sample and Hold: Not just a random LFO

Amongst some keyboard players, sample and hold has become synonymous with a random LFO. Check out this video from Automatic Gainsay that shows how the ARP 2600 sample and hold works.



So it's only a random LFO when you feed it noise. Also, if you think your synth has one sample and hold, you might be wrong. In analog monosynths the keyboard CV is controlled by a sample and hold circuit fed by the keyboard. Remember that the keyboard itself isn't doing anything after a key is released but notes must continue (with duration controlled by Release). It's also used in conjunction with the portamento control. Polysynths like the Jupiter-6 have tons of sample and hold circuits for various CVs for each voice.

To see a simple sample and hold circuit and description, see "SAMPLING" here. The Rogue uses a variation of this.

The "In" is coming from the keyboard. It is the current key's voltage or open when no keys are played. C3 is the capacitor that gets charged and holds the keyboard voltage. It is also used with R13 to form a low pass filter for portamento a.k.a. glide. R12, R14, and R15 are there for protection since the CV in and out are connected to a jack on the back. Someone could inadvertently fry the op-amp by plugging in something they shouldn't.

Wednesday, February 11, 2009

2810: An ARP Odyssey part 2

Like the Moog examples, the ARP Odyssey keyboard current will go through the keyboard resistor string. However, if two notes are held down at the same time the current will bypass the resistors between the notes since they are shorted out by the buss.

Up to this point we've been concerned about the buss voltage, which is responsible for pitch CV. But what about the voltage supplied by the current source to the high end of the resistor string? Let's figure out what happens to that using the Odyssey as an example. When one note (or none) is held down the high end of the keyboard voltage is 3-I*Rall where I is the current and Rall is the resistance of all resistors in the chain. For the Odyssey it's 3-.00083*36*100 = 0 V. But if two keys are held down the resistors between them are shorted out. So the voltage is 3-I*(Rall-Rbetween). But since we know 3-I*Rall = 0, this simplifies to I*Rbetween. This is how the Odyssey gets it's duophonic capability.

This voltage I*Rbetween is the CV difference between the two notes. Remember a normal CV is still generated by the keyboard voltage buss and corresponding S+H circuit. At oscillator 2 this voltage can just be added to the normal pitch CV, giving a CV corresponding to the high note.

Tuesday, February 10, 2009

2810: An ARP Odyssey


Up to this point I've been talking about monophonic keyboard circuits. ARP figured out a clever way to cheat, making the synth duophonic without much extra. First let's figure out what the difference is between this circuit (from the later Odysseys) and the Moog versions.

I should first mention there is still a keyboard voltage buss not shown where the contacts make, uhhh contact just like the Moog examples. In this schematic the + power supply (arrow pointing up) is 15 V. R13 and R17 form a voltage divider between 15 V and ground. This gives 15*R13/(R13+R17) = 3 V at the + input of the op-amp. The voltage of the - input of the op-amp will be the same. So the "keyboard low" voltage is 3 V. How about the current? It is just the current flowing through R11 and R12. The current flowing into J2-6 (up through R11 and R12) is (15-3)/(R11//R12) where R11//R12 is the parallel resistance of R11 and R12. This gives 0.83 mA. Once again this is 1/12 V per note. There is a major difference though. The current is flowing into the "keyboard low" so the keys are decreasing in voltage as you move up the keyboard. The highest key (3 octaves up) is at 0 V.

It is pretty simple to invert this voltage later to get an increasing V/oct scale. Two questions come up first, is this high or low note priority? Since the "keyboard low" is held at a specific voltage, the buss voltage will only depend on the current supplied and the resistance up to the lowest note held. So this is still low note priority like the Moog examples. The second question is why make the keyboard voltage backwards in the first place? If you've been paying attention you've probably guessed it has something to do with being duophonic. That explanation will be the topic of the next post.

Sunday, February 8, 2009

Rogue vs. Prodigy

The Moog Rogue is similar to the Prodigy but came out a couple of years later. The keyboard current source circuit is almost except for a few differences.
  • The op-amp is a 353 instead of 4558. The 353 has JFET input stages. This means much smaller input and bias currents (more than 1000x smaller). However the input offset voltage is 2-3x higher.
  • There is no longer a resistor connected to the + input. I guessed that that resistor used the bias current to compensate for the input offset voltage. The smaller bias current means that won't work.
  • The resistor between the trimpot and - input is 130k instead of 301k 1%. This seems like a counter-intuitive change. The current can now be adjusted between 12/14.3-12/130 = 0.747 mA and 12/14.3+12/130 = 0.931 mA. This makes it harder to adjust the trimpot for the 0.833 mA. My theory on why this change was made is compatibility. According to various sources, the Micromoog originally had a pitch CV of 0.9V/oct that could not be adjusted. The Rogue allows for a range of 0.896-1.11 V/oct.