Friday, February 22, 2008

Statescapes and the theory of long-period delays

A compositional technique that I've become fond of are my Statescapes. These are improvisational compositions formed using a sound-on-sound technique: a sound is played into a delay line set up for a very long delay time, and (usually) a large amount of feedback so that there are many repeats. Doing so quickly builds up a sound collage that makes for a fascinating and useful background for playing additional parts against. These counterpoints in turn become part of the collage, are played off of by further counterpoints, and so on.

Some time ago, I developed a "spectral chart" of delay time values and the effects produced:

The human ear reacts in qualitatively different ways to these delay ranges. The flanging and doubling ranges are so short that the ear cannot detect the repeats; these short delays cause phase cancellations (the comb filter effect) which are perceived as spectral alterations. Modulating the delay time within the range produces the classic effects: the "jet plane" noise for flanging, and the high-presence, moving sounds associated with chorusing. The doubling range is the shortest range in which the ear can tell that repeats of the sound are happening. The effect is so named because it sounds similar to the old recording trick of "double tracking", that is, recording two as-identical-as-possible performances of the same part, and then mixing them together.

The reverberation range is the range of delays typically associated with rooms large enough for natural reverberation to be noticeable. Repeats in this time range will create the effect of being in a large space. (Said large space will, however, sound pretty unnatural; there is a lot more going on in real reverberation than simple delays, and modern electronic reverb effects are much more sophisticated than simple delays.) The echo range is where the ear really begins to separate the individual repeats. This is the classic yelling-into-the-canyon effect: the original sound and the returned echo are readily discernible.

When the delay time exceeds roughly 2 seconds, a funny thing happens. The ear no longer associates the repeats with the original sound, even though they may be identical except for level. Instead, the repeat is perceived as a new sound, separate from the sound that created it. This is the effect that Statescapes are based on.

I first heard the technique in 1980, on Robert Fripp's "Exposure" and "God Save the Queen / Under Heavy Manners" albums. Fripp credits Brian Eno with introducing him to the long-period delay technique. Eno, in turn, claims that the technique was in use as early as the 1950s; if so, the identity of its inventor is probably lost to history. Fripp and Eno originally implemented the delay line using a pair of Revox reel-to-reel tape recorders. The two machines were set up next to each other, with the take-up reel removed from the first machine and the supply reel removed from the second machine. The tape was threaded from the supply reel of the first machine, through its heads, across to the second machine, through its heads, and on to its take-up reel. The first machine recorded and the second one played back; a mixer combined the playback with the original source for re-recording. The delay time was adjusted by moving the two tape machines closer together or further apart.

Fripp originally called his execution of the technique "Frippertronics". The Revox implementation worked well enough for Fripp to produce four albums with it -- two with Eno, one with a band, and one solo, plus some backing tracks on his "Exposure", Peter Grabriel II, and Daryl Hall's "Sacred Songs" albums. However, re-recording tape tracks in this manner has some problems. Tape always produces a certain amount of noise, and the re-recording results in noise buildup. Also, each re-recording causes some loss of high frequencies. Combined, these phenomonea produce a rather lo-fi effect, which is noticeable on the early Fripp efforts. (It didn't help that at the time, Fripp was using a guitar pedalboard containing some not-so-distinguished stomp boxes.) So when technology first made it feasible to achieve long delays in a purely electronic fashion in the early '80s, Fripp upgraded, first to an Electro-Harmonix delay, and then to the digital TC Electronic 2290. This had several advantages. Besides eliminating the mechanical complexity, it also made it possible to modulate the delay time while running, and to combine two or more delay lines into multi-tap or parallel effects. It didn't suffer from the noise building and high-frequency loss of the tape setup. And, most basically, it was capable of longer delays. The tape setup was limited to delays of about four seconds -- the length of tape between the two machines sagged and tangled when longer delays were attempted. The 2290, in contrast, was capable of 8 seconds out of the box, and more with memory expansions. The 2290s facilitated a further advancement in composition; delays could not be made so long that they were difficult to discern even by a knowledgable listener cued to listen for them, and the delay time need not be a constant for every repeat with the use of two or more devices. Fripp first introduced this new configuration on the King Crimson "Three of a Perfect Pair" album, and then on his solo "1999" album. At this time, he changed the name he used from Frippertronics to Soundscapes.

