Magazine Archive

Home -> Magazines -> Issues -> Articles in this issue -> View

Practically FM (Part 2)

Article from Sound On Sound, June 1988

Part 2 of our new series for FM synth owners, in which Martin Russ attempts to give away the secrets of FM programming!

Synthesizing a piano sound is difficult. This month Martin Russ provides some valuable programming tips to point you in the right direction.

I remember once hearing a rumour about a man who planned to produce a piano called a 'Bechway', because it would have the best of a Steinway and a Bechstein. Apart from the lack of the best parts of several other pianos I can think of, such a project is probably doomed to failure because what people want when they buy a Bosendorfer or a Young Chang is exactly that - they want a piano whose tone, feel and overall presence is right for them. A bit like buying a hat, really. It is the very individuality of pianos that makes them special.

Programming piano sounds on any synth is very difficult. There are several obstacles in the way of a successful synthesis that you rarely encounter when trying to programme the sound of any other instrument. Firstly, everyone knows intuitively what a piano sounds like. Secondly, everyone knows instinctively what a good piano sound is! Finally, everyone knows that only a 'real' piano sounds like a piano, so there is no point in trying to synthesize one.

The only consolation I can find for us programmers is that the situation seems to be worse for producers of sample libraries. If a synthesis of a piano sounds nothing like the real thing, then surely a sample will sound right? Wrong! I have seen reports where reviewers have taken samplers as sophisticated as the Kurzweil 250, and spent days picking faults with the sound. Each tiny nuance of velocity scaling, the variation of sound across the keyboard, was subjected to the closest scrutiny.

And so, whereas last month I was quite happy to call the sound I produced a 'Washy String' sound, this time I am more careful in my wording...


This is a rough approximation of part of the sound of an acoustic grand piano, but with a touch too much of the characteristics that tell us it is a piano type sound. After all, what is the point of imitating a sound which is usually readily available in most studios, unless we need a slightly different sound? Here's how to assemble one 'larger than life' piano sound.

Patch dump from Lawrence Wilkes' DXpert program showing the 'Vanilla' DX7 voice.

Let us start off with last month's 'Vanilla' sound as our basic voice. Even a cursory peck at the keyboard will tell you that 'Vanilla' does not sound like a piano, real or otherwise. The envelope is the first problem area: we need decay, rate scaling and some velocity sensitivity. Since I used a very general fast attack, middle value release type sustained envelope in 'Vanilla', I now present another general purpose envelope designed for percussive applications.

Percussive Envelope:
R1 R2 R3 R4 L1 L2 L3 L4
95 25 25 40 99 90 00 00

Before we copy this envelope, we should choose an algorithm. 'Vanilla' makes use of Algorithm 2, but this is not a very good choice for piano sounds because it has a simple pair of operators. So I will choose Algorithm 3 for no other reason than because it has two three-operator stacks more suited to the complex tone we need. Do not despair if I seem to be choosing arbitrarily, because the whole point of this series is to try and destroy the mystique of FM programming! I have successfully programmed piano voices using a variety of algorithms and it is the application of the principles that matters, not choosing the 'best' algorithm!

OK, enter the percussive envelope values from above and copy it to Operators 1 and 4, the two Carriers in Algorithm 3's two parallel stacks. Because we have changed algorithm, we now need to adjust the Output Levels of the Operators to compensate. It would have been nice if Yamaha had thought to rearrange the levels automatically and intelligently as you change algorithm! Right. Operator 3 is now at the top of the left-hand stack of three, and has an Output Level of 99. Our standard value for a Modulator is 75, so adjust it to 75. Similarly, Op 4 was a Modulator but is now a Carrier, and so needs its Output Level adjusting to 99. The sound we now obtain has more of the right sort of envelope, but entirely the wrong sound!

Next, copy the envelope from Op 1 to Ops 3 and 6. Leave Ops 2 and 5 well alone - in stacks, it often pays to work from the top and bottom towards the middle. But the sound is still too bright, and so far we have done nothing about rate scaling or velocity. OK, change the rate scaling on each Operator to 4 and set the velocity sensitivity of Ops 1, 2, 4 and 5 to a value of 1, and Ops 3 and 6 to a value of 3. Now the envelope should be approximately correct, but the sound lacks any character.

On an analogue synth, piano sounds are normally synthesized by using a pulse waveform and filtering it to cut off most of the high harmonics. In other words, it would appear that a piano sound has a few odd order harmonics above the fundamental frequency. To change the tone of our sound we alter the Frequency Ratio of the Modulators. In this case, working down from the top of our stack, the Modulators are Operators 3 and 6. I tried a few values of odd order ratio like 3.00, 5.00, 7.00 and 9.00, and decided upon 5.00 and 9.00 for Ops 3 and 6 respectively. At this point I decided to Transpose the keyboard down to C2, and then tried the sound so far. To my ears, the piano sound in the middle of the keyboard is passable, but at the low end it lacks bite and is far too bright and synthetic at the high end.

