This is the month that we said that we were going to talk about digital keyboards for synthesizers - so let's begin with a little history.
Despite what you may think, digital concepts are not new to PAIA. My first love was digital electronics but that was back in "them days" before integrated circuits were low enough in cost to be used by the average experimenter. I got into audio - and the company with me - because it was about the only place that kits could be produced at low enough cost to be of interest to the "casual" experimenter.
But, my interest in digital stuff was still smouldering only slightly beneath the surface and a little over two years ago it led to the first designs for what we then called the "quasi-digital" keyboard. Originally, these designs had only one purpose; to produce a rock-stable sample and hold circuit. The first ones were nightmarish, expensive beasts but since the data that they presented to the outside world was in a digital format it did accomplish the specific goal of eliminating any sample and hold drift problems.
Shortly after we prototyped the first digital keyboard we began to realize that digital was also a good way to go if we wanted to produce a polytonic keyboard. And let's establish now that when we talk about polytonic, we mean really polytonic. Not just two or four notes at a time but at least as many simultaneous outputs as people have digits available to operate a keyboard and for most of us that's 10, give or take a couple.
In principle, a digital polytonic keyboard is simplicity itself; a digital circuit of some sort scans the keyboard - looking at it one note at a time. When the scanning circuitry discovers that a key is down (or changed in any way from the last scan) additional logic circuits determine what to do about it.
In most cases what they want to do is store it someplace - most likely in an output "register". In digital circuitry a register is very roughly the equivalent of analog S/H circuits; data goes in and is held.
If the register is strapped to a Digital to Analog (D/A) converter then the stored binary number is converted to a control voltage which is then used in the same way that we use any other control voltage. To set the pitch of an oscillator, for example.
So the problem is; how does the machine determine which note is to go to which register? As it happens, there are lots of ways, but for the purpose of this abbreviated discussion we'll consider the simplest which we will call a "temporal algorithm".
Don't let some of these terms snow you - they're only words. Algorithm is a somewhat officious term used by mathematician and computer types which simply means "the way to do it". The term implies that a rigorous, formal procedure is involved that takes into account all conceivable situations with which the algorithm will be asked to deal. Temporal means time. A "temporal algorithm", then, will be a way to assign notes to registers based on the time sequence in which they are recognized by the machine as being called for.
Assuming that the registers are numbered 1 through N, the first key down will be assigned to the first register, the second key to the second register and so on through the Nth key being assigned to the Nth register.
But, what happens when keys are released? Does the circuitry still "hold" that note and continue to ignore the register when subsequent keys go down? Does it mark (or un-mark) the register some way so that the next key to be activated can be stored there? Does it go up in flames? Well, it can do any of these things (though hopefully not the last) or it can do other things that we haven't thought of yet. And now we have not only a note assignment algorithm, but rising from it a group of potentially useful reassignment algorithms. Each algorithm having it's own advantages and disadvantages, each suited to a specific purpose.
That leads us to the first real problem that we ran into. We found ourselves very busy generating obsolete prototypes. No sooner would a working model of something be built than we would have thought of other neat things to do, which would require re-design and prototyping by which time we had thought of other neat things - ad infinitum.
What kinds of neat things are we talking about? For example:
MEMORY - once you have a digital keyboard, the hard part of large digital sequencers that can be "programmed" from an organ type keyboard is done. 1024 note digital sequencer expansion modules shouldn't cost over $40 - but of course a new algorithm is required to handle the memory.
STRUM - since the keyboard is being scanned, we can introduce a time delay between the instant when a key is found to be activated and the time when the controller goes looking for the next key. The effect is similar to strumming a guitar - except that since this is a synthesizer we can just as easily "strum" a bassoon or piccolo.
JCH - this is our own mnemonic (memory aid) for Jam Chord High. We arbitrarily said earlier that there would be at least 10 registers but in fact the most basic keyboard that we envision at this point has the capability of addressing 16 registers so that there are 6 "extra" registers that we won't ordinarily get to, using only ten fingers. On push-button command a chord that the musician is holding down can be "jammed" into these extra registers and held there - even after the keys are released. It's pretty slick to jam a chord (and this can be any chord, not just majors or 7ths ) and still have ten fingers available for melody.
There are a bunch of other features that are potentially available and the list is growing constantly (problem 1 again). You the customer, don't want to get involved in our problem 1 because for you it will translate into constantly buying obsolete equipment (or worse for us, not buying, waiting for the ultimate that never materializes). And that leads us to where we are today; the application of micro-computers to electronic music.
Micro-processors have a lot going for them (other than their formidable "buzz-word" advertising value). They are potentially very inexpensive general purpose machines that can serve a number of different purposes simply by changing their programming. If you have a digital controller system that is processor-based you don't have to re-design and re-build the entire system every time a new feature comes to mind, you just re-program. Most of you won't be interested in generating your own programs at first but that's not a problem - we will provide this "soft-ware" in the form of an integrated circuit Read Only Memory (ROM). Changing the whole personality of the machine will simply be a matter of un-plugging the old ROM and plugging in a new one that has programs for the new features. (See, we will use sockets when they serve a useful purpose).
Not only does this concept go a long way toward making your investment obsolescence-proof, it also opens up what is essentially a whole new field of artistic expression; writing not only unique musical scores using unique voices but also writing the controller software to enable elaborate musical scores to be performed in real-time by a single performer.
Does my enthusiasm come through? It should, this is the slickest thing I've ever worked on and the best part is that even when the units are in production as a stock item we still will have only just begun.
I hadn't planned on spending so much time on basic principles because there's another point that needs to be covered. It's aggravating because it's a matter of going back to clear waters muddied by those of the "exponential" persuasion; but, it's important.
If you read somewhere that exponential VCO's require only 6 bits of binary code to represent 5 octaves of equally tempered pitch while linear oscillators will take 12 or more, remember this: BUNK!
The currently most popular type of D/A is known as an "R-2R ladder" converter and its chief characteristic is that as the digital data input "counts" the output voltage changes by equal increments. This is the same principle as a keyboard that has been designed to operate with exponential oscillators generating equal voltage changes - ordinarily 1/12 volt increments.
If this were the only kind of D/A there was, then the statement about word length would be true; but it's not (true or the only type of D/A, take your pick). There's also a thing known as a "Multiplying D/A".
While the R-2R ladder converters can be thought of as summing a series of weightings corresponding to bit significance, the MD/A multiplies the weightings and then multiplies the resulting constant by a reference voltage.
While that may possibly sound more complicated than the operation of a "normal" D/A, it's really not. The two circuits (the way we do it) are of roughly comparable complexity.
If the weightings of the bits is selected properly, the output of the D/A will be a series of exponentially incrementing voltage steps that exactly meet the requirements for producing equally tempered musical scales from a linear oscillator.
One of the nice things is that since the D/A is multiplying a reference voltage by this equally tempered series of constants, transposing the whole thing into a new key signature is simply a matter of changing the reference (which, by the way, can itself be a summation of several voltages).
Now, this is important: THE COMBINATION THAT I HAVE JUST DESCRIBED BEHAVES IN EVERY WAY THE SAME AS IF THERE WERE AN EXPONENTIAL CONVERTER HANGING ON THE FRONT END OF THE OSCILLATOR. Except that, of course, there isn't - and notice that we have eliminated this touchy exponential circuitry from each and every oscillator and filter in the entire system. And when you're working with polytonic systems you are conceivably talking about 20 to 30 oscillators/filters. That's a lot of somewhat critical and expensive parts that we're talking about not using.
John S. Simonton, Jr. , President, PAIA Electronics, Inc.
In the next issue of POLYPHONY you can look for:
* A Polytonic front end for the GNOME Micro-Synthesizer.
* Craig Anderton telling how to interface guitar to the GNOME and a review of Craig's new book, "ELECTRONIC PROJECTS FOR MUSICIANS".
* More neat patches.
* More circuits.
* Some sort of digital stuff.