For years, I wanted to attempt the technique myself, and especially after my first listen through "1999". I was absolutely blown away by that album, by the very long loops which added much more depth to the pieces and made them less predictable, and by the greatly improved fidelity with the TC 2290s vs. the Revox setup. But from my own perspective, the 2290 had one big problem: it was expensive. I had to wait another eight years, but Boss finally fixed the problem in 2005 by releasing the DD-20 GigaDelay:

This inexpensive unit is capable of a whopping 23 seconds of delay! In addition, it has a number of different modes for delay time modulation (most of which I haven't actually explored yet). Plus, despite being packaged a a stomp box, it's actually a high-quality device that is capable of easily accepting line-level inputs. The day I received mine, I routed the Juno-106 through it and just started playing. After a few trial runs, "West Virginia" was the result. Twenty-five years after I first heard of Frippertronics, I finally had access to the technology. And right away I knew this was something I could do. I see why Fripp got hooked on it; it's absolutely addictive, and the results often surprise even the performer. One big differece in my own technique is that Fripp is a guitarist (he now uses a Roland guitar synth), while I'm a keyboard player. There's a different feel when playing keyboard parts into the setup vs. guitar parts.

Since "West Virginia", I've done some experiments on expanding the concept: combining the delay with a self-looping patch ("North Dakota" and "South Dakota"), adding a ping-pong effect to break up the delays and spread the stereo image ("Connecticut"), and the most out-there bit, creating a very complex set of interlocked delay lines with Csound ("Maryland"). Why state names? In Fripp's earlier efforts, he used years as arbitrary song titles for many of his Frippertronics/Soundscapes pieces. I wanted to go with that basic concept but not just copy what Fripp did. Being an American, I hit on the concept of using the names of U.S. states. How do I pick the particular ones? Randomly, for the most part. North and South Dakota are so named because they were both produced with the same basic setup. Other than that, there is no correlation between any particular Statescape and the actual state. It's just a name. (The exception is going to be Alabama, which because it's my home state, will get something special.)

I've got lots of other ideas for things I want to do with this. And there's still 45 states and the District of Columbia to go!

Wednesday, February 20, 2008

A new Statescape

I have a new Statescape up: Connecticut. Tomorrow, I'll have a post up about Soundscapes, Statescapes, and the theory of long-period delay compositions.

Sunday, February 17, 2008

Analyzing the Juno-106 DCO circuit

In the previous posting, we discussed how the core of a typical VCO works, and the main sources of drift and instability in a VCO core circuit. The Digitally Controlled Oscillator (DCO) is a 1980s technology designed to eliminate most or all of these sources of inaccuracy, while still operating as basically an analog VCO. The DCO was a transitional technology that arose as soon as inexpensive microprocessors were available that were fast enough to control the timing of an audio oscillator circuit, but not yet fast enough to compute the oscillating waveform entirely in the digital domain. (A secondary consideration was the fact that fast 16-bit digital-to-analog converters, although available, were still quite expensive at the time.) The distinguishing characteristic of a DCO, as opposed to a purely digital oscillator, is that the DCO does not have a D/A converter in the audio signal path.  (It may have a D/A converter in the control path.)

The Roland Juno-106 is a well known synth that uses DCO circuits. Like the conventional VCO core discussed in the February 8 post, the Juno-106 DCO is a sawtooth-core oscillator, and it produces the sawtooth waveform by charging a capacitor at a constant rate. However, unlike the VCO, the discharge of the capacitor is not determined by a voltage comparator; rather, the charging time is controlled by a counter. Whenever a note is played or anything else causes the desired frequency to change (such as the action of the LFO), the CPU calculates a binary number that is fed into a countdown counter. The counter counts down on a high-frequency (MHz range) master clock, which is crystal controlled so that it is highly accurate. When the counter reaches zero, it triggers the transistor that discharges the capacitor.  The circuit is shown below; the elements shown in purple are the elements of the DCO circuit that replaced other elements, which you can see by comparing to the figure in the VCO post.   

This setup uncouples the capacitor charging rate from the desired output frequency; the integrating capacitor discharge is controlled by the timer and is independent of how charged the capacitor is.  The 106's module board CPU figures out what starting value to set the timer to using the number of the note played (another CPU which scans the panel and keyboard, and handles the MIDI ports, sends this info to the module board), plus figuring in the pitch bend, LFO, and portamento.  It does a calculation based on this info to figure out the current desired frequency, inverts that to get the period, and loads that value into the timer.  The timer, once loaded, free runs at that value until it receives a new value.  