The tuning is also a little too perfect for my ears. An 'over the top' piano should be slightly detuned, shouldn't it? Detuning Op 2 to +4 sounds fine to my ears, and setting Op 4 to -3 and Op 6 to +2 rounds it out very nicely. As always, detuning is 'across' the stacks, rather than just detuning the two Carriers (Ops 1 and 4), and if you try detuning Op 4 to +4, say, you will find that it detracts from the sound rather than improving it!

If you thought that piano sounds were difficult to programme, you may well be surprised at our progress so far - remember, I have not adjusted the Operator Output Levels from their starting point of 75, and have really only altered an envelope and two frequencies. Can FM really be as easy as this? The answer, of course, is yes!

We now turn our attention to the lower end of the keyboard. We need to selectively improve the bass piano sound without altering the sound in the centre of the keyboard. Listen to one half stack on its own and try altering the Output Level of the top Operator and see how much we need to alter it by.

I decided that a value of 10 was the right sort of figure. To apply this to just the low part of the keyboard, we use Keyboard Level Scaling. To keep a value of 10 in the bass area we need to apply slightly more correction, say 15. So set the Left Depth of Operators 3 and 6 to 15, and the Left Curves to +LIN. This will now increase the effective Output Level of the two tops of the stacks at the lower end of the keyboard. Set the break point for Ops 3 and 6 to C3, to set the note below which the scaling will start to happen. When I played the resultant sound I decided to increase the Velocity Sensitivity of Ops 3 and 6 to 4, to make the overall sound less bright for soft playing.

And so to the final hurdle, and the most difficult bit: the top end of the keyboard. The current sound is too bright at the top of the keyboard, and so we need to reduce the Output Level of the Operators at the top of the stack. This is the opposite to the process we have just carried out at the bass end. Again, investigate the amount of change that is likely to be needed by altering the Output Level and listening. I found that much more adjustment was needed to Operator 6, mainly because it has more high frequencies present due to the higher Frequency Ratio used. Eventually I settled on a value of 25 for Op 3, with the -LIN Curve, and 50 for Op 6, again with the -LIN Curve. Note that the positive (+) Curves add to the Output Level whilst the negative (-) Curves subtract.

That is about as far as I want to take this sound this time. The top end is still not very realistic, but what we have created is undeniably a 'usable' sound, and quite suggestive of a piano. Showing my normal great imagination, I have named this sound 'SOSpiano'!

Patch dump from DXpert showing the 'SOSpiano' voice for 6-operator FM synths.

For those readers with 4-Operator FM synths, the 4 Op version is slightly different in a couple of details. We need a stack of three Operators, and so once again Algorithm 3 fulfills our purpose. Op 4 is now used much as the second stack is used in the previously described 6-Operator sound - ie. for doubling-up the sound with a smidgeon of detune, although we lose the 9.00 Ratio in this case as well.

Patch dump from the Soundbite VoiceMaster ST DX21/27/100 program showing the 4-operator 'SOSpiano' voice described in the article.


Simple piano sounds are really just a combination of three elements: the correct envelope, the correct tone, and the velocity sensitivity. The envelope is just a straightforward percussive decaying shape, whilst the tone depends upon the correct Frequency Ratio between the Carrier and the Modulator to produce the right harmonic content. The velocity sensitivity is very important to the playability and the impression that the sound creates. Try removing the velocity sensitivity and compensating for the change by adjusting the Operator Output Levels, and then try and play a piece of classical piano music. You will almost certainly find that not only is it difficult, but the piece seems to lack any interest or drive. Velocity sensitivity is more important than you may have imagined, especially to piano sounds.

The procedure I employed above needs further explanation. Why did I virtually ignore Operators 2 and 5? The answer is that by using the sustaining envelope and leaving their Output Level at 75, it was possible to treat Ops 1 and 2, as well as 4 and 5, as a single unit. There is no point in over-complicating things unnecessarily in FM. The slight detuning in these two Carriers was all that was needed to round out the sound, and so that is all I did. In other situations, all three Operators in the stack might be needed; and in this case the method of programming might be to work upwards from the bottom to the top of the stack. In this example, I knew from experience that the important area to concentrate on was the Operators acting as Modulators at the top of the two stacks (Ops 3 and 6). In fact, most of the editing was performed on these two Operators.

But what of the tone we used? Stacks can produce very complex blends of harmonics if used unwisely. By grouping together the Carrier and the Modulator above it as a single unit, with the same Ratio and a fixed Output Level from the Modulator, we are in effect creating a fixed tone-producing unit which replaces the more simple Carrier. A Carrier only produces sine waves, whereas our grouped pair of Operators produces a fixed spectrum of harmonics, each of which can interact with the Modulator at the top of the stack, producing a much more complex sound than would be possible with only a pair of Operators. By grouping two Operators, the number of possibilities is limited and, therefore, there is less to go wrong! It is also easier to understand a system if there are less component parts, and with FM synthesis, the less you have to worry about, the better.

