Understanding the DX7 (Part 5)
Jay Chapman continues his search through the workings of Yamaha FM synthesis. This month, how to modify DX factory preset sounds.
In the latest instalment of E&MM's guided tour of Yamaha FM, Jay Chapman takes a preliminary look at user-programming by editing existing factory voices, with particular emphasis on LFO routing and control.
In last month's article we started looking at programming the DX series of instruments by starting from scratch, ie, a VOICE INIT. This month we begin to explore the other obvious programming approach, that involving the modification of existing programs. As the DX series are complex instruments, we'll find that side issues will be brought into focus during our explorations which it will be advantageous to discuss in context - in this article the LFO routing is considered in some detail, for example. Don't think of this 'going off at a tangent' as being of less importance than the rest of the text - you need to be an expert in all aspects of your DX before you can become an expert at programming it.
As I mentioned above, the opportunity arises in the example discussed this month to take a close look at the LFO modulation routing and control, which is not quite as straightforward as you might imagine. Whilst the LFO itself is quite conventional - in terms of its function if not its implementation - the effect of applying it to the Operators varies according to their status as either carriers or modulators. To complicate matters further, the various modulation controllers - wheel, breath, pedal and after touch - can also be involved, but a detailed look at their use will have to wait for another article.
The analysis, understanding and modification of existing programs has to be the most important factor in learning to program the DX series. The more programs you are able to analyse to find out how the facilities available combine to produce the sounds, the bigger the library of ideas you'll be able to refer to as you attempt to create your own programs. You may well have already gathered that experimentation and gaining of experience is both hard work and extremely time consuming, but no amount of reading about programming can be an effective substitute. This series of articles should help you set out on your quest, however.
The most obvious source of existing programs has to be the ROM packs supplied with the DX7 (or the cassette supplied with the DX9). Don't restrict yourself to these, however, as more and more DX7 and DX9 patches are being published either in E&MM or via the DX Owners' Club. Don't stick to patches specific to whichever DX synth you've bought, either, as both have the potential to educate you. Of course, it will usually be somewhat easier for DX7 owners to investigate DX9 patches, but there's no reason why things shouldn't work the other way round.
Let's get to work. The sound I'm going to talk about was what I needed for the backing to a very famous song, see Figure 3.
Since the above is a very small 'lift' from the song, I'm hoping the extremely rich megastar who wrote it won't come down on me like a ton of bricks yelling 'copyright infringement'...
The backing is normally played on a guitar and I wanted to get the effect of sustained 'power chords' with plenty of guts. Note that this doesn't necessarily mean that I want to imitate the guitar exactly. It may well be that the best result is obtained not by slavishly copying (buy a guitar instead!) but by getting the effect/atmosphere/feel right.
The first thing to do is search through the sounds already available to see if there is anything that even vaguely approximates the sound you have in your head. At this stage actual sound quality/accuracy is far more important than the envelope of the sound. Having zipped through the 128 ROM voices, I found one that seemed suitable as a base to work from: ROM 2B, program 7, otherwise known as 'SYN-CLAV 3' - try it out.
Before we can start refining this voice, there are two obvious problems. The first is the sample and hold variations (which definitely have no part to play in my power chords!), while the second is that the overall envelope of the sound needs to imitate the natural guitar sustain curve, which dies away even though the chord remains held.
Let's deal with the sample and hold problem first. Since I want to stop the effect altogether (rather than modify it in some subtle fashion) all I need to do is consider the routing that's responsible for the effect and I should be able to find the right point to shut the effect off. Have a look at Figure 1 which, I hasten to add, is intended to be a 'logic' diagram rather than any suggestion of circuit connections inside the DX7.
The 'valve' symbols correspond to the knobs and sliders that one finds in abundance on most synths. On the DX7, the same job is handled by the data entry slider and +1/-1 keypads allowing you to set parameter values. In most cases, a zero value for the parameter means that the valve is closed and the highest value, which is often 99, means the valve is fully open.
The reason I go into this in some detail is because the modulation controllers have an extra feature in that you can effectively restrict the size of the maximum valve opening. Thus a parameter for a modulation controller is setting not a fixed size for the effect but a maximum size. A useful example is the case of after touch controlled vibrato, which should not be allowed too large an after touch range (eg. by reducing the maximum) as the amount added then becomes uncontrollable.
We'll say little more about these controllers for now, other than that you can consider them as taking effect (for pitch and amplitude control at least) at the points indicated by the 'bracketed valve' symbols in Figure 1.
As you can see from Figure 1, whichever modulation control is produced by the LFO can go on to affect either Operator amplitude or pitch, or indeed both.
I've shown the amplitude effect being connected to the Operator's envelope generator, which is a little fanciful but will serve our purpose here. Any LFO modulation which is allowed to reach the amplitude control part of an Operator effectively combines with the EG's output to control the VCA. To cut a long story short, if we apply a slow sine wave from the LFO to a carrier Operator we should hear tremolo. (I know guitars have tremolo arms that alter pitch not amplitude - but they got the name wrong!)
The pitch modulation is shown combining with the other pitch control components - usually the keyboard pitch output and the output from modulating Operators. I'm sure it will be obvious that a slow sine wave affecting a carrier Operator will result in a vibrato effect.
The LFO modulation routing starts at the lower left-hand corner of Figure 1. By use of the Pitch Modulation Depth (PMD) and Amplitude Modulation Depth (AMD) parameters (green keypads '12' and '13') we can set the maximum level of modulation sent out from the LFO. PMD is the parameter I would use to set the maximum level for vibrato overall, for example. For both amplitude and pitch modulation, there may be dynamic changes unrelated to the AMD and PMD parameter settings due to the various modulation controllers.
This is illustrated in Figure 1 by the fact that the modulation controllers' 'valve' is drawn in parallel with the Modulation Depth valve for both AMD and PMD. You could, for example, have a slight amount of vibrato permanently present - via the PMD valve - and add extra vibrato using the breath controller (say) and the modulation controllers' valve.
The next stage in the routing of pitch modulation is a parameter/valve called Pitch Modulation Sensitivity (PMS), which sets the sensitivity of all six Operators to any pitch modulation that has come from the LFO directly (PMD) or via the modulation controllers. This is the green keypad '15'. You may be wondering why this control exists as it seems to duplicate the PMD control. Isn't 50% sent out (PMD) into 100% sensitivity (PMS) the same thing as 100% sent out (PMD) into 50% sensitivity (PMS)? Well, yes it is... but that's not the end of the story. The real answer to the question is that the PMD parameter would be redundant if we didn't have to worry about the modulation controllers. Since we can't apply different amounts of a modulation controller's effect to the pitch and amplitude - we are only allowed to specify on or off in each case - we need some other means of specifying the effectiveness of pitch and amplitude modulation separately. The reason that this is done via the PMS parameter (and as we will see in a moment, the AMS parameters) is to save duplicating a pair of parameters for each of the four modulation controllers.
The last important point on LFO routing is to do with the fact that there is an AMS (Amplitude Modulation Sensitivity - green keypad '16') parameter for each Operator, while there is only one PMS parameter serving all the Operators. My guess as to why this is so is dragged from the depths of FM theory and should probably be taken with the odd ton or two of salt, but here it comes anyway.
If you allowed different amounts of pitch modulation via multiple PMS parameters, you could change the modulator/carrier pitch relationships and would therefore get timbral changes tied directly to the vibrato - but this is not normally what is required. Instead, we normally want the relationship between the pitch of modulator and carrier to remain fixed during vibrato (ie. to avoid timbral changes). This must happen if there is only a single PMS parameter as they must then vary the same amount at the same time.
We do have another way of forcing timbral changes, however, which is by individually altering the amount of amplitude modulation applied to modulators and carriers. We can do this using the multiple AMS parameters. Rather than providing parameters that would only confuse the issue, the DX7 has been cleverly designed to avoid a proliferation of redundant parameters and to concentrate on offering a sufficient and suitable set.
Where were we? Oh yes, we wanted to lose the sample and hold effect. Since the maxidigression above means that we now have an in-depth understanding of the LFO routing firmly in place, it shouldn't be too difficult to work out what to do.
The first thing to notice is that the sample and hold effects are all related to amplitude - pitch is not affected. This gives us a demented irregular tremolo effect on Operator 3, which is a carrier, and drunken timbral movement due to the amplitude changes forced upon most of the modulating Operators. The most obvious way to get rid of the sample and hold amplitude modulation is to set the LFO AMD parameter (green keypad '13') to zero. Try it and you'll see that it certainly does the trick. Don't be fooled into thinking that you've done enough, however, because if you use any of the modulation controllers which happen to be set to affect amplitude, the sample and hold will rear its ugly head again. What you should do is tidy up properly and set all of the AMS parameters to zero as well (green keypad '16').
In this way, you should get to know exactly how your programs work. If you have parameter settings you know nothing about (eg. the AMS settings if they were left set) which contribute to the sound at some point in the future without you realising (why? - because you change some other parameter, that's why! - are you following this?), you're probably not going to be able to reproduce some of your programs very easily...
Enough on the LFO routing and its related preambles - let's get the envelopes on the carrier Operators mimicking a power chord held while the sustain dies out. The program uses algorithm 2 - for the moment at least - so the carrier Operators are 1 and 3. Try the values in Figure 4 for carrier 1's EG.
The most obvious feature of the envelope is that Level 3 is set to zero, as it must be if the sound is going to fade even though the keys remain held down. Since a guitar's output takes quite some time to fade, Rate 2 is set quite slow. For simplicity's sake, I usually copy the new envelope into all the other carrier Operators at this point. In later articles we will see that we might want to have differing envelopes for each carrier.
Copying envelopes is very easy. In EDIT mode (where I hope you already are - otherwise you're not really trying, are you?) you select the Operator whose envelope you wish to copy (in our case, Operator 1) using the purple OPERATOR SELECT keypad. You then press the orange STORE keypad, which should give you the following display:
Now press the green keypad bearing the number of the Operator you are trying to copy to (in our case Operator 3) when the '?' will change to that number and the job is done.
While messing about with the envelopes I suddenly noticed that high notes were fading out much faster than low ones. If you've read your manual you should immediately suspect Keyboard Rate Scaling (green keypad '26') which you'll find is set to its maximum value of 7 - I found that a value of 1 was more suitable.
We've now got the basis for the 'power chord' sound more or less sorted out. The most interesting (and difficult) part of this approach to programming must now be attempted - customising the sound. The approach I'm going to describe revolves around some fairly logical thinking. For example, the available options are as follows:
1 Alter some current component(s) of the sound.
2 Add some new component(s) to the sound.
3 Change the potential for modulation(s).
Before we can do any of the above, we need a full understanding of what is currently going on.
The first item to consider is the algorithm. In this case it is algorithm 2, which is reproduced in Figure 2. We can see straight away that there are only two audible components since there are only two carrier Operators (1 and 3). If you read the articles in E&MM May and June, you should have a good idea of how to find out what is going on, but in case you didn't(!) the next step is to listen to the sound from each carrier Operator in turn with the other carrier switched off. To do this, press green keypad '3' which will toggle Operator 3 off, and then press '3' again to switch Operator 3 back on, followed by '1' to toggle Operator 1 off, listening to the results at each stage of the process.
Looking at the frequency settings of Operators 1 and 3, we find they are both at 1.00. As I wanted a full sound, my first change was to detune the two carrier Operators very much as might be done to two oscillators on other synths. Try setting the frequency of Operator 1 to 1.1 and set its Detune to -4 so that the effect is not too over-done - one little idea for your library.
I then wanted to play with adding a component or two to the sound, so I badly needed an unused Operator or two. Not all the sounds on the ROMs are really going to need all six Operators for their major components: quite often, the last couple of Operators are producing subtle effects which may well not relate to the sound you are trying to produce, so don't be afraid to steal some Operators for your own use - it's your synth!
Which of the Operators are the 'last couple'? I hear you ask - the answer is to use your ears to find out. Switch Operators in and out and see what changes occur, and try altering the levels of Operators, particularly modulators, and listen for timbral changes. Typically, the top Operator(s) in stacks of four can often be found to have little to do with the current sound output, so let's have a look at the stack of four in our current algorithm.
Turning off Operator 6 seems to have no effect at all, so we can certainly claim that for our own use. Operator 5 definitely does contribute to the sound, but I preferred the sound without it (at least as a base to work from) so that gave me two Operators to play with.
It can be extremely useful to have the feedback loop available, as an Operator can often be saved by using it - it effectively gives you a somewhat constrained modulator/carrier pair of Operators. If you press the relevant green keypad ('8') you will find that the feedback parameter is set to 2. If you reduce this to zero there is no great change in the overall sound, so we can keep the feedback loop for future use...
In the style of cinema serials of old, I'm afraid I've run out of room for this month, leaving you, I hope, on the edge of your seats wondering what on earth is going to happen next. Do try experimenting with the two spare Operators and the feedback loop over the next few weeks, and I'll add the finishing touches to the keyboard 'power chords' next time.
Feature by Jay Chapman
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!