However, it is still necessary to charge the cap at a rate that is proportional to the frequency; otherwise, the sawtooth will not maintain a constant amplitude as the frequency changes. (Consider the extreme case of a charging rate that does not vary at all with frequency. At low frequencies, the cap will have a long time to charge and will reach a high voltage. At high frequencies, the cap will have little time to charge, and the resulting waveform will be almost flat.) So the CPU produces a control voltage (through a D/A converter), concurrent with the digital information sent to the timer, to charge the cap.  Note that this circuit does not use a constant-current source to charge the cap; it simply passes the control voltage through a current-limiting resistor.  It can get away with this because the control voltage has no effect on the output frequency; it only effects the amplitude.  Inaccuracy in this control voltage could cause the amplitude to vary with frequency, but it won't vary the frequency itself.  

(A note here: My previous post on this topic to VSE was in error in stating that the Juno-106 DCO circuit uses a constant current circuit to charge the integrating capacitor.  A closer examination of the schematic shows that it does not.  Which leads us to our next topic...)

When I examined the whole DCO control logic, I found something surprising.  When the CPU is computing the digital count value to be loaded into the timer, and fed to the D/A converter to produce the control voltage, it takes into account the things you'd expect -- the note that was played, pitch bend, LFO, and portamento.  However, it does not take into account the range selection!  Interestingly, the 8 MHz master clock, contrary to conventional wisdom, is never seen directly by the DCO timers.  Instead, it goes through a divider which divides the master clock down according to the DCO range selection: 

  • 4' range: 4 MHz
  • 8' range: 2 MHz
  • 16' range: 1 MHz
The timers do not know what range is selected; rather, changing the range changes the speed at which the timers are clocked, to produce the various frequency ranges.  The cap charging control voltage is compensated by selecting one of three current-limiting resistors according to the range setting.  I did some math and realized why they probably did it this way: it's a design compromise between frequency resolution and the lowest achievable frequency.  In order to play all notes in tune, and not experience pitch zippering (audible stepping in an increasing or decreasing glide) when the LFO or portamento are varying the frequency, the "steps" between timer count values have to be as small as possible.  The 106 uses (somewhat surprisingly) Intel 8350s for the DCO timers (the same part is used in many PCs for the real-time clock and for video timing).  These accept unsigned 16-bit count values.  I think the software is setting them up in the "square wave" mode, in which the count value determines the length of one whole cycle (rising edge to rising edge).  Doing the math, if the timer were clocked directly at 8 MHz, then at the maximum possible timer value (65535), the lowest frequency possible would only be 122 Hz, obviously not low enough to play the full bass end of the scale.  Using the lower clock frequencies makes the steps larger, but allows for lower minimum frequency; at the 1 MHz rate (16' range), the minimum frequency is about 15.3 Hz, with steps between count values of 0.2 cents.  

Operational characteristics of this circuit: The synth has a master tune knob on the back, and although it's fairly stable, it does need tuning now and then.  What can drift to cause the need for a tuning knob?  The only thing that can is the master clock.  It's an uncompensated crystal oscillator, which can drift with temperature and also as the crystal ages.  I check mine about every 8 weeks, although it doesn't usually need adjusting.  As for differences in tonal response: An undesirable characteristic of the 106 that is often commented on is the peculiar sonic quality of the output in the unison mode.  It is totally unlike the unison mode on a VCO polysynth such as, say, the Memorymoog.  From the analysis above, it is easy to see why: two VCOs are never going to be perfectly in tune with each other; there will always be transient discrepencies.  This constant shifting of the phase angle between the two VCOs is a sound that is pleasing and interesting to the ear.  But on the 106, all six DCOs are driven by the same master clock, so if all six timers are loaded with the same value, then the output of all six will not only be perfectly in tune, but also in a fixed phase relationship.  The signal doesn't vary at all, and the ear quickly tires of it.  (Why the software designers didn't add in some small offsets for each voice when in unison mode is a mystery to me.)  An even odder characteristic is that the phase relationships do change every time a note is played; if you put the 106 in unison and play the same note repeatedly, you can hear the tonality change every time the key is re-pressed.  I'm not sure what causes this.  My only guess is that there is some other process that interrupts the module board CPU asynchronously, and it can randomly upset the timer loading process such that they start at slightly different times (hence phases), relative to each other, each time a note is played.  

One other thing I note about the 106 DCO circuit is the difference in response to a rapidly varying control voltage. In an all-analog VCO circuit, when the control voltage changes, the circuit will "notice" immediately; the constant-current source will respond by changing the capacitor charging rate whenever the control voltage changes. If the change in the control voltage is rapid enough, the sawtooth will be "bent" as the charging rate changes in the middle of the cycle, and the cycle time for that cycle will be proportional to some average of the control voltage over the length of the cycle. In the DCO circuit, however, the timer counter is only loaded at the beginning of a cycle (to prevent glitching), and it does not "notice" any change in the control voltage during the cycle. So in the case of rapidly changing control voltage, the DCO frequency is changing in discrete steps on a per-cycle basis rather than quasi-continuously.  

The 106 provides three waveforms from the DCO: sawtooth, pulse, and a suboctave square wave.  The sawtooth that you hear is the direct output from the DCO core.  The pulse wave is derived from the sawtooth via a wave-shaping circuit.  An interesting detail of this is that when the pulse is de-selected, there isn't a switch or transistor disconnecting the pulse output from the circuit, as you might expect.  Rather, it "mutes" the pulse wave by over-controlling the wave shaping circuit such that it goes to a 0% duty cycle -- a DC output (which I assume gets filtered out somewhere, but I haven't yet found where).  The suboctave is produced by taking the DCO timer output and dividing it by 2, via a D flip-flop.