The Level Scaling is always an important element in the synthesis of real world sounds. Synthetic sounds can generally get away with almost anything, because there is no reference point for the listener. This is definitely not the case when imitation is our goal. Level Scaling is really just a means of enabling us to make fine adjustments to the Output Level of particular Operators, at specific locations on the keyboard. Unless we already have the basic sound right, altering the Level Scaling is futile. As in all programming, one of the most important essentials is to have a clear idea of what you are trying to achieve. This is why our examples seem to develop so easily and simply - the difficult task of sorting out which of the many possibilities to choose has been removed and we can proceed directly to the required sound.

Over the coming months, I will try to make you concentrate more and more on the analysis of sounds, because this is the key to programming FM synthesizers. Without a good idea of what is required to construct a sound, you will not synthesize it! In the case of the basic piano described here, the elements are quite simple: the percussive envelope, the velocity sensitivity, and the basic tone. But what would you do to synthesize the 'plink' sound you really get at the top end of a piano? If that made you think then we really are making progress!

Finally, some fun ideas to try on your own. The 'SOSpiano' sound we have developed here can serve as a useful starting point for other sounds. You could try editing the Ratios in Operators 3 and 6 to create some very thin and buzzy piano-type sounds. Replacing the percussive envelope with the one used in last month's 'SOStrings' sound produces an organesque piano. Explore and enjoy!

The VoiceMaster DX21/27/100 editor for the Atari ST is available from Soundbits Software UK, (Contact Details).

A shareware version of Lawrence Wilkes' DXpert editor for the Atari is available for £7 from SOS Shareware, (Contact Details).


Frequency Modulation synthesis, or FM for short, is based upon a different set of fundamental building blocks than conventional Analogue Synthesis. FM has one element, the OPERATOR - a device for producing pure sounds called sine waves, with an ENVELOPE GENERATOR used to control its output level. Operators can be connected together in structures called ALGORITHMS. Sounds flow from the top of an Algorithm to the bottom. The Operators at the bottom are called CARRIERS, and they 'carry' the sound into the outside world, whereas the Operators higher up in the Algorithm are called MODULATORS, and they 'modulate' or modify the sound.

In general, to alter the volume of a sound, you change the Output Level of the Carriers; to alter the brightness or tone, you alter the Output Level of the Modulators. To alter the overall shape of a sound, you therefore need to change the Envelope of the Carriers; and to alter the way that a sound changes tone with time, you need to alter the Envelope of the Modulators.

The pitch of a sound is usually associated with the frequency of the Carrier, whilst the basic tonal quality depends on the ratio between the frequencies of the Carrier and the Modulators.

It is worth remembering that FM synthesis uses only two fundamental ways of controlling the Operators: you can alter their Pitch or Frequency, and you can alter their Output Level. All the extra Scaling, Modulation and Velocity Sensitivity features do is affect either the Pitch or the Output Level of the Operators.

Finally, since we will be concentrating on 'live' editing of sounds in this series, rather than the laborious 'keying in' of voice patch sheets, you should ensure that you have read your synthesizer owner's manual thoroughly. Make sure that you are familiar with its front panel editing controls and their uses. This series is not designed for the beginner - the sections which explain FM in the owners' manuals are often very good for the person just starting on FM.

Series - "Practically FM"

Read the next part in this series:

All parts in this series:

Part 1 | Part 2 (Viewing) | Part 3 | Part 4 | Part 5 | Part 6

More with this topic

Browse by Topic:

Synthesis & Sound Design

Previous Article in this issue

Robbie Robertson

Next article in this issue

The Big Bang!

Publisher: Sound On Sound - SOS Publications Ltd.
The contents of this magazine are re-published here with the kind permission of SOS Publications Ltd.

The current copyright owner/s of this content may differ from the originally published copyright notice.
More details on copyright ownership...


Sound On Sound - Jun 1988


Synthesis & Sound Design


Practically FM

Part 1 | Part 2 (Viewing) | Part 3 | Part 4 | Part 5 | Part 6

Feature by Martin Russ

Previous article in this issue:

> Robbie Robertson

Next article in this issue:

> The Big Bang!

Help Support The Things You Love

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!

Donations for July 2024
Issues donated this month: 14

New issues that have been donated or scanned for us this month.

Funds donated this month: £20.00

All donations and support are gratefully appreciated - thank you.

Magazines Needed - Can You Help?

Do you have any of these magazine issues?

> See all issues we need

If so, and you can donate, lend or scan them to help complete our archive, please get in touch via the Contribute page - thanks!

If you're enjoying the site, please consider supporting me to help build this archive...

...with a one time Donation, or a recurring Donation of just £2 a month. It really helps - thank you!

Small Print

Terms of usePrivacy