Friday, February 15, 2008

Updating the blogroll

Adding a few more links to the blogroll. I'm also looking into the template -- I really need to educate myself on how Blogger templates work. As you have seen in previous posts, there is some formatting weirdness in the current template that I'm not satisfied with (such as sentences that start with spaces at the left margin), and I'd like to reduce the wasted space at the left and right sides.

A post is coming this weekend on DCOs, but I'm not sure exactly when I'll have it up -- got a lot going on right now.

Saturday, February 9, 2008

How a VCO works

How does a voltage-controlled oscillator actually work? If you've studied electrical engineering, you've doubtless come across "natural" oscillator circuits like the Hartley or Colpitts oscillators. These circuits generally rely on the natural resonance of a combination of inductors and capacitors to create oscillation, or to the inclusion (e.g., a crystal oscillator) of a component that mechanically or electrically resonantes at a given frequency. They "want" to oscillate at a given frequency in the same way that a violin string does -- a small amount of energy fed into the system, in almost any form, creates the oscillation.

Well, if you are designing a VCO for a synthesizer, you can forget all of the above. Synth VCOs aren't designed using naturally resonant circuits. There are two main reasons why. The first is that circuits such as Hartley oscillators were originally conceived as RF oscillators, operating at frequencies far above the audio range. Making an RF oscillator circuit designed to run in the megahertz range run at, say 500 Hz, requires unreasonably large inductors or capacitors, and it could be expected that the resulting circuit would not be very stable. The second reason is that it is difficult to make these circuit voltage controllable over a large frequency range. There is such a thing as an RF VCO; they are usually designed using a component called a varactor, which is basically a voltage-controlled capacitor. However, the basic physics limits the range of values that a varactor can be driven to, and the resulting circuit usually only has a range of about an octave. This is usually sufficient for RF use (consider, for instance, that the span of the FM broadcast radio band is only about 1/5 octave), so nobody bothers to attempt to improve these circuits further. However, the range of human hearing is about 10 octaves, and any reasonable synth VCO is expected to operate over a range of at least five octaves to be musically useful.

So synth circuit designers, starting with Moog and Buchla in the early 1960s, long ago turned to "artificial" oscillator circuits that do not rely on natural resonance. Rather, they rely on an analog implementation of a mathematical function that can be made to increase and decrease proportionally to the control voltage. A second consideration is that a useful synth VCO is expected to output several different waveforms, so that the synth player has harmonic starting points for creating a given sound. Rather than create a separate VCO circuit for each desired waveform, it is far more cost-effective to design a VCO "core" that generates a waveform from which the other desired waveforms can be derived.

The most common type of VCO core is the "sawtooth core", which, as the name implies, outputs a sawtooth waveform. A sawtooth wave rises (or falls) in a straight line from a starting point to an ending point, at which time it instantaneously jumps back to the starting value. (The name stems from the waveform's appearance on a scope; it looks like the teeth of a hand saw.) The slope of the line -- how rapidly the voltage value rises from the starting value to the finishing value -- determines the frequency.  A block diagram of a sawtooth-core circuit is shown below:

The simplest way for a VCO core to make a sawtooth wave is to "integrate" the control voltage. What does this mean? Consider one of those novelty water features that consists of water that pours into a bucket mounted on an axle. When the bucket gets full, the center of gravity rises far enough that the bucket tips over. The water is dumped out into a pool, and then the empty bucket (because it is weighted at the bottom) tips back to the upright position and begins catching water again. The bucket integrates the water flow; the level of water in the bucket is a function of the rate of water flow and how long the water has been flowing in the bucket. Presuming that the water flow is of a constant rate, and the bucket is a perfect cylinder, then if the water level in the bucket is plotted over time, the graph looks like a sloped straight line. Like the straight line of a sawtooth wave. The water level "resets" to its starting point when the bucket tips and empties itself.

A capacitor is the electrical equivalent of the bucket. If a constant current is applied to the capacitor, the voltage across the capacitor will rise at a constant rate. (The capacitor integrates the current.) A fairly basic circuit (left as an exercise, but it's not difficult) can take the control voltage and output a constant current which is proportional to the voltage. The equivalent of the bucket tipping is provided by a transistor which shorts out the capacitor when triggered. While it is charging, a voltage comparator constantly compares the voltage across the capacitor to a reference voltage. When the voltage across the cap exceeds the reference voltage, the comparator momentarily triggers the transistor which shorts out the cap, discharging it back to the starting voltage. So you get a sawtooth wave -- the voltage rises (or falls, if the applied current is negative) linearly to a threshold value determined by the reference voltage, and then it instantaneously jumps back to the starting value. The constant-current source is arranged so that a control voltage varies the charging rate, and that is what determines the output frequency. Wave shaping circuits derive the other desired waveforms -- square, pulse, triangle, etc. -- from the sawtooth output by the core circuit.

Why do VCOs drift? There are three main sources of drift in the sawtooth-core circuit, mostly temperature related. The relationship between the control voltage and the current output by the constant-current source may shift. The comparator circuit may develop offsets, causing it to trigger early or late. Or the reference voltage may change. An early trigger or a decrease in the reference voltage cause the oscillator to go sharp; a late trigger or an increase in the reference voltage does the opposite. However, another significant source of drift exists outside of the core circuit proper. The response to the control voltage of the VCO core circuit presented here is linear; that is to say, volts/Hz. In order to achieve a volts/octave response, the control voltage input must first be processed by a circuit called an "exponentional converter", which re-scales the control voltage internally so that each unit of increase (usually 1 volt) in the input control voltage results in a doubling of the output frequency of the VCO. This is done in the analog realm by wiring a transistor in a certain way. But, it is inherent in the physics of the transistor, when it is used in this manner, that the output will vary by a known amount for a given change in temperature. Circuit designers usually compensate for this by including a resistor known as a "tempco" in the circuit. The tempco varies its resistance by a known amount for each degree change in temperature. If it can be mounted so that it accurately senses the expo converter transistor's temperature, it can be made to compensate for the transistor's drift. That is a pretty large "if", though. Designers use various methods of thermally coupling the transistor and the tempco, ranging from glueing the two together, to mounting them both on a common heat sink.

This is the basic description of how most synth VCOs work. Variations of the circuit are sometimes seen. An alternate to the sawtooth core circuit called the triangle core (which, as you would expect, outputs a triangle wave) is sometimes used. (The current Plan B Model 15 VCO employs a triangle core.) An integrated circuit called the uA726 was used in the EML 101 and some Minimoogs to perform expo conversion; instead of compensating for temperature drift, it kept the expo converting transistor at a constant temperature using an internal heater and thermostat. (Unfortunately, it is long out of production, and NOS ones go for $70-100 on eBay. Fortunately, they don't fail often.)

However, the most radical alteration of the basic VCO circuit was the one undertaken by several manufacturers in the early 1980s. To improve the VCO's tuning stability, they radically altered the circuit and created the digitally controlled oscillator, or DCO. I'll analyze the Roland Juno-106's DCO circuit in a future post.

Tuesday, February 5, 2008

Editing on the JD-990

Shown is an edit screen from the JD-990.  This is the "structure" page, which determines how the processing blocks are to be organized in a given patch.  The ability to do this is one of the improvements that the JD-990 has over the JD-800; the JD-800's processing architecture is fixed in the configuration shown on the left side.  On the right side, we see a ring-modulation type patch.  Tone C goes through a TVA (equivalent to a VCA), and then is multiplied by tone D.  (The "R" in the box represents ring modulation, which is implemented in the digital realm by simple multiplication of the individual samples from each input.  Ring modulation is one of the few synth functions that is difficult to do well in analog circuitry, but trivially easy to do in digital synthesis.)  The patch then passes through two TVFs (equivalent to VCFs), and a final TVA to shape the output.  

One of the nifty things about the JD-990 is that you can use a JD-800 to edit patch parameters on the 990.  Every parameter slider on the 800 will edit the corresponding parameter on the 990, once you've done all of the needed MIDI setup.  Both of the synths should be set to the same unit number.  Rx of sysex has to be enabled on the 990; press SYSTEM SETUP and then Rx MIDI (F4); the parameter is on the bottom right.  (Actually, if you set it to ON-1, the unit numbers don't have to match; it will receive sysex from any unit number.  But note that this can cause chaos if you have two or more 990s in your setup.)  On the 800, you need to set it to transmit sysex for patch editing.  Press MIDI, and then use the PAGE up/down buttons until you get to "Tx Edit Data".  Use the slider or press INC/YES to set it to "ON".  Unfortunately, the 800 doesn't remember this settting across power cycles, so you will have to do it again each time.  It's also a good idea, while in the MIDI menu, to page to "Local control" and set it to "OFF", so that you won't get confused if you hear both the 800's and the 990's audio.  (Note that setting local control OFF does not stop the sliders from editing patches on the 800.  So make sure you don't hit WRITE on the 800 if you are intending to edit the 990!

The 800's patch editing controls will edit the corresponding parameters on the 990 (and the 990's screen will update in real time if you happen to be looking at the screen where that parameter is), but remember that the 990 has parameters that the 800 doesn't have.  You have to edit these parameters on the 990's screen.  The first time I tried to use the pitch envelope in a 990 patch, I was baffled because none of the pitch envelope sliders on the 800 was having any effect.  Turns out that the 990 has a pitch envelope amount parameter (called "Pitch Env Depth"; press WG then Pitch) that the 800 doesn't have, and it was set to 0, causing the pitch envelope to be ignored.  On the 800, if you don't want the pitch envelope to do anything, you have to set all the level sliders to 0.  

One other thing you have to be careful about is understanding how the individual tones are addressed.  The 990 has a row of tone select buttons that determine which tone you are looking at when you are editing on the 990's screen.  But understand this: each parameter in each tone has its own sysex address.  (In other words, the TVF resonance in tone A has a different sysex address than the TVF resonance in tone B.)  When you are using the 800 to edit the 990, the sysex addresses that are sent are determined by which tones are selective as Active (flashing lights) on the 800.  This means that if you have tone D selected in the Tone Select buttons on the 990, but tones A and B are Active on the 800, when  you move a slider, it will edit tones A and B on the 990!  I've found that it's a good idea to only edit one tone at a time and always keep the same tones selected/active in both places; that reduces confusion when going back and forth between the 800's sliders and the 990's screen when editing.  (Just to make things more confusing, the LAYER selection on the 800 does not send any sysex, and so it will not change the on/off status of the tones on the 990.  You have to change that using TONE SWITCH buttons on the 990.)

A few other things: 
  • The 800 must be in SINGLE mode for this to work; if it is in MULTI mode it will not send the right sysex strings.  
  • Yes, the Palette sliders work to edit the 990.  In fact, you can do the same trick you can do on the 800, where you have no Tones active and then you move a slider, editing nothing but making that parameter the current parameter for the Palette.  
  • Keep in mind what structure you have selected on the 990 when editing from the 800.  The 800 doesn't know about structures; you may think that you are editing only tone A's VCF, but if you have selected a different structure, it may effect both tones A and B, for instance.
  • Remember that even an un-expanded 990 has waveforms that the 800 doesn't have.  You cannot access all of the waveforms using the 800's waveform selection knob.  If you want to select a waveform numbered higher than 128, you'll have to go to the 990's screen.  You'll also have to do this if you want to select a waveform from an expansion board.
  • The 990's LFOs also have a few extra waveforms that can't be selected from the 800.
  • You cannot edit the 990's effects parameters from the 800.